Files
Web_FreeCAD_Bitbybit/docs/freecad-complete-parity-backlog.zh-CN.md

24 KiB
Raw Blame History

FreeCAD 1.1.1 全功能对标主任务账本

本账本是全功能范围、依赖、任务 ID 和验收证据的唯一总索引。实现状态仍以 config/compatibility-matrix.json 为机器可读真值;详细技术设计见 freecad-full-parity-plan.zh-CN.md。任何 UI、类型或 Mock 行为都不能单独计为兼容。

1. 对标合同

  • 基线固定为 FreeCAD 1.1.1,提交 0108fd4b4850cc46e625b60e53cea7a7bbe69f8d
  • “全部功能”指基线源码中的 App/Base/Gui 公共行为、用户可见模块、命令、对象、属性、任务面板、文件格式、脚本/扩展入口和错误行为全部进入清册。
  • 每项能力只能处于 exactcompatibleread-onlyproxyunsupportedunsupported 必须是经过评审的浏览器边界,有明确诊断和数据保留策略,不能代表遗漏。
  • exact/compatible 必须有锁定 FreeCAD 的黄金输入、状态、输出、错误和 round-trip 报告;没有证据时最高只能是 experimental
  • Bitbybit 是 Web 几何、Worker、序列化、IO 和三角化能力的首选实现层。先审计和复用 Bitbybit 已有 API若接口不足允许从锁定的 Bitbybit 与 OCCT 源码扩展绑定并编译 WASM不能因 npm 包暂未暴露接口而降低 FreeCAD 功能目标。
  • 自构建 OCCT/Bitbybit 代码必须经过版本锁定、补丁清单、Emscripten 构建、ABI/消息 schema、许可证/SBOM、产物哈希和与 FreeCAD/现有 Bitbybit 的双端黄金测试。React 仍只能调用 Facade不能直接导入 OCCT 或 Worker。
  • 所有 Node/npm 命令必须通过项目包装器 ./npmw 执行,禁止以系统 npm 产生验收证据。

2. 基线模块范围

本地锁定源码 src/Mod 共 34 个目录按交付责任分组如下。P0 清册必须进一步枚举各模块的命令、对象、属性、偏好、文件格式和可选依赖,目录存在不等于用户功能存在。

分组 FreeCAD 1.1.1 源码模块 对标处理
核心建模 PartPartDesignSketcherSurface 浏览器内参数化编辑与重算,目标至少 compatible
文档与二维 DraftTechDrawSpreadsheetPlot 创建、编辑、表达式、投影与输出闭环
工程 AssemblyBIMCAMFemRobotInspectionMeasure 求解器/后处理器可端口则兼容,否则逐能力显式分级
数据与几何 ImportMeshMeshPartPointsReverseEngineeringOpenSCADIdfJtReaderMaterial 格式、单位、颜色、拓扑、代理和往返差异可审计
应用体验 StartHelpAddonManagerCloudShowWeb Web 等价工作流、离线帮助、扩展治理和安全边界
工具/开发 SandboxTemplatePyModTestTux 不伪装成最终用户工作台;保留开发/回归等价能力或明确 unsupported

此外必须覆盖源码目录 AppBaseGuiMain 的文档模型、Property、事务、选择、视图、参数、命令、Python 控制台、宏、偏好、快捷键、多文档、剪贴板、打印和帮助行为。

3. 单项完成定义

每个命令或对象的任务卡必须同时具备以下证据,缺任一项不得关闭:

  1. 基线来源FreeCAD 命令 ID、对象 TypeId、Property/枚举/默认值、选择前置、可选依赖和平台差异。
  2. 合同:版本化 Facade 类型、JSON Schema、能力探测、结构化诊断、取消和进度。
  3. 领域行为创建、编辑、重算、删除、复制、可见性、事务、Undo/Redo、失败恢复和依赖传播。
  4. 几何/求解:公差、单位、拓扑历史、确定性、资源释放和过期 generation 隔离。
  5. 持久化SQLite/OPFS 保存加载、schema migration、FCStd 或原始代理数据保留。
  6. 交互任务面板、Property editor、选择/预选、键盘、只读、窄屏和无障碍。
  7. 互操作:相关导入/导出、FreeCAD→Web→FreeCAD round-trip 和差异报告。
  8. 测试:最小成功、边界、错误、取消、黄金几何/状态、浏览器 E2E、性能和内存。

工作台只有在其范围内所有任务完成上述八项,并通过“创建→编辑→重算→撤销→保存→加载→导出”七步回放后,才能通过阶段门。

4. 执行波次

波次 结果 阻断关系
W0 范围冻结 全模块清册、依赖、许可证、黄金 oracle、能力矩阵 阻断所有兼容声明
W1 平台内核 Facade、App/Gui 模型、表达式/单位、DAG、持久化、Viewport 阻断所有工作台闭环
W2 拓扑与 Sketcher OCCT 原生历史、稳定 TopoRef、planegcs WASM、草图编辑器 阻断 PartDesign/TechDraw/附着
W3 核心建模 Part、PartDesign、Sketcher 参数化闭环 阻断生产和工程工作台
W4 原生文件 FCStd 双向往返、核心交换格式 阻断 G5 及后续工作台保存门禁
W5 生产文档 TechDraw、Spreadsheet、Draft、Plot 阻断 G6
W6 高级建模 Assembly、BIM、Mesh/MeshPart、Surface 阻断 G7
W7 工程与长尾 FEM、CAM、Robot、Inspection、数据/应用模块 阻断 G8
W8 发布 全量回放、跨浏览器、性能、安全、离线、升级与回滚 阻断 G9

5. W0范围、基线和黄金 oracle

ID 任务 退出条件
INV-01 src/Mod、Workbench 初始化脚本和命令注册表生成模块/工作台/命令清册 34 个源码模块均有分类,不存在未登记目录
INV-02 提取 App/Gui TypeId、Property、枚举、默认值、只读/隐藏/表达式能力 每个核心对象能追溯到源码与最小 FCStd fixture
INV-03 提取菜单、工具栏、上下文菜单、快捷键、任务面板和选择前置 GUI 命令均有状态与前置条件记录
INV-04 提取偏好、参数树、导航样式、颜色/显示和平台差异 每项标记 document/user/session 作用域
INV-05 提取导入/导出格式、扩展名、MIME、单位、颜色和可选库 格式矩阵无未解释入口
INV-06 提取 Python API、宏、控制台、扩展和 Addon 入口 每项有 sandbox/兼容/不支持决策
BASE-01 固定构建容器 digest、编译器、依赖、补丁和产物哈希 干净环境重建结果可追溯
BASE-02 构建完整无界面 oracle 与可自动化 GUI oracle Part 之外的目标模块可被回放
BASE-03 扩充到不少于 100 个成功、50 个错误黄金文件 覆盖核心对象、拓扑变化、单位和错误分类
BASE-04 建立 Web OCCT/FreeCAD 双端比较器 树、Property、Shape、拓扑、质量属性和诊断可差分
BASE-05 生成 SBOM、许可证、来源和已知漏洞报告 所有 WASM/Worker/求解器/字典可追溯

5.1 Bitbybit/OCCT 源码构建轨道

ID 任务 退出条件
BYB-01 盘点 Bitbybit TypeScript API、OCCT Worker 命令、IO、缓存和三角化覆盖 每个 GEO/PART/PD/TSN/FC 几何任务标记 reuse/extend/custom
BYB-02 锁定 Bitbybit 源码提交、子模块、补丁和上游 OCCT 版本 npm 包、源码提交、生成绑定和 WASM 来源链一致
BYB-03 建立 Bitbybit + OCCT Emscripten 可复现构建 干净容器产出同版本、同导出符号和可追溯 hash
BYB-04 扩展 OCCT 绑定生成规则 暴露拓扑历史、BRepCheck、几何属性、导入导出及各工作台缺失算法不泄漏原始指针
BYB-05 建立版本化 Geometry Worker 协议和能力探测 现有 npm provider 与自构建 provider 可替换、可诊断、可取消
BYB-06 建立 Shape 所有权、共享拓扑和细粒度释放策略 Boolean/历史共享 Shape 长会话无悬空和不可控增长
BYB-07 建立 Bitbybit、高层扩展绑定、原生 FreeCAD 三方差分 几何、拓扑、错误、公差和资源行为差异可审计
BYB-08 上游同步和回归策略 更新 Bitbybit/OCCT 时自动生成 API/ABI/黄金差异,不静默漂移

6. W1平台与领域内核

ID 范围 任务组 必须补齐的能力
CORE-01..04 App 文档内核 多文档、DocumentObject/Extension、动态 Property、Group/Link/LinkGroup、UUID/InternalName/Label、生命周期
CORE-05..08 事务和状态 嵌套事务、Undo/Redo、剪切复制粘贴、删除传播、保存点、恢复、只读、最近有效 Shape 回滚
CORE-09..12 Body/容器 Body/Tip、Feature 顺序、Origin、Datum、Part/Group、Support、MapMode、AttachmentOffset、局部坐标链、单实体规则
API-01..05 Facade/Worker 版本化 schema、事件、取消、进度、诊断、Bitbybit/自构建 provider 能力探测、Worker 崩溃恢复、并发与句柄所有权
EXU-01..08 Quantity/Expression 全单位 schema、完整 parser/函数、维度/舍入、对象与 Spreadsheet 引用、循环、locale、自动完成、迁移黄金
DAG-01..11 依赖与重算 Link/Expression/TopoRef 统一边、SCC、稳定调度、并行层、抑制、错误传播、最小闭包、性能计数和 1000 对象基准
DB-01..08 SQLite/OPFS 真实迁移、单写者、配额、资源 GC、检查点、崩溃注入、多标签页、备份恢复和无 OPFS 降级
VIEW-01..10 Gui/Viewport 相机/导航、显示模式、对象/面/边/点拾取、预选、稳定 TopoRef、剖切、裁剪、测量、网格、增量缓存、LOD、GPU 回收
UI-01..10 应用交互 菜单/工具栏、Combo/Task/Property、命令状态、状态栏、报告视图、多选 mixed、搜索、键盘、a11y、窄屏、主题/语言/偏好

7. W2稳定拓扑命名与 Sketcher

7.1 稳定拓扑命名

ID 任务 退出条件
TSN-01 采集 30 个基础和复杂模型的 FreeCAD 命名/错误行为 输入、逐代历史和选择结果齐全
TSN-02 冻结版本化 TopoRef schema 和迁移 stable/ambiguous/deleted 可往返
TSN-03 自构建 OCCT 绑定暴露 Generated/Modified/IsDeleted Pad/Pocket/Dress-up/Boolean 返回逐输入历史
TSN-04 建立曲面、曲线、邻接、方向和几何签名 不依赖三角网格精度或瞬时索引
TSN-05 一对一/一对多评分、置信度和迁移 参数编辑和平移保持安全引用
TSN-06 对称、重复、分裂、合并的歧义策略 低置信度不强绑,保留候选
TSN-07 Boolean、多实体、Pattern 和跨 Body 历史 每个源对象均有可解释映射
TSN-08 LinkSub/外部几何/数据库/FCStd 持久化 保存加载和版本升级引用稳定
TSN-09 3D 拾取、预选、高亮、候选替换和附着 API 全链路只通过 Facade
TSN-10 100 模型、1000 参数变异和随机拓扑回放 无静默错绑,差异可审计

当前工作区仅在增加 occt-native 类型化历史合同,尚未连接自构建 OCCT Worker不满足 TSN-03。

当前 Bitbybit 声明面的可重复证据由 ./npmw run check:bitbybit-history 固化:布尔 API 仍只有 HasGenerated()BOPAlgo_Builder.Modified(shape) 属于部分能力,且列表没有稳定索引读取;该门禁会在绑定升级后要求重新审计。

Bitbybit npm 快照仍锁定为 .cache/bitbybit/bitbybit 提交 d3f52bd1fcf78148b60800d69ed6b42e53f4ad06、版本 1.1.1;它本身是生成 WASM/TypeScript 产物。现在已补充独立原生 provider使用缓存 OCCT 提交 bb75017e915f6509a4bfa8b551f853352754c2da8.0.0)和 TKBO 编译完整历史 Embind。由于两个 WASM 实例的 TopoDS_Shape* 地址空间不同provider 内部句柄不得直接传给 Bitbybit跨 provider 接入必须走版本化序列化协议。

7.2 Sketcher

ID 范围 任务组 必须补齐的能力
SK-01..04 清册与求解器 全命令/约束 manifest、planegcs 最小依赖、Emscripten 构建、确定性 Worker、取消/过期隔离
SK-05 几何 点、线、折线、圆、圆弧、椭圆/椭圆弧、B-spline、周期曲线、构造几何、内部/外部几何
SK-06..07 约束 几何、尺寸、驱动/参考、Block、表达式DOF、冗余、冲突、部分冗余与诊断分类
SK-08 支持与外部几何 基准面/平面/面附着、投影、CarbonCopy、跨对象 TopoRef 迁移
SK-09 编辑器 创建/修剪/延伸/分割、拖拽、自动约束、约束列表、虚拟空间、键鼠回放
SK-10 B-spline 专项 控制点、节点、权重、次数、周期、约束限制和编辑器
SK-11 特征轮廓 闭合/开放/多环/自交验证,驱动 Pad/Pocket/Revolution/Pipe/Loft
SK-12 黄金与压力 500 模型,欠约束/全约束/冲突/冗余/拖拽/外部几何覆盖

8. W3Part 与 Part Design 参数化闭环

ID 范围 任务组 必须补齐的能力
PART-01..04 基础 Shape 全基本体、Placement、ShapeBuilder、Line/Plane/Helix/Prism/Wedge、Compound/CompSolid/Solid/Shell/Wire
PART-05..08 Boolean/检查 Union/Cut/Common/Fragments、Section/Slice、Refine、BRepCheck、容差、自交、修复和错误语义
PART-09..12 生成/修改 Extrude/Revolve/Mirror/Scale/Offset/Thickness/Loft/Sweep/Pipe、Fillet/Chamfer/Draft
PART-13..16 拓扑/互操作 ShapeBinder、SubShapeBinder、多实体历史、测量、颜色、STEP/IGES/BREP 与黄金套件
PD-01..03 Body/基准/附着 Body/Tip/Origin、DatumPlane/Line/Point、Support/MapMode/AttachmentOffset、跨 Body 规则
PD-04..07 基础特征 Pad/Pocket/Revolution/Groove 的两长度、对称、反向、到面/到首个/到最后、Midplane、Taper
PD-08..10 放样与管道 Additive/Subtractive Loft/Pipe、截面排序、路径、过渡、方向和失败恢复
PD-11..13 Dress-up Fillet/Chamfer/Draft/Thickness 的稳定选边选面、变半径/模式、局部历史
PD-14..16 变换与孔 Mirrored/Linear/Polar/MultiTransform 的特征列表/轴面/单实体Hole 轮廓、定位、沉孔、锪孔、钻尖、螺纹和标准
PD-17..18 高级链与验收 Boolean、ShapeBinder、Clone、抑制/Tip 重定向、多配置;完整参数编辑/Undo/FCStd 回放

9. W4文件、项目和数据交换

ID 任务 退出条件
FC-01..03 FCStd 样例与安全容器 核心/扩展对象样例ZIP/XML/资源限制和恶意文件拒绝
FC-04 Document.xml/GuiDocument.xml 双向映射 树、Property、Extension、视图状态可往返
FC-05 BRep/Shape/缩略图资源读写 精度、拓扑数、颜色和资源引用有差异报告
FC-06 Expression/Unit/Link/TopoRef/Sketch 序列化 保存后可由 FreeCAD 重算或明确 proxy
FC-07 未知对象/属性/扩展原样保留 读写后无静默丢失,脚本永不自动执行
FC-08 STEP/IGES/BREP 导入导出 100 个模型的单位、颜色、几何和拓扑黄金
FC-09 STL/OBJ/PLY/DXF/SVG/PDF/glTF/IFC/CSV/JT/IDF 每种格式有能力、精度、失败和 round-trip 报告
FC-10 FreeCAD↔WebCAD↔FreeCAD 双向回放 核心对象可编辑,代理对象字节/语义保留
FC-11 大文件/损坏/中断/恢复 能力上限内不崩溃,超限明确拒绝或流式降级
PKG-01..04 .webcad 项目包 manifest/hash/schema、导入导出、备份、迁移回滚、干净浏览器恢复

10. W5-W7工作台任务

10.1 生产文档与二维

ID 范围 模块 任务范围
TD-01..15 TechDraw Page/Template、正投影视图、投影组、剖视/局部/辅助/断开、隐藏线、尺寸/公差/GD&T、中心线、气泡、注释、SVG/PDF/打印比例、TopoRef 更新
SS-01..10 Spreadsheet Sheet/Cell、公式、alias、样式/合并、行列操作、对象绑定、DAG 循环、CSV、XLSX 能力决策、大表性能
DRAFT-01..14 Draft Working Plane、网格/捕捉、Line/Wire/Arc/Circle/Ellipse/Rectangle/Polygon/BSpline/BezCurve、Text/Dimension、Move/Rotate/Scale/Offset/Trim/Array/Clone、Layer 与参数化
PLOT-01..06 Plot 数据序列、轴/图例/样式、Spreadsheet/结果绑定、更新、图片/SVG/CSV 输出

10.2 高级建模和工程

ID 范围 模块 任务范围
ASM-01..16 Assembly Assembly/Component/Link、LCS/Joint、固定/距离/角度/滑动/转动/球等连接、Ondsel solver WASM、变体、运动、碰撞、爆炸图、BOM、FCStd
BIM-01..20 BIM Site/Building/Level/Space、Wall/Structure/Slab/Roof/Stairs/Window/Door/Equipment、材料/属性集、Draft 联动、IFC2x3/IFC4、分类、数量/清单、代理
MESH-01..14 Mesh/MeshPart STL/OBJ/PLY、生成/转换、分析、法向、非流形、自交、孔修补、平滑、简化、布尔、截面、大网格 Worker/LOD
SURF-01..14 Surface Bezier/BSpline、Ruled/Loft/Sweep、Fill、Sections、Offset、Extend、Trim、Split、Join/Sew、连续性和容差、TopoRef
FEM-01..18 Fem Analysis、Material、Geometry/element sets、网格器、边界/载荷、CalculiX/Elmer 等求解器能力、WASM/远端策略、求解、结果场、单位、VTK/导出
CAM-01..20 CAM Job/Stock、ToolBit/Controller、SetupSheet、Profile/Pocket/Contour/Drill/Adaptive/Surface、dress-up、仿真、碰撞、post sandbox、G-code 黄金
ROBOT-01..12 Robot 机器人模型、轴/姿态、轨迹、工作空间、运动学、碰撞、程序与控制器导出;外部设备能力分级
INSP-01..10 Inspection/Measure 距离/角度/面积/体积/曲率、剖切、偏差、几何检查、TopoRef 标注、报告、单位/精度和导出

10.3 数据、应用与长尾模块

ID 范围 模块 任务范围
PTS-01..08 Points 点云导入、显示、裁剪、变换、下采样、曲面/网格转换、大数据 Worker
RE-01..10 ReverseEngineering 点/网格采样、曲线/曲面拟合、截面、识别、误差可视化和可编辑结果
OSC-01..08 OpenSCAD .scad 导入/导出、CSG 映射、外部 OpenSCAD 可用性、沙箱、颜色/单位和代理
IDF-01..06 IDF PCB/元件/孔/板框导入导出、单位、层/颜色、往返
JT-01..06 JtReader JT 版本/压缩能力、装配树、几何/PMI/颜色、流式读取、代理
MAT-01..08 Material 材料卡、物理/外观属性、继承、库、单位、BIM/FEM/CAM 共享和 FCStd
IMP-01..08 Import 格式注册、探测、单位、颜色、进度、取消、错误和批量导入统一层
APPMOD-01..08 Start/Help/Show/Web/Cloud 最近项目、模板、示例、离线帮助、对象展示/分享、URL 安全、云连接器能力和隐私
ADDON-01..10 AddonManager 插件目录、签名/来源、依赖、安装/更新/卸载、权限、隔离、回滚、离线包;不可执行桌面 Python 时明确代理
SCRIPT-01..10 Python/宏/控制台 FreeCAD API 兼容面、Pyodide/受限解释器决策、文件/网络权限、录制/回放、超时、资源配额、不可端口 API 诊断
GUI-REST-01..10 桌面通用功能 多窗口/MDI 等价、剪贴板、打印、参数编辑器、自定义工具栏/快捷键、主题、语言、导航设备能力
DEV-01..06 Sandbox/TemplatePyMod/Test/Tux 开发模板、测试运行器、GUI 自动化入口和明确非产品能力矩阵

11. W8质量与发布门禁

ID 任务 退出条件
QA-01 单元、属性、parser、图算法与领域状态覆盖 核心错误分支和不变量有自动测试
QA-02 FreeCAD CLI/GUI 对照器 每个兼容命令至少一个成功和一个失败 fixture
QA-03 Chrome E2E 与视觉基线 目标版本矩阵可审计,无 P0/P1 回归
QA-04 几何/求解确定性与 fuzzing 公差内稳定,随机输入不崩溃/错绑
QA-05 性能和内存 1000 对象、百万三角形、大装配、大表、长会话 P95/峰值达预算
QA-06 Worker/WASM/OPFS 故障注入 取消、崩溃、配额、断电点、过期结果和恢复行为通过
QA-07 文件与消息安全 zip bomb、路径穿越、XML、表达式、脚本、post、插件和 Worker 消息 fuzzing 通过
QA-08 可访问性/国际化/移动 键盘核心流、焦点、读屏、locale、长文本和目标视口通过
REL-01 PWA/离线/cache/COOP/COEP/CSP 首装、升级、离线和缓存失效可恢复
REL-02 数据迁移与回滚演练 最近支持版本可升级,可回滚或无损导出
REL-03 SBOM/许可证/漏洞/产物签名 无未知二进制和未处置高危问题
REL-04 能力矩阵和差异报告 每项功能有准确等级,无未解释 unsupported
REL-05 发布 runbook/遥测/支持流程 可部署、监控、诊断、恢复和撤回

12. BYB-04 原生拓扑历史与跨 WASM 传输增量

本轮已完成 BYB-04 的第一版实际编译和 BYB-05 的协议合同层:native/occt-history 从缓存 OCCT bb75017e915f6509a4bfa8b551f853352754c2da8.0.0)构建 TKBOTKDESTEPTKXSBaseTKDE 和 Embind WASM./npmw run test:occt-history 通过,shapeToStep -> booleanHistoryFromStep(cut) smoke case 返回 42 条原生关系记录。mapNativeOcctHistoryRecordscreateNativeOcctStepHistoryBridge 和版本化 NativeOcctHistoryCoordinator 已把 provider 协议接入 Facade 类型边界,覆盖 STEP 校验、取消、超时和 stale 文档版本。该 provider 当前仍是独立 WASM 实例;跨 Bitbybit 主 WASM 只能通过 STEP 文本序列化交换,不能直接传递指针。

该增量不提升完整 FreeCAD 兼容等级:原生 provider 现在可通过 Facade geometry.configureNativeHistory() 显式配置并进入 Boolean 重算,但仍不是默认 GeometryRuntime也未覆盖全部 PartDesign/工作台操作;浏览器真实 WASM 实例化、Worker 崩溃恢复、STEP 精度/单位策略、BRep/IGES 和 Bitbybit↔原生↔FreeCAD 三方黄金差分仍由 BYB-05..08TSN-03..10FC-08 和发布门禁负责。

13. 当前真实状态与最近执行队列

当前仅 Part DesignPartSketcherexperimentalDraft、TechDraw、Spreadsheet、Assembly、Mesh 只有 UI/只读原型其余多数模块未实现。FCStd 已有安全预检、元数据、对象属性字段投影和 proxy 报告,但仍不可编辑/双向 round-trip。基础 oracle 只有 5 个 Part 场景。

本机参考环境、R0-R9 执行批次、立即队列和单项完成定义见 FreeCAD 1.1.1 全功能对标执行路线图。当前缓存 oracle 是 headless Part/Material/Measure 子集;完整桌面工作台行为必须由 O2 oracle 单独采集。

详细执行分配见 FreeCAD 1.1.1 全功能对标执行 WBSconfig/freecad-execution-plan.json 当前登记 10 个 owner lane、10 个 program/gate 和 83 个带依赖、交付物及验收条件的任务,并由 ./npmw run check:execution-plan 校验;config/freecad-source-inventory.json 记录锁定源码的 34 个模块、CMake 开关、App/Gui 目录、Python 文件和命令入口,由 ./npmw run check:freecad-inventory 校验;config/freecad-type-property-inventory.json 记录源码可追溯的 TypeId/Property 候选,由 ./npmw run check:freecad-type-properties 校验。

最近执行队列不得跳过依赖:

  1. 完成 BASE-01..04INV-01..06BYB-01..03,生成全命令/对象/属性清册、完整 oracle 和可复现 Bitbybit/OCCT 源码构建。
  2. 完成 BYB-04..08TSN-03..10:扩展真正 OCCT 历史、稳定签名、跨 Boolean、3D 选择与三方回放。
  3. 完成 SK-03..12planegcs WASM、全约束、编辑器、外部几何和压力套件。
  4. 完成 CORE-09..12PART-*PD-*,通过 Part Design 参数化闭环。
  5. 完成 FC-04..11PKG-*,通过 FCStd 双向 round-trip。
  6. 依次完成 TD-*SS-*DRAFT-*PLOT-*
  7. 依次完成 ASM-*BIM-*MESH-*SURF-*
  8. 完成 FEM/CAM/Robot/Inspection、数据模块、应用模块、脚本/扩展和桌面通用能力。
  9. 完成 QA-*REL-*F0-F9/G0-G9 全部通过后才允许宣称“完整对标”。

14. 里程碑维护规则

每个独立里程碑必须同步实现、聚焦测试、本账本状态、config/compatibility-matrix.json、总体方案和接续状态。统一执行:

./npmw run verify
git diff --check
jq empty config/compatibility-matrix.json

涉及原生 oracle 的里程碑另执行:

./npmw run test:golden:freecad

提交信息、差异报告和兼容等级必须准确描述边界;不得把 facade 合同、类型、UI 或 mock 测试写成 FreeCAD 几何/文件兼容已完成。