A list measures its intrinsic children with an infinite main axis, and `distribute_main_axis` handed a percent child its share of that, so any percent child of an intrinsically measured list got an infinite length. In the demo's narrow view the stack falls back to intrinsic sizing, which gave the row list an infinite rect: it realized all 10,000 rows, ballooning the tree from 493 to 140,387 nodes, and every frame laid them all out. Percent children of an unbounded main axis now measure intrinsically instead, matching how a percentage of an auto-sized parent behaves in CSS. The demo's narrow frames go from 124ms to 30us, the switch into narrow from 579ms to 1.1ms, and the switch back to wide from 1.29s to 0.6ms. A scroll measures as nothing, so a percent scroll in an intrinsically measured column collapses. `view!` gains `@size(item_size)`, which takes a whole reactive `ItemSize`, and the demo uses it to give the row list a fixed height while it is stacked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017W8YfdzDmZcR8A76jRjvZY
BE3 Agent committed on 9/12/2026, 1:06:14 AMparentb89a46d
10 files changedLine totals unavailable