Skip to content

fix(validate): check content against its card, and report the real duration - #135

Merged
LeadcodeDev merged 1 commit into
mainfrom
fix/card-aware-validation
Aug 2, 2026
Merged

fix(validate): check content against its card, and report the real duration#135
LeadcodeDev merged 1 commit into
mainfrom
fix/card-aware-validation

Conversation

@LeadcodeDev

Copy link
Copy Markdown
Owner

Closes #128. Part of the chantier #123.

Independent of the other six workstreams: disjoint file set, compiles and tests green on its own against main. Mergeable in any order.

Full rationale, measurements and evidence are in the commit message and in #128.

…ration

The geometry validator was blind in exactly the places a panel-based style
stresses it.

Content overflow was checked for text only; everything else fell through. A
codeblock painting 578px inside a 300px card validated clean, as did a table
250px over and a list 223px over. The check now covers gradient_text, caption,
rich_text and table through their existing intrinsics. codeblock and terminal
stay out of that particular check because auto_scroll makes a smaller box
deliberate — the new card-relative check covers them regardless.

Nothing compared a component to the card containing it: one check compared to
the frame, the other to the component's own box, and neither to the panel. Text
with no height in a 300px card spilled 212px onto the background and validated
clean. A new ContentOverflowsCard closes that, suppressed by a clipping
ancestor but deliberately not by bleed — a component may leave the frame on
purpose and still be responsible for its own contents.

Rotation and skew were dropped when folding transforms, so the validator was
blind to tilted panels, which are the grammar of this style. Transform folding
now maps the box corners through the chain and takes the AABB.

The announced duration was 22% wrong because it summed scene durations while
the renderer subtracts transition overlap. It is now computed from
build_frame_tasks — the same function render drives — and matches ffprobe
exactly on the shipped template.

Closes #128
@LeadcodeDev
LeadcodeDev merged commit 1164b55 into main Aug 2, 2026
3 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.

fix(validate): check content against its card, not only against the frame

1 participant