Hold the output as the box every chain bottoms out in
A position was composed up the slot chain to a normalized region and then multiplied by the output's size, so the window was the one box in the system that was not a box. Seeding the chain with a root slot holding it in pixels makes composing through it leave everything below in pixels, which is what the multiplication was doing. `within` already does the arithmetic: a child at `rel` 1 inside a span of `px` 0 to `px` 1920 composes to `px` 1920 and `rel` 0, so the trailing `to_px` becomes the identity rather than a step. The shader walks the same chain and needs no change for the same reason. This is the shape the resize machinery wants before it can be deleted: a resize becomes one slot written, which `try_reuse` and `redraws_under` already carry. Nothing is removed yet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7c50a3e51b
commit
9f4311774b
2 files changed
+28
-3
No files matched your search
+5
-1
@@ -180,5 +180,9 @@ fn only_a_container_that_places_its_children_lengthens_the_chain() {
|
||||
h.set_root((bar, buried).span(Dir::RIGHT));
|
||||
|
||||
let slot = h.render.active[&leaf.id()].parent_move;
|
||||
assert_eq!(h.render.moves.depth(slot), 1, "one span above the leaf");
|
||||
assert_eq!(
|
||||
h.render.moves.depth(slot),
|
||||
2,
|
||||
"the span above the leaf, and the root the window is held in"
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user