iris: separate layout allocation from lengths

This commit is contained in:
iris committed 2026-09-12 19:35:18 -04:00
1 parent 90dffce514
commit cb5f11d21a
20 files changed
+407 -170

No files matched your search

+10
View File
@@ -837,6 +837,16 @@ resampling atlas masks. ai-app owns the
the script that rebuilds it; the CSS generic names `sans-serif` and `monospace`
continue to resolve through the platform.
**A `Len` is geometry; a `LayoutLen` is a length plus a claim on remaining
space** (2026-09-12). Both carry absolute pixels, density-independent pixels,
and a fraction of their reference. Only `LayoutLen` carries `rest`, because
`rest` is allocation policy rather than a coordinate unit. Ordinary lengths
convert into layout lengths without claiming any remainder; there is no lossy
conversion back. Widget sizes, padding, and gaps use `LayoutLen`, while values
such as corner radius and text's position within horizontal overflow use
`Len`. Flexible padding participates in the same proportional allocation as a
span rather than silently discarding its `rest` component.
`cargo-iris` is an installable Cargo subcommand, rather than a script callers
must find inside an Iris checkout. `cargo iris apk` builds the Rust `cdylib`
with cargo-ndk and packages it directly with the installed Android SDK tools: