Retain frame and extent dependencies independently
Keep the original measurement placement separate from the assigned slot.
Validate frame and extent lengths before reusing an answer or drawing, and
represent hint-only records as having no measured answer.
Retain primitive and mask coordinates with their frame/extent reference.
Forwarded children follow a reused wrapper's placement without rerunning
valid draw bodies. Keep the single Widget::draw API.
Restore the eight failing suite cases from the region/placement prototype,
with regressions for mixed coordinate references, a changed inherited
extent, the sizing-stack fraction, and an undrawn share becoming visible.
This remains experimental: nested container updates do substantially more
work than e44dea3 despite restoring the leaf and wrapper reuse guarantees.
Do not merge it as a performance improvement.
This commit is contained in:
1 parent
5fcace1bfa
commit
efb416bbc3
14 files changed
+548
-166
No files matched your search
@@ -10,12 +10,16 @@ use crate::{
|
||||
pub const CHAIN_LIMIT: u32 = 64;
|
||||
|
||||
mod active;
|
||||
mod draw_region;
|
||||
mod holds;
|
||||
mod layout_holds;
|
||||
mod painter;
|
||||
mod render_state;
|
||||
|
||||
pub use active::*;
|
||||
pub use draw_region::*;
|
||||
pub use holds::*;
|
||||
pub use layout_holds::*;
|
||||
pub use painter::{Painter, PrimitiveLike};
|
||||
pub use render_state::*;
|
||||
|
||||
|
||||
Reference in new issue
Block a user