45 lines
3.2 KiB
Markdown
45 lines
3.2 KiB
Markdown
# 主工作区 Part 实体业务
|
||
|
||
2026-09-09。本轮交付的是默认页面可操作的业务,不是新增调度统计或固定样例回执。OCCT、FreeCAD WASM、Three.js、React、OPFS 路线不变。
|
||
|
||
## 实际能力
|
||
|
||
- 当前文档中创建圆柱、圆锥、球和圆环;原对象修改半径、高度和角度后重算,不重复创建对象。
|
||
- 原生特征直接使用已有 Part::Cylinder/Cone/Sphere/Torus,由 FreeCAD/OCCT 产生形状、体积和网格;JS 不计算权威 CAD 几何。
|
||
- 原生和 Facade 均检查参数范围;错误输入不改变原对象。实际返回的类型、参数和文档身份必须与请求一致。
|
||
- 原生 FCStd 保留特征类型、参数和体积;主页面通过 OPFS 保存,重载后仍能编辑恢复的参数,支持对象移除。
|
||
- 使用已有 Three.js 场景显示 native 网格。Playwright 在 1440x1000、390x844 检查实际截图像素及旋转视角后的帧变化,无横向溢出。
|
||
|
||
## 复用和构建
|
||
|
||
复用 `PrimitiveFeature.cpp`、现成 Part/OCCT 库、DocumentProbe 文档会话、Part 保存 Worker、项目状态与 Three.js 显示桥。不新增几何内核,不重编译 OCCT,不建立每个形状一个 WASM。原生适配仅增加 `part.document/setPrimitive` 和参数快照,沿用原有事务、重算、错误与保存链。
|
||
|
||
同一 Part 模块存在 PartBoxProbe 与 DocumentProbe 两种实际所有者。新增用例合同 `buildOverrides` 将四项业务指向 DocumentProbe,规划器按原生目标分组,防止用错误目标反复构建。有效证据同时检查 manifest 对应的原生源文件,不因 DocumentProbe 不以 Part 命名而漏记依赖。
|
||
|
||
## 验证
|
||
|
||
| 检查 | 结果 |
|
||
|---|---|
|
||
| 四项原生及默认页面业务 | 4/4,通过;开发版首次完整回合 18.502 秒 |
|
||
| Part 新旧业务组合 | 15/15,通过;30.253 秒 |
|
||
| 发布版四项业务 | 4/4,通过;20.079 秒 |
|
||
| 发布版工作区回归 | 10/10,通过;16.522 秒 |
|
||
| TypeScript 项目检查 | 通过 |
|
||
| 参数、路由、几何边界 Node 回归 | 14 项通过 |
|
||
| 业务复用、规划、上下文等 Python 回归 | 94 项通过,18.745 秒 |
|
||
| 发布构建 | 8.20 秒,其中公共产物增量同步 6.849 秒 |
|
||
|
||
证据在 `docs/current/business-evidence/`:
|
||
|
||
- Part 15 项:`52be7ce72cada00371451daf-20260909T021532520100.json`。
|
||
- 发布版四项:`bcc8ff9f019467b877cc488c-20260909T021946822941.json`。
|
||
- Web 十项:`815a9219e10b1a8b04f5db32-20260909T021944435759.json`。
|
||
|
||
截图在 `docs/current/part-primitives-browser/`,按形状与视口保存。测试从实际浏览器截图读取像素,避免直接读取已清空的 WebGL 帧缓冲造成假空白;没有因此改变生产渲染设置。
|
||
|
||
## 剩余范围
|
||
|
||
本轮新增四项完整可操作业务;没有宣称所有 Part 命令、布尔/倒角/圆角、Sketcher/PartDesign 跨工作台或整个项目已完成。10:20 总量快照为 82/1503,后台仍在处理其余模块。总数会受其它模块当前指纹变化影响,不把本轮回归通过数或所有截图数当成新业务数。
|
||
|
||
本轮后台保持运行,没有暂停 watchdog。继续按 v3 恢复/开发轮转,优先成组打通用户当前文档和已有原生能力;通过证据有效时直接复用,不重做这些实体。
|