pub struct MindMapState { /* private fields */ }Expand description
Validated document with private tree/index/selection and bounded history.
Every mutation is built on a candidate snapshot, validated, then committed. A failed operation cannot change data, selection, index, history or generation.
Implementations§
Source§impl MindMapState
impl MindMapState
Sourcepub fn new(data: MindMapData) -> Result<Self, MindMapError>
pub fn new(data: MindMapData) -> Result<Self, MindMapError>
Validate and establish an initial history baseline.
Sourcepub fn data(&self) -> &MindMapData
pub fn data(&self) -> &MindMapData
Persistent document, without runtime state.
Sourcepub fn parent_id(&self, id: &str) -> Option<&str>
pub fn parent_id(&self, id: &str) -> Option<&str>
Parent ID. Root and unknown IDs return None; use node to distinguish.
Sourcepub fn is_read_only(&self) -> bool
pub fn is_read_only(&self) -> bool
Whether document mutations are disabled.
Sourcepub fn set_read_only(&mut self, value: bool)
pub fn set_read_only(&mut self, value: bool)
Disable/enable every mutation entry, including refresh and history.
Sourcepub fn set_history_limit(&mut self, limit: usize)
pub fn set_history_limit(&mut self, limit: usize)
Maximum retained undo transactions; zero disables recording.
Sourcepub fn history_len(&self) -> (usize, usize)
pub fn history_len(&self) -> (usize, usize)
Number of available undo and redo entries.
Sourcepub fn select(&mut self, ids: &[String]) -> Result<Vec<CoreEvent>, MindMapError>
pub fn select(&mut self, ids: &[String]) -> Result<Vec<CoreEvent>, MindMapError>
Replace selection atomically, preserving traversal order and removing duplicates.
Sourcepub fn apply(
&mut self,
operation: Operation,
) -> Result<OperationResult, MindMapError>
pub fn apply( &mut self, operation: Operation, ) -> Result<OperationResult, MindMapError>
Execute one checked transaction.
Sourcepub fn apply_with(
&mut self,
operation: Operation,
options: OperationOptions,
) -> Result<OperationResult, MindMapError>
pub fn apply_with( &mut self, operation: Operation, options: OperationOptions, ) -> Result<OperationResult, MindMapError>
Execute with explicit history/event recording options.
Sourcepub fn undo(&mut self) -> Result<Vec<CoreEvent>, MindMapError>
pub fn undo(&mut self) -> Result<Vec<CoreEvent>, MindMapError>
Restore the previous document and selection snapshot.
Sourcepub fn refresh(
&mut self,
data: MindMapData,
) -> Result<Vec<CoreEvent>, MindMapError>
pub fn refresh( &mut self, data: MindMapData, ) -> Result<Vec<CoreEvent>, MindMapError>
Replace the document and reset selection/history. Validation happens first.