animation_engine.sg is the T25 sprint — a keyframe animation state machine for frame-by-frame sequencing. Computes animation state (frame index, interpolated value) for multiple concurrent animations. Test: 2 animations (fade 0→255, slide 0→100), 10 frames each, verifies interpolation at key points (frame 5: fade=127, slide=50). ANIMATION-PASS 9/9. 2992 B arm-el0.
Animation state machine
animation_engine.sg
Keyframe interpolation — manages multiple concurrent animations, each with start/end values and frame count. Per-frame tick advances all active animations, computing linearly interpolated values. Tracks animation state (active/done), current frame, and interpolated value. Feeds into the render pipeline for CSS transitions and animations. ANIMATION-PASS 9/9.