From 76359fa29d49b5f6a7331568a5c904364341b629 Mon Sep 17 00:00:00 2001 From: Vance Ingalls Date: Tue, 21 Apr 2026 06:17:04 -0700 Subject: [PATCH 1/2] refactor(producer): extract HDR compositing helpers and rename media metadata --- notes/player-perf-proposal-final.md | 743 +++++++++++++++ notes/teaser-learnings.md | 857 ++++++++++++++++++ packages/engine/src/index.ts | 1 + .../src/services/videoFrameExtractor.ts | 10 +- packages/engine/src/utils/ffprobe.test.ts | 6 +- packages/engine/src/utils/ffprobe.ts | 17 +- packages/producer/src/regression-harness.ts | 4 +- .../producer/src/services/htmlCompiler.ts | 6 +- .../src/services/renderOrchestrator.ts | 620 ++++++++----- packages/producer/src/utils/ffprobe.ts | 1 + .../tests/hdr-hlg-regression/README.md | 2 +- .../tests/hdr-hlg-regression/meta.json | 2 +- plans/hdr-followups.md | 396 ++++++++ 13 files changed, 2409 insertions(+), 256 deletions(-) create mode 100644 notes/player-perf-proposal-final.md create mode 100644 notes/teaser-learnings.md create mode 100644 plans/hdr-followups.md diff --git a/notes/player-perf-proposal-final.md b/notes/player-perf-proposal-final.md new file mode 100644 index 000000000..0af36b1a5 --- /dev/null +++ b/notes/player-perf-proposal-final.md @@ -0,0 +1,743 @@ +# HyperFrames Player — Performance Review & Architecture Proposal + +**Author:** James Russo +**Revised by:** Vance Ingalls +**Date:** 2026-04-20 +**Scope:** `packages/player` + `packages/core/src/runtime` + studio consumer +**Status:** Final draft + +--- + +## TL;DR + +The preview player's dominant perf costs for video/image-heavy compositions are (1) a non-vsync 50 ms `setInterval` as the runtime master clock, (2) `el.currentTime` drift correction that thrashes video decoders, (3) parent-proxy promotion that creates `