fix editor block handle and menu parity
This commit is contained in:
@@ -324,17 +324,53 @@ GREEN:
|
||||
|
||||
| ID | 状态 | 任务 | 验收要点 |
|
||||
| --- | --- | --- | --- |
|
||||
| E0 | TODO | editable-test 焦点护栏 | 写入前先断言焦点在正文测试块,不在标题、breadcrumb 或隐藏输入;截图记录焦点位置 |
|
||||
| E1 | TODO | editable-test 基础输入 | Hermes editable-test mode 取 Wolai 输入/回车/撤销基线;本地保存后刷新保持 |
|
||||
| E2 | TODO | 块 hover 手柄 | hover 块只显示左侧手柄区,不自动弹菜单;浅色块 hover 背景对齐 |
|
||||
| E3 | TODO | 上方插入短横线 | hover 短横线变 `+`;tooltip `在上方插入块` / `Esc, a`;点击前插入 |
|
||||
| E4 | TODO | 下方插入短横线 | hover 短横线变 `+`;tooltip `在下方插入块` / `Esc, b`;点击后插入 |
|
||||
| E5 | TODO | `Esc, a` / `Esc, b` | 块选中态快捷键插入 before/after;本地 smoke 验证焦点进入新块 |
|
||||
| E6 | TODO | 块菜单 | 点击手柄打开菜单;`转换为 / 拷贝副本 / 删除 / 复制链接 / 颜色` 等入口视觉对齐 |
|
||||
| E7 | TODO | slash 菜单 | 输入 `/` 跟随 caret 打开;搜索过滤和键盘选择可用 |
|
||||
| E8 | TODO | selection toolbar | 选中文本出现工具条;粗体、斜体、链接、颜色、转换块入口可见 |
|
||||
| E9 | TODO | `Ctrl+A` 双阶段选择 | 第一次选当前文本/块,第二次选全部块;行为与 Wolai 基线一致 |
|
||||
| E10 | TODO | 拖拽预览 | 块拖动时横向 drop line、分栏竖线预览;持久化可后置但预览需对齐 |
|
||||
| E0 | DONE | editable-test 焦点护栏 | Wolai Hermes editable-test 与本地 smoke 均断言写入前焦点在正文测试块,不在标题、breadcrumb 或隐藏输入 |
|
||||
| E1 | DONE | editable-test 基础输入 | Wolai 已取输入/回车/撤销基线;本地 `task137` 覆盖三行输入、保存、刷新后保持 |
|
||||
| E2 | DONE | 块 hover 手柄 | Wolai follow-up 基线确认默认 hover 只显示 `2x2` 四点手柄;本地 smoke 断言四点、可见性、与正文间距和从正文移向手柄不消失 |
|
||||
| E3 | DONE | 上方插入加号 | 本地仅在 hover 四点上方热区时显示上方 `+`,点击可在目标块前插入并聚焦;tooltip/title 包含 `在上方插入块` / `Esc, a` |
|
||||
| E4 | DONE | 下方插入加号 | 本地仅在 hover 四点下方热区时显示下方 `+`,点击可在目标块后插入并聚焦;tooltip/title 包含 `在下方插入块` / `Esc, b` |
|
||||
| E5 | DONE | `Esc, a` / `Esc, b` | 本地块选中态快捷键可插入 before/after,并把输入焦点放入新块 |
|
||||
| E6 | PARTIAL | 块菜单 | 本地点击四点后手柄切换为三横线;主菜单约 240px、浮在侧栏之上、位于三横线左侧且不遮挡正文/手柄;`转换为` 二级菜单已补齐 Wolai 当前基线项目,H4 小标题转换为真实命令;复制链接/颜色/文字翻译子菜单、折叠标题/折叠待办三级菜单仍需继续补齐 |
|
||||
| E7 | DONE | slash 菜单 | 本地 `/` 跟随编辑器打开;含 `AI 助理 / 用 AI 写作 / 基础块列表 / 文本 / 待办列表 / /h1`,方向键/Enter 选择仍由 smoke 覆盖 |
|
||||
| E8 | DONE | selection toolbar | 本地选中文本出现工具条;粗体、斜体、链接、颜色、转换块入口可见,入口文案已中文化 |
|
||||
| E9 | PARTIAL | `Ctrl+A` 双阶段选择 | 本地 smoke 覆盖第一次/第二次选择范围扩展;Wolai 的多块粉色选区视觉与块级全选细节后续单列视觉对标 |
|
||||
| E10 | DONE | 拖拽预览 | 本地 smoke 覆盖拖动手柄时 `.block-drop-indicator` 横向 drop line 可见;分栏竖线预览与落点持久化后续单列 |
|
||||
|
||||
### Phase E 执行记录(2026-04-30)
|
||||
|
||||
- Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-baseline/comparison-matrix.md`,截图目录 `/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-baseline/screenshots/`。
|
||||
- Wolai 说明页摘要:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-baseline/doc-summary.md`。
|
||||
- 本地 post-fix smoke:`MNOTE_PHASE_E_SCREENSHOT_DIR=/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-local-smoke node scripts/task137-wolai-phase-e-smoke.js`,通过。
|
||||
- Subagent post-fix 复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-postfix-subagent-final3/`,通过。
|
||||
- 手柄 follow-up Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-handle-followup-wolai-baseline/`,确认默认四点、上/下热区分别出 `+`、点击后变三横线、菜单在正文左侧不挡正文。
|
||||
- 手柄 follow-up 本地 smoke:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-handle-followup-local-postfix10/`,通过并覆盖四点、上下加号、可达性、菜单不挡正文/手柄。
|
||||
- 手柄 follow-up subagent 本地复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-handle-followup-local-subagent-postfix/`,通过;复核默认四点、上下加号、正文到手柄不消失、点击后三横线、菜单不遮挡正文/手柄。
|
||||
- 关键截图:`02-hover-handle-default.png`、`02a-hover-handle-before-plus.png`、`02b-hover-handle-after-plus.png`、`04-drag-preview.png`、`05-block-menu.png`、`07-slash-menu.png`、`08-toolbar.png`。`05-block-menu.png` 已断言菜单不遮挡正文且不盖住三横线手柄;更多 Wolai 菜单项后续补齐。
|
||||
- 块菜单 refresh Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-wolai-refresh/`,确认二级/三级菜单、Esc/外部点击关闭、鼠标移出保持打开。
|
||||
- 块菜单 refresh 本地 smoke:`MNOTE_PHASE_E_SCREENSHOT_DIR=/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-local-smoke-10 node scripts/task137-wolai-phase-e-smoke.js`,通过;覆盖第二行手柄不跳行、240px 菜单、底部编辑信息、转换子菜单缺失项、鼠标移出保持、Esc 关闭、H4 真实转换。
|
||||
- 块菜单 refresh subagent 本地复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-local-subagent-postfix/`,通过;复核第 1-4 行手柄不跳行、菜单未被侧栏裁剪、鼠标移出保持、Esc/外部点击关闭、H4 真实转换。
|
||||
- 代码改动:`rust/spikes/leptos-tiptap-spike/src/lib.rs` 与生成的 `rust/spikes/leptos-tiptap-spike/generated/island/*`。
|
||||
- 验证命令:`cargo fmt --check`、`cargo check`、`node wolai-frontend/scripts/build-leptos-tiptap-island.js`、`node scripts/task137-wolai-phase-e-smoke.js`、`node scripts/task121-rust-web-editor-island-hydration-smoke.js`、`node scripts/task136-wolai-aline-phase-d-smoke.js`。
|
||||
|
||||
### Phase E 说明页扩展 backlog
|
||||
|
||||
| ID | 状态 | 任务 | 验收要点 |
|
||||
| --- | --- | --- | --- |
|
||||
| E11 | TODO | `Tab` / `Shift+Tab` 缩进结构 | 缩进改变父子块结构,不只是视觉 padding;覆盖不允许缩进的块类型 |
|
||||
| E12 | TODO | `Ctrl/Cmd+Shift+U` 块布局 | 显示/隐藏块布局虚线框,且不影响编辑保存 |
|
||||
| E13 | TODO | 块转换三入口 | 块菜单、快捷键、slash `/zh + 拼音首字母` 均能转换文本类块 |
|
||||
| E14 | TODO | 复制/粘贴与匹配样式粘贴 | 文本选择、块选择、`Ctrl/Cmd+Shift+V` 分别有 smoke |
|
||||
| E15 | TODO | 链接创建 | 选中文字 `Ctrl/Cmd+K` 与直接粘贴 URL 创建链接 |
|
||||
| E16 | TODO | 文本颜色/背景色/行内公式/页面引用 | selection toolbar 子菜单真实写入 Tiptap 内容,不只显示入口 |
|
||||
| E17 | TODO | 评论入口 | 块评论、选中文字评论、评论气泡数量和 `Ctrl/Cmd+Alt+M` 后续对标 |
|
||||
| E18 | TODO | 块引用与右侧边栏引用 | 块引用搜索、引用预览/别名、右侧边栏拖拽引用后续对标 |
|
||||
| E19 | TODO | 块历史 | 块历史查看与恢复版本按 Wolai 说明页单列验证 |
|
||||
| E20 | TODO | 拖拽分栏 | 横线/竖线预览、父子块随父块移动、测试块间安全释放与清理 |
|
||||
| E21 | DONE | 块菜单二级转换基础版 | `转换为` hover 后主菜单保持、二级菜单包含 Wolai 当前项目;`文本/待办/高级待办/H1/H2/H3/H4/列表/数字列表/引述/代码` 其中 H4 至少有真实 smoke |
|
||||
| E22 | TODO | 折叠标题三级菜单 | hover `折叠标题` 显示 `折叠主标题/折叠大标题/折叠中标题/折叠小标题`;真实折叠语义需接 editor/core 命令,不用 disabled 文案伪装完成 |
|
||||
| E23 | TODO | 折叠待办三级菜单 | hover `折叠待办` 显示 `折叠待办列表/折叠高级待办列表`;真实折叠待办语义需接 editor/core 命令 |
|
||||
| E24 | TODO | 复制链接/颜色/文字翻译子菜单 | 复制链接、颜色、文字翻译按 Wolai 展开子菜单;颜色至少覆盖文字色/背景色真实写入,复制链接不只反馈文案 |
|
||||
| E25 | TODO | 块菜单关闭状态机 | Esc 与外部点击关闭所有层级;鼠标移出菜单保持打开,三级菜单可按 Wolai 收回到二级菜单;smoke 覆盖三条路径 |
|
||||
|
||||
## 9. Phase F:Page Aggregate 和命令边界
|
||||
|
||||
|
||||
Reference in New Issue
Block a user