Files
FreeCADWasmDev/docs/current/part-box-delivery-20260911.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

1.7 KiB
Raw Blame History

Part_Box 业务交付记录

日期:2026-09-11(Asia/Shanghai)。

本次复用了已有 DocumentProbe、part.document Facade、part-save.worker.ts、Part 桌面适配器、现有模块 WASM 和 Three.js 显示链,没有新建几何内核,也没有重编译 OCCT。

Part_Box 现在沿用桌面 CmdPartBox 语义:创建当前文档中的原生 Part::Box,默认 10 mm 立方体、原点位置、标签 Cube、独立事务和唯一对象名。Part_Box2/3 原有 100 mm 逻辑保持不变。

改动范围:

  • freecad-source/src/WebAssembly/FreeCADCoreProbe/DocumentProbe.cpp 增加 Part_Box 预设分支,仍由 FreeCAD 文档对象和 OCCT Shape 重算。
  • web/src/part-document-facade.ts、web/src/part-desktop-adapter.ts、web/src/project-shell.tsx 接通类型、路由和实际按钮。
  • tools/part-fixed-box-business-cases.mjs 扩展 Part_Box 的原生、页面、桌面 dispatcher、OPFS、撤销重做和 Three.js 画布断言。
  • docs/business-acceptance/Part.json 声明现有 DocumentProbe 构建目标和 Part_Box 覆盖范围。

验证结果:

  • cmake --build freecad-source/build-web/configure --target FreeCADWebDocumentProbe -j2:增量完成,仅更新受影响目标。
  • python3 tools/run_business_acceptance.py --module Part --ids Part:desktop:Part_Box:通过,1 个业务 ID,耗时 11.762 秒。
  • node --test web/tools/test-part-fixed-box.mjs:3/3 通过。
  • ./web/node_modules/.bin/tsc --noEmit -p web/tsconfig.json、node --check tools/part-fixed-box-business-cases.mjs、git diff --check:通过。

本次交付是一个新增的真实业务通过项,不代表 Part 全部命令完成;后续批次继续按模块复用和指纹验收推进。