feat: continue tree rust family cutover
- add rust renderer/state-family scaffolds and inline compat host thinning for page tree, file tree, and picker - route tree/filetree preflight, file projection, resource artifact, and stream delta contracts through rust plans - preserve canonical move-order validation, file-tree search projection, and related frontend/runtime regression coverage
This commit is contained in:
@@ -212,6 +212,8 @@ pub struct KernelProjectionFilter {
|
||||
pub node_types: Vec<KernelNodeType>,
|
||||
#[serde(default)]
|
||||
pub edge_types: Vec<KernelEdgeType>,
|
||||
pub query: Option<String>,
|
||||
pub max_results: Option<usize>,
|
||||
#[serde(default)]
|
||||
pub include_deleted: bool,
|
||||
}
|
||||
@@ -526,6 +528,8 @@ mod tests {
|
||||
filters: KernelProjectionFilter {
|
||||
node_types: vec![KernelNodeType::Page, KernelNodeType::Folder],
|
||||
edge_types: vec![KernelEdgeType::ParentOf],
|
||||
query: Some("预算".into()),
|
||||
max_results: Some(20),
|
||||
include_deleted: false,
|
||||
},
|
||||
include_content: false,
|
||||
@@ -535,6 +539,8 @@ mod tests {
|
||||
let value = serde_json::to_value(&request).expect("request 应可序列化");
|
||||
assert_eq!(value["projection"], json!("sidebar_tree"));
|
||||
assert_eq!(value["subtree"]["rootNodeId"], json!("page_root"));
|
||||
assert_eq!(value["filters"]["query"], json!("预算"));
|
||||
assert_eq!(value["filters"]["maxResults"], json!(20));
|
||||
|
||||
let decoded: KernelProjectionRequest =
|
||||
serde_json::from_value(value).expect("request 应可反序列化");
|
||||
|
||||
Reference in New Issue
Block a user