2026-04-13 19:21:42 +08:00
|
|
|
|
# MNOTE 当前架构梳理
|
|
|
|
|
|
|
2026-04-29 12:24:44 +08:00
|
|
|
|
> 更新时间:2026-04-28
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
本文只描述当前仓库中真实成立的主线结构,以及当前最优先的架构收口点。
|
|
|
|
|
|
|
|
|
|
|
|
## 1. 当前主线结论
|
|
|
|
|
|
|
|
|
|
|
|
当前仓库的主线不是:
|
|
|
|
|
|
|
|
|
|
|
|
- `BlockNote-first`
|
|
|
|
|
|
- `Mindmap-first`
|
|
|
|
|
|
- “先拆掉 Convex 再谈 Rust”
|
|
|
|
|
|
|
|
|
|
|
|
当前主线固定为:
|
|
|
|
|
|
|
|
|
|
|
|
1. `tree-first graph kernel` 是长期对象真相层
|
|
|
|
|
|
2. `Convex` 继续保留为当前自托管存储 / 实时 / 文件协作底座
|
2026-04-29 12:24:44 +08:00
|
|
|
|
3. `mnote-web` 是当前 Rust Web 主执行面,负责 3000 gateway、server-first shell、query / command / projection / transport 与 realtime stream;Next App Router 已降为 legacy compat / island bundle source,不再是当前主入口
|
2026-04-23 07:38:34 +08:00
|
|
|
|
4. 文档页默认主编辑器已切到页面内 `leptos-tiptap` island
|
|
|
|
|
|
5. `BlockNote` 当前保留为 fallback / 对照链,不再代表默认主编辑器方向
|
|
|
|
|
|
|
|
|
|
|
|
一句话收口:
|
|
|
|
|
|
|
|
|
|
|
|
> **Rust 持有语义主导权,Convex 保留底座,前端逐步从重壳转向消费稳定 projection 与少量交互 island。**
|
|
|
|
|
|
|
2026-04-29 12:24:44 +08:00
|
|
|
|
补充口径:
|
|
|
|
|
|
|
|
|
|
|
|
> **主 Web 执行面当前以 `mnote-web` 为 3000 owner;Next App Router 只保留为 legacy compat、交互 island bundle source 与显式 debug/迁移辅助边界。**
|
|
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
## 2. 当前主线目录
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/`
|
2026-04-29 12:24:44 +08:00
|
|
|
|
当前 React island 与 legacy compat 代码来源;Next.js App Router 不再作为 3000 主入口,只在显式 legacy/debug 迁移边界继续服务重交互运行态与对照链。
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/rust/crates/core-protocol/`
|
|
|
|
|
|
Kernel 类型、projection 协议、编辑器协议、树 / 图核心术语。
|
|
|
|
|
|
- `/mnt/Data1T/mnote/rust/crates/bridge-runtime/`
|
|
|
|
|
|
Kernel query / command、bridge transport、Tiptap <-> editor document 适配、命令解释层。
|
|
|
|
|
|
- `/mnt/Data1T/mnote/rust/crates/mnote-web/`
|
2026-04-29 12:24:44 +08:00
|
|
|
|
Rust Web route、kernel projection、documents/search/mindmap shell、Hermes bridge、stream transport、compat,以及显式开启时的 debug shell;它是当前主 Web gateway / shell / transport owner。
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/convex/`
|
|
|
|
|
|
仍在使用的 Convex functions 与数据侧逻辑。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/infra/convex/`
|
2026-04-23 07:38:34 +08:00
|
|
|
|
Convex 自托管部署与基础设施。
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-backend/`
|
|
|
|
|
|
辅助后端与异步处理,不是当前页面主链。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
## 3. 当前页面运行结构
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
|
|
|
|
|
### 3.1 根布局
|
|
|
|
|
|
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/app/layout.tsx`
|
|
|
|
|
|
|
|
|
|
|
|
职责:
|
|
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- 注入运行时配置
|
|
|
|
|
|
- 挂载 Convex / Query Provider
|
|
|
|
|
|
- 作为前端 App Router 根布局
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 3.2 工作区壳与 Sidebar
|
|
|
|
|
|
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/app-layout-shell.tsx`
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/hooks/use-sidebar-data.ts`
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/lib/tree-stream/use-sidebar-tree-stream.ts`
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/sidebar/use-preferred-sidebar-snapshot.ts`
|
|
|
|
|
|
|
|
|
|
|
|
当前 Sidebar 不是单一路径,而是三层组合:
|
|
|
|
|
|
|
|
|
|
|
|
1. 初始 SSR / route snapshot
|
|
|
|
|
|
2. query / refetch snapshot
|
|
|
|
|
|
3. tree stream live snapshot
|
|
|
|
|
|
|
|
|
|
|
|
`PreferredSidebarSnapshotProvider` 负责在 query 与 tree stream 之间做 freshness 选择,再把同一份 preferred snapshot 同时给:
|
|
|
|
|
|
|
|
|
|
|
|
- `Sidebar`
|
|
|
|
|
|
- `Breadcrumb`
|
|
|
|
|
|
- 文档页头标题消费链
|
|
|
|
|
|
|
|
|
|
|
|
这说明当前工作区树链已经开始收口,但还不是最终的单一正式 realtime 主链。
|
|
|
|
|
|
|
|
|
|
|
|
## 4. 文档页主链
|
|
|
|
|
|
|
|
|
|
|
|
### 4.1 入口
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/app/(app)/documents/[id]/page.tsx`
|
|
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前文档页入口已经不再直接把若干独立字段散传给页面壳,而是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
1. 拉取 `documents.meta.get`
|
|
|
|
|
|
2. 拉取 `documents.content.get`
|
|
|
|
|
|
3. 在前端入口组装 `PageAggregateProjection`
|
|
|
|
|
|
4. 传给 `DocumentShell -> DocumentContent`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
对应聚合类型定义:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/lib/documents/page-aggregate.ts`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 4.2 文档壳
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/editor/document-shell.tsx`
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/editor/document-content.tsx`
|
|
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
`DocumentShell` 现在只是薄封装,文档页核心状态和交互壳集中在 `DocumentContent`。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 4.3 默认编辑器 host
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/editor/editor-host-config.ts`
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/editor/editor-host.tsx`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前默认 host 为:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `leptos_tiptap_island`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
调试桥仍保留:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `leptos_tiptap_iframe_debug`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
兼容回退仍保留:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `blocknote`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 4.4 正式主编辑器
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/editor/leptos-tiptap-island-editor-host.tsx`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前默认主编辑器已经是页面内 Leptos island,不再是 iframe bridge。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
它负责:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- 加载 Leptos/WASM 编辑器本体
|
|
|
|
|
|
- 接收初始化内容与 page options
|
|
|
|
|
|
- 处理同页事件、命令、保存与状态同步
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 4.5 BlockNote 的当前位置
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
|
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/components/editor/blocknote-editor.tsx`
|
|
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
`BlockNote` 当前仍保留,但其定位已变成:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- fallback / 对照链
|
|
|
|
|
|
- 迁移期保险丝
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
而不是默认主编辑器方向。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
## 5. 当前编辑器与页面聚合关系
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前文档页已经开始消费统一的前端侧 `PageAggregateProjection`,但仍不能说“页面域已完全统一成 Rust 单一真源”。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前真实状态是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- 标题链路已开始与工作区树 canonical snapshot 对齐
|
|
|
|
|
|
- 正文默认由 `leptos-tiptap` island 编辑与保存
|
|
|
|
|
|
- 页面设置已有一部分进入 island 运行时语义
|
|
|
|
|
|
- `page_tree` / `pageSubtree` 已进入统一聚合入口
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
但仍未完成的关键点是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
1. Rust 侧还没有原生 `Page Aggregate` 契约
|
|
|
|
|
|
2. 标题 / 正文 / 页面设置还不是同一组 page aggregate command family
|
|
|
|
|
|
3. 页面聚合当前仍主要由前端入口装配,而不是 Rust 直接输出
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
因此当前正确表述应是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
> **文档页已经进入 page aggregate 过渡态,但页面域单一真源仍在推进中。**
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
## 6. 当前树域结构
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 6.1 Kernel projection 与 route
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/kernel.rs`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前 Rust 已提供:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `sidebar_tree`
|
|
|
|
|
|
- `page_tree`
|
|
|
|
|
|
- `file_tree`
|
|
|
|
|
|
- `subtree`
|
|
|
|
|
|
- `edges`
|
|
|
|
|
|
- `graph`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
这些 route 说明树域 projection family 已经在 Rust 侧具备清晰边界。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 6.2 树命令现状
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/wolai-frontend/src/lib/documents/tree-command-client.ts`
|
|
|
|
|
|
- `/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/tree.rs`
|
|
|
|
|
|
- `/mnt/Data1T/mnote/rust/crates/storage-convex-bridge/src/mapping.rs`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前树命令已经开始以 `tree.*` 为 preferred command name,例如:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `tree.node.create`
|
|
|
|
|
|
- `tree.node.rename`
|
|
|
|
|
|
- `tree.subtree.move`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
但兼容层仍广泛保留:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `documents.create`
|
|
|
|
|
|
- `documents.title.update`
|
|
|
|
|
|
- `documents.move`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
这说明 tree command cutover 已开始,但还没有完成。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 6.3 树 realtime 现状
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前 Sidebar 已有:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- query snapshot
|
|
|
|
|
|
- tree stream
|
|
|
|
|
|
- preferred snapshot 选择
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-29 12:24:44 +08:00
|
|
|
|
正式的 snapshot + delta 主链已经固定到 `mnote-web` 的 `/api/tree/events`,Next `/api/mnote-web/stream` 只保留 compat alias。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
因此当前正确表述应是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-29 12:24:44 +08:00
|
|
|
|
> **树域 realtime 主链由 Rust Web `/api/tree/events` 持有,前端只消费稳定 stream contract 与 projection。**
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
## 7. Mindmap 与 OnlyOffice
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 7.1 Mindmap
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前 Mindmap 不再是系统中心,而是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `tree-first graph kernel` 的一种视图 / 编辑挂件
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
它仍有:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- 文档内嵌块形态
|
|
|
|
|
|
- 独立页面形态
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
但不应再被理解为对象真相层。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 7.2 OnlyOffice
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
OnlyOffice 仍然是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
|
|
|
|
|
- 独立页面型编辑器
|
|
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
它不直接嵌入正文主编辑画布;正文中通常通过附件块跳转进入。
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
## 8. 当前最优先的架构收口
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前最优先的三条主线,不是继续大规模 UI 重写,而是:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 8.1 Page Aggregate
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
目标:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- 让标题 / 页面设置 / 正文 / page tree 统一成同一组 page aggregate projection 与 command family
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
对应设计稿:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/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`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 8.2 Tree Command Cutover
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
目标:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- 让 `tree.*` 成为正式命令面
|
|
|
|
|
|
- `documents.*` 降为兼容层
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
对应设计稿:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/design/04-tree-domain/process/4-6-tree-command-protocol-cutover-stage2-v1.md`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
### 8.3 Tree Realtime Event Stream
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
目标:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- 让 snapshot + delta 正式成为树域实时主链
|
|
|
|
|
|
- 减少当前 query/refetch/freshness 补偿链的长期存在
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
对应设计稿:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- `/mnt/Data1T/mnote/design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-v1.md`
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
## 9. 当前不该再用的旧口径
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
下面这些说法现在都不准确:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
- “默认文档页仍然是 `BlockNoteEditor`”
|
|
|
|
|
|
- “主编辑器还没切到页面内 Leptos island”
|
|
|
|
|
|
- “当前最优先是继续证明 `leptos-tiptap` 能不能跑”
|
|
|
|
|
|
- “当前最优先是先做树域 UI 重构”
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
当前真正的卡点已经变成:
|
2026-04-13 19:21:42 +08:00
|
|
|
|
|
2026-04-23 07:38:34 +08:00
|
|
|
|
> **单一真源如何收口,以及 projection / command / realtime 三条链如何从兼容态进入正式主链。**
|