Repository navigation
fix(cli): check fails a full-frame element that covers every other clip, naming it - #6572
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
There was a problem hiding this comment.
Verdict: REQUEST CHANGES · 1 blocker · 1 important · 0 nits
At 3059d9ce (the only change from 5d2d2203 is the skills-manifest hash). A full-frame <video>/<img> placed over a backdrop div now fails check with an error. ↓ inline
Scope
Read the whole diff. The 3 changed suites pass locally (277 tests). I built the CLI and ran check on a minimal b-roll fixture (it fails) and on all 8 registry examples (none get canvas_covered; kinetic-type gets a new first_frame_empty: Frame 0 is covered by #scene-1, because the scene's text hasn't entered yet at frame 0, which is fair). CI was still running at review time.
Edit accuracy: accurate 271 (base branch 271), smooth 139 of thoseThe gate passes. Quarantined, measured but not gated (0) Unstable (1)
|
There was a problem hiding this comment.
Verdict: APPROVE: 2 resolved, 0 open, 0 new · 3059d9c → fd481e2
Checked
With the built CLI: the b-roll-over-backdrop repro now passes, and a shape under a full-frame rect still fails with canvas_covered. The 3 suites pass (278 tests) and all Actions runs are green. One non-blocking follow-up from the new filter: an opaque rect over a full-frame <video> (with nothing else on stage) now passes too, because the video spans the canvas and is filtered out. That is no worse than main. Filtering only non-media full-frame elements would catch it, at the cost of a full-frame <img> backdrop under b-roll firing.
Problem
A full-frame opaque element placed above every other clip leaves the stage blank, and
checkpassed it unless the covered clips were text. An agent added a full-frame background rect last in DOM order,checksaid there were no new problems, and the person saw an empty canvas.Fix
The occlusion audit gets one more finding on the same probe it uses for
text_occluded(occluderAt/occlusionCoverage):canvas_covered(error) is raised when an element covers at least 90% of the canvas, is opaque, and every other visible painted element (shape, image, video, canvas, SVG, text) is at least 90% under an opaque element. It names the covering element.data-layout-allow-occlusionmarks a deliberate full-frame card.tierIssueinlayoutAudit.ts).first_frame_emptysaysFrame 0 is covered by #bg-rectinstead of "shows only the background".checkon the largest registry example with and without the scan stayed within run-to-run noise.Text under the cover keeps its
text_occludedfinding too; it carries the covered fraction and the matte judgement.Docs and the CLI skill reference list the new finding.
Before / after (built CLI,
check)first_frame_empty: shows only the backgroundcanvas_covered #bg-rectat every sample;first_frame_empty: Frame 0 is covered by #bg-recttext_occluded #title inside #bg-rectcanvas_covered #bg-rectcanvas_coveredVerification
data-layout-allow-occlusionexempts it.first_frame_emptytest: frame 0 names the cover even when content is painted beneath it.