Files
FreeCADWasmDev/docs/p6/surface-tier2-pure-family-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

265 lines
9.6 KiB
JSON

{
"schema": "freecad-web-p6-surface-tier2-pure-family-runtime/v1",
"taskId": "FW-P6-FPA-F2-SURFACE",
"module": "Surface",
"tier": "tier-2-pure",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"worker": "web/src/surface-python.worker.ts",
"facade": "web/src/surface-python-family-facade.ts",
"command": "surface.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SurfaceFamilyProbe.cpp:fc_web_dispatch_json"
},
"input": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "request",
"requestId": "surface-tier2-success",
"command": "surface.pythonFamilyBatch",
"payload": {
"schema": "freecad-web-surface/python-family-batch/v1",
"module": "Surface",
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:Surface:method:BlendCurve.compute",
"name": "BlendCurve.compute",
"family": "generic-object",
"kind": "method",
"sourcePath": "src/Mod/Surface/App/Blending/BlendCurve.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Surface:method:BlendCurve.setSize",
"name": "BlendCurve.setSize",
"family": "generic-object",
"kind": "method",
"sourcePath": "src/Mod/Surface/App/Blending/BlendCurve.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Surface:method:BlendPoint.setSize",
"name": "BlendPoint.setSize",
"family": "generic-object",
"kind": "method",
"sourcePath": "src/Mod/Surface/App/Blending/BlendPoint.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Surface:method:BlendPoint.setvectors",
"name": "BlendPoint.setvectors",
"family": "geometry-value",
"kind": "method",
"sourcePath": "src/Mod/Surface/App/Blending/BlendPoint.pyi",
"disposition": "not_implemented"
}
]
},
"documentId": "surface-python-family"
},
"inputSha256": "a68cfd99d7ab49fa9083e8e330f8f9cbcba38dd9ada788dede474bf57ca28007",
"result": {
"cmd": "surface.pythonFamilyBatch",
"count": 4,
"module": "Surface",
"ok": true,
"records": [
{
"apiId": "py:Surface:method:BlendCurve.compute",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Surface Python symbol/method has no method-level native argument/return replay",
"name": "BlendCurve.compute",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendCurve.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Surface:method:BlendCurve.setSize",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Surface Python symbol/method has no method-level native argument/return replay",
"name": "BlendCurve.setSize",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendCurve.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Surface:method:BlendPoint.setSize",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Surface Python symbol/method has no method-level native argument/return replay",
"name": "BlendPoint.setSize",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendPoint.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Surface:method:BlendPoint.setvectors",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Surface Python symbol/method has no method-level native argument/return replay",
"name": "BlendPoint.setvectors",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendPoint.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-surface/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "9261fa4185ed3888396b4a3e19b027f4fc7ec641d054db0c0ed7727cc4190281",
"replay": {
"equal": true,
"resultSha256": "9261fa4185ed3888396b4a3e19b027f4fc7ec641d054db0c0ed7727cc4190281"
},
"crossModuleBoundary": {
"result": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "surface-tier2-cross",
"result": {
"cmd": "surface.pythonFamilyBatch",
"count": 1,
"module": "Surface",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "unmatched_source_record",
"family": "generic-object",
"message": "Surface API record is not part of this module-scoped adapter",
"name": "BlendCurve.compute",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/Surface/App/Blending/BlendCurve.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-surface/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"resultSha256": "2f6dca095c64d2f352e33c565da205e4dfefe29ff9b16aca059cd0432941aa9b"
},
"malformedRequest": {
"result": {
"kind": "error",
"requestId": "surface-tier2-invalid-tier",
"error": {
"code": "invalid_request",
"message": "Surface Python family envelope invalid"
}
},
"resultSha256": "508f151cc4f4477e9e46fab867df2fad6db042669a6661f1dda00651b12369ba"
},
"cancellation": {
"result": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "surface-tier2-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"resultSha256": "8a85aeede184b2c1fe46f3c7a36c8b98c6e5dfe701dfb9c54ba33cd258ddbda4"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 4
},
"records": [
{
"apiId": "py:Surface:method:BlendCurve.compute",
"name": "BlendCurve.compute",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendCurve.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "cea929a099be4c4e0338fcfe19cc3ae5d691253c2810e8dd8dd7d0386865e593"
},
{
"apiId": "py:Surface:method:BlendCurve.setSize",
"name": "BlendCurve.setSize",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendCurve.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "67e5d0659e956deb61f948ff921d9285cf2b295f42f49dcf7a51640208a6bd0e"
},
{
"apiId": "py:Surface:method:BlendPoint.setSize",
"name": "BlendPoint.setSize",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendPoint.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "7a0c4be51a6443af4144b3115a26ab5234ba141ead400fab83934661e14e97a2"
},
{
"apiId": "py:Surface:method:BlendPoint.setvectors",
"name": "BlendPoint.setvectors",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Surface/App/Blending/BlendPoint.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "07777f5d30c0924ca67517874736b7b31aabd6300f3011dedc938f098628fb7f"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebSurfaceRuntimeProbe.wasm"
},
"loader": {
"path": "web/public/kernel/FreeCADWebSurfaceRuntimeProbe.js"
}
},
"boundaries": [
"Surface tier-2 methods remain not_implemented until typed method fixtures exist; no source-only record is exposed.",
"All statuses and hashes derive from compiled FreeCAD through fc_web_dispatch_json; no JavaScript API result is substituted."
]
}