Files
endorphin-tessera-gui/docs/architecture/file-map.md
T
codex-bot 21439d4c4d
Verify Tessera GUI / verify (push) Failing after 1m30s
docs: render UML diagrams and embed portable previews
2026-10-25 22:09:47 +08:00

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。