Skip to content

feat(analysis): breathing-light fold cue + edge-jump buttons#28

Merged
oahsiao merged 1 commit into
mainfrom
feature/ana-fold-edge-jump
Jun 24, 2026
Merged

feat(analysis): breathing-light fold cue + edge-jump buttons#28
oahsiao merged 1 commit into
mainfrom
feature/ana-fold-edge-jump

Conversation

@oahsiao

@oahsiao oahsiao commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

What

Two LOG Analysis fold UX improvements, building on #27:

Breathing-light fold cue

  • Replaces the single hard "flash" on expand/collapse with a slow, smooth single-breath pulse (sine-profile brightness, linear timing so the shape comes purely from the keyframes). Calmer and more refined, not a blink.

Edge-jump buttons

  • While browsing inside an expanded run, two floating buttons appear at the right edge (vertically centred, next to the minimap) to jump to the top / bottom edge of that run — handy when the fold bars have scrolled off-screen.
  • They only appear when an edge is actually off-screen, and each button auto-disables when its edge is already visible.
  • Non-highlighted run boundaries are cached in anaBuildRows, so viewport detection is O(log n) (binary search) — no per-frame scan on large logs.

Fix

  • zh tooltip typo -> for ana.fold.toTop / ana.fold.toBottom (shared by the existing inline arrows and the new buttons).

Test

  • npm test -> 4/4 pass (includes i18n key existence + duplicate-id checks).

Replace the single hard fold flash with a slow, smooth single-breath pulse (sine profile, linear timing) on expand/collapse.

Add floating top/bottom buttons at the right edge that appear while browsing inside an expanded run and jump to its top/bottom edge; each button disables when its edge is already on-screen. Non-highlighted run boundaries are cached in anaBuildRows for O(log n) viewport detection (no per-frame scan on large logs).

Fix zh tooltip typo 練 -> 緣 for ana.fold.toTop/toBottom.
@oahsiao oahsiao merged commit 46e2a22 into main Jun 24, 2026
5 checks passed
@oahsiao oahsiao mentioned this pull request Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant