Document independent widget bounds and measured layout costs

This commit is contained in:
iris-ai committed 2026-09-20 19:48:28 -04:00
1 parent ddaf9b37d6
commit 17423a57b8
3 files changed
+96 -5

No files matched your search

+6 -1
View File
@@ -872,7 +872,12 @@ is its *placement*, and the length a fraction resolves against is its *rel
base*. A container says all three in one `PlaceDesc` argument. `Widget::draw`
remains the only layout body. PR #19 also has optional size-request discovery
for deferred min/max/clamp expressions (2026-09-20); ordinary widgets still
return `Size`, and plain requests retain symbolic allocation. The invariants,
return `Size`, and plain requests retain symbolic allocation. Built-in
min/max/clamp rules also constrain the offered box; the dimension helpers
edit the widget's own attributes, replacing the `MaxSize` wrapper. Preferred
lengths and bounds are independent, so setting `.width` preserves `.max_width`
and vice versa. Bound choices are retained as resolved lengths so moving a
drawing cannot resolve them against a different box. The invariants,
the measured costs, the fuzzing method and the failed hypotheses are all in
`docs/LAYOUT.md`; the app's pin at
`32f6ad8` predates every part of it, so nothing here depends on it until the