fix(runtime): lay out <panel> children as a column - #76
Conversation
Greptile SummaryNative Confidence Score: 5/5The panel layout change is safe to merge based on passing null-backend runtime checks and targeted before-and-after behavior checks. The checks demonstrated the former direct-child panel structure, verified the new column structure, rejected duplicate gap ownership under a deliberate mutation, and confirmed that paint effects remain on the outer panel. The current null-backend runtime suite also completed successfully. Files Needing Attention: No changed files need further attention.
What T-Rex did
Reviews (2): Last reviewed commit: "fix(runtime): lay out <panel> children a..." | Re-trigger Greptile |
|
Re the Greptile P1: the flagged Local receipt on this exact commit: The failed |
The contract describes <panel> as "a styled box; column layout", but the runtime projected it straight onto Native's panel kind, whose children are overlay-positioned. Two texts inside a <panel> therefore rendered on top of each other at the panel's full bounds, pinned top-left. weaver check, the semantic snapshot, and the capture receipt all passed. Project <panel> the way a styled <column> is already projected: the outer panel owns paint and effects, an inner column owns child layout and the gap. Receipt: experiments/render-loop-cadence/panel-probe (before) and the new unit test (after). Found by the render-loop cadence experiment, where one of four blind agents shipped it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
b48e600 to
2f17e99
Compare
What
<panel>projected directly onto Native SDK'spanelkind, whose children overlay each other. The contract (sdk/CONTRACT.mdlines 127 and 604) promises column layout. Two<text>children in a<panel>rendered at identical bounds, one on top of the other.Now
<panel>lowers exactly like a styled<column>: outer panel for paint and effects, inner column for child layout and gap.Receipts
experiments/render-loop-cadence/panel-probe/(branchmastertoday). Snapshot shows both texts atbounds=(8,8 56x80).(32,31 7x11)and(32,48 7x17), matching the<column>control beside them.panel lowers to a painted box around a column so children stack vertically.zig build test: 89 passed, 1 skipped.Why it went unnoticed
weaver checkpasses, the receipt says ok, and the semantic tree has every node. Only pixels show it. One of four agents in the render-loop cadence experiment shipped this exact defect at 7/10 self-confidence.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.