# 思维导图

> 来源：https://www.wolai.com/wolai/... (思维导图)
> 用途：mnote 思维导图功能行为参考
>
> 实现状态：**核心已实现** ✅ Wolai 的 7 种结构中已覆盖部分，6 种主题、节点操作、导出已实现

## 创建

| 方式 | 命令 |
|------|------|
| 快捷命令 | `/swdt /mindmap /naotu /brainmap` |
| 块转换 | 块菜单 → 转换为 → 思维导图, 或 `/zhwswdt` |
| 恢复原类型 | 块菜单/导图菜单 → 恢复为XX |

## 画布操作

| 操作 | 快捷键 |
|------|--------|
| 放大 | `Ctrl/Cmd + +` |
| 缩小 | `Ctrl/Cmd + -` |
| 重置缩放 | `Ctrl/Cmd + 0` |
| 定位到中心 | 点击 `⌂` 图标 |
| 全屏查看 | 点击右上角 `⤢` |
| 进入编辑模式 | 点击右上角 `✎` |
| 退出编辑模式 | `Esc` |
| 拖拽模式 | `Space`（非选中节点时）或点击左上角图标 |

## 节点操作

| 操作 | 快捷键 |
|------|--------|
| 插入同级主题 | `Enter` |
| 插入子主题 | `Tab` |
| 插入父主题 | `Shift + Tab` |
| 删除节点 | `Del` |
| 编辑节点文字 | `F2` 或双击 |
| 上移/前移 | `Ctrl/Cmd + Up` |
| 下移/后移 | `Ctrl/Cmd + Down` |
| 复制 | `Ctrl/Cmd + C` |
| 粘贴 | `Ctrl/Cmd + V` |
| 折叠/展开子节点 | `/` |
| 唤出菜单 | `Space`（选中节点时）|
| 右键菜单 | 鼠标右键 |

## 外观

| 功能 | 说明 |
|------|------|
| 主题颜色 | 6 种 |
| 结构 | 7 种：思维导图、逻辑结构图-左、逻辑结构图、组织结构图、鱼骨图、目录组织图、天盘图 |
| 紧凑布局 | 开启后最大程度节约页面空间 |

## 选择与展开

| 操作 | 说明 |
|------|------|
| 全选 | `Ctrl/Cmd + A` |
| 反选 | 选中节点后反选其余节点 |
| 选中同级 | 选中所有同级节点 |
| 选中子树 | 选中所有子节点 |
| 展开层级 | 支持展开到 1-6 层 |

## 导出

| 格式 | 方式 |
|------|------|
| PNG | 页面右上角 `···` → 保存图片 |

---

## mnote 实现状态

### ✅ 已实现
| 功能 | 证据 |
|------|------|
| 思维导图块类型 | `EditorBlockType::Mindmap`（`editor/model.rs:9`）|
| 创建（/mindmap 命令）| `routes/mindmap_api.rs` 含完整 API |
| Leptos UI shell | `ssr/pages/mindmap.rs` |
| 快捷键节点操作（Enter/Tab/Del/F2）| `routes/mindmap_shell.rs` |
| 全屏编辑 | `MINDMAP_SHELL_ZOOM_EVENT` |
| 导出图片 | `mindmap_shell.rs` 导出逻辑 |
| AI 可以读取思维导图 | `mnote.doc.fetch` 通过 projection 返回导图数据 |

### ❌ 未实现
| 功能 | 说明 |
|------|------|
| 7 种结构全部（逻辑结构图/鱼骨图/天盘图等）| 部分可能缺失 |
| AI **改写** 思维导图节点 | 无 `mnote.mindmap.*` Hermes 工具 |
| 紧凑布局 | 未确认 |
| 展开到 1-6 层 | 未确认 |
