test: add reproducible FreeCAD golden oracle
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Web FreeCAD 接续执行状态
|
||||
|
||||
更新时间:2026-08-03(MultiTransform whole-shape 里程碑)
|
||||
更新时间:2026-08-03(FreeCAD 1.1.1 原生黄金 oracle 里程碑)
|
||||
|
||||
## 1. 当前目标
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
|
||||
- 分支:`main`
|
||||
- 云仓库:`http://154.8.160.151:3000/wangdequan/Web_FreeCAD_Bitbybit.git`
|
||||
- 最近已推送里程碑:`b09c5aa feat: add structured multi-transform`
|
||||
- 最近已推送里程碑:`81fcc69 docs: record multi-transform milestone`
|
||||
- 最近已推送里程碑的完整门禁:`./npmw run verify` 通过
|
||||
- 当前 MultiTransform 里程碑验证:`./npmw run verify` 通过(Facade 67/67),diff/JSON 校验通过
|
||||
- 当前原生 oracle 里程碑验证:FreeCAD 1.1.1 源码构建成功,5/5 Part 黄金回放、`./npmw run verify`、diff/JSON 校验全部通过
|
||||
- 生产构建:通过
|
||||
- 本地开发地址:`http://127.0.0.1:5173/`
|
||||
- 兼容真值表:`config/compatibility-matrix.json`
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
## 4. 已确认限制
|
||||
|
||||
- 仓库没有 FreeCAD C++ 源码、Emscripten 工程或 planegcs WASM 产物;`SK-03` 不能标记完成。现有 `typescript-basic` solver 仅用于协议与基础模型验证。
|
||||
- 锁定的 FreeCAD 1.1.1 C++ 源码可由脚本获取到忽略目录并完成无界面 Part 原生构建;尚无 FreeCAD/planegcs Emscripten 工程或 planegcs WASM 产物,`SK-03` 不能标记完成。现有 `typescript-basic` solver 仅用于协议与基础模型验证。
|
||||
- Pattern 与 MultiTransform 当前复制整个 Shape,不是 FreeCAD 局部特征历史。
|
||||
- Hole 固定原点/法向,尚无面定位、沉孔、锪孔、螺纹和完整孔标准。
|
||||
- 拓扑历史来自签名保守回退,不是 OCCT/FreeCAD 原生 Generated/Modified/Deleted 历史。
|
||||
@@ -61,7 +61,7 @@
|
||||
1. 补齐 P2 浏览器实证门禁:真实 SQLite v4→v5 升级、OPFS 孤儿清扫、QuotaExceeded、大文件和崩溃注入;合同层与 fallback 测试已由 `6bfbdf5` 完成。
|
||||
2. 补齐 P3-03 浏览器 OCCT 包围盒/体积黄金测试,并验证 Placement 撤销、保存和恢复的真实 Worker 路径;Node/fallback 合同已通过。
|
||||
3. 为 ambiguous/deleted TopoRef 补 3D 候选高亮,并增加真实 OCCT/SQLite 浏览器回放;候选替换 Facade 事务和属性/诊断 UI 已进入当前里程碑。
|
||||
4. 在获得 FreeCAD `1.1.1` 源码/构建输入后完成 `SK-03` planegcs WASM POC;此前继续补充回放夹具、约束分类和 Sketch 编辑事务。
|
||||
4. 基于已锁定的 FreeCAD `1.1.1` 源码提取 planegcs 最小依赖图,完成 `SK-03` Emscripten/WASM POC;同时扩充回放夹具、约束分类和 Sketch 编辑事务。
|
||||
5. 扩展 PartDesign:推进 Loft/Pipe/Groove、Thickness/Draft,以及 Mirrored/MultiTransform/Pattern/Hole 的局部特征历史与完整语义。
|
||||
6. 完成 FCStd 原生对象/属性/Shape 双向映射和 STEP/IGES/STL/Web CAD 包导入导出。
|
||||
7. 按核心优先级完成 TechDraw、Spreadsheet、Draft、Assembly、BIM、Mesh、Surface、FEM、CAM 等工作台。
|
||||
@@ -145,3 +145,12 @@ Placement 里程碑涉及实现、测试、兼容矩阵和三份状态/方案文
|
||||
当前实现不是 FreeCAD Transform feature history 的完全等价实现:它组合并融合整个 Base Shape,未实现局部特征列表、Datum/TopoRef 轴面、单实体过滤或 OCCT 原生历史。下一执行点是 Additive/Subtractive Loft 的结构化截面合同与 whole-shape experimental 执行边界。
|
||||
|
||||
本里程碑不得声称 P3-03、F3 或完整 FreeCAD 兼容已经通过。当前对象 Placement 是 Shape 生成后的对象级变换,尚未证明 FreeCAD 对 Body/Tip、Support、AttachmentOffset 和局部坐标链的完整等价语义。
|
||||
|
||||
## 13. 2026-08-03 FreeCAD 原生黄金 oracle 快照
|
||||
|
||||
- 官方 `1.1.1` 标签已在线核验到提交 `0108fd4b4850cc46e625b60e53cea7a7bbe69f8d`;`fetch:freecad-source` 只接受该提交并使用 detached checkout。
|
||||
- `configure:freecad-native` 和 `build:freecad-native` 已在 Debian trixie 上完成 Release、无 GUI、Part/Material/Measure 最小构建;产物报告 `FreeCAD 1.1.1 Revision: 14556 (Git)`,哈希和工具版本记录在 `config/freecad-native-build.json`。
|
||||
- 新增声明式黄金契约、FreeCAD Python driver、CLI 回放器和比较器。Box、Cylinder、Sphere、Cone、穿孔 Cut 共 5/5 场景通过有效性、拓扑、体积/面积和包围盒对比。
|
||||
- 全部 Node/npm 操作均使用 `./npmw`;依赖、构建、回放和 CI 边界已写入 `docs/freecad-baseline-and-golden.zh-CN.md`。
|
||||
|
||||
本轮只完成 P0-01/P0-03 的首批可复现基线。依赖容器 digest、完整 FreeCAD 工作台构建、100 个黄金文件、50 个错误文件、GUI 行为和 Web OCCT 双端差分尚未完成,F0/G0 保持进行中。下一执行点是读取 FreeCAD/OCCT 原生 Generated/Modified/Deleted 历史接口并形成可供 Web `TopoRef` 消费的类型化历史合同。
|
||||
|
||||
Reference in New Issue
Block a user