Files
FreeCADWasmDev/docs/p6/surface-action-04-facade.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

116 lines
3.3 KiB
JSON

{
"schema": "freecad-web-p6-surface-action-04-facade/v1",
"taskId": "FW-P6-SUR-ACT-04-E",
"module": "Surface",
"action": "save/reopen",
"result": "pass",
"responses": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sur-act04-e-success",
"result": {
"schema": "freecad-web-surface/save-reopen/v1",
"module": "Surface",
"action": "save/reopen",
"path": "/tmp/SurfaceWeb.FCStd",
"size": 4536,
"objectCount": 3,
"objectType": "Surface::Cut",
"roundTrip": true,
"resourcesReleased": true
}
},
"error": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sur-act04-e-error",
"error": {
"code": "invalid_path",
"message": "Surface FCStd path is not supported",
"diagnostic": { "field": "path" }
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sur-act04-e-success",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sur-act04-e-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"after": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sur-act04-e-after",
"result": {
"schema": "freecad-web-surface/save-reopen/v1",
"module": "Surface",
"action": "save/reopen",
"path": "/tmp/SurfaceWeb.FCStd",
"size": 4534,
"objectCount": 3,
"objectType": "Surface::Cut",
"roundTrip": true,
"resourcesReleased": true
}
}
},
"sequencing": {
"requestCount": 5,
"responseCount": 5,
"events": [
"ready",
"result:sur-act04-e-success",
"error:sur-act04-e-error",
"error:sur-act04-e-success",
"error:sur-act04-e-cancel",
"result:sur-act04-e-after"
]
},
"schemaChecks": {
"responses": true,
"noNativePointers": true
},
"fixture": {
"schema": "freecad-web-surface/save-reopen/v1",
"module": "Surface",
"action": "save/reopen",
"path": "/tmp/SurfaceWeb.FCStd",
"inputSha256": "dfee642f02d75dd99ceed1fe6849b37756e1d6593e4b8ad314ad48d366e79f86"
},
"artifacts": {
"wasm": {
"path": "freecad-source/build-web/configure/bin/FreeCADWebSurfaceRuntimeProbe.wasm",
"sha256": "f9a1489ac381250715641b39c982a6dc14f14b8937d543287379af5d09d92f1c"
},
"tscLog": {
"path": "web/docs/freecad-p6-surface-action-04-e-tsc.log",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"smokeLog": {
"path": "docs/freecad-p6-surface-action-04-e-facade.log",
"sha256": "b3b857e8b1e9f5848f6b837b5c1cb2e6664df535fccff8e006fb594484e8de1e"
}
},
"boundaries": [
"Native FreeCAD persistence owns save/reopen and result fields; JS carries only typed Facade envelopes.",
"The Facade exposes no native pointers and preserves the document after cancellation."
]
}