# HyperFrame Schema Compliance Review ## Executive Summary - Total files reviewed: 5 - Critical issues: 1 - Overall compliance status: NEEDS_WORK ## Critical Issues ### Empty Tween for Duration - **File**: compositions/captions.html:98 - **Violation**: `tl.to({}, { duration: 2 });` - **Schema Rule**: "**NEVER create empty tweens** like `tl.to({}, { duration: N })` just to set duration — use `data-duration` instead" - **Impact**: Violates the declarative timing model. The framework uses `data-duration` to determine the composition's length on the master timeline. ## Compliance Checklist - [x] All compositions have `data-width` and `data-height` attributes - [x] All timelines are finite with duration > 0 - [x] All compositions registered in `window.__timelines` - [x] No use of `Math.random()`, `Date.now()`, or non-deterministic code - [x] Primitive clips have required data attributes (`id`, `data-start`, `data-track`) - [x] `data-duration` specified for all `` clips (N/A - no images used) - [x] No manual media playback control (`video.play()`, `audio.pause()`, etc.) - [x] No manual clip mounting/unmounting in scripts - [x] Relative timing references are valid (no circular refs, referenced clips have known duration) - [x] Clips on same track don't overlap in time - [x] Reusable compositions in separate HTML files - [x] Composition files use `