pub struct LayoutClientSlices {
pub leaforder: Option<Value>,
pub focused_node_id: String,
pub magnified_node_id: String,
pub pending_backend_actions: Option<Value>,
}Expand description
SPEC_864 Phase 2 — the frontend-owned LayoutState slices carried by a
full-row-replace push (the UpdateObject→LayoutSetTree route). The
reducer applies focused_node_id/magnified_node_id to its TabRecord;
leaforder and pending_backend_actions are opaque pass-through JSON the
persist subscriber writes verbatim (no algebra re-run in the subscriber —
that would be a new divergence surface).
Semantics are REPLACE, mirroring the legacy update_raw whole-row write
this route retires: an absent/null leaforder or
pending_backend_actions CLEARS the persisted column (pushing the row
without processed actions is how the frontend acks its backend-action
queue); an empty focused_node_id/magnified_node_id clears focus/
magnify. A LayoutSetTree with slices: None (granular/tree-only
callers) leaves all four columns untouched.
Fields§
§leaforder: Option<Value>Frontend-recomputed geometry cache (getLeafOrder). Not read on
reproject; persisted only for legacy readers. None = clear.
focused_node_id: StringFocused layout-node id; empty = clear.
magnified_node_id: StringMagnified layout-node id; empty = clear.
pending_backend_actions: Option<Value>The backend→frontend action queue as the client sees it after
processing. None = clear (the ack path).
Trait Implementations§
Source§impl Clone for LayoutClientSlices
impl Clone for LayoutClientSlices
Source§fn clone(&self) -> LayoutClientSlices
fn clone(&self) -> LayoutClientSlices
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more