feat: add candidate FreeCAD naming SDK and attachment oracles
Build and verify the candidate-only FreeCAD naming bridge and OCCT worker path, including three-stage StringHasher restoration. Add Datum, ShapeBinder, attachment-mode, and PartDesign structure oracles plus offline SDK build plans and CI boundary checks.
This commit is contained in:
346
config/freecad-partdesign-structure-oracle.json
Normal file
346
config/freecad-partdesign-structure-oracle.json
Normal file
@@ -0,0 +1,346 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-partdesign-structure-oracle",
|
||||
"crossDocument": {
|
||||
"deleted": {
|
||||
"shapeBinderShapeNull": true,
|
||||
"shapeBinderState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"shapeBinderStatus": "Valid",
|
||||
"shapeBinderSupport": [],
|
||||
"subShapeBinderCachedArea": 48,
|
||||
"subShapeBinderShapeNull": false,
|
||||
"subShapeBinderState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"subShapeBinderStatus": "Valid",
|
||||
"subShapeBinderSupport": []
|
||||
},
|
||||
"edited": {
|
||||
"shapeBinderShapeNull": true,
|
||||
"shapeBinderState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"sourceFaceArea": 48,
|
||||
"sourceVolume": 192,
|
||||
"subShapeBinderArea": 48,
|
||||
"subShapeBinderState": [
|
||||
"Up-to-date"
|
||||
]
|
||||
},
|
||||
"initial": {
|
||||
"shapeBinderExternalLink": {
|
||||
"accepted": false,
|
||||
"error": "PropertyLinkSubList does not support external object",
|
||||
"errorType": "ValueError"
|
||||
},
|
||||
"shapeBinderShapeNull": true,
|
||||
"shapeBinderSupport": [],
|
||||
"shapeBinderSupportType": "App::PropertyLinkSubListGlobal",
|
||||
"shapeBodyTip": null,
|
||||
"sourceFaceArea": 30,
|
||||
"sourceVolume": 120,
|
||||
"subBodyTip": null,
|
||||
"subShapeBinderArea": 30,
|
||||
"subShapeBinderSourceDocument": "PartDesignExternalSource",
|
||||
"subShapeBinderSupport": [
|
||||
{
|
||||
"object": "ExternalBox",
|
||||
"subElements": [
|
||||
"Face1"
|
||||
]
|
||||
}
|
||||
],
|
||||
"subShapeBinderSupportType": "App::PropertyXLinkSubList"
|
||||
},
|
||||
"roundtrip": {
|
||||
"shapeBinderShapeNull": true,
|
||||
"shapeBinderSupport": [],
|
||||
"shapeBodyTip": null,
|
||||
"sourceFaceArea": 30,
|
||||
"sourceVolume": 120,
|
||||
"subBodyTip": null,
|
||||
"subShapeBinderArea": 30,
|
||||
"subShapeBinderSourceDocument": "PartDesignExternalSource",
|
||||
"subShapeBinderSupport": [
|
||||
{
|
||||
"object": "ExternalBox",
|
||||
"subElements": [
|
||||
"Face1"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"edited": {
|
||||
"bodyTips": {
|
||||
"BinderBody": null,
|
||||
"DatumBody": null,
|
||||
"SourceBody": "SourceBox",
|
||||
"SubBinderBody": null
|
||||
},
|
||||
"datumPlaneAttachmentOffset": {
|
||||
"angleDegrees": 45,
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"position": [
|
||||
0,
|
||||
0,
|
||||
7
|
||||
]
|
||||
},
|
||||
"datumPlanePlacement": {
|
||||
"angleDegrees": 45.00000000000001,
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"position": [
|
||||
0,
|
||||
0,
|
||||
7
|
||||
]
|
||||
},
|
||||
"shapeBinderVolume": 672,
|
||||
"sourceVolume": 672,
|
||||
"subShapeBinderLength": 28
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"initial": {
|
||||
"bodyGroups": {
|
||||
"BinderBody": [
|
||||
"ShapeBinder"
|
||||
],
|
||||
"DatumBody": [
|
||||
"DatumPlane",
|
||||
"DatumLine",
|
||||
"DatumPoint"
|
||||
],
|
||||
"SourceBody": [
|
||||
"SourceBox"
|
||||
],
|
||||
"SubBinderBody": [
|
||||
"SubShapeBinder"
|
||||
]
|
||||
},
|
||||
"bodyTips": {
|
||||
"BinderBody": null,
|
||||
"DatumBody": null,
|
||||
"SourceBody": "SourceBox",
|
||||
"SubBinderBody": null
|
||||
},
|
||||
"datumLine": {
|
||||
"mapMode": "ObjectX",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"support": [
|
||||
{
|
||||
"object": "XY_Plane",
|
||||
"subElements": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"datumPlane": {
|
||||
"attachmentOffset": {
|
||||
"angleDegrees": 29.999999999999996,
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"position": [
|
||||
0,
|
||||
0,
|
||||
5
|
||||
]
|
||||
},
|
||||
"mapMode": "FlatFace",
|
||||
"placement": {
|
||||
"angleDegrees": 29.999999999999993,
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"position": [
|
||||
0,
|
||||
0,
|
||||
5
|
||||
]
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"support": [
|
||||
{
|
||||
"object": "XY_Plane",
|
||||
"subElements": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"datumPoint": {
|
||||
"attachmentOffset": {
|
||||
"angleDegrees": 0,
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"position": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
},
|
||||
"mapMode": "ObjectOrigin",
|
||||
"placement": {
|
||||
"angleDegrees": 0,
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"position": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"support": [
|
||||
{
|
||||
"object": "XY_Plane",
|
||||
"subElements": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"shapeBinder": {
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"support": [
|
||||
{
|
||||
"object": "SourceBox",
|
||||
"subElements": []
|
||||
}
|
||||
],
|
||||
"traceSupport": true
|
||||
},
|
||||
"shapeBinderVolume": 480,
|
||||
"sourceVolume": 480,
|
||||
"subShapeBinder": {
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"support": [
|
||||
{
|
||||
"object": "SourceBox",
|
||||
"subElements": [
|
||||
"Edge1",
|
||||
"Edge2",
|
||||
"Edge3",
|
||||
"Edge4"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subShapeBinderLength": 28
|
||||
},
|
||||
"invalidSupport": {
|
||||
"state": [
|
||||
"Touched",
|
||||
"Invalid"
|
||||
],
|
||||
"status": "AttachEngine3D: subshape not found SourceBox.Face999",
|
||||
"support": [
|
||||
{
|
||||
"object": "SourceBox",
|
||||
"subElements": [
|
||||
"Face999"
|
||||
]
|
||||
}
|
||||
],
|
||||
"typeId": "PartDesign::Plane"
|
||||
},
|
||||
"roundtrip": {
|
||||
"bodyGroups": {
|
||||
"BinderBody": [
|
||||
"ShapeBinder"
|
||||
],
|
||||
"DatumBody": [
|
||||
"DatumPlane",
|
||||
"DatumLine",
|
||||
"DatumPoint",
|
||||
"InvalidDatumPlane"
|
||||
],
|
||||
"SourceBody": [
|
||||
"SourceBox"
|
||||
],
|
||||
"SubBinderBody": [
|
||||
"SubShapeBinder"
|
||||
]
|
||||
},
|
||||
"bodyTips": {
|
||||
"BinderBody": null,
|
||||
"DatumBody": null,
|
||||
"SourceBody": "SourceBox",
|
||||
"SubBinderBody": null
|
||||
},
|
||||
"datumPlaneAttachmentOffset": {
|
||||
"angleDegrees": 45,
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"position": [
|
||||
0,
|
||||
0,
|
||||
7
|
||||
]
|
||||
},
|
||||
"datumPlaneMapMode": "FlatFace",
|
||||
"datumPlaneSupport": [
|
||||
{
|
||||
"object": "XY_Plane",
|
||||
"subElements": []
|
||||
}
|
||||
],
|
||||
"invalidDatumState": [
|
||||
"Touched",
|
||||
"Invalid"
|
||||
],
|
||||
"invalidDatumStatus": "AttachEngine3D: subshape not found SourceBox.Face999",
|
||||
"shapeBinderSupport": [
|
||||
{
|
||||
"object": "SourceBox",
|
||||
"subElements": []
|
||||
}
|
||||
],
|
||||
"shapeBinderVolume": 672,
|
||||
"sourceVolume": 672,
|
||||
"subShapeBinderLength": 28,
|
||||
"subShapeBinderSupport": [
|
||||
{
|
||||
"object": "SourceBox",
|
||||
"subElements": [
|
||||
"Edge1",
|
||||
"Edge2",
|
||||
"Edge3",
|
||||
"Edge4"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"tolerance": 1e-7
|
||||
}
|
||||
Reference in New Issue
Block a user