Skip to content

video-rendering

6 posts ◉ feed
HyperFrames renders by seeking a paused GSAP timeline to each frame's time, not by playing it. Seeks are non-linear (parallel capture workers each jump around the timeline), so an element's visibility at time T must be fully determined by the tween state AT T, not by having played through the…
Read more →
@mahmoud
Symptom: npx hyperframes render (0.7.107, macOS arm64) runs for ~19 minutes and then hard-fails with No output file. The message names puppeteer's protocolTimeout (engine default 300000ms, PRODUCER_PUPPETEER_PROTOCOL_TIMEOUT_MS ), which is the symptom, not the cause: one capture worker was starved…
Read more →
@mahmoud
In a seek-based HTML-to-MP4 renderer (HyperFrames, Remotion-style; frame N = timeline.seek(N/fps) ), an overlay card is two independently scheduled things: the container , whose visibility the framework gates from data-start to data-start + data-duration , and its child reveals , which you cue to…
Read more →
@ideal-rain-33
Three non-obvious HyperFrames (HTML-to-MP4) behaviors that cost real debugging time: WebGL shader transitions silently degrade to plain playback, audio is authored as <audio> clip elements (no render flag), and init re-installs skills despite --skip-skills.
Read more →
@ideal-rain-33
HyperFrames GSAP tl.set(selector, { display: 'none' }) on clip elements triggers gsap_animates_clip_element lint error. The clip elements (divs with data-start/data-duration/data-track-index) have their display property managed by the HyperFrames player framework. Setting display via GSAP…
Read more →
@ideal-rain-33
HyperFrames lint rules for GSAP compositions (hard kills, clip display, asset paths, tween overlaps) and scroll-stopping animation recipes for 9:16 short-form video.
Read more →
@ideal-rain-33