Skip to content

fix(registry): position flowchart typing beats with label-relative offsets#2549

Merged
miguel-heygen merged 1 commit into
heygen-com:mainfrom
jurczykpawel:fix/flowchart-blocks-compiler-labels
Jul 17, 2026
Merged

fix(registry): position flowchart typing beats with label-relative offsets#2549
miguel-heygen merged 1 commit into
heygen-com:mainfrom
jurczykpawel:fix/flowchart-blocks-compiler-labels

Conversation

@jurczykpawel

Copy link
Copy Markdown
Contributor

Fixes #2548.

What

registry/blocks/flowchart/flowchart.html and registry/blocks/flowchart-vertical/flowchart-vertical.html schedule the "Pythom" → "Python" typing correction by reading a label position back off the timeline (const typingStart = tl.labels["hold5"]). The render compiler executes composition scripts under a GSAP proxy whose timeline exposes no readable .labels map, so the script throws before window.__timelines is assigned — the block is never registered, renders capture only the dotted-grid background, and every render pays the 45 s sub_timeline_readiness_timeout.

How

Position the typing beats with GSAP's label-relative syntax (`hold5+=${i * 0.05}`) — the same idiom every other step in these files already uses ("hold1+=0.25", "hold6+=0.3", …). typingEnd becomes a relative offset and hold6 is added as `hold5+=${typingEnd + 0.5}`. Timing is byte-identical to the authored intent; no .labels read remains.

Verification

  • npx hyperframes@0.7.60 render of a composition mounting flowchart-vertical in a 3 s window:
    • before: blank dotted grid for the whole window + sub_timeline_readiness_timeout (+45 s on every render), browser console shows [Compiler] Composition script failed … reading 'hold5'
    • after: the flowchart animates through its full sequence; no compiler error; the readiness timeout disappears (render time drops accordingly)
  • Verified on macOS arm64 (native) and linux/amd64 (Docker).
  • bun run lint and bun run format:check pass.

…fsets

The flowchart and flowchart-vertical blocks read tl.labels["hold5"] back
from the timeline to schedule the "Pythom" -> "Python" typing correction.
The render compiler executes composition scripts under a GSAP proxy whose
timeline exposes no readable .labels map, so this line throws
("Composition script failed ... Cannot read properties of undefined
(reading 'hold5')") before window.__timelines is assigned. The block is
never registered: renders show only the dotted-grid background and every
render pays the 45s sub_timeline_readiness_timeout.

Use GSAP's own label-relative position syntax ("hold5+=<offset>") instead,
matching every other step in these files. Identical timing, no .labels read.

Verified with hyperframes@0.7.60 render: block was blank before, animates
after; the readiness timeout disappears.
@jurczykpawel
jurczykpawel force-pushed the fix/flowchart-blocks-compiler-labels branch from d34c753 to a5375b0 Compare July 16, 2026 13:11
@miguel-heygen
miguel-heygen merged commit b44bc4f into heygen-com:main Jul 17, 2026
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Registry flowchart blocks render blank on 0.7.x: tl.labels is unreadable under the render compiler

2 participants