13 KiB
13 KiB
逐文件整理清单
本轮仅重排 Tessera 宿主实现;以下覆盖所有迁移源码、测试和默认页文件。未修改 vendor/aster、用户已有的 examples/README.md 改动及未跟踪的 examples/workspace.endor。
主入口 src/main.rs 改为五组目录模块及 crate 私有兼容别名;src/README.md 改为中文源码导航;根 README.md 更新架构入口、实际初始页/多页面状态和迁移后的路径。既有 Endor 示例、媒体和打包脚本保留原位置。
shell
| 原路径 | 新路径 | 用途与本次变化 |
|---|---|---|
src/activity.rs |
src/shell/activity.rs | 有界 HTTP 活动记录与允许的头部预览 |
src/app.rs |
src/shell/app.rs | GUI 事件循环、窗口/viewport、输入与 chrome 调度 |
src/clipboard.rs |
src/shell/clipboard.rs | 原生 UTF-8 剪贴板适配 |
src/developer_tools.rs |
src/shell/developer_tools.rs | 四个工具 Page 的状态、焦点与管理交互协调 |
src/developer_tools/console.rs |
src/shell/developer_tools/console.rs | Console 提示符、执行输出与输入布局 |
src/developer_tools/network.rs |
src/shell/developer_tools/network.rs | 本机 API Network 检查视图 |
src/developer_tools/painter.rs |
src/shell/developer_tools/painter.rs | 工具页面绘制辅助 |
src/developer_tools/selection.rs |
src/shell/developer_tools/selection.rs | 文本选择和光标几何 |
src/developer_tools/settings.rs |
src/shell/developer_tools/settings.rs | 内存内主题设置视图 |
src/developer_tools/sources.rs |
src/shell/developer_tools/sources.rs | 源码、AST 和文件来源视图 |
src/native_chrome.rs |
src/shell/native_chrome.rs | macOS 原生按钮对齐和工具栏双击系统动作 |
src/sources.rs |
src/shell/sources.rs | 默认断开的云文件 provider 接口及工作区 |
src/system_ui/README.md |
src/shell/system_ui/README.md | 管理控件职责说明及更新后的源码路径 |
src/system_ui/interaction.rs |
src/shell/system_ui/interaction.rs | 宿主管理控件的 ID、命中、焦点和交互状态 |
src/system_ui/mod.rs |
src/shell/system_ui/mod.rs | 管理控件模块导出 |
src/system_ui/theme.rs |
src/shell/system_ui/theme.rs | 管理表面颜色和主题 |
src/system_ui/widgets.rs |
src/shell/system_ui/widgets.rs | 宿主可复用控件绘制 |
src/tabs.rs |
src/shell/tabs.rs | 共享标签绘制/命中、密集布局、滚动、拖放及动画 |
src/tabs/hover.rs |
src/shell/tabs/hover.rs | 标签、关闭和加号的颜色过渡 |
src/tabs/motion.rs |
src/shell/tabs/motion.rs | 标签布局动画及 hover 重绘期限 |
runtime
| 原路径 | 新路径 | 用途与本次变化 |
|---|---|---|
src/api.rs |
src/runtime/api.rs | HTTP 请求路由、队列、请求观察和响应;worker/指南拆为子模块 |
src/api/tests.rs |
src/runtime/api/tests.rs | 保留原 API 测试;只调整嵌入示例路径,不执行测试 |
src/endor_host.rs |
src/runtime/endor_host.rs | 候选/活跃 VM、编译执行、增量刷新、清理和诊断 |
src/endor_host/tests.rs |
src/runtime/endor_host/tests.rs | 保留原宿主测试;只调整嵌入示例路径,不执行测试 |
src/endor_script.rs |
src/runtime/endor_script.rs | 组织 Aster Script/Module 输入及原始源码范围 |
src/event_dispatch.rs |
src/runtime/event_dispatch.rs | 托管事件、订阅和 capture/target/bubble 分发 |
src/events.rs |
src/runtime/events.rs | 原生输入的有界 loopback 传输 |
src/io_tasks.rs |
src/runtime/io_tasks.rs | 有界文件/HTTP provider、纯数据完成消息和取消 |
src/tasks.rs |
src/runtime/tasks.rs | 托管 Task、owner/key 取消和协作任务调度 |
src/vm_sequence.rs |
src/runtime/vm_sequence.rs | 共享 VM 调用序列及同帧迭代驱动 |
model
| 原路径 | 新路径 | 用途与本次变化 |
|---|---|---|
src/binding.rs |
src/model/binding.rs | 属性依赖、只读计算与托管绑定 |
src/block.rs |
src/model/block.rs | Block/Cell/Data 语义、稳定子 slot 和共享赋值 |
src/document.rs |
src/model/document.rs | NamespaceState、RenderDocument、Frame、发布校验与原生命令 |
src/mount.rs |
src/model/mount.rs | 每次展示出现的托管上下文、生命周期及弱索引 |
src/object_list.rs |
src/model/object_list.rs | 托管结果集合的类型封装与只读访问 |
src/presentation.rs |
src/model/presentation.rs | 逐窗口布局、Mount、缓存、读依赖和失效状态 |
src/protocols.rs |
src/model/protocols.rs | Visual/EventTarget/Children/Presentable 能力契约安装 |
src/snapshot.rs |
src/model/snapshot.rs | 变化依赖和不可变视觉提取缓存 |
src/window.rs |
src/model/window.rs | 托管 Window、Page registry、命令及生命周期 |
render
| 原路径 | 新路径 | 用途与本次变化 |
|---|---|---|
src/display_list.rs |
src/render/display_list.rs | 原生绘制原语和颜色 |
src/geometry.rs |
src/render/geometry.rs | 点和矩形值 |
src/layout.rs |
src/render/layout.rs | 原生测量、排列、出现几何及预算 |
src/native_visual.rs |
src/render/native_visual.rs | 托管原生视觉协议、值转换和签名检查 |
src/scene.rs |
src/render/scene.rs | 页面、标签、插入标记和开发工具画面合成 |
src/scroll.rs |
src/render/scroll.rs | 逐 Mount 偏移、嵌套滚动和剪裁投影 |
src/software_renderer.rs |
src/render/software_renderer.rs | 软件光栅化、抗锯齿覆盖和嵌套剪裁 |
src/source_hit.rs |
src/render/source_hit.rs | 源/原生命中协议与匹配目标 |
src/source_layout.rs |
src/render/source_layout.rs | 源 measure/arrange、约束、挂起工作和测量缓存 |
src/source_paint.rs |
src/render/source_paint.rs | 源 paint 调用、受限命令转换和依赖 |
src/text.rs |
src/render/text.rs | 系统字体、shaping、字形和测量缓存 |
bridge
| 原路径 | 新路径 | 用途与本次变化 |
|---|---|---|
src/ui_bridge.rs |
src/bridge/ui_bridge.rs | Endor 宿主类型、窗口展示会话、布局/绘制发布协调;本次拆出四个实现子模块 |
src/ui_bridge/developer_pages.rs |
src/bridge/ui_bridge/developer_pages.rs | 托管默认页与工具页的建立入口 |
src/ui_bridge/start_page.endor |
src/bridge/ui_bridge/start_page.endor | 默认页和共享/组合交互的 Endor 源码 |
新增模块与拆分
| 新文件 | 职责 / 来源 |
|---|---|
src/shell/mod.rs |
声明 shell 组内模块,形成明确的目录所有权 |
src/runtime/mod.rs |
声明 runtime 组内模块,形成明确的目录所有权 |
src/model/mod.rs |
声明 model 组内模块,形成明确的目录所有权 |
src/render/mod.rs |
声明 render 组内模块,形成明确的目录所有权 |
src/bridge/mod.rs |
声明 bridge 组内模块,形成明确的目录所有权 |
| src/runtime/api/worker.rs | 从 api.rs 提取 VM worker、增量请求状态、候选/活跃发布及关闭协调,内部可见性限制在父 API 模块 |
| src/runtime/api/guide.rs | 从 api.rs 提取当前 namespace 的在线 agent 使用指南;修正 include_str 示例路径 |
| src/bridge/ui_bridge/tree.rs | 从 ui_bridge.rs 提取不可变 UiNode / UiKind 与比较逻辑 |
| src/bridge/ui_bridge/signatures.rs | 提取宿主方法/构造操作的规范签名 |
| src/bridge/ui_bridge/calls.rs | 提取 NativeCallable for Function 的 Block 操作分发 |
| src/bridge/ui_bridge/bootstrap.rs | 提取 desktop、类型表与宿主 globals 安装 |
新增架构文档
| 文件 | 说明 |
|---|---|
docs/architecture/README.md |
中文阅读入口与本轮范围 |
01-modules.md |
职责目录、组件和线程部署 |
02-object-model.md |
对象、Mount、强弱引用与版本 |
03-runtime.md |
PUT/Console/API、候选发布与任务状态 |
04-rendering.md |
依赖、布局、paint、命中和输入回路 |
05-workspace.md |
Page、标签、原生窗口和四个工具页 |
06-progress.md |
已实现、限制、示例和后续建议 |
07-decisions.md |
路径兼容门面与未完全解耦的边界 |
file-map.md |
本逐文件迁移和拆分清单、验收记录 |
uml/README.md |
UML 文件导航及本地导出说明 |
uml/components.puml |
组件 UML 源码 |
uml/deployment.puml |
部署 UML 源码 |
uml/domain.puml |
对象类 UML 源码 |
uml/publication.puml |
PUT 发布时序 UML 源码 |
uml/input.puml |
输入分发时序 UML 源码 |
uml/tasks.puml |
任务状态 UML 源码 |
uml/windows.puml |
Page 可达性/展示状态 UML 源码 |
验收记录
cargo fmt --check、cargo clippy --all-targets --offline -- -D warnings、scripts/build-macos-app.sh --offline通过。- 原生启动通过;人工提交 Campus Console 输入成功,七页正常显示。实际点击提交/评分后,仪表盘共享成绩更新为 88.5%。
- 完整 Campus PUT 返回 HTTP 200;故意错误的 PUT 返回 422;随后 GET 返回 HTTP 200,源码与原成功提交逐字节相同。
- 在线指南完整 GET 返回 HTTP 200;新增架构文档、源码导航和项目入口的本地文件链接检查通过。
- 原有 API/宿主测试随模块迁移并通过编译检查;未执行 cargo test、自动 smoke 或 Docker。
- Aster 子模块仍为
f3e1670。用户已有的示例变更保留且不提交。 - 初轮仅提供 UML 源码;后续已补齐八图的本地 SVG/PNG 渲染、普通 Markdown 图片引用和实际图像检查,见下节。
UML 渲染补齐
scripts/render-uml.mjs:新增本地官方 PlantUML 引擎的导出入口,使用 XML DOM、原生 Canvas 字体测量和 Viz 布局;检测错误图,生成不透明白底 SVG 与高分辨率 PNG。scripts/README.md:增加文档渲染入口;不改变原生打包/检查流程。uml/components.puml、deployment.puml、domain.puml、publication.puml、input.puml、tasks.puml、windows.puml:修正标签换行,统一字体和画布设置,调整组件图方向并修正部署图中不兼容的注释位置。uml/runtime.puml:补充文档原有的候选/活跃运行时状态图源码。uml/rendered/{components,deployment,domain,publication,runtime,input,tasks,windows}.{svg,png}:新增对应八张图的 SVG 和 PNG,共 16 个生成文件。01-modules.md、02-object-model.md、03-runtime.md、04-rendering.md、05-workspace.md:把所有未渲染的 Mermaid 图块替换为普通图片,附 SVG 和源码链接。README.md、06-progress.md、07-decisions.md、uml/README.md和本清单:更新查看入口、图册、生成方式与实际验证状态。
八份源码均通过本地导出并检查实际图片;文档图片/本地链接、Node 语法和 Git 空白检查通过。本轮没有修改 Rust 应用代码,因此不重复运行应用构建或 cargo test。