Files
mnote/design/05-editor-mainline/done/5-22-mindmap-main-editor-tab-kind-v1.md
T
lix-2026 1956a8a21a chore: align mvp design governance
- 统一 local-first MVP 后阶段架构口径,补充 process 执行总序和 Reasonix 协作记录

- 归档已完成的 design checklist,标注参考型 process,更新 AGENTS/REASONIX/架构文档

- 补充文件树/主编辑器下载与上下文菜单相关实现、bug 记录和 smoke 脚本

验证:git diff --check;codegraph sync .;cargo test -p mnote-web;node --check scripts/task476-filetree-editor-context-menu-download-smoke.js
2026-05-21 09:04:13 +08:00

2.6 KiB
Raw Blame History

5-22 Mindmap Main Editor Tab Kind Checklist v1

状态:done

归档说明(2026-05-21):mindmap main editor tab kind 收口已完成。

日期: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
  • 可新增聚焦 smokescripts/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

  • resource open resolver 识别 kind=mindmap / objectKind=mindmap
  • 点击 File Tree mindmap 资源默认创建 main editor resource tab,而不是整页跳 /mindmap/...
  • mindmap tab 使用稳定 canonical identity,如 resource:mindmap:<documentId>:<mindmapId> 或 local file canonical identity。
  • tab panel 内挂载既有 mindmap runtime,并保持 data-mnote-object-editor="mindmap" / 可观测标记。
  • 显式新窗口 / object shell 入口仍可用。
  • smoke 覆盖从 File Tree 打开 mindmap tab、切回 page、再切回 mindmap。

5. 验收

  • cargo test -p mnote-web web_shell -- --test-threads=1
  • node scripts/task169-mindmap-realtime-smoke.js
  • 如新增 smokenode 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 持久化恢复。