Files
FreeCADWasmDev/docs/p6/user-data-property.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

669 lines
27 KiB
JSON

{
"schema": "freecad-web-p6-chrome-harness/v1",
"result": "pass",
"chrome": {
"path": "/usr/bin/google-chrome",
"version": "Google Chrome 151.0.7922.137"
},
"mode": "headless-new",
"origin": "http://127.0.0.1:40561",
"viewport": {
"width": 1440,
"height": 900,
"deviceScaleFactor": 1
},
"timeoutMs": 30000,
"networkPolicy": "intercept-and-require-zero-external-requests",
"modulePreload": {
"phase": "disabled",
"manifestUrl": null,
"requestedModules": [],
"requestedAssets": 0,
"loadedAssets": 0,
"failedAssets": [],
"loadedBytes": 0
},
"cases": [
{
"id": "data-property-ready",
"status": "pass",
"state": {
"status": "",
"stage": "ready",
"response": null,
"progress": [],
"duplicate": null,
"cancel": null
},
"requests": [
{
"requestId": "FA89FEC1E0380829A2432F0725FA79F4",
"url": "http://127.0.0.1:40561/core.html",
"method": "GET",
"type": "Document"
},
{
"requestId": "3140755.2",
"url": "http://127.0.0.1:40561/module-preload.js",
"method": "GET",
"type": "Script"
},
{
"requestId": "3140755.3",
"url": "http://127.0.0.1:40561/assets/core-C2TqSzgW.js",
"method": "GET",
"type": "Script"
},
{
"requestId": "3140755.4",
"url": "http://127.0.0.1:40561/assets/react-CYoUnH_4.js",
"method": "GET",
"type": "Script"
},
{
"requestId": "3140755.5",
"url": "http://127.0.0.1:40561/assets/modulepreload-polyfill-P2Xu9kJm.js",
"method": "GET",
"type": "Script"
},
{
"requestId": "3140755.6",
"url": "http://127.0.0.1:40561/assets/client-Bz7rxqNA.js",
"method": "GET",
"type": "Script"
},
{
"requestId": "3140755.7",
"url": "http://127.0.0.1:40561/assets/jsx-runtime-CriDp1zE.js",
"method": "GET",
"type": "Script"
},
{
"requestId": "3140755.8",
"url": "http://127.0.0.1:40561/assets/core-runtime-NDNIHpBU.js",
"method": "GET",
"type": "Script"
}
],
"responses": [
{
"requestId": "FA89FEC1E0380829A2432F0725FA79F4",
"url": "http://127.0.0.1:40561/core.html",
"status": 200
}
],
"externalRequests": [],
"console": [],
"exceptions": [],
"screenshotSha256": null
},
{
"id": "data-property-action",
"status": "pass",
"state": {
"status": "Native document command complete",
"stage": "success",
"response": {
"schema": "freecad-web-core/v1",
"version": 1,
"kind": "result",
"requestId": "data-property-1",
"result": {
"schema": "freecad-web-data-property-family-result/v1",
"command": "dataProperty.family",
"native": {
"ok": true,
"cmd": "dataProperty.family",
"inventory": 40,
"passed": 12,
"passedBoundary": 28,
"blocked": 0,
"records": [
{
"name": "Inspection::PropertyDistanceList",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "App::InventorObject",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Materials::Array2D",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Array3D",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Library",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Material",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialFilter",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialFilterOptions",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialLibrary",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialLibraryLocal",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialManager",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialManagerExternal",
"status": "passed_boundary",
"detail": "optional external material backend is not built; source registration is intentionally unavailable"
},
{
"name": "Materials::MaterialManagerLocal",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialProperty",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialValue",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Model",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelLibrary",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelLibraryLocal",
"status": "passed_boundary",
"detail": "optional external material backend is not built; source registration is intentionally unavailable"
},
{
"name": "Materials::ModelManager",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelManagerExternal",
"status": "passed_boundary",
"detail": "optional external material backend is not built; source registration is intentionally unavailable"
},
{
"name": "Materials::ModelManagerLocal",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelProperty",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelUUIDs",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::PropertyMaterial",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Measure::MeasureAngle",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureArea",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureBase",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureDiameter",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureDistance",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureDistanceDetached",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureLength",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasurePosition",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureRadius",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::Measurement",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Measure::Result",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Spreadsheet::PropertyColumnWidths",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::PropertyRowHeights",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::PropertySheet",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::PropertySpreadsheetQuantity",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::Sheet",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
}
],
"resourcesReleased": true,
"source": "freecad-source"
},
"source": "freecad-source",
"resourcesReleased": true
}
},
"progress": [
"1/1 native.data_property_family"
],
"duplicate": null,
"cancel": null
},
"requests": [],
"responses": [],
"externalRequests": [],
"console": [],
"exceptions": [],
"screenshotSha256": "7f81c059f59d00300ce616dddf03c16aaaec412db2c5da766d12225cfde6264a"
},
{
"id": "data-property-cancel",
"status": "pass",
"state": {
"status": "cancelled",
"stage": "cancelled",
"response": {
"schema": "freecad-web-core/v1",
"version": 1,
"kind": "error",
"requestId": "core-cancel-2",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"progress": [],
"duplicate": null,
"cancel": "cancelled"
},
"requests": [],
"responses": [],
"externalRequests": [],
"console": [],
"exceptions": [],
"screenshotSha256": null
},
{
"id": "data-property-expected-error",
"status": "pass",
"state": {
"status": "unknown_command",
"stage": "expected-error",
"response": {
"schema": "freecad-web-core/v1",
"version": 1,
"kind": "error",
"requestId": "core-error-3",
"error": {
"code": "unknown_command",
"message": "command core.missing is not registered"
}
},
"progress": [],
"duplicate": null,
"cancel": "cancelled"
},
"requests": [],
"responses": [],
"externalRequests": [],
"console": [],
"exceptions": [],
"screenshotSha256": null
},
{
"id": "data-property-reset",
"status": "pass",
"state": {
"status": "Core state reset",
"stage": "reset",
"response": null,
"progress": [],
"duplicate": null,
"cancel": null
},
"requests": [],
"responses": [],
"externalRequests": [],
"console": [],
"exceptions": [],
"screenshotSha256": null
},
{
"id": "data-property-repeat",
"status": "pass",
"state": {
"status": "Native document command complete",
"stage": "success",
"response": {
"schema": "freecad-web-core/v1",
"version": 1,
"kind": "result",
"requestId": "data-property-5",
"result": {
"schema": "freecad-web-data-property-family-result/v1",
"command": "dataProperty.family",
"native": {
"ok": true,
"cmd": "dataProperty.family",
"inventory": 40,
"passed": 12,
"passedBoundary": 28,
"blocked": 0,
"records": [
{
"name": "Inspection::PropertyDistanceList",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "App::InventorObject",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Materials::Array2D",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Array3D",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Library",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Material",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialFilter",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialFilterOptions",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialLibrary",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialLibraryLocal",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialManager",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialManagerExternal",
"status": "passed_boundary",
"detail": "optional external material backend is not built; source registration is intentionally unavailable"
},
{
"name": "Materials::MaterialManagerLocal",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialProperty",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::MaterialValue",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::Model",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelLibrary",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelLibraryLocal",
"status": "passed_boundary",
"detail": "optional external material backend is not built; source registration is intentionally unavailable"
},
{
"name": "Materials::ModelManager",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelManagerExternal",
"status": "passed_boundary",
"detail": "optional external material backend is not built; source registration is intentionally unavailable"
},
{
"name": "Materials::ModelManagerLocal",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelProperty",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::ModelUUIDs",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Materials::PropertyMaterial",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Measure::MeasureAngle",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureArea",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureBase",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureDiameter",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureDistance",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureDistanceDetached",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureLength",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasurePosition",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::MeasureRadius",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Measure::Measurement",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Measure::Result",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
},
{
"name": "Spreadsheet::PropertyColumnWidths",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::PropertyRowHeights",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::PropertySheet",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::PropertySpreadsheetQuantity",
"status": "passed_boundary",
"detail": "native property fixture passed; persistence is not applicable to this data type"
},
{
"name": "Spreadsheet::Sheet",
"status": "passed",
"detail": "native property read/write, recompute and applicable FCStd round-trip fixture passed"
}
],
"resourcesReleased": true,
"source": "freecad-source"
},
"source": "freecad-source",
"resourcesReleased": true
}
},
"progress": [
"1/1 native.data_property_family"
],
"duplicate": null,
"cancel": null
},
"requests": [],
"responses": [],
"externalRequests": [],
"console": [],
"exceptions": [],
"screenshotSha256": null
}
],
"evidence": {
"screenshot": "FreeCAD/docs/p6/user-data-property.png",
"screenshotSha256": "7f81c059f59d00300ce616dddf03c16aaaec412db2c5da766d12225cfde6264a",
"resultHash": "dc3ce0dbd1ada58acc8b92ff8be6ec31584a992a420c6b4b565697b74b6b7136"
},
"policy": {
"browser": "Google Chrome only",
"nonChromeBrowsersAttempted": false
}
}