Background sheet
480 x 240 sheetThree 160 x 240 frames: stable flap, motion flap, and explicit blank.
Task 11.3 standalone proof
This route is intentionally isolated from provider sync, dashboard composition, and the account app. It proves the primitive contract only: one active atlas, one physical track, local track indices, sprite-sheet glyphs, and a fixed top-then-bottom animation sequence driven by SetSymbol(index).
Background sheet
480 x 240 sheetThree 160 x 240 frames: stable flap, motion flap, and explicit blank.
Character atlas
2560 x 1920 / 16 x 8One atlas cell is 160 x 240, with printable ASCII ordering on a tintable character sheet.
Production cadence
80ms / 100msThe caller never manages intermediate frames or timings, and the proof now uses the locked 1x flip speed.
Live primitive
Track
Uppercase / CharactersPhase
stableCurrent
BlankTarget
BlankSymbol Color
WhiteControls
The proof now assumes one shared character atlas with explicit per-flap tracks and the locked production cadence. Stable halves use the base atlas sheet, quarter overlays use the motion atlas sheet, and tintable atlases take their color from the flap instead of the sheet.
Asset contract
Animation contract
flipTop: outgoing top overlay is visible while the stable top commits immediately.flipBottom: incoming bottom overlay is visible before the stable bottom settles.Next integration