Commit Graph

22 Commits

Author SHA1 Message Date
Ian Gulliver
2c31d9505c Refactor show model/validation into show.go and simplify timeline internals 2026-02-20 20:10:43 -07:00
Ian Gulliver
7d398082dd Simplify const syntax, remove redundant map lookups in buildCells 2026-02-20 17:31:03 -07:00
Ian Gulliver
0bfa11c640 Don't add trailing break gap after last block on a track 2026-02-20 17:22:11 -07:00
Ian Gulliver
fd0687f2af Remove dead empty-members check, extract gapInsertionPoint from insertGap 2026-02-20 17:12:50 -07:00
Ian Gulliver
bd3dd1a43d Extract enforceConstraints from assignRows 2026-02-20 17:10:02 -07:00
Ian Gulliver
69402ea2e4 Switch Show to pointer slices, share objects between Show and Timeline 2026-02-20 17:06:43 -07:00
Ian Gulliver
a7e831cfab Pre-compute end-chains-same-track set, remove per-block trigger scan 2026-02-20 16:58:42 -07:00
Ian Gulliver
f12ef296aa Switch to []*TimelineCell with embedded row/track, eliminating cellID and index maintenance 2026-02-20 16:46:37 -07:00
Ian Gulliver
6ff8675348 Switch to []*TimelineTrack and pointer-based cellID.track 2026-02-20 16:40:27 -07:00
Ian Gulliver
47ed09a848 Merge Timeline and timelineBuilder into single struct, remove cells()/setCells() 2026-02-20 16:27:23 -07:00
Ian Gulliver
4607e77ee7 Avoid empty rows in solver by pulling other tracks up instead of pushing down 2026-02-20 16:16:23 -07:00
Ian Gulliver
214bd91cb2 Inline setSignal, remove iteration limit from assignRows 2026-02-20 15:58:43 -07:00
Ian Gulliver
616f2cfb4e Replace renderRows with per-track cells API, fill continuations in insertGap 2026-02-20 09:04:14 -07:00
Ian Gulliver
64e76445cf Collapse empty rows in timeline, preserving intentional break gaps 2026-02-20 08:57:41 -07:00
Ian Gulliver
d0432a122f Validate show START triggers and respect next_row constraints in insertGap 2026-02-20 08:47:23 -07:00
Ian Gulliver
3f1b12742c Remove expandTargets and process START triggers directly 2026-02-20 08:37:11 -07:00
Ian Gulliver
dc2551542b Remove reference validity checks, set cue track at load time, remove getTrack() 2026-02-20 08:29:56 -07:00
Ian Gulliver
2b5644419b Add gap after block END when it doesn't chain to a same-track START 2026-02-20 08:23:54 -07:00
Ian Gulliver
17638ad18f Simplify timeline types: merge video/audio to media, remove trackCell/blockCells indirection 2026-02-20 08:19:08 -07:00
Ian Gulliver
b15fe35a47 Clean up timeline builder: remove trackIDs field, unused error return, redundant map copy 2026-02-20 08:00:32 -07:00
Ian Gulliver
0893e5b8cb Rewrite timeline builder to constraint-based layout with exclusive trigger rows 2026-02-20 07:57:41 -07:00
Ian Gulliver
0778ffa6f8 checkpoint: scaffold qrunproxy timeline API 2026-02-19 20:55:28 -07:00