Skip to content

Fixes from using tiers 1 and 2 by hand - #9

Merged
calvin-archastro merged 1 commit into
mainfrom
hands-on
Oct 26, 2026
Merged

calvin-archastro merged 1 commit into
mainfrom
hands-on

Conversation

@calvin-archastro

Copy link
Copy Markdown
Contributor

Hands-on pass over tiers 1 and 2: a real screen recording with real clicks, captions in Spanish and Japanese, 4K HEVC with every effect stacked, and the inspector and timeline driven with the mouse. What it turned up, fixed:

Screen recording

  • Quick clicks (trackpad taps) were missed: the button was polled every 8 ms. Now the count of presses is read, so none is missed.
  • Click times ran 0.3–0.9 s ahead of the video (zooms arrived late). screencapture starts 0.25–1.1 s after it is launched; the lag is now measured from the take's birth time. Checked: clicks land within ~0.1 s of the frames that show them.
  • Without Screen Recording permission, a take failed only when stopped. Start now says so straight away and asks macOS.

Playback

  • Playing began on the paused still, so streams with heavy effects ran ~0.3 s behind for the first second. The clock now waits for each stream's first frame. 4K HEVC with grade, blur, vignette, grain, backdrop, redact, shake and glitch: worst lag 0.017 s (was 0.32 s).
  • ctl status reports how playback kept up (frames, skipped, how far behind).

Captions

  • Whisper's tokens are joined into words (-sow dropped), so Japanese and Chinese keep each token's real time instead of time shared out evenly.
  • Captions never run past the clip (whisper's last times overran by 1.7 s and made the movie longer).
  • Japanese is grouped where kana meets kanji or katakana, and at punctuation, instead of every 6 characters ("紹 / 介します" no more). Pieces are joined with U+200B, so karaoke lights each one (it lit the whole line at once).
  • Korean was treated as unspaced and its words glued together; it is spaced.
  • Titles in writing their font lacks are set in one font that has it (Hiragino Sans, PingFang SC, Apple SD Gothic Neo, Thonburi), not a fallback per run (kanji came out in a Chinese serif).
  • Neighbouring word or letter pieces with no space between meet halfway, so lighting one doesn't light the edge of the next.
  • Drawn titles are versioned, so cached drawings are redrawn when drawing changes.

Timeline

  • Keyframe marks can be clicked (go to it) and dragged (move it; one undo step). Before, a click fell through to the clip and moved it.
  • Ruler labels repeated ("0s 0s 1s 1s") when ticks were half a second apart.
  • A clip's name sat under its transition tab.

Tests: app 30, core 92, render 6; clippy clean.

Not changed: rebuilt apps are signed only locally, so macOS treats each build as new and Screen Recording must be re-enabled after make install-app (noted in the README). Pinning the signature to the bundle identifier would let any ad-hoc app claiming it inherit the permission, so I left that alone; a Developer ID certificate is the real fix.

🤖 Generated with Claude Code

Screen recording
- Clicks are counted, not polled, so a trackpad tap is never missed.
- Click times line up with the video: screencapture starts 0.25-1.1 s late,
  measured from the take's birth time instead of a fixed guess.
- Missing Screen Recording permission is said at Start, and asked for.

Playback
- The clock waits for each stream's first frame, not the paused still:
  heavy effects no longer start a third of a second behind.
- ctl status reports how playback kept up.

Captions
- Whisper's tokens joined into words; unspaced writing keeps each token's
  own time. Captions never run past the clip heard.
- Japanese and Chinese grouped into word-like pieces (kana to kanji,
  punctuation), joined with U+200B so karaoke lights each one.
- Korean is spaced writing.
- Titles in writing their font lacks are set in one font that has it,
  not a fallback per run (kanji came out in a Chinese serif).
- Word and letter pieces with no space between meet halfway.
- Drawn titles are versioned, so cached drawings are made again.

Timeline
- Keyframe marks: click to go to one, drag to move it (one undo step).
- Ruler labels show half seconds; clip names clear the transition tab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@calvin-archastro
calvin-archastro merged commit 461a952 into main Oct 26, 2026
6 checks passed
@calvin-archastro
calvin-archastro deleted the hands-on branch October 26, 2026 01:38
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