Files
FreeCADWasmDev/docs/p6/material-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

209 lines
5.6 KiB
JSON

{
"schema": "freecad-web-p6-material-facade/v1",
"taskId": "FW-P6-MAT-E",
"module": "Material",
"action": "material.createRecompute",
"result": "pass",
"envelopeSchema": "freecad-web-facade/v1",
"typedSchema": "freecad-web-material/create-recompute/v1",
"fixture": {
"schema": "freecad-web-material/create-recompute/v1",
"module": "Material",
"action": "create/recompute",
"objectType": "App::FeaturePython",
"propertyType": "Materials::PropertyMaterial",
"uuid": "material-web-fixture-v1",
"name": "Web Fixture Material",
"inputSha256": "3979dce5505b8e6be1d858dc720274dacb8745e0651c92fa591b0e4f323138d6"
},
"responses": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "mat-e-success",
"result": {
"schema": "freecad-web-material/create-recompute/v1",
"module": "Material",
"action": "create/recompute",
"document": "MaterialKernel",
"object": "MaterialFeature",
"objectType": "App::FeaturePython",
"propertyType": "Materials::PropertyMaterial",
"uuid": "material-web-fixture-v1",
"name": "Web Fixture Material",
"objectCount": 1,
"recompute": 1,
"hasError": 0,
"resourcesReleased": true
}
},
"expectedError": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "mat-e-error",
"error": {
"code": "invalid_fixture",
"message": "Material fixture is not supported",
"diagnostic": {
"field": "uuid"
}
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "mat-e-success",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "mat-e-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"afterCancel": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "mat-e-after-cancel",
"result": {
"schema": "freecad-web-material/create-recompute/v1",
"module": "Material",
"action": "create/recompute",
"document": "MaterialKernel",
"object": "MaterialFeature",
"objectType": "App::FeaturePython",
"propertyType": "Materials::PropertyMaterial",
"uuid": "material-web-fixture-v1",
"name": "Web Fixture Material",
"objectCount": 1,
"recompute": 1,
"hasError": 0,
"resourcesReleased": true
}
}
},
"trace": [
{
"direction": "request",
"requestId": "mat-e-success",
"command": "material.createRecompute"
},
{
"direction": "handler-start",
"requestId": "mat-e-success"
},
{
"direction": "handler-end",
"requestId": "mat-e-success"
},
{
"direction": "response",
"requestId": "mat-e-success",
"kind": "result",
"code": null
},
{
"direction": "request",
"requestId": "mat-e-error",
"command": "material.createRecompute"
},
{
"direction": "handler-start",
"requestId": "mat-e-error"
},
{
"direction": "handler-end",
"requestId": "mat-e-error"
},
{
"direction": "response",
"requestId": "mat-e-error",
"kind": "error",
"code": "invalid_fixture"
},
{
"direction": "request",
"requestId": "mat-e-success",
"command": "material.createRecompute"
},
{
"direction": "response",
"requestId": "mat-e-success",
"kind": "error",
"code": "duplicate_request"
},
{
"direction": "request",
"requestId": "mat-e-cancel",
"command": "material.createRecompute"
},
{
"direction": "response",
"requestId": "mat-e-cancel",
"kind": "error",
"code": "cancelled"
},
{
"direction": "request",
"requestId": "mat-e-after-cancel",
"command": "material.createRecompute"
},
{
"direction": "handler-start",
"requestId": "mat-e-after-cancel"
},
{
"direction": "handler-end",
"requestId": "mat-e-after-cancel"
},
{
"direction": "response",
"requestId": "mat-e-after-cancel",
"kind": "result",
"code": null
}
],
"sequencing": {
"maxActive": 1,
"requestCount": 5,
"responseCount": 5,
"cancelAccepted": true
},
"state": {
"unchangedAfterCancel": true,
"successReplayEqual": true
},
"schemaChecks": {
"request": true,
"result": true,
"expectedError": true,
"duplicate": true,
"cancel": true,
"noNativePointers": true
},
"artifacts": {
"kernel": "docs/p6/material-kernel.json",
"recovery": "docs/p6/material-recovery.json",
"wasm": "freecad-source/build-web/configure/bin/FreeCADWebMaterialKernelProbe.wasm",
"workerLog": "docs/freecad-p6-material-e-facade.log"
},
"commands": [
"npx tsc --target ES2022 --module ESNext --moduleResolution Bundler --strict --skipLibCheck --outDir <tmp> --declaration false --noEmit false src/facade-envelope.ts src/material-facade.ts",
"node tools/run_p6_material_facade_smoke.mjs <tmp>/material-facade.js freecad-source/build-web/configure/bin"
],
"boundaries": [
"Only Material App::FeaturePython create/recompute facade dispatch is covered; GUI and external Material managers are excluded."
]
}