085fc97334a8ea3e7148303dc7616533474714af
Three attempts at "draw the widget, then move its drawing to where its alignment says" failed, and the notes are worth more than the attempts: the move is a change of coordinate frame, and no split of the stored state carries it. Moving a widget's region with its drawing has a later local redraw ask a differently rounded question, which crosses the one boundary `Span` needs exact. Leaving the region alone lets the placed box accumulate, because `try_reuse` returns a clean subtree's size without walking into it. Both are measured. Also recorded: that a container reporting a child's size while handing it a bigger box places that content twice, which is what the align override is for; that a widget must not report more than it occupies, which is why `Scroll` now fills both axes; and Bryan's decision that alignment is one fraction per axis rather than four directions, with the middle as the default because the edges assume a direction. The alignment work is in the working tree at `8220a78` and not committed. Its one red case, and the four things queued behind it, are listed.
Languages
Rust
53%
Kotlin
44.4%
Shell
2.6%