Files
mnote/design/01-05-current-priority-overview.md
T
lix-2026 f292c6710a feat: EditorRuntimeActor - 三层缓存/delta/事件架构
Phase A — EditorRuntimeActor 内存缓存层
- 新增 editor_actor.rs: EditorBlockDocument 内存态 + apply_command + load_or_init
- block.rs 四个写工具(replace/insert/delete/move)接入 actor 路径
- editor_actor feature flag(MNOTE_WEB_ENABLE_EDITOR_ACTOR=true 默认开启)
- bridge-runtime 三个核心函数公开化
- rust-toolchain: 1.89 → stable(修复 spike WASM 编译阻塞)

Phase B — 编辑器增量 delta channel
- BlockDelta/DeltaOperation 类型 + actor.build_block_delta()
- leptos-tiptap spike: mnote:editor:block-delta CustomEvent 监听 + JSON patch
- DocumentAiAgentPanel: 拦截 blockDelta → window dispatchEvent
- 工具响应含 blockDelta 字段供前端消费

Phase C — 事件 stream delta
- broadcast channel 在 AppState/actor/SSE 三层贯通
- tree_events SSE 端点发 block.delta 事件
- 旧客户端降级兼容

环境修复
- rustc recursion_limit = 1024(修复 Leptos SSR 类型深度溢出)
- run-convex-deploy.js(封装 Convex function 部署到本地后端 3210)

ref: design/07-ai/process/7-13-page-block-editor-runtime-actor-v1.md
2026-05-16 22:03:30 +08:00

5.7 KiB
Raw Blame History

01-05 当前主线与优先级总览

更新时间:2026-05-09

2026-05-16 口径补充:

  • 5-4 的默认页面内 leptos-tiptap island 主链切流已完成并迁入 done/;官方模板视觉和菜单细节继续由 5-2 / 5-7 / 5-9 承接。
  • Convex File Tree 默认可见页面正文行已由 4-35 收口为 doc:<documentId> + {title}.md,旧 index.md 可见 UI 口径只作为历史记录理解。
  • 页面/块 AI tools 最小闭环已启动,执行验收继续由 7-10 承接,不改变 Page Aggregate / tree command / tree realtime 三条架构优先级。

这份总览只做一件事:

design/01-*design/05-* 当前仍然有效的主线稿排优先级,并明确哪些 process 已经过时或应降级为历史参考。

1. 当前仍然有效的上位主线

下面三份仍然是当前架构判断的上位依据:

  • /mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-tree-first-graph-kernel-v1.md
  • /mnt/Data1T/mnote/design/02-convex-rust-long-term-architecture/process/2-tree-first-graph-convex-rust-long-term-architecture-v1.md
  • /mnt/Data1T/mnote/design/03-rust-web/process/3-rust-web-long-term-architecture-v1.md

它们分别固定了三件事:

  1. 长期事实源是 tree-first graph kernel
  2. Convex 保留为当前自托管存储 / 实时底座,不先拆
  3. mnote-web 是 Rust Web 承载层,长期继续承担 transport、projection 分发与切流

2. 当前第一优先级

当前最优先的不是继续扩 UI,也不是继续大规模重写执行面,而是把页面域和树域的真相边界先收口。

2.1 Page Aggregate

当前第一优先级固定为:

  • /mnt/Data1T/mnote/design/05-editor-mainline/process/5-5-page-aggregate-single-truth-alignment-v1.md
  • /mnt/Data1T/mnote/design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md
  • /mnt/Data1T/mnote/design/05-editor-mainline/done/5-5-1-page-aggregate-contract-v1.md

原因:

  • 默认主编辑器已经切到页面内 leptos-tiptap island
  • 文档页读取主链已优先消费 Rust mnote.page_aggregate.v1 快照
  • 标题单一真源与页面写链都已经开始收口到 page.* family
  • 但页面设置运行时语义、页头标题回流与 AI 设置面仍未完全闭环
  • 页面本地 aggregate state 与页头/子树补偿链仍说明页面域尚未完全统一;TS builder 已退出 runtime 主链

2.2 Tree Command Cutover

当前第二优先级固定为:

  • /mnt/Data1T/mnote/design/04-tree-domain/done/4-6-tree-command-protocol-cutover-stage2-v1.md

原因:

  • 前端已经开始以 tree.* 作为 preferred command name
  • 但 route / adapter / bridge / CLI 仍保留大量 documents.*
  • 如果不先完成命令面统一,后续 page aggregate 与 tree realtime 都会持续停留在兼容双轨

2.3 Tree Realtime 主链

当前第三优先级固定为:

  • /mnt/Data1T/mnote/design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-v1.md

原因:

  • 当前 sidebar 已有 query snapshot、tree stream、preferred snapshot 选择链
  • 3000 当前主壳已接入 /api/tree/events 的 snapshot + delta + resync consumer,并已有 browser smoke
  • 但 Sidebar、page subtree、filetree 与 preferred snapshot 还没有完全统一到同一条 live cache
  • 这仍会持续带来 refetch 补偿、freshness 选择和旧快照回闪问题

3. 当前仍应保留但不在第一线的 process

下面这些文档仍然有效,但当前不应排在第一优先:

  • /mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-1-tree-first-graph-kernel-checklist-v2.md
  • /mnt/Data1T/mnote/design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md
  • /mnt/Data1T/mnote/design/04-tree-domain/done/4-sidebar-pagetree-filetree-rust-web-rebuild-v1.md
  • /mnt/Data1T/mnote/design/04-tree-domain/done/4-2-sidebar-pagetree-filetree-product-interaction-contract-v1.md
  • /mnt/Data1T/mnote/design/05-editor-mainline/process/5-2-tiptap-notion-like-template-adoption-v1.md
  • /mnt/Data1T/mnote/design/05-editor-mainline/done/5-4-leptos-tiptap-mainline-correction-v1.md
  • /mnt/Data1T/mnote/design/04-tree-domain/done/4-35-convex-filetree-title-md-source-alignment-v1.md

保留原因:

  • 方向仍对
  • 仍然是局部主线的有效合同
  • 其中 5-44-35 的主目标已完成,后续仅作为当前事实依据被引用;它们不应压过 Page Aggregatetree commandtree realtime 三条当前主战线

4. 当前已降级为历史参考的 05 主线稿

下面这些稿件已被后续实现和更新文档覆盖,不再作为当前活跃 process

  • /mnt/Data1T/mnote/design/old/05-editor-mainline/process/5-1-main-editor-cutover-entry-v1.md
  • /mnt/Data1T/mnote/design/old/05-editor-mainline/process/5-3-tiptap-leptos-rust-migration-checklist-v1.md
  • /mnt/Data1T/mnote/design/old/05-editor-mainline/process/5-editor-baseline-reset-v2.md
  • /mnt/Data1T/mnote/design/old/04-tree-domain/process/4-1-sidebar-pagetree-filetree-product-gap-analysis-v1.md

降级原因:

  • 它们的重要判断已经被吸收到 5-4 / 5-5 / 5-6
  • 文档中的事实基线已经落后于当前默认主编辑器、page aggregate 入口与 island 主链
  • 继续保留在活跃 process 容易让后续工作按旧阶段推进

5. 当前执行顺序

当前推荐顺序固定为:

  1. Page Aggregate
  2. Tree Command Cutover Stage 2
  3. Tree Realtime Event Stream
  4. 树域产品交互合同补齐
  5. 编辑器官方模板行为对齐

6. 一句话收口

当前 design/01-05 的真实主线,不是“继续证明 Rust Web 值不值得做”,也不是“继续证明 leptos-tiptap 能不能用”,而是:

先把页面域和树域收口到 Rust 主导的单一真源,再推进 tree realtime 和树域产品执行面。