place_field.rs
rust
1pub struct PlaceField { /* ... */ }
2
3impl PlaceField {
4 pub fn new(config: PlaceFieldConfig) -> Self;
5
6 // Structure building
7 pub fn add_node(&mut self, title: String, summary: String, page_range: (usize, usize), parent: Option<u32>) -> Result<u32, PlaceFieldError>;
8 pub fn add_edge(&mut self, source: u32, target: u32, label: String) -> Result<(), PlaceFieldError>;
9
10 // Navigation
11 pub fn navigate(&self, keywords: &[String], max_nodes: usize) -> NavigationResult;
12
13 // Learning
14 pub fn record_access(&mut self, node_id: u32, yield_score: f32) -> Result<(), PlaceFieldError>;
15 pub fn record_edge_traversal(&mut self, source: u32, target: u32, yield_score: f32);
16
17 // Maintenance
18 pub fn tick(&mut self) -> TickReport;
19
20 // Size
21 pub fn node_count(&self) -> usize;
22 pub fn edge_count(&self) -> usize;
23 pub fn root(&self) -> u32;
24 pub fn landmarks(&self) -> Vec<u32>;
25
26 // Introspection
27 pub fn node(&self, id: u32) -> Option<&PlaceNode>;
28 pub fn edges_from(&self, id: u32) -> Vec<&PlaceEdge>;
29}
30