docs: 同步架构口径并整理设计稿状态
- 同步 AGENTS、ARCHITECTURE 与 01-05 总览中的 page aggregate / tree realtime 当前口径\n- 更新 3-3、5-5、5-6 对当前 Rust-first page aggregate 与 tree live stream 进展的描述\n- 将已被 wolai-aline 流程取代的 5-8 迁入 old 并标记 recycle
This commit is contained in:
+15
-12
@@ -1,6 +1,6 @@
|
||||
# MNOTE 当前架构梳理
|
||||
|
||||
> 更新时间:2026-04-28
|
||||
> 更新时间:2026-05-09
|
||||
|
||||
本文只描述当前仓库中真实成立的主线结构,以及当前最优先的架构收口点。
|
||||
|
||||
@@ -76,20 +76,22 @@
|
||||
- `Breadcrumb`
|
||||
- 文档页头标题消费链
|
||||
|
||||
这说明当前工作区树链已经开始收口,但还不是最终的单一正式 realtime 主链。
|
||||
这说明当前工作区树链已经进入正式收口阶段:`3000` 主壳已直接接入 `/api/tree/events` 的 snapshot / delta / resync consumer,并有浏览器 smoke 验证;但 preferred snapshot、page subtree、filetree 与补偿链还没有完全统一成唯一 live cache。
|
||||
|
||||
## 4. 文档页主链
|
||||
|
||||
### 4.1 入口
|
||||
|
||||
- `/mnt/Data1T/mnote/wolai-frontend/src/app/api/documents/page/route.ts`
|
||||
- `/mnt/Data1T/mnote/wolai-frontend/src/lib/documents/page-aggregate-loader.ts`
|
||||
- `/mnt/Data1T/mnote/wolai-frontend/src/app/(app)/documents/[id]/page.tsx`
|
||||
|
||||
当前文档页入口已经不再直接把若干独立字段散传给页面壳,而是:
|
||||
当前文档页读取主链已经不再由页面入口手工拼若干独立字段,而是:
|
||||
|
||||
1. 拉取 `documents.meta.get`
|
||||
2. 拉取 `documents.content.get`
|
||||
3. 在前端入口组装 `PageAggregateProjection`
|
||||
4. 传给 `DocumentShell -> DocumentContent`
|
||||
1. Next `GET /api/documents/page` 优先请求 Rust `/api/page-aggregate/:id`
|
||||
2. 若返回可信的 `mnote.page_aggregate.v1` 快照,则直接作为 `PageAggregateProjection`
|
||||
3. 只有在 snapshot 不可用或不可信时,才回退到 TS builder 组装 fallback projection
|
||||
4. 页面入口与 `DocumentContent` 都消费这同一份聚合结果
|
||||
|
||||
对应聚合类型定义:
|
||||
|
||||
@@ -148,6 +150,7 @@
|
||||
|
||||
当前真实状态是:
|
||||
|
||||
- 读取主链已优先消费 Rust `mnote.page_aggregate.v1` snapshot
|
||||
- 标题链路已开始与工作区树 canonical snapshot 对齐
|
||||
- 正文默认由 `leptos-tiptap` island 编辑与保存
|
||||
- 页面设置已有一部分进入 island 运行时语义
|
||||
@@ -155,13 +158,13 @@
|
||||
|
||||
但仍未完成的关键点是:
|
||||
|
||||
1. Rust 侧还没有原生 `Page Aggregate` 契约
|
||||
2. 标题 / 正文 / 页面设置还不是同一组 page aggregate command family
|
||||
3. 页面聚合当前仍主要由前端入口装配,而不是 Rust 直接输出
|
||||
1. Rust 侧虽已提供最小 `Page Aggregate` snapshot,但页面设置、页头标题与 AI 写入口还没有完整闭环到同一组聚合真相
|
||||
2. 标题 / 正文 / 页面设置虽已开始收口到 `page.*` family,但 projection 回流与运行时语义仍未完全统一
|
||||
3. 客户端仍保留 fallback builder、preferred sidebar snapshot 与本地 aggregate state reducer,说明页面域单一真源仍在推进中
|
||||
|
||||
因此当前正确表述应是:
|
||||
|
||||
> **文档页已经进入 page aggregate 过渡态,但页面域单一真源仍在推进中。**
|
||||
> **文档页读取主链已进入 Rust-first `page aggregate` 过渡态,但页面域单一真源仍未闭环。**
|
||||
|
||||
## 6. 当前树域结构
|
||||
|
||||
@@ -262,7 +265,7 @@ OnlyOffice 仍然是:
|
||||
|
||||
对应设计稿:
|
||||
|
||||
- `/mnt/Data1T/mnote/design/04-tree-domain/process/4-6-tree-command-protocol-cutover-stage2-v1.md`
|
||||
- `/mnt/Data1T/mnote/design/04-tree-domain/done/4-6-tree-command-protocol-cutover-stage2-v1.md`
|
||||
|
||||
### 8.3 Tree Realtime Event Stream
|
||||
|
||||
|
||||
Reference in New Issue
Block a user