fix: stop percent children from taking infinite space when measured

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
615fe59c43BE3 Agent committed on 9/12/2026, 1:06:14 AMparentb89a46d
10 files changedLine totals unavailable