Files
FreeCADWasmDev/docs/p6/mesh-module-batch-dc35e7e39e83223486027d2c-runtime.json
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

588 lines
23 KiB
JSON

{
"schema": "freecad-web-mesh-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "dc35e7e39e83223486027d2c",
"module": "Mesh",
"tier": "object-contract",
"family": "geometry-recompute",
"status": "pass_with_boundaries",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"route": {
"command": "mesh.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/mesh-python-family-facade.ts",
"worker": "web/src/mesh.worker.ts"
},
"input": {
"cmd": "mesh.pythonFamilyBatch",
"args": {
"tier": "object-contract",
"records": [
{
"apiId": "obj:Mesh:Mesh::MeshObject",
"name": "Mesh::MeshObject",
"family": "geometry-recompute",
"kind": "object",
"sourcePath": "src/Mod/Mesh/App/Mesh.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Mesh:Mesh::MeshSegment",
"name": "Mesh::MeshSegment",
"family": "geometry-recompute",
"kind": "object",
"sourcePath": "src/Mod/Mesh/App/Mesh.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Mesh:Mesh::Feature",
"name": "Mesh::Feature",
"family": "geometry-recompute",
"kind": "object",
"sourcePath": "src/Mod/Mesh/App/MeshFeature.h",
"disposition": "planned"
},
{
"apiId": "obj:Mesh:Mesh::PropertyNormalList",
"name": "Mesh::PropertyNormalList",
"family": "geometry-recompute",
"kind": "object",
"sourcePath": "src/Mod/Mesh/App/MeshProperties.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Mesh:Mesh::PropertyCurvatureList",
"name": "Mesh::PropertyCurvatureList",
"family": "geometry-recompute",
"kind": "object",
"sourcePath": "src/Mod/Mesh/App/MeshProperties.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMaterial",
"name": "Mesh::PropertyMaterial",
"family": "geometry-recompute",
"kind": "object",
"sourcePath": "src/Mod/Mesh/App/MeshProperties.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMeshKernel",
"name": "Mesh::PropertyMeshKernel",
"family": "geometry-recompute",
"kind": "object",
"sourcePath": "src/Mod/Mesh/App/MeshProperties.cpp",
"disposition": "planned"
}
]
}
},
"inputSha256": "09d725e4099b0a54750b64fc41d2882f91530f5413a3310ac69a98300d6439ac",
"result": {
"cmd": "mesh.pythonFamilyBatch",
"count": 7,
"module": "Mesh",
"ok": true,
"records": [
{
"apiId": "obj:Mesh:Mesh::MeshObject",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::MeshObject",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::MeshSegment",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::MeshSegment",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::Feature",
"code": "native_object_contract",
"family": "geometry-recompute",
"message": "Mesh object was constructed and recomputed through the native FreeCAD Mesh implementation",
"name": "Mesh::Feature",
"native": true,
"parameterSchema": "constructor:default",
"resourcesReleased": true,
"returnSchema": "native:Mesh::Feature",
"sourceEntry": "src/Mod/Mesh/App/MeshFeature.h",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "exposed"
},
{
"apiId": "obj:Mesh:Mesh::PropertyNormalList",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyNormalList",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyCurvatureList",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyCurvatureList",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMaterial",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyMaterial",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMeshKernel",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyMeshKernel",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-mesh/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
},
"resultSha256": "01583c99ebe17def4d10f2e8fcb89c315b262a24f7b0551607a18dac8a2ef7ad",
"replay": {
"equal": true,
"resultSha256": "01583c99ebe17def4d10f2e8fcb89c315b262a24f7b0551607a18dac8a2ef7ad"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "mesh.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "mesh-object-batch-success",
"result": {
"cmd": "mesh.pythonFamilyBatch",
"count": 7,
"module": "Mesh",
"ok": true,
"records": [
{
"apiId": "obj:Mesh:Mesh::MeshObject",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::MeshObject",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::MeshSegment",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::MeshSegment",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::Feature",
"code": "native_object_contract",
"family": "geometry-recompute",
"message": "Mesh object was constructed and recomputed through the native FreeCAD Mesh implementation",
"name": "Mesh::Feature",
"native": true,
"parameterSchema": "constructor:default",
"resourcesReleased": true,
"returnSchema": "native:Mesh::Feature",
"sourceEntry": "src/Mod/Mesh/App/MeshFeature.h",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "exposed"
},
{
"apiId": "obj:Mesh:Mesh::PropertyNormalList",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyNormalList",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyCurvatureList",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyCurvatureList",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMaterial",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyMaterial",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMeshKernel",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyMeshKernel",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-mesh/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "mesh-object-batch-repeat",
"result": {
"cmd": "mesh.pythonFamilyBatch",
"count": 7,
"module": "Mesh",
"ok": true,
"records": [
{
"apiId": "obj:Mesh:Mesh::MeshObject",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::MeshObject",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::MeshSegment",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::MeshSegment",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::Feature",
"code": "native_object_contract",
"family": "geometry-recompute",
"message": "Mesh object was constructed and recomputed through the native FreeCAD Mesh implementation",
"name": "Mesh::Feature",
"native": true,
"parameterSchema": "constructor:default",
"resourcesReleased": true,
"returnSchema": "native:Mesh::Feature",
"sourceEntry": "src/Mod/Mesh/App/MeshFeature.h",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "exposed"
},
{
"apiId": "obj:Mesh:Mesh::PropertyNormalList",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyNormalList",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyCurvatureList",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyCurvatureList",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMaterial",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyMaterial",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMeshKernel",
"code": "native_fixture_required",
"family": "geometry-recompute",
"message": "Mesh native type is registered but not an App::DocumentObject",
"name": "Mesh::PropertyMeshKernel",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-mesh/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "mesh-object-batch-cross",
"result": {
"cmd": "mesh.pythonFamilyBatch",
"count": 1,
"module": "Mesh",
"ok": true,
"records": [
{
"apiId": "obj:BIM:Mesh::Feature",
"code": "unmatched_source_record",
"family": "geometry-recompute",
"message": "Mesh object record is not part of this module-scoped adapter",
"name": "Mesh::MeshObject",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-mesh/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "mesh-object-batch-invalid",
"error": {
"code": "invalid_request",
"message": "Mesh Python family envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "mesh-object-batch-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "mesh-object-batch-reset"
},
"traceSha256": "3d164d3b23d6d3576386f780b8f5ef1595509a1853bd44328eeaca202727daa0"
},
"dispositionCounts": {
"exposed": 1,
"restricted": 0,
"nonportable": 0,
"not_implemented": 6
},
"records": [
{
"apiId": "obj:Mesh:Mesh::MeshObject",
"name": "Mesh::MeshObject",
"status": "not_implemented",
"code": "native_fixture_required",
"message": "Mesh native type is registered but not an App::DocumentObject",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "bbef5b5ea92e32c49dc81df8c48971d5dc21105de46977f7f113f0fed5f1acf2"
},
{
"apiId": "obj:Mesh:Mesh::MeshSegment",
"name": "Mesh::MeshSegment",
"status": "not_implemented",
"code": "native_fixture_required",
"message": "Mesh native type is registered but not an App::DocumentObject",
"sourceEntry": "src/Mod/Mesh/App/Mesh.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "d1ae71817b0032f081e299e1780e25e1c2d4a148e5056a980471db54d4d8f20e"
},
{
"apiId": "obj:Mesh:Mesh::Feature",
"name": "Mesh::Feature",
"status": "exposed",
"code": "native_object_contract",
"message": "Mesh object was constructed and recomputed through the native FreeCAD Mesh implementation",
"sourceEntry": "src/Mod/Mesh/App/MeshFeature.h",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "8cf62d240d035aa6bd48a7e58f836c56b3cb1d03d472b026801ff112b894cbc5"
},
{
"apiId": "obj:Mesh:Mesh::PropertyNormalList",
"name": "Mesh::PropertyNormalList",
"status": "not_implemented",
"code": "native_fixture_required",
"message": "Mesh native type is registered but not an App::DocumentObject",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "64ae241bd7c366dc2655c47c53e5a7afe7223d7416f5b2501c022f1f7f4db57b"
},
{
"apiId": "obj:Mesh:Mesh::PropertyCurvatureList",
"name": "Mesh::PropertyCurvatureList",
"status": "not_implemented",
"code": "native_fixture_required",
"message": "Mesh native type is registered but not an App::DocumentObject",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "fe127bdc750e90249cc11442ea9b3d048309700bc31030d4a8d784f3f60392ed"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMaterial",
"name": "Mesh::PropertyMaterial",
"status": "not_implemented",
"code": "native_fixture_required",
"message": "Mesh native type is registered but not an App::DocumentObject",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "404ceb0734c9fa26c87f157b22e5f4565c7a22c5bbcc1b21035d62ad76c89863"
},
{
"apiId": "obj:Mesh:Mesh::PropertyMeshKernel",
"name": "Mesh::PropertyMeshKernel",
"status": "not_implemented",
"code": "native_fixture_required",
"message": "Mesh native type is registered but not an App::DocumentObject",
"sourceEntry": "src/Mod/Mesh/App/MeshProperties.cpp",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "f83d4a2fa1116b52b3ec009e5c3c55f51393bf9e9f40bbe1f7dc92abd4c53978"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebMeshRuntimeProbe.wasm",
"sha256": "b9129f26b210c24b8b70e5c479dac978544f85da93a21a4afc8b670ef33c78b7"
},
"loader": {
"path": "web/public/kernel/FreeCADWebMeshRuntimeProbe.js",
"sha256": "fd03a5e8aacc3ec25dad16d1e0c05f3eb1f89fe2275229fba6c8e817f804b542"
}
},
"boundaries": [
"Specialized Mesh repair classes execute native create/recompute fixtures with a source Mesh::Feature link.",
"All statuses, schemas and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}