SCENEGOD/scenegod/web
type-two 29694afda5 [m10-B] auto-cut to the beat + align film shots to downbeats
autoCutPlan()/autoCut(): given a beat grid and 2+ cameras, place camera cuts
on grid downbeats at a chosen bar cadence, cycling cameras so the same angle
never lands twice running, with a phase offset so a from-the-playhead run
doesn't open on the camera already live. Cut times come straight out of
gridTimes('bar') so a placed t IS a downbeat rather than a rounded neighbour.
Applied inside group() = one undo; refusals throw rather than half-apply.
UI: a scissors popover with cadence, range, per-camera checkboxes and a live
count that is literally the plan (previewed count == applied count).
FILM panel gains 'align to beat': snaps every shot's in/out to the nearest
downbeat, never reorders, clamps inside the scene, returns collapsing shots
untouched with a skipped list, and always names which grid it used.

Verified on scenes/music-video: 4 cuts at exact downbeats 3.749s apart
(2 bars at 128.02 BPM), cam2->cam3->cam4->cam1, one undo restores exactly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 11:42:10 +10:00
..
dock.js [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
film.js [m8-C] multi-shot sequencing — a film is now a first-class object 2026-07-25 23:21:45 +10:00
grammar.js [m5+m6] DIRECTOR MODE + FLOW VIDEO PLATES — all lanes + sync6 seam fixes 2026-07-20 17:51:28 +10:00
index.html [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
presets_test.mjs [m5+m6] DIRECTOR MODE + FLOW VIDEO PLATES — all lanes + sync6 seam fixes 2026-07-20 17:51:28 +10:00
presets.js [deploy] digalot.fyi hosting: prefix-agnostic frontend, ship-check hardening, docker+nginx kit 2026-07-21 02:43:26 +10:00
render.js [m8-C] multi-shot sequencing — a film is now a first-class object 2026-07-25 23:21:45 +10:00
room3d_test.mjs [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
room3d.js [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
stage_test.mjs [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
stage.js [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
stagestub.js [m5+m6] DIRECTOR MODE + FLOW VIDEO PLATES — all lanes + sync6 seam fixes 2026-07-20 17:51:28 +10:00
style.css [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
timeline_test.mjs [m10-B] auto-cut to the beat + align film shots to downbeats 2026-07-26 11:42:10 +10:00
timeline.js [m10-B] auto-cut to the beat + align film shots to downbeats 2026-07-26 11:42:10 +10:00
tlui.js [m10-B] auto-cut to the beat + align film shots to downbeats 2026-07-26 11:42:10 +10:00