Skip to content

Engine sync: sfx field + matrix cases, loudness AAC headroom, v5 cut ruleset#30

Merged
StuMason merged 2 commits into
mainfrom
engine-sync-sfx
Jul 2, 2026
Merged

Engine sync: sfx field + matrix cases, loudness AAC headroom, v5 cut ruleset#30
StuMason merged 2 commits into
mainfrom
engine-sync-sfx

Conversation

@StuMason

@StuMason StuMason commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Sync from the studio's v5 work (studio PR StuMason/edator-studio#2).

  • sfx segment field: timed sound accents — source-time {file, start, gain?}, mixed UNDER speech exactly like bleep tones, projected under speed, truncated at the segment boundary. One ffmpeg input per occurrence.
  • validate: file existence (pack-relative), start-in-window, and a new warnings channel (gain > 1 warns).
  • test-matrix: 17 cases (adds sfx / sfx+speed / sfx+bleep) — green here.
  • loudness: the de-clip pre-AAC target now sits 0.15 dB below the true-peak ceiling; targeting the ceiling exactly let AAC re-expansion ship a -0.99 dBTP master against a -1.0 QC gate.
  • SKILL ruleset: comedy air (the exception to cut-tight), device escalation, sound accent economy, the stakes ticker, reaction grammar.

🤖 Generated with Claude Code

…leset

- Segments gain sfx:[{file,start,gain?}] — timed sound accents mixed like
  bleep tones (source-time, speed-projected, truncated at the boundary).
- validate: sfx file/window checks + a warnings channel (gain>1).
- test-matrix: sfx / sfx+speed / sfx+bleep cases.
- loudness: de-clip targets ceiling−0.15 dB (AAC overshoot headroom).
- SKILL: comedy air, device escalation, sound accent economy, stakes ticker,
  reaction grammar woven into the ruleset.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@StuMason
StuMason marked this pull request as ready for review July 2, 2026 21:17
…stutter

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@StuMason
StuMason merged commit 93ff302 into main Jul 2, 2026
1 check failed
StuMason added a commit that referenced this pull request Jul 7, 2026
test-matrix.mjs (added in the #29/#30 engine syncs) renders real synthetic
footage; the dry-run-only suite stays dependency-free.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
StuMason added a commit that referenced this pull request Jul 7, 2026
* De-Stu the docs: generic recording paths + a sixty-second quickstart

obs-setup.md pointed three times at ~/Code/tools/edator/recordings, which
only exists on one machine in the world. Any folder works; say so.

README gains a quickstart for the person who already has an mp4 and no
OBS/roll setup: transcribe, hand-write the smallest valid pack, validate,
render. The example pack is semantically validated against validate.js.
Also documents the optional Python/OpenCV requirement for face-tracked
features, which previously only lived in the studio's doctor script.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Fix CI: read fd 0 for stdin packs, regenerate motion goldens

Two unrelated breakages that have kept main red since #28:

1. loadPack re-opened /dev/stdin by path, which now fails with ENXIO
   when the pipe's write end has already closed (spawnSync with input:
   on current runners). Read fd 0 directly for '-' or '/dev/stdin'.

2. The engine syncs (#28-#30) improved the motionBlur/push graph -
   real fps oversampling before zoompan instead of zoompan frame
   duplication (tmix over duplicated frames produced no blur), and
   dropped a redundant double fps=30 - but the golden snapshots were
   never regenerated. Regenerated with GOLDEN=1; only look-blur and
   moves drift, exactly matching the shipped engine behaviour.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* CI: install ffmpeg for the render matrix test

test-matrix.mjs (added in the #29/#30 engine syncs) renders real synthetic
footage; the dry-run-only suite stays dependency-free.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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