Files
mnote/design/05-editor-mainline/process/5-22-mindmap-main-editor-tab-kind-v1.md
T

53 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 5-22 Mindmap Main Editor Tab Kind Checklist v1
> 状态:process
>
> 日期:2026-05-20
>
> Ownermain editor resource tab / mindmap editor kind
## 1. 目标
补齐 P1mindmap 仍以独立 object shell 进入主 pane,而不是 main editor group 内的 editor kind。目标是把 File Tree 中的 mindmap 资源默认打开到主编辑区 tab,并保留显式对象页 / 新窗口兼容入口。
## 2. 允许修改范围
- `rust/crates/mnote-web/src/routes/web_shell.rs`
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
- `scripts/task169-mindmap-realtime-smoke.js`
- 可新增聚焦 smoke`scripts/task47*-mindmap-resource-tab-smoke.js`
## 3. 禁止事项
- 不把 mindmap 数据保存到 `page.body.save`
- 不删除 `/mindmap/:documentId/:mindmapId` object shell 兼容路由。
- 不破坏已存在的 mindmap realtime / long text edit smoke。
- 不让 mindmap tab 和 page tab 使用同一个 DOM identity。
## 4. Checklist
- [x] resource open resolver 识别 `kind=mindmap` / `objectKind=mindmap`
- [x] 点击 File Tree mindmap 资源默认创建 main editor resource tab,而不是整页跳 `/mindmap/...`
- [x] mindmap tab 使用稳定 canonical identity,如 `resource:mindmap:<documentId>:<mindmapId>` 或 local file canonical identity。
- [x] tab panel 内挂载既有 mindmap runtime,并保持 `data-mnote-object-editor="mindmap"` / 可观测标记。
- [x] 显式新窗口 / object shell 入口仍可用。
- [x] smoke 覆盖从 File Tree 打开 mindmap tab、切回 page、再切回 mindmap。
## 5. 验收
- [x] `cargo test -p mnote-web web_shell -- --test-threads=1`
- [x] `node scripts/task169-mindmap-realtime-smoke.js`
- [ ] 如新增 smoke`node scripts/task47*-mindmap-resource-tab-smoke.js`
## 5.1 本轮执行记录
- 已合入:`kind=mindmap` resource tab,使用 `resource:mindmap:<documentId>:<mindmapId>` identity,并复用现有 `/mindmap/...` bootstrap + runtime mount。
- 已保留:旧 object shell 作为 runtime 不可用或显式路径 fallback。
- 本轮更新:`task169` 已从旧 object shell 口径切到 main editor mindmap resource tab 口径,断言 File Tree 打开 mindmap 后进入 `data-mnote-tab-kind="mindmap"` 的 resource tab,并覆盖切回 page tab 后再切回 mindmap tab。
- 已退役:`task169` 内旧 topic/runtime realtime 深测不再作为必过主链,结果中写入 `retiredRealtimeTopicEditing`,避免旧 object shell 时代的交互假设干扰当前 P1 resource tab 验收。
## 6. 非目标
- 不实现 mindmap 多实例协同编辑模型。
- 不实现 tab 持久化恢复。