Files
mnote/design/03-rust-web/process/3-23-sidebar-local-folder-resource-runtime-followup-v1.md
T

34 lines
1.7 KiB
Markdown

# 3-23 Sidebar local folder / resource runtime follow-up v1
> 创建时间:2026-05-25
> 状态:`process`
> 来源:`design/03-rust-web/process/3-22-sidebar-tree-runtime-second-stage-split-v1.md` Batch B / Batch D。
## 1. 背景
`3-22` 已完成 sidebar shell helper 第一刀,但 `sidebar-tree-runtime.js` 中 local folder、mindmap fetch observer、resource/filetree 编排仍是下一批 03-rust-web owner。
这些代码仍涉及:
- `installMindmapAssetFetchObserver`
- `withLocalMindmapSourceParams`
- `applyMindmapApiMutationToFileTree`
- `refreshLocalFolderSidebarSnapshot`
- `appendUploadedAssetRow`
- `resolveFileTreeUploadTarget`
其中纯 URL/body/method/file name helper 已有一部分迁入 `filetree-runtime.js`。剩余函数多涉及 fetch hook、workspace/root/document 状态、projection render、selection/focus 恢复、watcher 标记和资源行 patch,因此不能整体迁出。
## 2. 下一批边界
- [ ] 只读审计 mindmap fetch observer,确认是否有新的纯 helper 可迁入 `filetree-runtime.js`
- [ ] 只读审计 `refreshLocalFolderSidebarSnapshot` 的 post-apply 副作用,避免重复拆已经确认应留在 shell 的 fetch/projection 编排。
- [ ] 若实现,只迁稳定 DOM helper 或 payload normalize helper,不迁 fetch hook 与 projection render。
- [ ] 验证 `task455-local-folder-mindmap-clean-smoke.js``task479-local-folder-markdown-resource-lifecycle-smoke.js`
## 3. 非目标
- 不改变 local folder 资源归属语义。
- 不迁 Rust tree command / projection 语义到前端。
- 不把 Page AI panel 混入本文件;AI owner 已拆到 `design/07-ai/process/7-38-page-ai-sidebar-runtime-owner-split-v1.md`