Conversation
- 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
pnpm -r buildpnpm b2v run --scenario basic-ui --mode human --record screencast --headed