1.6 KiB
1.6 KiB
Reasonix Batch A2 / Worker B:5-29 block menu legacy HTML helpers 实现
Project root:/mnt/Data1T/mnote-worktrees/0525-a2-block-menu-current
目标
在独立 worktree 中产出候选 patch:把 rust/spikes/leptos-tiptap-spike/src/lib.rs 中 block menu 仍使用 HTML 整文替换的 legacy helper 抽到独立 editor runtime 模块,降低 lib.rs 体积,为后续 history-safe command 替换做准备。本批只做同构迁移,不改变用户行为。
允许修改
rust/spikes/leptos-tiptap-spike/src/lib.rsrust/spikes/leptos-tiptap-spike/src/editor_runtime/mod.rs- 新增
rust/spikes/leptos-tiptap-spike/src/editor_runtime/block_menu_legacy_html.rs
如编译必须,可把 DropPlacement 或必要小 helper 调整为 pub(crate);不要扩大到其它模块。
候选函数
duplicate_top_level_block_htmlreorder_top_level_block_html
可以一起迁移其仅服务这两个函数的小型 DOM helper;不要迁移 overlay state、Leptos signal、apply_html_update 或 Tiptap command。
禁止事项
- 不实现新交互,不修 unrelated bug。
- 不改 shell /
mnote-web。 - 不修改设计文档、AGENTS、git 状态或提交。
- 不把 legacy HTML helper 标成 history-safe;模块名和注释必须表达它只是过渡 legacy 路径。
验收命令
cargo fmt --manifest-path rust/Cargo.toml --all --check
cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml
输出要求
handoff 必须列出:
- 修改文件和迁移函数。
- 是否改变任何用户行为,预期应为否。
- 仍未解决的 history 风险。
- 验收命令和结果。