Skip to content

Feat/player app and live view#24

Merged
holiber merged 6 commits intomainfrom
feat/player-app-and-live-view
Feb 25, 2026
Merged

Feat/player app and live view#24
holiber merged 6 commits intomainfrom
feat/player-app-and-live-view

Conversation

@holiber
Copy link
Copy Markdown
Owner

@holiber holiber commented Feb 25, 2026

Summary

Test plan

  • pnpm -r build
  • pnpm b2v run --scenario basic-ui --mode human --record screencast --headed

holiber and others added 6 commits February 25, 2026 00:04
- Move Electron app from apps/player to apps/studio-player and update package/scripts
- Add nested two-cursor cursor-proof scenario + E2E proof artifact
- Support passing *.scenario.ts via CLI to auto-load and auto-play

Co-authored-by: Cursor <cursoragent@cursor.com>
- AudioDirector now tracks spawned audio processes and exposes stop()
  to kill them immediately on abort. Sleep timers are also cancelled
  so the scenario unblocks without waiting for narration to finish.
- Session.abort() calls audioDirector.stop() before closing pages.
- New --headless CLI flag for Studio Player: hides the Electron window,
  disables realtime audio, auto-exits after scenario completes.
- Chat scenario: Veronica's message typing now runs concurrently with
  Bob's terminal typing in both Scene 1 and Scene 3 (via
  typeInTerminalViaInject). Bob stays engaged after checking calendar.
- E2E test for stop button verifying no lingering audio processes.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add laser pointer trail (connected lines for low-framerate visibility)
  and mouse-down hold indicator to cursor overlay
- Add actor.highlight() and actor.drawOnPage() methods
- Add slides-and-narration scenario for button/swipe navigation
- Add separate drawing scenario for laser pointer and freehand drawing
- Vendor shadcn carousel and animate-ui stars background for demo slides

Co-authored-by: Cursor <cursoragent@cursor.com>
…ng separate

Co-authored-by: Cursor <cursoragent@cursor.com>
- Server broadcasts cache size on connect and after cache writes
- Controls button displays formatted size (e.g. "Clear Cache 185.0 MB")
- Player hook handles new cacheSize message type
- Self-test scenario verifies cache button shows non-zero size after steps

Co-authored-by: Cursor <cursoragent@cursor.com>
Store fast and human mode durations separately in cache so both are
preserved across runs. Display as "humanDur / fastDur" with N/A fallback.
Progress bar falls back to the other mode when the active mode has no
data. Add semi-transparent overlay for scenario loading and step
fast-forwarding states. Track loading boolean in player state.

Co-authored-by: Cursor <cursoragent@cursor.com>
@holiber holiber merged commit feafe96 into main Feb 25, 2026
0 of 2 checks passed
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