57 lines
4.0 KiB
Markdown
57 lines
4.0 KiB
Markdown
# KMind 能力对标清单(阶段化)
|
||||
|
|
|
|||
|
|
> 通过三个阶段逐步将 KMind 的成熟能力迁移到 MNOTE。完成后在方括号内打勾,并在下方补充备注/提交记录。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
-## S1. 核心内核
|
|||
|
|
-
|
|||
|
|
- [x] **画布容器 / 多根模式 / 懒渲染**
|
|||
|
|
参考 `design/Kmind/js/0.js:719-1160` 的 `MindMap` 构造、`_initializeContainer`、`initContainer`、`reRender`、`resize`、`View`,复刻 SVG 分层、容器重试与多根导图的渲染机制,映射到我们的 `MindmapCanvas` / `MindLayoutEngine`。
|
|||
|
|
- [x] **渲染管线与布局注册**
|
|||
|
|
对齐 `Render` 类(`design/Kmind/js/0.js:11753-15120`)的节点缓存、布局切换、命令注册、懒渲染、generalization 处理;把 LogicalStructure/MindMap/Fishbone 等布局映射成我们自研引擎的 layout API。
|
|||
|
|
- [x] **快捷键与命令路由**
|
|||
|
|
移植 `KeyCommand` + `keyMap`(`design/Kmind/js/0.js:11709-11890`、`11721-11740`)的多实例冲突、防冒泡捕获、编辑快捷键白名单,落地到 `MindmapShortcutController`。
|
|||
|
|
- [x] **富文本输入 / 撤销栈 / 实时测量**
|
|||
|
|
复用 `design/Kmind/js/0.js:11114-11290` 的 Quill `history`、`input`、`keyboard` 模块与 `render/TextEdit`,实现节点富文本编辑、粘贴清洗、撤销重做,并与 BlockNote 文档保持同步。
|
|||
|
|
- [x] **节点链接 / 附件 / 思源解析**
|
|||
|
|
将 `checkSiyuanLinkFormatData`、`checkSiyuanPdfUrlFormatData`、`setNodeSiyuanHyperlink` 等逻辑(`design/Kmind/js/0.js:12040-12380`)改写成我们的 `link`/`attachment` 数据模型,实现块链接、PDF 标注、镜像粘贴解析。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## S2. 交互与 UI
|
|||
|
|
|
|||
|
|
- [ ] **浮动工具条 / 节点属性面板**
|
|||
|
|
按 `design/Kmind/app.js:468-1150` 的 i18n 配置复刻附件、图标、外框、公式、链接、节点属性面板等按钮布局与交互。
|
|||
|
|
- [ ] **直觉按钮 & 拖拽建节点**
|
|||
|
|
依据 README(`design/kmind-plugin/README.md:103-125`)中“直觉按钮”/禅模式描述,落地相同的拖动建节点体验和提示文案。
|
|||
|
|
- [ ] **导航工具栏 / 只读 / 禅模式 / MiniMap**
|
|||
|
|
参考 `navigatorToolbar`(`design/Kmind/js/0.js` 内相关实现)及 README 中的 Fullscreen / Zen / Readonly 说明,实现视图控制、全屏、回到根节点、MiniMap。
|
|||
|
|
- [ ] **MOC 模式与文档树导图**
|
|||
|
|
对照 README(`design/kmind-plugin/README.md:17-37`)与文档树创建导图流程(同文件 365 行附近),完成 BlockNote Outline ↔ Mindmap 的实时映射、增删节点限制、全局配置项。
|
|||
|
|
- [ ] **镜像块 / 跨文档嵌入**
|
|||
|
|
参考 `design/kmind-plugin/README.md:139-199` 的操作流程,设计 MindmapEmbedWidget:镜像块 copy/paste、跳回源导图、蒙版提示。
|
|||
|
|
- [ ] **PDF 标注 & 思源链接处理**
|
|||
|
|
结合 README (`design/kmind-plugin/README.md:89-125`) 和核心代码中的 PDF 解析函数,支持粘贴思源 PDF 标注/块引用后自动生成节点链接、缩略图/跳转。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## S3. 主题与资产
|
|||
|
|
|
|||
|
|
- [ ] **主题 JSON / 主题编辑器**
|
|||
|
|
引入 `../simple-mind-map-plugin-themes`(`design/Kmind/js/0.js:3-400`)的 50+ 主题配置,整合 `themeConfig` 机制,支持导入/导出/预览以及 MindManager 风格主题。
|
|||
|
|
- [ ] **图标 / 贴纸 / 字体资源**
|
|||
|
|
整理 `design/Kmind/img/*.svg` 与 `design/Kmind/fonts/*` 资产,生成 React 可用的图标组件和字体声明,为附件、标签、状态、贴纸 UI 提供素材。
|
|||
|
|
- [ ] **导出 / 嵌入 / 全屏 / 小地图等工具**
|
|||
|
|
借鉴 `design/Kmind/js/0.js:11114-11580` 与 README 对导出、禅模式、只读、全屏、MiniMap 的描述,实现 PNG/SVG/OPML 导出、嵌入视图与全屏展示。
|
|||
|
|
- [ ] **插件/挂件包装**
|
|||
|
|
参考 `design/kmind-plugin/plugin.json` 与 `design/kmind-plugin/app/widget.json` 定义的入口、权限和资源结构,规划我们的桌面壳/挂件打包流程。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 备注 & 进度记录
|
|||
|
|
|
|||
|
|
| 日期 | 项目 | 说明 | 提交 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| 2025-11-29 | S1 核心内核 | 初始化画布/布局/命令/快捷键/文本/链接骨架,形成可用工程模板 | 暂未提交 |
|