Clean up shared UI runtime state

This commit is contained in:
iris committed 2026-09-11 00:55:33 -04:00
1 parent 9b4c690916
commit 5ca244528f
27 files changed
+355 -499

No files matched your search

+15 -5
View File
@@ -115,7 +115,7 @@ fn a_widget_retains_its_entry_layer_not_its_child_cursor() {
rsc.ui.widgets.get_mut(&outer_weak).unwrap().x = None;
render.update(&root, &mut rsc);
assert_eq!(
render.take_counters().0,
render.take_counters().draws,
1,
"redrawing the parent should retain the unchanged Stack subtree"
);
@@ -250,7 +250,12 @@ fn a_child_coordinate_offset_moves_only_the_child_subtree() {
rsc.ui.widgets.get_mut(&parent_weak).unwrap().offset.y = 35.0;
rsc.ui.widgets.get_mut(&outer_weak).unwrap().x = None;
render.update(&root, &mut rsc);
let (draws, rewrites, moves, _shapes) = render.take_counters();
let RenderCounters {
draws,
region_rewrites: rewrites,
moves,
..
} = render.take_counters();
let parent_after = render.window_region(&parent_weak, &rsc).unwrap();
let child_after = render.window_region(&child_weak, &rsc).unwrap();
@@ -283,7 +288,7 @@ fn a_hinted_rest_draws_once_and_only_moves_the_fixed_child_after_it() {
let mut render = UiRenderState::new();
render.resize((200.0, 300.0));
render.update(&root, &mut rsc);
let (draws, _rewrites, moves, _shapes) = render.take_counters();
let RenderCounters { draws, moves, .. } = render.take_counters();
assert_eq!(draws, 5);
assert_eq!(moves, 1);
@@ -328,7 +333,12 @@ fn an_unchanged_frame_draws_and_rewrites_nothing() {
render.take_counters(); // discard the first, real draws
render.update(&root, &mut rsc);
let (draws, rewrites, moves, _shapes) = render.take_counters();
let RenderCounters {
draws,
region_rewrites: rewrites,
moves,
..
} = render.take_counters();
assert_eq!((draws, rewrites, moves), (0, 0, 0));
}
@@ -346,7 +356,7 @@ fn scrolling_moves_in_o1_without_a_redraw() {
rsc.ui.widgets.get_mut(&scroll).unwrap().scroll(-40.0);
render.update(&root, &mut rsc);
let (draws, _rewrites, moves, _shapes) = render.take_counters();
let RenderCounters { draws, moves, .. } = render.take_counters();
assert_eq!(draws, 1, "only Scroll itself should redraw");
assert_eq!(moves, 1, "the scrolled subtree should move in one write");