feat: classify pad ordered pair row
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

This commit is contained in:
2026-08-15 12:51:22 -04:00
parent 8ef796552d
commit 10d11ad608
7 changed files with 6706 additions and 483 deletions

View File

@@ -861,4 +861,229 @@ git diff --check
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定 ordered builder、单 Solid 约束、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-fuse`
`pad->fuse` 已完成原生接受分类,并建立 Pad 起始行的真实 Profile 基线:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history未复用 Solid-as-profile 拒绝输入。
- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder对 Pad 结果执行布尔并集。
- 默认工具 X 偏移 `12` 会产生分离实体,未被误记为接受;改用保持实体交叠的 `8 -> 7 -> 8` 专用轨迹。
- 工具偏移轨迹使体积在 `575 -> 550 -> 575` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 57 条原生 history 记录。
- 上游 Pad naming 证据向下游传播FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、两阶段 builder、专用变异轨迹、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-cut`
`pad->cut` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder对 Pad 结果执行布尔减料。
- `4 -> 3 -> 4` 工具尺寸轨迹改变体积与面积,体积在 `436 -> 473 -> 436` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 22 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、双输入减料、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-common`
`pad->common` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder对 Pad 结果执行布尔交集。
- 默认工具 X 偏移 `10` 仅与 Pad 边界相切且没有实体交集,未被误记为接受;改用 `7 -> 6 -> 7` 专用轨迹。
- 工具偏移轨迹使交集体积在 `75 -> 100 -> 75` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 117 条原生 history 记录。
- 上游 Pad naming 证据向下游传播FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、专用交叠轨迹、双输入 builder、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-rotate`
`pad->rotate` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder对 Pad 结果执行刚性旋转。
- `15 -> 22.5 -> 15` 角度轨迹保持体积 `500` 和拓扑不变,但明确改变世界空间边界,未因体积不变而误判为无变异。
- 名义与恢复态均包含 78 条原生 history并精确恢复摘要和语义 naming。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、两阶段 builder、边界变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-pad`
`pad->pad` 已完成原生拒绝分类,并补齐 Pad STEP 聚合结构的拒绝重放规则:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝第一个 Pad 的 Solid 输入,三次均在 builder 阶段传输原生 C++ 异常,且不产生结果 Shape 或 history。
- FreeCAD STEP 导入保留 `App::Part` 聚合容器,并唯一选择有效单 Solid 的 `Part::Feature` 叶节点作为 Profile零个或多个实体叶节点仍 fail-closed。
- FreeCAD `PartDesign::Pad` 返回 `FeatureExtrusion: Length: Could not extrude the sketch!`,结果 Shape 为空且状态包含 `Invalid`。
- transaction abort 后 10 个导入结构/基准对象、源实体 BREP 与对象集完整恢复;无穷参考线面只比较对象语义,实体 Shape 仍逐字段比较。
- 干净 FCStd save/reopen/resave 三阶段一致,拒绝任务没有伪造下游 naming 或变异证据。
- focused ordered-pair gate 已锁定真实 Profile 上游、异常传输、STEP 叶节点选择、精确诊断、回滚和持久化证据。
### `TSN-PAIR-pad-pocket`
`pad->pocket` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder对 Pad 结果执行减料拉伸。
- `5 -> 4 -> 5` 深度轨迹改变体积、面积与拓扑,体积在 `470 -> 476 -> 470` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 64 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实上游/下游 Profile、双输入减料、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-loft`
`pad->loft` 已完成原生拒绝分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中均生成体积 `655` 的有效单 Solid 和 24 条 history但该结果仅记为 kernel-superset 诊断。
- FreeCAD `Part::Loft` 对 Pad Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`。
- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。
- transaction abort 后 STEP 聚合结构、对象集与 Pad 源实体 BREP 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、STEP 叶节点选择、精确失败信息、回滚和持久化证据。
### `TSN-PAIR-pad-pipe`
`pad->pipe` 已完成原生拒绝分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中生成体积 `1500 -> 1200 -> 1500` 的有效单 Solid 和 28 条 history但该结果仅记为 kernel-superset 诊断。
- FreeCAD `Part::Sweep` 对 Pad Solid section 返回 `A fatal error occurred when making the sweep`。
- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。
- transaction abort 后 STEP 聚合结构、对象集与 Pad 源实体 BREP 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、STEP 叶节点选择、精确失败信息、回滚和持久化证据。
### `TSN-PAIR-pad-revolution`
`pad->revolution` 已完成原生拒绝分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Pad Solid 输入,三次均在 builder 阶段传输原生 C++ 异常,且不产生结果 Shape 或 history。
- FreeCAD `Part::Revolution` 使用同一 Pad Solid 作为 Source返回 `Solids are not Processed`。
- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。
- transaction abort 后 STEP 聚合结构、对象集与 Pad 源实体 BREP 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
- focused ordered-pair gate 已锁定异常传输、STEP 叶节点选择、精确诊断、回滚和持久化证据。
### `TSN-PAIR-pad-groove`
`pad->groove` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实旋转轮廓和 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder对 Pad 结果执行旋转槽减料。
- `360 -> 180 -> 360` 角度轨迹改变体积与拓扑:名义态体积为 `495.287611`、10 Face编辑态体积为 `500`、7 Face并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 18 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、双输入旋转减料、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-fillet`
`pad->fillet` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder对 Pad 结果的锁定原生边执行倒圆。
- `0.4 -> 0.6 -> 0.4` 半径轨迹改变体积与面积,体积在 `496.6520816 -> 492.5636085 -> 496.6520816` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 150 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、原生边选择、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-chamfer`
`pad->chamfer` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder对 Pad 结果的锁定原生边执行倒角。
- `0.4 -> 0.6 -> 0.4` 距离轨迹改变体积与面积,体积在 `492.3413333 -> 483.152 -> 492.3413333` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 150 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、原生边选择、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-hole`
`pad->hole` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` 单输入 builder以锁定位置和方向的圆柱刀具贯穿 Pad 结果。
- `1 -> 1.5 -> 1` 半径轨迹改变体积与面积,体积在 `484.2920367 -> 464.6570826 -> 484.2920367` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 23 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、圆柱减料、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-draft`
`pad->draft` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder对 Pad 结果的锁定原生 Face 执行拔模。
- `5 -> 8 -> 5` 角度轨迹改变体积与面积,体积在 `489.0639171 -> 482.4323957 -> 489.0639171` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 5 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、原生 Face 选择、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-thickness`
`pad->thickness` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder对 Pad 结果的锁定原生 Face 执行厚壳。
- `-0.4 -> -0.6 -> -0.4` offset 轨迹改变体积与面积,体积在 `129.056 -> 185.664 -> 129.056` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 38 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、原生 Face 选择、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-linear-pattern`
`pad->linear-pattern` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder将 Pad 结果沿 X 方向平移复制并融合为一个可追踪 Solid。
- `8 -> 9 -> 8` 平移轨迹保持实例交叠,体积在 `900 -> 950 -> 900` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 66 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、单 Solid 约束、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-polar-pattern`
`pad->polar-pattern` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder将 Pad 结果绕锁定 Z 轴旋转复制并融合。
- `30 -> 45 -> 30` 角度轨迹改变体积、面积与边界,体积在 `711.3248654 -> 792.8932188 -> 711.3248654` 间变化并精确恢复名义摘要、history 与语义 naming。
- 名义结果为有效 1 Solid包含 78 条原生 history 记录。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、旋转实例融合、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-mirrored`
`pad->mirrored` 已完成原生接受分类:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder将 Pad 结果绕锁定平面镜像复制并融合。
- 名义 X=5 镜像与对称 Pad 本体完全重合,但仍保留 156 条原生 history`5 -> 6 -> 5` 轨迹在编辑态产生体积 `600`、14 Face 的单 Solid。
- 恢复态精确返回体积 `500`、6 Face 的名义摘要、history 与语义 naming。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、完全重合名义态、镜像实例融合、变异、恢复、history、naming 和持久化证据。
### `TSN-PAIR-pad-multi-transform`
`pad->multi-transform` 已完成原生接受分类,并闭合 Pad 起始行的全部 19 个有序操作对:
- 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。
- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder先执行 X 平移,再镜像平移结果并保留每个实例的原生追踪关系。
- `8 -> 9 -> 8` 首步 X 平移轨迹保持全部实例连通,体积在 `1300 -> 1400 -> 1300` 间变化,名义边界覆盖 X=`[-8, 18]`。
- 名义与编辑态均包含 355 条原生 history恢复态精确返回名义摘要、history 与语义 naming。
- 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
- focused ordered-pair gate 已锁定真实 Profile、ordered builder、单 Solid 约束、变异、恢复、history、naming 和持久化证据。
后续任务必须从机器队列的最新 `nextTask` 继续,不在本文手工维护任务名称。