Skip to content

feat(replay): turn bands and pin-bar jump to WorkStation - #999

Open
beruro wants to merge 6 commits into
developfrom
junyu/replay-turn-navigation
Open

feat(replay): turn bands and pin-bar jump to WorkStation#999
beruro wants to merge 6 commits into
developfrom
junyu/replay-turn-navigation

Conversation

@beruro

@beruro beruro commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Problem

The WorkStation replay scrubber is a uniform timeline with no semantic landmarks, and the chat turn collapse bar ("Agent worked for …") had no quick way to jump into replay at that turn. Users scrubbing long sessions cannot see where each turn starts or navigate there in one click.

Solution

  • Partition the simulator replay bar into colored turn bands derived from the same user-message boundaries as chat grouping, with hover tooltips and click-to-seek.
  • Render turn bands on a dedicated ReplayTurnTimeline row beneath the scrubber (absolute-positioned segments on a pill track), replacing the earlier flex lane layout.
  • Hide the scrubber drag handle in follow mode so the pinned playhead stays visually clean.
  • Restore a hover navigate icon on TurnCollapsePinBar that calls replayEventById(turnId) to open WorkStation at the turn start (hidden inside Simulator Messages replay).

Potential risks

  • Turn bands are hidden when only one turn exists; very short turns merge when below minimum span, which may hide rapid back-and-forth rounds.
  • Segment colors rely on design tokens (--color-primary-6, etc.); untested in high-contrast theme.
  • canReplay gating hides the pin-bar icon when no simulator events are loaded; imported/read-only sessions may not show it.

Verification

  • pnpm exec vitest run src/engines/SessionCore/replay/__tests__/replayTurnSegments.test.ts src/engines/Simulator/components/MusicPlayerReplayBar/__tests__/replayTurnSegmentLabels.test.ts — 10 passed
  • Pre-commit scoped typecheck/lint passed on latest commit
  • Manual UI check: NOT RUN (requires local app with multi-turn session)

beruro and others added 6 commits August 26, 2026 19:33
Color-code the simulator replay scrubber by chat turn and restore the hover navigate icon on turn collapse bars so users can orient and seek directly from the transcript.

Pre-commit hook ran. Total eslint: 8, total circular: 0
Use canonical replay preview enum values and branded i18n test doubles after syncing the branch with current develop.

Pre-commit hook ran. Total eslint: 0, total circular: 0
Use absolute-positioned turn bands on a dedicated timeline row beneath
the scrubber, hide the drag handle in follow mode, and add turn-track
aria copy for the new layout.

Pre-commit hook ran. Total eslint: 0, total circular: 0
Keep replay preview enums and i18n test doubles aligned with current shared types after the timeline-track test expansion.

Pre-commit hook ran. Total eslint: 0, total circular: 0
@beruro
beruro requested a review from Harry19081 August 26, 2026 13:58
@Harry19081 Harry19081 added enhancement New feature or request sessions Sessions, history, replay, sidebar, workspace, or worktrees workstation Workstation, editor, source control, LSP, or status bar UX Improvements to user experience, workflow smoothness labels Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request sessions Sessions, history, replay, sidebar, workspace, or worktrees UX Improvements to user experience, workflow smoothness workstation Workstation, editor, source control, LSP, or status bar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants