mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-14 18:01:20 +08:00
4b476697ef
drawElementImage cannot faithfully reproduce these, producing 18-49 dB damaged frames (community eval). Add detectCssEffectRisk: scans computed styles under the composition root for backdrop-filter (samples the compositor backdrop the single-element capture has no access to) and filter:blur/drop-shadow (paint-record vs compositor inconsistency), plus the accel-canvas registry for any WebGL context (custom GLSL shaders animated via GSAP with no rAF freeze under seek-based capture; the drawImage composite can't un-freeze them). Any match routes the comp to the platform screenshot baseline, same contract as the video / stacked-fade / 3D gates. HF_FAST_CAPTURE_CSSFX=true bypasses for R&D. Verified on the 6 damaged community comps: 5 (backdrop-filter x2, filter:blur x2, webgl x1) now fall back to screenshot (PSNR -> inf); the 6th is a deterministic 44 dB residual with no signature (imperceptible, left on the fast path). Note: the webgl gate over-gates static/redraw-on-seek WebGL that the composite handles cleanly; a per-frame canvas-redraw probe could re-admit those later. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>