#[repr(C)]pub enum RelayoutScope {
None = 0,
IfcOnly = 1,
SizingOnly = 2,
Full = 3,
}Expand description
Fine-grained dirty classification for CSS property changes.
Inspired by Taffy’s binary dirty flag but extended to 4 levels for CSS-specific optimizations. Instead of “clean vs dirty”, we classify property changes by their actual layout impact, enabling the engine to skip unnecessary work.
Reference: Taffy (https://github.com/DioxusLabs/taffy) uses a binary dirty flag (clean/dirty). Our improvement: 4-level classification enables IFC-only reflow, sizing-only recomputation, and paint-only updates without full subtree relayout.
Variants§
None = 0
No relayout needed — repaint only (e.g., color, background, opacity, transform). The node’s size and position are unchanged.
IfcOnly = 1
Only the IFC (Inline Formatting Context) containing this node needs re-shaping. Block-level siblings are unaffected unless the IFC height changes, in which case this auto-upgrades to SizingOnly.
SizingOnly = 2
This node’s sizing needs recomputation. Parent may need repositioning of subsequent siblings but doesn’t need full recursive relayout.
Full = 3
Full subtree relayout required (e.g., display, position, float change).
Trait Implementations§
Source§impl Clone for RelayoutScope
impl Clone for RelayoutScope
Source§fn clone(&self) -> RelayoutScope
fn clone(&self) -> RelayoutScope
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more