
◆  Rendering alpha-smoke → /Users/chris/Documents/Video Editing Components/library/57-handle-credit/work/alpha-smoke/alpha.webm
   30fps · standard · 2 workers
   GPU: browser GPU (auto-detect)

[?25l│
◇  Browser: cache
[?25h
  Lint: 0 error(s), 1 warning(s) — run with --lint-verbose for full output.
  Continuing render despite lint issues. Use --strict to block errors.

  Parallel drawElement capture stays off for this install (a previous render had to fall back). Re-enable with HF_DE_PARALLEL_ROUTER=true.
[INFO] [Render] Pipeline started {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","platform":"darwin","arch":"arm64","nodeVersion":"v22.23.2","fps":{"num":30,"den":1},"format":"webm","quality":"standard","browserGpuMode":"auto","forceScreenshot":false,"protocolTimeout":300000,"browserTimeout":120000,"pageNavigationTimeout":60000,"playerReadyTimeout":45000}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"pipeline","status":"checkpoint","elapsedMs":1,"message":"started","format":"webm","quality":"standard","browserGpuMode":"auto","forceScreenshot":false,"protocolTimeoutMs":300000,"pageNavigationTimeoutMs":60000,"playerReadyTimeoutMs":45000,"requestedWorkers":2}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"compile","status":"start","elapsedMs":2,"needsAlpha":true}
  █░░░░░░░░░░░░░░░░░░░░░░░░  5%  Compiling composition
@hf-progress {"code":"compile","pct":5}
[INFO] [Compiler] Fetched 11 font face(s) for "Inter" from Google Fonts (cached to /Users/chris/.cache/hyperframes/fonts/inter)
[INFO] [Compiler] Fetched 10 font face(s) for "JetBrains Mono" from Google Fonts (cached to /Users/chris/.cache/hyperframes/fonts/jetbrains-mono)
[INFO] [Compiler] Injected deterministic @font-face rules for 2 requested font families
[INFO] [Compiler] Inlined CDN script: https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js
[INFO] Compiled composition metadata {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","entryFile":"index.html","staticDuration":8,"width":1920,"height":1080,"videoCount":1,"audioCount":0,"renderModeHints":{"recommendScreenshot":false,"reasons":[]}}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"compile","status":"end","elapsedMs":1495,"durationMs":1493,"needsAlpha":true}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"compile","status":"checkpoint","elapsedMs":1495,"message":"composition metadata resolved","width":1920,"height":1080,"videoCount":1,"audioCount":0,"imageCount":1,"deviceScaleFactor":1,"forceScreenshot":false,"compositionHash":"4d4c07cc45f907f3"}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"browser_probe","status":"start","elapsedMs":1496,"forceScreenshot":false,"stagePhase":"calibrating"}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"browser_probe","status":"end","elapsedMs":1556,"durationMs":60,"forceScreenshot":false,"stagePhase":"calibrating"}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"browser_probe","status":"checkpoint","elapsedMs":1556,"message":"duration resolved","durationSeconds":8,"totalFrames":240,"compositionHash":"4d4c07cc45f907f3","beginFrameStalled":false}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"video_extract","status":"start","elapsedMs":1556,"videoCount":1}
[INFO] Probing video color spaces... {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","videoCount":1}
  ██░░░░░░░░░░░░░░░░░░░░░░░  10%  Extracting video frames
@hf-progress {"code":"extract_video","pct":10}
[INFO] Extracting frames from video 1/1 {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","sourceType":"local"}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"video_extract","status":"end","elapsedMs":2107,"durationMs":551,"videoCount":1}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"video_extract","status":"checkpoint","elapsedMs":2108,"message":"frames resolved","videoCount":1,"extractedVideoCount":1,"totalFramesExtracted":240,"maxFramesPerVideo":240,"avgFramesPerExtractedVideo":240,"vfrPreflightCount":0,"vfrPreflightMs":0,"cacheHits":0,"cacheMisses":1,"transientRetries":0,"minVideoFrameCoverageRatio":1,"authoredTimedClipCount":3}
[INFO] [Render] No HDR sources detected, rendering SDR {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f"}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"hdr_detection","status":"checkpoint","elapsedMs":2108,"message":"resolved","requestedHdrMode":"auto","effectiveHdr":"sdr","nativeHdrVideoCount":0,"nativeHdrImageCount":0}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"audio_process","status":"start","elapsedMs":2108,"audioCount":0}
  █████░░░░░░░░░░░░░░░░░░░░  20%  Processing audio tracks
@hf-progress {"code":"process_audio","pct":20}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"audio_process","status":"end","elapsedMs":2108,"durationMs":0,"audioCount":0}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"file_server","status":"start","elapsedMs":2108,"reused":false}
  ██████░░░░░░░░░░░░░░░░░░░  25%  Starting frame capture
@hf-progress {"code":"start_browsers","pct":25}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"file_server","status":"end","elapsedMs":2111,"durationMs":3}
  ██████░░░░░░░░░░░░░░░░░░░  25%  Checking browser GPU
@hf-progress {"code":"start_browsers","pct":25}
[hyperframes] browserGpuMode probe → hardware (WebGL renderer vendor="Google Inc. (Apple)" renderer="ANGLE (Apple, ANGLE Metal Renderer: Apple M5 Pro, Unspecified Version)")
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"capture_calibration","status":"checkpoint","elapsedMs":2245,"message":"skipped","requestedWorkers":2,"totalFrames":240,"htmlInCanvasDetected":false,"lowMemoryMode":false,"deInversionEligible":false,"deParallelRouterEligible":false}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"worker_resolution","status":"checkpoint","elapsedMs":2246,"message":"resolved","workerCount":2}
[INFO] [Render] Fast capture: default-on drawElement disabled for this render: parallel capture has no runtime self-verification. Set PRODUCER_EXPERIMENTAL_FAST_CAPTURE=true to override. {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f"}
[INFO] streaming-encode gate {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","enabled":false,"reason":"multi_worker","configFlag":true,"durationCapEnabled":false,"outputFormat":"webm","workerCount":2,"durationSeconds":8,"maxDurationSeconds":240}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"capture_strategy","status":"checkpoint","elapsedMs":2246,"message":"resolved","workerCount":2,"forceScreenshot":false,"captureBeyondViewport":true,"useStreamingEncode":false,"useLayeredComposite":false,"usePageSideCompositing":false,"hasHdrContent":false,"hasShaderTransitions":false,"isPngSequence":false}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"capture_disk","status":"start","elapsedMs":2246,"stagePhase":"capturing","needsAlpha":true,"workerCount":2,"forceScreenshot":false,"totalFrames":240,"framesCompleted":0,"captureMode":"screenshot","captureOperation":"captureScreenshot"}
  ██████░░░░░░░░░░░░░░░░░░░  25%  Starting browsers (0/2 ready)
@hf-progress {"code":"start_browsers","done":0,"total":2,"pct":25}
[BrowserManager] Browser launched (HeadlessChrome/152.0.7977.30, screenshot, gl=--use-gl=angle --use-angle=metal, headlessShell=true, platform=darwin)
[BrowserManager] Browser launched (HeadlessChrome/152.0.7977.30, screenshot, gl=--use-gl=angle --use-angle=metal, headlessShell=true, platform=darwin)
[initSession:screenshot] page.goto start (0ms)
[initSession:screenshot] page.goto start (0ms)
[initSession:screenshot] page.goto complete (90ms)
[initSession:screenshot] page.goto complete (92ms)
[initSession:screenshot] GSAP proxy flush complete (95ms)
[initSession:screenshot] GSAP proxy flush complete (95ms)
[HyperFrames] render runtime fps {"canonicalFps":30,"source":"render-options","rawFpsSource":"render-options","rawFps":30}
[HyperFrames] render runtime fps {"canonicalFps":30,"source":"render-options","rawFpsSource":"render-options","rawFps":30}
[initSession:screenshot] pollHfReady complete (281ms)
[initSession:screenshot] pollHfReady complete (282ms)
[initSession:screenshot] pollSubCompositionTimelines complete (ready) (282ms)
[initSession:screenshot] pollSubCompositionTimelines complete (ready) (283ms)
[initSession:screenshot] applyVideoMetadataHints complete (283ms)
[initSession:screenshot] applyVideoMetadataHints complete (284ms)
[initSession:screenshot] media + fonts + tailwind ready (289ms)
[initSession:screenshot] media + fonts + tailwind ready (288ms)
[initSession:screenshot] captureBeyondViewport downgraded: page content fits the capture viewport (290ms)
[initSession:screenshot] captureBeyondViewport downgraded: page content fits the capture viewport (289ms)
[initSession:screenshot] static-frame dedup: disabled (before-capture hook / video injection active) (291ms)
[initSession:screenshot] static-frame dedup: disabled (before-capture hook / video injection active) (290ms)
  ██████░░░░░░░░░░░░░░░░░░░  25%  Starting browsers (1/2 ready)
@hf-progress {"code":"start_browsers","done":1,"total":2,"pct":25}
  ██████░░░░░░░░░░░░░░░░░░░  25%  Capturing frame 1/240 (2 workers)
@hf-progress {"code":"capture","done":1,"total":240,"pct":25}
  ███████░░░░░░░░░░░░░░░░░░  28%  Capturing frame 14/240 (2 workers)
@hf-progress {"code":"capture","done":14,"total":240,"pct":28}
  ███████░░░░░░░░░░░░░░░░░░  30%  Capturing frame 27/240 (2 workers)
@hf-progress {"code":"capture","done":27,"total":240,"pct":30}
  ████████░░░░░░░░░░░░░░░░░  32%  Capturing frame 39/240 (2 workers)
@hf-progress {"code":"capture","done":39,"total":240,"pct":32}
  ████████░░░░░░░░░░░░░░░░░  35%  Capturing frame 53/240 (2 workers)
@hf-progress {"code":"capture","done":53,"total":240,"pct":35}
  █████████░░░░░░░░░░░░░░░░  38%  Capturing frame 67/240 (2 workers)
@hf-progress {"code":"capture","done":67,"total":240,"pct":38}
  ██████████░░░░░░░░░░░░░░░  40%  Capturing frame 81/240 (2 workers)
@hf-progress {"code":"capture","done":81,"total":240,"pct":40}
  ██████████░░░░░░░░░░░░░░░  43%  Capturing frame 95/240 (2 workers)
@hf-progress {"code":"capture","done":95,"total":240,"pct":43}
  ███████████░░░░░░░░░░░░░░  45%  Capturing frame 109/240 (2 workers)
@hf-progress {"code":"capture","done":109,"total":240,"pct":45}
  ████████████░░░░░░░░░░░░░  48%  Capturing frame 123/240 (2 workers)
@hf-progress {"code":"capture","done":123,"total":240,"pct":48}
  ████████████░░░░░░░░░░░░░  51%  Capturing frame 137/240 (2 workers)
@hf-progress {"code":"capture","done":137,"total":240,"pct":51}
  █████████████░░░░░░░░░░░░  53%  Capturing frame 151/240 (2 workers)
@hf-progress {"code":"capture","done":151,"total":240,"pct":53}
  ██████████████░░░░░░░░░░░  56%  Capturing frame 165/240 (2 workers)
@hf-progress {"code":"capture","done":165,"total":240,"pct":56}
  ██████████████░░░░░░░░░░░  59%  Capturing frame 179/240 (2 workers)
@hf-progress {"code":"capture","done":179,"total":240,"pct":59}
  ███████████████░░░░░░░░░░  61%  Capturing frame 193/240 (2 workers)
@hf-progress {"code":"capture","done":193,"total":240,"pct":61}
  ███████████████░░░░░░░░░░  63%  Capturing frame 205/240 (2 workers)
@hf-progress {"code":"capture","done":205,"total":240,"pct":63}
  ████████████████░░░░░░░░░  66%  Capturing frame 218/240 (2 workers)
@hf-progress {"code":"capture","done":218,"total":240,"pct":66}
  █████████████████░░░░░░░░  68%  Capturing frame 231/240 (2 workers)
@hf-progress {"code":"capture","done":231,"total":240,"pct":68}
  █████████████████░░░░░░░░  70%  Capturing frame 240/240 (2 workers)
@hf-progress {"code":"capture","done":240,"total":240,"pct":70}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"capture_disk","status":"end","elapsedMs":7547,"durationMs":5301,"stagePhase":"capturing","needsAlpha":true,"workerCount":2,"forceScreenshot":false,"totalFrames":240,"framesCompleted":240,"captureMode":"screenshot","captureOperation":"encode"}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"encode","status":"start","elapsedMs":7547,"stagePhase":"capturing","hasAudio":false,"isPngSequence":false,"isGif":false,"chunkedEncode":false,"workerCount":2,"forceScreenshot":false,"totalFrames":240,"framesCompleted":240,"captureMode":"screenshot","captureOperation":"encode"}
  ██████████████████░░░░░░░  75%  Encoding video
@hf-progress {"code":"encode","done":0,"total":240,"pct":75}
  ███████████████████░░░░░░  79%  Encoding frame 65/240
@hf-progress {"code":"encode","done":65,"total":240,"pct":79}
  █████████████████████░░░░  84%  Encoding frame 136/240
@hf-progress {"code":"encode","done":136,"total":240,"pct":84}
  ██████████████████████░░░  88%  Encoding frame 204/240
@hf-progress {"code":"encode","done":204,"total":240,"pct":88}
  ██████████████████████░░░  90%  Encoding frame 240/240
@hf-progress {"code":"encode","done":240,"total":240,"pct":90}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"encode","status":"end","elapsedMs":9360,"durationMs":1813,"stagePhase":"capturing","hasAudio":false,"isPngSequence":false,"isGif":false,"chunkedEncode":false,"workerCount":2,"forceScreenshot":false,"totalFrames":240,"framesCompleted":240,"captureMode":"screenshot","captureOperation":"encode"}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"assemble","status":"start","elapsedMs":9360,"stagePhase":"capturing","hasAudio":false,"workerCount":2,"forceScreenshot":false,"totalFrames":240,"framesCompleted":240,"captureMode":"screenshot","captureOperation":"encode"}
  ██████████████████████░░░  90%  Assembling final video
@hf-progress {"code":"assemble","done":0,"total":8,"pct":90}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"assemble","status":"end","elapsedMs":9361,"durationMs":1,"stagePhase":"capturing","hasAudio":false,"workerCount":2,"forceScreenshot":false,"totalFrames":240,"framesCompleted":240,"captureMode":"screenshot","captureOperation":"encode"}
  ████████████████████████░  99%  Assembling final video
@hf-progress {"code":"assemble","done":8,"total":8,"pct":99}
[INFO] [Render:trace] {"renderJobId":"0e01417f-589e-44b3-a002-539c1bf8ce5f","phase":"pipeline","status":"checkpoint","elapsedMs":9388,"message":"artifact validated","totalElapsedMs":9385}
  █████████████████████████  100%  Render complete

◇  /Users/chris/Documents/Video Editing Components/library/57-handle-credit/work/alpha-smoke/alpha.webm
   46.0 KB · 8.0s video · rendered in 9.4s
   screenshot capture · hardware gpu · compile 1.6s · extract 0.6s · audio 0.0s · probe 0.1s · setup 0.1s · capture 5.3s · encode 1.8s · assemble 0.0s
   Keep editing by chatting with Framey in the HyperFrames desktop app → https://hyperframes.dev/studio/download
