Skip to content

Replace flaky per-window screencapture loop in Notion manual demo recorder #612

@schickling-assistant

Description

@schickling-assistant

Problem

The manual demo recorder for @overeng/notion-react now has working chapter transitions, validation, sync summaries, and overlay composition, but the current capture backend still relies on a per-window screencapture polling loop.

In practice this is flaky on macOS:

  • screencapture can intermittently print could not create image from window
  • successful end-to-end runs can collapse to slideshow-level input rates (for example ~29 captured frames over ~160 seconds)
  • the resulting video can validate logically while still being visually unusable

Desired outcome

Replace the current per-window PNG polling loop with a stable capture strategy that:

  • records only the dedicated Ghostty + Chrome demo area
  • does not hijack user focus or dim the rest of the screen
  • produces consistent real-time frame rates suitable for a polished demo video
  • keeps the existing overlay / manifest / validation pipeline intact

Likely directions

  • record a fixed rectangle covering the two demo windows instead of polling each window separately
  • or use a more stable native / ffmpeg-based capture backend than repeated screencapture -l...
  • keep the output compatible with the existing chapter overlay compositor

Context

Current work already landed the following pieces in the recorder pipeline:

  • empty-page preroll / pre-stage
  • live tmux-driven editor transitions
  • sync summary lines with timing and notion_api_calls
  • bottom-band chapter overlays with progress indicator
  • chapter-by-chapter Notion/browser/terminal validation

The next step is specifically capture reliability / frame rate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions