docs: 继续收口设计稿状态与主线口径

This commit is contained in:
lix-2026
2026-05-09 21:12:57 +08:00
parent ac7023988e
commit 3adc2b5e85
18 changed files with 110 additions and 66 deletions
@@ -1,6 +1,6 @@
# 3 [process] Rust Web 长期架构方案 v1
> 更新时间:2026-04-16
> 更新时间:2026-05-09
>
> 相关文档:
> - `/mnt/Data1T/mnote/ARCHITECTURE.md`
@@ -26,7 +26,7 @@
- 前端哪些部分应该退出当前重 React 壳
- `axum``Leptos` 这类 Rust Web 方案是否值得采用
- `mnote-cli` 应如何成为唯一长期 agent 执行面
- `BlockNote` 应如何被隔离到最后处理
- 默认主编辑器已经切到页面内 `leptos-tiptap` island 后,剩余重编辑兼容链应如何继续收口
---
@@ -58,17 +58,17 @@
- **Web 承载层:`axum`**
- **页面渲染模型:`Leptos Islands`**
- **AI 执行面:`mnote-cli`**
- **最后保留的重前端孤岛:`BlockNote`**
- **最后保留的重编辑兼容孤岛:少量编辑器 runtime(当前默认主编辑器已是页面内 `leptos-tiptap` island`BlockNote` 仅保留为 fallback / 对照链)**
一句话概括:
> **mnote 的长期正确方向不是“Next 外壳上继续打补丁”,也不是“只把 API 改成 Rust”,而是“Rust 内核 + Rust Web 壳 + server-first 页面 + 少量交互孤岛”。**
### 2.3 `BlockNote` 不是第一刀,而是最后一刀
### 2.3 重编辑兼容链不是第一刀,而是最后一刀
当前真正难替代的主要是:
- `BlockNote`
- `BlockNote` fallback、转换链和剩余兼容保存链为代表的重编辑 runtime
而下面这些能力,从长期看都可以先退出当前大前端壳:
@@ -81,7 +81,7 @@
所以长期路线应当是:
> **先把能 Rust 化、能 server-first 化、能 island 化的东西全部迁走,最后再处理 `BlockNote`。**
> **先把能 Rust 化、能 server-first 化、能 island 化的东西全部迁走,最后再处理重编辑兼容链。**
---
@@ -353,12 +353,14 @@ Leptos Islands 很适合承接下面这类长期目标:
对应的执行细节、逐阶段清单和可验证项,当前应先以 `/mnt/Data1T/mnote/design/01-05-current-priority-overview.md` 确认优先级;`/mnt/Data1T/mnote/design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md` 保留为 Rust Web 分阶段全景参考。
### 8.4 当前已落地的最小里程碑(2026-04-16
### 8.4 当前已落地的最小里程碑(2026-05-09
到目前为止,长期路线里已经有几条可以被源码直接证明的最小里程碑:
- Rust Web 承载层已经有 `mnote-web` crate 骨架`router / middleware / request context / SSE / WS / AI bridge` 的主接缝已立住;历史上这条线曾经包含 Hermes bridge
- 文档页已经从“默认先进编辑器”改成“先阅读、后编辑”:服务端先读 `meta + content`,阅读态单独渲染,`BlockNote` 只在进入编辑态后挂载
- `mnote-web` 已经不是只停留在 crate 骨架`3000` 公开入口已由 Rust Web 主壳承接,`3104` 已退到仅显式 debug / internal 边界
- Rust Web 主壳已经接入 `/api/tree/events` snapshot / delta / resync consumer,双 pane 也已复用同一条 tree realtime 主链,而不是每个页面壳各自维护第二条流
- 文档页读取已经进入 Rust-first `page aggregate` 过渡态:`/api/documents/page` 优先消费 Rust `/api/page-aggregate/:id``mnote.page_aggregate.v1` snapshot,失败时才回退 TS builder。
- 默认主编辑区已经切到页面内 `leptos-tiptap` island;阅读态、页头、页面设置和页面内 AI 面板都在 `3000` 主壳上继续收口,`BlockNote` 只保留为 fallback / 对照链。
- Sidebar 已形成“服务端首包 + 客户端局部 island”的最小边界,导航数据聚合契约不再散落在布局层。
- SearchPalette 与页面级 AI 面板都已经收成轻 host + 按需 runtime island,重量运行态不再默认跟随主布局常驻。
- Global AI 继续保留为实验入口,但不再回到 app layout 主链,避免长期路线再次滑回“全局大面板常驻”模式。