feat: promote font force heat flux and integer set properties
This commit is contained in:
@@ -90,7 +90,7 @@
|
||||
}
|
||||
],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -139,7 +139,7 @@
|
||||
"binder": {
|
||||
"support": [],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -237,7 +237,7 @@
|
||||
}
|
||||
],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -286,7 +286,7 @@
|
||||
"binder": {
|
||||
"support": [],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -335,7 +335,7 @@
|
||||
"binder": {
|
||||
"support": [],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -433,7 +433,7 @@
|
||||
}
|
||||
],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -531,7 +531,7 @@
|
||||
}
|
||||
],
|
||||
"area": 54,
|
||||
"shapeId": "shape-mswzv1y3-3",
|
||||
"shapeId": "shape-msx0x35t-3",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -629,7 +629,7 @@
|
||||
}
|
||||
],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -727,7 +727,7 @@
|
||||
}
|
||||
],
|
||||
"area": 54,
|
||||
"shapeId": "shape-mswzv1y3-3",
|
||||
"shapeId": "shape-msx0x35t-3",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -825,7 +825,7 @@
|
||||
}
|
||||
],
|
||||
"area": 54,
|
||||
"shapeId": "shape-mswzv1y3-3",
|
||||
"shapeId": "shape-msx0x35t-3",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -923,7 +923,7 @@
|
||||
}
|
||||
],
|
||||
"area": 30,
|
||||
"shapeId": "shape-mswzv1xd-1",
|
||||
"shapeId": "shape-msx0x350-1",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -1021,7 +1021,7 @@
|
||||
}
|
||||
],
|
||||
"area": 54,
|
||||
"shapeId": "shape-mswzv1y3-3",
|
||||
"shapeId": "shape-msx0x35t-3",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
@@ -1059,8 +1059,8 @@
|
||||
},
|
||||
{
|
||||
"path": "src/facade/mockFacade.ts",
|
||||
"bytes": 171839,
|
||||
"sha256": "5124f81066ec2a292d4c770d9f48b4908e844ac874542f2af34c70c5514514a6"
|
||||
"bytes": 172346,
|
||||
"sha256": "100b84bd3ebfe1a620885d70e98e97c864f33f5d478126c8586cca6deddfd0ac"
|
||||
},
|
||||
{
|
||||
"path": "src/facade/geometryRuntime.ts",
|
||||
|
||||
63
config/chrome-property-font-verification.json
Normal file
63
config/chrome-property-font-verification.json
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"browserId": "chrome",
|
||||
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
|
||||
"crossOriginIsolated": true,
|
||||
"ui": {
|
||||
"inputType": "text",
|
||||
"label": "Font",
|
||||
"beforeValue": "osifont",
|
||||
"afterValue": "Noto Sans CJK SC",
|
||||
"documentVersion": 2,
|
||||
"dirty": true,
|
||||
"objectState": "touched",
|
||||
"errors": []
|
||||
},
|
||||
"persistence": {
|
||||
"mode": "sqlite-opfs",
|
||||
"sqliteWasm": true,
|
||||
"opfs": true,
|
||||
"savedMode": "sqlite-opfs",
|
||||
"loadedValue": "Noto Sans CJK SC",
|
||||
"loadedType": "App::PropertyFont",
|
||||
"checkpointVersion": 2,
|
||||
"recoveryIntegrity": "ok",
|
||||
"fcstdElement": "String",
|
||||
"fcstdValue": "Noto Sans CJK SC"
|
||||
},
|
||||
"resource": {
|
||||
"byteLength": 34,
|
||||
"roundTrip": true,
|
||||
"released": true,
|
||||
"markerRemoved": true
|
||||
},
|
||||
"worker": {
|
||||
"constructed": [
|
||||
{
|
||||
"name": "bitbybit-persistence",
|
||||
"url": "http://127.0.0.1:36431/src/facade/persistenceWorker.ts?worker_file&type=module"
|
||||
}
|
||||
],
|
||||
"requestTypes": [
|
||||
"initialize",
|
||||
"save-document",
|
||||
"load-document",
|
||||
"load-checkpoint",
|
||||
"recovery-report",
|
||||
"put-resource",
|
||||
"get-resource",
|
||||
"release-resource",
|
||||
"get-resource",
|
||||
"dispose"
|
||||
],
|
||||
"terminated": [
|
||||
"bitbybit-persistence"
|
||||
]
|
||||
},
|
||||
"release": {
|
||||
"shapeCount": 0,
|
||||
"kernelReferenceCount": 0,
|
||||
"workerTerminated": true
|
||||
}
|
||||
}
|
||||
64
config/chrome-property-force-verification.json
Normal file
64
config/chrome-property-force-verification.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"browserId": "chrome",
|
||||
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
|
||||
"crossOriginIsolated": true,
|
||||
"ui": {
|
||||
"inputType": "number",
|
||||
"label": "Force",
|
||||
"unit": "mm*kg/s^2",
|
||||
"beforeValue": 0,
|
||||
"afterValue": 500000,
|
||||
"documentVersion": 2,
|
||||
"dirty": true,
|
||||
"objectState": "touched",
|
||||
"errors": []
|
||||
},
|
||||
"persistence": {
|
||||
"mode": "sqlite-opfs",
|
||||
"sqliteWasm": true,
|
||||
"opfs": true,
|
||||
"savedMode": "sqlite-opfs",
|
||||
"loadedValue": 500000,
|
||||
"loadedType": "App::PropertyForce",
|
||||
"checkpointVersion": 2,
|
||||
"recoveryIntegrity": "ok",
|
||||
"fcstdElement": "Float",
|
||||
"fcstdValue": "500000"
|
||||
},
|
||||
"resource": {
|
||||
"byteLength": 35,
|
||||
"roundTrip": true,
|
||||
"released": true,
|
||||
"markerRemoved": true
|
||||
},
|
||||
"worker": {
|
||||
"constructed": [
|
||||
{
|
||||
"name": "bitbybit-persistence",
|
||||
"url": "http://127.0.0.1:42533/src/facade/persistenceWorker.ts?worker_file&type=module"
|
||||
}
|
||||
],
|
||||
"requestTypes": [
|
||||
"initialize",
|
||||
"save-document",
|
||||
"load-document",
|
||||
"load-checkpoint",
|
||||
"recovery-report",
|
||||
"put-resource",
|
||||
"get-resource",
|
||||
"release-resource",
|
||||
"get-resource",
|
||||
"dispose"
|
||||
],
|
||||
"terminated": [
|
||||
"bitbybit-persistence"
|
||||
]
|
||||
},
|
||||
"release": {
|
||||
"shapeCount": 0,
|
||||
"kernelReferenceCount": 0,
|
||||
"workerTerminated": true
|
||||
}
|
||||
}
|
||||
64
config/chrome-property-heatflux-verification.json
Normal file
64
config/chrome-property-heatflux-verification.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"browserId": "chrome",
|
||||
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
|
||||
"crossOriginIsolated": true,
|
||||
"ui": {
|
||||
"inputType": "number",
|
||||
"label": "DFlux",
|
||||
"unit": "kg/s^3",
|
||||
"beforeValue": 0,
|
||||
"afterValue": 500,
|
||||
"documentVersion": 2,
|
||||
"dirty": true,
|
||||
"objectState": "touched",
|
||||
"errors": []
|
||||
},
|
||||
"persistence": {
|
||||
"mode": "sqlite-opfs",
|
||||
"sqliteWasm": true,
|
||||
"opfs": true,
|
||||
"savedMode": "sqlite-opfs",
|
||||
"loadedValue": 500,
|
||||
"loadedType": "App::PropertyHeatFlux",
|
||||
"checkpointVersion": 2,
|
||||
"recoveryIntegrity": "ok",
|
||||
"fcstdElement": "Float",
|
||||
"fcstdValue": "500"
|
||||
},
|
||||
"resource": {
|
||||
"byteLength": 38,
|
||||
"roundTrip": true,
|
||||
"released": true,
|
||||
"markerRemoved": true
|
||||
},
|
||||
"worker": {
|
||||
"constructed": [
|
||||
{
|
||||
"name": "bitbybit-persistence",
|
||||
"url": "http://127.0.0.1:45625/src/facade/persistenceWorker.ts?worker_file&type=module"
|
||||
}
|
||||
],
|
||||
"requestTypes": [
|
||||
"initialize",
|
||||
"save-document",
|
||||
"load-document",
|
||||
"load-checkpoint",
|
||||
"recovery-report",
|
||||
"put-resource",
|
||||
"get-resource",
|
||||
"release-resource",
|
||||
"get-resource",
|
||||
"dispose"
|
||||
],
|
||||
"terminated": [
|
||||
"bitbybit-persistence"
|
||||
]
|
||||
},
|
||||
"release": {
|
||||
"shapeCount": 0,
|
||||
"kernelReferenceCount": 0,
|
||||
"workerTerminated": true
|
||||
}
|
||||
}
|
||||
74
config/chrome-property-integerset-verification.json
Normal file
74
config/chrome-property-integerset-verification.json
Normal file
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"browserId": "chrome",
|
||||
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
|
||||
"crossOriginIsolated": true,
|
||||
"ui": {
|
||||
"inputType": "text",
|
||||
"label": "Nodes",
|
||||
"beforeText": "1, 3",
|
||||
"afterText": "-1, 8",
|
||||
"beforeValue": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"afterValue": [
|
||||
-1,
|
||||
8
|
||||
],
|
||||
"documentVersion": 2,
|
||||
"dirty": true,
|
||||
"objectState": "touched",
|
||||
"errors": []
|
||||
},
|
||||
"persistence": {
|
||||
"mode": "sqlite-opfs",
|
||||
"sqliteWasm": true,
|
||||
"opfs": true,
|
||||
"savedMode": "sqlite-opfs",
|
||||
"loadedValue": [
|
||||
-1,
|
||||
8
|
||||
],
|
||||
"loadedType": "App::PropertyIntegerSet",
|
||||
"checkpointVersion": 2,
|
||||
"recoveryIntegrity": "ok",
|
||||
"fcstdElement": "IntegerSet",
|
||||
"fcstdValue": "[-1,8]"
|
||||
},
|
||||
"resource": {
|
||||
"byteLength": 34,
|
||||
"roundTrip": true,
|
||||
"released": true,
|
||||
"markerRemoved": true
|
||||
},
|
||||
"worker": {
|
||||
"constructed": [
|
||||
{
|
||||
"name": "bitbybit-persistence",
|
||||
"url": "http://127.0.0.1:41119/src/facade/persistenceWorker.ts?worker_file&type=module"
|
||||
}
|
||||
],
|
||||
"requestTypes": [
|
||||
"initialize",
|
||||
"save-document",
|
||||
"load-document",
|
||||
"load-checkpoint",
|
||||
"recovery-report",
|
||||
"put-resource",
|
||||
"get-resource",
|
||||
"release-resource",
|
||||
"get-resource",
|
||||
"dispose"
|
||||
],
|
||||
"terminated": [
|
||||
"bitbybit-persistence"
|
||||
]
|
||||
},
|
||||
"release": {
|
||||
"shapeCount": 0,
|
||||
"kernelReferenceCount": 0,
|
||||
"workerTerminated": true
|
||||
}
|
||||
}
|
||||
@@ -24,12 +24,12 @@
|
||||
],
|
||||
"followUpProgress": "config/freecad-follow-up-task-progress.json"
|
||||
},
|
||||
"nextTask": "PROP-app-propertyfont-A",
|
||||
"nextTask": "PROP-app-propertyintegerset-A",
|
||||
"summary": {
|
||||
"tasks": 1756,
|
||||
"completed": 559,
|
||||
"completed": 586,
|
||||
"inProgress": 1,
|
||||
"pending": 1196
|
||||
"pending": 1169
|
||||
},
|
||||
"milestones": [
|
||||
{
|
||||
@@ -7602,7 +7602,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-A",
|
||||
"title": "Lock native inventory and preconditions: App::PropertyFont",
|
||||
"status": "in_progress",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfileincluded-I"
|
||||
],
|
||||
@@ -7618,7 +7618,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-B",
|
||||
"title": "Capture native success evidence: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-A"
|
||||
],
|
||||
@@ -7634,7 +7634,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-C",
|
||||
"title": "Capture native failure and cancel evidence: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-B"
|
||||
],
|
||||
@@ -7650,7 +7650,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-D",
|
||||
"title": "Capture parameter mutation and restore evidence: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-C"
|
||||
],
|
||||
@@ -7666,7 +7666,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-E",
|
||||
"title": "Implement the Facade capability: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-D"
|
||||
],
|
||||
@@ -7682,7 +7682,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-F",
|
||||
"title": "Close transaction and recovery behavior: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-E"
|
||||
],
|
||||
@@ -7698,7 +7698,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-G",
|
||||
"title": "Close FCStd save, reopen and resave: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-F"
|
||||
],
|
||||
@@ -7714,7 +7714,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-H",
|
||||
"title": "Replay in a real browser: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-G"
|
||||
],
|
||||
@@ -7730,7 +7730,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyfont-I",
|
||||
"title": "Promote capability and synchronize blockers: App::PropertyFont",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-H"
|
||||
],
|
||||
@@ -7747,7 +7747,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-A",
|
||||
"title": "Lock native inventory and preconditions: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyfont-I"
|
||||
],
|
||||
@@ -7763,7 +7763,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-B",
|
||||
"title": "Capture native success evidence: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-A"
|
||||
],
|
||||
@@ -7779,7 +7779,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-C",
|
||||
"title": "Capture native failure and cancel evidence: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-B"
|
||||
],
|
||||
@@ -7795,7 +7795,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-D",
|
||||
"title": "Capture parameter mutation and restore evidence: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-C"
|
||||
],
|
||||
@@ -7811,7 +7811,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-E",
|
||||
"title": "Implement the Facade capability: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-D"
|
||||
],
|
||||
@@ -7827,7 +7827,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-F",
|
||||
"title": "Close transaction and recovery behavior: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-E"
|
||||
],
|
||||
@@ -7843,7 +7843,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-G",
|
||||
"title": "Close FCStd save, reopen and resave: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-F"
|
||||
],
|
||||
@@ -7859,7 +7859,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-H",
|
||||
"title": "Replay in a real browser: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-G"
|
||||
],
|
||||
@@ -7875,7 +7875,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyforce-I",
|
||||
"title": "Promote capability and synchronize blockers: App::PropertyForce",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-H"
|
||||
],
|
||||
@@ -7892,7 +7892,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-A",
|
||||
"title": "Lock native inventory and preconditions: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyforce-I"
|
||||
],
|
||||
@@ -7908,7 +7908,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-B",
|
||||
"title": "Capture native success evidence: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-A"
|
||||
],
|
||||
@@ -7924,7 +7924,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-C",
|
||||
"title": "Capture native failure and cancel evidence: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-B"
|
||||
],
|
||||
@@ -7940,7 +7940,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-D",
|
||||
"title": "Capture parameter mutation and restore evidence: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-C"
|
||||
],
|
||||
@@ -7956,7 +7956,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-E",
|
||||
"title": "Implement the Facade capability: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-D"
|
||||
],
|
||||
@@ -7972,7 +7972,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-F",
|
||||
"title": "Close transaction and recovery behavior: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-E"
|
||||
],
|
||||
@@ -7988,7 +7988,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-G",
|
||||
"title": "Close FCStd save, reopen and resave: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-F"
|
||||
],
|
||||
@@ -8004,7 +8004,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-H",
|
||||
"title": "Replay in a real browser: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-G"
|
||||
],
|
||||
@@ -8020,7 +8020,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-I",
|
||||
"title": "Promote capability and synchronize blockers: App::PropertyHeatFlux",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-H"
|
||||
],
|
||||
@@ -8037,7 +8037,7 @@
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-A",
|
||||
"title": "Lock native inventory and preconditions: App::PropertyIntegerSet",
|
||||
"status": "pending",
|
||||
"status": "in_progress",
|
||||
"dependencies": [
|
||||
"PROP-app-propertyheatflux-I"
|
||||
],
|
||||
|
||||
@@ -542,6 +542,241 @@
|
||||
"config/freecad-property-fileincluded-promotion.json",
|
||||
"check:freecad-property-fileincluded-promotion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-A",
|
||||
"evidence": [
|
||||
"config/freecad-property-font-inventory.json",
|
||||
"check:freecad-property-font-inventory"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-B",
|
||||
"evidence": [
|
||||
"config/freecad-property-font-success.json",
|
||||
"check:freecad-property-font-success"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-C",
|
||||
"evidence": [
|
||||
"config/freecad-property-font-failure.json",
|
||||
"check:freecad-property-font-failure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-D",
|
||||
"evidence": [
|
||||
"config/freecad-property-font-mutation.json",
|
||||
"check:freecad-property-font-mutation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-E",
|
||||
"evidence": [
|
||||
"src/facade/types.ts",
|
||||
"src/facade/fcstd.ts",
|
||||
"src/facade/mockFacade.ts",
|
||||
"src/App.tsx",
|
||||
"tests/propertyFontFacade.test.ts",
|
||||
"test:freecad-property-font-facade"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-F",
|
||||
"evidence": [
|
||||
"tests/propertyFontTransaction.test.ts",
|
||||
"test:freecad-property-font-transaction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-G",
|
||||
"evidence": [
|
||||
"config/freecad-property-font-roundtrip.json",
|
||||
"check:freecad-property-font-roundtrip"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-H",
|
||||
"evidence": [
|
||||
"config/chrome-property-font-verification.json",
|
||||
"check:chrome-property-font"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyfont-I",
|
||||
"evidence": [
|
||||
"config/freecad-property-font-promotion.json",
|
||||
"check:freecad-property-font-promotion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-A",
|
||||
"evidence": [
|
||||
"config/freecad-property-force-inventory.json",
|
||||
"check:freecad-property-force-inventory"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-B",
|
||||
"evidence": [
|
||||
"config/freecad-property-force-success.json",
|
||||
"check:freecad-property-force-success"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-C",
|
||||
"evidence": [
|
||||
"config/freecad-property-force-failure.json",
|
||||
"check:freecad-property-force-failure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-D",
|
||||
"evidence": [
|
||||
"config/freecad-property-force-mutation.json",
|
||||
"check:freecad-property-force-mutation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-E",
|
||||
"evidence": [
|
||||
"src/facade/units.ts",
|
||||
"src/facade/types.ts",
|
||||
"src/facade/fcstd.ts",
|
||||
"src/facade/mockFacade.ts",
|
||||
"src/App.tsx",
|
||||
"tests/propertyForceFacade.test.ts",
|
||||
"test:freecad-property-force-facade"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-F",
|
||||
"evidence": [
|
||||
"tests/propertyForceTransaction.test.ts",
|
||||
"test:freecad-property-force-transaction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-G",
|
||||
"evidence": [
|
||||
"config/freecad-property-force-roundtrip.json",
|
||||
"check:freecad-property-force-roundtrip"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-H",
|
||||
"evidence": [
|
||||
"config/chrome-property-force-verification.json",
|
||||
"check:chrome-property-force"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyforce-I",
|
||||
"evidence": [
|
||||
"config/freecad-property-force-promotion.json",
|
||||
"check:freecad-property-force-promotion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-A",
|
||||
"evidence": [
|
||||
"config/freecad-property-heatflux-inventory.json",
|
||||
"check:freecad-property-heatflux-inventory"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-B",
|
||||
"evidence": [
|
||||
"config/freecad-property-heatflux-success.json",
|
||||
"check:freecad-property-heatflux-success"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-C",
|
||||
"evidence": [
|
||||
"config/freecad-property-heatflux-failure.json",
|
||||
"check:freecad-property-heatflux-failure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-D",
|
||||
"evidence": [
|
||||
"config/freecad-property-heatflux-mutation.json",
|
||||
"check:freecad-property-heatflux-mutation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-E",
|
||||
"evidence": [
|
||||
"src/facade/units.ts",
|
||||
"src/facade/types.ts",
|
||||
"src/facade/fcstd.ts",
|
||||
"src/facade/mockFacade.ts",
|
||||
"src/App.tsx",
|
||||
"tests/propertyHeatFluxFacade.test.ts",
|
||||
"test:freecad-property-heatflux-facade"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-F",
|
||||
"evidence": [
|
||||
"tests/propertyHeatFluxTransaction.test.ts",
|
||||
"test:freecad-property-heatflux-transaction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-G",
|
||||
"evidence": [
|
||||
"config/freecad-property-heatflux-roundtrip.json",
|
||||
"check:freecad-property-heatflux-roundtrip"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-H",
|
||||
"evidence": [
|
||||
"config/chrome-property-heatflux-verification.json",
|
||||
"check:chrome-property-heatflux"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyheatflux-I",
|
||||
"evidence": [
|
||||
"config/freecad-property-heatflux-promotion.json",
|
||||
"check:freecad-property-heatflux-promotion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-A",
|
||||
"evidence": ["config/freecad-property-integerset-inventory.json", "check:freecad-property-integerset-inventory"]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-B",
|
||||
"evidence": ["config/freecad-property-integerset-success.json", "check:freecad-property-integerset-success"]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-C",
|
||||
"evidence": ["config/freecad-property-integerset-failure.json", "check:freecad-property-integerset-failure"]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-D",
|
||||
"evidence": ["config/freecad-property-integerset-mutation.json", "check:freecad-property-integerset-mutation"]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-E",
|
||||
"evidence": ["src/facade/types.ts", "src/facade/fcstd.ts", "src/facade/mockFacade.ts", "src/App.tsx", "tests/propertyIntegerSetFacade.test.ts", "test:freecad-property-integerset-facade"]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-F",
|
||||
"evidence": ["tests/propertyIntegerSetTransaction.test.ts", "test:freecad-property-integerset-transaction"]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-G",
|
||||
"evidence": ["config/freecad-property-integerset-roundtrip.json", "check:freecad-property-integerset-roundtrip"]
|
||||
},
|
||||
{
|
||||
"id": "PROP-app-propertyintegerset-H",
|
||||
"evidence": ["config/chrome-property-integerset-verification.json", "check:chrome-property-integerset"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -37,16 +37,16 @@
|
||||
},
|
||||
"supportSummary": {
|
||||
"native-editable-codec": {
|
||||
"typeCount": 30,
|
||||
"recordCount": 4361
|
||||
"typeCount": 34,
|
||||
"recordCount": 4370
|
||||
},
|
||||
"native-specialized-codec": {
|
||||
"typeCount": 5,
|
||||
"recordCount": 683
|
||||
},
|
||||
"opaque-fcstd-proxy": {
|
||||
"typeCount": 50,
|
||||
"recordCount": 466
|
||||
"typeCount": 46,
|
||||
"recordCount": 457
|
||||
}
|
||||
},
|
||||
"types": [
|
||||
@@ -215,14 +215,14 @@
|
||||
},
|
||||
{
|
||||
"typeId": "App::PropertyFont",
|
||||
"support": "opaque-fcstd-proxy",
|
||||
"support": "native-editable-codec",
|
||||
"recordCount": 2,
|
||||
"objectTypeCount": 2,
|
||||
"statusNames": []
|
||||
},
|
||||
{
|
||||
"typeId": "App::PropertyForce",
|
||||
"support": "opaque-fcstd-proxy",
|
||||
"support": "native-editable-codec",
|
||||
"recordCount": 4,
|
||||
"objectTypeCount": 2,
|
||||
"statusNames": [
|
||||
@@ -231,7 +231,7 @@
|
||||
},
|
||||
{
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"support": "opaque-fcstd-proxy",
|
||||
"support": "native-editable-codec",
|
||||
"recordCount": 1,
|
||||
"objectTypeCount": 1,
|
||||
"statusNames": []
|
||||
@@ -271,7 +271,7 @@
|
||||
},
|
||||
{
|
||||
"typeId": "App::PropertyIntegerSet",
|
||||
"support": "opaque-fcstd-proxy",
|
||||
"support": "native-editable-codec",
|
||||
"recordCount": 2,
|
||||
"objectTypeCount": 2,
|
||||
"statusNames": []
|
||||
@@ -902,10 +902,10 @@
|
||||
},
|
||||
"harness": {
|
||||
"path": "scripts/run-freecad-native-property-semantics.mjs",
|
||||
"bytes": 6615,
|
||||
"sha256": "fad232fd5a013d40639069df2f8752f04fc5d373c6a7a7ece8ed3276612af9f3"
|
||||
"bytes": 6710,
|
||||
"sha256": "7362b5e31dfcfba144c78f525cf5e1c94ab687e2a57dd34118d4428e79867804"
|
||||
},
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics",
|
||||
"generatedAt": "2026-08-17T08:49:24.621Z"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics",
|
||||
"generatedAt": "2026-08-17T13:03:27.855Z"
|
||||
}
|
||||
|
||||
@@ -54,13 +54,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.800Z"
|
||||
"generatedAt": "2026-08-17T13:03:42.988Z"
|
||||
}
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.776Z"
|
||||
"generatedAt": "2026-08-17T13:03:43.029Z"
|
||||
}
|
||||
|
||||
@@ -68,13 +68,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.825Z"
|
||||
"generatedAt": "2026-08-17T13:03:43.058Z"
|
||||
}
|
||||
|
||||
@@ -68,13 +68,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.829Z"
|
||||
"generatedAt": "2026-08-17T13:03:43.033Z"
|
||||
}
|
||||
|
||||
@@ -85,13 +85,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.826Z"
|
||||
"generatedAt": "2026-08-17T13:03:42.988Z"
|
||||
}
|
||||
|
||||
@@ -65,13 +65,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.839Z"
|
||||
"generatedAt": "2026-08-17T13:03:43.033Z"
|
||||
}
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.800Z"
|
||||
"generatedAt": "2026-08-17T13:03:43.095Z"
|
||||
}
|
||||
|
||||
@@ -64,13 +64,13 @@
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 30,
|
||||
"nativeEditableRecords": 4361,
|
||||
"opaqueTypes": 50,
|
||||
"opaqueRecords": 466,
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "50 runtime property types and 466 records remain opaque-only; complete native document and property semantics"
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T08:49:33.815Z"
|
||||
"generatedAt": "2026-08-17T13:03:43.103Z"
|
||||
}
|
||||
|
||||
252
config/freecad-property-font-failure.json
Normal file
252
config/freecad-property-font-failure.json
Normal file
@@ -0,0 +1,252 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-font-failure",
|
||||
"cancellationBoundary": {
|
||||
"classification": "synchronous-property-setter",
|
||||
"reason": "no-native-cancel-hook",
|
||||
"replacement": "abort-active-document-transaction",
|
||||
"supported": false
|
||||
},
|
||||
"disabled": {
|
||||
"after": {
|
||||
"editorMode": [
|
||||
"ReadOnly"
|
||||
],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [
|
||||
"Immutable",
|
||||
"ReadOnly"
|
||||
],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"before": {
|
||||
"editorMode": [
|
||||
"ReadOnly"
|
||||
],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [
|
||||
"Immutable",
|
||||
"ReadOnly"
|
||||
],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"classification": "editor-read-only-and-python-immutable",
|
||||
"editorMode": [
|
||||
"ReadOnly"
|
||||
],
|
||||
"exception": {
|
||||
"message": "Object attribute 'Font' is read-only",
|
||||
"type": "AttributeError"
|
||||
},
|
||||
"restoredEditorMode": [],
|
||||
"restoredStatus": [],
|
||||
"status": [
|
||||
"Immutable",
|
||||
"ReadOnly"
|
||||
]
|
||||
},
|
||||
"documentIntegrity": {
|
||||
"finalObjects": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"initialObjects": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectCount": 1,
|
||||
"objectsPreserved": true
|
||||
},
|
||||
"failure": {
|
||||
"after": {
|
||||
"editorMode": [],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"before": {
|
||||
"editorMode": [],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "type must be str or unicode, not int",
|
||||
"type": "TypeError"
|
||||
},
|
||||
"id": "wrong-type",
|
||||
"objectsPreserved": true,
|
||||
"requested": 12345
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"initial": {
|
||||
"editorMode": [],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"object": {
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
},
|
||||
"property": {
|
||||
"name": "Font",
|
||||
"typeId": "App::PropertyFont"
|
||||
},
|
||||
"propertyType": "App::PropertyFont",
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"transaction": {
|
||||
"activeAfterAbort": {
|
||||
"id": 0,
|
||||
"name": ""
|
||||
},
|
||||
"activeAfterEdit": {
|
||||
"id": 1,
|
||||
"name": "property-font-cancel"
|
||||
},
|
||||
"afterAbort": {
|
||||
"editorMode": [],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"before": {
|
||||
"editorMode": [],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"edited": {
|
||||
"editorMode": [],
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"statusString": "Valid",
|
||||
"value": "Transaction Font"
|
||||
},
|
||||
"objectsAfter": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectsBefore": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectsRestored": true,
|
||||
"pendingAfterAbort": false,
|
||||
"pendingAfterEdit": true,
|
||||
"restored": true,
|
||||
"undoMode": 1
|
||||
}
|
||||
}
|
||||
140
config/freecad-property-font-inventory.json
Normal file
140
config/freecad-property-font-inventory.json
Normal file
@@ -0,0 +1,140 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyFont",
|
||||
"recordCount": 2,
|
||||
"objectTypeCount": 2,
|
||||
"records": [
|
||||
{
|
||||
"objectTypeId": "TechDraw::DrawViewAnnotation",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "Font",
|
||||
"group": "Annotation",
|
||||
"status": [],
|
||||
"defaultRaw": "osifont",
|
||||
"valueModel": {
|
||||
"kind": "font-family-string",
|
||||
"representation": "App::PropertyString-derived UTF-8 font family name",
|
||||
"writable": true,
|
||||
"installedFontRequired": false
|
||||
},
|
||||
"inputs": {
|
||||
"accepted": [
|
||||
"utf8-string"
|
||||
],
|
||||
"emptyStringAccepted": true,
|
||||
"arbitraryFamilyNameAccepted": true
|
||||
},
|
||||
"editor": "Gui::PropertyEditor::PropertyFontItem",
|
||||
"editorModel": "QFontDatabase family list exposed through QComboBox",
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "TechDraw::DrawViewAnnotation",
|
||||
"propertyWriteRequiresShape": false,
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectTypeId": "TechDraw::DrawViewSpreadsheet",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "Font",
|
||||
"group": "Spreadsheet",
|
||||
"status": [],
|
||||
"defaultRaw": "osifont",
|
||||
"valueModel": {
|
||||
"kind": "font-family-string",
|
||||
"representation": "App::PropertyString-derived UTF-8 font family name",
|
||||
"writable": true,
|
||||
"installedFontRequired": false
|
||||
},
|
||||
"inputs": {
|
||||
"accepted": [
|
||||
"utf8-string"
|
||||
],
|
||||
"emptyStringAccepted": true,
|
||||
"arbitraryFamilyNameAccepted": true
|
||||
},
|
||||
"editor": "Gui::PropertyEditor::PropertyFontItem",
|
||||
"editorModel": "QFontDatabase family list exposed through QComboBox",
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "TechDraw::DrawViewSpreadsheet",
|
||||
"propertyWriteRequiresShape": false,
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
}
|
||||
],
|
||||
"storage": {
|
||||
"inheritedFrom": "App::PropertyString",
|
||||
"xmlElement": "String",
|
||||
"scalarEncoding": "UTF-8 font family name",
|
||||
"fontResourceEmbedded": false,
|
||||
"browserBoundary": "preserve the family name; browser font availability is presentation-only"
|
||||
},
|
||||
"provenance": {
|
||||
"runtime": {
|
||||
"path": ".cache/freecad/reference-desktop.json",
|
||||
"bytes": 2298709,
|
||||
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/App/PropertyStandard.h",
|
||||
"bytes": 37529,
|
||||
"sha256": "3555ab386b4815329b09604bbd70626c2b24b66f90a7ff2c31052b55fd3c9244"
|
||||
},
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/App/PropertyStandard.cpp",
|
||||
"bytes": 99757,
|
||||
"sha256": "eeefbbd7020c85c21e2e6b5f777088261668492845cf4d172e31f600fe9b96fd"
|
||||
},
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/Gui/propertyeditor/PropertyItem.h",
|
||||
"bytes": 41826,
|
||||
"sha256": "aaade89f5386b5d061b1b2d09a4fd01e7a27e3c601117fc00e44e115f347d9ed"
|
||||
},
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/Gui/propertyeditor/PropertyItem.cpp",
|
||||
"bytes": 142093,
|
||||
"sha256": "bf2f7cb4c01034425f4ebd46f901ada03c5fa02dcffbc1d3936e49ef7bc43b52"
|
||||
},
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/Mod/TechDraw/App/DrawViewAnnotation.h",
|
||||
"bytes": 3471,
|
||||
"sha256": "41361c931510ab4adc8348b1427bf80da150315c72b1bb6f99eb3d94ee396c18"
|
||||
},
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/Mod/TechDraw/App/DrawViewAnnotation.cpp",
|
||||
"bytes": 6635,
|
||||
"sha256": "b86a2a1837584d036734924492a1768a88aed4a902e9c7e934b4d2f2d9a79e9b"
|
||||
},
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/Mod/TechDraw/App/DrawViewSpreadsheet.h",
|
||||
"bytes": 3203,
|
||||
"sha256": "2037de09272de8684cbf37d94e442561581595de9b6a42798581dfd2b7d98ac0"
|
||||
},
|
||||
{
|
||||
"path": ".cache/freecad/FreeCAD/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp",
|
||||
"bytes": 17747,
|
||||
"sha256": "3256a14e826d91ea8eafe573b9282b42f164ff735408e9ba83daa8e50dfb28ec"
|
||||
}
|
||||
]
|
||||
},
|
||||
"classification": "opaque-fcstd-proxy",
|
||||
"nextPhases": [
|
||||
"B",
|
||||
"C",
|
||||
"D",
|
||||
"E",
|
||||
"F",
|
||||
"G",
|
||||
"H",
|
||||
"I"
|
||||
]
|
||||
}
|
||||
84
config/freecad-property-font-mutation.json
Normal file
84
config/freecad-property-font-mutation.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-font-mutation",
|
||||
"classification": {
|
||||
"geometryApplicability": "not-applicable-no-shape-property",
|
||||
"objectSetStable": true,
|
||||
"restoreExact": true,
|
||||
"unknownSemanticDrift": false,
|
||||
"valueChanged": true
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"object": {
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
},
|
||||
"phases": {
|
||||
"before": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": false,
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"edited": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": true,
|
||||
"statusString": "Valid",
|
||||
"value": "Liberation Sans"
|
||||
},
|
||||
"restored": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": true,
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
}
|
||||
},
|
||||
"property": {
|
||||
"name": "Font",
|
||||
"typeId": "App::PropertyFont"
|
||||
},
|
||||
"propertyType": "App::PropertyFont",
|
||||
"requested": {
|
||||
"before": "osifont",
|
||||
"edited": "Liberation Sans",
|
||||
"restored": "osifont"
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass"
|
||||
}
|
||||
72
config/freecad-property-font-promotion.json
Normal file
72
config/freecad-property-font-promotion.json
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"taskId": "PROP-app-propertyfont-I",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyFont",
|
||||
"recordCount": 2,
|
||||
"phaseEvidence": {
|
||||
"A": [
|
||||
"config/freecad-property-font-inventory.json",
|
||||
"check:freecad-property-font-inventory"
|
||||
],
|
||||
"B": [
|
||||
"config/freecad-property-font-success.json",
|
||||
"check:freecad-property-font-success"
|
||||
],
|
||||
"C": [
|
||||
"config/freecad-property-font-failure.json",
|
||||
"check:freecad-property-font-failure"
|
||||
],
|
||||
"D": [
|
||||
"config/freecad-property-font-mutation.json",
|
||||
"check:freecad-property-font-mutation"
|
||||
],
|
||||
"E": [
|
||||
"src/facade/types.ts",
|
||||
"src/facade/fcstd.ts",
|
||||
"src/facade/mockFacade.ts",
|
||||
"src/App.tsx",
|
||||
"tests/propertyFontFacade.test.ts",
|
||||
"test:freecad-property-font-facade"
|
||||
],
|
||||
"F": [
|
||||
"tests/propertyFontTransaction.test.ts",
|
||||
"test:freecad-property-font-transaction"
|
||||
],
|
||||
"G": [
|
||||
"config/freecad-property-font-roundtrip.json",
|
||||
"check:freecad-property-font-roundtrip"
|
||||
],
|
||||
"H": [
|
||||
"config/chrome-property-font-verification.json",
|
||||
"check:chrome-property-font"
|
||||
]
|
||||
},
|
||||
"promotion": {
|
||||
"from": "opaque-fcstd-proxy",
|
||||
"to": "native-editable-codec",
|
||||
"facadeValueModel": "bounded-utf8-font-family-string-with-native-string-fcstd-payload",
|
||||
"writableRecords": 2,
|
||||
"objectTypeCount": 2,
|
||||
"fcstdElement": "String",
|
||||
"defaultValue": "osifont",
|
||||
"nativeRoundTripValue": "Noto Sans CJK SC",
|
||||
"browserRoundTripValue": "Noto Sans CJK SC",
|
||||
"fontResourceBoundary": "font family name persists in FCStd; font files and availability remain presentation-only",
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T13:03:43.084Z"
|
||||
}
|
||||
121
config/freecad-property-font-roundtrip.json
Normal file
121
config/freecad-property-font-roundtrip.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baselineId": "freecad-1.1.1-property-font-roundtrip",
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"propertyType": "App::PropertyFont",
|
||||
"archives": {
|
||||
"nativeInitial": {
|
||||
"path": ".cache/freecad/property-font-roundtrip/native-initial.FCStd",
|
||||
"bytes": 1486,
|
||||
"sha256": "de40c35893bffdffdf414568591f709d26870f55243a154c7e38d870e589a8c7"
|
||||
},
|
||||
"webEdited": {
|
||||
"path": ".cache/freecad/property-font-roundtrip/web-edited.FCStd",
|
||||
"bytes": 1335,
|
||||
"sha256": "6d653056914cf3c7440741753e0502d516d86fd6dc9504d5f774bf079f03f017"
|
||||
},
|
||||
"nativeResaved": {
|
||||
"path": ".cache/freecad/property-font-roundtrip/native-resaved.FCStd",
|
||||
"bytes": 1494,
|
||||
"sha256": "37b9ef6010010cb6ecce19cf84e269fdc08f8398c6d575f027b4a6cac0fe51c4"
|
||||
}
|
||||
},
|
||||
"nativeInitial": {
|
||||
"object": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"name": "FontProbe",
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "TechDraw::DrawViewAnnotation",
|
||||
"value": "osifont"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
]
|
||||
},
|
||||
"web": {
|
||||
"before": {
|
||||
"name": "Font",
|
||||
"typeId": "App::PropertyFont",
|
||||
"element": "String",
|
||||
"value": "osifont"
|
||||
},
|
||||
"after": {
|
||||
"name": "Font",
|
||||
"typeId": "App::PropertyFont",
|
||||
"element": "String",
|
||||
"value": "Noto Sans CJK SC"
|
||||
},
|
||||
"targetMarkedTouched": true,
|
||||
"webOutputMatches": true,
|
||||
"semanticObjectsPreserved": true,
|
||||
"opaquePathsPreserved": 0,
|
||||
"opaqueEntriesPreserved": true
|
||||
},
|
||||
"nativeAfter": {
|
||||
"reopened": {
|
||||
"object": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"name": "FontProbe",
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "TechDraw::DrawViewAnnotation",
|
||||
"value": "Noto Sans CJK SC"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
]
|
||||
},
|
||||
"resaved": {
|
||||
"object": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"name": "FontProbe",
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "TechDraw::DrawViewAnnotation",
|
||||
"value": "Noto Sans CJK SC"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"classification": {
|
||||
"requestedValue": "Noto Sans CJK SC",
|
||||
"webValue": "Noto Sans CJK SC",
|
||||
"reopenedValue": "Noto Sans CJK SC",
|
||||
"resavedValue": "Noto Sans CJK SC",
|
||||
"nativeOutputMatches": true,
|
||||
"objectSetPreserved": true,
|
||||
"nativeStateStable": true,
|
||||
"fontResourceBoundary": "font family name persists in FCStd; font files and availability remain presentation-only",
|
||||
"unknownSemanticDrift": false,
|
||||
"zeroUnknownDrift": true
|
||||
}
|
||||
}
|
||||
118
config/freecad-property-font-success.json
Normal file
118
config/freecad-property-font-success.json
Normal file
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-font-success",
|
||||
"diagnostics": {
|
||||
"documentObjectCount": 1,
|
||||
"exception": null
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"object": {
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
},
|
||||
"phases": {
|
||||
"default": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": true,
|
||||
"requested": "osifont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"empty-family": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": true,
|
||||
"requested": "",
|
||||
"statusString": "Valid",
|
||||
"value": ""
|
||||
},
|
||||
"named-family": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": true,
|
||||
"requested": "DejaVu Sans",
|
||||
"statusString": "Valid",
|
||||
"value": "DejaVu Sans"
|
||||
},
|
||||
"restored": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": true,
|
||||
"requested": "osifont",
|
||||
"statusString": "Valid",
|
||||
"value": "osifont"
|
||||
},
|
||||
"unicode-family": {
|
||||
"editorMode": [],
|
||||
"hasShapeProperty": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "FontProbe",
|
||||
"typeId": "TechDraw::DrawViewAnnotation"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyFont",
|
||||
"recomputeResult": true,
|
||||
"requested": "Noto Sans CJK SC",
|
||||
"statusString": "Valid",
|
||||
"value": "Noto Sans CJK SC"
|
||||
}
|
||||
},
|
||||
"property": {
|
||||
"group": "Annotation",
|
||||
"name": "Font",
|
||||
"typeId": "App::PropertyFont"
|
||||
},
|
||||
"propertyType": "App::PropertyFont",
|
||||
"schemaVersion": 1,
|
||||
"status": "pass"
|
||||
}
|
||||
241
config/freecad-property-force-failure.json
Normal file
241
config/freecad-property-force-failure.json
Normal file
@@ -0,0 +1,241 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-force-failure",
|
||||
"cancellationBoundary": {
|
||||
"classification": "synchronous-property-setter",
|
||||
"reason": "no-native-cancel-hook",
|
||||
"replacement": "abort-active-document-transaction",
|
||||
"supported": false
|
||||
},
|
||||
"disabled": {
|
||||
"after": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"classification": "editor-read-only-and-python-immutable",
|
||||
"editorMode": [
|
||||
"ReadOnly"
|
||||
],
|
||||
"exception": {
|
||||
"message": "Object attribute 'Force' is read-only",
|
||||
"type": "AttributeError"
|
||||
},
|
||||
"objectsPreserved": true,
|
||||
"requested": "750 N",
|
||||
"restoredEditorMode": [],
|
||||
"restoredStatus": [],
|
||||
"status": [
|
||||
"Immutable",
|
||||
"ReadOnly"
|
||||
],
|
||||
"valuePreserved": true
|
||||
},
|
||||
"documentIntegrity": {
|
||||
"finalObjects": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"initialObjects": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"objectCount": 2,
|
||||
"objectsPreserved": true
|
||||
},
|
||||
"failures": [
|
||||
{
|
||||
"after": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "Not matching Unit!",
|
||||
"type": "ArithmeticError"
|
||||
},
|
||||
"id": "wrong-dimension",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "5 mm",
|
||||
"valuePreserved": true
|
||||
},
|
||||
{
|
||||
"after": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "syntax error",
|
||||
"type": "ParserError"
|
||||
},
|
||||
"id": "malformed-text",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "not-a-quantity",
|
||||
"valuePreserved": true
|
||||
}
|
||||
],
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"initial": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"object": {
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
"outputBoundary": {
|
||||
"after": {
|
||||
"numeric": 125000,
|
||||
"raw": "125000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"assignmentException": null,
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"classification": "prop-output-ui-read-only-python-mutable",
|
||||
"editorMode": [],
|
||||
"property": {
|
||||
"name": "ForceX",
|
||||
"typeId": "App::PropertyForce"
|
||||
},
|
||||
"restored": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"restoredExactly": true,
|
||||
"status": [
|
||||
"27"
|
||||
]
|
||||
},
|
||||
"property": {
|
||||
"name": "Force",
|
||||
"typeId": "App::PropertyForce"
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"transaction": {
|
||||
"activeAfterAbort": {
|
||||
"id": 0,
|
||||
"name": ""
|
||||
},
|
||||
"activeAfterEdit": {
|
||||
"id": 1,
|
||||
"name": "property-force-cancel"
|
||||
},
|
||||
"afterAbort": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"edited": {
|
||||
"numeric": 250000,
|
||||
"raw": "250000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
},
|
||||
"objectsAfter": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"objectsBefore": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"objectsRestored": true,
|
||||
"pendingAfterAbort": false,
|
||||
"pendingAfterEdit": true,
|
||||
"restored": true,
|
||||
"undoMode": 1
|
||||
}
|
||||
}
|
||||
136
config/freecad-property-force-inventory.json
Normal file
136
config/freecad-property-force-inventory.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyForce",
|
||||
"recordCount": 4,
|
||||
"writableRecordCount": 1,
|
||||
"outputRecordCount": 3,
|
||||
"records": [
|
||||
{
|
||||
"objectTypeId": "Fem::ConstraintForce",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "Force",
|
||||
"group": "",
|
||||
"status": [],
|
||||
"defaultRaw": "0.0 mm*kg/s^2",
|
||||
"valueModel": {
|
||||
"kind": "quantity",
|
||||
"dimension": "mass*length/time^2",
|
||||
"internalUnit": "mm*kg/s^2",
|
||||
"displayUnit": "N",
|
||||
"newtonScale": 1000,
|
||||
"defaultValue": 0,
|
||||
"writable": true,
|
||||
"derivedOutput": false,
|
||||
"acceptedBoundaryEvidence": "inventory-only; value and boundary acceptance remain pending in phase B/C"
|
||||
},
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "Fem::ConstraintForce",
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectTypeId": "Fem::ConstraintRigidBody",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "ForceX",
|
||||
"group": "ConstraintRigidBody",
|
||||
"status": [
|
||||
27
|
||||
],
|
||||
"defaultRaw": "0.0 mm*kg/s^2",
|
||||
"valueModel": {
|
||||
"kind": "quantity",
|
||||
"dimension": "mass*length/time^2",
|
||||
"internalUnit": "mm*kg/s^2",
|
||||
"displayUnit": "N",
|
||||
"newtonScale": 1000,
|
||||
"defaultValue": 0,
|
||||
"writable": false,
|
||||
"derivedOutput": true,
|
||||
"acceptedBoundaryEvidence": "inventory-only; value and boundary acceptance remain pending in phase B/C"
|
||||
},
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "Fem::ConstraintRigidBody",
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectTypeId": "Fem::ConstraintRigidBody",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "ForceY",
|
||||
"group": "ConstraintRigidBody",
|
||||
"status": [
|
||||
27
|
||||
],
|
||||
"defaultRaw": "0.0 mm*kg/s^2",
|
||||
"valueModel": {
|
||||
"kind": "quantity",
|
||||
"dimension": "mass*length/time^2",
|
||||
"internalUnit": "mm*kg/s^2",
|
||||
"displayUnit": "N",
|
||||
"newtonScale": 1000,
|
||||
"defaultValue": 0,
|
||||
"writable": false,
|
||||
"derivedOutput": true,
|
||||
"acceptedBoundaryEvidence": "inventory-only; value and boundary acceptance remain pending in phase B/C"
|
||||
},
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "Fem::ConstraintRigidBody",
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectTypeId": "Fem::ConstraintRigidBody",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "ForceZ",
|
||||
"group": "ConstraintRigidBody",
|
||||
"status": [
|
||||
27
|
||||
],
|
||||
"defaultRaw": "0.0 mm*kg/s^2",
|
||||
"valueModel": {
|
||||
"kind": "quantity",
|
||||
"dimension": "mass*length/time^2",
|
||||
"internalUnit": "mm*kg/s^2",
|
||||
"displayUnit": "N",
|
||||
"newtonScale": 1000,
|
||||
"defaultValue": 0,
|
||||
"writable": false,
|
||||
"derivedOutput": true,
|
||||
"acceptedBoundaryEvidence": "inventory-only; value and boundary acceptance remain pending in phase B/C"
|
||||
},
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "Fem::ConstraintRigidBody",
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
}
|
||||
],
|
||||
"source": {
|
||||
"path": ".cache/freecad/reference-desktop.json",
|
||||
"bytes": 2298709,
|
||||
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||
},
|
||||
"classification": "opaque-fcstd-proxy",
|
||||
"nextPhases": [
|
||||
"B",
|
||||
"C",
|
||||
"D",
|
||||
"E",
|
||||
"F",
|
||||
"G",
|
||||
"H",
|
||||
"I"
|
||||
]
|
||||
}
|
||||
298
config/freecad-property-force-mutation.json
Normal file
298
config/freecad-property-force-mutation.json
Normal file
@@ -0,0 +1,298 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-force-mutation",
|
||||
"before": {
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"directionVector": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"editorMode": [],
|
||||
"enableAmplitude": false,
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"AmplitudeValues",
|
||||
"Direction",
|
||||
"DirectionVector",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"Force",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Reversed",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"reversed": false,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
"classification": {
|
||||
"geometry": "not-applicable-no-shape-property",
|
||||
"neighborPropertiesPreserved": true,
|
||||
"propertyChanged": true,
|
||||
"propertyRestored": true,
|
||||
"semanticStateRestored": true
|
||||
},
|
||||
"document": {
|
||||
"objectsBefore": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
}
|
||||
],
|
||||
"objectsPreserved": true,
|
||||
"objectsRestored": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
}
|
||||
]
|
||||
},
|
||||
"edited": {
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"directionVector": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"editorMode": [],
|
||||
"enableAmplitude": false,
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"AmplitudeValues",
|
||||
"Direction",
|
||||
"DirectionVector",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"Force",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Reversed",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"reversed": false,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": {
|
||||
"numeric": 500000,
|
||||
"raw": "500000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"neighbors": {
|
||||
"before": {
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"directionVector": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"enableAmplitude": false,
|
||||
"propertyNames": [
|
||||
"AmplitudeValues",
|
||||
"Direction",
|
||||
"DirectionVector",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"Force",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Reversed",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"reversed": false
|
||||
},
|
||||
"edited": {
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"directionVector": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"enableAmplitude": false,
|
||||
"propertyNames": [
|
||||
"AmplitudeValues",
|
||||
"Direction",
|
||||
"DirectionVector",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"Force",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Reversed",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"reversed": false
|
||||
},
|
||||
"preserved": true,
|
||||
"restored": {
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"directionVector": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"enableAmplitude": false,
|
||||
"propertyNames": [
|
||||
"AmplitudeValues",
|
||||
"Direction",
|
||||
"DirectionVector",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"Force",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Reversed",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"reversed": false
|
||||
}
|
||||
},
|
||||
"object": {
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
"property": {
|
||||
"name": "Force",
|
||||
"typeId": "App::PropertyForce"
|
||||
},
|
||||
"recompute": {
|
||||
"edit": 1,
|
||||
"initial": 1,
|
||||
"restore": 1
|
||||
},
|
||||
"restored": {
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"directionVector": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"editorMode": [],
|
||||
"enableAmplitude": false,
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"AmplitudeValues",
|
||||
"Direction",
|
||||
"DirectionVector",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"Force",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Reversed",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"reversed": false,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"touchedAfterEdit": {
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"value": {
|
||||
"numeric": 500000,
|
||||
"raw": "500000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
"touchedAfterRestore": {
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
}
|
||||
}
|
||||
79
config/freecad-property-force-promotion.json
Normal file
79
config/freecad-property-force-promotion.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"taskId": "PROP-app-propertyforce-I",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyForce",
|
||||
"recordCount": 4,
|
||||
"phaseEvidence": {
|
||||
"A": [
|
||||
"config/freecad-property-force-inventory.json",
|
||||
"check:freecad-property-force-inventory"
|
||||
],
|
||||
"B": [
|
||||
"config/freecad-property-force-success.json",
|
||||
"check:freecad-property-force-success"
|
||||
],
|
||||
"C": [
|
||||
"config/freecad-property-force-failure.json",
|
||||
"check:freecad-property-force-failure"
|
||||
],
|
||||
"D": [
|
||||
"config/freecad-property-force-mutation.json",
|
||||
"check:freecad-property-force-mutation"
|
||||
],
|
||||
"E": [
|
||||
"src/facade/units.ts",
|
||||
"src/facade/types.ts",
|
||||
"src/facade/fcstd.ts",
|
||||
"src/facade/mockFacade.ts",
|
||||
"src/App.tsx",
|
||||
"tests/propertyForceFacade.test.ts",
|
||||
"test:freecad-property-force-facade"
|
||||
],
|
||||
"F": [
|
||||
"tests/propertyForceTransaction.test.ts",
|
||||
"test:freecad-property-force-transaction"
|
||||
],
|
||||
"G": [
|
||||
"config/freecad-property-force-roundtrip.json",
|
||||
"check:freecad-property-force-roundtrip"
|
||||
],
|
||||
"H": [
|
||||
"config/chrome-property-force-verification.json",
|
||||
"check:chrome-property-force"
|
||||
]
|
||||
},
|
||||
"promotion": {
|
||||
"from": "opaque-fcstd-proxy",
|
||||
"to": "native-editable-codec",
|
||||
"facadeValueModel": "finite-number-internal-mm-kg-per-s2-with-registered-force-units",
|
||||
"internalUnit": "mm*kg/s^2",
|
||||
"displayUnits": [
|
||||
"N",
|
||||
"kN",
|
||||
"lbf"
|
||||
],
|
||||
"newtonScale": 1000,
|
||||
"writableRecords": 1,
|
||||
"outputRecords": 3,
|
||||
"fcstdElement": "Float",
|
||||
"nativeRoundTripValue": 500000,
|
||||
"browserRoundTripValue": 500000,
|
||||
"outputPropertiesPreserved": true,
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T13:03:43.093Z"
|
||||
}
|
||||
311
config/freecad-property-force-roundtrip.json
Normal file
311
config/freecad-property-force-roundtrip.json
Normal file
@@ -0,0 +1,311 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baselineId": "freecad-1.1.1-property-force-roundtrip",
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"archives": {
|
||||
"nativeInitial": {
|
||||
"path": ".cache/freecad/property-force-roundtrip/native-initial.FCStd",
|
||||
"bytes": 2179,
|
||||
"sha256": "9045ec785084839c25bab5807d3d801faf3091ea83bf402621938b3bac13efea"
|
||||
},
|
||||
"webEdited": {
|
||||
"path": ".cache/freecad/property-force-roundtrip/web-edited.FCStd",
|
||||
"bytes": 2000,
|
||||
"sha256": "31df91b2712ce8fadb07d5487a3b036a603ad6a894092eb111e7c27ab64959a2"
|
||||
},
|
||||
"nativeResaved": {
|
||||
"path": ".cache/freecad/property-force-roundtrip/native-resaved.FCStd",
|
||||
"bytes": 2147,
|
||||
"sha256": "3b05532197026bf0516f8d594d02516d21092ab8fd3e5f823f76b03e226b2c43"
|
||||
}
|
||||
},
|
||||
"nativeInitial": {
|
||||
"force": {
|
||||
"name": "ForceProbe",
|
||||
"property": {
|
||||
"editorMode": [],
|
||||
"name": "Force",
|
||||
"status": [],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"rigid": {
|
||||
"name": "RigidForceProbe",
|
||||
"outputs": [
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceX",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceY",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceZ",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
}
|
||||
],
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
},
|
||||
"web": {
|
||||
"before": {
|
||||
"name": "Force",
|
||||
"typeId": "App::PropertyForce",
|
||||
"element": "Float",
|
||||
"value": "0.0000000000000000"
|
||||
},
|
||||
"after": {
|
||||
"name": "Force",
|
||||
"typeId": "App::PropertyForce",
|
||||
"element": "Float",
|
||||
"value": "500000"
|
||||
},
|
||||
"objectSetPreserved": true,
|
||||
"semanticObjectsPreserved": true,
|
||||
"opaquePathsPreserved": 4,
|
||||
"opaqueEntriesPreserved": true
|
||||
},
|
||||
"nativeAfter": {
|
||||
"reopened": {
|
||||
"force": {
|
||||
"name": "ForceProbe",
|
||||
"property": {
|
||||
"editorMode": [],
|
||||
"name": "Force",
|
||||
"status": [],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 500000,
|
||||
"raw": "500000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"rigid": {
|
||||
"name": "RigidForceProbe",
|
||||
"outputs": [
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceX",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceY",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceZ",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
}
|
||||
],
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
},
|
||||
"resaved": {
|
||||
"force": {
|
||||
"name": "ForceProbe",
|
||||
"property": {
|
||||
"editorMode": [],
|
||||
"name": "Force",
|
||||
"status": [],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 500000,
|
||||
"raw": "500000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
{
|
||||
"name": "RigidForceProbe",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
],
|
||||
"rigid": {
|
||||
"name": "RigidForceProbe",
|
||||
"outputs": [
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceX",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceY",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"name": "ForceZ",
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
}
|
||||
],
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintRigidBody"
|
||||
}
|
||||
}
|
||||
},
|
||||
"classification": {
|
||||
"webValue": 500000,
|
||||
"reopenedValue": 500000,
|
||||
"resavedValue": 500000,
|
||||
"outputPropertiesPreserved": true,
|
||||
"nativeOutputMatches": true,
|
||||
"unknownSemanticDrift": false,
|
||||
"zeroUnknownDrift": true
|
||||
}
|
||||
}
|
||||
231
config/freecad-property-force-success.json
Normal file
231
config/freecad-property-force-success.json
Normal file
@@ -0,0 +1,231 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-force-success",
|
||||
"cases": [
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "",
|
||||
"id": "default",
|
||||
"objectName": "ForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintForce",
|
||||
"propertyName": "Force",
|
||||
"requested": null,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "",
|
||||
"id": "nominal-newton",
|
||||
"objectName": "ForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintForce",
|
||||
"propertyName": "Force",
|
||||
"requested": "500 N",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 500000,
|
||||
"raw": "500000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "",
|
||||
"id": "zero-boundary",
|
||||
"objectName": "ForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintForce",
|
||||
"propertyName": "Force",
|
||||
"requested": "0 N",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "",
|
||||
"id": "negative-boundary",
|
||||
"objectName": "ForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintForce",
|
||||
"propertyName": "Force",
|
||||
"requested": "-5 N",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": -5000,
|
||||
"raw": "-5000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "",
|
||||
"id": "kilonewton",
|
||||
"objectName": "ForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintForce",
|
||||
"propertyName": "Force",
|
||||
"requested": "2 kN",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 2000000,
|
||||
"raw": "2000000.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "",
|
||||
"id": "restored",
|
||||
"objectName": "ForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintForce",
|
||||
"propertyName": "Force",
|
||||
"requested": "0 N",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
}
|
||||
],
|
||||
"diagnostics": {
|
||||
"documentObjectCount": 2,
|
||||
"exception": null
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"object": {
|
||||
"name": "ForceProbe",
|
||||
"typeId": "Fem::ConstraintForce"
|
||||
},
|
||||
"outputProperties": [
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintRigidBody",
|
||||
"objectName": "RigidForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintRigidBody",
|
||||
"propertyName": "ForceX",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintRigidBody",
|
||||
"objectName": "RigidForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintRigidBody",
|
||||
"propertyName": "ForceY",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintRigidBody",
|
||||
"objectName": "RigidForceProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintRigidBody",
|
||||
"propertyName": "ForceZ",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [
|
||||
"27"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyForce",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 mm*kg/s^2",
|
||||
"unit": "Unit: mm*kg/s^2 (1,1,-2,0,0,0,0,0) [Force]"
|
||||
}
|
||||
}
|
||||
],
|
||||
"property": {
|
||||
"group": "",
|
||||
"name": "Force",
|
||||
"typeId": "App::PropertyForce"
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass"
|
||||
}
|
||||
181
config/freecad-property-heatflux-failure.json
Normal file
181
config/freecad-property-heatflux-failure.json
Normal file
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-heatflux-failure",
|
||||
"cancellationBoundary": {
|
||||
"classification": "synchronous-property-setter",
|
||||
"reason": "no-native-cancel-hook",
|
||||
"replacement": "abort-active-document-transaction",
|
||||
"supported": false
|
||||
},
|
||||
"disabled": {
|
||||
"after": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"classification": "editor-read-only-and-python-immutable",
|
||||
"editorMode": [
|
||||
"ReadOnly"
|
||||
],
|
||||
"exception": {
|
||||
"message": "Object attribute 'DFlux' is read-only",
|
||||
"type": "AttributeError"
|
||||
},
|
||||
"objectsPreserved": true,
|
||||
"requested": "750 W/m^2",
|
||||
"restoredEditorMode": [],
|
||||
"restoredStatus": [],
|
||||
"status": [
|
||||
"Immutable",
|
||||
"ReadOnly"
|
||||
],
|
||||
"valuePreserved": true
|
||||
},
|
||||
"documentIntegrity": {
|
||||
"finalObjects": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"initialObjects": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"objectCount": 1,
|
||||
"objectsPreserved": true
|
||||
},
|
||||
"failures": [
|
||||
{
|
||||
"after": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "Not matching Unit!",
|
||||
"type": "ArithmeticError"
|
||||
},
|
||||
"id": "wrong-dimension",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "5 mm",
|
||||
"valuePreserved": true
|
||||
},
|
||||
{
|
||||
"after": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "syntax error",
|
||||
"type": "ParserError"
|
||||
},
|
||||
"id": "malformed-text",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "not-a-quantity",
|
||||
"valuePreserved": true
|
||||
}
|
||||
],
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"initial": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"object": {
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
},
|
||||
"property": {
|
||||
"name": "DFlux",
|
||||
"typeId": "App::PropertyHeatFlux"
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"transaction": {
|
||||
"activeAfterAbort": {
|
||||
"id": 0,
|
||||
"name": ""
|
||||
},
|
||||
"activeAfterEdit": {
|
||||
"id": 1,
|
||||
"name": "property-heatflux-cancel"
|
||||
},
|
||||
"afterAbort": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"before": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"edited": {
|
||||
"numeric": 250,
|
||||
"raw": "250.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
},
|
||||
"objectsAfter": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"objectsBefore": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"objectsRestored": true,
|
||||
"pendingAfterAbort": false,
|
||||
"pendingAfterEdit": true,
|
||||
"restored": true,
|
||||
"undoMode": 1
|
||||
}
|
||||
}
|
||||
55
config/freecad-property-heatflux-inventory.json
Normal file
55
config/freecad-property-heatflux-inventory.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyHeatFlux",
|
||||
"recordCount": 1,
|
||||
"writableRecordCount": 1,
|
||||
"outputRecordCount": 0,
|
||||
"records": [
|
||||
{
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "DFlux",
|
||||
"group": "ConstraintHeatflux",
|
||||
"status": [],
|
||||
"defaultRaw": "0.0 kg/s^3",
|
||||
"valueModel": {
|
||||
"kind": "quantity",
|
||||
"dimension": "mass/time^3",
|
||||
"internalUnit": "kg/s^3",
|
||||
"displayUnit": "W/m^2",
|
||||
"wattsPerSquareMeterScale": 1,
|
||||
"defaultValue": 0,
|
||||
"writable": true,
|
||||
"derivedOutput": false,
|
||||
"acceptedBoundaryEvidence": "inventory-only; value and boundary acceptance remain pending in phase B/C"
|
||||
},
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "Fem::ConstraintHeatflux",
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
}
|
||||
],
|
||||
"source": {
|
||||
"path": ".cache/freecad/reference-desktop.json",
|
||||
"bytes": 2298709,
|
||||
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||
},
|
||||
"classification": "opaque-fcstd-proxy",
|
||||
"nextPhases": [
|
||||
"B",
|
||||
"C",
|
||||
"D",
|
||||
"E",
|
||||
"F",
|
||||
"G",
|
||||
"H",
|
||||
"I"
|
||||
]
|
||||
}
|
||||
358
config/freecad-property-heatflux-mutation.json
Normal file
358
config/freecad-property-heatflux-mutation.json
Normal file
@@ -0,0 +1,358 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-heatflux-mutation",
|
||||
"before": {
|
||||
"ambientTemp": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 K",
|
||||
"unit": "Unit: K (0,0,0,0,1,0,0,0) [Temperature]"
|
||||
},
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"constraintType": "Convection",
|
||||
"editorMode": [],
|
||||
"emissivity": 0,
|
||||
"enableAmplitude": false,
|
||||
"filmCoef": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/(s^3*K)",
|
||||
"unit": "Unit: kg/(s^3*K) (0,1,-3,0,-1,0,0,0) [ThermalTransferCoefficient]"
|
||||
},
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"AmbientTemp",
|
||||
"AmplitudeValues",
|
||||
"CavityName",
|
||||
"CavityRadiation",
|
||||
"ConstraintType",
|
||||
"DFlux",
|
||||
"Emissivity",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"FilmCoef",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"scale": 1,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
"classification": {
|
||||
"geometry": "not-applicable-no-shape-property",
|
||||
"neighborPropertiesPreserved": true,
|
||||
"propertyChanged": true,
|
||||
"propertyRestored": true,
|
||||
"semanticStateRestored": true
|
||||
},
|
||||
"document": {
|
||||
"objectsBefore": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
],
|
||||
"objectsPreserved": true,
|
||||
"objectsRestored": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
]
|
||||
},
|
||||
"edited": {
|
||||
"ambientTemp": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 K",
|
||||
"unit": "Unit: K (0,0,0,0,1,0,0,0) [Temperature]"
|
||||
},
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"constraintType": "Convection",
|
||||
"editorMode": [],
|
||||
"emissivity": 0,
|
||||
"enableAmplitude": false,
|
||||
"filmCoef": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/(s^3*K)",
|
||||
"unit": "Unit: kg/(s^3*K) (0,1,-3,0,-1,0,0,0) [ThermalTransferCoefficient]"
|
||||
},
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"AmbientTemp",
|
||||
"AmplitudeValues",
|
||||
"CavityName",
|
||||
"CavityRadiation",
|
||||
"ConstraintType",
|
||||
"DFlux",
|
||||
"Emissivity",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"FilmCoef",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"scale": 1,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": {
|
||||
"numeric": 500,
|
||||
"raw": "500.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"neighbors": {
|
||||
"before": {
|
||||
"ambientTemp": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 K",
|
||||
"unit": "Unit: K (0,0,0,0,1,0,0,0) [Temperature]"
|
||||
},
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"constraintType": "Convection",
|
||||
"emissivity": 0,
|
||||
"enableAmplitude": false,
|
||||
"filmCoef": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/(s^3*K)",
|
||||
"unit": "Unit: kg/(s^3*K) (0,1,-3,0,-1,0,0,0) [ThermalTransferCoefficient]"
|
||||
},
|
||||
"propertyNames": [
|
||||
"AmbientTemp",
|
||||
"AmplitudeValues",
|
||||
"CavityName",
|
||||
"CavityRadiation",
|
||||
"ConstraintType",
|
||||
"DFlux",
|
||||
"Emissivity",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"FilmCoef",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"scale": 1
|
||||
},
|
||||
"edited": {
|
||||
"ambientTemp": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 K",
|
||||
"unit": "Unit: K (0,0,0,0,1,0,0,0) [Temperature]"
|
||||
},
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"constraintType": "Convection",
|
||||
"emissivity": 0,
|
||||
"enableAmplitude": false,
|
||||
"filmCoef": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/(s^3*K)",
|
||||
"unit": "Unit: kg/(s^3*K) (0,1,-3,0,-1,0,0,0) [ThermalTransferCoefficient]"
|
||||
},
|
||||
"propertyNames": [
|
||||
"AmbientTemp",
|
||||
"AmplitudeValues",
|
||||
"CavityName",
|
||||
"CavityRadiation",
|
||||
"ConstraintType",
|
||||
"DFlux",
|
||||
"Emissivity",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"FilmCoef",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"scale": 1
|
||||
},
|
||||
"preserved": true,
|
||||
"restored": {
|
||||
"ambientTemp": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 K",
|
||||
"unit": "Unit: K (0,0,0,0,1,0,0,0) [Temperature]"
|
||||
},
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"constraintType": "Convection",
|
||||
"emissivity": 0,
|
||||
"enableAmplitude": false,
|
||||
"filmCoef": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/(s^3*K)",
|
||||
"unit": "Unit: kg/(s^3*K) (0,1,-3,0,-1,0,0,0) [ThermalTransferCoefficient]"
|
||||
},
|
||||
"propertyNames": [
|
||||
"AmbientTemp",
|
||||
"AmplitudeValues",
|
||||
"CavityName",
|
||||
"CavityRadiation",
|
||||
"ConstraintType",
|
||||
"DFlux",
|
||||
"Emissivity",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"FilmCoef",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"scale": 1
|
||||
}
|
||||
},
|
||||
"object": {
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
},
|
||||
"property": {
|
||||
"name": "DFlux",
|
||||
"typeId": "App::PropertyHeatFlux"
|
||||
},
|
||||
"recompute": {
|
||||
"edit": 1,
|
||||
"initial": 1,
|
||||
"restore": 1
|
||||
},
|
||||
"restored": {
|
||||
"ambientTemp": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 K",
|
||||
"unit": "Unit: K (0,0,0,0,1,0,0,0) [Temperature]"
|
||||
},
|
||||
"amplitudeValues": [
|
||||
"0, 0",
|
||||
"1, 1"
|
||||
],
|
||||
"constraintType": "Convection",
|
||||
"editorMode": [],
|
||||
"emissivity": 0,
|
||||
"enableAmplitude": false,
|
||||
"filmCoef": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/(s^3*K)",
|
||||
"unit": "Unit: kg/(s^3*K) (0,1,-3,0,-1,0,0,0) [ThermalTransferCoefficient]"
|
||||
},
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"AmbientTemp",
|
||||
"AmplitudeValues",
|
||||
"CavityName",
|
||||
"CavityRadiation",
|
||||
"ConstraintType",
|
||||
"DFlux",
|
||||
"Emissivity",
|
||||
"EnableAmplitude",
|
||||
"ExpressionEngine",
|
||||
"FilmCoef",
|
||||
"Label",
|
||||
"Label2",
|
||||
"NormalDirection",
|
||||
"Normals",
|
||||
"Points",
|
||||
"References",
|
||||
"Scale",
|
||||
"Suppressed",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"scale": 1,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"touchedAfterEdit": {
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"value": {
|
||||
"numeric": 500,
|
||||
"raw": "500.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
"touchedAfterRestore": {
|
||||
"mustExecute": false,
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
}
|
||||
}
|
||||
78
config/freecad-property-heatflux-promotion.json
Normal file
78
config/freecad-property-heatflux-promotion.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"taskId": "PROP-app-propertyheatflux-I",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyHeatFlux",
|
||||
"recordCount": 1,
|
||||
"phaseEvidence": {
|
||||
"A": [
|
||||
"config/freecad-property-heatflux-inventory.json",
|
||||
"check:freecad-property-heatflux-inventory"
|
||||
],
|
||||
"B": [
|
||||
"config/freecad-property-heatflux-success.json",
|
||||
"check:freecad-property-heatflux-success"
|
||||
],
|
||||
"C": [
|
||||
"config/freecad-property-heatflux-failure.json",
|
||||
"check:freecad-property-heatflux-failure"
|
||||
],
|
||||
"D": [
|
||||
"config/freecad-property-heatflux-mutation.json",
|
||||
"check:freecad-property-heatflux-mutation"
|
||||
],
|
||||
"E": [
|
||||
"src/facade/units.ts",
|
||||
"src/facade/types.ts",
|
||||
"src/facade/fcstd.ts",
|
||||
"src/facade/mockFacade.ts",
|
||||
"src/App.tsx",
|
||||
"tests/propertyHeatFluxFacade.test.ts",
|
||||
"test:freecad-property-heatflux-facade"
|
||||
],
|
||||
"F": [
|
||||
"tests/propertyHeatFluxTransaction.test.ts",
|
||||
"test:freecad-property-heatflux-transaction"
|
||||
],
|
||||
"G": [
|
||||
"config/freecad-property-heatflux-roundtrip.json",
|
||||
"check:freecad-property-heatflux-roundtrip"
|
||||
],
|
||||
"H": [
|
||||
"config/chrome-property-heatflux-verification.json",
|
||||
"check:chrome-property-heatflux"
|
||||
]
|
||||
},
|
||||
"promotion": {
|
||||
"from": "opaque-fcstd-proxy",
|
||||
"to": "native-editable-codec",
|
||||
"facadeValueModel": "finite-number-internal-kg-per-s3-with-registered-heat-flux-units",
|
||||
"internalUnit": "kg/s^3",
|
||||
"displayUnits": [
|
||||
"W/m^2",
|
||||
"kW/m^2",
|
||||
"W/mm^2"
|
||||
],
|
||||
"wattsPerSquareMeterScale": 1,
|
||||
"writableRecords": 1,
|
||||
"outputRecords": 0,
|
||||
"fcstdElement": "Float",
|
||||
"nativeRoundTripValue": 500,
|
||||
"browserRoundTripValue": 500,
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T13:03:43.078Z"
|
||||
}
|
||||
145
config/freecad-property-heatflux-roundtrip.json
Normal file
145
config/freecad-property-heatflux-roundtrip.json
Normal file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baselineId": "freecad-1.1.1-property-heatflux-roundtrip",
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"archives": {
|
||||
"nativeInitial": {
|
||||
"path": ".cache/freecad/property-heatflux-roundtrip/native-initial.FCStd",
|
||||
"bytes": 1788,
|
||||
"sha256": "cedd198d5ec128292628bd27cf58f33e4114049f9ff36b788eecf70762336e5a"
|
||||
},
|
||||
"webEdited": {
|
||||
"path": ".cache/freecad/property-heatflux-roundtrip/web-edited.FCStd",
|
||||
"bytes": 1607,
|
||||
"sha256": "d26eba8335628c223d41a383ee3eb4b563369ba8acb9f5c5ea4bd52f6d15cc95"
|
||||
},
|
||||
"nativeResaved": {
|
||||
"path": ".cache/freecad/property-heatflux-roundtrip/native-resaved.FCStd",
|
||||
"bytes": 1794,
|
||||
"sha256": "a92d764cb58b9cbe5ad496ea967eccbc900d42ca26b425f74c3708315cf40604"
|
||||
}
|
||||
},
|
||||
"nativeInitial": {
|
||||
"heatFlux": {
|
||||
"name": "HeatFluxProbe",
|
||||
"property": {
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"name": "DFlux",
|
||||
"status": [],
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
]
|
||||
},
|
||||
"web": {
|
||||
"before": {
|
||||
"name": "DFlux",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"element": "Float",
|
||||
"value": "0.0000000000000000"
|
||||
},
|
||||
"after": {
|
||||
"name": "DFlux",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"element": "Float",
|
||||
"value": "500"
|
||||
},
|
||||
"objectSetPreserved": true,
|
||||
"semanticObjectsPreserved": true,
|
||||
"opaquePathsPreserved": 2,
|
||||
"opaqueEntriesPreserved": true
|
||||
},
|
||||
"nativeAfter": {
|
||||
"reopened": {
|
||||
"heatFlux": {
|
||||
"name": "HeatFluxProbe",
|
||||
"property": {
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"name": "DFlux",
|
||||
"status": [],
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 500,
|
||||
"raw": "500.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
]
|
||||
},
|
||||
"resaved": {
|
||||
"heatFlux": {
|
||||
"name": "HeatFluxProbe",
|
||||
"property": {
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"name": "DFlux",
|
||||
"status": [],
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 500,
|
||||
"raw": "500.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"classification": {
|
||||
"webValue": 500,
|
||||
"reopenedValue": 500,
|
||||
"resavedValue": 500,
|
||||
"nativeValueMatches": true,
|
||||
"unknownSemanticDrift": false,
|
||||
"zeroUnknownDrift": true
|
||||
}
|
||||
}
|
||||
183
config/freecad-property-heatflux-success.json
Normal file
183
config/freecad-property-heatflux-success.json
Normal file
@@ -0,0 +1,183 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-heatflux-success",
|
||||
"cases": [
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"id": "default",
|
||||
"objectName": "HeatFluxProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"propertyName": "DFlux",
|
||||
"requested": null,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"id": "nominal-watt-per-square-meter",
|
||||
"objectName": "HeatFluxProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"propertyName": "DFlux",
|
||||
"requested": "500 W/m^2",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 500,
|
||||
"raw": "500.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"id": "zero-boundary",
|
||||
"objectName": "HeatFluxProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"propertyName": "DFlux",
|
||||
"requested": "0 W/m^2",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"id": "negative-boundary",
|
||||
"objectName": "HeatFluxProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"propertyName": "DFlux",
|
||||
"requested": "-5 W/m^2",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": -5,
|
||||
"raw": "-5.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"id": "kilowatt-per-square-meter",
|
||||
"objectName": "HeatFluxProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"propertyName": "DFlux",
|
||||
"requested": "2 kW/m^2",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 2000,
|
||||
"raw": "2000.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"id": "watt-per-square-millimeter",
|
||||
"objectName": "HeatFluxProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"propertyName": "DFlux",
|
||||
"requested": "1 W/mm^2",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 1000000,
|
||||
"raw": "1000000.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"editorMode": [],
|
||||
"group": "ConstraintHeatflux",
|
||||
"id": "restored",
|
||||
"objectName": "HeatFluxProbe",
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"objectTypeId": "Fem::ConstraintHeatflux",
|
||||
"propertyName": "DFlux",
|
||||
"requested": "0 W/m^2",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"status": [],
|
||||
"statusString": "Valid",
|
||||
"typeId": "App::PropertyHeatFlux",
|
||||
"value": {
|
||||
"numeric": 0,
|
||||
"raw": "0.0 kg/s^3",
|
||||
"unit": "Unit: kg/s^3 (0,1,-3,0,0,0,0,0) [HeatFlux]"
|
||||
}
|
||||
}
|
||||
],
|
||||
"diagnostics": {
|
||||
"documentObjectCount": 1,
|
||||
"exception": null
|
||||
},
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"object": {
|
||||
"name": "HeatFluxProbe",
|
||||
"typeId": "Fem::ConstraintHeatflux"
|
||||
},
|
||||
"property": {
|
||||
"group": "ConstraintHeatflux",
|
||||
"name": "DFlux",
|
||||
"typeId": "App::PropertyHeatFlux"
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"status": "pass"
|
||||
}
|
||||
236
config/freecad-property-integerset-failure.json
Normal file
236
config/freecad-property-integerset-failure.json
Normal file
@@ -0,0 +1,236 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-integerset-failure",
|
||||
"cancellationBoundary": {
|
||||
"classification": "synchronous-property-setter",
|
||||
"reason": "no-native-cancel-hook",
|
||||
"replacement": "abort-active-document-transaction",
|
||||
"supported": false
|
||||
},
|
||||
"disabled": {
|
||||
"after": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"before": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"classification": "editor-read-only-and-python-immutable",
|
||||
"editorMode": [
|
||||
"ReadOnly"
|
||||
],
|
||||
"exception": {
|
||||
"message": "Object attribute 'Nodes' is read-only",
|
||||
"type": "AttributeError"
|
||||
},
|
||||
"objectsPreserved": true,
|
||||
"requested": [
|
||||
2,
|
||||
4
|
||||
],
|
||||
"restoredEditorMode": [],
|
||||
"restoredStatus": [],
|
||||
"status": [
|
||||
"Immutable",
|
||||
"ReadOnly"
|
||||
],
|
||||
"valuePreserved": true
|
||||
},
|
||||
"documentIntegrity": {
|
||||
"finalObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"initialObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectsPreserved": true
|
||||
},
|
||||
"failures": [
|
||||
{
|
||||
"after": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"before": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "type in list must be int, not float",
|
||||
"type": "TypeError"
|
||||
},
|
||||
"id": "float-item",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "[1, 1.5]",
|
||||
"valuePreserved": true
|
||||
},
|
||||
{
|
||||
"after": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"before": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "type in list must be int, not str",
|
||||
"type": "TypeError"
|
||||
},
|
||||
"id": "string-item",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "[1, '3']",
|
||||
"valuePreserved": true
|
||||
},
|
||||
{
|
||||
"after": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"before": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "type must be int or list of int, not set",
|
||||
"type": "TypeError"
|
||||
},
|
||||
"id": "set-object",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "{1, 3}",
|
||||
"valuePreserved": true
|
||||
},
|
||||
{
|
||||
"after": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"afterObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"before": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"beforeObjects": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"exception": {
|
||||
"message": "type must be int or list of int, not NoneType",
|
||||
"type": "TypeError"
|
||||
},
|
||||
"id": "none",
|
||||
"objectsPreserved": true,
|
||||
"polluted": false,
|
||||
"requested": "None",
|
||||
"valuePreserved": true
|
||||
}
|
||||
],
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"initial": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"object": {
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
},
|
||||
"property": {
|
||||
"name": "Nodes",
|
||||
"typeId": "App::PropertyIntegerSet"
|
||||
},
|
||||
"propertyType": "App::PropertyIntegerSet",
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"transaction": {
|
||||
"activeAfterAbort": {
|
||||
"id": 0,
|
||||
"name": ""
|
||||
},
|
||||
"activeAfterEdit": {
|
||||
"id": 1,
|
||||
"name": "property-integerset-cancel"
|
||||
},
|
||||
"afterAbort": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"before": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"edited": [
|
||||
2,
|
||||
4
|
||||
],
|
||||
"objectsAfter": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectsBefore": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectsRestored": true,
|
||||
"pendingAfterAbort": false,
|
||||
"pendingAfterEdit": true,
|
||||
"restored": true,
|
||||
"undoMode": 1
|
||||
}
|
||||
}
|
||||
71
config/freecad-property-integerset-inventory.json
Normal file
71
config/freecad-property-integerset-inventory.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyIntegerSet",
|
||||
"recordCount": 2,
|
||||
"writableRecordCount": 2,
|
||||
"records": [
|
||||
{
|
||||
"objectTypeId": "Fem::FemSetElementNodesObject",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "Elements",
|
||||
"group": "Element indexes",
|
||||
"status": [],
|
||||
"defaultRaw": "set()",
|
||||
"valueModel": {
|
||||
"kind": "integer-set",
|
||||
"writable": true,
|
||||
"elementType": "signed-integer",
|
||||
"cardinality": "variable-unique-unordered",
|
||||
"webRepresentation": "sorted-safe-integer-array"
|
||||
},
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "Fem::FemSetElementNodesObject",
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectTypeId": "Fem::FemSetNodesObject",
|
||||
"objectAvailable": true,
|
||||
"probeStatus": "available",
|
||||
"propertyName": "Nodes",
|
||||
"group": "Node indexes",
|
||||
"status": [],
|
||||
"defaultRaw": "set()",
|
||||
"valueModel": {
|
||||
"kind": "integer-set",
|
||||
"writable": true,
|
||||
"elementType": "signed-integer",
|
||||
"cardinality": "variable-unique-unordered",
|
||||
"webRepresentation": "sorted-safe-integer-array"
|
||||
},
|
||||
"dependencies": [],
|
||||
"applicability": {
|
||||
"requiredObjectTypeId": "Fem::FemSetNodesObject",
|
||||
"source": "Document.supportedTypes runtime inventory"
|
||||
}
|
||||
}
|
||||
],
|
||||
"source": {
|
||||
"path": ".cache/freecad/reference-desktop.json",
|
||||
"bytes": 2298709,
|
||||
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||
},
|
||||
"classification": "opaque-fcstd-proxy",
|
||||
"nextPhases": [
|
||||
"B",
|
||||
"C",
|
||||
"D",
|
||||
"E",
|
||||
"F",
|
||||
"G",
|
||||
"H",
|
||||
"I"
|
||||
]
|
||||
}
|
||||
369
config/freecad-property-integerset-mutation.json
Normal file
369
config/freecad-property-integerset-mutation.json
Normal file
@@ -0,0 +1,369 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-integerset-mutation",
|
||||
"caseCount": 2,
|
||||
"cases": [
|
||||
{
|
||||
"before": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Node indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Nodes",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": [
|
||||
1,
|
||||
3
|
||||
]
|
||||
},
|
||||
"edited": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Node indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Nodes",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": [
|
||||
2,
|
||||
5
|
||||
]
|
||||
},
|
||||
"neighborsPreserved": true,
|
||||
"objectName": "NodesProbe",
|
||||
"objectTypeId": "Fem::FemSetNodesObject",
|
||||
"objectsRestored": true,
|
||||
"propertyName": "Nodes",
|
||||
"recompute": {
|
||||
"edit": true,
|
||||
"initial": true,
|
||||
"restore": true
|
||||
},
|
||||
"restored": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Node indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Nodes",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": [
|
||||
1,
|
||||
3
|
||||
]
|
||||
},
|
||||
"semanticStateRestored": true,
|
||||
"touchedAfterEdit": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Node indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyNames": [
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Nodes",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
2,
|
||||
5
|
||||
]
|
||||
},
|
||||
"touchedAfterRestore": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Node indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyNames": [
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Nodes",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
1,
|
||||
3
|
||||
]
|
||||
},
|
||||
"valueRestored": true
|
||||
},
|
||||
{
|
||||
"before": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Element indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"Elements",
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": [
|
||||
4,
|
||||
10
|
||||
]
|
||||
},
|
||||
"edited": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Element indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"Elements",
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": [
|
||||
-1,
|
||||
8
|
||||
]
|
||||
},
|
||||
"neighborsPreserved": true,
|
||||
"objectName": "ElementsProbe",
|
||||
"objectTypeId": "Fem::FemSetElementNodesObject",
|
||||
"objectsRestored": true,
|
||||
"propertyName": "Elements",
|
||||
"recompute": {
|
||||
"edit": true,
|
||||
"initial": true,
|
||||
"restore": true
|
||||
},
|
||||
"restored": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Element indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"propertyNames": [
|
||||
"Elements",
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Valid",
|
||||
"value": [
|
||||
4,
|
||||
10
|
||||
]
|
||||
},
|
||||
"semanticStateRestored": true,
|
||||
"touchedAfterEdit": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Element indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyNames": [
|
||||
"Elements",
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
-1,
|
||||
8
|
||||
]
|
||||
},
|
||||
"touchedAfterRestore": {
|
||||
"editorMode": [],
|
||||
"femMesh": null,
|
||||
"group": "Element indexes",
|
||||
"mustExecute": false,
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyNames": [
|
||||
"Elements",
|
||||
"ExpressionEngine",
|
||||
"FemMesh",
|
||||
"Label",
|
||||
"Label2",
|
||||
"Visibility"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
4,
|
||||
10
|
||||
]
|
||||
},
|
||||
"valueRestored": true
|
||||
}
|
||||
],
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"propertyType": "App::PropertyIntegerSet",
|
||||
"schemaVersion": 1,
|
||||
"status": "pass"
|
||||
}
|
||||
80
config/freecad-property-integerset-promotion.json
Normal file
80
config/freecad-property-integerset-promotion.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"taskId": "PROP-app-propertyintegerset-I",
|
||||
"baseline": {
|
||||
"freecadVersion": "1.1.1",
|
||||
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||
},
|
||||
"propertyType": "App::PropertyIntegerSet",
|
||||
"recordCount": 2,
|
||||
"phaseEvidence": {
|
||||
"A": [
|
||||
"config/freecad-property-integerset-inventory.json",
|
||||
"check:freecad-property-integerset-inventory"
|
||||
],
|
||||
"B": [
|
||||
"config/freecad-property-integerset-success.json",
|
||||
"check:freecad-property-integerset-success"
|
||||
],
|
||||
"C": [
|
||||
"config/freecad-property-integerset-failure.json",
|
||||
"check:freecad-property-integerset-failure"
|
||||
],
|
||||
"D": [
|
||||
"config/freecad-property-integerset-mutation.json",
|
||||
"check:freecad-property-integerset-mutation"
|
||||
],
|
||||
"E": [
|
||||
"src/facade/types.ts",
|
||||
"src/facade/fcstd.ts",
|
||||
"src/facade/mockFacade.ts",
|
||||
"src/App.tsx",
|
||||
"tests/propertyIntegerSetFacade.test.ts",
|
||||
"test:freecad-property-integerset-facade"
|
||||
],
|
||||
"F": [
|
||||
"tests/propertyIntegerSetTransaction.test.ts",
|
||||
"test:freecad-property-integerset-transaction"
|
||||
],
|
||||
"G": [
|
||||
"config/freecad-property-integerset-roundtrip.json",
|
||||
"check:freecad-property-integerset-roundtrip"
|
||||
],
|
||||
"H": [
|
||||
"config/chrome-property-integerset-verification.json",
|
||||
"check:chrome-property-integerset"
|
||||
]
|
||||
},
|
||||
"promotion": {
|
||||
"from": "opaque-fcstd-proxy",
|
||||
"to": "native-editable-codec",
|
||||
"facadeValueModel": "sorted-unique-safe-integer-array",
|
||||
"writableRecords": 2,
|
||||
"nativeEmptyBindingBoundary": {
|
||||
"neverAssignedEmptyRead": "native-process-termination",
|
||||
"oracleDefault": "set()",
|
||||
"safeEquivalent": "assign-empty-list-before-read"
|
||||
},
|
||||
"fcstdElement": "IntegerSet",
|
||||
"nativeRoundTripValue": [
|
||||
-1,
|
||||
8
|
||||
],
|
||||
"browserRoundTripValue": [
|
||||
-1,
|
||||
8
|
||||
],
|
||||
"zeroUnknownDrift": true
|
||||
},
|
||||
"exactBlockerSync": {
|
||||
"nativeEditableTypes": 34,
|
||||
"nativeEditableRecords": 4370,
|
||||
"opaqueTypes": 46,
|
||||
"opaqueRecords": 457,
|
||||
"exactPromotionReady": false,
|
||||
"exactBlocker": "46 runtime property types and 457 records remain opaque-only; complete native document and property semantics"
|
||||
},
|
||||
"systemExact": false,
|
||||
"generatedAt": "2026-08-17T13:03:43.129Z"
|
||||
}
|
||||
136
config/freecad-property-integerset-roundtrip.json
Normal file
136
config/freecad-property-integerset-roundtrip.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "pass",
|
||||
"baselineId": "freecad-1.1.1-property-integerset-roundtrip",
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"archives": {
|
||||
"nativeInitial": {
|
||||
"path": ".cache/freecad/property-integerset-roundtrip/native-initial.FCStd",
|
||||
"bytes": 1268,
|
||||
"sha256": "7554c51a0f98f011c64a1c14a4d4aa8de81082cf841f84270a612663f7af89c9"
|
||||
},
|
||||
"webEdited": {
|
||||
"path": ".cache/freecad/property-integerset-roundtrip/web-edited.FCStd",
|
||||
"bytes": 1105,
|
||||
"sha256": "a9e2e46bd71e206712091c0ed66e27538d5ea38ab6e3b0e8768038962ff34b65"
|
||||
},
|
||||
"nativeResaved": {
|
||||
"path": ".cache/freecad/property-integerset-roundtrip/native-resaved.FCStd",
|
||||
"bytes": 1269,
|
||||
"sha256": "f852a1202b3ee7ad3e2314d6b46d4df22c57bdaecc61a021c585d12c3acd7f59"
|
||||
}
|
||||
},
|
||||
"nativeInitial": {
|
||||
"object": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"hasShapeProperty": false,
|
||||
"name": "NodesProbe",
|
||||
"propertyName": "Nodes",
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::FemSetNodesObject",
|
||||
"value": [
|
||||
1,
|
||||
3
|
||||
]
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
]
|
||||
},
|
||||
"web": {
|
||||
"before": {
|
||||
"name": "Nodes",
|
||||
"typeId": "App::PropertyIntegerSet",
|
||||
"element": "IntegerSet",
|
||||
"value": "[1,3]"
|
||||
},
|
||||
"after": {
|
||||
"name": "Nodes",
|
||||
"typeId": "App::PropertyIntegerSet",
|
||||
"element": "IntegerSet",
|
||||
"value": "[-1,8]"
|
||||
},
|
||||
"objectSetPreserved": true,
|
||||
"semanticObjectsPreserved": true,
|
||||
"opaquePathsPreserved": 0,
|
||||
"opaqueEntriesPreserved": true
|
||||
},
|
||||
"nativeAfter": {
|
||||
"reopened": {
|
||||
"object": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"hasShapeProperty": false,
|
||||
"name": "NodesProbe",
|
||||
"propertyName": "Nodes",
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::FemSetNodesObject",
|
||||
"value": [
|
||||
-1,
|
||||
8
|
||||
]
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
]
|
||||
},
|
||||
"resaved": {
|
||||
"object": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"hasShapeProperty": false,
|
||||
"name": "NodesProbe",
|
||||
"propertyName": "Nodes",
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"state": [
|
||||
"Up-to-date"
|
||||
],
|
||||
"statusString": "Valid",
|
||||
"typeId": "Fem::FemSetNodesObject",
|
||||
"value": [
|
||||
-1,
|
||||
8
|
||||
]
|
||||
},
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"classification": {
|
||||
"webValue": "[-1,8]",
|
||||
"reopenedValue": [
|
||||
-1,
|
||||
8
|
||||
],
|
||||
"resavedValue": [
|
||||
-1,
|
||||
8
|
||||
],
|
||||
"nativeOutputMatches": true,
|
||||
"unknownSemanticDrift": false,
|
||||
"zeroUnknownDrift": true
|
||||
}
|
||||
}
|
||||
309
config/freecad-property-integerset-success.json
Normal file
309
config/freecad-property-integerset-success.json
Normal file
@@ -0,0 +1,309 @@
|
||||
{
|
||||
"baselineId": "freecad-1.1.1-property-integerset-success",
|
||||
"bindingBoundary": {
|
||||
"neverAssignedEmptyRead": "native-process-termination",
|
||||
"oracleDefault": "set()",
|
||||
"safeEquivalent": "assign-empty-list-before-read"
|
||||
},
|
||||
"caseCount": 2,
|
||||
"cases": [
|
||||
{
|
||||
"group": "Node indexes",
|
||||
"mode": "direct-native-property-setter",
|
||||
"objectName": "NodesProbe",
|
||||
"objectTypeId": "Fem::FemSetNodesObject",
|
||||
"phases": {
|
||||
"deduplicated": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
},
|
||||
"explicitEmpty": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": []
|
||||
},
|
||||
"largeSafeInteger": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
9007199254740991
|
||||
]
|
||||
},
|
||||
"negativeBoundary": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
-2,
|
||||
0,
|
||||
5
|
||||
]
|
||||
},
|
||||
"restored": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": []
|
||||
},
|
||||
"scalar": {
|
||||
"editorMode": [],
|
||||
"group": "Node indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "NodesProbe",
|
||||
"typeId": "Fem::FemSetNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
7
|
||||
]
|
||||
}
|
||||
},
|
||||
"propertyName": "Nodes"
|
||||
},
|
||||
{
|
||||
"group": "Element indexes",
|
||||
"mode": "direct-native-property-setter",
|
||||
"objectName": "ElementsProbe",
|
||||
"objectTypeId": "Fem::FemSetElementNodesObject",
|
||||
"phases": {
|
||||
"deduplicated": {
|
||||
"editorMode": [],
|
||||
"group": "Element indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
4,
|
||||
10
|
||||
]
|
||||
},
|
||||
"explicitEmpty": {
|
||||
"editorMode": [],
|
||||
"group": "Element indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": []
|
||||
},
|
||||
"largeSafeInteger": {
|
||||
"editorMode": [],
|
||||
"group": "Element indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
9007199254740991
|
||||
]
|
||||
},
|
||||
"negativeBoundary": {
|
||||
"editorMode": [],
|
||||
"group": "Element indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
-2,
|
||||
0,
|
||||
5
|
||||
]
|
||||
},
|
||||
"restored": {
|
||||
"editorMode": [],
|
||||
"group": "Element indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": []
|
||||
},
|
||||
"scalar": {
|
||||
"editorMode": [],
|
||||
"group": "Element indexes",
|
||||
"objectSet": [
|
||||
{
|
||||
"name": "ElementsProbe",
|
||||
"typeId": "Fem::FemSetElementNodesObject"
|
||||
}
|
||||
],
|
||||
"objectState": [
|
||||
"Touched"
|
||||
],
|
||||
"propertyStatus": [],
|
||||
"propertyTypeId": "App::PropertyIntegerSet",
|
||||
"recomputeResult": true,
|
||||
"shape": {
|
||||
"applicable": false
|
||||
},
|
||||
"statusString": "Touched",
|
||||
"value": [
|
||||
7
|
||||
]
|
||||
}
|
||||
},
|
||||
"propertyName": "Elements"
|
||||
}
|
||||
],
|
||||
"freecadVersion": "1.1.1",
|
||||
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||
"propertyType": "App::PropertyIntegerSet",
|
||||
"schemaVersion": 1,
|
||||
"status": "pass"
|
||||
}
|
||||
@@ -41,7 +41,7 @@
|
||||
"id": "EX03",
|
||||
"title": "Application document, property and recompute semantics",
|
||||
"tasks": [
|
||||
{ "id": "EX-DOC-01", "title": "Implement every native property type, flag, editor and serialization rule", "priority": "P0", "status": "in_progress", "dependencies": ["EX-ORA-01"], "deliverables": ["Complete Property schema", "Status and editor metadata", "Binary and XML codecs"], "acceptance": ["Every runtime property fixture round-trips without type coercion or unknown loss"], "evidence": ["check:freecad-type-properties", "check:freecad-native-property-semantics", "check:freecad-property-status", "check:freecad-fcstd-roundtrip"], "exactBlockedBy": ["Of 85 runtime property types and 5510 records, 50 types/466 records remain opaque-only; all 15 observed status classes now have typed Facade behavior, including LockDynamic dynamic mutation and PartialTrigger partial-document observer transactions, but the remaining codecs, editors and complete document observer semantics are not closed"] },
|
||||
{ "id": "EX-DOC-01", "title": "Implement every native property type, flag, editor and serialization rule", "priority": "P0", "status": "in_progress", "dependencies": ["EX-ORA-01"], "deliverables": ["Complete Property schema", "Status and editor metadata", "Binary and XML codecs"], "acceptance": ["Every runtime property fixture round-trips without type coercion or unknown loss"], "evidence": ["check:freecad-type-properties", "check:freecad-native-property-semantics", "check:freecad-property-status", "check:freecad-fcstd-roundtrip"], "exactBlockedBy": ["Of 85 runtime property types and 5510 records, 46 types/457 records remain opaque-only; all 15 observed status classes now have typed Facade behavior, including LockDynamic dynamic mutation and PartialTrigger partial-document observer transactions, but the remaining codecs, editors and complete document observer semantics are not closed"] },
|
||||
{ "id": "EX-DOC-02", "title": "Match transactions, DAG recompute, partial failure and document observers", "priority": "P0", "status": "in_progress", "dependencies": ["EX-DOC-01", "EX-TSN-04"], "deliverables": ["Transaction and observer event oracle", "Partial recompute scheduler", "Failure recovery contract"], "acceptance": ["Undo, redo, abort, stale and cyclic dependency behavior matches FreeCAD"], "evidence": ["check:document-closure", "test:facade"], "exactBlockedBy": ["Observer ordering and every partial-recompute branch are not yet oracle-backed"] },
|
||||
{ "id": "EX-DOC-03", "title": "Complete expressions, links, extensions, groups and App object lifecycle", "priority": "P0", "status": "in_progress", "dependencies": ["EX-DOC-01"], "deliverables": ["Expression dependency grammar", "Link and extension lifecycle", "Group and clone semantics"], "acceptance": ["Copy, clone, delete, relink and expression edits survive native round-trip"], "evidence": ["check:fcstd-closure", "check:chrome-production-document"], "exactBlockedBy": ["FeaturePython-backed extensions remain non-executable"] },
|
||||
{ "id": "EX-DOC-04", "title": "Complete multi-document, external link, merge and recovery workflows", "priority": "P1", "status": "pending", "dependencies": ["EX-DOC-02", "EX-DOC-03"], "deliverables": ["Cross-document Link corpus", "Merge and conflict semantics", "Crash and autosave recovery"], "acceptance": ["Open, close, relink, merge and recovery match the native document graph"], "evidence": ["check:chrome-persistence", "check:project-migration"], "exactBlockedBy": ["Current application is project-first and does not implement every desktop multi-document workflow"] },
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"wrong-document-root": 77
|
||||
},
|
||||
"timing": {
|
||||
"p95Ms": 0.13,
|
||||
"maxMs": 2.66
|
||||
"p95Ms": 0.135,
|
||||
"maxMs": 2.707
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"zero-revolution-axis": 67
|
||||
},
|
||||
"timing": {
|
||||
"p95Ms": 0.02,
|
||||
"maxMs": 0.997
|
||||
"p95Ms": 0.021,
|
||||
"maxMs": 1.057
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"invalid": 800
|
||||
},
|
||||
"timing": {
|
||||
"p95Ms": 0.03,
|
||||
"maxMs": 0.659
|
||||
"p95Ms": 0.04,
|
||||
"maxMs": 0.907
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
"sha256": "1679307fb0f01e9d7b9f37a081458bf44583e4d1899edf9224b49a1435ce7105"
|
||||
},
|
||||
{
|
||||
"path": "assets/index-CNTlr1np.js",
|
||||
"bytes": 1210736,
|
||||
"sha256": "4d9e8b6e6e70a13d6a5c34a39eaa62a537de8cefde60d09125392b5a14512363"
|
||||
"path": "assets/index-CMgfoKgp.js",
|
||||
"bytes": 1215336,
|
||||
"sha256": "1b64ba3601119cad5345af95457d701087124370070778c1f637db8130b84e43"
|
||||
},
|
||||
{
|
||||
"path": "assets/index-CSuKYsCZ.css",
|
||||
@@ -335,7 +335,7 @@
|
||||
{
|
||||
"path": "index.html",
|
||||
"bytes": 678,
|
||||
"sha256": "233c411801542bf802d4d701437c593620350c13fd1eec069c00d083b80a764d"
|
||||
"sha256": "215c8954a63826c2bfa193c7e38b3678357e61045b31382233d71353a84031da"
|
||||
},
|
||||
{
|
||||
"path": "manifest.webmanifest",
|
||||
@@ -390,7 +390,7 @@
|
||||
{
|
||||
"path": "sw.js",
|
||||
"bytes": 1390,
|
||||
"sha256": "041bc2f315a15f659a5471f382af087e61a8c4405fd8a725c068ddf898e7386e"
|
||||
"sha256": "a480fa6da433c33ca56b3d12f983d210b9424ed9123c2e35b8e21926b4e054dd"
|
||||
},
|
||||
{
|
||||
"path": "vendor/camotics/camotics-sweep.wasm",
|
||||
@@ -412,7 +412,7 @@
|
||||
"status": "signed",
|
||||
"algorithm": "Ed25519",
|
||||
"keyId": "bitbybit-local-release-2026",
|
||||
"payloadSha256": "7cfc2e7f4b34be4c4b5deb75ace67753f9e219ef51b5be74f5a5c1d4f895f3cb",
|
||||
"signature": "9fhwYyVCjTXXsQUvePx8I31qBp2FsW6b1YOW6UUtR2FDhrqwPtttqLrxSPcH6S88++u805jHATBE5cTijm4VBw=="
|
||||
"payloadSha256": "b0fefc0b89c0e83124e7ea410bbde34b6f62a4955669b51fb821ba3df181f945",
|
||||
"signature": "GJdf3bOkY9vdg/YKfFWeh1dkszxpg16VlYdTmrjpLe6PMfhlzvcYQnye4sWy5bFSPoLbXdD7FHom+6e4GTVFCw=="
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user