Compare commits
22 Commits
2be18a511e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 54649da16c | |||
| 7bd7ff5055 | |||
| 8f6053089a | |||
| d11566403d | |||
| 00ed27b7b8 | |||
| 27db1a8f93 | |||
| 03339a6360 | |||
| 372861e015 | |||
| 10d11ad608 | |||
| 8ef796552d | |||
| 1ee55b1338 | |||
| 378a6e7c0a | |||
| 83cbc80971 | |||
| ea3706bd3d | |||
| 5bbd7b9d4f | |||
| e3373c9d6c | |||
| f64b78865c | |||
| f97eae4153 | |||
| 58c0807219 | |||
| ca6fe46030 | |||
| 97967041e2 | |||
| aa607451ad |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
working_Web_FreeCAD_Bitbybit.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
@@ -2,12 +2,16 @@
|
|||||||
|
|
||||||
FreeCAD-aligned web CAD frontend baseline for the BitBybit runtime boundary.
|
FreeCAD-aligned web CAD frontend baseline for the BitBybit runtime boundary.
|
||||||
|
|
||||||
|
本机断网开发、资源同步、校验和恢复入口见 [离线资源库说明](docs/offline-development.zh-CN.md)。
|
||||||
|
|
||||||
## Current scope
|
## Current scope
|
||||||
|
|
||||||
- React + Vite frontend shell
|
- React + Vite frontend shell
|
||||||
- Three.js `0.185.1` is pinned for the internal Viewport Adapter; React does not import Three.js directly.
|
- Three.js `0.185.1` is pinned for the internal Viewport Adapter; React does not import Three.js directly.
|
||||||
- FreeCAD-style application menus, workbench navigation, Combo View, Task Dock, viewport and Report view
|
- FreeCAD-style application menus, workbench navigation, Combo View, Task Dock, viewport and Report view
|
||||||
- Machine-readable workbench and command manifest in `src/freecadManifest.ts`
|
- Machine-readable workbench and command manifest in `src/freecadManifest.ts`
|
||||||
|
- Current status, source-of-truth order and focused execution queue in [docs/current-work.zh-CN.md](docs/current-work.zh-CN.md)
|
||||||
|
- Re-audited completion status, critical path and smallest executable milestones in [docs/freecad-web-execution-master-plan.zh-CN.md](docs/freecad-web-execution-master-plan.zh-CN.md)
|
||||||
- Chinese implementation plan in `docs/web-cad-implementation-plan.zh-CN.md`
|
- Chinese implementation plan in `docs/web-cad-implementation-plan.zh-CN.md`
|
||||||
- Full 34-module FreeCAD 1.1.1 scope, Bitbybit/OCCT source-build track and executable task ledger in [docs/freecad-complete-parity-backlog.zh-CN.md](docs/freecad-complete-parity-backlog.zh-CN.md)
|
- Full 34-module FreeCAD 1.1.1 scope, Bitbybit/OCCT source-build track and executable task ledger in [docs/freecad-complete-parity-backlog.zh-CN.md](docs/freecad-complete-parity-backlog.zh-CN.md)
|
||||||
- Executable reference-oracle and R0-R9 delivery order in [docs/freecad-reference-execution-roadmap.zh-CN.md](docs/freecad-reference-execution-roadmap.zh-CN.md)
|
- Executable reference-oracle and R0-R9 delivery order in [docs/freecad-reference-execution-roadmap.zh-CN.md](docs/freecad-reference-execution-roadmap.zh-CN.md)
|
||||||
@@ -16,7 +20,7 @@ FreeCAD-aligned web CAD frontend baseline for the BitBybit runtime boundary.
|
|||||||
- Source-traceable TypeId/property candidate inventory in [config/freecad-type-property-inventory.json](config/freecad-type-property-inventory.json), checked with `./npmw run check:freecad-type-properties`
|
- Source-traceable TypeId/property candidate inventory in [config/freecad-type-property-inventory.json](config/freecad-type-property-inventory.json), checked with `./npmw run check:freecad-type-properties`
|
||||||
- Locked FreeCAD 1.1.1 planegcs WASM subset with Dedicated Worker verification for line/circle/curve constraints, SnellsLaw, Ellipse InternalAlignment helpers and clamped cubic B-spline Weight
|
- Locked FreeCAD 1.1.1 planegcs WASM subset with Dedicated Worker verification for line/circle/curve constraints, SnellsLaw, Ellipse InternalAlignment helpers and clamped cubic B-spline Weight
|
||||||
|
|
||||||
The current milestone is a facade-first integration slice. Part Design document transactions and history are executable in the mock domain adapter; the internal SQLite WASM + OPFS Persistence Worker, schema and in-memory fallback are bundled behind `facade.project`. FreeCAD/OCCT geometry, solver behavior, FCStd interoperability and full workbench semantics remain staged behind the documented P3-P7 gates.
|
The compatible browser baseline now spans all 34 locked FreeCAD modules, but it is not a system-level exact implementation: the release matrix currently records `0 exact`, `26 compatible`, `5 proxy` and `3 development` modules. The active milestone is exact-parity promotion for the FreeCAD 1.1.1 oracle, topology naming, document/property semantics, core modeling and FCStd round-trip. See the [current work focus](docs/current-work.zh-CN.md); completed P01-P10 compatibility programs must not be interpreted as an exact FreeCAD claim.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
@@ -25,7 +29,7 @@ The current milestone is a facade-first integration slice. Part Design document
|
|||||||
./npmw run dev
|
./npmw run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
The repository uses a project-local, checksum-verified Node.js `22.23.2` runtime and npm `10.9.8`. The wrapper downloads it to the ignored `.runtime/` directory and never changes `/usr/bin/node`; this removes the engine warning caused by running npm with an older system Node. `./nodew` runs the same pinned Node directly. See [docs/project-runtime.zh-CN.md](docs/project-runtime.zh-CN.md) for recovery and CI rules.
|
The repository uses a project-local, checksum-verified Node.js `22.23.2` runtime and npm `10.9.8`. The wrapper restores it from the local resource library first, or downloads it when online, into the ignored `.runtime/` directory and never changes `/usr/bin/node`; this removes the engine warning caused by running npm with an older system Node. `./nodew` runs the same pinned Node directly. See [docs/project-runtime.zh-CN.md](docs/project-runtime.zh-CN.md) for recovery and CI rules.
|
||||||
|
|
||||||
Build verification:
|
Build verification:
|
||||||
|
|
||||||
|
|||||||
5
chrome-property-acceleration-harness.html
Normal file
5
chrome-property-acceleration-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyAcceleration harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyAcceleration harness.</main><script type="module" src="/src/chromePropertyAccelerationHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-area-harness.html
Normal file
5
chrome-property-area-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyArea harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyArea harness.</main><script type="module" src="/src/chromePropertyAreaHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-boollist-harness.html
Normal file
5
chrome-property-boollist-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyBoolList harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyBoolList harness.</main><script type="module" src="/src/chromePropertyBoolListHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-color-harness.html
Normal file
5
chrome-property-color-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyColor harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyColor harness.</main><script type="module" src="/src/chromePropertyColorHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-colorlist-harness.html
Normal file
5
chrome-property-colorlist-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyColorList harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyColorList harness.</main><script type="module" src="/src/chromePropertyColorListHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-direction-harness.html
Normal file
5
chrome-property-direction-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyDirection harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyDirection harness.</main><script type="module" src="/src/chromePropertyDirectionHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-file-harness.html
Normal file
5
chrome-property-file-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyFile harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyFile harness.</main><script type="module" src="/src/chromePropertyFileHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-fileincluded-harness.html
Normal file
5
chrome-property-fileincluded-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyFileIncluded harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyFileIncluded harness.</main><script type="module" src="/src/chromePropertyFileIncludedHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-font-harness.html
Normal file
5
chrome-property-font-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyFont harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyFont harness.</main><script type="module" src="/src/chromePropertyFontHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-force-harness.html
Normal file
5
chrome-property-force-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyForce harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyForce harness.</main><script type="module" src="/src/chromePropertyForceHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
6
chrome-property-heatflux-harness.html
Normal file
6
chrome-property-heatflux-harness.html
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyHeatFlux harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyHeatFlux harness.</main><script type="module" src="/src/chromePropertyHeatFluxHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
|
|
||||||
6
chrome-property-integerset-harness.html
Normal file
6
chrome-property-integerset-harness.html
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyIntegerSet harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyIntegerSet harness.</main><script type="module" src="/src/chromePropertyIntegerSetHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
|
|
||||||
5
chrome-property-linklisthidden-harness.html
Normal file
5
chrome-property-linklisthidden-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyLinkListHidden harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyLinkListHidden harness.</main><script type="module" src="/src/chromePropertyLinkListHiddenHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
5
chrome-property-linksubhidden-harness.html
Normal file
5
chrome-property-linksubhidden-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome PropertyLinkSubHidden harness</title></head>
|
||||||
|
<body><main id="root">Initializing PropertyLinkSubHidden harness.</main><script type="module" src="/src/chromePropertyLinkSubHiddenHarness.tsx"></script></body>
|
||||||
|
</html>
|
||||||
1
chrome-property-linksublistglobal-harness.html
Normal file
1
chrome-property-linksublistglobal-harness.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><title>Chrome PropertyLinkSubListGlobal harness</title></head><body><main id="root">Initializing PropertyLinkSubListGlobal harness.</main><script type="module" src="/src/chromePropertyLinkSubListGlobalHarness.tsx"></script></body></html>
|
||||||
1
config/boost-emscripten-user-config.jam
Normal file
1
config/boost-emscripten-user-config.jam
Normal file
@@ -0,0 +1 @@
|
|||||||
|
using emscripten : 3.1.69 : ./boost-emscripten-compiler-wrapper.sh ;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"generatedAt": "2026-08-11T04:50:53.969Z",
|
"generatedAt": "2026-08-14T14:24:04.328Z",
|
||||||
"status": "pass",
|
"status": "pass",
|
||||||
"browsers": [
|
"browsers": [
|
||||||
{
|
{
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"height": 579,
|
"height": 579,
|
||||||
"geometrySource": "bitbybit-occt"
|
"geometrySource": "bitbybit-occt"
|
||||||
},
|
},
|
||||||
"screenshotBytes": 128023,
|
"screenshotBytes": 121616,
|
||||||
"pageErrors": []
|
"pageErrors": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"generatedAt": "2026-08-11T02:37:40.468Z",
|
"generatedAt": "2026-08-14T14:26:21.996Z",
|
||||||
"browserId": "chrome",
|
"browserId": "chrome",
|
||||||
"status": "pass",
|
"status": "pass",
|
||||||
"browser": {
|
"browser": {
|
||||||
@@ -423,18 +423,18 @@
|
|||||||
"screenshots": {
|
"screenshots": {
|
||||||
"desktop": {
|
"desktop": {
|
||||||
"path": "fixtures/chrome-app-e2e/desktop-workspace.png",
|
"path": "fixtures/chrome-app-e2e/desktop-workspace.png",
|
||||||
"byteLength": 108743,
|
"byteLength": 109165,
|
||||||
"sha256": "dd67ab23283ffd55dc0509174f8636eac5344de581d4cacfff13cc1828617399"
|
"sha256": "f5030d4e3ae88107e06a5e8147a196b5f0eb7748c7c306b4118f97a98dd9bee4"
|
||||||
},
|
},
|
||||||
"cam": {
|
"cam": {
|
||||||
"path": "fixtures/chrome-app-e2e/cam-workbench.png",
|
"path": "fixtures/chrome-app-e2e/cam-workbench.png",
|
||||||
"byteLength": 118389,
|
"byteLength": 118390,
|
||||||
"sha256": "c339e4b998b8ce7b3290c32efeffebed85dbd1d56d8ae9f764196c7b52e80a8f"
|
"sha256": "5349262af666380bbc96f2932eed2613547ae60870a1d8b9fe44d8ed4831b4ab"
|
||||||
},
|
},
|
||||||
"mobile": {
|
"mobile": {
|
||||||
"path": "fixtures/chrome-app-e2e/mobile-start.png",
|
"path": "fixtures/chrome-app-e2e/mobile-start.png",
|
||||||
"byteLength": 130371,
|
"byteLength": 130361,
|
||||||
"sha256": "9d69c9e9ced4b45bbd083a37a94b5df074e8d60540c0857e79b9df08a8648d81"
|
"sha256": "c65c8644728cb488b22d683a3b68b770dccdfe2107dc9ab5413bfdda72ff9ab1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pageErrors": []
|
"pageErrors": []
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
"scale": {
|
"scale": {
|
||||||
"components": 1000,
|
"components": 1000,
|
||||||
"bomRows": 10,
|
"bomRows": 10,
|
||||||
"durationMs": 6.685000061988831,
|
"durationMs": 11.384999990463257,
|
||||||
"budgetMs": 1000
|
"budgetMs": 1000
|
||||||
},
|
},
|
||||||
"fcstd": {
|
"fcstd": {
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
"persistence": {
|
"persistence": {
|
||||||
"mode": "sqlite-opfs",
|
"mode": "sqlite-opfs",
|
||||||
"byteLength": 980,
|
"byteLength": 980,
|
||||||
"hash": "93bbadc1517ccf2443c74578e92bea6d13c01b02976a53630707f5e7002a6066",
|
"hash": "5482e205a876ef4516106d3819ee59a6873ada3f6e48d85df78ed123c073fd3b",
|
||||||
"roundTrip": true,
|
"roundTrip": true,
|
||||||
"released": true
|
"released": true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"persistence": {
|
"persistence": {
|
||||||
"mode": "sqlite-opfs",
|
"mode": "sqlite-opfs",
|
||||||
"byteLength": 848,
|
"byteLength": 848,
|
||||||
"hash": "7a55c8b5c5f1f5354c2819c6289c9ae60351f7c0d6d1844e51eea2785ce7fad8",
|
"hash": "ec7b7361b0ea5caad7776e5cf851909745150e0de004840187ce000d268794e0",
|
||||||
"roundTrip": true,
|
"roundTrip": true,
|
||||||
"released": true
|
"released": true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -34,10 +34,100 @@
|
|||||||
"status": "accepted",
|
"status": "accepted",
|
||||||
"dryRunStatus": "dry-run",
|
"dryRunStatus": "dry-run",
|
||||||
"parserAuthority": "linuxcnc-wasm",
|
"parserAuthority": "linuxcnc-wasm",
|
||||||
|
"machineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
|
||||||
|
"dryRunMachineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
|
||||||
"lines": 65,
|
"lines": 65,
|
||||||
"blocks": 138,
|
"blocks": 138,
|
||||||
"trajectorySegments": 48
|
"trajectorySegments": 48
|
||||||
},
|
},
|
||||||
|
"runtime": {
|
||||||
|
"server": "managed-vite-preview",
|
||||||
|
"worktreeRevision": "58f50e6d66287bc31e6d906e5c33658a348658e4",
|
||||||
|
"machineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
|
||||||
|
"artifacts": [
|
||||||
|
{
|
||||||
|
"role": "entry-html",
|
||||||
|
"path": "index.html",
|
||||||
|
"runtimeLoaded": true,
|
||||||
|
"bytes": 61728,
|
||||||
|
"sha256": "7087d2ccfb9eb2b4967fa75a7d4069cc97ab62a58d4af4f18a7a449ddc1aa536"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "case-registry",
|
||||||
|
"path": "linuxcnc/cases.json",
|
||||||
|
"runtimeLoaded": true,
|
||||||
|
"bytes": 2108501,
|
||||||
|
"sha256": "b9c614d3f139de57277d02944a3cb8d0e54f68da054021ac375be9ffbb4f95db"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "machine-config",
|
||||||
|
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
|
||||||
|
"runtimeLoaded": true,
|
||||||
|
"bytes": 7179,
|
||||||
|
"sha256": "43c26a58030b6ec4a4319cde23e847cff0134e9f2777eef30848aa477bb87d38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "application",
|
||||||
|
"path": "assets/simulator-D-5Qaz4x.js",
|
||||||
|
"runtimeLoaded": true,
|
||||||
|
"bytes": 852452,
|
||||||
|
"sha256": "a429e0b7297fb169255a30acc48274ed17bbeb168fc1d90a13cf4b4e2c6db42f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "controller-worker",
|
||||||
|
"path": "assets/controller.worker-C1K9_tWf.js",
|
||||||
|
"runtimeLoaded": true,
|
||||||
|
"bytes": 365084,
|
||||||
|
"sha256": "7ac06534c9f270411f02efc56b31b9b862855f90ed31470f2dd22c66d631368f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "wasm-loader",
|
||||||
|
"path": "assets/linuxcnc-core-DHKZgRAr.js",
|
||||||
|
"runtimeLoaded": false,
|
||||||
|
"bytes": 320852,
|
||||||
|
"sha256": "fa73fa21a449efc18bbbf5e33e5ce4035bd8d8699f1cb7c72b88e280d362813a"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "wasm-core",
|
||||||
|
"path": "assets/linuxcnc-core-XJNGI6z7.wasm",
|
||||||
|
"runtimeLoaded": true,
|
||||||
|
"bytes": 53030753,
|
||||||
|
"sha256": "5c1bb5f7648b7ced4ede192485d37aeee1d9e0dec4a86f2c235aeb3d8c3b647e"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"loadedArtifacts": [
|
||||||
|
{
|
||||||
|
"role": "entry-html",
|
||||||
|
"path": "index.html",
|
||||||
|
"status": 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "case-registry",
|
||||||
|
"path": "linuxcnc/cases.json",
|
||||||
|
"status": 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "machine-config",
|
||||||
|
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
|
||||||
|
"status": 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "application",
|
||||||
|
"path": "assets/simulator-D-5Qaz4x.js",
|
||||||
|
"status": 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "controller-worker",
|
||||||
|
"path": "assets/controller.worker-C1K9_tWf.js",
|
||||||
|
"status": 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "wasm-core",
|
||||||
|
"path": "assets/linuxcnc-core-XJNGI6z7.wasm",
|
||||||
|
"status": 200
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"browserId": "chrome",
|
"browserId": "chrome",
|
||||||
"browser": {
|
"browser": {
|
||||||
"product": "150.0.7871.128",
|
"product": "150.0.7871.128",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"multiAxis": true
|
"multiAxis": true
|
||||||
},
|
},
|
||||||
"geometry": {
|
"geometry": {
|
||||||
"sourceShape": "shape-msjl38sz-1",
|
"sourceShape": "shape-msthz6ws-1",
|
||||||
"valid": true,
|
"valid": true,
|
||||||
"volume": 30
|
"volume": 30
|
||||||
},
|
},
|
||||||
|
|||||||
692
config/chrome-freecad-naming-production-verification.json
Normal file
692
config/chrome-freecad-naming-production-verification.json
Normal file
@@ -0,0 +1,692 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"implementation": "freecad-linked",
|
||||||
|
"productionWorkerLinked": true,
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"callbacks": [
|
||||||
|
"freecadNamingAbiVersion",
|
||||||
|
"freecadNamingCapabilitiesJson",
|
||||||
|
"freecadNamingEvidenceJson"
|
||||||
|
],
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"rotate",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"operation": "fuse",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 52,
|
||||||
|
"externallySourcedRecords": 52,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 7,
|
||||||
|
"ambiguousResults": 16,
|
||||||
|
"provenanceResults": 23,
|
||||||
|
"mappedNames": 7,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "cut",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 42,
|
||||||
|
"externallySourcedRecords": 42,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 3,
|
||||||
|
"ambiguousResults": 9,
|
||||||
|
"provenanceResults": 12,
|
||||||
|
"mappedNames": 3,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "common",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 123,
|
||||||
|
"externallySourcedRecords": 123,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 5,
|
||||||
|
"ambiguousResults": 4,
|
||||||
|
"provenanceResults": 9,
|
||||||
|
"mappedNames": 5,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "rotate",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 78,
|
||||||
|
"externallySourcedRecords": 78,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 20,
|
||||||
|
"provenanceResults": 26,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "pad",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 25,
|
||||||
|
"externallySourcedRecords": 25,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 9,
|
||||||
|
"ambiguousResults": 8,
|
||||||
|
"provenanceResults": 17,
|
||||||
|
"mappedNames": 9,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "pocket",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 42,
|
||||||
|
"externallySourcedRecords": 42,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 3,
|
||||||
|
"ambiguousResults": 9,
|
||||||
|
"provenanceResults": 12,
|
||||||
|
"mappedNames": 3,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "loft",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "ambiguous",
|
||||||
|
"callbackExecuted": false,
|
||||||
|
"historyRecords": 24,
|
||||||
|
"externallySourcedRecords": 24,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 0,
|
||||||
|
"ambiguousResults": 7,
|
||||||
|
"provenanceResults": 7,
|
||||||
|
"mappedNames": 0,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "pipe",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "ambiguous",
|
||||||
|
"callbackExecuted": false,
|
||||||
|
"historyRecords": 28,
|
||||||
|
"externallySourcedRecords": 28,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 4,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 0,
|
||||||
|
"ambiguousResults": 10,
|
||||||
|
"provenanceResults": 10,
|
||||||
|
"mappedNames": 0,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "revolution",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 23,
|
||||||
|
"externallySourcedRecords": 23,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 4,
|
||||||
|
"ambiguousResults": 8,
|
||||||
|
"provenanceResults": 12,
|
||||||
|
"mappedNames": 4,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "groove",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "native-evidence",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 2,
|
||||||
|
"externallySourcedRecords": 2,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 1,
|
||||||
|
"ambiguousResults": 0,
|
||||||
|
"provenanceResults": 1,
|
||||||
|
"mappedNames": 1,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "fillet",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 150,
|
||||||
|
"externallySourcedRecords": 150,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 20,
|
||||||
|
"provenanceResults": 26,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "chamfer",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 150,
|
||||||
|
"externallySourcedRecords": 150,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 20,
|
||||||
|
"provenanceResults": 26,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "hole",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 30,
|
||||||
|
"externallySourcedRecords": 15,
|
||||||
|
"internalRecordsExcluded": 15,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 3,
|
||||||
|
"ambiguousResults": 3,
|
||||||
|
"provenanceResults": 6,
|
||||||
|
"mappedNames": 3,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "draft",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "native-evidence",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 5,
|
||||||
|
"externallySourcedRecords": 5,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 5,
|
||||||
|
"ambiguousResults": 0,
|
||||||
|
"provenanceResults": 5,
|
||||||
|
"mappedNames": 5,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "thickness",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 38,
|
||||||
|
"externallySourcedRecords": 38,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 8,
|
||||||
|
"provenanceResults": 14,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "linear-pattern",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 90,
|
||||||
|
"externallySourcedRecords": 45,
|
||||||
|
"internalRecordsExcluded": 45,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 4,
|
||||||
|
"ambiguousResults": 12,
|
||||||
|
"provenanceResults": 16,
|
||||||
|
"mappedNames": 4,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "polar-pattern",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 68,
|
||||||
|
"externallySourcedRecords": 34,
|
||||||
|
"internalRecordsExcluded": 34,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 10,
|
||||||
|
"ambiguousResults": 12,
|
||||||
|
"provenanceResults": 22,
|
||||||
|
"mappedNames": 10,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "mirrored",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 66,
|
||||||
|
"externallySourcedRecords": 33,
|
||||||
|
"internalRecordsExcluded": 33,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 8,
|
||||||
|
"ambiguousResults": 12,
|
||||||
|
"provenanceResults": 20,
|
||||||
|
"mappedNames": 8,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "multi-transform",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 311,
|
||||||
|
"externallySourcedRecords": 311,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 8,
|
||||||
|
"selectedRecords": 22,
|
||||||
|
"ambiguousResults": 68,
|
||||||
|
"provenanceResults": 90,
|
||||||
|
"mappedNames": 22,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"callbackExecutedCases": 17,
|
||||||
|
"ambiguityOnlyCases": 2,
|
||||||
|
"isomorphicCorpus": {
|
||||||
|
"operation": "common",
|
||||||
|
"fixture": "coincident-equal-boxes",
|
||||||
|
"status": "pass",
|
||||||
|
"historyRecords": 156,
|
||||||
|
"uniqueResults": 0,
|
||||||
|
"ambiguousResults": 26,
|
||||||
|
"candidateSets": [
|
||||||
|
{
|
||||||
|
"result": "vertex:0",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex17:",
|
||||||
|
"production-symmetric-object:Vertex19:",
|
||||||
|
"production-symmetric-object:Vertex1:",
|
||||||
|
"production-symmetric-object:Vertex33:",
|
||||||
|
"production-symmetric-object:Vertex35:",
|
||||||
|
"production-symmetric-object:Vertex3:",
|
||||||
|
"production-symmetric-tool:Vertex17:",
|
||||||
|
"production-symmetric-tool:Vertex19:",
|
||||||
|
"production-symmetric-tool:Vertex1:",
|
||||||
|
"production-symmetric-tool:Vertex33:",
|
||||||
|
"production-symmetric-tool:Vertex35:",
|
||||||
|
"production-symmetric-tool:Vertex3:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:1",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex20:",
|
||||||
|
"production-symmetric-object:Vertex21:",
|
||||||
|
"production-symmetric-object:Vertex2:",
|
||||||
|
"production-symmetric-object:Vertex41:",
|
||||||
|
"production-symmetric-object:Vertex43:",
|
||||||
|
"production-symmetric-object:Vertex7:",
|
||||||
|
"production-symmetric-tool:Vertex20:",
|
||||||
|
"production-symmetric-tool:Vertex21:",
|
||||||
|
"production-symmetric-tool:Vertex2:",
|
||||||
|
"production-symmetric-tool:Vertex41:",
|
||||||
|
"production-symmetric-tool:Vertex43:",
|
||||||
|
"production-symmetric-tool:Vertex7:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:3",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex25:",
|
||||||
|
"production-symmetric-object:Vertex27:",
|
||||||
|
"production-symmetric-object:Vertex34:",
|
||||||
|
"production-symmetric-object:Vertex39:",
|
||||||
|
"production-symmetric-object:Vertex4:",
|
||||||
|
"production-symmetric-object:Vertex5:",
|
||||||
|
"production-symmetric-tool:Vertex25:",
|
||||||
|
"production-symmetric-tool:Vertex27:",
|
||||||
|
"production-symmetric-tool:Vertex34:",
|
||||||
|
"production-symmetric-tool:Vertex39:",
|
||||||
|
"production-symmetric-tool:Vertex4:",
|
||||||
|
"production-symmetric-tool:Vertex5:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:5",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex28:",
|
||||||
|
"production-symmetric-object:Vertex29:",
|
||||||
|
"production-symmetric-object:Vertex42:",
|
||||||
|
"production-symmetric-object:Vertex47:",
|
||||||
|
"production-symmetric-object:Vertex6:",
|
||||||
|
"production-symmetric-object:Vertex8:",
|
||||||
|
"production-symmetric-tool:Vertex28:",
|
||||||
|
"production-symmetric-tool:Vertex29:",
|
||||||
|
"production-symmetric-tool:Vertex42:",
|
||||||
|
"production-symmetric-tool:Vertex47:",
|
||||||
|
"production-symmetric-tool:Vertex6:",
|
||||||
|
"production-symmetric-tool:Vertex8:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:8",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex11:",
|
||||||
|
"production-symmetric-object:Vertex18:",
|
||||||
|
"production-symmetric-object:Vertex23:",
|
||||||
|
"production-symmetric-object:Vertex36:",
|
||||||
|
"production-symmetric-object:Vertex37:",
|
||||||
|
"production-symmetric-object:Vertex9:",
|
||||||
|
"production-symmetric-tool:Vertex11:",
|
||||||
|
"production-symmetric-tool:Vertex18:",
|
||||||
|
"production-symmetric-tool:Vertex23:",
|
||||||
|
"production-symmetric-tool:Vertex36:",
|
||||||
|
"production-symmetric-tool:Vertex37:",
|
||||||
|
"production-symmetric-tool:Vertex9:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:9",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex10:",
|
||||||
|
"production-symmetric-object:Vertex15:",
|
||||||
|
"production-symmetric-object:Vertex22:",
|
||||||
|
"production-symmetric-object:Vertex24:",
|
||||||
|
"production-symmetric-object:Vertex44:",
|
||||||
|
"production-symmetric-object:Vertex45:",
|
||||||
|
"production-symmetric-tool:Vertex10:",
|
||||||
|
"production-symmetric-tool:Vertex15:",
|
||||||
|
"production-symmetric-tool:Vertex22:",
|
||||||
|
"production-symmetric-tool:Vertex24:",
|
||||||
|
"production-symmetric-tool:Vertex44:",
|
||||||
|
"production-symmetric-tool:Vertex45:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:11",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex12:",
|
||||||
|
"production-symmetric-object:Vertex13:",
|
||||||
|
"production-symmetric-object:Vertex26:",
|
||||||
|
"production-symmetric-object:Vertex31:",
|
||||||
|
"production-symmetric-object:Vertex38:",
|
||||||
|
"production-symmetric-object:Vertex40:",
|
||||||
|
"production-symmetric-tool:Vertex12:",
|
||||||
|
"production-symmetric-tool:Vertex13:",
|
||||||
|
"production-symmetric-tool:Vertex26:",
|
||||||
|
"production-symmetric-tool:Vertex31:",
|
||||||
|
"production-symmetric-tool:Vertex38:",
|
||||||
|
"production-symmetric-tool:Vertex40:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:13",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex14:",
|
||||||
|
"production-symmetric-object:Vertex16:",
|
||||||
|
"production-symmetric-object:Vertex30:",
|
||||||
|
"production-symmetric-object:Vertex32:",
|
||||||
|
"production-symmetric-object:Vertex46:",
|
||||||
|
"production-symmetric-object:Vertex48:",
|
||||||
|
"production-symmetric-tool:Vertex14:",
|
||||||
|
"production-symmetric-tool:Vertex16:",
|
||||||
|
"production-symmetric-tool:Vertex30:",
|
||||||
|
"production-symmetric-tool:Vertex32:",
|
||||||
|
"production-symmetric-tool:Vertex46:",
|
||||||
|
"production-symmetric-tool:Vertex48:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:0",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge10:",
|
||||||
|
"production-symmetric-object:Edge1:",
|
||||||
|
"production-symmetric-tool:Edge10:",
|
||||||
|
"production-symmetric-tool:Edge1:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:1",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge17:",
|
||||||
|
"production-symmetric-object:Edge2:",
|
||||||
|
"production-symmetric-tool:Edge17:",
|
||||||
|
"production-symmetric-tool:Edge2:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:2",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge14:",
|
||||||
|
"production-symmetric-object:Edge3:",
|
||||||
|
"production-symmetric-tool:Edge14:",
|
||||||
|
"production-symmetric-tool:Edge3:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:3",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge21:",
|
||||||
|
"production-symmetric-object:Edge4:",
|
||||||
|
"production-symmetric-tool:Edge21:",
|
||||||
|
"production-symmetric-tool:Edge4:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:4",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge12:",
|
||||||
|
"production-symmetric-object:Edge5:",
|
||||||
|
"production-symmetric-tool:Edge12:",
|
||||||
|
"production-symmetric-tool:Edge5:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:5",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge19:",
|
||||||
|
"production-symmetric-object:Edge6:",
|
||||||
|
"production-symmetric-tool:Edge19:",
|
||||||
|
"production-symmetric-tool:Edge6:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:6",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge16:",
|
||||||
|
"production-symmetric-object:Edge7:",
|
||||||
|
"production-symmetric-tool:Edge16:",
|
||||||
|
"production-symmetric-tool:Edge7:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:7",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge23:",
|
||||||
|
"production-symmetric-object:Edge8:",
|
||||||
|
"production-symmetric-tool:Edge23:",
|
||||||
|
"production-symmetric-tool:Edge8:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:8",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge18:",
|
||||||
|
"production-symmetric-object:Edge9:",
|
||||||
|
"production-symmetric-tool:Edge18:",
|
||||||
|
"production-symmetric-tool:Edge9:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:10",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge11:",
|
||||||
|
"production-symmetric-object:Edge22:",
|
||||||
|
"production-symmetric-tool:Edge11:",
|
||||||
|
"production-symmetric-tool:Edge22:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:12",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge13:",
|
||||||
|
"production-symmetric-object:Edge20:",
|
||||||
|
"production-symmetric-tool:Edge13:",
|
||||||
|
"production-symmetric-tool:Edge20:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:14",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge15:",
|
||||||
|
"production-symmetric-object:Edge24:",
|
||||||
|
"production-symmetric-tool:Edge15:",
|
||||||
|
"production-symmetric-tool:Edge24:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:0",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face1:",
|
||||||
|
"production-symmetric-tool:Face1:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:1",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face2:",
|
||||||
|
"production-symmetric-tool:Face2:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:2",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face3:",
|
||||||
|
"production-symmetric-tool:Face3:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:3",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face4:",
|
||||||
|
"production-symmetric-tool:Face4:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:4",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face5:",
|
||||||
|
"production-symmetric-tool:Face5:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:5",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face6:",
|
||||||
|
"production-symmetric-tool:Face6:"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"arrayOrderFallbackUsed": false
|
||||||
|
},
|
||||||
|
"chainedStage": {
|
||||||
|
"mappedNames": 1,
|
||||||
|
"stringHasherEntries": 3
|
||||||
|
},
|
||||||
|
"invalidHistoryRejected": true,
|
||||||
|
"systemExact": false,
|
||||||
|
"runtime": "chrome",
|
||||||
|
"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,
|
||||||
|
"artifacts": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.js",
|
||||||
|
"bytes": 359739,
|
||||||
|
"sha256": "6a90575b81ceab5c00a2440e45e010bd62d3455b012541b4449f7b0e88a644c0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.wasm",
|
||||||
|
"bytes": 37482285,
|
||||||
|
"sha256": "c03cf553e71bf4e74667c5aada921769bb241d6021f28a5b166b49c738965515"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.data",
|
||||||
|
"bytes": 3322679,
|
||||||
|
"sha256": "ada204b276208027a5cb1cc1288d4aab95b8ee1f28e3a43a00cd062720b87e99"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"harness": {
|
||||||
|
"path": "scripts/freecad-naming-production-matrix.mjs",
|
||||||
|
"bytes": 19819,
|
||||||
|
"sha256": "01532d8d3197aacddc0c18d4d8e41b4aee3b88bb4eb6636d8d0457a194651125"
|
||||||
|
},
|
||||||
|
"generatedAt": "2026-08-14T05:27:30.061Z"
|
||||||
|
}
|
||||||
@@ -5,13 +5,16 @@
|
|||||||
"status": "pass",
|
"status": "pass",
|
||||||
"migration": {
|
"migration": {
|
||||||
"sourceSchemaVersion": 1,
|
"sourceSchemaVersion": 1,
|
||||||
"migratedSchemaVersion": 6,
|
"migratedSchemaVersion": 7,
|
||||||
"migratedDocumentVersion": 3,
|
"migratedDocumentVersion": 3,
|
||||||
"migratedLabel": "Legacy OPFS project",
|
"migratedLabel": "Legacy OPFS project",
|
||||||
"migratedObjectCount": 1,
|
"migratedObjectCount": 1,
|
||||||
|
"migratedNativeObjectTag": 1,
|
||||||
"recomputeDefaulted": true,
|
"recomputeDefaulted": true,
|
||||||
"reopenedSchemaVersion": 6,
|
"reopenedSchemaVersion": 7,
|
||||||
"reopenedVersion": 4,
|
"reopenedVersion": 4,
|
||||||
|
"reopenedNativeObjectTag": 17,
|
||||||
|
"checkpointNativeObjectTag": 17,
|
||||||
"reopenedLabel": "Migrated OPFS project",
|
"reopenedLabel": "Migrated OPFS project",
|
||||||
"checkpointVersion": 4,
|
"checkpointVersion": 4,
|
||||||
"recoveryIntegrity": "ok",
|
"recoveryIntegrity": "ok",
|
||||||
@@ -28,9 +31,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cleanup": {
|
"cleanup": {
|
||||||
"databasePath": "/bitbybit-rel02-301b6b76-9ab6-44ef-bf40-f2e6052e58ae.sqlite3",
|
"databasePath": "/bitbybit-rel02-976dea78-76e4-4a2b-afce-c0a2da583550.sqlite3",
|
||||||
"removedFiles": [
|
"removedFiles": [
|
||||||
"bitbybit-rel02-301b6b76-9ab6-44ef-bf40-f2e6052e58ae.sqlite3"
|
"bitbybit-rel02-976dea78-76e4-4a2b-afce-c0a2da583550.sqlite3"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1081
config/chrome-partdesign-reference-lifecycle-verification.json
Normal file
1081
config/chrome-partdesign-reference-lifecycle-verification.json
Normal file
File diff suppressed because it is too large
Load Diff
64
config/chrome-property-acceleration-verification.json
Normal file
64
config/chrome-property-acceleration-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": "Acceleration",
|
||||||
|
"unit": "mm/s^2",
|
||||||
|
"beforeValue": 1000,
|
||||||
|
"afterValue": 500,
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": 500,
|
||||||
|
"loadedType": "App::PropertyAcceleration",
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "Float",
|
||||||
|
"fcstdValue": "500"
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 36,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:43769/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
|
||||||
|
}
|
||||||
|
}
|
||||||
71
config/chrome-property-area-verification.json
Normal file
71
config/chrome-property-area-verification.json
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"areaReadOnly": true,
|
||||||
|
"beforeText": "20 mm^2",
|
||||||
|
"afterText": "0 mm^2",
|
||||||
|
"beforeArea": 20,
|
||||||
|
"afterArea": 0,
|
||||||
|
"beforeElementCount": 2,
|
||||||
|
"afterElementCount": 0,
|
||||||
|
"triggerLabel": "Clear subshape links",
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedArea": 0,
|
||||||
|
"loadedAreaType": "App::PropertyArea",
|
||||||
|
"loadedElementCount": 0,
|
||||||
|
"loadedElementsType": "App::PropertyLinkSubList",
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdAreaElement": "Float",
|
||||||
|
"fcstdAreaValue": "0",
|
||||||
|
"fcstdElementsElement": "LinkSubList",
|
||||||
|
"fcstdElementCount": 0
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 28,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:38423/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
|
||||||
|
}
|
||||||
|
}
|
||||||
77
config/chrome-property-boollist-verification.json
Normal file
77
config/chrome-property-boollist-verification.json
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"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": "Bool list",
|
||||||
|
"beforeText": "false",
|
||||||
|
"afterText": "true, false, true, false",
|
||||||
|
"beforeValue": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"afterValue": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"loadedType": "App::PropertyBoolList",
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "BoolList",
|
||||||
|
"fcstdValue": "[true,false,true,false]"
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 32,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:38629/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
|
||||||
|
}
|
||||||
|
}
|
||||||
84
config/chrome-property-color-verification.json
Normal file
84
config/chrome-property-color-verification.json
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"rgbInputType": "color",
|
||||||
|
"alphaInputType": "number",
|
||||||
|
"rgbLabel": "Colour RGB",
|
||||||
|
"alphaLabel": "Colour alpha",
|
||||||
|
"beforeHex": "#000000",
|
||||||
|
"afterHex": "#336699",
|
||||||
|
"beforeAlpha": "1",
|
||||||
|
"afterAlpha": 0.8,
|
||||||
|
"beforeValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"afterValue": [
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
"documentVersion": 3,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": [
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
"loadedType": "App::PropertyColor",
|
||||||
|
"checkpointVersion": 3,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "PropertyColor",
|
||||||
|
"fcstdValue": "862362060"
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 29,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:36501/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
|
||||||
|
}
|
||||||
|
}
|
||||||
131
config/chrome-property-colorlist-verification.json
Normal file
131
config/chrome-property-colorlist-verification.json
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"rgbInputTypes": [
|
||||||
|
"color",
|
||||||
|
"color"
|
||||||
|
],
|
||||||
|
"alphaInputTypes": [
|
||||||
|
"number",
|
||||||
|
"number"
|
||||||
|
],
|
||||||
|
"rgbLabels": [
|
||||||
|
"Colour list 1 RGB",
|
||||||
|
"Colour list 2 RGB"
|
||||||
|
],
|
||||||
|
"alphaLabels": [
|
||||||
|
"Colour list 1 alpha",
|
||||||
|
"Colour list 2 alpha"
|
||||||
|
],
|
||||||
|
"addLabel": "Add Colour list color",
|
||||||
|
"removeLabel": "Remove Colour list 3",
|
||||||
|
"beforeHex": [
|
||||||
|
"#000000"
|
||||||
|
],
|
||||||
|
"afterHex": [
|
||||||
|
"#336699",
|
||||||
|
"#112233"
|
||||||
|
],
|
||||||
|
"beforeAlpha": [
|
||||||
|
"1"
|
||||||
|
],
|
||||||
|
"afterAlpha": [
|
||||||
|
0.8,
|
||||||
|
0.4
|
||||||
|
],
|
||||||
|
"beforeValue": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"afterValue": [
|
||||||
|
[
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666666666666667,
|
||||||
|
0.13333333333333333,
|
||||||
|
0.2,
|
||||||
|
0.4
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"beforeItemCount": 1,
|
||||||
|
"peakItemCount": 3,
|
||||||
|
"afterItemCount": 2,
|
||||||
|
"documentVersion": 8,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": [
|
||||||
|
[
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666666666666667,
|
||||||
|
0.13333333333333333,
|
||||||
|
0.2,
|
||||||
|
0.4
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"loadedType": "App::PropertyColorList",
|
||||||
|
"checkpointVersion": 8,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "ColorList",
|
||||||
|
"fcstdValue": "[[0.2,0.4,0.6,0.8],[0.06666666666666667,0.13333333333333333,0.2,0.4]]",
|
||||||
|
"fcstdResourcePath": "ColourList",
|
||||||
|
"fcstdResourceBytes": 12
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 33,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:40471/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
|
||||||
|
}
|
||||||
|
}
|
||||||
83
config/chrome-property-direction-verification.json
Normal file
83
config/chrome-property-direction-verification.json
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"inputTypes": [
|
||||||
|
"number",
|
||||||
|
"number",
|
||||||
|
"number"
|
||||||
|
],
|
||||||
|
"labels": [
|
||||||
|
"Normal x",
|
||||||
|
"Normal y",
|
||||||
|
"Normal z"
|
||||||
|
],
|
||||||
|
"beforeValue": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 1
|
||||||
|
},
|
||||||
|
"afterValue": {
|
||||||
|
"x": 0.25,
|
||||||
|
"y": -0.5,
|
||||||
|
"z": 1.5
|
||||||
|
},
|
||||||
|
"documentVersion": 4,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": {
|
||||||
|
"x": 0.25,
|
||||||
|
"y": -0.5,
|
||||||
|
"z": 1.5
|
||||||
|
},
|
||||||
|
"loadedType": "App::PropertyDirection",
|
||||||
|
"checkpointVersion": 4,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "PropertyVector",
|
||||||
|
"fcstdValue": "{\"x\":0.25,\"y\":-0.5,\"z\":1.5}"
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 33,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:43033/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
|
||||||
|
}
|
||||||
|
}
|
||||||
63
config/chrome-property-file-verification.json
Normal file
63
config/chrome-property-file-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": "File name",
|
||||||
|
"beforeValue": "project-files/initial.obj",
|
||||||
|
"afterValue": "project-files/chrome-updated.obj",
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": "project-files/chrome-updated.obj",
|
||||||
|
"loadedType": "App::PropertyFile",
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "String",
|
||||||
|
"fcstdValue": "project-files/chrome-updated.obj"
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 63,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:45939/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
|
||||||
|
}
|
||||||
|
}
|
||||||
85
config/chrome-property-fileincluded-verification.json
Normal file
85
config/chrome-property-fileincluded-verification.json
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"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": "file",
|
||||||
|
"label": "Embedded file",
|
||||||
|
"beforeName": "Empty",
|
||||||
|
"afterName": "chrome-resource.bin",
|
||||||
|
"afterValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"archiveName": "chrome-resource.bin",
|
||||||
|
"resourceHash": "934b31426acd0c2b98cddae880e72404534f5656e5e82cf1ab15ad661f8f3b2b",
|
||||||
|
"byteLength": 16,
|
||||||
|
"mediaType": "application/octet-stream"
|
||||||
|
},
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"notices": [
|
||||||
|
"chrome-resource.bin embedded"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"archiveName": "chrome-resource.bin",
|
||||||
|
"resourceHash": "934b31426acd0c2b98cddae880e72404534f5656e5e82cf1ab15ad661f8f3b2b",
|
||||||
|
"byteLength": 16,
|
||||||
|
"mediaType": "application/octet-stream"
|
||||||
|
},
|
||||||
|
"loadedType": "App::PropertyFileIncluded",
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "FileIncluded",
|
||||||
|
"fcstdResourcePath": "chrome-resource.bin",
|
||||||
|
"fcstdResourceBytes": 16,
|
||||||
|
"fcstdResourceMatches": true
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"documentByteLength": 16,
|
||||||
|
"documentRoundTrip": true,
|
||||||
|
"independentByteLength": 48,
|
||||||
|
"independentRoundTrip": true,
|
||||||
|
"independentReleased": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:37353/src/facade/persistenceWorker.ts?worker_file&type=module"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requestTypes": [
|
||||||
|
"initialize",
|
||||||
|
"put-resource",
|
||||||
|
"save-document",
|
||||||
|
"load-document",
|
||||||
|
"load-checkpoint",
|
||||||
|
"recovery-report",
|
||||||
|
"get-resource",
|
||||||
|
"get-resource",
|
||||||
|
"put-resource",
|
||||||
|
"get-resource",
|
||||||
|
"release-resource",
|
||||||
|
"get-resource",
|
||||||
|
"dispose"
|
||||||
|
],
|
||||||
|
"terminated": [
|
||||||
|
"bitbybit-persistence"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"release": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"workerTerminated": true
|
||||||
|
}
|
||||||
|
}
|
||||||
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
|
||||||
|
}
|
||||||
|
}
|
||||||
85
config/chrome-property-linklisthidden-verification.json
Normal file
85
config/chrome-property-linklisthidden-verification.json
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"visibleLabelInput": true,
|
||||||
|
"hiddenControlCountBefore": 0,
|
||||||
|
"hiddenControlCountAfter": 0,
|
||||||
|
"hiddenTextPresentBefore": false,
|
||||||
|
"hiddenTextPresentAfter": false,
|
||||||
|
"hiddenStatus": true,
|
||||||
|
"beforeValue": [
|
||||||
|
"ExportA",
|
||||||
|
"ExportB"
|
||||||
|
],
|
||||||
|
"afterValue": [
|
||||||
|
"ExportB",
|
||||||
|
"ExportA",
|
||||||
|
"ExportB"
|
||||||
|
],
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"dependencyCount": 0,
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": [
|
||||||
|
"ExportB",
|
||||||
|
"ExportA",
|
||||||
|
"ExportB"
|
||||||
|
],
|
||||||
|
"loadedType": "App::PropertyLinkListHidden",
|
||||||
|
"loadedDependencyCount": 0,
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "LinkList",
|
||||||
|
"fcstdValue": [
|
||||||
|
"ExportB",
|
||||||
|
"ExportA",
|
||||||
|
"ExportB"
|
||||||
|
],
|
||||||
|
"fcstdNativeStatus": 67108864
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 44,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:37495/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
|
||||||
|
}
|
||||||
|
}
|
||||||
95
config/chrome-property-linksubhidden-verification.json
Normal file
95
config/chrome-property-linksubhidden-verification.json
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"visibleLabelInput": true,
|
||||||
|
"hiddenControlCountBefore": 0,
|
||||||
|
"hiddenControlCountAfter": 0,
|
||||||
|
"hiddenTextPresentBefore": false,
|
||||||
|
"hiddenTextPresentAfter": false,
|
||||||
|
"hiddenStatus": true,
|
||||||
|
"beforeValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "ColorSourceA",
|
||||||
|
"subElements": [
|
||||||
|
"Face1",
|
||||||
|
"Face3"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"afterValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "ColorSourceB",
|
||||||
|
"subElements": [
|
||||||
|
"Face5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"dependencyCount": 0,
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "ColorSourceB",
|
||||||
|
"subElements": [
|
||||||
|
"Face5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"loadedType": "App::PropertyLinkSubHidden",
|
||||||
|
"loadedDependencyCount": 0,
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "LinkSub",
|
||||||
|
"fcstdValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "ColorSourceB",
|
||||||
|
"subElements": [
|
||||||
|
"Face5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fcstdNativeStatus": 67108864
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 43,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:46041/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
|
||||||
|
}
|
||||||
|
}
|
||||||
120
config/chrome-property-linksublistglobal-verification.json
Normal file
120
config/chrome-property-linksublistglobal-verification.json
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"visibleLabelInput": true,
|
||||||
|
"controlsBefore": 3,
|
||||||
|
"controlsAfter": 2,
|
||||||
|
"beforeValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"objectId": "SourceBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectId": "SourceBox",
|
||||||
|
"subElement": "Face2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectId": "SecondBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"afterValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"objectId": "SecondBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectId": "SourceBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"documentVersion": 2,
|
||||||
|
"dirty": true,
|
||||||
|
"objectState": "touched",
|
||||||
|
"dependencyCount": 2,
|
||||||
|
"errors": []
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"objectId": "SecondBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectId": "SourceBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"loadedType": "App::PropertyLinkSubListGlobal",
|
||||||
|
"loadedDependencyCount": 2,
|
||||||
|
"checkpointVersion": 2,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"fcstdElement": "LinkSubList",
|
||||||
|
"fcstdType": "App::PropertyLinkSubListGlobal",
|
||||||
|
"fcstdValue": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"objectId": "SecondBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectId": "SourceBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fcstdDecoded": true
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"byteLength": 47,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"worker": {
|
||||||
|
"constructed": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-persistence",
|
||||||
|
"url": "http://127.0.0.1:36505/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
|
||||||
|
}
|
||||||
|
}
|
||||||
33
config/cmake/boost/BoostConfig.cmake
Normal file
33
config/cmake/boost/BoostConfig.cmake
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
set(Boost_VERSION 108300)
|
||||||
|
set(Boost_VERSION_STRING "1.83.0")
|
||||||
|
set(Boost_INCLUDE_DIRS "${BOOST_WASM_ROOT}/include")
|
||||||
|
set(Boost_INCLUDE_DIR "${Boost_INCLUDE_DIRS}")
|
||||||
|
set(Boost_LIBRARIES "")
|
||||||
|
|
||||||
|
foreach(component IN LISTS Boost_FIND_COMPONENTS)
|
||||||
|
string(TOLOWER "${component}" component_lower)
|
||||||
|
set(archive "${BOOST_WASM_ROOT}/lib/libboost_${component_lower}.a")
|
||||||
|
if(NOT EXISTS "${archive}")
|
||||||
|
set(Boost_${component}_FOUND FALSE)
|
||||||
|
set(Boost_FOUND FALSE)
|
||||||
|
if(Boost_FIND_REQUIRED_${component})
|
||||||
|
message(FATAL_ERROR "Missing Boost wasm component ${component}: ${archive}")
|
||||||
|
endif()
|
||||||
|
continue()
|
||||||
|
endif()
|
||||||
|
if(NOT TARGET Boost::${component})
|
||||||
|
add_library(Boost::${component} STATIC IMPORTED)
|
||||||
|
set_target_properties(Boost::${component} PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${archive}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}"
|
||||||
|
)
|
||||||
|
if(component_lower STREQUAL "thread")
|
||||||
|
set_property(TARGET Boost::${component} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||||
|
"${BOOST_WASM_ROOT}/lib/libboost_atomic.a")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
set(Boost_${component}_FOUND TRUE)
|
||||||
|
list(APPEND Boost_LIBRARIES Boost::${component})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
set(Boost_FOUND TRUE)
|
||||||
9
config/cmake/boost/BoostConfigVersion.cmake
Normal file
9
config/cmake/boost/BoostConfigVersion.cmake
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
set(PACKAGE_VERSION "1.83.0")
|
||||||
|
if(PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION)
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
else()
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||||
|
if(PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION)
|
||||||
|
set(PACKAGE_VERSION_EXACT TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
17
config/cmake/fmt/fmt-config.cmake
Normal file
17
config/cmake/fmt/fmt-config.cmake
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
if(NOT FREECAD_WASM_OFFLINE_SYSROOT)
|
||||||
|
message(FATAL_ERROR "FREECAD_WASM_OFFLINE_SYSROOT is required by the candidate fmt package")
|
||||||
|
endif()
|
||||||
|
set(_freecad_wasm_fmt_include "${FREECAD_WASM_OFFLINE_SYSROOT}/fmt-10.1.1/include")
|
||||||
|
if(NOT EXISTS "${_freecad_wasm_fmt_include}/fmt/format.h")
|
||||||
|
message(FATAL_ERROR "Offline fmt headers are missing: ${_freecad_wasm_fmt_include}/fmt/format.h")
|
||||||
|
endif()
|
||||||
|
if(NOT TARGET fmt)
|
||||||
|
add_library(fmt INTERFACE)
|
||||||
|
target_include_directories(fmt INTERFACE "${_freecad_wasm_fmt_include}")
|
||||||
|
target_compile_definitions(fmt INTERFACE FMT_HEADER_ONLY=1)
|
||||||
|
endif()
|
||||||
|
if(NOT TARGET fmt::fmt)
|
||||||
|
add_library(fmt::fmt ALIAS fmt)
|
||||||
|
endif()
|
||||||
|
set(fmt_FOUND TRUE)
|
||||||
|
set(fmt_VERSION 10.1.1)
|
||||||
@@ -81,8 +81,10 @@
|
|||||||
"artifact": {
|
"artifact": {
|
||||||
"javascript": "native/occt-history/dist/bitbybit-occt-history.js",
|
"javascript": "native/occt-history/dist/bitbybit-occt-history.js",
|
||||||
"wasm": "native/occt-history/dist/bitbybit-occt-history.wasm",
|
"wasm": "native/occt-history/dist/bitbybit-occt-history.wasm",
|
||||||
"javascriptSha256": "78f1cdd17a6a7b61ff8435c0ff8c912a43c4517e6ef49f3f741521662a903557",
|
"data": "native/occt-history/dist/bitbybit-occt-history.data",
|
||||||
"wasmSha256": "b6cb6307399b188cdf1377e9294b4af8e36b21783693101db8f985e41cff5fbe"
|
"javascriptSha256": "6a90575b81ceab5c00a2440e45e010bd62d3455b012541b4449f7b0e88a644c0",
|
||||||
|
"wasmSha256": "c03cf553e71bf4e74667c5aada921769bb241d6021f28a5b166b49c738965515",
|
||||||
|
"dataSha256": "ada204b276208027a5cb1cc1288d4aab95b8ee1f28e3a43a00cd062720b87e99"
|
||||||
},
|
},
|
||||||
"protocol": "native result and history records stay inside the provider; cross-WASM handles are forbidden; STEP text is the explicit transport boundary",
|
"protocol": "native result and history records stay inside the provider; cross-WASM handles are forbidden; STEP text is the explicit transport boundary",
|
||||||
"historyProtocol": {
|
"historyProtocol": {
|
||||||
@@ -97,15 +99,50 @@
|
|||||||
"status": "explicit-runtime-contract",
|
"status": "explicit-runtime-contract",
|
||||||
"mappedNameRef": "optional provider evidence; final-shape-only stages are marked and cannot mint FreeCAD tokens",
|
"mappedNameRef": "optional provider evidence; final-shape-only stages are marked and cannot mint FreeCAD tokens",
|
||||||
"stringHasher": "optional opaque native table; validated and preserved losslessly",
|
"stringHasher": "optional opaque native table; validated and preserved losslessly",
|
||||||
"exactBlockers": ["browser FreeCAD private token callback ABI", "browser builder naming evidence transport", "non-unique isomorphic source"]
|
"exactBlockers": ["exhaustive cross-feature naming and FCStd round-trip corpus", "complete native document and property semantics"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"freecadNamingBuild": {
|
||||||
|
"status": "production-linked",
|
||||||
|
"prerequisiteStatus": "real-isolated-freecad-private-naming-bridge-pass",
|
||||||
|
"sdkReadinessStatus": "candidate-complete",
|
||||||
|
"sdkEnvironment": "FREECAD_WASM_SDK_DIR",
|
||||||
|
"requiredManifest": "manifest.json",
|
||||||
|
"requiredCallbacks": ["freecadNamingAbiVersion", "freecadNamingCapabilitiesJson", "freecadNamingEvidenceJson"],
|
||||||
|
"requiredFreecadVersion": "1.1.1",
|
||||||
|
"requiredSourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"requiredEmscriptenVersion": "3.1.69",
|
||||||
|
"buildCommand": "./npmw run build:occt-history",
|
||||||
|
"candidateBuildCommand": "./npmw run build:freecad-naming-worker",
|
||||||
|
"qtCoreBuildCommand": "./npmw run build:qt6-wasm-core",
|
||||||
|
"qtFreecadSdkBuildCommand": "./npmw run build:qt6-freecad-wasm",
|
||||||
|
"yamlCppBuildCommand": "./npmw run build:yaml-cpp-wasm",
|
||||||
|
"icuBuildCommand": "./npmw run build:icu-wasm",
|
||||||
|
"pythonBuildCommand": "./npmw run build:cpython-wasm",
|
||||||
|
"xercesBuildCommand": "./npmw run build:xerces-c-wasm",
|
||||||
|
"boostBuildCommand": "./npmw run build:boost-wasm",
|
||||||
|
"sourceProbeBuildCommand": "./npmw run build:freecad-naming-source-probe",
|
||||||
|
"sourceProbeTestCommand": "./npmw run test:freecad-naming-source-probe",
|
||||||
|
"sdkReadinessCommand": "./npmw run check:freecad-naming-sdk-readiness",
|
||||||
|
"sdkManifestCommand": "./npmw run generate:freecad-naming-sdk-manifest",
|
||||||
|
"isolatedBridgeBuildCommand": "./npmw run build:freecad-naming-bridge-candidate",
|
||||||
|
"isolatedBridgeTestCommand": "./npmw run test:freecad-naming-bridge-candidate",
|
||||||
|
"candidateWorkerTestCommand": "./npmw run test:freecad-naming-worker-candidate",
|
||||||
|
"candidateChromeRunCommand": "./npmw run test:chrome-freecad-naming-worker-candidate",
|
||||||
|
"candidateChromeCheckCommand": "./npmw run check:chrome-freecad-naming-worker-candidate",
|
||||||
|
"productionNodeTestCommand": "./npmw run test:freecad-naming-production",
|
||||||
|
"productionChromeRunCommand": "./npmw run test:chrome-freecad-naming-production",
|
||||||
|
"productionCheckCommand": "./npmw run check:freecad-naming-production",
|
||||||
|
"boundaryCheckCommand": "./npmw run check:freecad-private-naming-boundary",
|
||||||
|
"checkCommand": "./npmw run check:freecad-naming-sdk",
|
||||||
|
"statusBoundary": "Production Node and Chrome matrices prove all 19 callbacks/builders for EX-TSN-02; systemExact remains false until the broader exact plan closes"
|
||||||
|
},
|
||||||
"browserWorker": {
|
"browserWorker": {
|
||||||
"entry": "src/facade/nativeHistoryWorkerEntry.ts",
|
"entry": "src/facade/nativeHistoryWorkerEntry.ts",
|
||||||
"client": "src/facade/nativeHistoryWorkerClient.ts",
|
"client": "src/facade/nativeHistoryWorkerClient.ts",
|
||||||
"moduleUrl": "/native/occt-history/bitbybit-occt-history.js",
|
"moduleUrl": "/native/occt-history/bitbybit-occt-history.js",
|
||||||
"runtimeConfiguration": "BitbybitGeometryRuntime.configureNativeHistory(provider, timeoutMs)",
|
"runtimeConfiguration": "BitbybitGeometryRuntime.configureNativeHistory(provider, timeoutMs)",
|
||||||
"artifactPublishCommand": "./npmw run build:occt-history",
|
"artifactPublishCommand": "./npmw run build:occt-history",
|
||||||
"status": "default-application-worker-with-fallback",
|
"status": "default-application-worker-with-fallback",
|
||||||
"browserVerification": "config/occt-browser-verification.json",
|
"browserVerification": "config/occt-browser-verification.json",
|
||||||
"threeWayVerification": "config/freecad-bitbybit-native-threeway.json",
|
"threeWayVerification": "config/freecad-bitbybit-native-threeway.json",
|
||||||
@@ -116,21 +153,21 @@
|
|||||||
},
|
},
|
||||||
"facadeCapabilities": {
|
"facadeCapabilities": {
|
||||||
"geometry": { "level": "experimental", "provider": "BitBybit OCCT 1.1.1", "operations": ["box", "cylinder", "sphere", "cone", "placement", "object-placement-recompute", "placement-validation", "mirror-plane", "mirrored-whole-shape", "multi-transform-whole-shape", "union", "cut", "intersection", "part-primitive-recompute", "part-boolean-recompute", "shape-check", "pad", "pocket", "pocket-through-all", "revolution", "loft", "pipe", "fillet", "chamfer", "linear-pattern-whole-shape", "polar-pattern-whole-shape", "hole-basic-origin-normal", "feature-shape-cache", "face-edge-vertex-topology", "native-cross-feature-history-routing", "step-export", "stl-export"], "featureLevels": { "pad": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it"] }, "pocket": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it"] }, "revolution": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it"] }, "groove": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it", "OCCT/FreeCAD private token generation"] }, "boolean": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it", "isomorphic source ambiguity"] }, "fillet": { "level": "experimental", "exactBlockedBy": ["complete cross-feature native stage history"] }, "chamfer": { "level": "experimental", "exactBlockedBy": ["complete cross-feature native stage history"] }, "multi-transform": { "level": "experimental", "exactBlockedBy": ["feature-list native history", "private naming tokens"] } } },
|
"geometry": { "level": "experimental", "provider": "BitBybit OCCT 1.1.1", "operations": ["box", "cylinder", "sphere", "cone", "placement", "object-placement-recompute", "placement-validation", "mirror-plane", "mirrored-whole-shape", "multi-transform-whole-shape", "union", "cut", "intersection", "part-primitive-recompute", "part-boolean-recompute", "shape-check", "pad", "pocket", "pocket-through-all", "revolution", "loft", "pipe", "fillet", "chamfer", "linear-pattern-whole-shape", "polar-pattern-whole-shape", "hole-basic-origin-normal", "feature-shape-cache", "face-edge-vertex-topology", "native-cross-feature-history-routing", "step-export", "stl-export"], "featureLevels": { "pad": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it"] }, "pocket": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it"] }, "revolution": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it"] }, "groove": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it", "OCCT/FreeCAD private token generation"] }, "boolean": { "level": "compatible", "exactBlockedBy": ["native MappedNameRef/StringHasher evidence when provider omits it", "isomorphic source ambiguity"] }, "fillet": { "level": "experimental", "exactBlockedBy": ["complete cross-feature native stage history"] }, "chamfer": { "level": "experimental", "exactBlockedBy": ["complete cross-feature native stage history"] }, "multi-transform": { "level": "experimental", "exactBlockedBy": ["feature-list native history", "private naming tokens"] } } },
|
||||||
"document": { "level": "experimental", "operations": ["typed-properties", "property-vector", "property-placement", "property-multi-transform", "property-link-list", "property-string-list", "property-link-sub", "expressions", "units", "dependency-dag", "parallel-level-recompute", "sync-recompute", "async-generation-recompute", "root-cause-diagnostics", "repair-branch-recompute", "versioned-toporef", "toporef-migration", "generation-topology-snapshot", "linksub-external-geometry-migration", "ambiguous-deleted-topology-diagnostics", "adjacency-fingerprint-disambiguation", "toporef-candidate-replacement-transaction", "signature-topology-history-fallback", "native-topology-history-adapter", "native-cross-feature-history-routing", "runtime-mapped-name-ref-evidence", "string-hasher-evidence-validation", "element-map2-multi-stage-name-mapping", "isomorphic-candidate-persistence", "element-map-name-contract", "undo-redo"] },
|
"document": { "level": "experimental", "operations": ["typed-properties", "property-vector", "property-placement", "property-multi-transform", "property-link-list", "property-string-list", "property-link-sub", "freecad-property-status-bitmask", "property-status-native-oracle", "property-status-output-touch-suppression", "property-status-dependent-only-recompute", "property-status-transient-fcstd", "property-status-no-persist-fcstd", "expressions", "units", "dependency-dag", "parallel-level-recompute", "sync-recompute", "async-generation-recompute", "root-cause-diagnostics", "repair-branch-recompute", "versioned-toporef", "toporef-migration", "generation-topology-snapshot", "linksub-external-geometry-migration", "ambiguous-deleted-topology-diagnostics", "adjacency-fingerprint-disambiguation", "toporef-candidate-replacement-transaction", "signature-topology-history-fallback", "native-topology-history-adapter", "native-cross-feature-history-routing", "runtime-mapped-name-ref-evidence", "string-hasher-evidence-validation", "element-map2-multi-stage-name-mapping", "isomorphic-candidate-persistence", "element-map-name-contract", "undo-redo"] },
|
||||||
"persistence": { "level": "experimental", "provider": "SQLite WASM + OPFS with transient fallback", "operations": ["schema-v6", "object-topology-snapshots", "transactional-migrations", "migration-rollback", "serialized-write-queue", "five-version-checkpoints", "checkpoint-load", "recovery-report", "content-addressed-resources", "quota-preflight", "resource-sweep-plan", "opfs-orphan-sweep", "cross-tab-lock-notice"] },
|
"persistence": { "level": "experimental", "provider": "SQLite WASM + OPFS with transient fallback", "operations": ["schema-v7", "stable-native-object-tags", "object-topology-snapshots", "transactional-migrations", "migration-rollback", "serialized-write-queue", "five-version-checkpoints", "checkpoint-load", "recovery-report", "content-addressed-resources", "quota-preflight", "resource-sweep-plan", "opfs-orphan-sweep", "cross-tab-lock-notice"] },
|
||||||
"sketcher": { "level": "experimental", "provider": "typescript-basic; FreeCAD 1.1.1 planegcs WASM core installed", "operations": ["point-line-circle-arc-model", "ellipse-bspline-periodic-model", "construction-geometry", "geometry-validation", "stable-geometry-signature", "stable-external-geometry-model", "basic-constraints", "advanced-constraint-proxy", "diameter-symmetric-tangent", "basic-solver", "versioned-solver-protocol", "solver-capability-probe", "cancel-stale-isolation", "replay-contract", "planegcs-native-system-solve", "planegcs-horizontal-distance", "planegcs-vertical-distance", "planegcs-distance-x", "planegcs-distance-y", "planegcs-angle", "planegcs-circle-radius", "planegcs-circle-diameter", "planegcs-equal-lines", "planegcs-equal-circles", "planegcs-tangent-circles", "planegcs-point-symmetry", "planegcs-point-on-object", "planegcs-point-on-arc", "planegcs-point-on-ellipse", "planegcs-point-on-cubic-bspline", "planegcs-block-freeze", "planegcs-parallel-lines", "planegcs-perpendicular-lines", "planegcs-coincident-lines", "planegcs-snells-law-lines", "planegcs-ellipse-internal-alignment", "planegcs-cubic-bspline-weight", "planegcs-dedicated-worker-smoke", "persistence"] },
|
"sketcher": { "level": "experimental", "provider": "typescript-basic; FreeCAD 1.1.1 planegcs WASM core installed", "operations": ["point-line-circle-arc-model", "ellipse-bspline-periodic-model", "construction-geometry", "geometry-validation", "stable-geometry-signature", "stable-external-geometry-model", "basic-constraints", "advanced-constraint-proxy", "diameter-symmetric-tangent", "basic-solver", "versioned-solver-protocol", "solver-capability-probe", "cancel-stale-isolation", "replay-contract", "planegcs-native-system-solve", "planegcs-horizontal-distance", "planegcs-vertical-distance", "planegcs-distance-x", "planegcs-distance-y", "planegcs-angle", "planegcs-circle-radius", "planegcs-circle-diameter", "planegcs-equal-lines", "planegcs-equal-circles", "planegcs-tangent-circles", "planegcs-point-symmetry", "planegcs-point-on-object", "planegcs-point-on-arc", "planegcs-point-on-ellipse", "planegcs-point-on-cubic-bspline", "planegcs-block-freeze", "planegcs-parallel-lines", "planegcs-perpendicular-lines", "planegcs-coincident-lines", "planegcs-snells-law-lines", "planegcs-ellipse-internal-alignment", "planegcs-cubic-bspline-weight", "planegcs-dedicated-worker-smoke", "persistence"] },
|
||||||
"fcstd": { "level": "read-only", "operations": ["zip-preflight", "document-xml-metadata", "document-property-projection", "live-topology-element-map", "proxy-report", "script-isolation"] },
|
"fcstd": { "level": "read-only", "operations": ["zip-preflight", "document-xml-metadata", "document-property-projection", "live-topology-element-map", "proxy-report", "script-isolation"] },
|
||||||
"viewport": { "level": "experimental", "provider": "Three.js WebGL2", "operations": ["mesh-rendering", "multi-object-mesh-registry", "view-orientation", "fit-and-zoom", "subshape-triangle-mapping", "subshape-click-selection", "subshape-hover-preselection", "subshape-hover-highlight", "occt-analytic-picking-topology", "brep-edge-polyline-picking", "edge-pixel-tolerance-picking", "vertex-pixel-tolerance-picking", "diagnostic-selection-flash", "multi-object-selection-set", "modifier-box-selection-gesture", "window-contained-box-selection", "crossing-intersection-box-selection", "multi-object-selection-highlight", "object-visibility-projection", "selection-resource-release"] },
|
"viewport": { "level": "experimental", "provider": "Three.js WebGL2", "operations": ["mesh-rendering", "multi-object-mesh-registry", "view-orientation", "fit-and-zoom", "subshape-triangle-mapping", "subshape-click-selection", "subshape-hover-preselection", "subshape-hover-highlight", "occt-analytic-picking-topology", "brep-edge-polyline-picking", "edge-pixel-tolerance-picking", "vertex-pixel-tolerance-picking", "diagnostic-selection-flash", "multi-object-selection-set", "modifier-box-selection-gesture", "window-contained-box-selection", "crossing-intersection-box-selection", "multi-object-selection-highlight", "object-visibility-projection", "selection-resource-release"] },
|
||||||
"verification": { "level": "experimental", "provider": "FreeCADCmd 1.1.1 native headless Part oracle", "operations": ["locked-source-commit", "reproducible-native-build", "declarative-golden-contract", "part-geometry-replay", "numeric-tolerance-comparison", "execution-plan-validation", "source-inventory-validation", "type-property-inventory-validation"] }
|
"verification": { "level": "experimental", "provider": "FreeCADCmd 1.1.1 native headless Part oracle", "operations": ["locked-source-commit", "reproducible-native-build", "declarative-golden-contract", "part-geometry-replay", "numeric-tolerance-comparison", "execution-plan-validation", "source-inventory-validation", "type-property-inventory-validation"] }
|
||||||
},
|
},
|
||||||
"systemExactEvaluation": {
|
"systemExactEvaluation": {
|
||||||
"evaluatedAt": "2026-08-10",
|
"evaluatedAt": "2026-08-14",
|
||||||
"exact": false,
|
"exact": false,
|
||||||
"featureExactCount": 0,
|
"featureExactCount": 0,
|
||||||
"plan": "config/freecad-web-exact-parity-plan.json",
|
"plan": "config/freecad-web-exact-parity-plan.json",
|
||||||
"promotionTask": "EX-REL-01",
|
"promotionTask": "EX-REL-01",
|
||||||
"taskStatus": { "completed": 2, "inProgress": 36, "pending": 14, "blocked": 0 },
|
"taskStatus": { "completed": 5, "inProgress": 36, "pending": 11, "blocked": 0 },
|
||||||
"blockers": ["browser FreeCAD private token callback ABI", "browser builder naming evidence transport", "non-unique isomorphic source"]
|
"blockers": ["exhaustive cross-feature naming and FCStd round-trip corpus", "complete native document and property semantics"]
|
||||||
},
|
},
|
||||||
"rules": [
|
"rules": [
|
||||||
"UI status does not imply geometry or file compatibility.",
|
"UI status does not imply geometry or file compatibility.",
|
||||||
|
|||||||
13
config/emscripten-freecad-candidate-toolchain.cmake
Normal file
13
config/emscripten-freecad-candidate-toolchain.cmake
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Candidate-only wrapper around the pinned Emscripten 3.1.69 platform file.
|
||||||
|
include("/usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake")
|
||||||
|
|
||||||
|
# FreeCAD declares Base/App/Part as SHARED. For this candidate, collect their
|
||||||
|
# wasm object files as static archives and link shared dependencies separately.
|
||||||
|
set(CMAKE_SHARED_LIBRARY_SUFFIX ".a")
|
||||||
|
set(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_AR> rcs <TARGET> <OBJECTS>")
|
||||||
|
set(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_AR> rcs <TARGET> <OBJECTS>")
|
||||||
|
|
||||||
|
# FreeCAD's native compiler setup uses the CMake UNIX boolean to add
|
||||||
|
# --undefined,dynamic_lookup. Emscripten emits SHARED as a relocatable object,
|
||||||
|
# so that native-only linker branch must stay disabled for this candidate.
|
||||||
|
set(UNIX FALSE)
|
||||||
26243
config/freecad-active-work-queue.json
Normal file
26243
config/freecad-active-work-queue.json
Normal file
File diff suppressed because it is too large
Load Diff
34974
config/freecad-attachment-combination-oracle.json
Normal file
34974
config/freecad-attachment-combination-oracle.json
Normal file
File diff suppressed because it is too large
Load Diff
2340
config/freecad-attachment-mode-oracle.json
Normal file
2340
config/freecad-attachment-mode-oracle.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7645
config/freecad-composite-history-resave-verification.json
Normal file
7645
config/freecad-composite-history-resave-verification.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -8,6 +8,14 @@
|
|||||||
"wrongBindings": 0,
|
"wrongBindings": 0,
|
||||||
"unexplainedRelations": 0,
|
"unexplainedRelations": 0,
|
||||||
"roundtripNameDrift": 0,
|
"roundtripNameDrift": 0,
|
||||||
|
"resaveNameDrift": 0,
|
||||||
|
"mutationCases": 30,
|
||||||
|
"mutationFailures": 0,
|
||||||
|
"mutationStageRecords": 219,
|
||||||
|
"mutationStageRestoreFailures": 0,
|
||||||
|
"mutationFinalPropagationFailures": 0,
|
||||||
|
"mutationNamingRestoreDriftCases": 11,
|
||||||
|
"mutationNamingRestoreDriftStages": 28,
|
||||||
"elementMap2ParseFailures": 0,
|
"elementMap2ParseFailures": 0,
|
||||||
"elementMap2SemanticFailures": 0,
|
"elementMap2SemanticFailures": 0,
|
||||||
"elementMap2TokenWriterFailures": 0,
|
"elementMap2TokenWriterFailures": 0,
|
||||||
|
|||||||
894
config/freecad-follow-up-task-progress.json
Normal file
894
config/freecad-follow-up-task-progress.json
Normal file
@@ -0,0 +1,894 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"policy": {
|
||||||
|
"ordering": "completed task IDs must form a contiguous prefix of the generated follow-up queue",
|
||||||
|
"evidence": "every completed task must name at least one machine-checkable artifact or focused check"
|
||||||
|
},
|
||||||
|
"completedTasks": [
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-acceleration-inventory.json",
|
||||||
|
"check:freecad-property-acceleration-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-acceleration-success.json",
|
||||||
|
"check:freecad-property-acceleration-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-acceleration-failure.json",
|
||||||
|
"check:freecad-property-acceleration-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-acceleration-mutation.json",
|
||||||
|
"check:freecad-property-acceleration-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"test:freecad-property-acceleration-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyAccelerationTransaction.test.ts",
|
||||||
|
"test:freecad-property-acceleration-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-acceleration-roundtrip.json",
|
||||||
|
"check:freecad-property-acceleration-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-acceleration-verification.json",
|
||||||
|
"check:chrome-property-acceleration"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyacceleration-I",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-acceleration-promotion.json",
|
||||||
|
"check:freecad-property-acceleration-promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-area-inventory.json",
|
||||||
|
"check:freecad-property-area-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-area-success.json",
|
||||||
|
"check:freecad-property-area-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-area-failure.json",
|
||||||
|
"check:freecad-property-area-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-area-mutation.json",
|
||||||
|
"check:freecad-property-area-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"tests/propertyAreaFacade.test.ts",
|
||||||
|
"test:freecad-property-area-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyAreaTransaction.test.ts",
|
||||||
|
"test:freecad-property-area-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-area-roundtrip.json",
|
||||||
|
"check:freecad-property-area-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-area-verification.json",
|
||||||
|
"check:chrome-property-area"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyarea-I",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-area-promotion.json",
|
||||||
|
"check:freecad-property-area-promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-boollist-inventory.json",
|
||||||
|
"check:freecad-property-boollist-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-boollist-success.json",
|
||||||
|
"check:freecad-property-boollist-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-boollist-failure.json",
|
||||||
|
"check:freecad-property-boollist-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-boollist-mutation.json",
|
||||||
|
"check:freecad-property-boollist-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyBoolListFacade.test.ts",
|
||||||
|
"test:freecad-property-boollist-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyBoolListTransaction.test.ts",
|
||||||
|
"test:freecad-property-boollist-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-boollist-roundtrip.json",
|
||||||
|
"check:freecad-property-boollist-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-boollist-verification.json",
|
||||||
|
"check:chrome-property-boollist"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyboollist-I",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-boollist-promotion.json",
|
||||||
|
"check:freecad-property-boollist-promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-color-inventory.json",
|
||||||
|
"check:freecad-property-color-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-color-success.json",
|
||||||
|
"check:freecad-property-color-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-color-failure.json",
|
||||||
|
"check:freecad-property-color-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-color-mutation.json",
|
||||||
|
"check:freecad-property-color-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyColorFacade.test.ts",
|
||||||
|
"test:freecad-property-color-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyColorTransaction.test.ts",
|
||||||
|
"test:freecad-property-color-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-color-roundtrip.json",
|
||||||
|
"check:freecad-property-color-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-color-verification.json",
|
||||||
|
"check:chrome-property-color"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolor-I",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-color-promotion.json",
|
||||||
|
"check:freecad-property-color-promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-colorlist-inventory.json",
|
||||||
|
"check:freecad-property-colorlist-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-colorlist-success.json",
|
||||||
|
"check:freecad-property-colorlist-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-colorlist-failure.json",
|
||||||
|
"check:freecad-property-colorlist-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-colorlist-mutation.json",
|
||||||
|
"check:freecad-property-colorlist-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyColorListFacade.test.ts",
|
||||||
|
"test:freecad-property-colorlist-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyColorListTransaction.test.ts",
|
||||||
|
"test:freecad-property-colorlist-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-colorlist-roundtrip.json",
|
||||||
|
"check:freecad-property-colorlist-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-colorlist-verification.json",
|
||||||
|
"check:chrome-property-colorlist"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertycolorlist-I",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-colorlist-promotion.json",
|
||||||
|
"check:freecad-property-colorlist-promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-direction-inventory.json",
|
||||||
|
"check:freecad-property-direction-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-direction-success.json",
|
||||||
|
"check:freecad-property-direction-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-direction-failure.json",
|
||||||
|
"check:freecad-property-direction-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-direction-mutation.json",
|
||||||
|
"check:freecad-property-direction-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyDirectionFacade.test.ts",
|
||||||
|
"test:freecad-property-direction-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyDirectionTransaction.test.ts",
|
||||||
|
"test:freecad-property-direction-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-direction-roundtrip.json",
|
||||||
|
"check:freecad-property-direction-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-direction-verification.json",
|
||||||
|
"check:chrome-property-direction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertydirection-I",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-direction-promotion.json",
|
||||||
|
"check:freecad-property-direction-promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-file-inventory.json",
|
||||||
|
"check:freecad-property-file-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-file-success.json",
|
||||||
|
"check:freecad-property-file-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-file-failure.json",
|
||||||
|
"check:freecad-property-file-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-file-mutation.json",
|
||||||
|
"check:freecad-property-file-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyFileFacade.test.ts",
|
||||||
|
"test:freecad-property-file-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyFileTransaction.test.ts",
|
||||||
|
"test:freecad-property-file-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-file-roundtrip.json",
|
||||||
|
"check:freecad-property-file-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-file-verification.json",
|
||||||
|
"check:chrome-property-file"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfile-I",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-file-promotion.json",
|
||||||
|
"check:freecad-property-file-promotion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-A",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-fileincluded-inventory.json",
|
||||||
|
"check:freecad-property-fileincluded-inventory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-B",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-fileincluded-success.json",
|
||||||
|
"check:freecad-property-fileincluded-success"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-C",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-fileincluded-failure.json",
|
||||||
|
"check:freecad-property-fileincluded-failure"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-D",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-fileincluded-mutation.json",
|
||||||
|
"check:freecad-property-fileincluded-mutation"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-E",
|
||||||
|
"evidence": [
|
||||||
|
"src/facade/includedFile.ts",
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyFileIncludedFacade.test.ts",
|
||||||
|
"test:freecad-property-fileincluded-facade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-F",
|
||||||
|
"evidence": [
|
||||||
|
"tests/propertyFileIncludedTransaction.test.ts",
|
||||||
|
"test:freecad-property-fileincluded-transaction"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-G",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-property-fileincluded-roundtrip.json",
|
||||||
|
"check:freecad-property-fileincluded-roundtrip"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-H",
|
||||||
|
"evidence": [
|
||||||
|
"config/chrome-property-fileincluded-verification.json",
|
||||||
|
"check:chrome-property-fileincluded"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyfileincluded-I",
|
||||||
|
"evidence": [
|
||||||
|
"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"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertyintegerset-I",
|
||||||
|
"evidence": ["config/freecad-property-integerset-promotion.json", "check:freecad-property-integerset-promotion"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-A",
|
||||||
|
"evidence": ["config/freecad-property-linklisthidden-inventory.json", "check:freecad-property-linklisthidden-inventory"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-B",
|
||||||
|
"evidence": ["config/freecad-property-linklisthidden-success.json", "check:freecad-property-linklisthidden-success"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-C",
|
||||||
|
"evidence": ["config/freecad-property-linklisthidden-failure.json", "check:freecad-property-linklisthidden-failure"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-D",
|
||||||
|
"evidence": ["config/freecad-property-linklisthidden-mutation.json", "check:freecad-property-linklisthidden-mutation"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-E",
|
||||||
|
"evidence": ["src/facade/types.ts", "src/facade/fcstd.ts", "src/facade/mockFacade.ts", "src/App.tsx", "tests/propertyLinkListHiddenFacade.test.ts", "test:freecad-property-linklisthidden-facade"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-F",
|
||||||
|
"evidence": ["tests/propertyLinkListHiddenTransaction.test.ts", "test:freecad-property-linklisthidden-transaction"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-G",
|
||||||
|
"evidence": ["config/freecad-property-linklisthidden-roundtrip.json", "check:freecad-property-linklisthidden-roundtrip"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-H",
|
||||||
|
"evidence": ["config/chrome-property-linklisthidden-verification.json", "check:chrome-property-linklisthidden"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinklisthidden-I",
|
||||||
|
"evidence": ["config/freecad-property-linklisthidden-promotion.json", "check:freecad-property-linklisthidden-promotion"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-A",
|
||||||
|
"evidence": ["config/freecad-property-linksubhidden-inventory.json", "check:freecad-property-linksubhidden-inventory"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-B",
|
||||||
|
"evidence": ["config/freecad-property-linksubhidden-success.json", "check:freecad-property-linksubhidden-success"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-C",
|
||||||
|
"evidence": ["config/freecad-property-linksubhidden-failure.json", "check:freecad-property-linksubhidden-failure"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-D",
|
||||||
|
"evidence": ["config/freecad-property-linksubhidden-mutation.json", "check:freecad-property-linksubhidden-mutation"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-E",
|
||||||
|
"evidence": ["src/facade/types.ts", "src/facade/fcstd.ts", "src/facade/mockFacade.ts", "src/facade/index.ts", "tests/propertyLinkSubHiddenFacade.test.ts", "test:freecad-property-linksubhidden-facade"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-F",
|
||||||
|
"evidence": ["tests/propertyLinkSubHiddenTransaction.test.ts", "test:freecad-property-linksubhidden-transaction"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-G",
|
||||||
|
"evidence": ["config/freecad-property-linksubhidden-roundtrip.json", "check:freecad-property-linksubhidden-roundtrip"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-H",
|
||||||
|
"evidence": ["config/chrome-property-linksubhidden-verification.json", "check:chrome-property-linksubhidden"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksubhidden-I",
|
||||||
|
"evidence": ["config/freecad-property-linksubhidden-promotion.json", "check:freecad-property-linksubhidden-promotion"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-A",
|
||||||
|
"evidence": ["config/freecad-property-linksublistglobal-inventory.json", "check:freecad-property-linksublistglobal-inventory"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-B",
|
||||||
|
"evidence": ["config/freecad-property-linksublistglobal-success.json", "check:freecad-property-linksublistglobal-success"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-C",
|
||||||
|
"evidence": ["config/freecad-property-linksublistglobal-failure.json", "check:freecad-property-linksublistglobal-failure"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-D",
|
||||||
|
"evidence": ["config/freecad-property-linksublistglobal-mutation.json", "check:freecad-property-linksublistglobal-mutation"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-E",
|
||||||
|
"evidence": ["src/facade/types.ts", "src/facade/fcstd.ts", "src/facade/mockFacade.ts", "src/facade/index.ts", "tests/propertyLinkSubListGlobalFacade.test.ts", "test:freecad-property-linksublistglobal-facade"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-F",
|
||||||
|
"evidence": ["tests/propertyLinkSubListGlobalTransaction.test.ts", "test:freecad-property-linksublistglobal-transaction"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-G",
|
||||||
|
"evidence": ["config/freecad-property-linksublistglobal-roundtrip.json", "check:freecad-property-linksublistglobal-roundtrip"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-H",
|
||||||
|
"evidence": ["config/chrome-property-linksublistglobal-verification.json", "check:chrome-property-linksublistglobal"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PROP-app-propertylinksublistglobal-I",
|
||||||
|
"evidence": ["config/freecad-property-linksublistglobal-promotion.json", "check:freecad-property-linksublistglobal-promotion"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
40
config/freecad-gui-command-context-boundaries.json
Normal file
40
config/freecad-gui-command-context-boundaries.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"isolatedWorkbenchOracle": {
|
||||||
|
"report": ".cache/freecad/reference-desktop-gui-commands.json",
|
||||||
|
"reportSha256": "56da6a1bc360e76b9e36c0acc967d54d5fd28b7628056aba7af0c0ff84fb4e82",
|
||||||
|
"commandCount": 1111,
|
||||||
|
"commandUniverseSha256": "82901c576ef4b4cea1182f6505f5282a70b84ee8420105e83e58f65c0fb9685f",
|
||||||
|
"shardCount": 100,
|
||||||
|
"bimFirstTimeWelcome": "suppressed-before-workbench-activation"
|
||||||
|
},
|
||||||
|
"legacyAmbientReport": {
|
||||||
|
"report": ".cache/freecad/reference-desktop.json",
|
||||||
|
"reportSha256": "30ffbbdb4139a682486e6fed482a8d8d8a88c287a38dfec8d814e38f4e70fc80",
|
||||||
|
"commandCount": 1113
|
||||||
|
},
|
||||||
|
"contextOnlyCommands": [
|
||||||
|
{
|
||||||
|
"id": "Import_ReadBREP",
|
||||||
|
"classification": "explicit-module-import-command",
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Import/Gui/Command.cpp:173"
|
||||||
|
],
|
||||||
|
"runtimeExpectation": "not-registered-by-workbench-activation;requires-explicit-ImportGui-command-initialization",
|
||||||
|
"exactTask": "EX-FMT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "NaviCubeDraggableCmd",
|
||||||
|
"classification": "context-menu-lazy-command",
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Gui/NaviCube.cpp:1370"
|
||||||
|
],
|
||||||
|
"runtimeExpectation": "registered-only-when-the-navigation-cube-context-menu-is-first-created",
|
||||||
|
"exactTask": "EX-UI-04"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
1557
config/freecad-gui-workflow-oracle.json
Normal file
1557
config/freecad-gui-workflow-oracle.json
Normal file
File diff suppressed because it is too large
Load Diff
126
config/freecad-gui-workflow-plan.json
Normal file
126
config/freecad-gui-workflow-plan.json
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"selectedAt": "2026-08-14",
|
||||||
|
"family": {
|
||||||
|
"id": "partdesign-pad-task",
|
||||||
|
"title": "Part Design Pad task lifecycle",
|
||||||
|
"workbench": "PartDesignWorkbench",
|
||||||
|
"primaryCommand": "PartDesign_Pad",
|
||||||
|
"commandIds": [
|
||||||
|
"PartDesign_Pad"
|
||||||
|
],
|
||||||
|
"primaryExactTask": "EX-UI-03",
|
||||||
|
"relatedExactTasks": [
|
||||||
|
"EX-ORA-01",
|
||||||
|
"EX-PD-01"
|
||||||
|
],
|
||||||
|
"selectionReason": "Pad is a P0 profile feature with existing native geometry, failure, history, naming and FCStd evidence. Its GUI command is document-sensitive, opens a parameter Task panel, supports preview and cancel, and can exercise success, disabled, failure and recovery without introducing a new workbench scope."
|
||||||
|
},
|
||||||
|
"sensitivityEvidence": {
|
||||||
|
"source": "config/freecad-gui-command-inventory.json",
|
||||||
|
"commandId": "PartDesign_Pad",
|
||||||
|
"documentSensitive": true,
|
||||||
|
"selectionSensitive": false,
|
||||||
|
"cases": {
|
||||||
|
"noDocument": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"documentNoSelection": [
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"selectedPartBox": [
|
||||||
|
true
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stateRecipes": {
|
||||||
|
"success": {
|
||||||
|
"setup": "Create a document, Body and closed rectangular Sketch; select the Sketch and invoke PartDesign_Pad.",
|
||||||
|
"action": "Set Length to 10 mm and accept the Task.",
|
||||||
|
"expected": "A Pad is committed as Body Tip, the transaction is undoable and the document recomputes valid."
|
||||||
|
},
|
||||||
|
"disabled": {
|
||||||
|
"setup": "Start the Part Design workbench with no active document.",
|
||||||
|
"action": "Query PartDesign_Pad command state without invoking it.",
|
||||||
|
"expected": "The command is inactive and no document, Task or transaction is created."
|
||||||
|
},
|
||||||
|
"failure": {
|
||||||
|
"setup": "Create an active Body with an invalid open-wire Sketch selected.",
|
||||||
|
"action": "Invoke PartDesign_Pad and attempt to accept the Task.",
|
||||||
|
"expected": "The native diagnostic is captured, no invalid Pad is committed and the last valid document state is retained."
|
||||||
|
},
|
||||||
|
"cancel": {
|
||||||
|
"setup": "Create an active Body with a valid closed Sketch and open PartDesign_Pad.",
|
||||||
|
"action": "Change Length, observe preview, then cancel the Task.",
|
||||||
|
"expected": "Preview state is discarded, no Pad is committed, the selected profile remains consumed as in native FreeCAD, the active Body is preserved and focus moves from the Pad length field to TaskView."
|
||||||
|
},
|
||||||
|
"recovery": {
|
||||||
|
"setup": "Continue from the failed or cancelled Pad workflow in the same document.",
|
||||||
|
"action": "Repair the profile or reopen Pad, enter a valid Length and accept; then undo and redo once.",
|
||||||
|
"expected": "The valid Pad is committed, Body Tip and Shape recover, undo/redo are stable and save-reopen preserves the result."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"progress": [
|
||||||
|
{
|
||||||
|
"taskId": "ORA-GUI-WF-000",
|
||||||
|
"status": "completed",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-gui-workflow-plan.json",
|
||||||
|
"config/freecad-gui-command-inventory.json"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"taskId": "ORA-GUI-WF-001",
|
||||||
|
"status": "completed",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-gui-workflow-oracle.json",
|
||||||
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"taskId": "ORA-GUI-WF-002",
|
||||||
|
"status": "completed",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-gui-workflow-oracle.json",
|
||||||
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"taskId": "ORA-GUI-WF-003",
|
||||||
|
"status": "completed",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-gui-workflow-oracle.json",
|
||||||
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"taskId": "ORA-GUI-WF-004",
|
||||||
|
"status": "completed",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-gui-workflow-oracle.json",
|
||||||
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"taskId": "ORA-GUI-WF-005",
|
||||||
|
"status": "completed",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-gui-workflow-oracle.json",
|
||||||
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"taskId": "ORA-GUI-WF-006",
|
||||||
|
"status": "completed",
|
||||||
|
"evidence": [
|
||||||
|
"config/freecad-web-exact-parity-plan.json",
|
||||||
|
"scripts/check-freecad-gui-workflow-plan.mjs",
|
||||||
|
"scripts/generate-freecad-active-work-queue.mjs"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
195
config/freecad-isomorphic-provenance-verification.json
Normal file
195
config/freecad-isomorphic-provenance-verification.json
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"runtime": "node",
|
||||||
|
"implementation": "freecad-linked",
|
||||||
|
"productionWorkerLinked": true,
|
||||||
|
"cases": {
|
||||||
|
"symmetricCommon": {
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 0,
|
||||||
|
"ambiguous": 26,
|
||||||
|
"candidates": 156,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 0,
|
||||||
|
"persistedCandidateSets": true
|
||||||
|
},
|
||||||
|
"mixedCut": {
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 3,
|
||||||
|
"ambiguous": 9,
|
||||||
|
"candidates": 18,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
"downstreamRotate": {
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 9,
|
||||||
|
"ambiguous": 35,
|
||||||
|
"candidates": 135,
|
||||||
|
"stringHasherEntries": 3,
|
||||||
|
"elementMaps": 1,
|
||||||
|
"candidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"longChain": {
|
||||||
|
"operations": [
|
||||||
|
"cut",
|
||||||
|
"rotate",
|
||||||
|
"fillet",
|
||||||
|
"mirrored",
|
||||||
|
"linear-pattern"
|
||||||
|
],
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"operation": "cut",
|
||||||
|
"historyRecords": 42,
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 3,
|
||||||
|
"ambiguous": 9,
|
||||||
|
"candidates": 18,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1,
|
||||||
|
"candidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-tool"
|
||||||
|
],
|
||||||
|
"persistedInputEvidence": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "rotate",
|
||||||
|
"historyRecords": 135,
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 9,
|
||||||
|
"ambiguous": 35,
|
||||||
|
"candidates": 135,
|
||||||
|
"stringHasherEntries": 3,
|
||||||
|
"elementMaps": 1,
|
||||||
|
"candidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool"
|
||||||
|
],
|
||||||
|
"referencedInputCandidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-tool"
|
||||||
|
],
|
||||||
|
"referencedCandidateObjectsRetained": true,
|
||||||
|
"persistedInputEvidence": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "fillet",
|
||||||
|
"historyRecords": 261,
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 9,
|
||||||
|
"ambiguous": 35,
|
||||||
|
"candidates": 226,
|
||||||
|
"stringHasherEntries": 6,
|
||||||
|
"elementMaps": 1,
|
||||||
|
"candidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool",
|
||||||
|
"rotate-result"
|
||||||
|
],
|
||||||
|
"referencedInputCandidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool"
|
||||||
|
],
|
||||||
|
"referencedCandidateObjectsRetained": true,
|
||||||
|
"persistedInputEvidence": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "mirrored",
|
||||||
|
"historyRecords": 326,
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 11,
|
||||||
|
"ambiguous": 40,
|
||||||
|
"candidates": 121,
|
||||||
|
"stringHasherEntries": 9,
|
||||||
|
"elementMaps": 1,
|
||||||
|
"candidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool",
|
||||||
|
"fillet-result",
|
||||||
|
"rotate-result"
|
||||||
|
],
|
||||||
|
"referencedInputCandidateObjects": [
|
||||||
|
"cut-object",
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool",
|
||||||
|
"rotate-result"
|
||||||
|
],
|
||||||
|
"referencedCandidateObjectsRetained": true,
|
||||||
|
"persistedInputEvidence": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "linear-pattern",
|
||||||
|
"historyRecords": 1090,
|
||||||
|
"status": "ambiguous",
|
||||||
|
"stable": 55,
|
||||||
|
"ambiguous": 89,
|
||||||
|
"candidates": 211,
|
||||||
|
"stringHasherEntries": 17,
|
||||||
|
"elementMaps": 1,
|
||||||
|
"candidateObjects": [
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool",
|
||||||
|
"fillet-result",
|
||||||
|
"mirrored-result",
|
||||||
|
"rotate-result"
|
||||||
|
],
|
||||||
|
"referencedInputCandidateObjects": [
|
||||||
|
"cut-result",
|
||||||
|
"cut-tool",
|
||||||
|
"fillet-result",
|
||||||
|
"rotate-result"
|
||||||
|
],
|
||||||
|
"referencedCandidateObjectsRetained": true,
|
||||||
|
"persistedInputEvidence": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"persistedFinalEvidence": true,
|
||||||
|
"referencedCandidateObjectsRetained": true,
|
||||||
|
"stringHasherMonotonic": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fcstdAmbiguityRejected": true,
|
||||||
|
"fcstdStableLinkRoundtrip": {
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"inspectRewritePreserved": true,
|
||||||
|
"nativeDesktopResaveCovered": false
|
||||||
|
},
|
||||||
|
"artifacts": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.js",
|
||||||
|
"bytes": 359739,
|
||||||
|
"sha256": "6a90575b81ceab5c00a2440e45e010bd62d3455b012541b4449f7b0e88a644c0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.wasm",
|
||||||
|
"bytes": 37482285,
|
||||||
|
"sha256": "c03cf553e71bf4e74667c5aada921769bb241d6021f28a5b166b49c738965515"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.data",
|
||||||
|
"bytes": 3322679,
|
||||||
|
"sha256": "ada204b276208027a5cb1cc1288d4aab95b8ee1f28e3a43a00cd062720b87e99"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"harness": {
|
||||||
|
"path": "scripts/run-freecad-isomorphic-provenance.ts",
|
||||||
|
"bytes": 16135,
|
||||||
|
"sha256": "c61a23201585217309ceb88dcff4f7ea4d966e0d4140090a0ca1992c7d8a44ed"
|
||||||
|
},
|
||||||
|
"exactBlocker": "exhaustive cross-feature naming and native FreeCAD FCStd save-reopen-resave corpus",
|
||||||
|
"systemExact": false,
|
||||||
|
"generatedAt": "2026-08-14T12:21:09.187Z"
|
||||||
|
}
|
||||||
87
config/freecad-naming-next-tasks.json
Normal file
87
config/freecad-naming-next-tasks.json
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"scope": "freecad-private-naming-and-parameter-followup",
|
||||||
|
"orderedTasks": [
|
||||||
|
{
|
||||||
|
"id": "SDK-01",
|
||||||
|
"title": "Lock candidate FreeCAD wasm SDK baseline and build boundary",
|
||||||
|
"status": "completed",
|
||||||
|
"dependencies": [],
|
||||||
|
"deliverables": ["Pinned source/toolchain plan", "Candidate-only build-plan checker"],
|
||||||
|
"acceptance": ["FreeCAD commit and Emscripten version are verified", "Production publication remains false"],
|
||||||
|
"evidence": ["check:freecad-wasm-sdk-build-plan"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "SDK-02A",
|
||||||
|
"title": "Build the Qt wasm modules required by FreeCAD",
|
||||||
|
"status": "completed",
|
||||||
|
"dependencies": ["SDK-01"],
|
||||||
|
"deliverables": ["Qt Core/Concurrent/Network/Xml archives", "Qt bundled Pcre2/ZLIB archives"],
|
||||||
|
"acceptance": ["Every archive contains only wasm32 objects", "Thread support is enabled for QtConcurrent"],
|
||||||
|
"evidence": ["check:freecad-naming-sdk-readiness"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "SDK-02B",
|
||||||
|
"title": "Build remaining wasm dependencies and FreeCADBase/App/Part archives",
|
||||||
|
"status": "completed",
|
||||||
|
"dependencies": ["SDK-02A"],
|
||||||
|
"deliverables": ["Python/ICU/Xerces/yaml-cpp/fmt wasm dependencies", "FreeCADBase/FreeCADApp/Part static archives"],
|
||||||
|
"acceptance": ["No host ELF member is present", "CMake configuration performs no implicit network fetch"],
|
||||||
|
"evidence": ["build:freecad-naming-sdk-candidate", "check:freecad-naming-sdk-readiness"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "SDK-04",
|
||||||
|
"title": "Implement an isolated real FreeCAD private naming bridge",
|
||||||
|
"status": "completed",
|
||||||
|
"dependencies": ["SDK-02B"],
|
||||||
|
"deliverables": ["Three versioned callback implementations", "MappedNameRef/StringHasher/ElementMap2 runtime evidence"],
|
||||||
|
"acceptance": ["Candidate bridge passes strict Web validation", "Candidate is not published to the production Worker"],
|
||||||
|
"evidence": ["build:freecad-naming-bridge-candidate", "test:freecad-naming-bridge-candidate", "check:freecad-naming-bridge-candidate", "check:freecad-private-naming-boundary"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "SDK-03",
|
||||||
|
"title": "Generate and verify the complete SDK manifest",
|
||||||
|
"status": "completed",
|
||||||
|
"dependencies": ["SDK-02B", "SDK-04"],
|
||||||
|
"deliverables": ["Hashed manifest", "Private header and symbol audit"],
|
||||||
|
"acceptance": ["Manifest generator completes without missing inputs", "Complete SDK checker passes"],
|
||||||
|
"evidence": ["generate:freecad-naming-sdk-manifest", "check:freecad-naming-sdk"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "SDK-05",
|
||||||
|
"title": "Link and probe a candidate OCCT Worker",
|
||||||
|
"status": "completed",
|
||||||
|
"dependencies": ["SDK-03", "SDK-04"],
|
||||||
|
"deliverables": ["Candidate Worker artifact", "Real Chrome callback and builder-history evidence"],
|
||||||
|
"acceptance": ["All three callbacks are exported together", "Invalid or incomplete evidence fails closed"],
|
||||||
|
"evidence": ["build:freecad-naming-worker", "test:freecad-naming-worker-candidate", "test:chrome-freecad-naming-worker-candidate", "check:chrome-freecad-naming-worker-candidate"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PAR-01",
|
||||||
|
"title": "Expand Datum/Attachment/ShapeBinder, multi-Body and parameter combinations",
|
||||||
|
"status": "completed",
|
||||||
|
"dependencies": ["SDK-05"],
|
||||||
|
"deliverables": ["Native oracle corpus", "Edit/recompute/recovery/FCStd round-trip matrix"],
|
||||||
|
"acceptance": ["Every family has success and failure evidence", "Support/Tip/references survive mutation without silent rebinding"],
|
||||||
|
"evidence": ["check:freecad-sketcher-partdesign-abi", "check:freecad-partdesign-structure", "check:freecad-attachment-modes", "check:freecad-attachment-combinations", "check:freecad-xlink-relink", "check:chrome-partdesign-lifecycle", "check:chrome-partdesign-reference-lifecycle"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "QA-01",
|
||||||
|
"title": "Close CI, offline-resource and browser matrix for the new production path",
|
||||||
|
"status": "pending",
|
||||||
|
"dependencies": ["PAR-01"],
|
||||||
|
"deliverables": ["Execute/check-separated CI lanes", "Offline SDK resources", "Chrome/Firefox/WebKit reports"],
|
||||||
|
"acceptance": ["Static reports cannot substitute for live harnesses", "A clean offline restore can rebuild and verify the candidate"],
|
||||||
|
"evidence": ["ci:real:chrome", "ci:check:chrome", "offline:smoke", "check:browser-matrix"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"boundary": {
|
||||||
|
"freecadNamingBuildStatus": "production-linked",
|
||||||
|
"exTsn02": "completed",
|
||||||
|
"systemExact": false,
|
||||||
|
"productionWorker": {
|
||||||
|
"availability": "available",
|
||||||
|
"callbacks": ["freecadNamingAbiVersion", "freecadNamingCapabilitiesJson", "freecadNamingEvidenceJson"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
689
config/freecad-naming-production-verification.json
Normal file
689
config/freecad-naming-production-verification.json
Normal file
@@ -0,0 +1,689 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"implementation": "freecad-linked",
|
||||||
|
"productionWorkerLinked": true,
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"callbacks": [
|
||||||
|
"freecadNamingAbiVersion",
|
||||||
|
"freecadNamingCapabilitiesJson",
|
||||||
|
"freecadNamingEvidenceJson"
|
||||||
|
],
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"rotate",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"operation": "fuse",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 52,
|
||||||
|
"externallySourcedRecords": 52,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 7,
|
||||||
|
"ambiguousResults": 16,
|
||||||
|
"provenanceResults": 23,
|
||||||
|
"mappedNames": 7,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "cut",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 42,
|
||||||
|
"externallySourcedRecords": 42,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 3,
|
||||||
|
"ambiguousResults": 9,
|
||||||
|
"provenanceResults": 12,
|
||||||
|
"mappedNames": 3,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "common",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 123,
|
||||||
|
"externallySourcedRecords": 123,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 5,
|
||||||
|
"ambiguousResults": 4,
|
||||||
|
"provenanceResults": 9,
|
||||||
|
"mappedNames": 5,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "rotate",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 78,
|
||||||
|
"externallySourcedRecords": 78,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 20,
|
||||||
|
"provenanceResults": 26,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "pad",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 25,
|
||||||
|
"externallySourcedRecords": 25,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 9,
|
||||||
|
"ambiguousResults": 8,
|
||||||
|
"provenanceResults": 17,
|
||||||
|
"mappedNames": 9,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "pocket",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 42,
|
||||||
|
"externallySourcedRecords": 42,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 3,
|
||||||
|
"ambiguousResults": 9,
|
||||||
|
"provenanceResults": 12,
|
||||||
|
"mappedNames": 3,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "loft",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "ambiguous",
|
||||||
|
"callbackExecuted": false,
|
||||||
|
"historyRecords": 24,
|
||||||
|
"externallySourcedRecords": 24,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 0,
|
||||||
|
"ambiguousResults": 7,
|
||||||
|
"provenanceResults": 7,
|
||||||
|
"mappedNames": 0,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "pipe",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "ambiguous",
|
||||||
|
"callbackExecuted": false,
|
||||||
|
"historyRecords": 28,
|
||||||
|
"externallySourcedRecords": 28,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 4,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 0,
|
||||||
|
"ambiguousResults": 10,
|
||||||
|
"provenanceResults": 10,
|
||||||
|
"mappedNames": 0,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "revolution",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 23,
|
||||||
|
"externallySourcedRecords": 23,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 4,
|
||||||
|
"ambiguousResults": 8,
|
||||||
|
"provenanceResults": 12,
|
||||||
|
"mappedNames": 4,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "groove",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "native-evidence",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 2,
|
||||||
|
"externallySourcedRecords": 2,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 1,
|
||||||
|
"ambiguousResults": 0,
|
||||||
|
"provenanceResults": 1,
|
||||||
|
"mappedNames": 1,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "fillet",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 150,
|
||||||
|
"externallySourcedRecords": 150,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 20,
|
||||||
|
"provenanceResults": 26,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "chamfer",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 150,
|
||||||
|
"externallySourcedRecords": 150,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 20,
|
||||||
|
"provenanceResults": 26,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "hole",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 30,
|
||||||
|
"externallySourcedRecords": 15,
|
||||||
|
"internalRecordsExcluded": 15,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 3,
|
||||||
|
"ambiguousResults": 3,
|
||||||
|
"provenanceResults": 6,
|
||||||
|
"mappedNames": 3,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "draft",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "native-evidence",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 5,
|
||||||
|
"externallySourcedRecords": 5,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 5,
|
||||||
|
"ambiguousResults": 0,
|
||||||
|
"provenanceResults": 5,
|
||||||
|
"mappedNames": 5,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "thickness",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 38,
|
||||||
|
"externallySourcedRecords": 38,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 6,
|
||||||
|
"ambiguousResults": 8,
|
||||||
|
"provenanceResults": 14,
|
||||||
|
"mappedNames": 6,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "linear-pattern",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 90,
|
||||||
|
"externallySourcedRecords": 45,
|
||||||
|
"internalRecordsExcluded": 45,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 4,
|
||||||
|
"ambiguousResults": 12,
|
||||||
|
"provenanceResults": 16,
|
||||||
|
"mappedNames": 4,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "polar-pattern",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 68,
|
||||||
|
"externallySourcedRecords": 34,
|
||||||
|
"internalRecordsExcluded": 34,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 10,
|
||||||
|
"ambiguousResults": 12,
|
||||||
|
"provenanceResults": 22,
|
||||||
|
"mappedNames": 10,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "mirrored",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 66,
|
||||||
|
"externallySourcedRecords": 33,
|
||||||
|
"internalRecordsExcluded": 33,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 0,
|
||||||
|
"selectedRecords": 8,
|
||||||
|
"ambiguousResults": 12,
|
||||||
|
"provenanceResults": 20,
|
||||||
|
"mappedNames": 8,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operation": "multi-transform",
|
||||||
|
"status": "pass",
|
||||||
|
"namingStatus": "mixed-native-and-ambiguous",
|
||||||
|
"callbackExecuted": true,
|
||||||
|
"historyRecords": 311,
|
||||||
|
"externallySourcedRecords": 311,
|
||||||
|
"internalRecordsExcluded": 0,
|
||||||
|
"duplicateRecordsCollapsed": 0,
|
||||||
|
"modifiedRelationPrecedence": 8,
|
||||||
|
"selectedRecords": 22,
|
||||||
|
"ambiguousResults": 68,
|
||||||
|
"provenanceResults": 90,
|
||||||
|
"mappedNames": 22,
|
||||||
|
"stringHasherEntries": 0,
|
||||||
|
"elementMaps": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"callbackExecutedCases": 17,
|
||||||
|
"ambiguityOnlyCases": 2,
|
||||||
|
"isomorphicCorpus": {
|
||||||
|
"operation": "common",
|
||||||
|
"fixture": "coincident-equal-boxes",
|
||||||
|
"status": "pass",
|
||||||
|
"historyRecords": 156,
|
||||||
|
"uniqueResults": 0,
|
||||||
|
"ambiguousResults": 26,
|
||||||
|
"candidateSets": [
|
||||||
|
{
|
||||||
|
"result": "vertex:0",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex17:",
|
||||||
|
"production-symmetric-object:Vertex19:",
|
||||||
|
"production-symmetric-object:Vertex1:",
|
||||||
|
"production-symmetric-object:Vertex33:",
|
||||||
|
"production-symmetric-object:Vertex35:",
|
||||||
|
"production-symmetric-object:Vertex3:",
|
||||||
|
"production-symmetric-tool:Vertex17:",
|
||||||
|
"production-symmetric-tool:Vertex19:",
|
||||||
|
"production-symmetric-tool:Vertex1:",
|
||||||
|
"production-symmetric-tool:Vertex33:",
|
||||||
|
"production-symmetric-tool:Vertex35:",
|
||||||
|
"production-symmetric-tool:Vertex3:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:1",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex20:",
|
||||||
|
"production-symmetric-object:Vertex21:",
|
||||||
|
"production-symmetric-object:Vertex2:",
|
||||||
|
"production-symmetric-object:Vertex41:",
|
||||||
|
"production-symmetric-object:Vertex43:",
|
||||||
|
"production-symmetric-object:Vertex7:",
|
||||||
|
"production-symmetric-tool:Vertex20:",
|
||||||
|
"production-symmetric-tool:Vertex21:",
|
||||||
|
"production-symmetric-tool:Vertex2:",
|
||||||
|
"production-symmetric-tool:Vertex41:",
|
||||||
|
"production-symmetric-tool:Vertex43:",
|
||||||
|
"production-symmetric-tool:Vertex7:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:3",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex25:",
|
||||||
|
"production-symmetric-object:Vertex27:",
|
||||||
|
"production-symmetric-object:Vertex34:",
|
||||||
|
"production-symmetric-object:Vertex39:",
|
||||||
|
"production-symmetric-object:Vertex4:",
|
||||||
|
"production-symmetric-object:Vertex5:",
|
||||||
|
"production-symmetric-tool:Vertex25:",
|
||||||
|
"production-symmetric-tool:Vertex27:",
|
||||||
|
"production-symmetric-tool:Vertex34:",
|
||||||
|
"production-symmetric-tool:Vertex39:",
|
||||||
|
"production-symmetric-tool:Vertex4:",
|
||||||
|
"production-symmetric-tool:Vertex5:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:5",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex28:",
|
||||||
|
"production-symmetric-object:Vertex29:",
|
||||||
|
"production-symmetric-object:Vertex42:",
|
||||||
|
"production-symmetric-object:Vertex47:",
|
||||||
|
"production-symmetric-object:Vertex6:",
|
||||||
|
"production-symmetric-object:Vertex8:",
|
||||||
|
"production-symmetric-tool:Vertex28:",
|
||||||
|
"production-symmetric-tool:Vertex29:",
|
||||||
|
"production-symmetric-tool:Vertex42:",
|
||||||
|
"production-symmetric-tool:Vertex47:",
|
||||||
|
"production-symmetric-tool:Vertex6:",
|
||||||
|
"production-symmetric-tool:Vertex8:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:8",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex11:",
|
||||||
|
"production-symmetric-object:Vertex18:",
|
||||||
|
"production-symmetric-object:Vertex23:",
|
||||||
|
"production-symmetric-object:Vertex36:",
|
||||||
|
"production-symmetric-object:Vertex37:",
|
||||||
|
"production-symmetric-object:Vertex9:",
|
||||||
|
"production-symmetric-tool:Vertex11:",
|
||||||
|
"production-symmetric-tool:Vertex18:",
|
||||||
|
"production-symmetric-tool:Vertex23:",
|
||||||
|
"production-symmetric-tool:Vertex36:",
|
||||||
|
"production-symmetric-tool:Vertex37:",
|
||||||
|
"production-symmetric-tool:Vertex9:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:9",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex10:",
|
||||||
|
"production-symmetric-object:Vertex15:",
|
||||||
|
"production-symmetric-object:Vertex22:",
|
||||||
|
"production-symmetric-object:Vertex24:",
|
||||||
|
"production-symmetric-object:Vertex44:",
|
||||||
|
"production-symmetric-object:Vertex45:",
|
||||||
|
"production-symmetric-tool:Vertex10:",
|
||||||
|
"production-symmetric-tool:Vertex15:",
|
||||||
|
"production-symmetric-tool:Vertex22:",
|
||||||
|
"production-symmetric-tool:Vertex24:",
|
||||||
|
"production-symmetric-tool:Vertex44:",
|
||||||
|
"production-symmetric-tool:Vertex45:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:11",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex12:",
|
||||||
|
"production-symmetric-object:Vertex13:",
|
||||||
|
"production-symmetric-object:Vertex26:",
|
||||||
|
"production-symmetric-object:Vertex31:",
|
||||||
|
"production-symmetric-object:Vertex38:",
|
||||||
|
"production-symmetric-object:Vertex40:",
|
||||||
|
"production-symmetric-tool:Vertex12:",
|
||||||
|
"production-symmetric-tool:Vertex13:",
|
||||||
|
"production-symmetric-tool:Vertex26:",
|
||||||
|
"production-symmetric-tool:Vertex31:",
|
||||||
|
"production-symmetric-tool:Vertex38:",
|
||||||
|
"production-symmetric-tool:Vertex40:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "vertex:13",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Vertex14:",
|
||||||
|
"production-symmetric-object:Vertex16:",
|
||||||
|
"production-symmetric-object:Vertex30:",
|
||||||
|
"production-symmetric-object:Vertex32:",
|
||||||
|
"production-symmetric-object:Vertex46:",
|
||||||
|
"production-symmetric-object:Vertex48:",
|
||||||
|
"production-symmetric-tool:Vertex14:",
|
||||||
|
"production-symmetric-tool:Vertex16:",
|
||||||
|
"production-symmetric-tool:Vertex30:",
|
||||||
|
"production-symmetric-tool:Vertex32:",
|
||||||
|
"production-symmetric-tool:Vertex46:",
|
||||||
|
"production-symmetric-tool:Vertex48:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:0",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge10:",
|
||||||
|
"production-symmetric-object:Edge1:",
|
||||||
|
"production-symmetric-tool:Edge10:",
|
||||||
|
"production-symmetric-tool:Edge1:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:1",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge17:",
|
||||||
|
"production-symmetric-object:Edge2:",
|
||||||
|
"production-symmetric-tool:Edge17:",
|
||||||
|
"production-symmetric-tool:Edge2:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:2",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge14:",
|
||||||
|
"production-symmetric-object:Edge3:",
|
||||||
|
"production-symmetric-tool:Edge14:",
|
||||||
|
"production-symmetric-tool:Edge3:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:3",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge21:",
|
||||||
|
"production-symmetric-object:Edge4:",
|
||||||
|
"production-symmetric-tool:Edge21:",
|
||||||
|
"production-symmetric-tool:Edge4:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:4",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge12:",
|
||||||
|
"production-symmetric-object:Edge5:",
|
||||||
|
"production-symmetric-tool:Edge12:",
|
||||||
|
"production-symmetric-tool:Edge5:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:5",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge19:",
|
||||||
|
"production-symmetric-object:Edge6:",
|
||||||
|
"production-symmetric-tool:Edge19:",
|
||||||
|
"production-symmetric-tool:Edge6:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:6",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge16:",
|
||||||
|
"production-symmetric-object:Edge7:",
|
||||||
|
"production-symmetric-tool:Edge16:",
|
||||||
|
"production-symmetric-tool:Edge7:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:7",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge23:",
|
||||||
|
"production-symmetric-object:Edge8:",
|
||||||
|
"production-symmetric-tool:Edge23:",
|
||||||
|
"production-symmetric-tool:Edge8:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:8",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge18:",
|
||||||
|
"production-symmetric-object:Edge9:",
|
||||||
|
"production-symmetric-tool:Edge18:",
|
||||||
|
"production-symmetric-tool:Edge9:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:10",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge11:",
|
||||||
|
"production-symmetric-object:Edge22:",
|
||||||
|
"production-symmetric-tool:Edge11:",
|
||||||
|
"production-symmetric-tool:Edge22:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:12",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge13:",
|
||||||
|
"production-symmetric-object:Edge20:",
|
||||||
|
"production-symmetric-tool:Edge13:",
|
||||||
|
"production-symmetric-tool:Edge20:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "edge:14",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Edge15:",
|
||||||
|
"production-symmetric-object:Edge24:",
|
||||||
|
"production-symmetric-tool:Edge15:",
|
||||||
|
"production-symmetric-tool:Edge24:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:0",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face1:",
|
||||||
|
"production-symmetric-tool:Face1:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:1",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face2:",
|
||||||
|
"production-symmetric-tool:Face2:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:2",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face3:",
|
||||||
|
"production-symmetric-tool:Face3:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:3",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face4:",
|
||||||
|
"production-symmetric-tool:Face4:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:4",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face5:",
|
||||||
|
"production-symmetric-tool:Face5:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"result": "face:5",
|
||||||
|
"candidates": [
|
||||||
|
"production-symmetric-object:Face6:",
|
||||||
|
"production-symmetric-tool:Face6:"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"arrayOrderFallbackUsed": false
|
||||||
|
},
|
||||||
|
"chainedStage": {
|
||||||
|
"mappedNames": 1,
|
||||||
|
"stringHasherEntries": 3
|
||||||
|
},
|
||||||
|
"invalidHistoryRejected": true,
|
||||||
|
"systemExact": false,
|
||||||
|
"runtime": "node",
|
||||||
|
"artifacts": [
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.js",
|
||||||
|
"bytes": 359739,
|
||||||
|
"sha256": "6a90575b81ceab5c00a2440e45e010bd62d3455b012541b4449f7b0e88a644c0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.wasm",
|
||||||
|
"bytes": 37482285,
|
||||||
|
"sha256": "c03cf553e71bf4e74667c5aada921769bb241d6021f28a5b166b49c738965515"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bitbybit-occt-history.data",
|
||||||
|
"bytes": 3322679,
|
||||||
|
"sha256": "ada204b276208027a5cb1cc1288d4aab95b8ee1f28e3a43a00cd062720b87e99"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"harness": {
|
||||||
|
"path": "scripts/freecad-naming-production-matrix.mjs",
|
||||||
|
"bytes": 19819,
|
||||||
|
"sha256": "01532d8d3197aacddc0c18d4d8e41b4aee3b88bb4eb6636d8d0457a194651125"
|
||||||
|
},
|
||||||
|
"generatedAt": "2026-08-14T12:21:03.731Z"
|
||||||
|
}
|
||||||
277
config/freecad-naming-sdk-plan.json
Normal file
277
config/freecad-naming-sdk-plan.json
Normal file
@@ -0,0 +1,277 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"scope": "pre-production-sdk-readiness",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"emscriptenVersion": "3.1.69",
|
||||||
|
"qtVersion": "6.8.2",
|
||||||
|
"target": "wasm32-emscripten"
|
||||||
|
},
|
||||||
|
"includeDirs": [
|
||||||
|
{
|
||||||
|
"name": "FreeCAD",
|
||||||
|
"path": ".cache/toolchains/freecad-naming-sdk/source-occt8/src",
|
||||||
|
"requiredHeaders": [
|
||||||
|
"App/StringHasher.h",
|
||||||
|
"App/MappedName.h",
|
||||||
|
"App/MappedElement.h",
|
||||||
|
"App/ElementMap.h"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "FreeCADBuild",
|
||||||
|
"path": ".cache/toolchains/freecad-naming-sdk/build-wasm/src",
|
||||||
|
"requiredHeaders": ["Base/PersistencePy.h", "Build/Version.h"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PyCXX",
|
||||||
|
"path": ".cache/toolchains/freecad-naming-sdk/source-occt8/src/3rdParty/PyCXX",
|
||||||
|
"requiredHeaders": ["CXX/Objects.hxx", "CXX/Extensions.hxx"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OCCT",
|
||||||
|
"path": ".cache/bitbybit/occt-history-build-offline/include/opencascade",
|
||||||
|
"requiredHeaders": ["Standard.hxx", "TopoDS_Shape.hxx"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OCCTDeprecatedAliases",
|
||||||
|
"path": ".cache/occt/occt/src/Deprecated/NCollectionAliases",
|
||||||
|
"requiredHeaders": ["TopTools_ListOfShape.hxx", "TopTools_HSequenceOfShape.hxx"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "QtCore",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/include",
|
||||||
|
"requiredHeaders": [
|
||||||
|
"QtCore/QByteArray",
|
||||||
|
"QtCore/QJsonDocument",
|
||||||
|
"QtConcurrent/QtConcurrent",
|
||||||
|
"QtNetwork/QNetworkAccessManager",
|
||||||
|
"QtXml/QDomDocument"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "QtCoreModule",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/include/QtCore",
|
||||||
|
"requiredHeaders": ["QString", "QJsonDocument", "QProcessEnvironment"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Python",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/include/python3.13",
|
||||||
|
"requiredHeaders": ["Python.h", "pyconfig.h"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "XercesC",
|
||||||
|
"path": ".cache/toolchains/xerces-c/install-wasm/include",
|
||||||
|
"requiredHeaders": ["xercesc/util/XercesVersion.hpp"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ICU",
|
||||||
|
"path": ".cache/toolchains/icu/install-wasm/include",
|
||||||
|
"requiredHeaders": ["unicode/uversion.h"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "YamlCpp",
|
||||||
|
"path": ".cache/toolchains/yaml-cpp/install-wasm/include",
|
||||||
|
"requiredHeaders": ["yaml-cpp/yaml.h"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OfflineSysroot",
|
||||||
|
"path": ".cache/offline-sysroot/include",
|
||||||
|
"requiredHeaders": ["boost/signals2.hpp", "fmt/format.h", "eigen3/Eigen/Core"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"libraries": [
|
||||||
|
{
|
||||||
|
"name": "FreeCADBase",
|
||||||
|
"path": ".cache/toolchains/freecad-naming-sdk/lib/libFreeCADBase.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "df02d5527285750a5a34012bb04a177e97719290f4704e8a20110207367698d6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "FreeCADApp",
|
||||||
|
"path": ".cache/toolchains/freecad-naming-sdk/lib/libFreeCADApp.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "b81c3cb67934b6add3a810a0885baeb9b459cf370b460cb3906d1b20fbe0a500"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Part",
|
||||||
|
"path": ".cache/toolchains/freecad-naming-sdk/lib/libPart.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "a5d0f1eabd8a3e7e3ad37807ca7cab90810d2fcfe50c2956020485a37bf27d69"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "QtCore",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/lib/libQt6Core.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "7cf42203ae54fc4706a5dba69a179b340d1a5bf27ce9db881f11d57c66fd3828"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Python",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/lib/libpython3.13.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "2e332bc1141eeea51c94510ecc8f237e1f50ff9b3bc03df9cfc6142cd0489bd0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"linkDependencies": [
|
||||||
|
{
|
||||||
|
"name": "QtConcurrent",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/lib/libQt6Concurrent.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "52a8ddbc72a420a7cd93593328f2e252cfd696a37b878c623f0ecfe5cb5ade81"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "QtNetwork",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/lib/libQt6Network.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "1c06acc8b5a18447951b3a53f36f555d80544d804eb9ff920fcac20d9ced019c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "QtXml",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/lib/libQt6Xml.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "8694057ac1ac468b3cd40da3bd16312662e434ba4b485780eb7a31ea44381f88"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "QtBundledPcre2",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/lib/libQt6BundledPcre2.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "9dc72f77f02b13ae7f7de4bcd579a6f04acd6d72cd76d348db1cbfaf6d6d777b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "QtBundledZLIB",
|
||||||
|
"path": ".cache/toolchains/qt6/install-wasm-freecad/lib/libQt6BundledZLIB.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "bf3c4d7a52c706abec70d83c94e32f0bf920e978aba9bb39fd87f94efcd2201f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "yaml-cpp",
|
||||||
|
"path": ".cache/toolchains/yaml-cpp/install-wasm/lib/libyaml-cpp.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "213acb389e7e7ff6677e8170b8651a5285af1f8c5c8bf1dfc42591559f253fe5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ICUCommon",
|
||||||
|
"path": ".cache/toolchains/icu/install-wasm/lib/libicuuc.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "3cbe58215f7dc0596dacea9e8ac10974e8b8302b9472ff854f35e2e8c21fe7a2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ICUI18N",
|
||||||
|
"path": ".cache/toolchains/icu/install-wasm/lib/libicui18n.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "627169cfa4637fe02c5cd5d8358e3faf92f933191049f80f3381c3ab7d7719d7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ICUData",
|
||||||
|
"path": ".cache/toolchains/icu/install-wasm/lib/libicudata.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "b146f462e94d061862c27bb11fed116a1e4678f172f6e7551f3a57fedfd17822"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "XercesC",
|
||||||
|
"path": ".cache/toolchains/xerces-c/install-wasm/lib/libxerces-c.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "86fe0646cd7d2cb528708627527ce32cd963cf6b2510178f36c96c0ffa0b89ab"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BoostProgramOptions",
|
||||||
|
"path": ".cache/toolchains/boost/install-wasm/lib/libboost_program_options.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "5c900c12f5323122d08b696ab095bcfe1b4b636c5a7ccb353962c4c956e11a24"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BoostRegex",
|
||||||
|
"path": ".cache/toolchains/boost/install-wasm/lib/libboost_regex.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "8fa066fba93dcb06a7e71f21338b288598a1fc4880d8799aaa4934c2239f1f3f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BoostThread",
|
||||||
|
"path": ".cache/toolchains/boost/install-wasm/lib/libboost_thread.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "584dbdd2a186ec905d390b62ff3d24c81e4fb18d6b7f101e136ac760e8e4927c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BoostDateTime",
|
||||||
|
"path": ".cache/toolchains/boost/install-wasm/lib/libboost_date_time.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "859ed6fa84a44e4dc15dd95b5306d4b2f7c37d4057aa3301edf9804edb83bf29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BoostAtomic",
|
||||||
|
"path": ".cache/toolchains/boost/install-wasm/lib/libboost_atomic.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "e7e7b22bb8b380f2ea2ac083136f040908c7f9abcb758dbebf729ec23dc92432"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PythonMpdecimal",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/lib/python-deps/libmpdec.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "d69dac9933119c1eafb9d9a1f5e5a81c7e8ef51f0367c55b5349b2b014a07849"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PythonExpat",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/lib/python-deps/libexpat.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "6bfc695a31ee252a836e60ba34192dcf047ee4c7fe6a7b68c527e5fbcb714b66"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PythonHaclSha2",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/lib/python-deps/libHacl_Hash_SHA2.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "1e622af13d53951c4992f74d2af211dd75c59ec14f2a9d3a3eb3c39b2d9899a4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PythonZlib",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/lib/python-deps/libz.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "42acf281029e51e07d468d2f323055c7c5558e5d6d78738ec1e1571acd4afd67"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PythonBzip2",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/lib/python-deps/libbz2.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "991ac951c995d3606ebedc74bc070273005ac9ebff26a7cc38518702d5268de9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PythonSqlite3",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/lib/python-deps/libsqlite3-mt.a",
|
||||||
|
"required": true,
|
||||||
|
"expectedSha256": "738c819dab8f31a97fc7c1104f73969fee9535222b67fd938450474f7b861fd6"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"namingBridge": {
|
||||||
|
"path": "native/freecad-naming-bridge/freecad_naming_bridge.cpp",
|
||||||
|
"hostAdapter": "native/freecad-naming-bridge/pre.js",
|
||||||
|
"requiredExports": [
|
||||||
|
"freecadNamingAbiVersion",
|
||||||
|
"freecadNamingCapabilitiesJson",
|
||||||
|
"freecadNamingEvidenceJson"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileOptions": {
|
||||||
|
"cxxStandard": "c++20",
|
||||||
|
"pthread": true,
|
||||||
|
"forceInclude": "config/freecad-wasm-sdk-compat.h",
|
||||||
|
"definitions": ["__linux__=1", "QT_NO_KEYWORDS", "HAVE_CONFIG_H", "PYCXX_6_2_COMPATIBILITY"]
|
||||||
|
},
|
||||||
|
"runtimeAssets": [
|
||||||
|
{
|
||||||
|
"name": "PythonWasmStdlib",
|
||||||
|
"path": ".cache/toolchains/python/install-wasm/share/python-wasm-stdlib",
|
||||||
|
"preloadTo": "/usr/local",
|
||||||
|
"requiredFiles": ["lib/python313.zip", "lib/python3.13/os.py"],
|
||||||
|
"expectedSha256": {
|
||||||
|
"lib/python313.zip": "e3fa6e7ceaf68a2f433a682713ac05288631b3c465114284d49e02e094bb0c12",
|
||||||
|
"lib/python3.13/os.py": "b6b68783d438ff044c096fd0c3d1dfc9479a9b632e0a450a376be6c01655aafe"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"productionPublication": false,
|
||||||
|
"boundary": {
|
||||||
|
"freecadNamingBuildStatus": "production-linked",
|
||||||
|
"exTsn02": "completed",
|
||||||
|
"systemExact": false
|
||||||
|
}
|
||||||
|
}
|
||||||
911
config/freecad-native-property-semantics.json
Normal file
911
config/freecad-native-property-semantics.json
Normal file
@@ -0,0 +1,911 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"path": ".cache/freecad/reference-desktop.json",
|
||||||
|
"bytes": 2298709,
|
||||||
|
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"registeredObjectTypes": 352,
|
||||||
|
"instantiableObjectTypes": 348,
|
||||||
|
"unavailableObjectTypes": 4,
|
||||||
|
"unavailableObjects": [
|
||||||
|
{
|
||||||
|
"typeId": "Fem::DocumentObject",
|
||||||
|
"error": "No document object found of type 'Fem::DocumentObject'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::Boolean",
|
||||||
|
"error": "No document object found of type 'Part::Boolean'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::Datum",
|
||||||
|
"error": "No document object found of type 'Part::Datum'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::Primitive",
|
||||||
|
"error": "No document object found of type 'Part::Primitive'"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"propertyRecords": 5510,
|
||||||
|
"propertyTypes": 85
|
||||||
|
},
|
||||||
|
"supportSummary": {
|
||||||
|
"native-editable-codec": {
|
||||||
|
"typeCount": 37,
|
||||||
|
"recordCount": 4377
|
||||||
|
},
|
||||||
|
"native-specialized-codec": {
|
||||||
|
"typeCount": 5,
|
||||||
|
"recordCount": 683
|
||||||
|
},
|
||||||
|
"opaque-fcstd-proxy": {
|
||||||
|
"typeCount": 43,
|
||||||
|
"recordCount": 450
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"types": [
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyAcceleration",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyAngle",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 135,
|
||||||
|
"objectTypeCount": 78,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyArea",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyBool",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 1018,
|
||||||
|
"objectTypeCount": 348,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic",
|
||||||
|
"NoModify",
|
||||||
|
"Output",
|
||||||
|
"PartialTrigger",
|
||||||
|
"PropHidden",
|
||||||
|
"PropNoPersist",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyBoolList",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 7,
|
||||||
|
"objectTypeCount": 7,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"Immutable",
|
||||||
|
"LockDynamic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyColor",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 8,
|
||||||
|
"objectTypeCount": 8,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyColorList",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyDirection",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyDistance",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 166,
|
||||||
|
"objectTypeCount": 56,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyEnumeration",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 304,
|
||||||
|
"objectTypeCount": 150,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic",
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyExpressionEngine",
|
||||||
|
"support": "native-specialized-codec",
|
||||||
|
"recordCount": 348,
|
||||||
|
"objectTypeCount": 348,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyFile",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 16,
|
||||||
|
"objectTypeCount": 12,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyFileIncluded",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 20,
|
||||||
|
"objectTypeCount": 15,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyFloat",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 178,
|
||||||
|
"objectTypeCount": 120,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyFloatConstraint",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 80,
|
||||||
|
"objectTypeCount": 64,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyFloatList",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 14,
|
||||||
|
"objectTypeCount": 9,
|
||||||
|
"statusNames": [
|
||||||
|
"Output",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyFont",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyForce",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 4,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyHeatFlux",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyInteger",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 88,
|
||||||
|
"objectTypeCount": 47,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropNoRecompute",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyIntegerConstraint",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 28,
|
||||||
|
"objectTypeCount": 24,
|
||||||
|
"statusNames": [
|
||||||
|
"LockDynamic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyIntegerList",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 9,
|
||||||
|
"objectTypeCount": 7,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyIntegerSet",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLength",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 164,
|
||||||
|
"objectTypeCount": 66,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLink",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 174,
|
||||||
|
"objectTypeCount": 152,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic",
|
||||||
|
"PropHidden"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLinkHidden",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 63,
|
||||||
|
"objectTypeCount": 63,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLinkList",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 81,
|
||||||
|
"objectTypeCount": 68,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"Immutable",
|
||||||
|
"LockDynamic",
|
||||||
|
"PropHidden",
|
||||||
|
"PropNoPersist",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"Transient"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLinkListHidden",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLinkSub",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 105,
|
||||||
|
"objectTypeCount": 51,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLinkSubHidden",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 4,
|
||||||
|
"objectTypeCount": 4,
|
||||||
|
"statusNames": [
|
||||||
|
"LockDynamic",
|
||||||
|
"PropHidden"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLinkSubList",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 134,
|
||||||
|
"objectTypeCount": 101,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyLinkSubListGlobal",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyMap",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 9,
|
||||||
|
"objectTypeCount": 9,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyMaterial",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyMaterialList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyMatrix",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 4,
|
||||||
|
"objectTypeCount": 4,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyMoment",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 3,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPath",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 8,
|
||||||
|
"objectTypeCount": 8,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropTransient"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPlacement",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 311,
|
||||||
|
"objectTypeCount": 241,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic",
|
||||||
|
"PropNoRecompute",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPlacementList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": [
|
||||||
|
"LockDynamic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPosition",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 4,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPower",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPrecision",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 14,
|
||||||
|
"objectTypeCount": 6,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPressure",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyPythonObject",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 55,
|
||||||
|
"objectTypeCount": 53,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyQuantity",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 5,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyQuantityConstraint",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 12,
|
||||||
|
"objectTypeCount": 7,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyRotation",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertySpeed",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyStiffness",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyStiffnessDensity",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyString",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 1094,
|
||||||
|
"objectTypeCount": 348,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic",
|
||||||
|
"Output",
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyStringList",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 25,
|
||||||
|
"objectTypeCount": 23,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyTemperature",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 4,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyThermalTransferCoefficient",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyUUID",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 5,
|
||||||
|
"objectTypeCount": 5,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyVector",
|
||||||
|
"support": "native-editable-codec",
|
||||||
|
"recordCount": 107,
|
||||||
|
"objectTypeCount": 60,
|
||||||
|
"statusNames": [
|
||||||
|
"LockDynamic",
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyVectorDistance",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 7,
|
||||||
|
"objectTypeCount": 6,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyVectorList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 46,
|
||||||
|
"objectTypeCount": 28,
|
||||||
|
"statusNames": [
|
||||||
|
"LockDynamic",
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyXLink",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 11,
|
||||||
|
"objectTypeCount": 7,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic",
|
||||||
|
"PropHidden"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyXLinkList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 11,
|
||||||
|
"objectTypeCount": 11,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyXLinkSub",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropNoPersist",
|
||||||
|
"PropReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "App::PropertyXLinkSubList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": [
|
||||||
|
"ReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Fem::PropertyFemMesh",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 6,
|
||||||
|
"objectTypeCount": 6,
|
||||||
|
"statusNames": [
|
||||||
|
"PropNoRecompute"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Fem::PropertyPostDataObject",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 13,
|
||||||
|
"objectTypeCount": 13,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Inspection::PropertyDistanceList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Materials::PropertyMaterial",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 142,
|
||||||
|
"objectTypeCount": 142,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Mesh::PropertyCurvatureList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 1,
|
||||||
|
"objectTypeCount": 1,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Mesh::PropertyMeshKernel",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 25,
|
||||||
|
"objectTypeCount": 25,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::PropertyFilletEdges",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 3,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::PropertyGeometryList",
|
||||||
|
"support": "native-specialized-codec",
|
||||||
|
"recordCount": 5,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": [
|
||||||
|
"Ordered",
|
||||||
|
"PropHidden"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::PropertyPartShape",
|
||||||
|
"support": "native-specialized-codec",
|
||||||
|
"recordCount": 322,
|
||||||
|
"objectTypeCount": 142,
|
||||||
|
"statusNames": [
|
||||||
|
"Hidden",
|
||||||
|
"Output",
|
||||||
|
"Transient"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::PropertyShapeHistory",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 6,
|
||||||
|
"objectTypeCount": 6,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropTransient"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::PropertyTopoShapeList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 3,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": [
|
||||||
|
"Ordered"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Path::PropertyPath",
|
||||||
|
"support": "native-specialized-codec",
|
||||||
|
"recordCount": 6,
|
||||||
|
"objectTypeCount": 6,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Points::PropertyPointKernel",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 5,
|
||||||
|
"objectTypeCount": 5,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Robot::PropertyTrajectory",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 4,
|
||||||
|
"objectTypeCount": 4,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Sketcher::PropertyConstraintList",
|
||||||
|
"support": "native-specialized-codec",
|
||||||
|
"recordCount": 2,
|
||||||
|
"objectTypeCount": 2,
|
||||||
|
"statusNames": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Spreadsheet::PropertyColumnWidths",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 3,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Spreadsheet::PropertyRowHeights",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 3,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Spreadsheet::PropertySheet",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 3,
|
||||||
|
"objectTypeCount": 3,
|
||||||
|
"statusNames": [
|
||||||
|
"PropHidden"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "TechDraw::PropertyCenterLineList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 10,
|
||||||
|
"objectTypeCount": 10,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "TechDraw::PropertyCosmeticEdgeList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 10,
|
||||||
|
"objectTypeCount": 10,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "TechDraw::PropertyCosmeticVertexList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 10,
|
||||||
|
"objectTypeCount": 10,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "TechDraw::PropertyGeomFormatList",
|
||||||
|
"support": "opaque-fcstd-proxy",
|
||||||
|
"recordCount": 10,
|
||||||
|
"objectTypeCount": 10,
|
||||||
|
"statusNames": [
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"propertyStatus": {
|
||||||
|
"observed": [
|
||||||
|
"Hidden",
|
||||||
|
"Immutable",
|
||||||
|
"LockDynamic",
|
||||||
|
"NoModify",
|
||||||
|
"Ordered",
|
||||||
|
"Output",
|
||||||
|
"PartialTrigger",
|
||||||
|
"PropHidden",
|
||||||
|
"PropNoPersist",
|
||||||
|
"PropNoRecompute",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient",
|
||||||
|
"ReadOnly",
|
||||||
|
"Transient"
|
||||||
|
],
|
||||||
|
"facadeNative": [
|
||||||
|
"Hidden",
|
||||||
|
"Immutable",
|
||||||
|
"LockDynamic",
|
||||||
|
"NoModify",
|
||||||
|
"Ordered",
|
||||||
|
"Output",
|
||||||
|
"PartialTrigger",
|
||||||
|
"PropHidden",
|
||||||
|
"PropNoPersist",
|
||||||
|
"PropNoRecompute",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient",
|
||||||
|
"ReadOnly",
|
||||||
|
"Transient"
|
||||||
|
],
|
||||||
|
"behaviorNative": [
|
||||||
|
"Hidden",
|
||||||
|
"Immutable",
|
||||||
|
"LockDynamic",
|
||||||
|
"NoModify",
|
||||||
|
"Ordered",
|
||||||
|
"Output",
|
||||||
|
"PartialTrigger",
|
||||||
|
"PropHidden",
|
||||||
|
"PropNoPersist",
|
||||||
|
"PropNoRecompute",
|
||||||
|
"PropOutput",
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropTransient",
|
||||||
|
"ReadOnly",
|
||||||
|
"Transient"
|
||||||
|
],
|
||||||
|
"preservedOnly": [],
|
||||||
|
"preservedOnlyRecordCount": 0,
|
||||||
|
"proxyOnly": [],
|
||||||
|
"proxyOnlyRecordCount": 0,
|
||||||
|
"unknownNumericBits": []
|
||||||
|
},
|
||||||
|
"harness": {
|
||||||
|
"path": "scripts/run-freecad-native-property-semantics.mjs",
|
||||||
|
"bytes": 6805,
|
||||||
|
"sha256": "ec4151712eb31824997414ab86f9eb440faccd0302ef829de6e55d1b352b662e"
|
||||||
|
},
|
||||||
|
"exactPromotionReady": false,
|
||||||
|
"exactBlocker": "43 runtime property types and 450 records remain opaque-only; complete native document and property semantics",
|
||||||
|
"generatedAt": "2026-08-17T23:37:43.918Z"
|
||||||
|
}
|
||||||
233
config/freecad-oracle-boundaries.json
Normal file
233
config/freecad-oracle-boundaries.json
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"notBuiltModules": [
|
||||||
|
{
|
||||||
|
"name": "Cloud",
|
||||||
|
"buildOption": "BUILD_CLOUD",
|
||||||
|
"decision": "proxy",
|
||||||
|
"exactTask": "EX-PROXY-01",
|
||||||
|
"sourceEvidence": ["src/Mod/Cloud/CMakeLists.txt"],
|
||||||
|
"boundary": "Desktop network behavior is excluded; cloud payloads remain explicit resources without ambient network authority."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "JtReader",
|
||||||
|
"buildOption": "BUILD_JTREADER",
|
||||||
|
"decision": "proxy",
|
||||||
|
"exactTask": "EX-FMT-04",
|
||||||
|
"sourceEvidence": ["src/Mod/JtReader/CMakeLists.txt"],
|
||||||
|
"boundary": "JT stays a lossless proxy resource until a licensed browser decoder has native differential evidence."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sandbox",
|
||||||
|
"buildOption": "BUILD_SANDBOX",
|
||||||
|
"decision": "browser-reimplementation",
|
||||||
|
"exactTask": "EX-SCRIPT-01",
|
||||||
|
"sourceEvidence": ["src/Mod/Sandbox/CMakeLists.txt"],
|
||||||
|
"boundary": "The desktop developer sandbox is replaced by the capability-secure Facade script boundary."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TemplatePyMod",
|
||||||
|
"buildOption": "source-template-only",
|
||||||
|
"decision": "source-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/CMakeLists.txt"],
|
||||||
|
"boundary": "The upstream template is source-only and is covered by the versioned Python/addon compatibility contract."
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceOnlyCommands": [
|
||||||
|
{
|
||||||
|
"id": "Arch_Floor",
|
||||||
|
"sourceModules": ["BIM"],
|
||||||
|
"classification": "legacy-lazy-command",
|
||||||
|
"sourceEvidence": ["src/Mod/BIM/ArchFloor.py"],
|
||||||
|
"runtimeExpectation": "registered-only-when-the-legacy-ArchFloor-module-is-imported",
|
||||||
|
"exactTask": "EX-BIM-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Arch_RebarTools",
|
||||||
|
"sourceModules": ["BIM"],
|
||||||
|
"classification": "optional-addon-command-group",
|
||||||
|
"sourceEvidence": ["src/Mod/BIM/InitGui.py"],
|
||||||
|
"runtimeExpectation": "registered-only-when-the-external-RebarTools-addon-imports-successfully",
|
||||||
|
"exactTask": "EX-ADDON-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM_%s",
|
||||||
|
"sourceModules": ["CAM"],
|
||||||
|
"classification": "dynamic-command-template",
|
||||||
|
"sourceEvidence": ["src/Mod/CAM/Path/Op/Gui/Base.py"],
|
||||||
|
"runtimeExpectation": "the-literal-template-must-not-register;-expanded-CAM-operation-commands-are-inventoried-separately",
|
||||||
|
"exactTask": "EX-CAM-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM_3dTools",
|
||||||
|
"sourceModules": ["CAM"],
|
||||||
|
"classification": "optional-preference-command-group",
|
||||||
|
"sourceEvidence": ["src/Mod/CAM/InitGui.py"],
|
||||||
|
"runtimeExpectation": "registered-only-when-advanced-OCL-features-are-enabled-and-the-OCL-import-succeeds",
|
||||||
|
"exactTask": "EX-CAM-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM_Camotics",
|
||||||
|
"sourceModules": ["CAM"],
|
||||||
|
"classification": "optional-executable-command",
|
||||||
|
"sourceEvidence": ["src/Mod/CAM/InitGui.py", "src/Mod/CAM/Path/Main/Gui/Camotics.py"],
|
||||||
|
"runtimeExpectation": "loaded-only-for-the-advanced-OCL-CAMotics-path-with-a-compatible-host-executable",
|
||||||
|
"exactTask": "EX-CAM-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM_Copy",
|
||||||
|
"sourceModules": ["CAM"],
|
||||||
|
"classification": "legacy-lazy-command",
|
||||||
|
"sourceEvidence": ["src/Mod/CAM/InitGui.py", "src/Mod/CAM/Path/Op/Gui/Copy.py"],
|
||||||
|
"runtimeExpectation": "the-default-workbench-uses-CAM_OperationCopy;CAM_Copy-registers-only-after-its-legacy-module-import",
|
||||||
|
"exactTask": "EX-CAM-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM_DrillingTools",
|
||||||
|
"sourceModules": ["CAM"],
|
||||||
|
"classification": "optional-preference-command-group",
|
||||||
|
"sourceEvidence": ["src/Mod/CAM/InitGui.py"],
|
||||||
|
"runtimeExpectation": "registered-only-when-experimental-features-add-CAM_Tapping-to-the-drilling-group",
|
||||||
|
"exactTask": "EX-CAM-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Draft_Hyperlink",
|
||||||
|
"sourceModules": ["Draft"],
|
||||||
|
"classification": "context-lazy-command",
|
||||||
|
"sourceEvidence": ["src/Mod/Draft/InitGui.py", "src/Mod/Draft/draftguitools/gui_hyperlink.py"],
|
||||||
|
"runtimeExpectation": "registered-only-after-a-text-object-context-menu-lazily-imports-the-hyperlink-module",
|
||||||
|
"exactTask": "EX-DRAFT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyCheckable",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyGroup",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyGrp_1",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyGrp_2",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyGrp_3",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyMod_Cmd1",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyMod_Cmd2",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyMod_Cmd3",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyMod_Cmd4",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyMod_Cmd5",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TemplatePyMod_Cmd6",
|
||||||
|
"sourceModules": ["TemplatePyMod"],
|
||||||
|
"classification": "source-template-command",
|
||||||
|
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
|
||||||
|
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
|
||||||
|
"exactTask": "EX-SCRIPT-01"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceOnlyTypeIds": [
|
||||||
|
{
|
||||||
|
"typeId": "App::DocumentObjectExtension",
|
||||||
|
"classification": "non-instantiable-extension-type",
|
||||||
|
"sourceEvidence": ["src/Mod/Test/Document.py"],
|
||||||
|
"runtimeExpectation": "must-reject-document-object-creation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Assembly::Product",
|
||||||
|
"classification": "legacy-importer-type",
|
||||||
|
"sourceEvidence": ["src/Mod/Import/App/PlmXmlParser.py"],
|
||||||
|
"runtimeExpectation": "not-registered-by-locked-assembly-module"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Assembly::ProductRef",
|
||||||
|
"classification": "legacy-importer-type",
|
||||||
|
"sourceEvidence": ["src/Mod/Import/App/PlmXmlParser.py"],
|
||||||
|
"runtimeExpectation": "not-registered-by-locked-assembly-module"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "Part::SketchObject",
|
||||||
|
"classification": "commented-test-reference",
|
||||||
|
"sourceEvidence": ["src/Mod/Part/TestPartGui.py"],
|
||||||
|
"runtimeExpectation": "not-a-runtime-type"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "PartDesign::Additive",
|
||||||
|
"classification": "generated-type-prefix",
|
||||||
|
"sourceEvidence": ["src/Mod/PartDesign/Gui/CommandPrimitive.cpp"],
|
||||||
|
"runtimeExpectation": "prefix-only-additive-primitive-types-are-registered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"typeId": "PartDesign::SketchObject",
|
||||||
|
"classification": "commented-test-reference",
|
||||||
|
"sourceEvidence": ["src/Mod/PartDesign/TestPartDesignGui.py"],
|
||||||
|
"runtimeExpectation": "not-a-runtime-type"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
96439
config/freecad-ordered-operation-pair-classification.json
Normal file
96439
config/freecad-ordered-operation-pair-classification.json
Normal file
File diff suppressed because it is too large
Load Diff
346
config/freecad-partdesign-structure-oracle.json
Normal file
346
config/freecad-partdesign-structure-oracle.json
Normal file
@@ -0,0 +1,346 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-structure-oracle",
|
||||||
|
"crossDocument": {
|
||||||
|
"deleted": {
|
||||||
|
"shapeBinderShapeNull": true,
|
||||||
|
"shapeBinderState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"shapeBinderStatus": "Valid",
|
||||||
|
"shapeBinderSupport": [],
|
||||||
|
"subShapeBinderCachedArea": 48,
|
||||||
|
"subShapeBinderShapeNull": false,
|
||||||
|
"subShapeBinderState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"subShapeBinderStatus": "Valid",
|
||||||
|
"subShapeBinderSupport": []
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"shapeBinderShapeNull": true,
|
||||||
|
"shapeBinderState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"sourceFaceArea": 48,
|
||||||
|
"sourceVolume": 192,
|
||||||
|
"subShapeBinderArea": 48,
|
||||||
|
"subShapeBinderState": [
|
||||||
|
"Up-to-date"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"initial": {
|
||||||
|
"shapeBinderExternalLink": {
|
||||||
|
"accepted": false,
|
||||||
|
"error": "PropertyLinkSubList does not support external object",
|
||||||
|
"errorType": "ValueError"
|
||||||
|
},
|
||||||
|
"shapeBinderShapeNull": true,
|
||||||
|
"shapeBinderSupport": [],
|
||||||
|
"shapeBinderSupportType": "App::PropertyLinkSubListGlobal",
|
||||||
|
"shapeBodyTip": null,
|
||||||
|
"sourceFaceArea": 30,
|
||||||
|
"sourceVolume": 120,
|
||||||
|
"subBodyTip": null,
|
||||||
|
"subShapeBinderArea": 30,
|
||||||
|
"subShapeBinderSourceDocument": "PartDesignExternalSource",
|
||||||
|
"subShapeBinderSupport": [
|
||||||
|
{
|
||||||
|
"object": "ExternalBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"subShapeBinderSupportType": "App::PropertyXLinkSubList"
|
||||||
|
},
|
||||||
|
"roundtrip": {
|
||||||
|
"shapeBinderShapeNull": true,
|
||||||
|
"shapeBinderSupport": [],
|
||||||
|
"shapeBodyTip": null,
|
||||||
|
"sourceFaceArea": 30,
|
||||||
|
"sourceVolume": 120,
|
||||||
|
"subBodyTip": null,
|
||||||
|
"subShapeBinderArea": 30,
|
||||||
|
"subShapeBinderSourceDocument": "PartDesignExternalSource",
|
||||||
|
"subShapeBinderSupport": [
|
||||||
|
{
|
||||||
|
"object": "ExternalBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"bodyTips": {
|
||||||
|
"BinderBody": null,
|
||||||
|
"DatumBody": null,
|
||||||
|
"SourceBody": "SourceBox",
|
||||||
|
"SubBinderBody": null
|
||||||
|
},
|
||||||
|
"datumPlaneAttachmentOffset": {
|
||||||
|
"angleDegrees": 45,
|
||||||
|
"axis": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"position": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
7
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"datumPlanePlacement": {
|
||||||
|
"angleDegrees": 45.00000000000001,
|
||||||
|
"axis": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"position": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
7
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"shapeBinderVolume": 672,
|
||||||
|
"sourceVolume": 672,
|
||||||
|
"subShapeBinderLength": 28
|
||||||
|
},
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"initial": {
|
||||||
|
"bodyGroups": {
|
||||||
|
"BinderBody": [
|
||||||
|
"ShapeBinder"
|
||||||
|
],
|
||||||
|
"DatumBody": [
|
||||||
|
"DatumPlane",
|
||||||
|
"DatumLine",
|
||||||
|
"DatumPoint"
|
||||||
|
],
|
||||||
|
"SourceBody": [
|
||||||
|
"SourceBox"
|
||||||
|
],
|
||||||
|
"SubBinderBody": [
|
||||||
|
"SubShapeBinder"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bodyTips": {
|
||||||
|
"BinderBody": null,
|
||||||
|
"DatumBody": null,
|
||||||
|
"SourceBody": "SourceBox",
|
||||||
|
"SubBinderBody": null
|
||||||
|
},
|
||||||
|
"datumLine": {
|
||||||
|
"mapMode": "ObjectX",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"support": [
|
||||||
|
{
|
||||||
|
"object": "XY_Plane",
|
||||||
|
"subElements": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"datumPlane": {
|
||||||
|
"attachmentOffset": {
|
||||||
|
"angleDegrees": 29.999999999999996,
|
||||||
|
"axis": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"position": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mapMode": "FlatFace",
|
||||||
|
"placement": {
|
||||||
|
"angleDegrees": 29.999999999999993,
|
||||||
|
"axis": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"position": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"support": [
|
||||||
|
{
|
||||||
|
"object": "XY_Plane",
|
||||||
|
"subElements": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"datumPoint": {
|
||||||
|
"attachmentOffset": {
|
||||||
|
"angleDegrees": 0,
|
||||||
|
"axis": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mapMode": "ObjectOrigin",
|
||||||
|
"placement": {
|
||||||
|
"angleDegrees": 0,
|
||||||
|
"axis": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"support": [
|
||||||
|
{
|
||||||
|
"object": "XY_Plane",
|
||||||
|
"subElements": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"shapeBinder": {
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"support": [
|
||||||
|
{
|
||||||
|
"object": "SourceBox",
|
||||||
|
"subElements": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"traceSupport": true
|
||||||
|
},
|
||||||
|
"shapeBinderVolume": 480,
|
||||||
|
"sourceVolume": 480,
|
||||||
|
"subShapeBinder": {
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"support": [
|
||||||
|
{
|
||||||
|
"object": "SourceBox",
|
||||||
|
"subElements": [
|
||||||
|
"Edge1",
|
||||||
|
"Edge2",
|
||||||
|
"Edge3",
|
||||||
|
"Edge4"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"subShapeBinderLength": 28
|
||||||
|
},
|
||||||
|
"invalidSupport": {
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"status": "AttachEngine3D: subshape not found SourceBox.Face999",
|
||||||
|
"support": [
|
||||||
|
{
|
||||||
|
"object": "SourceBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face999"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"typeId": "PartDesign::Plane"
|
||||||
|
},
|
||||||
|
"roundtrip": {
|
||||||
|
"bodyGroups": {
|
||||||
|
"BinderBody": [
|
||||||
|
"ShapeBinder"
|
||||||
|
],
|
||||||
|
"DatumBody": [
|
||||||
|
"DatumPlane",
|
||||||
|
"DatumLine",
|
||||||
|
"DatumPoint",
|
||||||
|
"InvalidDatumPlane"
|
||||||
|
],
|
||||||
|
"SourceBody": [
|
||||||
|
"SourceBox"
|
||||||
|
],
|
||||||
|
"SubBinderBody": [
|
||||||
|
"SubShapeBinder"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bodyTips": {
|
||||||
|
"BinderBody": null,
|
||||||
|
"DatumBody": null,
|
||||||
|
"SourceBody": "SourceBox",
|
||||||
|
"SubBinderBody": null
|
||||||
|
},
|
||||||
|
"datumPlaneAttachmentOffset": {
|
||||||
|
"angleDegrees": 45,
|
||||||
|
"axis": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"position": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
7
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"datumPlaneMapMode": "FlatFace",
|
||||||
|
"datumPlaneSupport": [
|
||||||
|
{
|
||||||
|
"object": "XY_Plane",
|
||||||
|
"subElements": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"invalidDatumState": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"invalidDatumStatus": "AttachEngine3D: subshape not found SourceBox.Face999",
|
||||||
|
"shapeBinderSupport": [
|
||||||
|
{
|
||||||
|
"object": "SourceBox",
|
||||||
|
"subElements": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shapeBinderVolume": 672,
|
||||||
|
"sourceVolume": 672,
|
||||||
|
"subShapeBinderLength": 28,
|
||||||
|
"subShapeBinderSupport": [
|
||||||
|
{
|
||||||
|
"object": "SourceBox",
|
||||||
|
"subElements": [
|
||||||
|
"Edge1",
|
||||||
|
"Edge2",
|
||||||
|
"Edge3",
|
||||||
|
"Edge4"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
113
config/freecad-private-naming-source-readiness.json
Normal file
113
config/freecad-private-naming-source-readiness.json
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"scope": "standalone-wasm-source-prerequisite",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"emscriptenVersion": "3.1.69",
|
||||||
|
"qtVersion": "6.8.2"
|
||||||
|
},
|
||||||
|
"linkedOriginalSources": [
|
||||||
|
{
|
||||||
|
"path": "src/App/IndexedName.cpp",
|
||||||
|
"sha256": "73e0e60a9d6ee06851252e2071ebdd58698f8f99733903232529b3a194164435"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/App/MappedName.cpp",
|
||||||
|
"sha256": "90173aba5f331ac9453589833f7e5fc63c5c80a35f1600dbc71211606b1c9dbc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/App/StringHasher.cpp",
|
||||||
|
"sha256": "fd32f35c9c2a0c21a60fa634ec37ec594d6f331924c5bba7fdbbcb351c3b612c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/App/MappedElement.cpp",
|
||||||
|
"sha256": "f5448d9de693e319460d5e3ef52c63a54e0948963e4b92786aac38c77bdcd7a5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/App/ElementNamingUtils.cpp",
|
||||||
|
"sha256": "fc3223857ca6d2990d2b48f437f75841cdf23e1e79fa18ef18296f40acd3cdc3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/App/ElementMap.cpp",
|
||||||
|
"sha256": "e1ceaedb624688ddffa6a834c1b32539e8ba5bbdc0ec31401ea087e6a9c3eb52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/Base/Handle.cpp",
|
||||||
|
"sha256": "8f02d27a8b672e9a56764f85e394265b4fcf023aba097f040b03dcb38bc393d2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"runtimeAssertions": [
|
||||||
|
"IndexedName parsing",
|
||||||
|
"MappedName postfix tag parsing",
|
||||||
|
"StringHasher duplicate identity",
|
||||||
|
"StringHasher SHA-1 threshold",
|
||||||
|
"StringHasher mapped indexed-name references",
|
||||||
|
"ElementMap StringHasher encoding",
|
||||||
|
"ElementMap bidirectional lookup",
|
||||||
|
"ElementMap history tracing",
|
||||||
|
"ElementMap save and restore",
|
||||||
|
"MappedElement stable ordering",
|
||||||
|
"seven-object wasm static archive linkage"
|
||||||
|
],
|
||||||
|
"hostAdapterScope": [
|
||||||
|
"Base persistence streams",
|
||||||
|
"Base type-system declarations",
|
||||||
|
"Python wrapper objects",
|
||||||
|
"logging",
|
||||||
|
"Application and Document lifecycle hooks"
|
||||||
|
],
|
||||||
|
"isolatedSourceArchive": {
|
||||||
|
"path": "native/freecad-naming-probe/dist/libFreeCADPrivateNamingProbe.a",
|
||||||
|
"target": "wasm32-emscripten",
|
||||||
|
"expectedObjectMembers": 7,
|
||||||
|
"hostAdapterBound": true,
|
||||||
|
"productionEligible": false
|
||||||
|
},
|
||||||
|
"productionLinkedComponents": [
|
||||||
|
"FreeCADBase static library",
|
||||||
|
"FreeCADApp static library",
|
||||||
|
"Part static library",
|
||||||
|
"Python static library",
|
||||||
|
"FreeCAD private naming Worker bridge"
|
||||||
|
],
|
||||||
|
"remainingExactComponents": [
|
||||||
|
"complete Application and Document parity",
|
||||||
|
"exhaustive FCStd edit and round-trip corpus"
|
||||||
|
],
|
||||||
|
"candidateAbi": {
|
||||||
|
"scope": "isolated-non-production",
|
||||||
|
"exports": [
|
||||||
|
"freecadNamingCandidateAbiVersion",
|
||||||
|
"freecadNamingCandidateCapabilitiesJson",
|
||||||
|
"freecadNamingCandidateEvidenceJson"
|
||||||
|
],
|
||||||
|
"strictWebValidator": "pass",
|
||||||
|
"nativeResources": [
|
||||||
|
"MappedNameRef",
|
||||||
|
"StringHasher",
|
||||||
|
"ElementMap2"
|
||||||
|
],
|
||||||
|
"occtBuilderContext": false,
|
||||||
|
"publishToWorker": false
|
||||||
|
},
|
||||||
|
"production": {
|
||||||
|
"workerArtifact": "native/occt-history/dist/bitbybit-occt-history.wasm",
|
||||||
|
"workerLinked": true,
|
||||||
|
"exportedCallbacks": [
|
||||||
|
"freecadNamingAbiVersion",
|
||||||
|
"freecadNamingCapabilitiesJson",
|
||||||
|
"freecadNamingEvidenceJson"
|
||||||
|
],
|
||||||
|
"requiredCallbacks": [
|
||||||
|
"freecadNamingAbiVersion",
|
||||||
|
"freecadNamingCapabilitiesJson",
|
||||||
|
"freecadNamingEvidenceJson"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"boundary": {
|
||||||
|
"freecadNamingBuildStatus": "production-linked",
|
||||||
|
"exTsn02": "completed",
|
||||||
|
"systemExact": false
|
||||||
|
}
|
||||||
|
}
|
||||||
3425
config/freecad-production-drift-classification.json
Normal file
3425
config/freecad-production-drift-classification.json
Normal file
File diff suppressed because it is too large
Load Diff
193
config/freecad-property-acceleration-failure.json
Normal file
193
config/freecad-property-acceleration-failure.json
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-acceleration-failure",
|
||||||
|
"cancellationBoundary": {
|
||||||
|
"classification": "synchronous-property-setter",
|
||||||
|
"reason": "no-native-cancel-hook",
|
||||||
|
"replacement": "abort-active-document-transaction",
|
||||||
|
"supported": false
|
||||||
|
},
|
||||||
|
"disabled": {
|
||||||
|
"after": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"classification": "editor-read-only-and-python-immutable",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Object attribute 'Acceleration' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "750 mm/s^2",
|
||||||
|
"restoredEditorMode": [],
|
||||||
|
"restoredStatus": [],
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
"documentIntegrity": {
|
||||||
|
"finalObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectCount": 1,
|
||||||
|
"objectsPreserved": true
|
||||||
|
},
|
||||||
|
"failures": [
|
||||||
|
{
|
||||||
|
"after": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Not matching Unit!",
|
||||||
|
"type": "ArithmeticError"
|
||||||
|
},
|
||||||
|
"id": "wrong-dimension",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "5 mm",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"object": {
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"name": "Acceleration",
|
||||||
|
"typeId": "App::PropertyAcceleration"
|
||||||
|
},
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "property-acceleration-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"before": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"numeric": 250,
|
||||||
|
"raw": "250.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
},
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsRestored": true,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"restored": true,
|
||||||
|
"undoMode": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
49
config/freecad-property-acceleration-inventory.json
Normal file
49
config/freecad-property-acceleration-inventory.json
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyAcceleration",
|
||||||
|
"recordCount": 1,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"objectTypeId": "Robot::TrajectoryDressUpObject",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Acceleration",
|
||||||
|
"group": "TrajectoryDressUp",
|
||||||
|
"status": [],
|
||||||
|
"defaultRaw": "1000.0 mm/s^2",
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "quantity",
|
||||||
|
"dimension": "length/time^2",
|
||||||
|
"defaultValue": 1000,
|
||||||
|
"defaultUnit": "mm/s^2",
|
||||||
|
"acceptedBoundaryEvidence": "inventory-only; value and boundary acceptance remain pending in phase B/C"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "Robot::TrajectoryDressUpObject",
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
||||||
347
config/freecad-property-acceleration-mutation.json
Normal file
347
config/freecad-property-acceleration-mutation.json
Normal file
@@ -0,0 +1,347 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-acceleration-mutation",
|
||||||
|
"before": {
|
||||||
|
"editorMode": [],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"trajectory": {
|
||||||
|
"contentSha256": "1a29d89dac9b062e0ea210375b9aeb1f7ada2ed763939e339eb31c05d4ee678f",
|
||||||
|
"duration": 0.141421356,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 1000,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 1000,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"useAcceleration": true,
|
||||||
|
"value": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"geometry": "not-applicable-no-shape-property",
|
||||||
|
"propertyChanged": true,
|
||||||
|
"propertyRestored": true,
|
||||||
|
"semanticStateRestored": true,
|
||||||
|
"trajectoryChanged": true,
|
||||||
|
"trajectoryRestored": true
|
||||||
|
},
|
||||||
|
"document": {
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"objectsRestored": [
|
||||||
|
{
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"editorMode": [],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"trajectory": {
|
||||||
|
"contentSha256": "a7febf338d0c6527d9ad31e709f379092fd6f0144714ee29f973cd77567ecf2c",
|
||||||
|
"duration": 0.2,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 500,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 500,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"useAcceleration": true,
|
||||||
|
"value": {
|
||||||
|
"numeric": 500,
|
||||||
|
"raw": "500.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"object": {
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"name": "Acceleration",
|
||||||
|
"typeId": "App::PropertyAcceleration"
|
||||||
|
},
|
||||||
|
"recompute": {
|
||||||
|
"edit": 1,
|
||||||
|
"initial": 2,
|
||||||
|
"restore": 1
|
||||||
|
},
|
||||||
|
"restored": {
|
||||||
|
"editorMode": [],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"trajectory": {
|
||||||
|
"contentSha256": "1a29d89dac9b062e0ea210375b9aeb1f7ada2ed763939e339eb31c05d4ee678f",
|
||||||
|
"duration": 0.141421356,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 1000,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 1000,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"useAcceleration": true,
|
||||||
|
"value": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"source": {
|
||||||
|
"before": {
|
||||||
|
"contentSha256": "cb93c2855ce67ed800416d985edfe22d80035a3313015573d78252bc17619db9",
|
||||||
|
"duration": 0.447213595,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"contentSha256": "cb93c2855ce67ed800416d985edfe22d80035a3313015573d78252bc17619db9",
|
||||||
|
"duration": 0.447213595,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"preserved": true,
|
||||||
|
"restored": {
|
||||||
|
"contentSha256": "cb93c2855ce67ed800416d985edfe22d80035a3313015573d78252bc17619db9",
|
||||||
|
"duration": 0.447213595,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"base": 0,
|
||||||
|
"continuous": false,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"tool": 0,
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"status": "pass",
|
||||||
|
"touchedAfterEdit": {
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"numeric": 500,
|
||||||
|
"raw": "500.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
66
config/freecad-property-acceleration-promotion.json
Normal file
66
config/freecad-property-acceleration-promotion.json
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"taskId": "PROP-app-propertyacceleration-I",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyAcceleration",
|
||||||
|
"recordCount": 1,
|
||||||
|
"phaseEvidence": {
|
||||||
|
"A": [
|
||||||
|
"config/freecad-property-acceleration-inventory.json",
|
||||||
|
"check:freecad-property-acceleration-inventory"
|
||||||
|
],
|
||||||
|
"B": [
|
||||||
|
"config/freecad-property-acceleration-success.json",
|
||||||
|
"check:freecad-property-acceleration-success"
|
||||||
|
],
|
||||||
|
"C": [
|
||||||
|
"config/freecad-property-acceleration-failure.json",
|
||||||
|
"check:freecad-property-acceleration-failure"
|
||||||
|
],
|
||||||
|
"D": [
|
||||||
|
"config/freecad-property-acceleration-mutation.json",
|
||||||
|
"check:freecad-property-acceleration-mutation"
|
||||||
|
],
|
||||||
|
"E": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"test:freecad-property-acceleration-facade"
|
||||||
|
],
|
||||||
|
"F": [
|
||||||
|
"tests/propertyAccelerationTransaction.test.ts",
|
||||||
|
"test:freecad-property-acceleration-transaction"
|
||||||
|
],
|
||||||
|
"G": [
|
||||||
|
"config/freecad-property-acceleration-roundtrip.json",
|
||||||
|
"check:freecad-property-acceleration-roundtrip"
|
||||||
|
],
|
||||||
|
"H": [
|
||||||
|
"config/chrome-property-acceleration-verification.json",
|
||||||
|
"check:chrome-property-acceleration"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"promotion": {
|
||||||
|
"from": "opaque-fcstd-proxy",
|
||||||
|
"to": "native-editable-codec",
|
||||||
|
"facadeValueModel": "finite-number-mm/s^2",
|
||||||
|
"fcstdElement": "Float",
|
||||||
|
"nativeRoundTripValue": 500,
|
||||||
|
"browserRoundTripValue": 500,
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
},
|
||||||
|
"exactBlockerSync": {
|
||||||
|
"nativeEditableTypes": 35,
|
||||||
|
"nativeEditableRecords": 4372,
|
||||||
|
"opaqueTypes": 45,
|
||||||
|
"opaqueRecords": 455,
|
||||||
|
"exactPromotionReady": false,
|
||||||
|
"exactBlocker": "45 runtime property types and 455 records remain opaque-only; complete native document and property semantics"
|
||||||
|
},
|
||||||
|
"systemExact": false,
|
||||||
|
"generatedAt": "2026-08-17T20:51:52.484Z"
|
||||||
|
}
|
||||||
331
config/freecad-property-acceleration-roundtrip.json
Normal file
331
config/freecad-property-acceleration-roundtrip.json
Normal file
@@ -0,0 +1,331 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baselineId": "freecad-1.1.1-property-acceleration-roundtrip",
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"archives": {
|
||||||
|
"nativeInitial": {
|
||||||
|
"path": ".cache/freecad/property-acceleration-roundtrip/native-initial.FCStd",
|
||||||
|
"bytes": 1625,
|
||||||
|
"sha256": "121b9ef55520cbea76f85d4a462791f22593743680c7c8813c84a06ed092695e"
|
||||||
|
},
|
||||||
|
"webEdited": {
|
||||||
|
"path": ".cache/freecad/property-acceleration-roundtrip/web-edited.FCStd",
|
||||||
|
"bytes": 1455,
|
||||||
|
"sha256": "6c9f69279012adfaba3e3093448d343a5829a5c34df7fc3f2f3799a625fb8a70"
|
||||||
|
},
|
||||||
|
"nativeResaved": {
|
||||||
|
"path": ".cache/freecad/property-acceleration-roundtrip/native-resaved.FCStd",
|
||||||
|
"bytes": 1629,
|
||||||
|
"sha256": "0a6d34aba0c69b6dd52424f3d1c35bc096b8ca6087e96903b9ada9a1b257cbd9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nativeInitial": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyAcceleration",
|
||||||
|
"source": {
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"trajectory": {
|
||||||
|
"contentSha256": "1a29d89dac9b062e0ea210375b9aeb1f7ada2ed763939e339eb31c05d4ee678f",
|
||||||
|
"duration": 0.141421356,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 1000,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 1000,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject",
|
||||||
|
"useAcceleration": true,
|
||||||
|
"value": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceTrajectory": {
|
||||||
|
"contentSha256": "cb93c2855ce67ed800416d985edfe22d80035a3313015573d78252bc17619db9",
|
||||||
|
"duration": 0.447213595,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"web": {
|
||||||
|
"before": {
|
||||||
|
"name": "Acceleration",
|
||||||
|
"typeId": "App::PropertyAcceleration",
|
||||||
|
"element": "Float",
|
||||||
|
"value": "1000.0000000000000000"
|
||||||
|
},
|
||||||
|
"after": {
|
||||||
|
"name": "Acceleration",
|
||||||
|
"typeId": "App::PropertyAcceleration",
|
||||||
|
"element": "Float",
|
||||||
|
"value": "500"
|
||||||
|
},
|
||||||
|
"objectSetPreserved": true,
|
||||||
|
"semanticObjectsPreserved": true,
|
||||||
|
"opaquePathsPreserved": 0,
|
||||||
|
"opaqueEntriesPreserved": true
|
||||||
|
},
|
||||||
|
"nativeAfter": {
|
||||||
|
"reopened": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyAcceleration",
|
||||||
|
"source": {
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"trajectory": {
|
||||||
|
"contentSha256": "a7febf338d0c6527d9ad31e709f379092fd6f0144714ee29f973cd77567ecf2c",
|
||||||
|
"duration": 0.2,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 500,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 500,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject",
|
||||||
|
"useAcceleration": true,
|
||||||
|
"value": {
|
||||||
|
"numeric": 500,
|
||||||
|
"raw": "500.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceTrajectory": {
|
||||||
|
"contentSha256": "cb93c2855ce67ed800416d985edfe22d80035a3313015573d78252bc17619db9",
|
||||||
|
"duration": 0.447213595,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resaved": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyAcceleration",
|
||||||
|
"source": {
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"trajectory": {
|
||||||
|
"contentSha256": "a7febf338d0c6527d9ad31e709f379092fd6f0144714ee29f973cd77567ecf2c",
|
||||||
|
"duration": 0.2,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 500,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 500,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject",
|
||||||
|
"useAcceleration": true,
|
||||||
|
"value": {
|
||||||
|
"numeric": 500,
|
||||||
|
"raw": "500.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "SourceTrajectory",
|
||||||
|
"typeId": "Robot::TrajectoryObject"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceTrajectory": {
|
||||||
|
"contentSha256": "cb93c2855ce67ed800416d985edfe22d80035a3313015573d78252bc17619db9",
|
||||||
|
"duration": 0.447213595,
|
||||||
|
"length": 5,
|
||||||
|
"waypointCount": 2,
|
||||||
|
"waypoints": [
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"name": "Pt",
|
||||||
|
"position": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acceleration": 100,
|
||||||
|
"name": "Pt1",
|
||||||
|
"position": [
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"type": "LIN",
|
||||||
|
"velocity": 2000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"webValue": "500",
|
||||||
|
"reopenedValue": 500,
|
||||||
|
"resavedValue": 500,
|
||||||
|
"nativeOutputMatches": true,
|
||||||
|
"unknownSemanticDrift": false,
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
}
|
||||||
|
}
|
||||||
101
config/freecad-property-acceleration-success.json
Normal file
101
config/freecad-property-acceleration-success.json
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-acceleration-success",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"editorMode": [],
|
||||||
|
"group": "TrajectoryDressUp",
|
||||||
|
"id": "default",
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"requested": null,
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"status": [],
|
||||||
|
"typeId": "App::PropertyAcceleration",
|
||||||
|
"value": {
|
||||||
|
"numeric": 1000,
|
||||||
|
"raw": "1000.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"editorMode": [],
|
||||||
|
"group": "TrajectoryDressUp",
|
||||||
|
"id": "nominal",
|
||||||
|
"objectState": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"requested": "500 mm/s^2",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"status": [],
|
||||||
|
"typeId": "App::PropertyAcceleration",
|
||||||
|
"value": {
|
||||||
|
"numeric": 500,
|
||||||
|
"raw": "500.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"editorMode": [],
|
||||||
|
"group": "TrajectoryDressUp",
|
||||||
|
"id": "lower-bound",
|
||||||
|
"objectState": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"requested": "0 mm/s^2",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"status": [],
|
||||||
|
"typeId": "App::PropertyAcceleration",
|
||||||
|
"value": {
|
||||||
|
"numeric": 0,
|
||||||
|
"raw": "0.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"editorMode": [],
|
||||||
|
"group": "TrajectoryDressUp",
|
||||||
|
"id": "negative-boundary",
|
||||||
|
"objectState": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"requested": "-500 mm/s^2",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"status": [],
|
||||||
|
"typeId": "App::PropertyAcceleration",
|
||||||
|
"value": {
|
||||||
|
"numeric": -500,
|
||||||
|
"raw": "-500.0 mm/s^2",
|
||||||
|
"unit": "Unit: mm/s^2 (1,0,-2,0,0,0,0,0) [Acceleration]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"diagnostics": {
|
||||||
|
"documentObjectCount": 1,
|
||||||
|
"exception": null
|
||||||
|
},
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"object": {
|
||||||
|
"name": "AccelerationProbe",
|
||||||
|
"typeId": "Robot::TrajectoryDressUpObject"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"group": "TrajectoryDressUp",
|
||||||
|
"name": "Acceleration",
|
||||||
|
"typeId": "App::PropertyAcceleration"
|
||||||
|
},
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass"
|
||||||
|
}
|
||||||
544
config/freecad-property-area-failure.json
Normal file
544
config/freecad-property-area-failure.json
Normal file
@@ -0,0 +1,544 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-area-failure",
|
||||||
|
"cancellationBoundary": {
|
||||||
|
"classification": "synchronous-measure-recompute",
|
||||||
|
"reason": "no-native-cancel-hook",
|
||||||
|
"replacement": "abort-active-document-transaction",
|
||||||
|
"supported": false
|
||||||
|
},
|
||||||
|
"disabled": {
|
||||||
|
"before": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"classification": "editor-readonly-python-mutable-until-immutable",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"editorReadOnlyAfter": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 20,
|
||||||
|
"raw": "20.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"editorReadOnlyException": null,
|
||||||
|
"editorReadOnlyRequested": "20 mm^2",
|
||||||
|
"immutableAfter": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 20,
|
||||||
|
"raw": "20.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"immutableException": {
|
||||||
|
"message": "Object attribute 'Area' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"immutableRequested": "30 mm^2",
|
||||||
|
"immutableStatus": [
|
||||||
|
"Immutable",
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"immutableValuePreserved": true,
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"pythonBypassesEditorReadOnly": true,
|
||||||
|
"restored": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"restoredEditorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"restoredStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"valueRestored": true
|
||||||
|
},
|
||||||
|
"documentIntegrity": {
|
||||||
|
"finalObjects": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialObjects": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectCount": 5,
|
||||||
|
"objectsPreserved": true
|
||||||
|
},
|
||||||
|
"failures": [
|
||||||
|
{
|
||||||
|
"after": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaPoint",
|
||||||
|
"subElements": [
|
||||||
|
"Vertex1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "Cannot calculate area",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"assignmentException": null,
|
||||||
|
"before": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"expectedDiagnostic": "Cannot calculate area",
|
||||||
|
"id": "unsupported-point",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"recomputeException": null,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"recovered": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"recoveredExactly": true,
|
||||||
|
"source": {
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"shapeType": "Vertex",
|
||||||
|
"subElement": "Vertex1",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaLine",
|
||||||
|
"subElements": [
|
||||||
|
"Edge1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "Cannot calculate area",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"assignmentException": null,
|
||||||
|
"before": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"expectedDiagnostic": "Cannot calculate area",
|
||||||
|
"id": "unsupported-line",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"recomputeException": null,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"recovered": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"recoveredExactly": true,
|
||||||
|
"source": {
|
||||||
|
"name": "AreaLine",
|
||||||
|
"shapeType": "Edge",
|
||||||
|
"subElement": "Edge1",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
"valuePreserved": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"initial": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"input": {
|
||||||
|
"name": "Elements",
|
||||||
|
"typeId": "App::PropertyLinkSubList"
|
||||||
|
},
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"name": "Area",
|
||||||
|
"typeId": "App::PropertyArea"
|
||||||
|
},
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "property-area-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"statusString": "Touched",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"afterRecompute": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"before": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaCylinder",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"numeric": 75.398223877,
|
||||||
|
"raw": "75.39822387695312 mm^2",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaPoint",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaLine",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsRestored": true,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"restored": true,
|
||||||
|
"undoMode": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
108
config/freecad-property-area-inventory.json
Normal file
108
config/freecad-property-area-inventory.json
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyArea",
|
||||||
|
"recordCount": 1,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"objectTypeId": "Measure::MeasureArea",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Area",
|
||||||
|
"group": "Measurement",
|
||||||
|
"status": [
|
||||||
|
24,
|
||||||
|
27
|
||||||
|
],
|
||||||
|
"normalizedStatus": [
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropOutput"
|
||||||
|
],
|
||||||
|
"defaultRaw": "0.0 mm^2",
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "quantity",
|
||||||
|
"dimension": "length^2",
|
||||||
|
"defaultValue": 0,
|
||||||
|
"defaultUnit": "mm^2",
|
||||||
|
"derived": true,
|
||||||
|
"writable": false
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"propertyName": "Elements",
|
||||||
|
"typeId": "App::PropertyLinkSubList",
|
||||||
|
"group": "Measurement",
|
||||||
|
"defaultValue": [],
|
||||||
|
"scope": "Global",
|
||||||
|
"allowExternal": true,
|
||||||
|
"cardinality": "one-or-more"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"sourceProperty": "Elements",
|
||||||
|
"targetProperty": "Area",
|
||||||
|
"relation": "link-sub-list",
|
||||||
|
"effect": "immediate-recompute-on-change"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"applicability": {
|
||||||
|
"selectionMustBeNonEmpty": true,
|
||||||
|
"everyElementMustBeValid": true,
|
||||||
|
"supportedMeasureElementTypes": [
|
||||||
|
"PLANE",
|
||||||
|
"CYLINDER",
|
||||||
|
"SURFACE",
|
||||||
|
"VOLUME"
|
||||||
|
],
|
||||||
|
"unsupportedMeasureElementTypes": [
|
||||||
|
"INVALID",
|
||||||
|
"POINT",
|
||||||
|
"LINE",
|
||||||
|
"CURVE"
|
||||||
|
],
|
||||||
|
"externalDocumentElementsAllowed": true
|
||||||
|
},
|
||||||
|
"execution": {
|
||||||
|
"aggregation": "sum-area",
|
||||||
|
"resultProperty": "Area",
|
||||||
|
"invalidGeometryDiagnostic": "Cannot calculate area",
|
||||||
|
"shape": "not-applicable-derived-measurement"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"provenance": {
|
||||||
|
"runtime": {
|
||||||
|
"path": ".cache/freecad/reference-desktop.json",
|
||||||
|
"bytes": 2298709,
|
||||||
|
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Mod/Measure/App/MeasureArea.cpp",
|
||||||
|
"bytes": 5328,
|
||||||
|
"sha256": "86506348c36a9a440881da0b605a74c38079c3c606ca6f7660df53665eda5281"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Mod/Measure/App/MeasureArea.h",
|
||||||
|
"bytes": 3125,
|
||||||
|
"sha256": "5bae7a21e82e73490a8b63cc234f1bd17e019df0d7cfcf7aa23fe91d2dc13305"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"classification": "opaque-fcstd-proxy",
|
||||||
|
"nextPhases": [
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"D",
|
||||||
|
"E",
|
||||||
|
"F",
|
||||||
|
"G",
|
||||||
|
"H",
|
||||||
|
"I"
|
||||||
|
]
|
||||||
|
}
|
||||||
342
config/freecad-property-area-mutation.json
Normal file
342
config/freecad-property-area-mutation.json
Normal file
@@ -0,0 +1,342 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-area-mutation",
|
||||||
|
"before": {
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"value": {
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"derivedValueChanged": true,
|
||||||
|
"derivedValueRestored": true,
|
||||||
|
"geometry": "source-shapes-preserved-derived-measurement-has-no-shape",
|
||||||
|
"inputChanged": true,
|
||||||
|
"inputRestored": true,
|
||||||
|
"semanticStateRestored": true,
|
||||||
|
"sourceGeometryPreserved": true
|
||||||
|
},
|
||||||
|
"document": {
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"objectsRestored": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1",
|
||||||
|
"Face2"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"object": "AreaCylinder",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"value": {
|
||||||
|
"numeric": 95.398223877,
|
||||||
|
"raw": "95.39822387695312 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"input": {
|
||||||
|
"name": "Elements",
|
||||||
|
"typeId": "App::PropertyLinkSubList"
|
||||||
|
},
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"name": "Area",
|
||||||
|
"typeId": "App::PropertyArea"
|
||||||
|
},
|
||||||
|
"recompute": {
|
||||||
|
"edit": 1,
|
||||||
|
"initial": 3,
|
||||||
|
"restore": 1
|
||||||
|
},
|
||||||
|
"restored": {
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"value": {
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"sources": {
|
||||||
|
"before": [
|
||||||
|
{
|
||||||
|
"area": 160,
|
||||||
|
"bounds": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
5,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"name": "AreaBox",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Box",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 131.946891451,
|
||||||
|
"bounds": [
|
||||||
|
-3,
|
||||||
|
-3,
|
||||||
|
0,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"edges": 3,
|
||||||
|
"faces": 3,
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Cylinder",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 2,
|
||||||
|
"volume": 113.097335529
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edited": [
|
||||||
|
{
|
||||||
|
"area": 160,
|
||||||
|
"bounds": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
5,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"name": "AreaBox",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Box",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 131.946891451,
|
||||||
|
"bounds": [
|
||||||
|
-3,
|
||||||
|
-3,
|
||||||
|
0,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"edges": 3,
|
||||||
|
"faces": 3,
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Cylinder",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 2,
|
||||||
|
"volume": 113.097335529
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"preserved": true,
|
||||||
|
"restored": [
|
||||||
|
{
|
||||||
|
"area": 160,
|
||||||
|
"bounds": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
5,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"name": "AreaBox",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Box",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 131.946891451,
|
||||||
|
"bounds": [
|
||||||
|
-3,
|
||||||
|
-3,
|
||||||
|
0,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"edges": 3,
|
||||||
|
"faces": 3,
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Cylinder",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 2,
|
||||||
|
"volume": 113.097335529
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status": "pass",
|
||||||
|
"touchedAfterEdit": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1",
|
||||||
|
"Face2"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"object": "AreaCylinder",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"numeric": 95.398223877,
|
||||||
|
"raw": "95.39822387695312 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"touchedAfterRestore": {
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"mustExecute": false,
|
||||||
|
"objectState": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
71
config/freecad-property-area-promotion.json
Normal file
71
config/freecad-property-area-promotion.json
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"taskId": "PROP-app-propertyarea-I",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyArea",
|
||||||
|
"recordCount": 1,
|
||||||
|
"phaseEvidence": {
|
||||||
|
"A": [
|
||||||
|
"config/freecad-property-area-inventory.json",
|
||||||
|
"check:freecad-property-area-inventory"
|
||||||
|
],
|
||||||
|
"B": [
|
||||||
|
"config/freecad-property-area-success.json",
|
||||||
|
"check:freecad-property-area-success"
|
||||||
|
],
|
||||||
|
"C": [
|
||||||
|
"config/freecad-property-area-failure.json",
|
||||||
|
"check:freecad-property-area-failure"
|
||||||
|
],
|
||||||
|
"D": [
|
||||||
|
"config/freecad-property-area-mutation.json",
|
||||||
|
"check:freecad-property-area-mutation"
|
||||||
|
],
|
||||||
|
"E": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"tests/propertyAreaFacade.test.ts",
|
||||||
|
"test:freecad-property-area-facade"
|
||||||
|
],
|
||||||
|
"F": [
|
||||||
|
"tests/propertyAreaTransaction.test.ts",
|
||||||
|
"test:freecad-property-area-transaction"
|
||||||
|
],
|
||||||
|
"G": [
|
||||||
|
"config/freecad-property-area-roundtrip.json",
|
||||||
|
"check:freecad-property-area-roundtrip"
|
||||||
|
],
|
||||||
|
"H": [
|
||||||
|
"config/chrome-property-area-verification.json",
|
||||||
|
"check:chrome-property-area"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"promotion": {
|
||||||
|
"from": "opaque-fcstd-proxy",
|
||||||
|
"to": "native-editable-codec",
|
||||||
|
"facadeValueModel": "read-only-derived-mm^2-with-link-sub-list-input",
|
||||||
|
"inputType": "App::PropertyLinkSubList",
|
||||||
|
"fcstdAreaElement": "Float",
|
||||||
|
"fcstdElementsElement": "LinkSubList",
|
||||||
|
"nativeRoundTripArea": 20,
|
||||||
|
"browserRoundTripArea": 0,
|
||||||
|
"browserRoundTripElementCount": 0,
|
||||||
|
"sourceGeometryPreserved": true,
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
},
|
||||||
|
"exactBlockerSync": {
|
||||||
|
"nativeEditableTypes": 35,
|
||||||
|
"nativeEditableRecords": 4372,
|
||||||
|
"opaqueTypes": 45,
|
||||||
|
"opaqueRecords": 455,
|
||||||
|
"exactPromotionReady": false,
|
||||||
|
"exactBlocker": "45 runtime property types and 455 records remain opaque-only; complete native document and property semantics"
|
||||||
|
},
|
||||||
|
"systemExact": false,
|
||||||
|
"generatedAt": "2026-08-17T20:51:52.476Z"
|
||||||
|
}
|
||||||
305
config/freecad-property-area-roundtrip.json
Normal file
305
config/freecad-property-area-roundtrip.json
Normal file
@@ -0,0 +1,305 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baselineId": "freecad-1.1.1-property-area-roundtrip",
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"archives": {
|
||||||
|
"nativeInitial": {
|
||||||
|
"path": ".cache/freecad/property-area-roundtrip/native-initial.FCStd",
|
||||||
|
"bytes": 2635,
|
||||||
|
"sha256": "2c50a95d69ab8069be75a92dbd35531cb6089ce2bb2fe420cff1e8e4ca523bd4"
|
||||||
|
},
|
||||||
|
"webEdited": {
|
||||||
|
"path": ".cache/freecad/property-area-roundtrip/web-edited.FCStd",
|
||||||
|
"bytes": 2523,
|
||||||
|
"sha256": "3b37fb932987756ea69c4f6ee784056ade0625f7c6504c11fb59bca55b95b595"
|
||||||
|
},
|
||||||
|
"nativeResaved": {
|
||||||
|
"path": ".cache/freecad/property-area-roundtrip/native-resaved.FCStd",
|
||||||
|
"bytes": 2650,
|
||||||
|
"sha256": "09b15d8d030c15dddc20f9a89b8a1244ecd2e279eb973ab2b572e382dcc062d0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nativeInitial": {
|
||||||
|
"measure": {
|
||||||
|
"area": {
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": {
|
||||||
|
"area": 160,
|
||||||
|
"bounds": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
5,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"height": 2,
|
||||||
|
"length": 10,
|
||||||
|
"name": "AreaBox",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Box",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 100,
|
||||||
|
"width": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"web": {
|
||||||
|
"before": {
|
||||||
|
"area": {
|
||||||
|
"name": "Area",
|
||||||
|
"typeId": "App::PropertyArea",
|
||||||
|
"element": "Float",
|
||||||
|
"value": "10.0000000000000000",
|
||||||
|
"nativeStatus": 150994944,
|
||||||
|
"statusNames": [
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"elements": {
|
||||||
|
"name": "Elements",
|
||||||
|
"typeId": "App::PropertyLinkSubList",
|
||||||
|
"element": "LinkSubList",
|
||||||
|
"value": "{\"schemaVersion\":1,\"entries\":[{\"objectId\":\"AreaBox\",\"subElement\":\"Face1\"}]}",
|
||||||
|
"linkSubs": [
|
||||||
|
{
|
||||||
|
"objectId": "AreaBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"after": {
|
||||||
|
"area": {
|
||||||
|
"name": "Area",
|
||||||
|
"typeId": "App::PropertyArea",
|
||||||
|
"element": "Float",
|
||||||
|
"value": "20",
|
||||||
|
"nativeStatus": 150994944,
|
||||||
|
"statusNames": [
|
||||||
|
"PropReadOnly",
|
||||||
|
"PropOutput"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"elements": {
|
||||||
|
"name": "Elements",
|
||||||
|
"typeId": "App::PropertyLinkSubList",
|
||||||
|
"element": "LinkSubList",
|
||||||
|
"value": "{\"schemaVersion\":1,\"entries\":[{\"objectId\":\"AreaBox\",\"subElement\":\"Face1\"},{\"objectId\":\"AreaBox\",\"subElement\":\"Face2\"}]}",
|
||||||
|
"linkSubs": [
|
||||||
|
{
|
||||||
|
"objectId": "AreaBox",
|
||||||
|
"subElement": "Face1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectId": "AreaBox",
|
||||||
|
"subElement": "Face2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"objectSetPreserved": true,
|
||||||
|
"semanticObjectsPreserved": true,
|
||||||
|
"opaquePathsPreserved": 1,
|
||||||
|
"opaqueEntriesPreserved": true
|
||||||
|
},
|
||||||
|
"nativeAfter": {
|
||||||
|
"reopened": {
|
||||||
|
"measure": {
|
||||||
|
"area": {
|
||||||
|
"numeric": 20,
|
||||||
|
"raw": "20.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1",
|
||||||
|
"Face2"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": {
|
||||||
|
"area": 160,
|
||||||
|
"bounds": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
5,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"height": 2,
|
||||||
|
"length": 10,
|
||||||
|
"name": "AreaBox",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Box",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 100,
|
||||||
|
"width": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resaved": {
|
||||||
|
"measure": {
|
||||||
|
"area": {
|
||||||
|
"numeric": 20,
|
||||||
|
"raw": "20.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
},
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"object": "AreaBox",
|
||||||
|
"subElements": [
|
||||||
|
"Face1",
|
||||||
|
"Face2"
|
||||||
|
],
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": {
|
||||||
|
"area": 160,
|
||||||
|
"bounds": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
5,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"height": 2,
|
||||||
|
"length": 10,
|
||||||
|
"name": "AreaBox",
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"solids": 1,
|
||||||
|
"typeId": "Part::Box",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 100,
|
||||||
|
"width": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"webArea": 20,
|
||||||
|
"webElementCount": 2,
|
||||||
|
"reopenedArea": 20,
|
||||||
|
"resavedArea": 20,
|
||||||
|
"nativeOutputMatches": true,
|
||||||
|
"sourceGeometryPreserved": true,
|
||||||
|
"unknownSemanticDrift": false,
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
}
|
||||||
|
}
|
||||||
315
config/freecad-property-area-success.json
Normal file
315
config/freecad-property-area-success.json
Normal file
@@ -0,0 +1,315 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-area-success",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"expectedArea": 0,
|
||||||
|
"id": "empty-default",
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"numeric": 0,
|
||||||
|
"raw": "0.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"area": 10,
|
||||||
|
"edges": 4,
|
||||||
|
"faces": 1,
|
||||||
|
"object": "AreaBox",
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Face",
|
||||||
|
"shapeValid": true,
|
||||||
|
"subElement": "Face1",
|
||||||
|
"vertices": 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"expectedArea": 10,
|
||||||
|
"id": "planar-face",
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"numeric": 10,
|
||||||
|
"raw": "10.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"area": 75.398223686,
|
||||||
|
"edges": 3,
|
||||||
|
"faces": 1,
|
||||||
|
"object": "AreaCylinder",
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Face",
|
||||||
|
"shapeValid": true,
|
||||||
|
"subElement": "Face1",
|
||||||
|
"vertices": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"expectedArea": 75.398223686,
|
||||||
|
"id": "cylindrical-face",
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"numeric": 75.398223877,
|
||||||
|
"raw": "75.39822387695312 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"area": 50.265482457,
|
||||||
|
"edges": 3,
|
||||||
|
"faces": 1,
|
||||||
|
"object": "AreaSphere",
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Face",
|
||||||
|
"shapeValid": true,
|
||||||
|
"subElement": "Face1",
|
||||||
|
"vertices": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"expectedArea": 50.265482457,
|
||||||
|
"id": "surface-face",
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"numeric": 50.265483856,
|
||||||
|
"raw": "50.26548385620117 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"area": 160,
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"object": "AreaBox",
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"shapeValid": true,
|
||||||
|
"subElement": "",
|
||||||
|
"vertices": 8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"expectedArea": 160,
|
||||||
|
"id": "solid-volume",
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"numeric": 160,
|
||||||
|
"raw": "160.0 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"areaTypeId": "App::PropertyArea",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"area": 10,
|
||||||
|
"edges": 4,
|
||||||
|
"faces": 1,
|
||||||
|
"object": "AreaBox",
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Face",
|
||||||
|
"shapeValid": true,
|
||||||
|
"subElement": "Face1",
|
||||||
|
"vertices": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 10,
|
||||||
|
"edges": 4,
|
||||||
|
"faces": 1,
|
||||||
|
"object": "AreaBox",
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Face",
|
||||||
|
"shapeValid": true,
|
||||||
|
"subElement": "Face2",
|
||||||
|
"vertices": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 75.398223686,
|
||||||
|
"edges": 3,
|
||||||
|
"faces": 1,
|
||||||
|
"object": "AreaCylinder",
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Face",
|
||||||
|
"shapeValid": true,
|
||||||
|
"subElement": "Face1",
|
||||||
|
"vertices": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementsTypeId": "App::PropertyLinkSubList",
|
||||||
|
"expectedArea": 95.398223686,
|
||||||
|
"id": "multi-element-sum",
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"propertyStatus": [
|
||||||
|
"24",
|
||||||
|
"27"
|
||||||
|
],
|
||||||
|
"shape": {
|
||||||
|
"applicable": false
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"numeric": 95.398223877,
|
||||||
|
"raw": "95.39822387695312 mm^2",
|
||||||
|
"unit": "Unit: mm^2 (2,0,0,0,0,0,0,0) [Area]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"diagnostics": {
|
||||||
|
"documentObjectCount": 4,
|
||||||
|
"exception": null
|
||||||
|
},
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"input": {
|
||||||
|
"group": "Measurement",
|
||||||
|
"name": "Elements",
|
||||||
|
"typeId": "App::PropertyLinkSubList"
|
||||||
|
},
|
||||||
|
"object": {
|
||||||
|
"name": "AreaProbe",
|
||||||
|
"typeId": "Measure::MeasureArea"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"group": "Measurement",
|
||||||
|
"name": "Area",
|
||||||
|
"typeId": "App::PropertyArea"
|
||||||
|
},
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"name": "AreaBox",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Part::Box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaCylinder",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Part::Cylinder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AreaSphere",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "Part::Sphere"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"status": "pass"
|
||||||
|
}
|
||||||
729
config/freecad-property-boollist-failure.json
Normal file
729
config/freecad-property-boollist-failure.json
Normal file
@@ -0,0 +1,729 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-boollist-failure",
|
||||||
|
"cancellationBoundary": {
|
||||||
|
"classification": "synchronous-property-setter-and-link-extension",
|
||||||
|
"reason": "no-native-cancel-hook",
|
||||||
|
"replacement": "abort-active-document-transaction",
|
||||||
|
"supported": false
|
||||||
|
},
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"directWrite": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Object attribute 'VisibilityList' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"preserved": true,
|
||||||
|
"requested": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editorMode": [
|
||||||
|
"Hidden"
|
||||||
|
],
|
||||||
|
"initial": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"invalidElement": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"name": "MissingElement",
|
||||||
|
"preserved": true,
|
||||||
|
"result": -1
|
||||||
|
},
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"objectTypeId": "App::Link",
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkProbe",
|
||||||
|
"typeId": "App::Link"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkProbe",
|
||||||
|
"typeId": "App::Link"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"propertyTypeId": "App::PropertyBoolList",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 2,
|
||||||
|
"name": "property-boollist-link-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"edited": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"hideResult": 1,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"recoveryRecomputeResult": true,
|
||||||
|
"restored": true,
|
||||||
|
"stateAfterAbort": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"stateAfterRecovery": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusAfterAbort": "Touched",
|
||||||
|
"statusAfterRecovery": "Valid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directWrite": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Object attribute 'VisibilityList' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"preserved": true,
|
||||||
|
"requested": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editorMode": [
|
||||||
|
"Hidden"
|
||||||
|
],
|
||||||
|
"initial": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"invalidElement": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"name": "MissingElement",
|
||||||
|
"preserved": true,
|
||||||
|
"result": -1
|
||||||
|
},
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"objectTypeId": "App::LinkGroup",
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkGroupProbe",
|
||||||
|
"typeId": "App::LinkGroup"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkGroupProbe",
|
||||||
|
"typeId": "App::LinkGroup"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"propertyTypeId": "App::PropertyBoolList",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 3,
|
||||||
|
"name": "property-boollist-link-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"edited": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"hideResult": 1,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"recoveryRecomputeResult": true,
|
||||||
|
"restored": true,
|
||||||
|
"stateAfterAbort": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"stateAfterRecovery": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusAfterAbort": "Touched",
|
||||||
|
"statusAfterRecovery": "Valid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directWrite": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Object attribute 'VisibilityList' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"preserved": true,
|
||||||
|
"requested": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editorMode": [
|
||||||
|
"Hidden"
|
||||||
|
],
|
||||||
|
"initial": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"invalidElement": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"name": "MissingElement",
|
||||||
|
"preserved": true,
|
||||||
|
"result": -1
|
||||||
|
},
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"objectTypeId": "App::LinkGroupPython",
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkGroupPythonProbe",
|
||||||
|
"typeId": "App::LinkGroupPython"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkGroupPythonProbe",
|
||||||
|
"typeId": "App::LinkGroupPython"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"propertyTypeId": "App::PropertyBoolList",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 4,
|
||||||
|
"name": "property-boollist-link-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"edited": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"hideResult": 1,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"recoveryRecomputeResult": true,
|
||||||
|
"restored": true,
|
||||||
|
"stateAfterAbort": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"stateAfterRecovery": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusAfterAbort": "Touched",
|
||||||
|
"statusAfterRecovery": "Valid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directWrite": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Object attribute 'VisibilityList' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"preserved": true,
|
||||||
|
"requested": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editorMode": [
|
||||||
|
"Hidden"
|
||||||
|
],
|
||||||
|
"initial": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"invalidElement": {
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"name": "MissingElement",
|
||||||
|
"preserved": true,
|
||||||
|
"result": -1
|
||||||
|
},
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"objectTypeId": "App::LinkPython",
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkPythonProbe",
|
||||||
|
"typeId": "App::LinkPython"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "TargetA",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetB",
|
||||||
|
"typeId": "Part::Feature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TargetGroup",
|
||||||
|
"typeId": "App::DocumentObjectGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkPythonProbe",
|
||||||
|
"typeId": "App::LinkPython"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"propertyTypeId": "App::PropertyBoolList",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 5,
|
||||||
|
"name": "property-boollist-link-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"edited": [
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"hideResult": 1,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"recoveryRecomputeResult": true,
|
||||||
|
"restored": true,
|
||||||
|
"stateAfterAbort": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"stateAfterRecovery": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusAfterAbort": "Touched",
|
||||||
|
"statusAfterRecovery": "Valid"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"propertyType": "App::PropertyBoolList",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"writable": {
|
||||||
|
"acceptedCoercions": [
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "scalar-integer",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "bitstring",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "'10201'"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"disabled": {
|
||||||
|
"after": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"classification": "editor-read-only-and-python-immutable",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Object attribute 'BoolList' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": [
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"restoredEditorMode": [],
|
||||||
|
"restoredStatus": [],
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
"documentIntegrity": {
|
||||||
|
"finalObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true
|
||||||
|
},
|
||||||
|
"failures": [
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type in list must be bool or int, not NoneType",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "none",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "None",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type in list must be bool or int, not float",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "float-item",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "[True, 1.5]",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type in list must be bool or int, not str",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "string-item",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "[False, 'bad']",
|
||||||
|
"valuePreserved": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initial": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"object": {
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"name": "BoolList",
|
||||||
|
"typeId": "App::PropertyBoolList"
|
||||||
|
},
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "property-boollist-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"edited": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsRestored": true,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"restored": true,
|
||||||
|
"undoMode": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
190
config/freecad-property-boollist-inventory.json
Normal file
190
config/freecad-property-boollist-inventory.json
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyBoolList",
|
||||||
|
"recordCount": 7,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::FeatureTest",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "BoolList",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "boolean-list",
|
||||||
|
"writable": true,
|
||||||
|
"elementType": "bool",
|
||||||
|
"cardinality": "variable"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::FeatureTest",
|
||||||
|
"source": "Document.supportedTypes runtime inventory"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::FeatureTestException",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "BoolList",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "boolean-list",
|
||||||
|
"writable": true,
|
||||||
|
"elementType": "bool",
|
||||||
|
"cardinality": "variable"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::FeatureTestException",
|
||||||
|
"source": "Document.supportedTypes runtime inventory"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::Link",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "VisibilityList",
|
||||||
|
"group": " Link",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"defaultValue": [],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "boolean-list",
|
||||||
|
"writable": false,
|
||||||
|
"elementType": "bool",
|
||||||
|
"cardinality": "variable"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::Link",
|
||||||
|
"source": "Document.supportedTypes runtime inventory"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::LinkGroup",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "VisibilityList",
|
||||||
|
"group": " Link",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"defaultValue": [],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "boolean-list",
|
||||||
|
"writable": false,
|
||||||
|
"elementType": "bool",
|
||||||
|
"cardinality": "variable"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::LinkGroup",
|
||||||
|
"source": "Document.supportedTypes runtime inventory"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::LinkGroupPython",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "VisibilityList",
|
||||||
|
"group": " Link",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"defaultValue": [],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "boolean-list",
|
||||||
|
"writable": false,
|
||||||
|
"elementType": "bool",
|
||||||
|
"cardinality": "variable"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::LinkGroupPython",
|
||||||
|
"source": "Document.supportedTypes runtime inventory"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::LinkPython",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "VisibilityList",
|
||||||
|
"group": " Link",
|
||||||
|
"status": [
|
||||||
|
"Immutable",
|
||||||
|
"Hidden",
|
||||||
|
"LockDynamic"
|
||||||
|
],
|
||||||
|
"defaultValue": [],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "boolean-list",
|
||||||
|
"writable": false,
|
||||||
|
"elementType": "bool",
|
||||||
|
"cardinality": "variable"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::LinkPython",
|
||||||
|
"source": "Document.supportedTypes runtime inventory"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "Surface::GeomFillSurface",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "ReversedList",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "boolean-list",
|
||||||
|
"writable": true,
|
||||||
|
"elementType": "bool",
|
||||||
|
"cardinality": "variable"
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "Surface::GeomFillSurface",
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
||||||
1470
config/freecad-property-boollist-mutation.json
Normal file
1470
config/freecad-property-boollist-mutation.json
Normal file
File diff suppressed because it is too large
Load Diff
80
config/freecad-property-boollist-promotion.json
Normal file
80
config/freecad-property-boollist-promotion.json
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"taskId": "PROP-app-propertyboollist-I",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyBoolList",
|
||||||
|
"recordCount": 7,
|
||||||
|
"phaseEvidence": {
|
||||||
|
"A": [
|
||||||
|
"config/freecad-property-boollist-inventory.json",
|
||||||
|
"check:freecad-property-boollist-inventory"
|
||||||
|
],
|
||||||
|
"B": [
|
||||||
|
"config/freecad-property-boollist-success.json",
|
||||||
|
"check:freecad-property-boollist-success"
|
||||||
|
],
|
||||||
|
"C": [
|
||||||
|
"config/freecad-property-boollist-failure.json",
|
||||||
|
"check:freecad-property-boollist-failure"
|
||||||
|
],
|
||||||
|
"D": [
|
||||||
|
"config/freecad-property-boollist-mutation.json",
|
||||||
|
"check:freecad-property-boollist-mutation"
|
||||||
|
],
|
||||||
|
"E": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyBoolListFacade.test.ts",
|
||||||
|
"test:freecad-property-boollist-facade"
|
||||||
|
],
|
||||||
|
"F": [
|
||||||
|
"tests/propertyBoolListTransaction.test.ts",
|
||||||
|
"test:freecad-property-boollist-transaction"
|
||||||
|
],
|
||||||
|
"G": [
|
||||||
|
"config/freecad-property-boollist-roundtrip.json",
|
||||||
|
"check:freecad-property-boollist-roundtrip"
|
||||||
|
],
|
||||||
|
"H": [
|
||||||
|
"config/chrome-property-boollist-verification.json",
|
||||||
|
"check:chrome-property-boollist"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"promotion": {
|
||||||
|
"from": "opaque-fcstd-proxy",
|
||||||
|
"to": "native-editable-codec",
|
||||||
|
"facadeValueModel": "variable-boolean-array",
|
||||||
|
"writableRecords": 3,
|
||||||
|
"immutableHiddenRecords": 4,
|
||||||
|
"fcstdElement": "BoolList",
|
||||||
|
"nativeRoundTripValue": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"browserRoundTripValue": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
},
|
||||||
|
"exactBlockerSync": {
|
||||||
|
"nativeEditableTypes": 35,
|
||||||
|
"nativeEditableRecords": 4372,
|
||||||
|
"opaqueTypes": 45,
|
||||||
|
"opaqueRecords": 455,
|
||||||
|
"exactPromotionReady": false,
|
||||||
|
"exactBlocker": "45 runtime property types and 455 records remain opaque-only; complete native document and property semantics"
|
||||||
|
},
|
||||||
|
"systemExact": false,
|
||||||
|
"generatedAt": "2026-08-17T20:51:52.509Z"
|
||||||
|
}
|
||||||
137
config/freecad-property-boollist-roundtrip.json
Normal file
137
config/freecad-property-boollist-roundtrip.json
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baselineId": "freecad-1.1.1-property-boollist-roundtrip",
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"archives": {
|
||||||
|
"nativeInitial": {
|
||||||
|
"path": ".cache/freecad/property-boollist-roundtrip/native-initial.FCStd",
|
||||||
|
"bytes": 2508,
|
||||||
|
"sha256": "8522c2c4b77c177deb9f19be98ecb8367ee1b803e8da1ec752f1406c0cc87e8d"
|
||||||
|
},
|
||||||
|
"webEdited": {
|
||||||
|
"path": ".cache/freecad/property-boollist-roundtrip/web-edited.FCStd",
|
||||||
|
"bytes": 2326,
|
||||||
|
"sha256": "1e351de85a66dfa7946422387a035ac9b05b337842db453360a0b7296b69b2c5"
|
||||||
|
},
|
||||||
|
"nativeResaved": {
|
||||||
|
"path": ".cache/freecad/property-boollist-roundtrip/native-resaved.FCStd",
|
||||||
|
"bytes": 2508,
|
||||||
|
"sha256": "a496ce0e2c5f987c11515e53d3bc8ff8b52471b2087483e1ef123373ac508293"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nativeInitial": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyBoolList",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
false
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"web": {
|
||||||
|
"before": {
|
||||||
|
"name": "BoolList",
|
||||||
|
"typeId": "App::PropertyBoolList",
|
||||||
|
"element": "BoolList",
|
||||||
|
"value": "[false]"
|
||||||
|
},
|
||||||
|
"after": {
|
||||||
|
"name": "BoolList",
|
||||||
|
"typeId": "App::PropertyBoolList",
|
||||||
|
"element": "BoolList",
|
||||||
|
"value": "[true,false,true,false]"
|
||||||
|
},
|
||||||
|
"objectSetPreserved": true,
|
||||||
|
"semanticObjectsPreserved": true,
|
||||||
|
"opaquePathsPreserved": 4,
|
||||||
|
"opaqueEntriesPreserved": true
|
||||||
|
},
|
||||||
|
"nativeAfter": {
|
||||||
|
"reopened": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyBoolList",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"resaved": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyBoolList",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "BoolListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"webValue": "[true,false,true,false]",
|
||||||
|
"reopenedValue": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"resavedValue": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"nativeOutputMatches": true,
|
||||||
|
"unknownSemanticDrift": false,
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
}
|
||||||
|
}
|
||||||
1683
config/freecad-property-boollist-success.json
Normal file
1683
config/freecad-property-boollist-success.json
Normal file
File diff suppressed because it is too large
Load Diff
639
config/freecad-property-color-failure.json
Normal file
639
config/freecad-property-color-failure.json
Normal file
@@ -0,0 +1,639 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-color-failure",
|
||||||
|
"cancellationBoundary": {
|
||||||
|
"classification": "synchronous-property-setter",
|
||||||
|
"reason": "no-native-cancel-hook",
|
||||||
|
"replacement": "abort-active-document-transaction",
|
||||||
|
"supported": false
|
||||||
|
},
|
||||||
|
"coercions": [
|
||||||
|
{
|
||||||
|
"accepted": true,
|
||||||
|
"after": [
|
||||||
|
2.0,
|
||||||
|
-1.0,
|
||||||
|
0.5,
|
||||||
|
1.5
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "float-out-of-range",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "(2.0, -1.0, 0.5, 1.5)",
|
||||||
|
"valuePreserved": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accepted": true,
|
||||||
|
"after": [
|
||||||
|
-0.003921569,
|
||||||
|
1.003921628,
|
||||||
|
2.003921509,
|
||||||
|
-1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "integer-out-of-range",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "(-1, 256, 511, -255)",
|
||||||
|
"valuePreserved": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accepted": true,
|
||||||
|
"after": [
|
||||||
|
0.003921569,
|
||||||
|
0.0,
|
||||||
|
0.003921569,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "boolean-tuple",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "(True, False, True, False)",
|
||||||
|
"valuePreserved": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accepted": true,
|
||||||
|
"after": [
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "packed-max",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "4294967295",
|
||||||
|
"valuePreserved": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accepted": true,
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "packed-wrap",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "4294967296",
|
||||||
|
"valuePreserved": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accepted": true,
|
||||||
|
"after": [
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": null,
|
||||||
|
"id": "packed-negative",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"requested": "-1",
|
||||||
|
"valuePreserved": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"disabled": {
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"classification": "editor-readonly-python-mutable-until-immutable",
|
||||||
|
"editorMode": [
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"editorReadOnlyAfter": [
|
||||||
|
0.200000003,
|
||||||
|
0.300000012,
|
||||||
|
0.400000006,
|
||||||
|
0.5
|
||||||
|
],
|
||||||
|
"editorReadOnlyException": null,
|
||||||
|
"editorReadOnlyRequested": [
|
||||||
|
0.2,
|
||||||
|
0.3,
|
||||||
|
0.4,
|
||||||
|
0.5
|
||||||
|
],
|
||||||
|
"immutableAfter": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"immutableException": {
|
||||||
|
"message": "Object attribute 'Colour' is read-only",
|
||||||
|
"type": "AttributeError"
|
||||||
|
},
|
||||||
|
"immutableRequested": [
|
||||||
|
0.6,
|
||||||
|
0.7,
|
||||||
|
0.8,
|
||||||
|
0.9
|
||||||
|
],
|
||||||
|
"immutableStatus": [
|
||||||
|
"Immutable",
|
||||||
|
"ReadOnly"
|
||||||
|
],
|
||||||
|
"immutableValuePreserved": true,
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"pythonBypassesEditorReadOnly": true,
|
||||||
|
"restoredEditorMode": [],
|
||||||
|
"restoredStatus": []
|
||||||
|
},
|
||||||
|
"documentIntegrity": {
|
||||||
|
"finalObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsPreserved": true
|
||||||
|
},
|
||||||
|
"failures": [
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type must be integer or tuple of float or tuple integer, not NoneType",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "none",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "None",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type must be integer or tuple of float or tuple integer, not list",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "list",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "[0.1, 0.2, 0.3]",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type must be integer or tuple of float or tuple integer, not tuple",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "short-tuple",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "(0.1, 0.2)",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type must be integer or tuple of float or tuple integer, not tuple",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "long-tuple",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "(0.1, 0.2, 0.3, 0.4, 0.5)",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Type in tuple must be float or integer",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "string-first",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "('bad', 0.2, 0.3)",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Type in tuple must be consistent (float)",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "mixed-after-float",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "(0.1, 2, 0.3)",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "Type in tuple must be consistent (integer)",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "mixed-after-integer",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "(1, 0.2, 3)",
|
||||||
|
"valuePreserved": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"after": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"beforeObjects": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exception": {
|
||||||
|
"message": "type must be integer or tuple of float or tuple integer, not float",
|
||||||
|
"type": "TypeError"
|
||||||
|
},
|
||||||
|
"id": "scalar-float",
|
||||||
|
"objectsPreserved": true,
|
||||||
|
"polluted": false,
|
||||||
|
"requested": "0.5",
|
||||||
|
"valuePreserved": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"initial": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"object": {
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
},
|
||||||
|
"property": {
|
||||||
|
"name": "Colour",
|
||||||
|
"typeId": "App::PropertyColor"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyColor",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"transaction": {
|
||||||
|
"activeAfterAbort": {
|
||||||
|
"id": 0,
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
"activeAfterEdit": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "property-color-cancel"
|
||||||
|
},
|
||||||
|
"afterAbort": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"afterRecompute": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"before": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"edited": [
|
||||||
|
0.75,
|
||||||
|
0.5,
|
||||||
|
0.25,
|
||||||
|
0.125
|
||||||
|
],
|
||||||
|
"objectsAfter": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsBefore": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectsRestored": true,
|
||||||
|
"pendingAfterAbort": false,
|
||||||
|
"pendingAfterEdit": true,
|
||||||
|
"recoveryRecomputeResult": true,
|
||||||
|
"restored": true,
|
||||||
|
"stateAfterAbort": {
|
||||||
|
"state": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"statusString": "Touched"
|
||||||
|
},
|
||||||
|
"stateAfterEdit": {
|
||||||
|
"state": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"statusString": "Touched"
|
||||||
|
},
|
||||||
|
"stateAfterRecompute": {
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid"
|
||||||
|
},
|
||||||
|
"undoMode": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
523
config/freecad-property-color-inventory.json
Normal file
523
config/freecad-property-color-inventory.json
Normal file
@@ -0,0 +1,523 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyColor",
|
||||||
|
"recordCount": 8,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::FeatureTest",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Colour",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::FeatureTest",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::FeatureTestException",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Colour",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::FeatureTestException",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::Part",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Color",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::Part",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "Assembly::AssemblyLink",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Color",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "Assembly::AssemblyLink",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "Assembly::AssemblyObject",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Color",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "Assembly::AssemblyObject",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "TechDraw::DrawViewAnnotation",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "TextColor",
|
||||||
|
"group": "Annotation",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "TechDraw::DrawViewAnnotation",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "TechDraw::DrawViewDraft",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Color",
|
||||||
|
"group": "Draft view",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "TechDraw::DrawViewDraft",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "TechDraw::DrawViewSpreadsheet",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "TextColor",
|
||||||
|
"group": "Spreadsheet",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "rgba-color",
|
||||||
|
"channels": [
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"alpha"
|
||||||
|
],
|
||||||
|
"canonicalRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"kind": "float-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "integer-tuple",
|
||||||
|
"cardinality": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"componentsMustHaveSameType": true,
|
||||||
|
"normalizationDivisor": 255,
|
||||||
|
"omittedAlpha": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "packed-integer",
|
||||||
|
"encoding": "0xRRGGBBAA"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "TechDraw::DrawViewSpreadsheet",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"storage": {
|
||||||
|
"xmlElement": "PropertyColor",
|
||||||
|
"attribute": "value",
|
||||||
|
"encoding": "unsigned-decimal-packed-0xRRGGBBAA",
|
||||||
|
"legacyBeforeVersion": "1.1",
|
||||||
|
"legacyConversion": "invert-alpha-byte"
|
||||||
|
},
|
||||||
|
"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/Base/Color.h",
|
||||||
|
"bytes": 8885,
|
||||||
|
"sha256": "4d4630c87209f0df85db30608026fc4389936719a301136c3eb389f0e48bf864"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Base/Color.cpp",
|
||||||
|
"bytes": 5857,
|
||||||
|
"sha256": "19f55140ccc547a194fcf49b090a7648089e4ea1ee0406d4f0a591dd5abc6d7c"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"classification": "opaque-fcstd-proxy",
|
||||||
|
"nextPhases": [
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"D",
|
||||||
|
"E",
|
||||||
|
"F",
|
||||||
|
"G",
|
||||||
|
"H",
|
||||||
|
"I"
|
||||||
|
]
|
||||||
|
}
|
||||||
1668
config/freecad-property-color-mutation.json
Normal file
1668
config/freecad-property-color-mutation.json
Normal file
File diff suppressed because it is too large
Load Diff
80
config/freecad-property-color-promotion.json
Normal file
80
config/freecad-property-color-promotion.json
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"taskId": "PROP-app-propertycolor-I",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyColor",
|
||||||
|
"recordCount": 8,
|
||||||
|
"phaseEvidence": {
|
||||||
|
"A": [
|
||||||
|
"config/freecad-property-color-inventory.json",
|
||||||
|
"check:freecad-property-color-inventory"
|
||||||
|
],
|
||||||
|
"B": [
|
||||||
|
"config/freecad-property-color-success.json",
|
||||||
|
"check:freecad-property-color-success"
|
||||||
|
],
|
||||||
|
"C": [
|
||||||
|
"config/freecad-property-color-failure.json",
|
||||||
|
"check:freecad-property-color-failure"
|
||||||
|
],
|
||||||
|
"D": [
|
||||||
|
"config/freecad-property-color-mutation.json",
|
||||||
|
"check:freecad-property-color-mutation"
|
||||||
|
],
|
||||||
|
"E": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyColorFacade.test.ts",
|
||||||
|
"test:freecad-property-color-facade"
|
||||||
|
],
|
||||||
|
"F": [
|
||||||
|
"tests/propertyColorTransaction.test.ts",
|
||||||
|
"test:freecad-property-color-transaction"
|
||||||
|
],
|
||||||
|
"G": [
|
||||||
|
"config/freecad-property-color-roundtrip.json",
|
||||||
|
"check:freecad-property-color-roundtrip"
|
||||||
|
],
|
||||||
|
"H": [
|
||||||
|
"config/chrome-property-color-verification.json",
|
||||||
|
"check:chrome-property-color"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"promotion": {
|
||||||
|
"from": "opaque-fcstd-proxy",
|
||||||
|
"to": "native-editable-codec",
|
||||||
|
"facadeValueModel": "four-finite-rgba-channels-with-8-bit-fcstd-packing",
|
||||||
|
"writableRecords": 8,
|
||||||
|
"fcstdElement": "PropertyColor",
|
||||||
|
"fcstdPackedValue": "862362060",
|
||||||
|
"nativeRoundTripValue": [
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
"browserRoundTripValue": [
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
},
|
||||||
|
"exactBlockerSync": {
|
||||||
|
"nativeEditableTypes": 35,
|
||||||
|
"nativeEditableRecords": 4372,
|
||||||
|
"opaqueTypes": 45,
|
||||||
|
"opaqueRecords": 455,
|
||||||
|
"exactPromotionReady": false,
|
||||||
|
"exactBlocker": "45 runtime property types and 455 records remain opaque-only; complete native document and property semantics"
|
||||||
|
},
|
||||||
|
"systemExact": false,
|
||||||
|
"generatedAt": "2026-08-17T20:51:52.509Z"
|
||||||
|
}
|
||||||
146
config/freecad-property-color-roundtrip.json
Normal file
146
config/freecad-property-color-roundtrip.json
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baselineId": "freecad-1.1.1-property-color-roundtrip",
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"archives": {
|
||||||
|
"nativeInitial": {
|
||||||
|
"path": ".cache/freecad/property-color-roundtrip/native-initial.FCStd",
|
||||||
|
"bytes": 2508,
|
||||||
|
"sha256": "93d6c2b60ffdd65f10bd4ca13e5dfcedf19c3a1b2c452d1e6a087e99be259c85"
|
||||||
|
},
|
||||||
|
"webEdited": {
|
||||||
|
"path": ".cache/freecad/property-color-roundtrip/web-edited.FCStd",
|
||||||
|
"bytes": 2324,
|
||||||
|
"sha256": "0572127ba788503c7c2bbe8d2b0f1ae1796fb5946ddc6c3610d8d6b15fbba37d"
|
||||||
|
},
|
||||||
|
"nativeResaved": {
|
||||||
|
"path": ".cache/freecad/property-color-roundtrip/native-resaved.FCStd",
|
||||||
|
"bytes": 2505,
|
||||||
|
"sha256": "e665faea155fb2d1aaa6a7c02bb07a060280098d4a92f52f568b8e37b5c3249d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nativeInitial": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColor",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"web": {
|
||||||
|
"before": {
|
||||||
|
"name": "Colour",
|
||||||
|
"typeId": "App::PropertyColor",
|
||||||
|
"element": "PropertyColor",
|
||||||
|
"value": "287454020"
|
||||||
|
},
|
||||||
|
"after": {
|
||||||
|
"name": "Colour",
|
||||||
|
"typeId": "App::PropertyColor",
|
||||||
|
"element": "PropertyColor",
|
||||||
|
"value": "862362060"
|
||||||
|
},
|
||||||
|
"objectSetPreserved": true,
|
||||||
|
"semanticObjectsPreserved": true,
|
||||||
|
"opaquePathsPreserved": 4,
|
||||||
|
"opaqueEntriesPreserved": true
|
||||||
|
},
|
||||||
|
"nativeAfter": {
|
||||||
|
"reopened": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColor",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"resaved": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColor",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "ColorProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"requestedValue": [
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
"webValue": "862362060",
|
||||||
|
"reopenedValue": [
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
"resavedValue": [
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
"nativeOutputMatches": true,
|
||||||
|
"unknownSemanticDrift": false,
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
}
|
||||||
|
}
|
||||||
2884
config/freecad-property-color-success.json
Normal file
2884
config/freecad-property-color-success.json
Normal file
File diff suppressed because it is too large
Load Diff
1104
config/freecad-property-colorlist-failure.json
Normal file
1104
config/freecad-property-colorlist-failure.json
Normal file
File diff suppressed because it is too large
Load Diff
174
config/freecad-property-colorlist-inventory.json
Normal file
174
config/freecad-property-colorlist-inventory.json
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyColorList",
|
||||||
|
"recordCount": 2,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::FeatureTest",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "ColourList",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "ordered-rgba-color-list",
|
||||||
|
"elementRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedElementRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": {
|
||||||
|
"collection": [
|
||||||
|
"sequence",
|
||||||
|
"iterable",
|
||||||
|
"single-tuple-color-value",
|
||||||
|
"single-non-sequence-color-value",
|
||||||
|
"integer-index-dictionary"
|
||||||
|
],
|
||||||
|
"dictionaryAppendIndexes": [
|
||||||
|
-1,
|
||||||
|
"current-size"
|
||||||
|
],
|
||||||
|
"elementSetters": [
|
||||||
|
"float-tuple-3-or-4",
|
||||||
|
"integer-tuple-3-or-4",
|
||||||
|
"packed-integer-0xRRGGBBAA"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::FeatureTest",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "App::FeatureTestException",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "ColourList",
|
||||||
|
"group": "",
|
||||||
|
"status": [],
|
||||||
|
"defaultValue": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "ordered-rgba-color-list",
|
||||||
|
"elementRepresentation": "four-channel-float-tuple",
|
||||||
|
"packedElementRepresentation": "0xRRGGBBAA",
|
||||||
|
"alphaSemantics": "1-opaque-0-transparent",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": {
|
||||||
|
"collection": [
|
||||||
|
"sequence",
|
||||||
|
"iterable",
|
||||||
|
"single-tuple-color-value",
|
||||||
|
"single-non-sequence-color-value",
|
||||||
|
"integer-index-dictionary"
|
||||||
|
],
|
||||||
|
"dictionaryAppendIndexes": [
|
||||||
|
-1,
|
||||||
|
"current-size"
|
||||||
|
],
|
||||||
|
"elementSetters": [
|
||||||
|
"float-tuple-3-or-4",
|
||||||
|
"integer-tuple-3-or-4",
|
||||||
|
"packed-integer-0xRRGGBBAA"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dependencies": [],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "App::FeatureTestException",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"shapeRequired": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"storage": {
|
||||||
|
"xmlElement": "ColorList",
|
||||||
|
"fileAttribute": "file",
|
||||||
|
"nonEmptyExternalResourceName": "property-name",
|
||||||
|
"emptyResourceName": "",
|
||||||
|
"externalBinary": {
|
||||||
|
"byteOrder": "little-endian",
|
||||||
|
"count": "uint32",
|
||||||
|
"element": "uint32-packed-0xRRGGBBAA"
|
||||||
|
},
|
||||||
|
"legacyBeforeVersion": "1.1",
|
||||||
|
"legacyConversion": "invert-alpha-channel"
|
||||||
|
},
|
||||||
|
"provenance": {
|
||||||
|
"runtime": {
|
||||||
|
"path": ".cache/freecad/reference-desktop.json",
|
||||||
|
"bytes": 2298709,
|
||||||
|
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/App/Property.h",
|
||||||
|
"bytes": 38213,
|
||||||
|
"sha256": "a1e7320ff880133a2131db148dc6c87659de5c765387c2d41995c9650f12d8b6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/App/Property.cpp",
|
||||||
|
"bytes": 12499,
|
||||||
|
"sha256": "7d229c0a781694f3c507afbdaae25c8ee7f316088ce25e8e487bb7112bff5c70"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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/Base/Color.h",
|
||||||
|
"bytes": 8885,
|
||||||
|
"sha256": "4d4630c87209f0df85db30608026fc4389936719a301136c3eb389f0e48bf864"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Base/Stream.h",
|
||||||
|
"bytes": 19302,
|
||||||
|
"sha256": "6e38309e26a986c4d6c6c09a78815c6e854ee40b9057590f992fc321525e4203"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Base/Stream.cpp",
|
||||||
|
"bytes": 22807,
|
||||||
|
"sha256": "52762550a00e94b737ebd866e6d649828a4517d143a1f0313844f57b7affa577"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"classification": "opaque-fcstd-proxy",
|
||||||
|
"nextPhases": [
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"D",
|
||||||
|
"E",
|
||||||
|
"F",
|
||||||
|
"G",
|
||||||
|
"H",
|
||||||
|
"I"
|
||||||
|
]
|
||||||
|
}
|
||||||
418
config/freecad-property-colorlist-mutation.json
Normal file
418
config/freecad-property-colorlist-mutation.json
Normal file
@@ -0,0 +1,418 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-property-colorlist-mutation",
|
||||||
|
"caseCount": 2,
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"before": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestColorListMutation",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editRecomputeResult": true,
|
||||||
|
"edited": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestColorListMutation",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.125,
|
||||||
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.875
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.501960814,
|
||||||
|
0.250980407
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"hostExecution": "normal",
|
||||||
|
"mutationDetected": true,
|
||||||
|
"objectName": "FeatureTestColorListMutation",
|
||||||
|
"objectTypeId": "App::FeatureTest",
|
||||||
|
"propertyName": "ColourList",
|
||||||
|
"restoreRecomputeResult": true,
|
||||||
|
"restored": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestColorListMutation",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"restoredExactly": true,
|
||||||
|
"target": [
|
||||||
|
[
|
||||||
|
0.125,
|
||||||
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.875
|
||||||
|
],
|
||||||
|
287454020,
|
||||||
|
[
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
128,
|
||||||
|
64
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"touchedAfterEdit": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestColorListMutation",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "Touched",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.125,
|
||||||
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.875
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.501960814,
|
||||||
|
0.250980407
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"touchedAfterRestore": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestColorListMutation",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "Touched",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"before": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestExceptionColorListMutation",
|
||||||
|
"typeId": "App::FeatureTestException"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "Valid",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editRecomputeResult": true,
|
||||||
|
"edited": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestExceptionColorListMutation",
|
||||||
|
"typeId": "App::FeatureTestException"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "FeatureTestException::execute(): Testexception ;-)",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.125,
|
||||||
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.875
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.501960814,
|
||||||
|
0.250980407
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"hostExecution": "intrinsic-test-exception",
|
||||||
|
"mutationDetected": true,
|
||||||
|
"objectName": "FeatureTestExceptionColorListMutation",
|
||||||
|
"objectTypeId": "App::FeatureTestException",
|
||||||
|
"propertyName": "ColourList",
|
||||||
|
"restoreRecomputeResult": true,
|
||||||
|
"restored": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestExceptionColorListMutation",
|
||||||
|
"typeId": "App::FeatureTestException"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "FeatureTestException::execute(): Testexception ;-)",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"restoredExactly": true,
|
||||||
|
"target": [
|
||||||
|
[
|
||||||
|
0.125,
|
||||||
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.875
|
||||||
|
],
|
||||||
|
287454020,
|
||||||
|
[
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
128,
|
||||||
|
64
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"touchedAfterEdit": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestExceptionColorListMutation",
|
||||||
|
"typeId": "App::FeatureTestException"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Touched"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "Touched",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.125,
|
||||||
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.875
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.501960814,
|
||||||
|
0.250980407
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"touchedAfterRestore": {
|
||||||
|
"editorMode": [],
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "FeatureTestExceptionColorListMutation",
|
||||||
|
"typeId": "App::FeatureTestException"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"objectState": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"shape": {
|
||||||
|
"applicable": false,
|
||||||
|
"reason": "host-has-no-shape-property"
|
||||||
|
},
|
||||||
|
"statusString": "FeatureTestException::execute(): Testexception ;-)",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"propertyType": "App::PropertyColorList",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass"
|
||||||
|
}
|
||||||
97
config/freecad-property-colorlist-promotion.json
Normal file
97
config/freecad-property-colorlist-promotion.json
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"taskId": "PROP-app-propertycolorlist-I",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyColorList",
|
||||||
|
"recordCount": 2,
|
||||||
|
"phaseEvidence": {
|
||||||
|
"A": [
|
||||||
|
"config/freecad-property-colorlist-inventory.json",
|
||||||
|
"check:freecad-property-colorlist-inventory"
|
||||||
|
],
|
||||||
|
"B": [
|
||||||
|
"config/freecad-property-colorlist-success.json",
|
||||||
|
"check:freecad-property-colorlist-success"
|
||||||
|
],
|
||||||
|
"C": [
|
||||||
|
"config/freecad-property-colorlist-failure.json",
|
||||||
|
"check:freecad-property-colorlist-failure"
|
||||||
|
],
|
||||||
|
"D": [
|
||||||
|
"config/freecad-property-colorlist-mutation.json",
|
||||||
|
"check:freecad-property-colorlist-mutation"
|
||||||
|
],
|
||||||
|
"E": [
|
||||||
|
"src/facade/types.ts",
|
||||||
|
"src/facade/fcstd.ts",
|
||||||
|
"src/facade/mockFacade.ts",
|
||||||
|
"src/App.tsx",
|
||||||
|
"tests/propertyColorListFacade.test.ts",
|
||||||
|
"test:freecad-property-colorlist-facade"
|
||||||
|
],
|
||||||
|
"F": [
|
||||||
|
"tests/propertyColorListTransaction.test.ts",
|
||||||
|
"test:freecad-property-colorlist-transaction"
|
||||||
|
],
|
||||||
|
"G": [
|
||||||
|
"config/freecad-property-colorlist-roundtrip.json",
|
||||||
|
"check:freecad-property-colorlist-roundtrip"
|
||||||
|
],
|
||||||
|
"H": [
|
||||||
|
"config/chrome-property-colorlist-verification.json",
|
||||||
|
"check:chrome-property-colorlist"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"promotion": {
|
||||||
|
"from": "opaque-fcstd-proxy",
|
||||||
|
"to": "native-editable-codec",
|
||||||
|
"facadeValueModel": "ordered-variable-rgba-array-with-external-8-bit-fcstd-packing",
|
||||||
|
"writableRecords": 2,
|
||||||
|
"fcstdElement": "ColorList",
|
||||||
|
"fcstdResourcePath": "ColourList",
|
||||||
|
"fcstdResourceBytes": 12,
|
||||||
|
"nativeRoundTripValue": [
|
||||||
|
[
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"browserRoundTripValue": [
|
||||||
|
[
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666666666666667,
|
||||||
|
0.13333333333333333,
|
||||||
|
0.2,
|
||||||
|
0.4
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
},
|
||||||
|
"exactBlockerSync": {
|
||||||
|
"nativeEditableTypes": 35,
|
||||||
|
"nativeEditableRecords": 4372,
|
||||||
|
"opaqueTypes": 45,
|
||||||
|
"opaqueRecords": 455,
|
||||||
|
"exactPromotionReady": false,
|
||||||
|
"exactBlocker": "45 runtime property types and 455 records remain opaque-only; complete native document and property semantics"
|
||||||
|
},
|
||||||
|
"systemExact": false,
|
||||||
|
"generatedAt": "2026-08-17T20:51:52.481Z"
|
||||||
|
}
|
||||||
198
config/freecad-property-colorlist-roundtrip.json
Normal file
198
config/freecad-property-colorlist-roundtrip.json
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baselineId": "freecad-1.1.1-property-colorlist-roundtrip",
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"propertyType": "App::PropertyColorList",
|
||||||
|
"archives": {
|
||||||
|
"nativeInitial": {
|
||||||
|
"path": ".cache/freecad/property-colorlist-roundtrip/native-initial.FCStd",
|
||||||
|
"bytes": 2510,
|
||||||
|
"sha256": "e4df2d68ecaae973613b1c8026e98502d69fc961943619fbb1624926f3b2e0af"
|
||||||
|
},
|
||||||
|
"webEdited": {
|
||||||
|
"path": ".cache/freecad/property-colorlist-roundtrip/web-edited.FCStd",
|
||||||
|
"bytes": 2330,
|
||||||
|
"sha256": "1efb3343cf3c9eb3e3f843287fdab2890727a631aff8ea574b60eeaf955181ca"
|
||||||
|
},
|
||||||
|
"nativeResaved": {
|
||||||
|
"path": ".cache/freecad/property-colorlist-roundtrip/native-resaved.FCStd",
|
||||||
|
"bytes": 2511,
|
||||||
|
"sha256": "0b14d095c2ecf85a19c588bf2b55bddea64f64a99f686fc2e837b98a2454a13f"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nativeInitial": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "ColorListProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "ColorListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"web": {
|
||||||
|
"before": {
|
||||||
|
"name": "ColourList",
|
||||||
|
"typeId": "App::PropertyColorList",
|
||||||
|
"element": "ColorList",
|
||||||
|
"value": "[[0.06666666666666667,0.13333333333333333,0.2,0.26666666666666666]]",
|
||||||
|
"resourcePath": "ColourList"
|
||||||
|
},
|
||||||
|
"after": {
|
||||||
|
"name": "ColourList",
|
||||||
|
"typeId": "App::PropertyColorList",
|
||||||
|
"element": "ColorList",
|
||||||
|
"value": "[[0.2,0.4,0.6,0.8],[0.06666666666666667,0.13333333333333333,0.2,0.26666666666666666]]",
|
||||||
|
"resourcePath": "ColourList"
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"path": "ColourList",
|
||||||
|
"pathPreserved": true,
|
||||||
|
"beforeBytes": 8,
|
||||||
|
"afterBytes": 12,
|
||||||
|
"changed": true
|
||||||
|
},
|
||||||
|
"objectSetPreserved": true,
|
||||||
|
"semanticObjectsPreserved": true,
|
||||||
|
"opaquePathsPreserved": 3,
|
||||||
|
"opaqueEntriesPreserved": true
|
||||||
|
},
|
||||||
|
"nativeAfter": {
|
||||||
|
"reopened": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "ColorListProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "ColorListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"resaved": {
|
||||||
|
"object": {
|
||||||
|
"editorMode": [],
|
||||||
|
"hasShapeProperty": false,
|
||||||
|
"name": "ColorListProbe",
|
||||||
|
"propertyStatus": [],
|
||||||
|
"propertyTypeId": "App::PropertyColorList",
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "App::FeatureTest",
|
||||||
|
"value": [
|
||||||
|
[
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"objectSet": [
|
||||||
|
{
|
||||||
|
"name": "ColorListProbe",
|
||||||
|
"typeId": "App::FeatureTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"requestedValue": [
|
||||||
|
[
|
||||||
|
0.2,
|
||||||
|
0.4,
|
||||||
|
0.6,
|
||||||
|
0.8
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666666666666667,
|
||||||
|
0.13333333333333333,
|
||||||
|
0.2,
|
||||||
|
0.26666666666666666
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"webValue": "[[0.2,0.4,0.6,0.8],[0.06666666666666667,0.13333333333333333,0.2,0.26666666666666666]]",
|
||||||
|
"reopenedValue": [
|
||||||
|
[
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"resavedValue": [
|
||||||
|
[
|
||||||
|
0.200000003,
|
||||||
|
0.400000006,
|
||||||
|
0.600000024,
|
||||||
|
0.800000012
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.06666667,
|
||||||
|
0.13333334,
|
||||||
|
0.200000003,
|
||||||
|
0.266666681
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"nativeOutputMatches": true,
|
||||||
|
"unknownSemanticDrift": false,
|
||||||
|
"zeroUnknownDrift": true
|
||||||
|
}
|
||||||
|
}
|
||||||
3677
config/freecad-property-colorlist-success.json
Normal file
3677
config/freecad-property-colorlist-success.json
Normal file
File diff suppressed because it is too large
Load Diff
1321
config/freecad-property-direction-failure.json
Normal file
1321
config/freecad-property-direction-failure.json
Normal file
File diff suppressed because it is too large
Load Diff
201
config/freecad-property-direction-inventory.json
Normal file
201
config/freecad-property-direction-inventory.json
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"propertyType": "App::PropertyDirection",
|
||||||
|
"recordCount": 2,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"objectTypeId": "Part::Mirroring",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Normal",
|
||||||
|
"group": "Plane",
|
||||||
|
"status": [],
|
||||||
|
"defaultDisplayValue": "Vector (0.0, 0.0, 1.0)",
|
||||||
|
"defaultValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "three-component-direction-vector",
|
||||||
|
"representation": "Base::Vector3d",
|
||||||
|
"normalizationAtPropertyBoundary": "none",
|
||||||
|
"unit": "Length",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": {
|
||||||
|
"accepted": [
|
||||||
|
"Base.Vector",
|
||||||
|
"tuple-of-three-float-or-integer-components"
|
||||||
|
],
|
||||||
|
"listAccepted": false,
|
||||||
|
"componentPaths": [
|
||||||
|
"x",
|
||||||
|
"y",
|
||||||
|
"z"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editor": "Gui::PropertyEditor::PropertyDirectionItem",
|
||||||
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"propertyName": "Source",
|
||||||
|
"role": "shape-source",
|
||||||
|
"requiredForExecution": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"propertyName": "Base",
|
||||||
|
"role": "plane-origin",
|
||||||
|
"requiredForExecution": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"propertyName": "MirrorPlane",
|
||||||
|
"role": "optional-plane-override",
|
||||||
|
"requiredForExecution": false,
|
||||||
|
"overrides": [
|
||||||
|
"Base",
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"overriddenStatus": "ReadOnly"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "Part::Mirroring",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"propertyWriteRequiresShape": false,
|
||||||
|
"hostExecutionRequiresShapeInputs": true,
|
||||||
|
"nonZeroRequiredByConsumer": true,
|
||||||
|
"consumer": "gp_Ax2(gp_Pnt(Base), gp_Dir(Normal))"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectTypeId": "Part::ProjectOnSurface",
|
||||||
|
"objectAvailable": true,
|
||||||
|
"probeStatus": "available",
|
||||||
|
"propertyName": "Direction",
|
||||||
|
"group": "Projection",
|
||||||
|
"status": [],
|
||||||
|
"defaultDisplayValue": "Vector (0.0, 0.0, 1.0)",
|
||||||
|
"defaultValue": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"valueModel": {
|
||||||
|
"kind": "three-component-direction-vector",
|
||||||
|
"representation": "Base::Vector3d",
|
||||||
|
"normalizationAtPropertyBoundary": "none",
|
||||||
|
"unit": "Length",
|
||||||
|
"writable": true
|
||||||
|
},
|
||||||
|
"inputs": {
|
||||||
|
"accepted": [
|
||||||
|
"Base.Vector",
|
||||||
|
"tuple-of-three-float-or-integer-components"
|
||||||
|
],
|
||||||
|
"listAccepted": false,
|
||||||
|
"componentPaths": [
|
||||||
|
"x",
|
||||||
|
"y",
|
||||||
|
"z"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editor": "Gui::PropertyEditor::PropertyDirectionItem",
|
||||||
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"propertyName": "SupportFace",
|
||||||
|
"role": "single-support-face",
|
||||||
|
"requiredForExecution": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"propertyName": "Projection",
|
||||||
|
"role": "projected-shape-list",
|
||||||
|
"requiredForExecution": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"applicability": {
|
||||||
|
"requiredObjectTypeId": "Part::ProjectOnSurface",
|
||||||
|
"source": "Document.supportedTypes runtime inventory",
|
||||||
|
"propertyWriteRequiresShape": false,
|
||||||
|
"hostExecutionRequiresShapeInputs": true,
|
||||||
|
"nonZeroRequiredByConsumer": true,
|
||||||
|
"consumer": "gp_Dir(Direction)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"storage": {
|
||||||
|
"inheritedFrom": "App::PropertyVector",
|
||||||
|
"xmlElement": "PropertyVector",
|
||||||
|
"attributes": [
|
||||||
|
"valueX",
|
||||||
|
"valueY",
|
||||||
|
"valueZ"
|
||||||
|
],
|
||||||
|
"scalarEncoding": "decimal-double",
|
||||||
|
"externalResource": false
|
||||||
|
},
|
||||||
|
"provenance": {
|
||||||
|
"runtime": {
|
||||||
|
"path": ".cache/freecad/reference-desktop.json",
|
||||||
|
"bytes": 2298709,
|
||||||
|
"sha256": "082400ec7379e8efc2af16709032d45890d7092277967b714acb05761fd1c2a7"
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/App/PropertyGeo.h",
|
||||||
|
"bytes": 15791,
|
||||||
|
"sha256": "641182ca1267b318af377b9d1cf22a9cc0c365939866bafc8e5b51dc26d9a928"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/App/PropertyGeo.cpp",
|
||||||
|
"bytes": 43128,
|
||||||
|
"sha256": "9e1553f42f8c537c8aee4d64d3bd06d4b8be0abc93e7b258901ee543fc52c553"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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/Part/App/FeatureMirroring.h",
|
||||||
|
"bytes": 2808,
|
||||||
|
"sha256": "f1d4bab8dccf115d1d81791afea90c4ac12768a0b07ce3cfcfc08718e1158876"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Mod/Part/App/FeatureMirroring.cpp",
|
||||||
|
"bytes": 14307,
|
||||||
|
"sha256": "ce26935b3326ff5ddaf5a6e67ac5a7c52c03c1e6adf2e4f37b162fc6b755830e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Mod/Part/App/FeatureProjectOnSurface.h",
|
||||||
|
"bytes": 4249,
|
||||||
|
"sha256": "79a3a3126d696d43f29a12802df9c006bc29f4a8ac9b2fa4619806e57691435d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".cache/freecad/FreeCAD/src/Mod/Part/App/FeatureProjectOnSurface.cpp",
|
||||||
|
"bytes": 16425,
|
||||||
|
"sha256": "19b4edfdb60d219aa2c120e7a90b390ca3cda438ed0bff72f43fa8ed09d3e5ed"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"classification": "opaque-fcstd-proxy",
|
||||||
|
"nextPhases": [
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"D",
|
||||||
|
"E",
|
||||||
|
"F",
|
||||||
|
"G",
|
||||||
|
"H",
|
||||||
|
"I"
|
||||||
|
]
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user