Files
hyperframes/packages/producer/tests/style-1-prod/src/code_review.md
T
Vance Ingalls 20be2ea1c2 style: apply oxfmt baseline formatting across all source files (#25)
## Summary
- Run `oxfmt .` across the entire codebase to establish formatted baseline
- 299 files changed — mechanical formatting only, no logic changes
- Double quotes, semicolons, 2-space indent, trailing commas, 100 print width

Part 3/4 of [VA-851](https://linear.app/heygen/issue/VA-851/pre-migration-configure-eslint-prettier-and-conventional-commits)

## Test plan
- [x] `pnpm format:check` — all 426 files pass
- [x] `pnpm -r typecheck` — all packages pass
- [x] `pnpm build` — all packages build
- [x] All 348 tests pass
2026-03-23 17:15:14 -07:00

3.2 KiB

HyperFrame Schema Compliance Review

Executive Summary

  • Total files reviewed: 3
  • Critical issues: 0
  • Overall compliance status: PASS

Critical Issues

None. The compositions follow the deterministic requirements and essential timeline registration rules.

Compliance Checklist

  • All compositions have data-width and data-height attributes
  • All timelines are finite with duration > 0
  • All compositions registered in window.__timelines
  • No use of Math.random(), Date.now(), or non-deterministic code
  • Primitive clips have required data attributes (id, data-start, data-track)
  • data-duration specified for all <img> clips (N/A - no images used)
  • No manual media playback control (video.play(), audio.pause(), etc.)
  • No manual clip mounting/unmounting in scripts
  • Relative timing references are valid (N/A - absolute timing used)
  • Clips on same track don't overlap in time
  • Reusable compositions in separate HTML files
  • Composition files use <template> tags
  • External compositions loaded via data-composition-src
  • All script-animated content wrapped in compositions
  • No infinite or zero-duration timelines

File Reviews

index.html

Status: COMPLIANT

Observations:

  • Correctly defines the root composition main-video.
  • Uses data-width="1920" and data-height="1080" as requested for Landscape orientation.
  • Properly registers window.__timelines["main-video"].
  • Loads sub-compositions using data-composition-src.
  • Primitive clips (video, audio) have required id, data-start, and data-track.
  • Track assignments are clean: Track 0 (BG), Track 1 (Video), Track 2 (Graphics), Track 3 (Captions), Track 4 (Audio).

compositions/captions.html

Status: COMPLIANT

Observations:

  • Uses <template> tag correctly.
  • Root element has data-composition-id, data-width, data-height, and data-duration.
  • Script is deterministic, using a fixed TRANSCRIPT array.
  • Correctly registers window.__timelines["captions"].
  • Note: The data-composition-id in the HTML is captions, and the script registers captions. In index.html, the container has data-composition-id="captions-comp". The framework typically matches the registration to the ID of the element being instantiated. Since the template root has data-composition-id="captions", this is the ID that should be registered.

compositions/graphics.html

Status: COMPLIANT

Observations:

  • Uses <template> tag correctly.
  • Root element has data-composition-id, data-width, data-height, and data-duration.
  • Animations are deterministic GSAP tweens.
  • Correctly registers window.__timelines["graphics-comp"].
  • Layout is well-coordinated with the A-roll positioning defined in the master timeline.

Recommendations

  • Consistency: In index.html, the captions container uses data-composition-id="captions-comp", but the template inside captions.html uses data-composition-id="captions". While the framework handles the swap during instantiation, keeping these IDs identical (e.g., both captions) improves maintainability.
  • Deterministic Logic: The use of (function() { ... })() in sub-compositions is a good practice for scoping.