Files
mnote/.codex/reasonix-tasks/2026-05-25-batch-j-worker-b-5-29-close-overlays.md
T

50 lines
2.2 KiB
Markdown
Raw Normal View History

2026-05-25 19:12:33 +08:00
# Reasonix Batch J / Worker B5-29 close block menu overlays helper
Project root`/mnt/Data1T/mnote-worktrees/0525-j-worker-b-5-29-close-overlays`
## 目标
在独立 worktree 中产出候选 patch:根据 Batch I Worker A 只读审计结论,只提取 `close_block_menu_overlays` 这一窄 helper,并删除确认无调用方的 `sync_editor_overlay_state` 死代码。不要迁 `try_sync_editor_overlay_state`,不要统一 `on_selection_change` 的内联 overlay 逻辑。
## 允许修改
- `rust/spikes/leptos-tiptap-spike/src/lib.rs`
- 如确需新增小模块,只允许:
- `rust/spikes/leptos-tiptap-spike/src/editor_runtime/overlays.rs`
- `rust/spikes/leptos-tiptap-spike/src/editor_runtime/mod.rs`
如修改 Rust island 源码后需要重建运行时,可更新:
- `rust/spikes/leptos-tiptap-spike/generated/island/mnote-leptos-tiptap-spike-island.js`
- `rust/spikes/leptos-tiptap-spike/generated/island/mnote-leptos-tiptap-spike-island_bg.wasm`
- `rust/spikes/leptos-tiptap-spike/generated/island/mnote-leptos-tiptap-spike-island.d.ts`
## 禁止事项
- 不迁 `try_sync_editor_overlay_state`
- 不改 `on_selection_change` 的 overlay 同步行为。
- 不改 block DnD、filetree、mnote-web、AGENTS、设计文档或 bugs 文档。
- 不提交 git,不回滚或清理无关文件。
## 验收命令
```bash
cargo fmt --manifest-path rust/Cargo.toml --all --check
cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml
cargo build --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml --target wasm32-unknown-unknown --release
wasm-bindgen rust/spikes/leptos-tiptap-spike/target/wasm32-unknown-unknown/release/mnote_leptos_tiptap_spike.wasm --target web --out-dir rust/spikes/leptos-tiptap-spike/generated/island --out-name mnote-leptos-tiptap-spike-island
NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task489-block-menu-delete-undo-smoke.js
NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task488-local-attachment-link-delete-undo-smoke.js
```
## 输出要求
handoff 必须列出:
- 是否确认 `sync_editor_overlay_state` 无调用方。
- 修改文件。
- helper 的调用点和未迁边界。
- 验收命令、结果和 smoke 证据路径。
- 未覆盖风险。
- `git diff --stat`