feat: establish reproducible FreeCAD web compatibility baseline
This commit is contained in:
7
.gitignore
vendored
7
.gitignore
vendored
@@ -3,6 +3,13 @@ dist/
|
|||||||
.vite/
|
.vite/
|
||||||
.runtime/
|
.runtime/
|
||||||
.cache/
|
.cache/
|
||||||
|
.secrets/
|
||||||
|
# Reproducible upstream source/build worktrees. Their revisions and artifact
|
||||||
|
# hashes are recorded under config/ and fetched by the build scripts.
|
||||||
|
CAMotics/
|
||||||
|
OpenCAMLib/
|
||||||
|
cnc_wams_gpt6/
|
||||||
|
working_ocl/
|
||||||
native/occt-history/dist/
|
native/occt-history/dist/
|
||||||
public/native/occt-history/
|
public/native/occt-history/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ FreeCAD-aligned web CAD frontend baseline for the BitBybit runtime boundary.
|
|||||||
- 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)
|
||||||
|
- Detailed owner lanes, 83-task WBS, dependencies and gates in [docs/freecad-full-parity-execution-wbs.zh-CN.md](docs/freecad-full-parity-execution-wbs.zh-CN.md)
|
||||||
|
- Reproducible 34-module source inventory in [config/freecad-source-inventory.json](config/freecad-source-inventory.json), generated and checked with `./npmw run generate:freecad-inventory` and `./npmw run check:freecad-inventory`
|
||||||
|
- 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
|
||||||
|
|
||||||
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 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.
|
||||||
|
|
||||||
|
|||||||
5
chrome-cam-linuxcnc-machine-harness.html
Normal file
5
chrome-cam-linuxcnc-machine-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>CAM LinuxCNC WASM Machine Harness</title></head>
|
||||||
|
<body><pre id="result">running</pre><script type="module" src="/src/chromeCamLinuxcncMachineHarness.ts"></script></body>
|
||||||
|
</html>
|
||||||
12
chrome-camotics-wasm-harness.html
Normal file
12
chrome-camotics-wasm-harness.html
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>CAMotics WASM Harness</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<pre id="result">Running CAMotics WASM...</pre>
|
||||||
|
<script type="module" src="/src/chromeCamoticsWasmHarness.ts"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
16
chrome-fcstd-golden-harness.html
Normal file
16
chrome-fcstd-golden-harness.html
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<link rel="icon" href="data:," />
|
||||||
|
<title>Chrome FCStd Golden Harness</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<h1>Chrome FCStd Golden Harness</h1>
|
||||||
|
<p id="status">Initializing Bitbybit...</p>
|
||||||
|
</main>
|
||||||
|
<script type="module" src="/src/chromeFcstdGoldenHarness.ts"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
5
chrome-fcstd-semantic-harness.html
Normal file
5
chrome-fcstd-semantic-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Chrome FCStd semantic round-trip harness</title></head>
|
||||||
|
<body><main id="status">Initializing FCStd semantic harness.</main><script type="module" src="/src/chromeFcstdSemanticHarness.ts"></script></body>
|
||||||
|
</html>
|
||||||
13
chrome-geometry-feature-harness.html
Normal file
13
chrome-geometry-feature-harness.html
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<link rel="icon" href="data:," />
|
||||||
|
<title>Bitbybit geometry feature harness</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main id="status">Initializing Bitbybit geometry feature harness.</main>
|
||||||
|
<script type="module" src="/src/chromeGeometryFeatureHarness.ts"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
5
chrome-part-primitives-harness.html
Normal file
5
chrome-part-primitives-harness.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head><meta charset="UTF-8" /><title>Bitbybit Part primitive harness</title></head>
|
||||||
|
<body><main id="status">Initializing Part primitive harness.</main><script type="module" src="/src/chromePartPrimitivesHarness.ts"></script></body>
|
||||||
|
</html>
|
||||||
38
config/camotics-gui-tpl-artifact.json
Normal file
38
config/camotics-gui-tpl-artifact.json
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"source": {
|
||||||
|
"path": "CAMotics",
|
||||||
|
"revision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
|
||||||
|
"version": "1.3"
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"command": "scons -C CAMotics with_gui=1 with_tpl=1 strict=0 cxxstd=c++17 v8_compress_pointers=0 camotics tplang -j4",
|
||||||
|
"gui": true,
|
||||||
|
"tpl": true,
|
||||||
|
"qtModules": ["QtCore", "QtGui", "QtOpenGL", "QtNetwork", "QtWidgets", "QtWebSockets"],
|
||||||
|
"compiler": "g++ (Debian 14.2.0-19) 14.2.0",
|
||||||
|
"sconsVersion": "4.8.1"
|
||||||
|
},
|
||||||
|
"artifacts": {
|
||||||
|
"CAMotics/camotics": {
|
||||||
|
"bytes": 6332544,
|
||||||
|
"sha256": "4a592f91e6987f87aba596dbcaa9ce8826b5f5249361eafe6f7638d039efa658"
|
||||||
|
},
|
||||||
|
"CAMotics/tplang": {
|
||||||
|
"bytes": 4062360,
|
||||||
|
"sha256": "7d4ae6e81a7382aa355615690c1a9cfbf00be52cd5c5277e7c421795ceef9b1d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"smoke": {
|
||||||
|
"camotics": {"command": "QT_QPA_PLATFORM=offscreen CAMotics/camotics --help", "exitCode": 0, "contains": ["Usage:", "--version"]},
|
||||||
|
"tplang": {"command": "CAMotics/tplang --help", "exitCode": 0, "contains": ["Usage:", "--linearize", "--json-out"]}
|
||||||
|
},
|
||||||
|
"browserBoundary": {
|
||||||
|
"nativeGuiExecutable": true,
|
||||||
|
"browserNativeGuiExecutable": false,
|
||||||
|
"browserSweepWasmKernel": true,
|
||||||
|
"fullBrowserProgram": false,
|
||||||
|
"canonicalGcodeParser": "linuxcnc-wasm"
|
||||||
|
}
|
||||||
|
}
|
||||||
124
config/camotics-native-artifact.json
Normal file
124
config/camotics-native-artifact.json
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 2,
|
||||||
|
"status": "pass",
|
||||||
|
"source": {
|
||||||
|
"path": "CAMotics",
|
||||||
|
"repository": "https://github.com/CauldronDevelopmentLLC/CAMotics.git",
|
||||||
|
"revision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
|
||||||
|
"version": "1.3"
|
||||||
|
},
|
||||||
|
"cbang": {
|
||||||
|
"path": ".cache/camotics-native/cbang",
|
||||||
|
"repository": "https://github.com/CauldronDevelopmentLLC/cbang.git",
|
||||||
|
"revision": "9b6672a0e2b800a909d799ffa3ab46774cf171b8",
|
||||||
|
"version": "1.7.2",
|
||||||
|
"v8PointerCompression": false
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"mode": "release-native-qt5-tpl-cli",
|
||||||
|
"compiler": "g++ (Debian 14.2.0-19) 14.2.0",
|
||||||
|
"sconsVersion": "SCons by Steven Knight et al.:",
|
||||||
|
"nodeV8PackageVersion": "20.19.2+dfsg-1+deb13u2",
|
||||||
|
"qtVersion": "5.15.15",
|
||||||
|
"options": [
|
||||||
|
"strict=0",
|
||||||
|
"cxxstd=c++17",
|
||||||
|
"v8_compress_pointers=0"
|
||||||
|
],
|
||||||
|
"withGui": true,
|
||||||
|
"withTpl": true,
|
||||||
|
"browserExecutable": false
|
||||||
|
},
|
||||||
|
"artifacts": {
|
||||||
|
"CAMotics/camotics": {
|
||||||
|
"bytes": 6332544,
|
||||||
|
"sha256": "4a592f91e6987f87aba596dbcaa9ce8826b5f5249361eafe6f7638d039efa658",
|
||||||
|
"mode": "100775"
|
||||||
|
},
|
||||||
|
"CAMotics/tplang": {
|
||||||
|
"bytes": 4062360,
|
||||||
|
"sha256": "7d4ae6e81a7382aa355615690c1a9cfbf00be52cd5c5277e7c421795ceef9b1d",
|
||||||
|
"mode": "100775"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cliArtifacts": {
|
||||||
|
"CAMotics/camsim": {
|
||||||
|
"bytes": 4566168,
|
||||||
|
"sha256": "e5446f5089afc402ef5302e41673b24bdb2dfffec020f77c5c31b92466def8a1",
|
||||||
|
"mode": "100775"
|
||||||
|
},
|
||||||
|
"CAMotics/gcodetool": {
|
||||||
|
"bytes": 3435664,
|
||||||
|
"sha256": "0df147ba191be9a14bf828b6a9a2b8d1344927b0870540dd16da2e9dd004a8fc",
|
||||||
|
"mode": "100775"
|
||||||
|
},
|
||||||
|
"CAMotics/planner": {
|
||||||
|
"bytes": 4258968,
|
||||||
|
"sha256": "c2ddbad1e63519796d48fc59e4bb146c4694e5f9a992805657279eb2957ebcca",
|
||||||
|
"mode": "100775"
|
||||||
|
},
|
||||||
|
"CAMotics/build/camotics.so": {
|
||||||
|
"bytes": 5354352,
|
||||||
|
"sha256": "a05293ffff45608ab78a954c0886a3b308a8443f89d5b64aa4dc0e258d8bb707",
|
||||||
|
"mode": "100775"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cliSmoke": {
|
||||||
|
"CAMotics/camsim": {
|
||||||
|
"exitCode": 0,
|
||||||
|
"containsUsage": true
|
||||||
|
},
|
||||||
|
"CAMotics/gcodetool": {
|
||||||
|
"exitCode": 0,
|
||||||
|
"containsUsage": true
|
||||||
|
},
|
||||||
|
"CAMotics/planner": {
|
||||||
|
"exitCode": 0,
|
||||||
|
"containsUsage": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tplTests": {
|
||||||
|
"command": "cd CAMotics/tests/tplTests && ../testHarness --no-color",
|
||||||
|
"passed": 10,
|
||||||
|
"failed": 0,
|
||||||
|
"outputSha256": "d950c742211b31732a0c2e3eb5b13d142f55c93ce5ed316d426ca64de50c3aeb"
|
||||||
|
},
|
||||||
|
"tplExample": {
|
||||||
|
"input": "CAMotics/examples/box/box.tpl",
|
||||||
|
"bytes": 1875,
|
||||||
|
"lines": 118,
|
||||||
|
"sha256": "bedef74675d294d94f1e820531c605cb0a0c50f16cad1c01af58d01aa0072ee9"
|
||||||
|
},
|
||||||
|
"guiSmoke": {
|
||||||
|
"status": "pass",
|
||||||
|
"processAliveBeforeTerminate": true,
|
||||||
|
"browserRuntime": false,
|
||||||
|
"window": {
|
||||||
|
"title": "CAMotics",
|
||||||
|
"width": 1200,
|
||||||
|
"height": 800,
|
||||||
|
"depth": 24,
|
||||||
|
"mapState": "IsViewable"
|
||||||
|
},
|
||||||
|
"startupBannerSha256": "4eef1b2b798a03772a6803dc9b70432e1fdc4f404d56f236f803e173a66e3b2a",
|
||||||
|
"startupStderrSha256": "222d98d486e328bf627d4dde8fae9c7d65b31685fb6cf5d871ff8bf316719811"
|
||||||
|
},
|
||||||
|
"pipelineBoundary": {
|
||||||
|
"workspaceNativeGuiAvailable": true,
|
||||||
|
"workspaceNativeTplAvailable": true,
|
||||||
|
"workspaceNativeCliAvailable": true,
|
||||||
|
"browserNativeGuiAvailable": false,
|
||||||
|
"browserNativeTplAvailable": false,
|
||||||
|
"nativeRole": "host-native-qt5-tpl-cli-sidecar",
|
||||||
|
"generationAuthority": "camotics-source-stage",
|
||||||
|
"canonicalGcodeParser": "linuxcnc-wasm",
|
||||||
|
"camoticsParsesCanonicalPipelineGcode": false,
|
||||||
|
"order": [
|
||||||
|
"cad",
|
||||||
|
"opencamlib-wasm",
|
||||||
|
"camotics-source-stage",
|
||||||
|
"gcode",
|
||||||
|
"linuxcnc-wasm-parse-execute"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
58
config/camotics-wasm-artifact.json
Normal file
58
config/camotics-wasm-artifact.json
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"kind": "standalone-camotics-sweep-wasm-kernel",
|
||||||
|
"upstream": {
|
||||||
|
"path": "CAMotics",
|
||||||
|
"repository": "https://github.com/CauldronDevelopmentLLC/CAMotics.git",
|
||||||
|
"revision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
|
||||||
|
"version": "1.3"
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"script": "native/camotics-wasm/build.sh",
|
||||||
|
"compiler": "Emscripten 3.1.69",
|
||||||
|
"language": "C++17",
|
||||||
|
"standaloneWasm": true,
|
||||||
|
"optimization": "O3-lto",
|
||||||
|
"sourceFiles": {
|
||||||
|
"CAMotics/src/camotics/sim/Sweep.cpp": "5e32782ab4f258aaba09374a93647e6292088956cbccbae578fbb9dff1c77faf",
|
||||||
|
"CAMotics/src/camotics/sim/ConicSweep.cpp": "fbc00eb1b5f274d929c59338145da2f054569e831ab1309dd36f2652b61d5dab",
|
||||||
|
"CAMotics/src/camotics/sim/SpheroidSweep.cpp": "9783b9cb805c138d91e25160fdddf28913b3cb3844d912bf888e795431b68f83",
|
||||||
|
"native/camotics-wasm/camotics_sweep.cpp": "d5e28dbe64ba4619b0266b902f8956561d4a1f65f4f6da39967c9b5a98e6a147",
|
||||||
|
"native/camotics-wasm/include/cbang/geom/Rectangle.h": "400e11b1d5bcc8d950758d5cf963f5cabf779e98b48f004c08783ff513be87e0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artifact": {
|
||||||
|
"path": "public/vendor/camotics/camotics-sweep.wasm",
|
||||||
|
"url": "/vendor/camotics/camotics-sweep.wasm",
|
||||||
|
"bytes": 11932,
|
||||||
|
"sha256": "889588d2dc9755f84f56b8ebe1acc9bc1f0ded7e676e162a5a001011f4ebec5b",
|
||||||
|
"abiVersion": 1,
|
||||||
|
"imports": [],
|
||||||
|
"requiredExports": [
|
||||||
|
"memory",
|
||||||
|
"camotics_sweep_abi_version",
|
||||||
|
"camotics_conic_depth",
|
||||||
|
"camotics_spheroid_depth",
|
||||||
|
"camotics_conic_bbox_count"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"scope": {
|
||||||
|
"actualUpstreamCppCompiled": true,
|
||||||
|
"browserExecutable": true,
|
||||||
|
"conicSweep": true,
|
||||||
|
"spheroidSweep": true,
|
||||||
|
"sweepBoundingBoxes": true,
|
||||||
|
"fullCamoticsProgram": false,
|
||||||
|
"qtGuiIncluded": false,
|
||||||
|
"tplIncluded": false,
|
||||||
|
"gcodeParserIncluded": false,
|
||||||
|
"canonicalGcodeParser": "linuxcnc-wasm"
|
||||||
|
},
|
||||||
|
"smoke": {
|
||||||
|
"conicInsideDepth": 1,
|
||||||
|
"conicOutsideDepth": -1,
|
||||||
|
"spheroidInsideDepth": 1,
|
||||||
|
"longMoveBoundingBoxes": 3
|
||||||
|
}
|
||||||
|
}
|
||||||
35
config/chrome-addon-verification.json
Normal file
35
config/chrome-addon-verification.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"catalog": {
|
||||||
|
"installed": 1,
|
||||||
|
"revision": 1,
|
||||||
|
"rollbackVersion": "1.0.0"
|
||||||
|
},
|
||||||
|
"security": {
|
||||||
|
"forgedRejected": true,
|
||||||
|
"permissionRejected": true,
|
||||||
|
"removed": true
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 838,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "ADDON-ALL",
|
||||||
|
"markerInstalled": 1,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
441
config/chrome-app-e2e-verification.json
Normal file
441
config/chrome-app-e2e-verification.json
Normal file
@@ -0,0 +1,441 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"generatedAt": "2026-08-08T17:54:57.664Z",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"status": "pass",
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"protocolVersion": "1.3",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
},
|
||||||
|
"headers": {
|
||||||
|
"coop": "same-origin",
|
||||||
|
"coep": "require-corp"
|
||||||
|
},
|
||||||
|
"workflows": [
|
||||||
|
"start-to-workspace",
|
||||||
|
"viewport-multi-object-box-selection",
|
||||||
|
"freecad-menus",
|
||||||
|
"command-search-dialog",
|
||||||
|
"preferences-about-dialogs",
|
||||||
|
"model-tree-context-menu",
|
||||||
|
"workbench-change",
|
||||||
|
"create-sketch-command",
|
||||||
|
"loft-section-task",
|
||||||
|
"drawer-collapse",
|
||||||
|
"cam-workbench-job-flow",
|
||||||
|
"opfs-save-reopen",
|
||||||
|
"import-format-selection",
|
||||||
|
"export-format-selection"
|
||||||
|
],
|
||||||
|
"uiParity": {
|
||||||
|
"fileMenu": {
|
||||||
|
"items": 7,
|
||||||
|
"labels": [
|
||||||
|
"New documentCtrl+N",
|
||||||
|
"Open...Ctrl+O",
|
||||||
|
"SaveCtrl+S",
|
||||||
|
"Save as...",
|
||||||
|
"Import...",
|
||||||
|
"Export...",
|
||||||
|
"Close documentCtrl+W"
|
||||||
|
],
|
||||||
|
"expanded": "File"
|
||||||
|
},
|
||||||
|
"commandDialog": {
|
||||||
|
"modal": true,
|
||||||
|
"results": 18,
|
||||||
|
"title": "Command search",
|
||||||
|
"focused": "Command search"
|
||||||
|
},
|
||||||
|
"preferencesDialog": {
|
||||||
|
"selects": 3,
|
||||||
|
"checks": 2,
|
||||||
|
"modal": true
|
||||||
|
},
|
||||||
|
"aboutDialog": {
|
||||||
|
"modal": true,
|
||||||
|
"baseline": true
|
||||||
|
},
|
||||||
|
"contextMenu": {
|
||||||
|
"items": [
|
||||||
|
"Toggle visibility Space",
|
||||||
|
"Rename F2",
|
||||||
|
"Recompute object",
|
||||||
|
"Delete"
|
||||||
|
],
|
||||||
|
"left": 180,
|
||||||
|
"top": 330
|
||||||
|
},
|
||||||
|
"multiSelection": {
|
||||||
|
"count": 2,
|
||||||
|
"labels": [
|
||||||
|
"Sketch",
|
||||||
|
"Pad"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"viewportBoxSelection": {
|
||||||
|
"objectCount": 2,
|
||||||
|
"topologySource": "occt-analytic",
|
||||||
|
"topologySources": {
|
||||||
|
"face": "occt-analytic",
|
||||||
|
"edge": "occt-analytic",
|
||||||
|
"vertex": "occt-analytic"
|
||||||
|
},
|
||||||
|
"edgeCount": 15,
|
||||||
|
"vertexCount": 10,
|
||||||
|
"selectedCount": 2,
|
||||||
|
"labels": [
|
||||||
|
"Box",
|
||||||
|
"Cylinder"
|
||||||
|
],
|
||||||
|
"gesture": {
|
||||||
|
"mode": "crossing",
|
||||||
|
"objectIds": [
|
||||||
|
"box",
|
||||||
|
"cylinder"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"camMenu": {
|
||||||
|
"items": 60,
|
||||||
|
"groups": [
|
||||||
|
"Project Setup",
|
||||||
|
"Simulation and Tools",
|
||||||
|
"2D Operations",
|
||||||
|
"Machining Operations",
|
||||||
|
"Path Modification"
|
||||||
|
],
|
||||||
|
"labels": [
|
||||||
|
"Project SetupCreate Job",
|
||||||
|
"Fixture",
|
||||||
|
"Compound Path",
|
||||||
|
"Property Bag",
|
||||||
|
"Post Process",
|
||||||
|
"Export Template",
|
||||||
|
"Sanity Check",
|
||||||
|
"Simulation and ToolsSimulators",
|
||||||
|
"CAM Simulator",
|
||||||
|
"CAM Simulator GL",
|
||||||
|
"CAMotics",
|
||||||
|
"Inspect Path",
|
||||||
|
"Select Loop",
|
||||||
|
"Stop Processing",
|
||||||
|
"Toggle Operation",
|
||||||
|
"ToolBit Library",
|
||||||
|
"Tool Controller",
|
||||||
|
"Create ToolBit",
|
||||||
|
"ToolBit Dock",
|
||||||
|
"Load ToolBit",
|
||||||
|
"Save ToolBit",
|
||||||
|
"Save ToolBit As",
|
||||||
|
"2D OperationsProfile",
|
||||||
|
"Pocket Shape",
|
||||||
|
"Mill Face",
|
||||||
|
"Helix",
|
||||||
|
"Adaptive",
|
||||||
|
"Slot",
|
||||||
|
"Area",
|
||||||
|
"Area Workplane",
|
||||||
|
"Drilling",
|
||||||
|
"Tapping",
|
||||||
|
"Thread Milling",
|
||||||
|
"Engrave",
|
||||||
|
"Deburr",
|
||||||
|
"V-Carve",
|
||||||
|
"Probe",
|
||||||
|
"Path Shape",
|
||||||
|
"Custom Operation",
|
||||||
|
"Path Shape Tool Controller",
|
||||||
|
"Machining OperationsDrilling Operations",
|
||||||
|
"Engraving Operations",
|
||||||
|
"3D Operations",
|
||||||
|
"Pocket 3D",
|
||||||
|
"Path ModificationCopy Operation",
|
||||||
|
"Copy Path",
|
||||||
|
"Simple Copy",
|
||||||
|
"Array",
|
||||||
|
"Dressup Operations",
|
||||||
|
"Array Dress-up",
|
||||||
|
"Axis Map Dress-up",
|
||||||
|
"Dogbone Dress-up",
|
||||||
|
"Drag Knife Dress-up",
|
||||||
|
"Lead In/Out Dress-up",
|
||||||
|
"Path Boundary Dress-up",
|
||||||
|
"Ramp Entry Dress-up",
|
||||||
|
"Holding Tags Dress-up",
|
||||||
|
"Z Correct Dress-up",
|
||||||
|
"Set Start Point",
|
||||||
|
"Comment"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"desktop": {
|
||||||
|
"path": "/workspace/pump-housing",
|
||||||
|
"workbench": "Part Design",
|
||||||
|
"persistenceMode": "sqlite-opfs",
|
||||||
|
"bodyHorizontalOverflow": 0,
|
||||||
|
"overflowingControls": 0,
|
||||||
|
"canvas": {
|
||||||
|
"width": 892,
|
||||||
|
"height": 679,
|
||||||
|
"source": "bitbybit-occt",
|
||||||
|
"uniqueColors": 36,
|
||||||
|
"glError": 0
|
||||||
|
},
|
||||||
|
"panelsSeparated": true,
|
||||||
|
"commandGroups": 5,
|
||||||
|
"comboTabs": [
|
||||||
|
"Model",
|
||||||
|
"Tasks 1"
|
||||||
|
],
|
||||||
|
"selectionView": true,
|
||||||
|
"statusBar": true,
|
||||||
|
"kernelPreviewSource": "bitbybit-occt"
|
||||||
|
},
|
||||||
|
"loftTask": {
|
||||||
|
"sectionCount": 1,
|
||||||
|
"checkedSectionCount": 1,
|
||||||
|
"labels": [
|
||||||
|
"Sketch (sketch)"
|
||||||
|
],
|
||||||
|
"listVerticalOverflow": 0,
|
||||||
|
"panelHorizontalOverflow": 0
|
||||||
|
},
|
||||||
|
"cam": {
|
||||||
|
"jobTask": {
|
||||||
|
"stockModes": 4,
|
||||||
|
"fields": 5,
|
||||||
|
"actions": [
|
||||||
|
"OK",
|
||||||
|
"Apply",
|
||||||
|
"Cancel"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"toolTask": {
|
||||||
|
"selects": 2,
|
||||||
|
"inputs": 13
|
||||||
|
},
|
||||||
|
"operationTask": {
|
||||||
|
"inputs": 5,
|
||||||
|
"selects": 2
|
||||||
|
},
|
||||||
|
"undoRedo": {
|
||||||
|
"undo": {
|
||||||
|
"pathPoints": 0,
|
||||||
|
"redoEnabled": true
|
||||||
|
},
|
||||||
|
"redo": {
|
||||||
|
"pathPoints": 5,
|
||||||
|
"undoEnabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extendedTasks": {
|
||||||
|
"fixture": {
|
||||||
|
"inputs": 7,
|
||||||
|
"section": true,
|
||||||
|
"labels": [
|
||||||
|
"Fixture ID",
|
||||||
|
"Min X",
|
||||||
|
"Min Y",
|
||||||
|
"Min Z",
|
||||||
|
"Max X",
|
||||||
|
"Max Y",
|
||||||
|
"Max Z"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"toolBitLoad": {
|
||||||
|
"inputs": 1,
|
||||||
|
"textareas": 1,
|
||||||
|
"schemaVersion": true
|
||||||
|
},
|
||||||
|
"drilling": {
|
||||||
|
"inputs": 5,
|
||||||
|
"selects": 2,
|
||||||
|
"labels": [
|
||||||
|
"Final Depth mm",
|
||||||
|
"Step Down mm",
|
||||||
|
"Step Over %",
|
||||||
|
"Horizontal Feed mm/min",
|
||||||
|
"Vertical Feed mm/min",
|
||||||
|
"DirectionClimbConventionalEither",
|
||||||
|
"Coolant ModeNoneFloodMist"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dragKnife": {
|
||||||
|
"inputs": 1,
|
||||||
|
"selects": 1,
|
||||||
|
"knifeOffset": true
|
||||||
|
},
|
||||||
|
"post": {
|
||||||
|
"inputs": 4,
|
||||||
|
"selects": 4,
|
||||||
|
"labels": [
|
||||||
|
"Post Processorgrbllinuxcncmach3-mach4centroidmarlinmasso-g3snapmaker",
|
||||||
|
"Axis Configuration3-axis4-axis5-axis",
|
||||||
|
"Rotary AxisABC",
|
||||||
|
"Rotary Start deg",
|
||||||
|
"Rotary End deg",
|
||||||
|
"Tilt AxisABC",
|
||||||
|
"Tilt Start deg",
|
||||||
|
"Tilt End deg"
|
||||||
|
],
|
||||||
|
"note": "LinuxCNC WASM - XYZBC RTCP; rotary limit checks are enforced before posting."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ui": {
|
||||||
|
"workbench": "CAM",
|
||||||
|
"commandGroups": 4,
|
||||||
|
"toolbarCommands": 60,
|
||||||
|
"jobTree": true,
|
||||||
|
"treeRows": 7,
|
||||||
|
"operations": 1,
|
||||||
|
"generated": true,
|
||||||
|
"toolpathPoints": 5,
|
||||||
|
"toolpathOperations": 1,
|
||||||
|
"toolpathLegend": true,
|
||||||
|
"horizontalOverflow": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"persistenceRoundTrip": {
|
||||||
|
"path": "/workspace/pump-housing",
|
||||||
|
"documentLabel": "Pump Housing / CAM",
|
||||||
|
"persistenceMode": "sqlite-opfs"
|
||||||
|
},
|
||||||
|
"importFlow": {
|
||||||
|
"path": "/import",
|
||||||
|
"accept": ".FCStd,.fcstd,.step,.stp,.iges,.igs,.brep,.brp",
|
||||||
|
"exchangeHint": true
|
||||||
|
},
|
||||||
|
"exportFlow": {
|
||||||
|
"path": "/export",
|
||||||
|
"formats": {
|
||||||
|
"STEP": {
|
||||||
|
"disabled": false,
|
||||||
|
"selected": true
|
||||||
|
},
|
||||||
|
"IGES": {
|
||||||
|
"disabled": false,
|
||||||
|
"selected": false
|
||||||
|
},
|
||||||
|
"STL": {
|
||||||
|
"disabled": false,
|
||||||
|
"selected": false
|
||||||
|
},
|
||||||
|
"BREP": {
|
||||||
|
"disabled": false,
|
||||||
|
"selected": false
|
||||||
|
},
|
||||||
|
"GLB / GLTF": {
|
||||||
|
"disabled": true,
|
||||||
|
"selected": false
|
||||||
|
},
|
||||||
|
"Web CAD package": {
|
||||||
|
"disabled": true,
|
||||||
|
"selected": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"selectedAfterInteraction": "STL"
|
||||||
|
},
|
||||||
|
"mobile": {
|
||||||
|
"path": "/start",
|
||||||
|
"viewport": {
|
||||||
|
"width": 390,
|
||||||
|
"height": 844,
|
||||||
|
"devicePixelRatio": 2
|
||||||
|
},
|
||||||
|
"bodyHorizontalOverflow": 0,
|
||||||
|
"visibleHeading": true,
|
||||||
|
"visibleActions": true
|
||||||
|
},
|
||||||
|
"accessibility": {
|
||||||
|
"checked": 15,
|
||||||
|
"missing": []
|
||||||
|
},
|
||||||
|
"screenReader": {
|
||||||
|
"nodes": 162,
|
||||||
|
"controls": 16,
|
||||||
|
"namedControls": 16,
|
||||||
|
"unnamedControls": 0,
|
||||||
|
"landmarks": 0
|
||||||
|
},
|
||||||
|
"keyboard": {
|
||||||
|
"steps": 8,
|
||||||
|
"named": 8,
|
||||||
|
"unnamedVisible": 0,
|
||||||
|
"sequence": [
|
||||||
|
{
|
||||||
|
"tag": "DIV",
|
||||||
|
"name": "BitBybit Web FreeCAD start page",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tag": "BUTTON",
|
||||||
|
"name": "Help",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tag": "BUTTON",
|
||||||
|
"name": "Account and sync",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tag": "BUTTON",
|
||||||
|
"name": "Open project",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tag": "BUTTON",
|
||||||
|
"name": "New document",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tag": "BUTTON",
|
||||||
|
"name": "Create blank document",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tag": "BUTTON",
|
||||||
|
"name": "Browse examples",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tag": "BUTTON",
|
||||||
|
"name": "Open a projectBrowse local files",
|
||||||
|
"visible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"pwa": {
|
||||||
|
"manifestLinked": true,
|
||||||
|
"manifestStatus": 200,
|
||||||
|
"name": "BitBybit CAD Studio",
|
||||||
|
"startUrl": "/start",
|
||||||
|
"scope": "/",
|
||||||
|
"display": "standalone"
|
||||||
|
},
|
||||||
|
"offline": {
|
||||||
|
"path": "/start",
|
||||||
|
"shell": true,
|
||||||
|
"heading": true,
|
||||||
|
"mode": "online-shell"
|
||||||
|
},
|
||||||
|
"screenshots": {
|
||||||
|
"desktop": {
|
||||||
|
"path": "fixtures/chrome-app-e2e/desktop-workspace.png",
|
||||||
|
"byteLength": 108999,
|
||||||
|
"sha256": "33456e593549e88e561d1168eb80644b362fd941725bf4fff76500a14a6d7949"
|
||||||
|
},
|
||||||
|
"cam": {
|
||||||
|
"path": "fixtures/chrome-app-e2e/cam-workbench.png",
|
||||||
|
"byteLength": 118390,
|
||||||
|
"sha256": "5349262af666380bbc96f2932eed2613547ae60870a1d8b9fe44d8ed4831b4ab"
|
||||||
|
},
|
||||||
|
"mobile": {
|
||||||
|
"path": "fixtures/chrome-app-e2e/mobile-start.png",
|
||||||
|
"byteLength": 130367,
|
||||||
|
"sha256": "c3873002bf12dde3a7731a511eb651880a6733ce68b149167d1ff84d6e436b69"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pageErrors": []
|
||||||
|
}
|
||||||
64
config/chrome-assembly-verification.json
Normal file
64
config/chrome-assembly-verification.json
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"geometry": {
|
||||||
|
"components": 2,
|
||||||
|
"validShapes": 2,
|
||||||
|
"releasedShapes": 0
|
||||||
|
},
|
||||||
|
"solver": {
|
||||||
|
"status": "solved",
|
||||||
|
"iterations": 2,
|
||||||
|
"coincident": "solved",
|
||||||
|
"distance": "solved",
|
||||||
|
"shaftX": 5,
|
||||||
|
"diagnostics": 0,
|
||||||
|
"workerStatus": "solved",
|
||||||
|
"angleStatus": "solved",
|
||||||
|
"angleYaw": 1.5707963267948966
|
||||||
|
},
|
||||||
|
"tools": {
|
||||||
|
"bomRows": 2,
|
||||||
|
"collisionCount": 1,
|
||||||
|
"explodedMoved": true,
|
||||||
|
"variantX": 7,
|
||||||
|
"motionFrames": 5,
|
||||||
|
"motionEndX": 9
|
||||||
|
},
|
||||||
|
"scale": {
|
||||||
|
"components": 1000,
|
||||||
|
"bomRows": 10,
|
||||||
|
"durationMs": 6.685000061988831,
|
||||||
|
"budgetMs": 1000
|
||||||
|
},
|
||||||
|
"fcstd": {
|
||||||
|
"bytes": 727,
|
||||||
|
"objects": 4,
|
||||||
|
"links": 1,
|
||||||
|
"reopenedObjects": 4,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 980,
|
||||||
|
"hash": "93bbadc1517ccf2443c74578e92bea6d13c01b02976a53630707f5e7002a6066",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "ASM-TOOLS",
|
||||||
|
"markerComponents": 2,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
44
config/chrome-bim-verification.json
Normal file
44
config/chrome-bim-verification.json
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"model": {
|
||||||
|
"sites": 1,
|
||||||
|
"buildings": 1,
|
||||||
|
"levels": 1,
|
||||||
|
"spaces": 1,
|
||||||
|
"materials": 1,
|
||||||
|
"elements": 1,
|
||||||
|
"scheduleRows": 1,
|
||||||
|
"ifc4Bytes": 492,
|
||||||
|
"ifc2x3Bytes": 494,
|
||||||
|
"ifc4Schema": "IFC4",
|
||||||
|
"ifc2x3Schema": "IFC2X3",
|
||||||
|
"ifc4Entities": 7,
|
||||||
|
"ifc4Hierarchy": 4,
|
||||||
|
"ifc4PropertySets": 1,
|
||||||
|
"ifc4Classifications": 1,
|
||||||
|
"ifc2x3RoundTrip": true
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 848,
|
||||||
|
"hash": "7a55c8b5c5f1f5354c2819c6289c9ae60351f7c0d6d1844e51eea2785ce7fad8",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "BIM-IFC",
|
||||||
|
"elements": 1,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
46
config/chrome-cam-linuxcnc-machine-verification.json
Normal file
46
config/chrome-cam-linuxcnc-machine-verification.json
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"stages": [
|
||||||
|
"CAD",
|
||||||
|
"OCL",
|
||||||
|
"CAMotics",
|
||||||
|
"GCODE",
|
||||||
|
"LinuxCNC WASM"
|
||||||
|
],
|
||||||
|
"openCamLib": {
|
||||||
|
"backend": "upstream-opencamlib-wasm",
|
||||||
|
"sourceRevision": "95b036fe28ce6d77c97b98e5fbc337904ae49560",
|
||||||
|
"artifactSha256": "0379040910f7af277c6e1f6411efb549292db0b071422a83954d93631253bf89",
|
||||||
|
"algorithm": "path-drop-cutter",
|
||||||
|
"surfaceModel": "cad-operation-plane",
|
||||||
|
"triangleCount": 2,
|
||||||
|
"inputPoints": 5,
|
||||||
|
"outputPoints": 48,
|
||||||
|
"sampling": 1
|
||||||
|
},
|
||||||
|
"gcode": {
|
||||||
|
"bytes": 2758,
|
||||||
|
"hasM428": true,
|
||||||
|
"hasM429": true,
|
||||||
|
"hasG93": true,
|
||||||
|
"hasG94": true,
|
||||||
|
"hasB": true,
|
||||||
|
"hasC359": true,
|
||||||
|
"hasC361": true
|
||||||
|
},
|
||||||
|
"machine": {
|
||||||
|
"backend": "linuxcnc-wasm",
|
||||||
|
"status": "accepted",
|
||||||
|
"dryRunStatus": "dry-run",
|
||||||
|
"parserAuthority": "linuxcnc-wasm",
|
||||||
|
"lines": 65,
|
||||||
|
"blocks": 138,
|
||||||
|
"trajectorySegments": 48
|
||||||
|
},
|
||||||
|
"browserId": "chrome",
|
||||||
|
"browser": {
|
||||||
|
"product": "150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
134
config/chrome-cam-native-simulation-verification.json
Normal file
134
config/chrome-cam-native-simulation-verification.json
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"capabilities": {
|
||||||
|
"openCamLib": {
|
||||||
|
"status": "available",
|
||||||
|
"backend": "upstream-opencamlib-wasm",
|
||||||
|
"sourceRevision": "95b036fe28ce6d77c97b98e5fbc337904ae49560",
|
||||||
|
"artifactSha256": "0379040910f7af277c6e1f6411efb549292db0b071422a83954d93631253bf89",
|
||||||
|
"algorithms": [
|
||||||
|
"path-drop-cutter",
|
||||||
|
"adaptive-path-drop-cutter",
|
||||||
|
"waterline",
|
||||||
|
"adaptive-waterline"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"solidRemoval": {
|
||||||
|
"status": "available",
|
||||||
|
"backend": "bitbybit-occt-wasm",
|
||||||
|
"model": "sampled-flat-end-brep",
|
||||||
|
"nativeSolid": true,
|
||||||
|
"freeCadNativeEquivalent": false,
|
||||||
|
"sweepModes": [
|
||||||
|
"sampled-flat-end",
|
||||||
|
"continuous-segment"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camotics": {
|
||||||
|
"status": "native-host-available",
|
||||||
|
"backend": "camotics-native-host-qt5-tpl",
|
||||||
|
"sourceRevision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
|
||||||
|
"cbangRevision": "9b6672a0e2b800a909d799ffa3ab46774cf171b8",
|
||||||
|
"sourcePaths": [
|
||||||
|
"CAMotics/src/gcode/machine/GCodeMachine.cpp",
|
||||||
|
"CAMotics/src/tplang/GCodeModule.cpp",
|
||||||
|
"CAMotics/src/camotics/sim/ToolSweep.cpp"
|
||||||
|
],
|
||||||
|
"workspaceNativeExecutable": true,
|
||||||
|
"nativeGuiPath": "CAMotics/camotics",
|
||||||
|
"nativeTplPath": "CAMotics/tplang",
|
||||||
|
"nativeArtifactEvidence": "config/camotics-native-artifact.json",
|
||||||
|
"browserExecutable": false,
|
||||||
|
"browserWasmKernelExecutable": true,
|
||||||
|
"nativeCliPath": "CAMotics/camsim",
|
||||||
|
"wasmKernel": {
|
||||||
|
"backend": "camotics-upstream-sweep-wasm",
|
||||||
|
"artifactSha256": "889588d2dc9755f84f56b8ebe1acc9bc1f0ded7e676e162a5a001011f4ebec5b",
|
||||||
|
"scope": [
|
||||||
|
"conic-sweep",
|
||||||
|
"spheroid-sweep",
|
||||||
|
"sweep-bounding-boxes"
|
||||||
|
],
|
||||||
|
"fullCamoticsProgram": false,
|
||||||
|
"gcodeParserIncluded": false
|
||||||
|
},
|
||||||
|
"generationAuthority": "camotics-source-stage",
|
||||||
|
"parserAuthority": "linuxcnc-wasm",
|
||||||
|
"camoticsParsesCanonicalGcode": false,
|
||||||
|
"reason": "CAMotics 1.3 native Qt5 GUI and TPL compiler are workspace-verified host sidecars with pinned C! 1.7.2 and V8 ABI settings. The browser executes a standalone upstream Conic/Spheroid sweep WASM subset, not the native ELF, Qt GUI, TPL compiler, or full program; browser G-code generation preserves source-stage motion semantics and sends canonical G-code to LinuxCNC WASM."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"openCamLib": {
|
||||||
|
"backend": "upstream-opencamlib-wasm",
|
||||||
|
"sourceRevision": "95b036fe28ce6d77c97b98e5fbc337904ae49560",
|
||||||
|
"artifactSha256": "0379040910f7af277c6e1f6411efb549292db0b071422a83954d93631253bf89",
|
||||||
|
"triangles": 2,
|
||||||
|
"points": 14,
|
||||||
|
"minimumZ": 2,
|
||||||
|
"maximumZ": 2,
|
||||||
|
"deterministic": true
|
||||||
|
},
|
||||||
|
"camotics": {
|
||||||
|
"backend": "camotics-source-stage-contract",
|
||||||
|
"sourceRevision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
|
||||||
|
"nativeExecutable": false,
|
||||||
|
"lineCount": 18,
|
||||||
|
"gcodeBytes": 164,
|
||||||
|
"gcodeHash": "0a7731201c19564c7b00950ee6432b4201918811a70b00db501a3663750fb792",
|
||||||
|
"parserAuthority": "linuxcnc-wasm",
|
||||||
|
"camoticsParsesCanonicalGcode": false
|
||||||
|
},
|
||||||
|
"pipeline": {
|
||||||
|
"stages": [
|
||||||
|
"cad",
|
||||||
|
"opencamlib-wasm",
|
||||||
|
"camotics-source-stage",
|
||||||
|
"gcode",
|
||||||
|
"linuxcnc-wasm-parse-execute"
|
||||||
|
],
|
||||||
|
"canonicalGcodeAuthority": "linuxcnc-wasm",
|
||||||
|
"camoticsSemanticParser": false,
|
||||||
|
"linuxcncWasmExecution": "handoff-required"
|
||||||
|
},
|
||||||
|
"solidRemoval": {
|
||||||
|
"backend": "bitbybit-occt-wasm",
|
||||||
|
"model": "sampled-flat-end-brep",
|
||||||
|
"sweepMode": "sampled-flat-end",
|
||||||
|
"nativeSolid": true,
|
||||||
|
"freeCadNativeEquivalent": false,
|
||||||
|
"sampleCount": 7,
|
||||||
|
"stockVolume": 299.99999999999994,
|
||||||
|
"removedVolume": 12,
|
||||||
|
"remainingVolume": 287.99999999999994,
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"meshVertices": 48,
|
||||||
|
"meshTriangles": 28,
|
||||||
|
"brepBytes": 4885,
|
||||||
|
"brepHash": "76237c323f4614488e527b92c9ad7e3d8b6b5db968b5d7a481da26da59fe00be"
|
||||||
|
},
|
||||||
|
"curvedSolidRemoval": {
|
||||||
|
"backend": "bitbybit-occt-wasm",
|
||||||
|
"model": "continuous-segment-sweep-brep",
|
||||||
|
"sweepMode": "continuous-segment",
|
||||||
|
"sampleCount": 13,
|
||||||
|
"stockVolume": 299.99999999999994,
|
||||||
|
"removedVolume": 13.876647806980372,
|
||||||
|
"remainingVolume": 286.12335219301957,
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"meshVertices": 506,
|
||||||
|
"meshTriangles": 652
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
100
config/chrome-cam-verification.json
Normal file
100
config/chrome-cam-verification.json
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"extended": {
|
||||||
|
"commandSurface": 60,
|
||||||
|
"operationKinds": 22,
|
||||||
|
"dressupKinds": 9,
|
||||||
|
"toolAssetRoundTrip": true,
|
||||||
|
"jobAssetRoundTrip": true,
|
||||||
|
"metadataRoundTrip": true,
|
||||||
|
"metadataComments": 1,
|
||||||
|
"metadataProperties": 3,
|
||||||
|
"metadataCompounds": 1,
|
||||||
|
"undoRedo": true,
|
||||||
|
"startPointChanged": true,
|
||||||
|
"materialRemoval": true,
|
||||||
|
"removalTimelinePoints": 23,
|
||||||
|
"fixtureCollision": true,
|
||||||
|
"multiAxis": true
|
||||||
|
},
|
||||||
|
"geometry": {
|
||||||
|
"sourceShape": "shape-msjl38sz-1",
|
||||||
|
"valid": true,
|
||||||
|
"volume": 30
|
||||||
|
},
|
||||||
|
"job": {
|
||||||
|
"stockMode": "from-base-bound-box",
|
||||||
|
"tools": 2,
|
||||||
|
"controllers": 2,
|
||||||
|
"operations": 3,
|
||||||
|
"operationKinds": [
|
||||||
|
"profile",
|
||||||
|
"pocket",
|
||||||
|
"drilling"
|
||||||
|
],
|
||||||
|
"operationStatuses": [
|
||||||
|
"generated",
|
||||||
|
"generated",
|
||||||
|
"generated"
|
||||||
|
],
|
||||||
|
"pathPoints": 23,
|
||||||
|
"dressups": 1,
|
||||||
|
"setup": {
|
||||||
|
"safeHeightOffset": 1,
|
||||||
|
"clearanceHeightOffset": 2,
|
||||||
|
"coolantMode": "flood"
|
||||||
|
},
|
||||||
|
"sanity": "pass",
|
||||||
|
"sanityIssues": 0,
|
||||||
|
"simulation": "pass",
|
||||||
|
"collisions": 0,
|
||||||
|
"collisionFixture": 1,
|
||||||
|
"simulationDiagnostics": 0,
|
||||||
|
"postprocessors": [
|
||||||
|
"grbl",
|
||||||
|
"linuxcnc",
|
||||||
|
"mach3-mach4",
|
||||||
|
"centroid",
|
||||||
|
"marlin",
|
||||||
|
"masso-g3",
|
||||||
|
"snapmaker"
|
||||||
|
],
|
||||||
|
"post": "linuxcnc",
|
||||||
|
"postHashes": {
|
||||||
|
"grbl": "9c61705ba595d923d2b44af6ac3c241084ceba2e09f79b1fea73480b4b6a0335",
|
||||||
|
"linuxcnc": "dc7cb5950e6726652bdec45bcc5050e57df90bc02d5474981534835a6dc67ea6",
|
||||||
|
"mach3-mach4": "3a19dd81b0aeec7f39e801912af13f66d6cdca564a094c558a6fc7fa5a829140",
|
||||||
|
"centroid": "ae2e7a7567ef16627bc9ec3279763c492d1a4836905133fdf438a1f7e9043a3d",
|
||||||
|
"marlin": "f31fe4e2bc177cb4b9d5942f807d26df1a15d8081c244d9b38ac18ad7323e84b",
|
||||||
|
"masso-g3": "7503170abe807b3be53c599efd3626a3b471809875c898107ce3f7aa378247cb",
|
||||||
|
"snapmaker": "ee8e3b7cc0403e62e3f382023bec7d67e04edf64c2be69543ecaf6a504c5c638"
|
||||||
|
},
|
||||||
|
"unsafePostRejected": true,
|
||||||
|
"gcodeBytes": 1055,
|
||||||
|
"gcodeHash": "dc7cb5950e6726652bdec45bcc5050e57df90bc02d5474981534835a6dc67ea6",
|
||||||
|
"deterministic": true
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 2478,
|
||||||
|
"hash": "a5259a9b16395ed0d76f5b7f06303aec72ab5f6b4c1aa3b05bd094f794ec88a7",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "CAM-ALL",
|
||||||
|
"operations": 3,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
27
config/chrome-camotics-wasm-verification.json
Normal file
27
config/chrome-camotics-wasm-verification.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"kernel": {
|
||||||
|
"backend": "camotics-upstream-sweep-wasm",
|
||||||
|
"sourceRevision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
|
||||||
|
"artifactSha256": "889588d2dc9755f84f56b8ebe1acc9bc1f0ded7e676e162a5a001011f4ebec5b",
|
||||||
|
"abiVersion": 1,
|
||||||
|
"imports": 0,
|
||||||
|
"fullCamoticsProgram": false,
|
||||||
|
"gcodeParserIncluded": false
|
||||||
|
},
|
||||||
|
"sweep": {
|
||||||
|
"conicInsideDepth": 1,
|
||||||
|
"conicOutsideDepth": -1,
|
||||||
|
"spheroidInsideDepth": 1,
|
||||||
|
"longMoveBoundingBoxes": 3,
|
||||||
|
"deterministic": true
|
||||||
|
},
|
||||||
|
"parserAuthority": "linuxcnc-wasm",
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
78
config/chrome-data-verification.json
Normal file
78
config/chrome-data-verification.json
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"adapters": {
|
||||||
|
"total": 7,
|
||||||
|
"supported": 4,
|
||||||
|
"proxy": 3
|
||||||
|
},
|
||||||
|
"records": {
|
||||||
|
"total": 7,
|
||||||
|
"proxy": 3,
|
||||||
|
"manifestBytes": 18893
|
||||||
|
},
|
||||||
|
"points": {
|
||||||
|
"sourceCount": 6,
|
||||||
|
"parsedFormats": [
|
||||||
|
"pts",
|
||||||
|
"pcd",
|
||||||
|
"ply"
|
||||||
|
],
|
||||||
|
"mergedCount": 12,
|
||||||
|
"croppedCount": 4,
|
||||||
|
"polygonCroppedCount": 4,
|
||||||
|
"reducedCount": 1,
|
||||||
|
"structured": {
|
||||||
|
"width": 3,
|
||||||
|
"height": 2,
|
||||||
|
"cells": 6
|
||||||
|
},
|
||||||
|
"centered": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"exportBytes": {
|
||||||
|
"asc": 36,
|
||||||
|
"pts": 38,
|
||||||
|
"xyz": 36,
|
||||||
|
"csv": 42,
|
||||||
|
"pcd": 168,
|
||||||
|
"ply": 139
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reverseEngineering": {
|
||||||
|
"planeRms": 1.725911830690932e-16,
|
||||||
|
"sphereRadius": 2,
|
||||||
|
"cylinderRadius": 3,
|
||||||
|
"cylinderHeight": 8,
|
||||||
|
"polynomialRms": 0,
|
||||||
|
"segmentCount": 2,
|
||||||
|
"segmentSizes": [
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 8049,
|
||||||
|
"hash": "cddf902c92cbe1b131aaf8a1bc800f3a7acb0bddc234acaa41130f9e0d6d0860",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "DATA-ALL",
|
||||||
|
"records": 7,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
59
config/chrome-draft-verification.json
Normal file
59
config/chrome-draft-verification.json
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"workingPlane": {
|
||||||
|
"worldPoint": {
|
||||||
|
"x": 10,
|
||||||
|
"y": 22,
|
||||||
|
"z": 33
|
||||||
|
},
|
||||||
|
"snapped": {
|
||||||
|
"x": 1,
|
||||||
|
"y": 2.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"objects": {
|
||||||
|
"total": 9,
|
||||||
|
"lines": 2,
|
||||||
|
"wires": 1,
|
||||||
|
"circles": 1,
|
||||||
|
"clones": 5,
|
||||||
|
"arrays": 4,
|
||||||
|
"layers": 2,
|
||||||
|
"sourceDependencies": 5
|
||||||
|
},
|
||||||
|
"operations": {
|
||||||
|
"moved": true,
|
||||||
|
"rotated": true,
|
||||||
|
"scaled": true,
|
||||||
|
"offsetLength": 8,
|
||||||
|
"trimmedLength": 4,
|
||||||
|
"cloneTranslation": {
|
||||||
|
"x": 10,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"arrayCount": 4
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 1566,
|
||||||
|
"hash": "80ed54a852ec54887444b8c003ddd17dcf0cdf73322d2745cb768000306b27b5",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "DRAFT-OPS",
|
||||||
|
"markerObjects": 9,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
65
config/chrome-engineering-verification.json
Normal file
65
config/chrome-engineering-verification.json
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"integrity": {
|
||||||
|
"complete": true,
|
||||||
|
"artifacts": 4,
|
||||||
|
"kinds": 4,
|
||||||
|
"missingKinds": 0,
|
||||||
|
"missingRefs": 0,
|
||||||
|
"projectVersion": 8,
|
||||||
|
"artifactVersions": [
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"reopenedComplete": true
|
||||||
|
},
|
||||||
|
"workflow": {
|
||||||
|
"assemblyComponents": 2,
|
||||||
|
"bimElements": 1,
|
||||||
|
"meshTriangles": 12,
|
||||||
|
"surfacePatches": 5,
|
||||||
|
"exports": {
|
||||||
|
"assemblyBytes": 718,
|
||||||
|
"ifcBytes": 437,
|
||||||
|
"meshObjBytes": 340,
|
||||||
|
"surfaceObjBytes": 641
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"assemblyX": 6,
|
||||||
|
"fireRating": "A1",
|
||||||
|
"meshMinX": -2.75,
|
||||||
|
"surfaceOffset": 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scale": {
|
||||||
|
"components": 1000,
|
||||||
|
"bomRows": 20,
|
||||||
|
"durationMs": 5.044999957084656,
|
||||||
|
"budgetMs": 1000
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 10035,
|
||||||
|
"hash": "9e550b295f8f5cb124c341b276437bbfa4b486928a83430538b4151ba8ce1e8e",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "ENG-CLOSURE",
|
||||||
|
"artifacts": 4,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
35
config/chrome-fault-injection-verification.json
Normal file
35
config/chrome-fault-injection-verification.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "dedicated-worker",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"sharedArrayBuffer": true,
|
||||||
|
"status": "pass",
|
||||||
|
"lifecycle": {
|
||||||
|
"initialAvailable": true,
|
||||||
|
"completed": "completed",
|
||||||
|
"cancelled": "cancelled",
|
||||||
|
"crashInjected": true,
|
||||||
|
"unavailableAfterCrash": true,
|
||||||
|
"workerFactoryCount": 3,
|
||||||
|
"recovered": "completed",
|
||||||
|
"stale": "stale",
|
||||||
|
"recoveredEnd": {
|
||||||
|
"x": 5,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"nativeInitialAvailable": true,
|
||||||
|
"nativeCrashInjected": true,
|
||||||
|
"nativeUnavailableAfterCrash": true,
|
||||||
|
"nativeWorkerFactoryCount": 2,
|
||||||
|
"nativeRecoveredAvailable": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerBytes": 0,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"activeWorkersBeforeDispose": 3,
|
||||||
|
"activeNativeWorkersBeforeDispose": 2,
|
||||||
|
"activeWorkersAfterDispose": 3,
|
||||||
|
"activeNativeWorkersAfterDispose": 2
|
||||||
|
}
|
||||||
15030
config/chrome-fcstd-golden-verification.json
Normal file
15030
config/chrome-fcstd-golden-verification.json
Normal file
File diff suppressed because it is too large
Load Diff
57
config/chrome-fcstd-roundtrip-verification.json
Normal file
57
config/chrome-fcstd-roundtrip-verification.json
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"bitbybitVersion": "1.1.1"
|
||||||
|
},
|
||||||
|
"directions": [
|
||||||
|
"freecad-web-freecad",
|
||||||
|
"web-freecad-web"
|
||||||
|
],
|
||||||
|
"scenarios": [
|
||||||
|
{
|
||||||
|
"id": "freecad-web-freecad-core",
|
||||||
|
"direction": "freecad-web-freecad",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"gui",
|
||||||
|
"resources"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "web-freecad-web-core",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"bytes": 1969,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "FC-10",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
56
config/chrome-fcstd-semantic-verification.json
Normal file
56
config/chrome-fcstd-semantic-verification.json
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"objectNames": [
|
||||||
|
"Source",
|
||||||
|
"Spreadsheet",
|
||||||
|
"Cut",
|
||||||
|
"Sketch"
|
||||||
|
],
|
||||||
|
"expression": "Spreadsheet.Width * 2",
|
||||||
|
"link": "Source",
|
||||||
|
"linkSub": {
|
||||||
|
"objectId": "Source",
|
||||||
|
"subElement": "Face1"
|
||||||
|
},
|
||||||
|
"linkSubList": [
|
||||||
|
{
|
||||||
|
"objectId": "Source",
|
||||||
|
"subElement": "Face1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"objectId": "Source",
|
||||||
|
"subElement": "Face2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sketchGeometryIds": [
|
||||||
|
"profile"
|
||||||
|
],
|
||||||
|
"dependencyRelations": [
|
||||||
|
"expression",
|
||||||
|
"link",
|
||||||
|
"topo-ref",
|
||||||
|
"topo-ref-list"
|
||||||
|
],
|
||||||
|
"archiveBytes": 1807,
|
||||||
|
"guiViews": [
|
||||||
|
"Front",
|
||||||
|
"Top"
|
||||||
|
],
|
||||||
|
"shapeResource": {
|
||||||
|
"path": "Part/Source.Shape.brp",
|
||||||
|
"byteLength": 20,
|
||||||
|
"elementMap": "1",
|
||||||
|
"elementMapEntries": 1
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "FC-06",
|
||||||
|
"archiveBytes": 1807,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
45
config/chrome-fem-verification.json
Normal file
45
config/chrome-fem-verification.json
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"geometry": {
|
||||||
|
"sourceShape": "shape-msi9tz1t-1",
|
||||||
|
"valid": true,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 39.99999999999999
|
||||||
|
},
|
||||||
|
"solve": {
|
||||||
|
"status": "solved",
|
||||||
|
"strategy": "local-reference",
|
||||||
|
"nodes": 2,
|
||||||
|
"nodeSets": 1,
|
||||||
|
"resultFields": [
|
||||||
|
"displacement",
|
||||||
|
"stress"
|
||||||
|
],
|
||||||
|
"maxDisplacement": 0.00125,
|
||||||
|
"maxStress": 25,
|
||||||
|
"csvBytes": 80
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 664,
|
||||||
|
"hash": "55d2c9b06f0e451acad3a9295facd864f37044a5e39446447591c015b435b336",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "FEM-ALL",
|
||||||
|
"nodes": 2,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
270
config/chrome-geometry-features-verification.json
Normal file
270
config/chrome-geometry-features-verification.json
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"geometryProvider": "Bitbybit OCCT",
|
||||||
|
"operations": [
|
||||||
|
{
|
||||||
|
"name": "fcstd-brep-import",
|
||||||
|
"shapeId": "shape-msi3gc2p-3",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12,
|
||||||
|
"topology": {
|
||||||
|
"faces": 6,
|
||||||
|
"edges": 12,
|
||||||
|
"vertices": 8
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "extrude",
|
||||||
|
"shapeId": "shape-msi3gc3x-5",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "revolution",
|
||||||
|
"shapeId": "shape-msi3gc4e-6",
|
||||||
|
"meshVertices": 188,
|
||||||
|
"meshTriangles": 176
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fillet-selected-edge",
|
||||||
|
"shapeId": "shape-msi3gc64-8",
|
||||||
|
"meshVertices": 54,
|
||||||
|
"meshTriangles": 40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "chamfer-selected-edge",
|
||||||
|
"shapeId": "shape-msi3gc6i-a",
|
||||||
|
"meshVertices": 30,
|
||||||
|
"meshTriangles": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "draft-selected-face",
|
||||||
|
"shapeId": "shape-msi3gc7d-c",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "thickness",
|
||||||
|
"shapeId": "shape-msi3gc9p-e",
|
||||||
|
"meshVertices": 48,
|
||||||
|
"meshTriangles": 28
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hole-counterbore",
|
||||||
|
"shapeId": "shape-msi3gclb-i",
|
||||||
|
"meshVertices": 322,
|
||||||
|
"meshTriangles": 248
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hole-countersink",
|
||||||
|
"shapeId": "shape-msi3gcy0-m",
|
||||||
|
"meshVertices": 476,
|
||||||
|
"meshTriangles": 350
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hole-counterdrill",
|
||||||
|
"shapeId": "shape-msi3gdce-r",
|
||||||
|
"meshVertices": 530,
|
||||||
|
"meshTriangles": 402
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hole-angled-drill-point",
|
||||||
|
"shapeId": "shape-msi3gdo2-v",
|
||||||
|
"meshVertices": 439,
|
||||||
|
"meshTriangles": 323
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hole-angled-included-depth",
|
||||||
|
"shapeId": "shape-msi3gdz7-z",
|
||||||
|
"meshVertices": 439,
|
||||||
|
"meshTriangles": 323
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hole-tapered",
|
||||||
|
"shapeId": "shape-msi3ge0m-12",
|
||||||
|
"meshVertices": 186,
|
||||||
|
"meshTriangles": 220
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "loft",
|
||||||
|
"shapeId": "shape-msi3ge1k-13",
|
||||||
|
"meshVertices": 28,
|
||||||
|
"meshTriangles": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "loft-ruled",
|
||||||
|
"shapeId": "shape-msi3ge21-14",
|
||||||
|
"meshVertices": 28,
|
||||||
|
"meshTriangles": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "loft-additive",
|
||||||
|
"shapeId": "shape-msi3ge70-16",
|
||||||
|
"meshVertices": 48,
|
||||||
|
"meshTriangles": 28
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "loft-subtractive",
|
||||||
|
"shapeId": "shape-msi3ge87-18",
|
||||||
|
"meshVertices": 52,
|
||||||
|
"meshTriangles": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pipe",
|
||||||
|
"shapeId": "shape-msi3ge93-19",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "extrude-two-sided",
|
||||||
|
"shapeId": "shape-msi3ge9z-1c",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "revolution-symmetric",
|
||||||
|
"shapeId": "shape-msi3gebl-1f",
|
||||||
|
"meshVertices": 132,
|
||||||
|
"meshTriangles": 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "revolution-two-angles",
|
||||||
|
"shapeId": "shape-msi3gedv-1i",
|
||||||
|
"meshVertices": 16,
|
||||||
|
"meshTriangles": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pad-two-sided",
|
||||||
|
"shapeId": "shape-msi3geem-1l",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-two-sided",
|
||||||
|
"shapeId": "shape-msi3gemb-1o",
|
||||||
|
"meshVertices": 216,
|
||||||
|
"meshTriangles": 144
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pad-tapered",
|
||||||
|
"shapeId": "shape-msi3gen7-1p",
|
||||||
|
"meshVertices": 28,
|
||||||
|
"meshTriangles": 20,
|
||||||
|
"volume": 98.7734437461102
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-tapered",
|
||||||
|
"shapeId": "shape-msi3geos-1r",
|
||||||
|
"meshVertices": 52,
|
||||||
|
"meshTriangles": 40,
|
||||||
|
"volume": 810.4374375507407
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-through-all",
|
||||||
|
"shapeId": "shape-msi3gepy-1t",
|
||||||
|
"meshVertices": 48,
|
||||||
|
"meshTriangles": 32,
|
||||||
|
"volume": 960
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-up-to-face",
|
||||||
|
"shapeId": "shape-msi3geqo-1v",
|
||||||
|
"meshVertices": 48,
|
||||||
|
"meshTriangles": 32,
|
||||||
|
"volume": 960
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pad-midplane",
|
||||||
|
"shapeId": "shape-msi3ger1-1w",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12,
|
||||||
|
"volume": 95.99999999999999
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linear-pattern-spacing",
|
||||||
|
"shapeId": "shape-msi3geru-20",
|
||||||
|
"meshVertices": 72,
|
||||||
|
"meshTriangles": 36
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "polar-pattern-spacing",
|
||||||
|
"shapeId": "shape-msi3gesr-24",
|
||||||
|
"meshVertices": 72,
|
||||||
|
"meshTriangles": 36
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"beforeRelease": {
|
||||||
|
"shapeCount": 1076,
|
||||||
|
"kernelReferenceCount": 1062
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"fcstdBrep": {
|
||||||
|
"resourcePath": "Part/Box.Shape.brp",
|
||||||
|
"references": 1,
|
||||||
|
"sourceBytes": 2573,
|
||||||
|
"topology": {
|
||||||
|
"faces": 6,
|
||||||
|
"edges": 12,
|
||||||
|
"vertices": 8
|
||||||
|
},
|
||||||
|
"massProperties": {
|
||||||
|
"source": {
|
||||||
|
"volume": 24,
|
||||||
|
"surfaceArea": 52,
|
||||||
|
"centerOfMass": [
|
||||||
|
9.540979117872439e-18,
|
||||||
|
4.625929269271485e-18,
|
||||||
|
3.700743415417188e-17
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"imported": {
|
||||||
|
"volume": 24,
|
||||||
|
"surfaceArea": 52,
|
||||||
|
"centerOfMass": [
|
||||||
|
9.540979117872439e-18,
|
||||||
|
4.625929269271485e-18,
|
||||||
|
3.700743415417188e-17
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyRejected": true,
|
||||||
|
"cancelledBeforeImport": true,
|
||||||
|
"cancelledResultReleased": true
|
||||||
|
},
|
||||||
|
"exchangeFormats": {
|
||||||
|
"iges": {
|
||||||
|
"sourceBytes": 12393,
|
||||||
|
"sourceVolume": 24,
|
||||||
|
"importedVolume": 24,
|
||||||
|
"importedFaces": 6,
|
||||||
|
"importedEdges": 24,
|
||||||
|
"importedVertices": 24
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"performance": {
|
||||||
|
"durationMs": 7560.079999923706,
|
||||||
|
"operationCount": 30,
|
||||||
|
"averageOperationMs": 252.00266666412352,
|
||||||
|
"peakShapeCount": 75,
|
||||||
|
"stressObjectCount": 1000,
|
||||||
|
"stressDurationMs": 130.1799999475479,
|
||||||
|
"stressPeakShapeCount": 1075,
|
||||||
|
"triangleStress": {
|
||||||
|
"radius": 100,
|
||||||
|
"precision": 0.01,
|
||||||
|
"triangles": 100520,
|
||||||
|
"vertices": 50420,
|
||||||
|
"durationMs": 2931.8450000286102
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
},
|
||||||
|
"pageErrors": []
|
||||||
|
}
|
||||||
49
config/chrome-inspection-verification.json
Normal file
49
config/chrome-inspection-verification.json
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"shape": {
|
||||||
|
"volume": 120,
|
||||||
|
"area": 148,
|
||||||
|
"valid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"faces": 6,
|
||||||
|
"vertices": 8
|
||||||
|
},
|
||||||
|
"measurements": {
|
||||||
|
"distance": 5,
|
||||||
|
"angle": 90,
|
||||||
|
"volume": 120,
|
||||||
|
"area": 148,
|
||||||
|
"deviation": 0.009999999999999787,
|
||||||
|
"deviationStatus": "resolved",
|
||||||
|
"sectionArea": 24.000002000000038,
|
||||||
|
"topoRefs": 2,
|
||||||
|
"stableRefs": 1,
|
||||||
|
"unresolvedRefs": [
|
||||||
|
"Face2"
|
||||||
|
],
|
||||||
|
"csvRows": 6
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 823,
|
||||||
|
"hash": "85640b462b63bfa773b23b0799541af30db1dce095df77d3ae3bf9fd6cf89b86",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "INSP-ALL",
|
||||||
|
"measurements": 5,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
55
config/chrome-mesh-verification.json
Normal file
55
config/chrome-mesh-verification.json
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"geometry": {
|
||||||
|
"sourceShape": "shape-msi8t4og-1",
|
||||||
|
"vertices": 8,
|
||||||
|
"triangles": 12,
|
||||||
|
"boundaryEdges": 0,
|
||||||
|
"nonManifoldEdges": 0,
|
||||||
|
"degenerateTriangles": 0,
|
||||||
|
"selfIntersections": 0,
|
||||||
|
"surfaceArea": 304
|
||||||
|
},
|
||||||
|
"operations": {
|
||||||
|
"welded": 16,
|
||||||
|
"transformedMin": [
|
||||||
|
-6.5,
|
||||||
|
-1,
|
||||||
|
-3
|
||||||
|
],
|
||||||
|
"objBytes": 340,
|
||||||
|
"objHash": "5e92b07b682e0a4a0133b556494a2c11cacf97ed901579efde985dd270a1213a",
|
||||||
|
"plyBytes": 479,
|
||||||
|
"stlBytes": 1371,
|
||||||
|
"lodTriangles": 6,
|
||||||
|
"workerLodTriangles": 6
|
||||||
|
},
|
||||||
|
"repairs": {
|
||||||
|
"selfIntersectionFixture": 1,
|
||||||
|
"nonManifoldFixture": 1,
|
||||||
|
"holeFilledTriangles": 1
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 259,
|
||||||
|
"hash": "47984c2196fe7d53e5e9bc8f25796ab0da32a24fdefef0c688ae5d3f8ec78dd1",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "MESH-CORE",
|
||||||
|
"triangles": 12,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
62
config/chrome-native-chamfer-history-verification.json
Normal file
62
config/chrome-native-chamfer-history-verification.json
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "geometry-and-history-workers",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 150,
|
||||||
|
"relations": {
|
||||||
|
"modified": 6,
|
||||||
|
"generated": 72,
|
||||||
|
"deleted": 72
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"volume": 215.52000000000004
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerCreated": true,
|
||||||
|
"markerSuite": "chamfer",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
64
config/chrome-native-draft-history-verification.json
Normal file
64
config/chrome-native-draft-history-verification.json
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "geometry-and-history-workers",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 5,
|
||||||
|
"relations": {
|
||||||
|
"modified": 4,
|
||||||
|
"generated": 1,
|
||||||
|
"deleted": 0
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"volume": 63.999999999999986
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerCreated": true,
|
||||||
|
"markerSuite": "draft",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
61
config/chrome-native-fillet-history-verification.json
Normal file
61
config/chrome-native-fillet-history-verification.json
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "geometry-and-history-workers",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 150,
|
||||||
|
"relations": {
|
||||||
|
"modified": 6,
|
||||||
|
"generated": 72,
|
||||||
|
"deleted": 72
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"volume": 215.79398223686158
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerCreated": true,
|
||||||
|
"markerSuite": "fillet",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
491
config/chrome-native-groove-history-verification.json
Normal file
491
config/chrome-native-groove-history-verification.json
Normal file
@@ -0,0 +1,491 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"rotate",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 2,
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base",
|
||||||
|
"Profile",
|
||||||
|
"chrome-native-groove-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"relations": {
|
||||||
|
"modified": 1,
|
||||||
|
"generated": 0,
|
||||||
|
"deleted": 1
|
||||||
|
},
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-groove-history:native-stage:0",
|
||||||
|
"operation": "revolution",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Profile"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-groove-history:native-stage:0:result",
|
||||||
|
"ordinal": 0,
|
||||||
|
"topologyEntries": 14,
|
||||||
|
"recordCount": 23
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-groove-history:native-stage:1",
|
||||||
|
"operation": "cut",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Base",
|
||||||
|
"chrome-native-groove-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-groove-history:native-stage:1:result",
|
||||||
|
"ordinal": 1,
|
||||||
|
"topologyEntries": 40,
|
||||||
|
"recordCount": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"twoAngleHistory": {
|
||||||
|
"recordCount": 2,
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base",
|
||||||
|
"Profile",
|
||||||
|
"chrome-native-groove-two-angles-history:native-stage:0:result",
|
||||||
|
"chrome-native-groove-two-angles-history:native-stage:1:result"
|
||||||
|
],
|
||||||
|
"structuralValid": true,
|
||||||
|
"graphStructuralValid": false,
|
||||||
|
"graphStructuralErrors": 40,
|
||||||
|
"graphStructuralWarnings": 0,
|
||||||
|
"graphStructuralIssues": [
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 1
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 2
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 3
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 4
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 5
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 6
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 7
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 8
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 9
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 10
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 11
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 12
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 13
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 14
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 15
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 16
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 17
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 18
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 19
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 20
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 21
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 22
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 23
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 24
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 25
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 26
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 27
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 32
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 33
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 34
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 35
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 40
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 41
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 42
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 43
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 44
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 45
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 46
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 47
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unexplainedStructuralErrors": 0,
|
||||||
|
"solids": 1,
|
||||||
|
"volume": 790.5752220392302,
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-groove-two-angles-history:native-stage:0",
|
||||||
|
"operation": "rotate",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Profile"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-groove-two-angles-history:native-stage:0:result",
|
||||||
|
"ordinal": 0,
|
||||||
|
"topologyEntries": 9,
|
||||||
|
"recordCount": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-groove-two-angles-history:native-stage:1",
|
||||||
|
"operation": "revolution",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"chrome-native-groove-two-angles-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-groove-two-angles-history:native-stage:1:result",
|
||||||
|
"ordinal": 1,
|
||||||
|
"topologyEntries": 26,
|
||||||
|
"recordCount": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-groove-two-angles-history:native-stage:2",
|
||||||
|
"operation": "cut",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Base",
|
||||||
|
"chrome-native-groove-two-angles-history:native-stage:1:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "GrooveTwoAngles",
|
||||||
|
"ordinal": 2,
|
||||||
|
"topologyEntries": 52,
|
||||||
|
"recordCount": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"base": {
|
||||||
|
"boundingBox": {
|
||||||
|
"min": [
|
||||||
|
-5.0000001,
|
||||||
|
-1e-7,
|
||||||
|
-4.0000001
|
||||||
|
],
|
||||||
|
"max": [
|
||||||
|
5.0000001,
|
||||||
|
10.0000001,
|
||||||
|
4.0000001
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"volume": 799.9999999999998
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"structuralValid": true,
|
||||||
|
"structuralErrors": 0,
|
||||||
|
"structuralWarnings": 0,
|
||||||
|
"solids": 1,
|
||||||
|
"faces": 10,
|
||||||
|
"edges": 18,
|
||||||
|
"vertices": 12,
|
||||||
|
"volume": 781.1504440784611
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerOperation": "groove",
|
||||||
|
"markerRemoved": true
|
||||||
|
}
|
||||||
|
}
|
||||||
41
config/chrome-native-history-verification.json
Normal file
41
config/chrome-native-history-verification.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 87,
|
||||||
|
"relations": {
|
||||||
|
"deleted": 69,
|
||||||
|
"modified": 18
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
101
config/chrome-native-hole-history-verification.json
Normal file
101
config/chrome-native-hole-history-verification.json
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "geometry-and-history-workers",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 8,
|
||||||
|
"relations": {
|
||||||
|
"modified": 6,
|
||||||
|
"generated": 0,
|
||||||
|
"deleted": 2
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base",
|
||||||
|
"chrome-native-hole-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-hole-history:native-stage:0",
|
||||||
|
"operation": "hole",
|
||||||
|
"inputObjectIds": [],
|
||||||
|
"resultObjectId": "chrome-native-hole-history:native-stage:0:result",
|
||||||
|
"ordinal": 0,
|
||||||
|
"topologyEntries": 8,
|
||||||
|
"recordCount": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-hole-history:native-stage:1",
|
||||||
|
"operation": "cut",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Base",
|
||||||
|
"chrome-native-hole-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-hole-history:native-stage:1:result",
|
||||||
|
"ordinal": 1,
|
||||||
|
"topologyEntries": 32,
|
||||||
|
"recordCount": 8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sourceStageIds": [
|
||||||
|
"chrome-native-hole-history:native-stage:0"
|
||||||
|
],
|
||||||
|
"resultStageIds": [
|
||||||
|
"chrome-native-hole-history:native-stage:1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"volume": 968.584073464102
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerCreated": true,
|
||||||
|
"markerSuite": "hole",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 66,
|
||||||
|
"relations": {
|
||||||
|
"modified": 64,
|
||||||
|
"generated": 0,
|
||||||
|
"deleted": 2
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"bitbybitStructuralValid": false,
|
||||||
|
"bitbybitSolids": 1,
|
||||||
|
"bitbybitVolume": 12,
|
||||||
|
"nativeStructuralValid": true,
|
||||||
|
"nativeSolids": 1,
|
||||||
|
"nativeVolume": 11.999999999999995
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "linear-pattern",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
73
config/chrome-native-loft-history-verification.json
Normal file
73
config/chrome-native-loft-history-verification.json
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 24,
|
||||||
|
"relations": {
|
||||||
|
"modified": 0,
|
||||||
|
"generated": 24,
|
||||||
|
"deleted": 0
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"FirstSection",
|
||||||
|
"SecondSection"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"bitbybitStructuralValid": false,
|
||||||
|
"bitbybitSolids": 1,
|
||||||
|
"bitbybitVolume": 20
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerPayload": {
|
||||||
|
"operation": "loft",
|
||||||
|
"sections": 2,
|
||||||
|
"ruled": false
|
||||||
|
},
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
69
config/chrome-native-mirrored-history-verification.json
Normal file
69
config/chrome-native-mirrored-history-verification.json
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 66,
|
||||||
|
"relations": {
|
||||||
|
"modified": 64,
|
||||||
|
"generated": 0,
|
||||||
|
"deleted": 2
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"bitbybitStructuralValid": false,
|
||||||
|
"bitbybitSolids": 1,
|
||||||
|
"bitbybitVolume": 3,
|
||||||
|
"nativeStructuralValid": true,
|
||||||
|
"nativeSolids": 1,
|
||||||
|
"nativeVolume": 2.999999999999999
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "mirrored",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
119
config/chrome-native-multi-transform-history-verification.json
Normal file
119
config/chrome-native-multi-transform-history-verification.json
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 311,
|
||||||
|
"relations": {
|
||||||
|
"modified": 88,
|
||||||
|
"generated": 222,
|
||||||
|
"deleted": 1
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
],
|
||||||
|
"transformKinds": [
|
||||||
|
"linear",
|
||||||
|
"mirrored"
|
||||||
|
],
|
||||||
|
"stagedRecordCount": 97,
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"stageId": "multi-transform-staged-history:native-stage:0",
|
||||||
|
"operation": "linear-pattern",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Base"
|
||||||
|
],
|
||||||
|
"resultObjectId": "multi-transform-staged-history:native-stage:0:result",
|
||||||
|
"ordinal": 0,
|
||||||
|
"topologyEntries": 58,
|
||||||
|
"recordCount": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "multi-transform-staged-history:native-stage:1",
|
||||||
|
"operation": "mirrored",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"multi-transform-staged-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "MultiTransform",
|
||||||
|
"ordinal": 1,
|
||||||
|
"topologyEntries": 90,
|
||||||
|
"recordCount": 97
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"finalRecordLineage": {
|
||||||
|
"records": 97,
|
||||||
|
"sourceObjectIds": [
|
||||||
|
"multi-transform-staged-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"sourceStageIds": [
|
||||||
|
"multi-transform-staged-history:native-stage:0"
|
||||||
|
],
|
||||||
|
"resultStageIds": [
|
||||||
|
"multi-transform-staged-history:native-stage:1"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"bitbybitStructuralValid": false,
|
||||||
|
"bitbybitSolids": 1,
|
||||||
|
"bitbybitVolume": 4.999999999999999,
|
||||||
|
"nativeStructuralValid": true,
|
||||||
|
"nativeSolids": 1,
|
||||||
|
"nativeVolume": 4.999999999999998
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerPayload": {
|
||||||
|
"operation": "multi-transform",
|
||||||
|
"transformKinds": [
|
||||||
|
"linear",
|
||||||
|
"mirrored"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
59
config/chrome-native-pad-history-verification.json
Normal file
59
config/chrome-native-pad-history-verification.json
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "dedicated-worker",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"execution": {
|
||||||
|
"status": "completed",
|
||||||
|
"recordCount": 25,
|
||||||
|
"crossKindRecords": 12,
|
||||||
|
"relations": {
|
||||||
|
"modified": 13,
|
||||||
|
"generated": 12,
|
||||||
|
"deleted": 0
|
||||||
|
},
|
||||||
|
"profileKinds": [
|
||||||
|
"vertex",
|
||||||
|
"edge",
|
||||||
|
"face"
|
||||||
|
],
|
||||||
|
"summary": {
|
||||||
|
"shapeType": "CompSolid",
|
||||||
|
"isNull": false,
|
||||||
|
"isValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"faces": 6,
|
||||||
|
"edges": 12,
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 30,
|
||||||
|
"area": 62,
|
||||||
|
"boundingBox": {
|
||||||
|
"min": [
|
||||||
|
-1e-7,
|
||||||
|
-1e-7,
|
||||||
|
-1e-7
|
||||||
|
],
|
||||||
|
"max": [
|
||||||
|
2.0000001,
|
||||||
|
3.0000001,
|
||||||
|
5.0000001
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"workerDisposed": true
|
||||||
|
}
|
||||||
74
config/chrome-native-pipe-history-verification.json
Normal file
74
config/chrome-native-pipe-history-verification.json
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 28,
|
||||||
|
"relations": {
|
||||||
|
"modified": 1,
|
||||||
|
"generated": 27,
|
||||||
|
"deleted": 0
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Profile",
|
||||||
|
"Spine"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"bitbybitStructuralValid": false,
|
||||||
|
"bitbybitSolids": 1,
|
||||||
|
"bitbybitVolume": 20.000000000000004
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerPayload": {
|
||||||
|
"operation": "pipe",
|
||||||
|
"profiles": 1,
|
||||||
|
"spineEdges": 1
|
||||||
|
},
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
147
config/chrome-native-pocket-history-verification.json
Normal file
147
config/chrome-native-pocket-history-verification.json
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 42,
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base",
|
||||||
|
"Profile",
|
||||||
|
"chrome-native-pocket-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"relations": {
|
||||||
|
"modified": 21,
|
||||||
|
"generated": 0,
|
||||||
|
"deleted": 21
|
||||||
|
},
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-pocket-history:native-stage:0",
|
||||||
|
"operation": "pad",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Profile"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-pocket-history:native-stage:0:result",
|
||||||
|
"ordinal": 0,
|
||||||
|
"topologyEntries": 26,
|
||||||
|
"recordCount": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-pocket-history:native-stage:1",
|
||||||
|
"operation": "cut",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Base",
|
||||||
|
"chrome-native-pocket-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-pocket-history:native-stage:1:result",
|
||||||
|
"ordinal": 1,
|
||||||
|
"topologyEntries": 44,
|
||||||
|
"recordCount": 42
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"twoSidedHistory": {
|
||||||
|
"recordCount": 20,
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"sourceObjects": [
|
||||||
|
"BaseTwoSided",
|
||||||
|
"Profile",
|
||||||
|
"chrome-native-pocket-two-sided-history:native-stage:0:result",
|
||||||
|
"chrome-native-pocket-two-sided-history:native-stage:1:result",
|
||||||
|
"chrome-native-pocket-two-sided-history:native-stage:2:result"
|
||||||
|
],
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-pocket-two-sided-history:native-stage:0",
|
||||||
|
"operation": "pad",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Profile"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-pocket-two-sided-history:native-stage:0:result",
|
||||||
|
"ordinal": 0,
|
||||||
|
"topologyEntries": 26,
|
||||||
|
"recordCount": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-pocket-two-sided-history:native-stage:1",
|
||||||
|
"operation": "pad",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Profile"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-pocket-two-sided-history:native-stage:1:result",
|
||||||
|
"ordinal": 1,
|
||||||
|
"topologyEntries": 26,
|
||||||
|
"recordCount": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-pocket-two-sided-history:native-stage:2",
|
||||||
|
"operation": "fuse",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"chrome-native-pocket-two-sided-history:native-stage:0:result",
|
||||||
|
"chrome-native-pocket-two-sided-history:native-stage:1:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-pocket-two-sided-history:native-stage:2:result",
|
||||||
|
"ordinal": 2,
|
||||||
|
"topologyEntries": 42,
|
||||||
|
"recordCount": 90
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-pocket-two-sided-history:native-stage:3",
|
||||||
|
"operation": "cut",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"BaseTwoSided",
|
||||||
|
"chrome-native-pocket-two-sided-history:native-stage:2:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "PocketTwoSided",
|
||||||
|
"ordinal": 3,
|
||||||
|
"topologyEntries": 66,
|
||||||
|
"recordCount": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
68
config/chrome-native-polar-pattern-history-verification.json
Normal file
68
config/chrome-native-polar-pattern-history-verification.json
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 68,
|
||||||
|
"relations": {
|
||||||
|
"modified": 68,
|
||||||
|
"generated": 0,
|
||||||
|
"deleted": 0
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"bitbybitStructuralValid": false,
|
||||||
|
"bitbybitSolids": 1,
|
||||||
|
"bitbybitVolume": 3,
|
||||||
|
"nativeStructuralValid": true,
|
||||||
|
"nativeSolids": 1,
|
||||||
|
"nativeVolume": 3.0000000000000004
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "polar-pattern",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
132
config/chrome-native-revolution-history-verification.json
Normal file
132
config/chrome-native-revolution-history-verification.json
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"rotate",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"loft",
|
||||||
|
"pipe",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness",
|
||||||
|
"linear-pattern",
|
||||||
|
"polar-pattern",
|
||||||
|
"mirrored",
|
||||||
|
"multi-transform"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 23,
|
||||||
|
"crossKindRecords": 10,
|
||||||
|
"relations": {
|
||||||
|
"modified": 10,
|
||||||
|
"generated": 10,
|
||||||
|
"deleted": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"twoSidedHistory": {
|
||||||
|
"recordCount": 25,
|
||||||
|
"structuralValid": true,
|
||||||
|
"graphStructuralValid": false,
|
||||||
|
"graphStructuralErrors": 4,
|
||||||
|
"graphStructuralWarnings": 0,
|
||||||
|
"graphStructuralIssues": [
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 16
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 17
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 18
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"severity": "error",
|
||||||
|
"node": {
|
||||||
|
"kind": "coedge",
|
||||||
|
"index": 19
|
||||||
|
},
|
||||||
|
"description": "CoEdgeDef has no Curve2D representation"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unexplainedStructuralErrors": 0,
|
||||||
|
"solids": 1,
|
||||||
|
"volume": 37.69911184307333,
|
||||||
|
"stages": [
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-revolution-two-sided-history:native-stage:0",
|
||||||
|
"operation": "rotate",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"Profile"
|
||||||
|
],
|
||||||
|
"resultObjectId": "chrome-native-revolution-two-sided-history:native-stage:0:result",
|
||||||
|
"ordinal": 0,
|
||||||
|
"topologyEntries": 9,
|
||||||
|
"recordCount": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stageId": "chrome-native-revolution-two-sided-history:native-stage:1",
|
||||||
|
"operation": "revolution",
|
||||||
|
"inputObjectIds": [
|
||||||
|
"chrome-native-revolution-two-sided-history:native-stage:0:result"
|
||||||
|
],
|
||||||
|
"resultObjectId": "RevolutionTwoSided",
|
||||||
|
"ordinal": 1,
|
||||||
|
"topologyEntries": 26,
|
||||||
|
"recordCount": 25
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"structuralValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"volume": 75.39822368615503
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
68
config/chrome-native-thickness-history-verification.json
Normal file
68
config/chrome-native-thickness-history-verification.json
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "geometry-and-history-workers",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"nativeCapabilities": {
|
||||||
|
"providerId": "occt-native.history-step",
|
||||||
|
"providerVersion": "8.0.0-embind",
|
||||||
|
"occtVersion": "8.0.0",
|
||||||
|
"availability": "available",
|
||||||
|
"operations": [
|
||||||
|
"fuse",
|
||||||
|
"cut",
|
||||||
|
"common",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"revolution",
|
||||||
|
"groove",
|
||||||
|
"fillet",
|
||||||
|
"chamfer",
|
||||||
|
"hole",
|
||||||
|
"draft",
|
||||||
|
"thickness"
|
||||||
|
],
|
||||||
|
"transport": "step-text"
|
||||||
|
},
|
||||||
|
"history": {
|
||||||
|
"recordCount": 38,
|
||||||
|
"relations": {
|
||||||
|
"modified": 1,
|
||||||
|
"generated": 37,
|
||||||
|
"deleted": 0
|
||||||
|
},
|
||||||
|
"sourceObjects": [
|
||||||
|
"Base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"bitbybitStructuralValid": false,
|
||||||
|
"bitbybitSolids": 1,
|
||||||
|
"bitbybitVolume": 64.57600000000002,
|
||||||
|
"nativeStructuralValid": true,
|
||||||
|
"nativeSolids": 1,
|
||||||
|
"nativeVolume": 64.57600000000002
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerCreated": true,
|
||||||
|
"markerSuite": "thickness",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
34
config/chrome-offline-verification.json
Normal file
34
config/chrome-offline-verification.json
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"serviceWorker": {
|
||||||
|
"registered": true,
|
||||||
|
"controlled": true,
|
||||||
|
"shellCached": true,
|
||||||
|
"staleCacheRemoved": true,
|
||||||
|
"offlineFallback": true,
|
||||||
|
"cacheNames": [
|
||||||
|
"bitbybit-cad-shell-v1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"bytes": 80,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "REL-01",
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
36
config/chrome-opfs-migration-verification.json
Normal file
36
config/chrome-opfs-migration-verification.json
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"migration": {
|
||||||
|
"sourceSchemaVersion": 1,
|
||||||
|
"migratedSchemaVersion": 6,
|
||||||
|
"migratedDocumentVersion": 3,
|
||||||
|
"migratedLabel": "Legacy OPFS project",
|
||||||
|
"migratedObjectCount": 1,
|
||||||
|
"recomputeDefaulted": true,
|
||||||
|
"reopenedSchemaVersion": 6,
|
||||||
|
"reopenedVersion": 4,
|
||||||
|
"reopenedLabel": "Migrated OPFS project",
|
||||||
|
"checkpointVersion": 4,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"reopenedRecoveryIntegrity": "ok",
|
||||||
|
"resourceRoundTrip": true,
|
||||||
|
"resourceReleased": true
|
||||||
|
},
|
||||||
|
"rollback": {
|
||||||
|
"rejected": true,
|
||||||
|
"interruptedAfterMarker": true,
|
||||||
|
"error": "Injected migration interruption after schema version 3.",
|
||||||
|
"appliedVersionsAfterFailure": [
|
||||||
|
1
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cleanup": {
|
||||||
|
"databasePath": "/bitbybit-rel02-301b6b76-9ab6-44ef-bf40-f2e6052e58ae.sqlite3",
|
||||||
|
"removedFiles": [
|
||||||
|
"bitbybit-rel02-301b6b76-9ab6-44ef-bf40-f2e6052e58ae.sqlite3"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
54
config/chrome-part-primitives-verification.json
Normal file
54
config/chrome-part-primitives-verification.json
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"operations": [
|
||||||
|
{
|
||||||
|
"name": "ellipsoid",
|
||||||
|
"meshVertices": 603,
|
||||||
|
"meshTriangles": 1170,
|
||||||
|
"volume": 100.48699804303837
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "torus",
|
||||||
|
"meshVertices": 972,
|
||||||
|
"meshTriangles": 1820,
|
||||||
|
"volume": 98.69604401089352
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "prism",
|
||||||
|
"meshVertices": 36,
|
||||||
|
"meshTriangles": 20,
|
||||||
|
"volume": 41.569219381653056
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wedge",
|
||||||
|
"meshVertices": 24,
|
||||||
|
"meshTriangles": 12,
|
||||||
|
"volume": 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "helix",
|
||||||
|
"meshVertices": 0,
|
||||||
|
"meshTriangles": 0,
|
||||||
|
"length": 25.839014719433763
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"beforeRelease": {
|
||||||
|
"shapeCount": 5,
|
||||||
|
"kernelReferenceCount": 5
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "PART-ALL",
|
||||||
|
"markerOperations": 5,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
93
config/chrome-partdesign-lifecycle-verification.json
Normal file
93
config/chrome-partdesign-lifecycle-verification.json
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"structural": {
|
||||||
|
"initialOrder": [
|
||||||
|
"sketch",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"fillet"
|
||||||
|
],
|
||||||
|
"restoredOrder": [
|
||||||
|
"sketch",
|
||||||
|
"pad",
|
||||||
|
"pocket",
|
||||||
|
"fillet"
|
||||||
|
],
|
||||||
|
"reorderRejected": true,
|
||||||
|
"dependencyRemovalRejected": true,
|
||||||
|
"deleted": {
|
||||||
|
"removed": [
|
||||||
|
"fillet"
|
||||||
|
],
|
||||||
|
"tip": "pocket",
|
||||||
|
"filletExists": false
|
||||||
|
},
|
||||||
|
"deletionUndone": {
|
||||||
|
"tip": "fillet",
|
||||||
|
"filletExists": true
|
||||||
|
},
|
||||||
|
"deletionRedone": {
|
||||||
|
"tip": "pocket",
|
||||||
|
"filletExists": false
|
||||||
|
},
|
||||||
|
"restoredTip": "fillet"
|
||||||
|
},
|
||||||
|
"initial": {
|
||||||
|
"length": 42,
|
||||||
|
"tip": "pad",
|
||||||
|
"support": "XY_Plane",
|
||||||
|
"pocketSuppressed": true,
|
||||||
|
"filletSuppressed": true,
|
||||||
|
"shapeId": "shape-msi74mj9-1",
|
||||||
|
"volume": 504,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"length": 31,
|
||||||
|
"tip": "pad",
|
||||||
|
"support": "XY_Plane",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 1,
|
||||||
|
"kernelReferenceCount": 1,
|
||||||
|
"shapeId": "shape-msi74ml0-2",
|
||||||
|
"volume": 372,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
"undone": {
|
||||||
|
"length": 42,
|
||||||
|
"tip": "pad",
|
||||||
|
"support": "XY_Plane",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 1,
|
||||||
|
"kernelReferenceCount": 1,
|
||||||
|
"shapeId": "shape-msi74mln-3",
|
||||||
|
"volume": 504,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
"reopened": {
|
||||||
|
"length": 42,
|
||||||
|
"tip": "pad",
|
||||||
|
"support": "XY_Plane",
|
||||||
|
"pocketSuppressed": true,
|
||||||
|
"filletSuppressed": true,
|
||||||
|
"persistedLength": 42,
|
||||||
|
"savedVersion": 24,
|
||||||
|
"activeVersion": 24,
|
||||||
|
"recompute": "completed",
|
||||||
|
"persistenceMode": "sqlite-opfs",
|
||||||
|
"shapeId": "shape-msi74moe-5",
|
||||||
|
"volume": 504,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
"released": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
118
config/chrome-partdesign-loft-verification.json
Normal file
118
config/chrome-partdesign-loft-verification.json
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"operations": [
|
||||||
|
{
|
||||||
|
"command": "additive-loft",
|
||||||
|
"objectId": "additive-loft",
|
||||||
|
"typeId": "PartDesign::AdditiveLoft",
|
||||||
|
"recompute": "completed",
|
||||||
|
"base": "pad",
|
||||||
|
"profile": "sketch",
|
||||||
|
"sections": [
|
||||||
|
"sketch001"
|
||||||
|
],
|
||||||
|
"spine": null,
|
||||||
|
"transition": null,
|
||||||
|
"tip": "additive-loft",
|
||||||
|
"shapeId": "shape-msi3obcr-2",
|
||||||
|
"volume": 504
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "additive-pipe",
|
||||||
|
"objectId": "additive-pipe",
|
||||||
|
"typeId": "PartDesign::AdditivePipe",
|
||||||
|
"recompute": "completed",
|
||||||
|
"base": "additive-loft",
|
||||||
|
"profile": "sketch003",
|
||||||
|
"sections": null,
|
||||||
|
"spine": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "sketch002",
|
||||||
|
"subElements": []
|
||||||
|
},
|
||||||
|
"transition": "Transformed",
|
||||||
|
"tip": "additive-pipe",
|
||||||
|
"shapeId": "shape-msi3obgk-4",
|
||||||
|
"volume": 524
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "subtractive-loft",
|
||||||
|
"objectId": "subtractive-loft",
|
||||||
|
"typeId": "PartDesign::SubtractiveLoft",
|
||||||
|
"recompute": "completed",
|
||||||
|
"base": "additive-pipe",
|
||||||
|
"profile": "sketch004",
|
||||||
|
"sections": [
|
||||||
|
"sketch005"
|
||||||
|
],
|
||||||
|
"spine": null,
|
||||||
|
"transition": null,
|
||||||
|
"tip": "subtractive-loft",
|
||||||
|
"shapeId": "shape-msi3obk0-5",
|
||||||
|
"volume": 512.0000000000001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "subtractive-pipe",
|
||||||
|
"objectId": "subtractive-pipe",
|
||||||
|
"typeId": "PartDesign::SubtractivePipe",
|
||||||
|
"recompute": "completed",
|
||||||
|
"base": "subtractive-loft",
|
||||||
|
"profile": "sketch006",
|
||||||
|
"sections": null,
|
||||||
|
"spine": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "sketch007",
|
||||||
|
"subElements": []
|
||||||
|
},
|
||||||
|
"transition": "Transformed",
|
||||||
|
"tip": "subtractive-pipe",
|
||||||
|
"shapeId": "shape-msi3obnp-6",
|
||||||
|
"volume": 511.0000000000001
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"failureRecovery": {
|
||||||
|
"loft": {
|
||||||
|
"status": "failed",
|
||||||
|
"code": "LOFT_SECTIONS_DUPLICATE",
|
||||||
|
"retainedShapeId": "shape-msi3obcr-2",
|
||||||
|
"previousShapeId": "shape-msi3obcr-2",
|
||||||
|
"restoredStatus": "completed",
|
||||||
|
"restoredShapeId": "shape-msi3obdt-3"
|
||||||
|
},
|
||||||
|
"pipe": {
|
||||||
|
"status": "failed",
|
||||||
|
"code": "PIPE_PATH_BRANCH",
|
||||||
|
"retainedShapeId": "shape-msi3obnp-6",
|
||||||
|
"previousShapeId": "shape-msi3obnp-6",
|
||||||
|
"restoredStatus": "completed",
|
||||||
|
"restoredShapeId": "shape-msi3obq6-7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"savedVersion": 70,
|
||||||
|
"reopenedVersion": 70,
|
||||||
|
"objectCount": 19,
|
||||||
|
"reopenedTip": "subtractive-pipe"
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "PD-LOFT",
|
||||||
|
"markerOperations": 4,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"beforeRelease": {
|
||||||
|
"shapeCount": 5,
|
||||||
|
"kernelReferenceCount": 5
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
337
config/chrome-partdesign-transform-verification.json
Normal file
337
config/chrome-partdesign-transform-verification.json
Normal file
@@ -0,0 +1,337 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"operations": [
|
||||||
|
{
|
||||||
|
"command": "hole",
|
||||||
|
"objectId": "hole",
|
||||||
|
"typeId": "PartDesign::Hole",
|
||||||
|
"base": "pad",
|
||||||
|
"tip": "hole",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 2,
|
||||||
|
"kernelReferenceCount": 2,
|
||||||
|
"shapeId": "shape-msi6khll-3",
|
||||||
|
"volume": 497.71681469282044,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"threaded": false,
|
||||||
|
"modelThread": false,
|
||||||
|
"threadType": "None",
|
||||||
|
"threadSize": "M6x1.0",
|
||||||
|
"threadDirection": "Right"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "fillet",
|
||||||
|
"objectId": "fillet001",
|
||||||
|
"typeId": "PartDesign::Fillet",
|
||||||
|
"base": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "hole",
|
||||||
|
"kind": "edge",
|
||||||
|
"persistentId": "topo-edge-c5080c7f512c3757",
|
||||||
|
"topologyVersion": 25,
|
||||||
|
"generation": 2,
|
||||||
|
"status": "new",
|
||||||
|
"signature": "edge|curve=line|length=800|range=|adjacent=plane,plane,plane|degenerated=0"
|
||||||
|
},
|
||||||
|
"tip": "fillet001",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 3,
|
||||||
|
"kernelReferenceCount": 3,
|
||||||
|
"shapeId": "shape-msi6khor-4",
|
||||||
|
"volume": 497.5808989123684,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "chamfer",
|
||||||
|
"objectId": "chamfer",
|
||||||
|
"typeId": "PartDesign::Chamfer",
|
||||||
|
"base": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "hole",
|
||||||
|
"kind": "edge",
|
||||||
|
"persistentId": "topo-edge-1190dbb2fa02bb4d",
|
||||||
|
"topologyVersion": 25,
|
||||||
|
"generation": 2,
|
||||||
|
"status": "new",
|
||||||
|
"signature": "edge|curve=line|length=800|range=|adjacent=plane,plane|degenerated=0"
|
||||||
|
},
|
||||||
|
"tip": "chamfer",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 4,
|
||||||
|
"kernelReferenceCount": 4,
|
||||||
|
"shapeId": "shape-msi6khqq-5",
|
||||||
|
"volume": 497.5368146928205,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "draft",
|
||||||
|
"objectId": "draft",
|
||||||
|
"typeId": "PartDesign::Draft",
|
||||||
|
"base": {
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"objectId": "hole",
|
||||||
|
"kind": "face",
|
||||||
|
"persistentId": "topo-face-154d54dd4cc87e90",
|
||||||
|
"topologyVersion": 25,
|
||||||
|
"generation": 2,
|
||||||
|
"status": "new",
|
||||||
|
"signature": "face|surface=cylinder|area=5027|adjacent=2|edges=3|wires=0|natural=0"
|
||||||
|
},
|
||||||
|
"tip": "draft",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 5,
|
||||||
|
"kernelReferenceCount": 5,
|
||||||
|
"shapeId": "shape-msi6khs1-7",
|
||||||
|
"volume": 484.8175441487494,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "thickness",
|
||||||
|
"objectId": "thickness",
|
||||||
|
"typeId": "PartDesign::Thickness",
|
||||||
|
"base": "hole",
|
||||||
|
"tip": "thickness",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 6,
|
||||||
|
"kernelReferenceCount": 6,
|
||||||
|
"shapeId": "shape-msi6khue-9",
|
||||||
|
"volume": 505.16706481222076,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "hole",
|
||||||
|
"objectId": "hole001",
|
||||||
|
"typeId": "PartDesign::Hole",
|
||||||
|
"base": "hole",
|
||||||
|
"tip": "hole001",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 7,
|
||||||
|
"kernelReferenceCount": 7,
|
||||||
|
"shapeId": "shape-msi6ki2i-j",
|
||||||
|
"volume": 363.66427233552065,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"threaded": true,
|
||||||
|
"modelThread": false,
|
||||||
|
"threadType": "ISOMetricProfile",
|
||||||
|
"threadSize": "M1x0.25",
|
||||||
|
"threadDirection": "Right"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "hole",
|
||||||
|
"objectId": "hole002",
|
||||||
|
"typeId": "PartDesign::Hole",
|
||||||
|
"base": "hole001",
|
||||||
|
"tip": "hole002",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 8,
|
||||||
|
"kernelReferenceCount": 8,
|
||||||
|
"shapeId": "shape-msi6kjlh-m",
|
||||||
|
"volume": 347.12633973440813,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"threaded": true,
|
||||||
|
"modelThread": true,
|
||||||
|
"threadType": "ISOMetricProfile",
|
||||||
|
"threadSize": "M2x0.4",
|
||||||
|
"threadDirection": "Left"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "linear-pattern",
|
||||||
|
"objectId": "linear-pattern",
|
||||||
|
"typeId": "PartDesign::LinearPattern",
|
||||||
|
"base": "hole001",
|
||||||
|
"tip": "linear-pattern",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 9,
|
||||||
|
"kernelReferenceCount": 9,
|
||||||
|
"shapeId": "shape-msi6kk24-p",
|
||||||
|
"volume": 357.3810870283411,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"transformMode": "Features",
|
||||||
|
"originals": [
|
||||||
|
"hole"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "mirrored",
|
||||||
|
"objectId": "mirrored",
|
||||||
|
"typeId": "PartDesign::Mirrored",
|
||||||
|
"base": "linear-pattern",
|
||||||
|
"tip": "mirrored",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 10,
|
||||||
|
"kernelReferenceCount": 10,
|
||||||
|
"shapeId": "shape-msi6kk4j-s",
|
||||||
|
"volume": 354.26859542168523,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"transformMode": "Features",
|
||||||
|
"originals": [
|
||||||
|
"hole"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "mirrored",
|
||||||
|
"objectId": "mirrored001",
|
||||||
|
"typeId": "PartDesign::Mirrored",
|
||||||
|
"base": "mirrored",
|
||||||
|
"tip": "mirrored001",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 11,
|
||||||
|
"kernelReferenceCount": 11,
|
||||||
|
"shapeId": "shape-msi6kk61-t",
|
||||||
|
"volume": 354.26859542168523,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"transformMode": "Whole shape",
|
||||||
|
"originals": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "linear-pattern",
|
||||||
|
"objectId": "linear-pattern001",
|
||||||
|
"typeId": "PartDesign::LinearPattern",
|
||||||
|
"base": "mirrored001",
|
||||||
|
"tip": "linear-pattern001",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 12,
|
||||||
|
"kernelReferenceCount": 12,
|
||||||
|
"shapeId": "shape-msi6kkk8-w",
|
||||||
|
"volume": 547.6164162707034,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"transformMode": "Whole shape",
|
||||||
|
"originals": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "polar-pattern",
|
||||||
|
"objectId": "polar-pattern",
|
||||||
|
"typeId": "PartDesign::PolarPattern",
|
||||||
|
"base": "linear-pattern001",
|
||||||
|
"tip": "polar-pattern",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 13,
|
||||||
|
"kernelReferenceCount": 13,
|
||||||
|
"shapeId": "shape-msi6kl0z-z",
|
||||||
|
"volume": 1351.4339505434775,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"transformMode": "Whole shape",
|
||||||
|
"originals": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "multi-transform",
|
||||||
|
"objectId": "multi-transform",
|
||||||
|
"typeId": "PartDesign::MultiTransform",
|
||||||
|
"base": "polar-pattern",
|
||||||
|
"tip": "multi-transform",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 14,
|
||||||
|
"kernelReferenceCount": 14,
|
||||||
|
"shapeId": "shape-msi6kmxn-13",
|
||||||
|
"volume": 2031.0345622237955,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"transformMode": "Whole shape",
|
||||||
|
"originals": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "hole",
|
||||||
|
"objectId": "hole003",
|
||||||
|
"typeId": "PartDesign::Hole",
|
||||||
|
"base": "multi-transform",
|
||||||
|
"tip": "hole003",
|
||||||
|
"recompute": "completed",
|
||||||
|
"shapeCount": 15,
|
||||||
|
"kernelReferenceCount": 15,
|
||||||
|
"shapeId": "shape-msi6kn10-17",
|
||||||
|
"volume": 1996.182518723034,
|
||||||
|
"solids": 1,
|
||||||
|
"structuralValid": false,
|
||||||
|
"threaded": false,
|
||||||
|
"modelThread": false,
|
||||||
|
"threadType": "None",
|
||||||
|
"threadSize": "M6x1.0",
|
||||||
|
"threadDirection": "Right"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ambiguityRecovery": {
|
||||||
|
"command": "fillet",
|
||||||
|
"status": "failed",
|
||||||
|
"code": "DRESSUP_EDGE_REFERENCE_UNRESOLVED",
|
||||||
|
"retainedShapeId": "shape-msi6khor-4",
|
||||||
|
"previousShapeId": "shape-msi6khor-4",
|
||||||
|
"restoredStatus": "completed",
|
||||||
|
"restoredShapeId": "shape-msi6khvg-a"
|
||||||
|
},
|
||||||
|
"topologyMigration": {
|
||||||
|
"editedPadLength": 31,
|
||||||
|
"migrated": [
|
||||||
|
{
|
||||||
|
"command": "fillet",
|
||||||
|
"objectId": "hole",
|
||||||
|
"kind": "edge",
|
||||||
|
"status": "ambiguous",
|
||||||
|
"persistentId": "topo-edge-c5080c7f512c3757"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "chamfer",
|
||||||
|
"objectId": "hole",
|
||||||
|
"kind": "edge",
|
||||||
|
"status": "ambiguous",
|
||||||
|
"persistentId": "topo-edge-1190dbb2fa02bb4d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "draft",
|
||||||
|
"objectId": "hole",
|
||||||
|
"kind": "face",
|
||||||
|
"status": "stable",
|
||||||
|
"persistentId": "topo-face-154d54dd4cc87e90"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "thickness",
|
||||||
|
"objectId": "hole",
|
||||||
|
"kind": "face",
|
||||||
|
"status": "ambiguous",
|
||||||
|
"persistentId": "topo-face-82a09f740c619c10"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stable": 1,
|
||||||
|
"ambiguous": 3,
|
||||||
|
"ambiguityDiagnostics": 3,
|
||||||
|
"wrongBindings": 0
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"savedVersion": 41,
|
||||||
|
"reopenedVersion": 41,
|
||||||
|
"reopenedTip": "hole003",
|
||||||
|
"objectCount": 21
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "PD-TRANSFORM",
|
||||||
|
"markerOperations": 14,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"beforeRelease": {
|
||||||
|
"shapeCount": 12,
|
||||||
|
"kernelReferenceCount": 12
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
35
config/chrome-performance-verification.json
Normal file
35
config/chrome-performance-verification.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"benchmark": {
|
||||||
|
"objects": 1000,
|
||||||
|
"triangles": 1000000,
|
||||||
|
"tableCells": 100000,
|
||||||
|
"objectMs": 0.26999998092651367,
|
||||||
|
"triangleMs": 3.1500000953674316,
|
||||||
|
"tableMs": 1.0499999523162842,
|
||||||
|
"heapBytes": 34939773,
|
||||||
|
"pass": true
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 408,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "QA-05",
|
||||||
|
"triangles": 1000000,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
22
config/chrome-persistence-verification.json
Normal file
22
config/chrome-persistence-verification.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"sqliteWasm": true,
|
||||||
|
"opfs": true,
|
||||||
|
"schemaVersion": 6,
|
||||||
|
"crossTabWriteLock": "web-locks"
|
||||||
|
},
|
||||||
|
"roundTrip": {
|
||||||
|
"savedMode": "sqlite-opfs",
|
||||||
|
"loadedVersion": 7,
|
||||||
|
"loadedLabel": "Chrome OPFS persistence",
|
||||||
|
"checkpointVersion": 7,
|
||||||
|
"resourceRoundTrip": true,
|
||||||
|
"recoveryIntegrity": "ok",
|
||||||
|
"checkpointCount": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
757
config/chrome-planegcs-verification.json
Normal file
757
config/chrome-planegcs-verification.json
Normal file
@@ -0,0 +1,757 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"executionContext": "dedicated-worker",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"sharedArrayBuffer": true,
|
||||||
|
"status": "pass",
|
||||||
|
"solve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"startX": 0,
|
||||||
|
"startY": 0,
|
||||||
|
"endX": 5,
|
||||||
|
"endY": 0,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"verticalSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"startX": 0,
|
||||||
|
"startY": 0,
|
||||||
|
"endX": 0,
|
||||||
|
"endY": 5,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"distanceXSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"startX": 0,
|
||||||
|
"startY": 0,
|
||||||
|
"endX": 6,
|
||||||
|
"endY": 0,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"distanceYSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"startX": 0,
|
||||||
|
"startY": 0,
|
||||||
|
"endX": 0,
|
||||||
|
"endY": 6,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"angleSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"startX": 0,
|
||||||
|
"startY": 0,
|
||||||
|
"endX": 3.5355339059327666,
|
||||||
|
"endY": 3.535533905932768,
|
||||||
|
"lengthResidual": 4.1744385725905886e-14,
|
||||||
|
"residual": 2.220446049250313e-16,
|
||||||
|
"targetAngle": 0.7853981633974483
|
||||||
|
},
|
||||||
|
"circleRadiusSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"centerX": 2,
|
||||||
|
"centerY": 3,
|
||||||
|
"radius": 4,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"circleDiameterSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"centerX": 2,
|
||||||
|
"centerY": 3,
|
||||||
|
"radius": 4,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"equalLinesSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstStartX": 0,
|
||||||
|
"firstStartY": 0,
|
||||||
|
"firstEndX": 4,
|
||||||
|
"firstEndY": 0,
|
||||||
|
"secondStartX": 0,
|
||||||
|
"secondStartY": 2,
|
||||||
|
"secondEndX": 2.8550078532679066,
|
||||||
|
"secondEndY": 4.801594217187551,
|
||||||
|
"residual": 1.865174681370263e-14
|
||||||
|
},
|
||||||
|
"equalCirclesSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstCenterX": 2,
|
||||||
|
"firstCenterY": 3,
|
||||||
|
"firstRadius": 4,
|
||||||
|
"secondCenterX": 8,
|
||||||
|
"secondCenterY": 9,
|
||||||
|
"secondRadius": 4,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"tangentCirclesSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstCenterX": 2,
|
||||||
|
"firstCenterY": 3,
|
||||||
|
"firstRadius": 4,
|
||||||
|
"secondCenterX": 10,
|
||||||
|
"secondCenterY": 3,
|
||||||
|
"secondRadius": 4.000000000000001,
|
||||||
|
"residual": -8.881784197001252e-16
|
||||||
|
},
|
||||||
|
"pointSymmetrySolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstX": 1,
|
||||||
|
"firstY": 2,
|
||||||
|
"secondX": 7.000000000002508,
|
||||||
|
"secondY": 9.99999999999955,
|
||||||
|
"centerX": 4,
|
||||||
|
"centerY": 6,
|
||||||
|
"residual": 1.2740804112383381e-12
|
||||||
|
},
|
||||||
|
"pointOnLineSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"pointX": 2,
|
||||||
|
"pointY": 0,
|
||||||
|
"startX": 0,
|
||||||
|
"startY": 0,
|
||||||
|
"endX": 4,
|
||||||
|
"endY": 0,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"pointOnCircleSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"pointX": 4,
|
||||||
|
"pointY": 6.464101615137755,
|
||||||
|
"centerX": 2,
|
||||||
|
"centerY": 3,
|
||||||
|
"radius": 4,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"pointOnArcSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"pointX": 2,
|
||||||
|
"pointY": 7,
|
||||||
|
"centerX": 2,
|
||||||
|
"centerY": 3,
|
||||||
|
"radius": 4,
|
||||||
|
"startAngle": 0,
|
||||||
|
"endAngle": 3.141592653589793,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"pointOnEllipseSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"pointX": 2,
|
||||||
|
"pointY": 6.000000000037419,
|
||||||
|
"centerX": 2,
|
||||||
|
"centerY": 3,
|
||||||
|
"focusX": 6,
|
||||||
|
"focusY": 3,
|
||||||
|
"minorRadius": 3,
|
||||||
|
"residual": 4.490274818635953e-11
|
||||||
|
},
|
||||||
|
"pointOnBsplineSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"pointX": 2,
|
||||||
|
"pointY": 1.500000000000298,
|
||||||
|
"pointParameter": 0.5,
|
||||||
|
"residualX": 0,
|
||||||
|
"residualY": 2.97983859809392e-13
|
||||||
|
},
|
||||||
|
"bsplineWeightSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"weights": [
|
||||||
|
1,
|
||||||
|
1.5,
|
||||||
|
1.25,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"helper": {
|
||||||
|
"center": {
|
||||||
|
"x": 1,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"radius": 1.5
|
||||||
|
},
|
||||||
|
"alignmentResidual": 0,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"parallelSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstStartX": 0,
|
||||||
|
"firstStartY": 0,
|
||||||
|
"firstEndX": 4,
|
||||||
|
"firstEndY": 0,
|
||||||
|
"secondStartX": 0,
|
||||||
|
"secondStartY": 2,
|
||||||
|
"secondEndX": 5,
|
||||||
|
"secondEndY": 2,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"perpendicularSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstStartX": 0,
|
||||||
|
"firstStartY": 0,
|
||||||
|
"firstEndX": 4,
|
||||||
|
"firstEndY": 0,
|
||||||
|
"secondStartX": 0,
|
||||||
|
"secondStartY": 2,
|
||||||
|
"secondEndX": 0,
|
||||||
|
"secondEndY": 7,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"coincidentSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstEndX": 4,
|
||||||
|
"firstEndY": 0,
|
||||||
|
"secondStartX": 4,
|
||||||
|
"secondStartY": 0,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
"coincidentEndpointSolves": [
|
||||||
|
{
|
||||||
|
"firstPoint": "start",
|
||||||
|
"secondPoint": "start",
|
||||||
|
"solveStatus": 0,
|
||||||
|
"first": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5.000000000000613,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"firstPoint": "start",
|
||||||
|
"secondPoint": "end",
|
||||||
|
"solveStatus": 0,
|
||||||
|
"first": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"firstPoint": "end",
|
||||||
|
"secondPoint": "start",
|
||||||
|
"solveStatus": 0,
|
||||||
|
"first": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5.000000000000001,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"firstPoint": "end",
|
||||||
|
"secondPoint": "end",
|
||||||
|
"solveStatus": 0,
|
||||||
|
"first": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5,
|
||||||
|
"residual": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"coincidentEndpointProviders": [
|
||||||
|
{
|
||||||
|
"firstPoint": "start",
|
||||||
|
"secondPoint": "start",
|
||||||
|
"completed": "completed",
|
||||||
|
"first": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5.000000000000613
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"firstPoint": "start",
|
||||||
|
"secondPoint": "end",
|
||||||
|
"completed": "completed",
|
||||||
|
"first": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"firstPoint": "end",
|
||||||
|
"secondPoint": "start",
|
||||||
|
"completed": "completed",
|
||||||
|
"first": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5.000000000000001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"firstPoint": "end",
|
||||||
|
"secondPoint": "end",
|
||||||
|
"completed": "completed",
|
||||||
|
"first": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondLength": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"snellsLawSolve": {
|
||||||
|
"solveStatus": 0,
|
||||||
|
"firstStart": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"firstEnd": {
|
||||||
|
"x": -4,
|
||||||
|
"y": 4
|
||||||
|
},
|
||||||
|
"secondStart": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"secondEnd": {
|
||||||
|
"x": 2.3570226039551594,
|
||||||
|
"y": 4.409585518440984
|
||||||
|
},
|
||||||
|
"boundaryStart": {
|
||||||
|
"x": -5,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"boundaryEnd": {
|
||||||
|
"x": 5,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"ratio": 1.5,
|
||||||
|
"residual": -4.440892098500626e-16
|
||||||
|
},
|
||||||
|
"snellsLawProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"degreesOfFreedom": 8,
|
||||||
|
"residual": 4.440892098500626e-16,
|
||||||
|
"first": {
|
||||||
|
"start": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": -4,
|
||||||
|
"y": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"second": {
|
||||||
|
"start": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": 2.3570226039551594,
|
||||||
|
"y": 4.409585518440984
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"boundary": {
|
||||||
|
"start": {
|
||||||
|
"x": -5,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": 5,
|
||||||
|
"y": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ellipseInternalAlignmentSolves": [
|
||||||
|
{
|
||||||
|
"alignmentType": 1,
|
||||||
|
"solveStatus": 0,
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"focus": {
|
||||||
|
"x": 5.8756496868425785,
|
||||||
|
"y": 3.989615837018092
|
||||||
|
},
|
||||||
|
"minorRadius": 3,
|
||||||
|
"helperStart": {
|
||||||
|
"x": 6.844562108553224,
|
||||||
|
"y": 4.237019796272614
|
||||||
|
},
|
||||||
|
"helperEnd": {
|
||||||
|
"x": -2.844562108553224,
|
||||||
|
"y": 1.7629802037273854
|
||||||
|
},
|
||||||
|
"helperError": 0,
|
||||||
|
"residual": 7.771561172376096e-16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignmentType": 2,
|
||||||
|
"solveStatus": 0,
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"focus": {
|
||||||
|
"x": 5.8756496868425785,
|
||||||
|
"y": 3.989615837018092
|
||||||
|
},
|
||||||
|
"minorRadius": 3,
|
||||||
|
"helperStart": {
|
||||||
|
"x": 1.2577881222364313,
|
||||||
|
"y": 5.906737265131934
|
||||||
|
},
|
||||||
|
"helperEnd": {
|
||||||
|
"x": 2.7422118777635687,
|
||||||
|
"y": 0.09326273486806569
|
||||||
|
},
|
||||||
|
"helperError": 0,
|
||||||
|
"residual": 5.874748045952207e-16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignmentType": 3,
|
||||||
|
"solveStatus": 0,
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"focus": {
|
||||||
|
"x": 5.8756496868425785,
|
||||||
|
"y": 3.989615837018092
|
||||||
|
},
|
||||||
|
"minorRadius": 3,
|
||||||
|
"helperStart": {
|
||||||
|
"x": 5.8756496868425785,
|
||||||
|
"y": 3.989615837018092
|
||||||
|
},
|
||||||
|
"helperEnd": {
|
||||||
|
"x": 5.8756496868425785,
|
||||||
|
"y": 3.989615837018092
|
||||||
|
},
|
||||||
|
"helperError": 0,
|
||||||
|
"residual": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignmentType": 4,
|
||||||
|
"solveStatus": 0,
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"focus": {
|
||||||
|
"x": 5.8756496868425785,
|
||||||
|
"y": 3.989615837018092
|
||||||
|
},
|
||||||
|
"minorRadius": 3,
|
||||||
|
"helperStart": {
|
||||||
|
"x": -1.875649686842579,
|
||||||
|
"y": 2.010384162981908
|
||||||
|
},
|
||||||
|
"helperEnd": {
|
||||||
|
"x": -1.875649686842579,
|
||||||
|
"y": 2.010384162981908
|
||||||
|
},
|
||||||
|
"helperError": 0,
|
||||||
|
"residual": 3.1401849173675503e-16
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ellipseInternalAlignmentProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"degreesOfFreedom": 5,
|
||||||
|
"residual": 7.771561172376096e-16,
|
||||||
|
"ellipse": {
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"majorRadius": 5,
|
||||||
|
"minorRadius": 3,
|
||||||
|
"rotation": 0.25
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bsplineWeightProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"degreesOfFreedom": 11,
|
||||||
|
"residual": 0,
|
||||||
|
"bspline": {
|
||||||
|
"degree": 3,
|
||||||
|
"controlPoints": [
|
||||||
|
{
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 1,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 3,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"weights": [
|
||||||
|
1,
|
||||||
|
1.5,
|
||||||
|
1.25,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"knots": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"periodic": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pointOnCircleProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"point": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 6.464101615137755
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pointOnArcProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"point": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 7
|
||||||
|
},
|
||||||
|
"arc": {
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"radius": 4,
|
||||||
|
"startAngle": 0,
|
||||||
|
"endAngle": 3.141592653589793
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pointOnEllipseProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"point": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 6.000000000037419
|
||||||
|
},
|
||||||
|
"ellipse": {
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"majorRadius": 5,
|
||||||
|
"minorRadius": 3,
|
||||||
|
"rotation": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pointOnBsplineProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"point": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 1.5
|
||||||
|
},
|
||||||
|
"bspline": {
|
||||||
|
"degree": 3,
|
||||||
|
"controlPoints": [
|
||||||
|
{
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 1,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 3,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"weights": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"knots": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"periodic": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"blockProvider": {
|
||||||
|
"completed": "completed",
|
||||||
|
"degreesOfFreedom": 0,
|
||||||
|
"line": {
|
||||||
|
"start": {
|
||||||
|
"x": 1,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"providerLifecycle": {
|
||||||
|
"availability": "available",
|
||||||
|
"engine": "planegcs-wasm",
|
||||||
|
"supportedGeometry": [
|
||||||
|
"point",
|
||||||
|
"line",
|
||||||
|
"circle",
|
||||||
|
"arc",
|
||||||
|
"ellipse",
|
||||||
|
"bspline"
|
||||||
|
],
|
||||||
|
"supportedConstraints": [
|
||||||
|
"horizontal",
|
||||||
|
"vertical",
|
||||||
|
"parallel",
|
||||||
|
"perpendicular",
|
||||||
|
"distance",
|
||||||
|
"distanceX",
|
||||||
|
"distanceY",
|
||||||
|
"angle",
|
||||||
|
"radius",
|
||||||
|
"diameter",
|
||||||
|
"equal",
|
||||||
|
"tangent",
|
||||||
|
"coincident",
|
||||||
|
"symmetric",
|
||||||
|
"pointOnObject",
|
||||||
|
"snellsLaw",
|
||||||
|
"internalAlignment",
|
||||||
|
"weight",
|
||||||
|
"block"
|
||||||
|
],
|
||||||
|
"completed": "completed",
|
||||||
|
"verticalCompleted": "completed",
|
||||||
|
"verticalEnd": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 5
|
||||||
|
},
|
||||||
|
"angleCompleted": "completed",
|
||||||
|
"angleEnd": {
|
||||||
|
"x": 3.5355339059327666,
|
||||||
|
"y": 3.535533905932768
|
||||||
|
},
|
||||||
|
"circleRadiusCompleted": "completed",
|
||||||
|
"circleRadius": {
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"radius": 4
|
||||||
|
},
|
||||||
|
"circleDiameterCompleted": "completed",
|
||||||
|
"circleDiameter": {
|
||||||
|
"center": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"radius": 4
|
||||||
|
},
|
||||||
|
"equalLinesCompleted": "completed",
|
||||||
|
"equalLinesSecond": {
|
||||||
|
"start": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": 2.8550078532679066,
|
||||||
|
"y": 4.801594217187551
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"equalCirclesCompleted": "completed",
|
||||||
|
"equalCirclesSecond": {
|
||||||
|
"center": {
|
||||||
|
"x": 8,
|
||||||
|
"y": 9
|
||||||
|
},
|
||||||
|
"radius": 4
|
||||||
|
},
|
||||||
|
"tangentCirclesCompleted": "completed",
|
||||||
|
"tangentCirclesSecond": {
|
||||||
|
"center": {
|
||||||
|
"x": 10,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"radius": 4.000000000000001
|
||||||
|
},
|
||||||
|
"pointSymmetryCompleted": "completed",
|
||||||
|
"pointSymmetrySecond": {
|
||||||
|
"x": 7.000000000002508,
|
||||||
|
"y": 9.99999999999955
|
||||||
|
},
|
||||||
|
"pointOnLineCompleted": "completed",
|
||||||
|
"pointOnLinePoint": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"parallelCompleted": "completed",
|
||||||
|
"parallelEnd": {
|
||||||
|
"x": 5,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"perpendicularCompleted": "completed",
|
||||||
|
"perpendicularEnd": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 7
|
||||||
|
},
|
||||||
|
"coincidentCompleted": "completed",
|
||||||
|
"coincidentStart": {
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"cancelled": "cancelled",
|
||||||
|
"recovered": "completed",
|
||||||
|
"stale": "stale",
|
||||||
|
"recoveredEnd": {
|
||||||
|
"x": 5,
|
||||||
|
"y": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
87
config/chrome-plot-verification.json
Normal file
87
config/chrome-plot-verification.json
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"series": {
|
||||||
|
"count": 2,
|
||||||
|
"boundSource": "Spreadsheet",
|
||||||
|
"points": 3,
|
||||||
|
"updatedValue": 16,
|
||||||
|
"legend": true
|
||||||
|
},
|
||||||
|
"axes": {
|
||||||
|
"x": "Revision",
|
||||||
|
"y": "Length (mm)",
|
||||||
|
"xRange": [
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"yRange": [
|
||||||
|
0,
|
||||||
|
20
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"logAxis": {
|
||||||
|
"xScale": "log",
|
||||||
|
"yScale": "log",
|
||||||
|
"svgHasLogMapping": true,
|
||||||
|
"rejectedNonPositive": true
|
||||||
|
},
|
||||||
|
"svg": {
|
||||||
|
"bytes": 1075,
|
||||||
|
"sha256": "29c4de596904c4048fdaf524b099eb0cbc1ba49c10a77d65d5d882d23638ceff",
|
||||||
|
"deterministic": true,
|
||||||
|
"paths": 2,
|
||||||
|
"accessible": true
|
||||||
|
},
|
||||||
|
"png": {
|
||||||
|
"bytes": 19408,
|
||||||
|
"sha256": "281e93a2acd75a0dd902cdcd52bb088094a05237ac15296462ca06936a956443",
|
||||||
|
"deterministic": true,
|
||||||
|
"width": 640,
|
||||||
|
"height": 360,
|
||||||
|
"validSignature": true
|
||||||
|
},
|
||||||
|
"csv": {
|
||||||
|
"bytes": 156,
|
||||||
|
"rows": 7,
|
||||||
|
"sha256": "5879d47bdda947b5432ef38a03a6e8299cdb4e90cfea0370e398833a9c01244a"
|
||||||
|
},
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"mediaType": "image/svg+xml",
|
||||||
|
"hash": "29c4de596904c4048fdaf524b099eb0cbc1ba49c10a77d65d5d882d23638ceff",
|
||||||
|
"byteLength": 1075,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mediaType": "text/csv",
|
||||||
|
"hash": "5879d47bdda947b5432ef38a03a6e8299cdb4e90cfea0370e398833a9c01244a",
|
||||||
|
"byteLength": 156,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mediaType": "image/png",
|
||||||
|
"hash": "281e93a2acd75a0dd902cdcd52bb088094a05237ac15296462ca06936a956443",
|
||||||
|
"byteLength": 19408,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "PLOT-ALL",
|
||||||
|
"markerSeries": 2,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
64
config/chrome-production-document-verification.json
Normal file
64
config/chrome-production-document-verification.json
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"closure": {
|
||||||
|
"complete": true,
|
||||||
|
"artifacts": 4,
|
||||||
|
"missingKinds": 0,
|
||||||
|
"missingDependencies": 0,
|
||||||
|
"cycles": 0,
|
||||||
|
"documentVersion": 8,
|
||||||
|
"reopenedComplete": true,
|
||||||
|
"artifactVersions": [
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"workflow": {
|
||||||
|
"created": {
|
||||||
|
"spreadsheetCells": 2,
|
||||||
|
"draftObjects": 1,
|
||||||
|
"techdrawViews": 1,
|
||||||
|
"plotSeries": 1
|
||||||
|
},
|
||||||
|
"edited": {
|
||||||
|
"spreadsheetValue": 6,
|
||||||
|
"draftStartX": 1,
|
||||||
|
"techdrawDimension": 5,
|
||||||
|
"plotValue": 6
|
||||||
|
},
|
||||||
|
"exports": {
|
||||||
|
"spreadsheetCsvBytes": 31,
|
||||||
|
"draftJsonBytes": 384,
|
||||||
|
"techdrawSvgBytes": 509,
|
||||||
|
"techdrawPdfBytes": 849,
|
||||||
|
"techdrawPdfValid": true,
|
||||||
|
"plotSvgBytes": 774,
|
||||||
|
"plotCsvBytes": 52
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 8568,
|
||||||
|
"hash": "81ab5272815a42162a7f977bae74a0cefc2d1e23195865ac810eceb81bd71c30",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "DOC-CLOSURE",
|
||||||
|
"artifacts": 4,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
122
config/chrome-profile-validation-verification.json
Normal file
122
config/chrome-profile-validation-verification.json
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"fixtures": {
|
||||||
|
"closed": {
|
||||||
|
"status": "closed",
|
||||||
|
"ringCount": 1,
|
||||||
|
"selfIntersections": 0
|
||||||
|
},
|
||||||
|
"open": {
|
||||||
|
"status": "open",
|
||||||
|
"ringCount": 1,
|
||||||
|
"selfIntersections": 0
|
||||||
|
},
|
||||||
|
"multiRing": {
|
||||||
|
"status": "multi-ring",
|
||||||
|
"ringCount": 2,
|
||||||
|
"selfIntersections": 0
|
||||||
|
},
|
||||||
|
"selfIntersecting": {
|
||||||
|
"status": "self-intersecting",
|
||||||
|
"ringCount": 1,
|
||||||
|
"selfIntersections": 1
|
||||||
|
},
|
||||||
|
"invalidNesting": {
|
||||||
|
"status": "invalid-nesting",
|
||||||
|
"ringCount": 2,
|
||||||
|
"selfIntersections": 0
|
||||||
|
},
|
||||||
|
"nonPlanar": {
|
||||||
|
"status": "non-planar",
|
||||||
|
"ringCount": 1,
|
||||||
|
"selfIntersections": 0
|
||||||
|
},
|
||||||
|
"degenerate": {
|
||||||
|
"status": "degenerate",
|
||||||
|
"ringCount": 1,
|
||||||
|
"selfIntersections": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"validationErrors": {
|
||||||
|
"closed": null,
|
||||||
|
"multiRing": null,
|
||||||
|
"open": "Profile ring 0 is open.",
|
||||||
|
"selfIntersecting": "Profile contains self-intersecting edges.",
|
||||||
|
"invalidNesting": "Profile holes must be contained directly inside the outer ring.",
|
||||||
|
"nonPlanar": "Profile ring 0 is not coplanar with the outer ring.",
|
||||||
|
"degenerate": "Profile ring 0 is collinear."
|
||||||
|
},
|
||||||
|
"partDesignProfiles": {
|
||||||
|
"closed": {
|
||||||
|
"code": null,
|
||||||
|
"regionCount": 1
|
||||||
|
},
|
||||||
|
"multiRing": {
|
||||||
|
"code": null,
|
||||||
|
"outerPoints": 4,
|
||||||
|
"holeCount": 1,
|
||||||
|
"regionCount": 1
|
||||||
|
},
|
||||||
|
"open": {
|
||||||
|
"code": "PROFILE_OPEN"
|
||||||
|
},
|
||||||
|
"selfIntersecting": {
|
||||||
|
"code": null,
|
||||||
|
"regionCount": 2,
|
||||||
|
"regionPoints": [
|
||||||
|
3,
|
||||||
|
3
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"invalidNesting": {
|
||||||
|
"code": null,
|
||||||
|
"regionCount": 2,
|
||||||
|
"regionPoints": [
|
||||||
|
4,
|
||||||
|
4
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"partDesignGeometry": {
|
||||||
|
"closed": {
|
||||||
|
"volume": 360,
|
||||||
|
"solids": 1,
|
||||||
|
"shapeType": "solid",
|
||||||
|
"structuralValid": false,
|
||||||
|
"structuralErrors": 20,
|
||||||
|
"structuralWarnings": 0
|
||||||
|
},
|
||||||
|
"multiRing": {
|
||||||
|
"volume": 320,
|
||||||
|
"solids": 1,
|
||||||
|
"shapeType": "solid",
|
||||||
|
"structuralValid": false,
|
||||||
|
"structuralErrors": 40,
|
||||||
|
"structuralWarnings": 0
|
||||||
|
},
|
||||||
|
"selfIntersecting": {
|
||||||
|
"volume": 80,
|
||||||
|
"solids": 2,
|
||||||
|
"shapeType": "compound",
|
||||||
|
"structuralValid": true,
|
||||||
|
"structuralErrors": 0,
|
||||||
|
"structuralWarnings": 0
|
||||||
|
},
|
||||||
|
"invalidNesting": {
|
||||||
|
"volume": 370,
|
||||||
|
"solids": 2,
|
||||||
|
"shapeType": "compound",
|
||||||
|
"structuralValid": true,
|
||||||
|
"structuralErrors": 0,
|
||||||
|
"structuralWarnings": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SK-11",
|
||||||
|
"markerCases": 12,
|
||||||
|
"markerRemoved": true
|
||||||
|
}
|
||||||
|
}
|
||||||
42
config/chrome-qa08-verification.json
Normal file
42
config/chrome-qa08-verification.json
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"locales": {
|
||||||
|
"supported": 3,
|
||||||
|
"snapshots": 3,
|
||||||
|
"longLabel": true,
|
||||||
|
"decimalSamples": [
|
||||||
|
"12.346 mm",
|
||||||
|
"12.346 mm",
|
||||||
|
"12,346 mm"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"accessibility": {
|
||||||
|
"checked": 4,
|
||||||
|
"missingNames": 0,
|
||||||
|
"duplicates": 0,
|
||||||
|
"unnamedFocusable": 0,
|
||||||
|
"pass": true
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 813,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "QA-08",
|
||||||
|
"localeCount": 3,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
43
config/chrome-robot-verification.json
Normal file
43
config/chrome-robot-verification.json
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"geometry": {
|
||||||
|
"sourceShape": "shape-msi9vj60-1",
|
||||||
|
"valid": true,
|
||||||
|
"volume": 7.999999999999998
|
||||||
|
},
|
||||||
|
"trajectory": {
|
||||||
|
"joints": 3,
|
||||||
|
"waypoints": 2,
|
||||||
|
"poses": 5,
|
||||||
|
"status": "generated",
|
||||||
|
"violations": 0,
|
||||||
|
"maxReach": 6,
|
||||||
|
"homeX": 6,
|
||||||
|
"collisions": 1,
|
||||||
|
"controllerBytes": 1120,
|
||||||
|
"csvBytes": 174
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 551,
|
||||||
|
"hash": "8f750b2eaaf68e4c3523a0c97145931ad6d6d83e854985d2b4069bb10fe8de26",
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "ROBOT-ALL",
|
||||||
|
"poses": 5,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
42
config/chrome-script-verification.json
Normal file
42
config/chrome-script-verification.json
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"macro": {
|
||||||
|
"commands": 2,
|
||||||
|
"replay": "replayed",
|
||||||
|
"executed": 2,
|
||||||
|
"bytes": 210
|
||||||
|
},
|
||||||
|
"security": {
|
||||||
|
"disallowedRejected": true,
|
||||||
|
"quotaRejected": true,
|
||||||
|
"noDynamicExecution": true,
|
||||||
|
"deniedCapabilities": [
|
||||||
|
"file",
|
||||||
|
"network",
|
||||||
|
"time",
|
||||||
|
"resource"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 210,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SCRIPT-ALL",
|
||||||
|
"commands": 2,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
120
config/chrome-secondary-formats-verification.json
Normal file
120
config/chrome-secondary-formats-verification.json
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"formats": {
|
||||||
|
"descriptors": 8,
|
||||||
|
"records": 8,
|
||||||
|
"nativeExports": 3,
|
||||||
|
"proxyImports": 8,
|
||||||
|
"bytes": 665,
|
||||||
|
"categories": [
|
||||||
|
"2d",
|
||||||
|
"bim",
|
||||||
|
"data",
|
||||||
|
"mesh"
|
||||||
|
],
|
||||||
|
"matrix": [
|
||||||
|
{
|
||||||
|
"format": "DXF",
|
||||||
|
"category": "2d",
|
||||||
|
"byteLength": 36,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "SVG",
|
||||||
|
"category": "2d",
|
||||||
|
"byteLength": 217,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "OBJ",
|
||||||
|
"category": "mesh",
|
||||||
|
"byteLength": 72,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "PLY",
|
||||||
|
"category": "mesh",
|
||||||
|
"byteLength": 49,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "STL",
|
||||||
|
"category": "mesh",
|
||||||
|
"byteLength": 59,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "PDF",
|
||||||
|
"category": "2d",
|
||||||
|
"byteLength": 48,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "IFC",
|
||||||
|
"category": "bim",
|
||||||
|
"byteLength": 136,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"format": "CSV",
|
||||||
|
"category": "data",
|
||||||
|
"byteLength": 48,
|
||||||
|
"imported": true,
|
||||||
|
"rejectedInvalid": true,
|
||||||
|
"byteExactRoundTrip": true,
|
||||||
|
"deterministic": true,
|
||||||
|
"proxy": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 1884,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "FC-09",
|
||||||
|
"records": 8,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
33
config/chrome-security-verification.json
Normal file
33
config/chrome-security-verification.json
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"checks": {
|
||||||
|
"path": 5,
|
||||||
|
"archiveEntries": 3,
|
||||||
|
"xmlBytes": 79,
|
||||||
|
"permissionChecks": 3,
|
||||||
|
"rejectedCases": 4,
|
||||||
|
"pass": true
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 180,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "QA-07",
|
||||||
|
"checks": 4,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
65
config/chrome-sketcher-bspline-verification.json
Normal file
65
config/chrome-sketcher-bspline-verification.json
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"edit": {
|
||||||
|
"stableId": true,
|
||||||
|
"degree": 1,
|
||||||
|
"poleCount": 3,
|
||||||
|
"middlePole": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 3
|
||||||
|
},
|
||||||
|
"weights": [
|
||||||
|
1,
|
||||||
|
0.5,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"knots": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0.5,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"periodic": true,
|
||||||
|
"sourceUnchanged": true
|
||||||
|
},
|
||||||
|
"validationErrors": {
|
||||||
|
"invalidWeight": "spline weights must be positive finite values matching control points.",
|
||||||
|
"invalidKnots": "spline knots must be non-decreasing and have controlPointCount + degree + 1 entries.",
|
||||||
|
"invalidDegree": "spline requires at least degree + 1 control points."
|
||||||
|
},
|
||||||
|
"roundTrip": {
|
||||||
|
"archiveBytes": 1493,
|
||||||
|
"geometryEqual": true,
|
||||||
|
"constraintsEqual": true,
|
||||||
|
"constraintTypes": [
|
||||||
|
"weight",
|
||||||
|
"internalAlignment",
|
||||||
|
"weight"
|
||||||
|
],
|
||||||
|
"weights": [
|
||||||
|
1,
|
||||||
|
1.5,
|
||||||
|
1.25,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"knots": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SK-10",
|
||||||
|
"markerFields": 8,
|
||||||
|
"markerRemoved": true
|
||||||
|
}
|
||||||
|
}
|
||||||
37
config/chrome-sketcher-diagnostics-verification.json
Normal file
37
config/chrome-sketcher-diagnostics-verification.json
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"fixtures": {
|
||||||
|
"reference": {
|
||||||
|
"status": "under-constrained",
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"diagnostic": true,
|
||||||
|
"unchangedEnd": true
|
||||||
|
},
|
||||||
|
"redundant": {
|
||||||
|
"status": "under-constrained",
|
||||||
|
"diagnostic": true
|
||||||
|
},
|
||||||
|
"conflicting": {
|
||||||
|
"status": "conflicting",
|
||||||
|
"diagnostic": true,
|
||||||
|
"notConverged": true
|
||||||
|
},
|
||||||
|
"coincident": {
|
||||||
|
"status": "under-constrained",
|
||||||
|
"residual": 0,
|
||||||
|
"sharedPoint": true
|
||||||
|
},
|
||||||
|
"block": {
|
||||||
|
"status": "solved",
|
||||||
|
"degreesOfFreedom": 0,
|
||||||
|
"unchanged": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SK-06/SK-07",
|
||||||
|
"markerRemoved": true
|
||||||
|
}
|
||||||
|
}
|
||||||
115
config/chrome-sketcher-editor-verification.json
Normal file
115
config/chrome-sketcher-editor-verification.json
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"operations": {
|
||||||
|
"drag": {
|
||||||
|
"start": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": 8,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"sourceUnchanged": true
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"ids": [
|
||||||
|
"line",
|
||||||
|
"line-2"
|
||||||
|
],
|
||||||
|
"endpoints": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"x": 4,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 10,
|
||||||
|
"y": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"constraintTypes": [
|
||||||
|
"coincident"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"extend": {
|
||||||
|
"end": {
|
||||||
|
"x": 15,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"sourceUnchanged": true
|
||||||
|
},
|
||||||
|
"trim": {
|
||||||
|
"end": {
|
||||||
|
"x": 7,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"constraintTypes": [
|
||||||
|
"pointOnObject"
|
||||||
|
],
|
||||||
|
"sourceUnchanged": true
|
||||||
|
},
|
||||||
|
"construction": {
|
||||||
|
"enabled": true,
|
||||||
|
"sourceUnchanged": true
|
||||||
|
},
|
||||||
|
"autoConstraint": {
|
||||||
|
"suggestionReasons": [
|
||||||
|
"coincident",
|
||||||
|
"horizontal"
|
||||||
|
],
|
||||||
|
"appliedIds": [
|
||||||
|
"auto-coincident-line-a.end-line-b.start",
|
||||||
|
"auto-horizontal-line-a"
|
||||||
|
],
|
||||||
|
"sourceUnchanged": true
|
||||||
|
},
|
||||||
|
"replay": {
|
||||||
|
"applied": 2,
|
||||||
|
"undone": 1,
|
||||||
|
"redone": 1,
|
||||||
|
"finalEnd": {
|
||||||
|
"x": 6,
|
||||||
|
"y": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"interactions": {
|
||||||
|
"nativeEvents": {
|
||||||
|
"pointer": 3,
|
||||||
|
"keyboard": 3
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": 8,
|
||||||
|
"y": 2
|
||||||
|
},
|
||||||
|
"tool": "select",
|
||||||
|
"pointerActive": false,
|
||||||
|
"applied": 1,
|
||||||
|
"undone": 1,
|
||||||
|
"redone": 1
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SK-09",
|
||||||
|
"markerOperations": 9,
|
||||||
|
"markerRemoved": true
|
||||||
|
}
|
||||||
|
}
|
||||||
37
config/chrome-sketcher-stress-verification.json
Normal file
37
config/chrome-sketcher-stress-verification.json
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"stress": {
|
||||||
|
"seed": 539363331,
|
||||||
|
"models": 500,
|
||||||
|
"solves": 1000,
|
||||||
|
"durationMs": 15.394999980926514,
|
||||||
|
"averageSolveMs": 0.015394999980926513,
|
||||||
|
"maxIterations": 64,
|
||||||
|
"maxResidual": 4.577566798522237e-16,
|
||||||
|
"deterministicMismatches": 0,
|
||||||
|
"unexpectedResults": 0,
|
||||||
|
"digest": "edac8aed",
|
||||||
|
"categories": {
|
||||||
|
"constraints": 100,
|
||||||
|
"conflict": 100,
|
||||||
|
"redundant": 100,
|
||||||
|
"reference": 100,
|
||||||
|
"drag": 100
|
||||||
|
},
|
||||||
|
"statuses": {
|
||||||
|
"solved": 0,
|
||||||
|
"under-constrained": 400,
|
||||||
|
"conflicting": 100,
|
||||||
|
"invalid": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SK-12",
|
||||||
|
"markerModels": 500,
|
||||||
|
"markerSolves": 1000,
|
||||||
|
"markerRemoved": true
|
||||||
|
}
|
||||||
|
}
|
||||||
87
config/chrome-spreadsheet-verification.json
Normal file
87
config/chrome-spreadsheet-verification.json
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"cells": {
|
||||||
|
"width": 6,
|
||||||
|
"length": 12,
|
||||||
|
"updatedLength": 16,
|
||||||
|
"dimension": "length"
|
||||||
|
},
|
||||||
|
"aliases": [
|
||||||
|
"Length",
|
||||||
|
"Width"
|
||||||
|
],
|
||||||
|
"dependencies": [
|
||||||
|
"A2->A1:Width",
|
||||||
|
"B1->A1:A1"
|
||||||
|
],
|
||||||
|
"cycle": {
|
||||||
|
"detected": true,
|
||||||
|
"cells": [
|
||||||
|
"C1",
|
||||||
|
"D1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"binding": {
|
||||||
|
"alias": "Length",
|
||||||
|
"objectId": "pad",
|
||||||
|
"propertyName": "Length",
|
||||||
|
"appliedValue": 16,
|
||||||
|
"undoValue": 12,
|
||||||
|
"redoValue": 16
|
||||||
|
},
|
||||||
|
"expression": {
|
||||||
|
"value": 13,
|
||||||
|
"dimension": "length",
|
||||||
|
"references": [
|
||||||
|
"Spreadsheet.Length"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"styledCells": 4,
|
||||||
|
"namedRange": "A1:A3",
|
||||||
|
"mergedRange": "A1:C3",
|
||||||
|
"shiftedFormulaAddress": "A3"
|
||||||
|
},
|
||||||
|
"csv": {
|
||||||
|
"rows": 2,
|
||||||
|
"columns": 4,
|
||||||
|
"bytes": 46
|
||||||
|
},
|
||||||
|
"largeSheet": {
|
||||||
|
"cells": 10000,
|
||||||
|
"rows": 100,
|
||||||
|
"columns": 100,
|
||||||
|
"evaluationErrors": 0,
|
||||||
|
"csvBytes": 175112,
|
||||||
|
"durationMs": 53.85000002384186,
|
||||||
|
"budgetMs": 5000
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"savedVersion": 20,
|
||||||
|
"reopenedVersion": 20,
|
||||||
|
"reopenedValue": 16
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"hash": "7bd33d02ab448a6cfe803608d27d4d394213ee4cc2998eeaaa31176e4216a161",
|
||||||
|
"byteLength": 939,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SS-ALL",
|
||||||
|
"markerCells": 9,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
36
config/chrome-surface-verification.json
Normal file
36
config/chrome-surface-verification.json
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"model": {
|
||||||
|
"patches": 5,
|
||||||
|
"poles": 20,
|
||||||
|
"trimmed": 1,
|
||||||
|
"sewn": 1,
|
||||||
|
"continuity": "C0",
|
||||||
|
"fillKind": "bezier",
|
||||||
|
"offsetDistance": 1.5,
|
||||||
|
"topoRefs": 4,
|
||||||
|
"objBytes": 641
|
||||||
|
},
|
||||||
|
"persistence": {
|
||||||
|
"mode": "sqlite-opfs",
|
||||||
|
"byteLength": 846,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "SURF-CORE",
|
||||||
|
"patches": 5,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
70
config/chrome-techdraw-verification.json
Normal file
70
config/chrome-techdraw-verification.json
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"page": {
|
||||||
|
"views": 2,
|
||||||
|
"sections": 1,
|
||||||
|
"dimensions": 1,
|
||||||
|
"annotations": 1,
|
||||||
|
"tolerances": 1,
|
||||||
|
"updatedDimension": 6,
|
||||||
|
"unresolvedRefs": [
|
||||||
|
"Vertex3"
|
||||||
|
],
|
||||||
|
"unresolvedTolerances": [
|
||||||
|
"flatness"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"svg": {
|
||||||
|
"bytes": 636,
|
||||||
|
"sha256": "0762dbd1f6d4587e6f59b3596f493aceaf8da5e7fb47b0f08e89e13ba27bcfc9",
|
||||||
|
"deterministic": true,
|
||||||
|
"lines": 2,
|
||||||
|
"accessible": true
|
||||||
|
},
|
||||||
|
"pdf": {
|
||||||
|
"bytes": 872,
|
||||||
|
"sha256": "fb66bbb3b98ca60a1d75d396124cc1f27d1a89080a82eaf23ae0525fc9709059",
|
||||||
|
"deterministic": true,
|
||||||
|
"validHeader": true,
|
||||||
|
"validXref": true
|
||||||
|
},
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"mediaType": "image/svg+xml",
|
||||||
|
"hash": "0762dbd1f6d4587e6f59b3596f493aceaf8da5e7fb47b0f08e89e13ba27bcfc9",
|
||||||
|
"byteLength": 636,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mediaType": "application/pdf",
|
||||||
|
"hash": "fb66bbb3b98ca60a1d75d396124cc1f27d1a89080a82eaf23ae0525fc9709059",
|
||||||
|
"byteLength": 872,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mediaType": "application/vnd.bitbybit.techdraw+json",
|
||||||
|
"hash": "2c0493a55f851c4db55af3d87c002e8584dbb65b038a0a56e8adcdf063d5f3da",
|
||||||
|
"byteLength": 1934,
|
||||||
|
"roundTrip": true,
|
||||||
|
"released": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"opfs": {
|
||||||
|
"markerSuite": "TD-ALL",
|
||||||
|
"markerViews": 2,
|
||||||
|
"markerRemoved": true
|
||||||
|
},
|
||||||
|
"afterRelease": {
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"product": "Chrome/150.0.7871.128",
|
||||||
|
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
|
||||||
|
}
|
||||||
|
}
|
||||||
34
config/chrome-topology-verification.json
Normal file
34
config/chrome-topology-verification.json
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"browserId": "chrome",
|
||||||
|
"crossOriginIsolated": true,
|
||||||
|
"status": "pass",
|
||||||
|
"capabilities": {
|
||||||
|
"provider": "Bitbybit OCCT",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"status": "ready",
|
||||||
|
"worker": true,
|
||||||
|
"wasm": true,
|
||||||
|
"shapeCount": 0,
|
||||||
|
"kernelReferenceCount": 0,
|
||||||
|
"releasedShapeCount": 0,
|
||||||
|
"peakShapeCount": 0,
|
||||||
|
"peakKernelReferenceCount": 0
|
||||||
|
},
|
||||||
|
"topology": {
|
||||||
|
"faces": 6,
|
||||||
|
"edges": 12,
|
||||||
|
"vertices": 8,
|
||||||
|
"analyticFaces": 6,
|
||||||
|
"analyticEdges": 12,
|
||||||
|
"adjacencyKeys": [
|
||||||
|
6,
|
||||||
|
6,
|
||||||
|
12,
|
||||||
|
12,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"transientIndexFree": true,
|
||||||
|
"opfsTopologyRoundTrip": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,36 +5,36 @@
|
|||||||
"Part Design": { "status": "facade-partial", "level": "experimental", "commands": ["create-body", "create-sketch", "pad", "pocket", "revolution", "fillet", "chamfer", "mirrored", "multi-transform", "linear-pattern", "polar-pattern"] },
|
"Part Design": { "status": "facade-partial", "level": "experimental", "commands": ["create-body", "create-sketch", "pad", "pocket", "revolution", "fillet", "chamfer", "mirrored", "multi-transform", "linear-pattern", "polar-pattern"] },
|
||||||
"Part": { "status": "facade-partial", "level": "experimental", "commands": ["primitive", "union", "cut", "intersection", "check-shape"] },
|
"Part": { "status": "facade-partial", "level": "experimental", "commands": ["primitive", "union", "cut", "intersection", "check-shape"] },
|
||||||
"Sketcher": { "status": "facade-model", "level": "experimental", "commands": ["new-sketch", "line", "arc", "circle", "rectangle", "constrain-horizontal", "constrain-vertical", "solve-sketch"] },
|
"Sketcher": { "status": "facade-model", "level": "experimental", "commands": ["new-sketch", "line", "arc", "circle", "rectangle", "constrain-horizontal", "constrain-vertical", "solve-sketch"] },
|
||||||
"Draft": { "status": "ui-prototype", "level": "read-only", "commands": ["working-plane", "snap-settings", "draft-line", "draft-wire", "move", "rotate"] },
|
"Draft": { "status": "domain-contract", "level": "experimental", "commands": ["working-plane", "snap-settings", "draft-line", "draft-wire", "draft-circle", "move", "rotate", "scale", "offset", "array", "clone", "layer"] },
|
||||||
"TechDraw": { "status": "ui-prototype", "level": "read-only", "commands": ["new-page", "view-part", "section-view", "dimension", "annotation"] },
|
"TechDraw": { "status": "domain-contract", "level": "experimental", "commands": ["new-page", "view-part", "section-view", "dimension", "annotation", "svg-export"] },
|
||||||
"Spreadsheet": { "status": "ui-prototype", "level": "read-only", "commands": ["new-sheet", "set-alias", "expression", "bind-property"] },
|
"Spreadsheet": { "status": "domain-contract", "level": "experimental", "commands": ["new-sheet", "set-alias", "expression", "bind-property", "csv-export"] },
|
||||||
"Assembly": { "status": "ui-prototype", "level": "read-only", "commands": ["insert-component", "coincident", "concentric", "distance", "interference"] },
|
"Assembly": { "status": "domain-contract", "level": "experimental", "commands": ["insert-component", "ground-component", "connector", "coincident", "concentric", "distance", "angle", "solve-assembly", "bom", "collision-check", "explode-view", "variant"] },
|
||||||
"BIM": { "status": "ui-manifest", "level": "unsupported", "commands": ["wall", "structure", "window", "ifc-export"] },
|
"BIM": { "status": "domain-contract", "level": "experimental", "commands": ["wall", "structure", "window", "level", "space", "material", "quantity-schedule", "ifc-export"] },
|
||||||
"CAM": { "status": "ui-manifest", "level": "unsupported", "commands": ["new-job", "stock", "profile-path", "simulate", "post-process"] },
|
"CAM": { "status": "domain-contract", "level": "experimental", "commands": ["new-job", "stock", "tool", "profile-path", "simulate", "gcode-export"] },
|
||||||
"FEM": { "status": "ui-manifest", "level": "unsupported", "commands": ["new-analysis", "material", "mesh", "solve", "results"] },
|
"FEM": { "status": "domain-contract", "level": "experimental", "commands": ["new-analysis", "material", "mesh", "fix-node", "load", "solve-reference-bar", "results-csv"] },
|
||||||
"Mesh": { "status": "ui-prototype", "level": "read-only", "commands": ["mesh-import", "analyze-mesh", "repair-mesh", "fill-holes", "mesh-export"] },
|
"Mesh": { "status": "domain-contract", "level": "experimental", "commands": ["mesh-import", "weld-vertices", "analyze-mesh", "remove-degenerate", "repair-triangle", "mesh-transform", "obj-export"] },
|
||||||
"Surface": { "status": "ui-manifest", "level": "unsupported", "commands": ["bspline", "bezier", "fill-surface", "loft-surface", "trim-surface"] },
|
"Surface": { "status": "domain-contract", "level": "experimental", "commands": ["bspline", "bezier", "fill-surface", "loft-surface", "trim-surface", "sew-surface", "surface-continuity"] },
|
||||||
"Inspection": { "status": "ui-manifest", "level": "unsupported", "commands": ["measure-distance", "measure-angle", "measure-area", "section", "check-dependencies"] },
|
"Inspection": { "status": "domain-contract", "level": "experimental", "commands": ["measure-distance", "measure-angle", "measure-area", "measure-volume", "check-dependencies", "csv-report"] },
|
||||||
"AddonManager": { "status": "scope-only", "level": "unsupported", "commands": ["addon-list", "addon-install", "addon-update", "addon-remove"] },
|
"AddonManager": { "status": "domain-contract", "level": "experimental", "commands": ["addon-list", "addon-install", "addon-update", "addon-remove", "addon-rollback", "addon-permissions"] },
|
||||||
"Cloud": { "status": "scope-only", "level": "unsupported", "commands": ["cloud-login", "cloud-open", "cloud-save", "cloud-share"] },
|
"Cloud": { "status": "scope-only", "level": "unsupported", "commands": ["cloud-login", "cloud-open", "cloud-save", "cloud-share"] },
|
||||||
"Fem": { "status": "scope-only", "level": "unsupported", "commands": ["new-analysis", "material", "mesh", "solve", "results"] },
|
"Fem": { "status": "scope-only", "level": "unsupported", "commands": ["new-analysis", "material", "mesh", "solve", "results"] },
|
||||||
"Help": { "status": "scope-only", "level": "unsupported", "commands": ["help-contents", "help-search", "help-about"] },
|
"Help": { "status": "scope-only", "level": "unsupported", "commands": ["help-contents", "help-search", "help-about"] },
|
||||||
"Idf": { "status": "scope-only", "level": "unsupported", "commands": ["idf-import", "idf-export"] },
|
"Idf": { "status": "data-adapter-registry", "level": "read-only", "commands": ["idf-import", "idf-export"] },
|
||||||
"Import": { "status": "scope-only", "level": "unsupported", "commands": ["import-model", "import-batch", "import-options"] },
|
"Import": { "status": "domain-contract", "level": "experimental", "commands": ["import-model", "import-batch", "import-options"] },
|
||||||
"JtReader": { "status": "scope-only", "level": "unsupported", "commands": ["jt-import", "jt-assembly", "jt-export"] },
|
"JtReader": { "status": "data-adapter-registry", "level": "read-only", "commands": ["jt-import", "jt-assembly", "jt-export"] },
|
||||||
"Material": { "status": "scope-only", "level": "unsupported", "commands": ["material-card", "material-library", "material-assign"] },
|
"Material": { "status": "domain-contract", "level": "experimental", "commands": ["material-card", "material-library", "material-assign"] },
|
||||||
"Measure": { "status": "scope-only", "level": "unsupported", "commands": ["measure-distance", "measure-angle", "measure-area", "measure-volume"] },
|
"Measure": { "status": "scope-only", "level": "unsupported", "commands": ["measure-distance", "measure-angle", "measure-area", "measure-volume"] },
|
||||||
"MeshPart": { "status": "scope-only", "level": "unsupported", "commands": ["mesh-to-shape", "shape-to-mesh", "mesh-section"] },
|
"MeshPart": { "status": "scope-only", "level": "unsupported", "commands": ["mesh-to-shape", "shape-to-mesh", "mesh-section"] },
|
||||||
"OpenSCAD": { "status": "scope-only", "level": "unsupported", "commands": ["openscad-import", "openscad-export", "openscad-preview"] },
|
"OpenSCAD": { "status": "data-adapter-registry", "level": "read-only", "commands": ["openscad-import", "openscad-export", "openscad-preview"] },
|
||||||
"Plot": { "status": "scope-only", "level": "unsupported", "commands": ["plot-create", "plot-style", "plot-export"] },
|
"Plot": { "status": "domain-contract", "level": "experimental", "commands": ["plot-create", "plot-style", "plot-bind", "plot-svg-export", "plot-csv-export"] },
|
||||||
"Points": { "status": "scope-only", "level": "unsupported", "commands": ["points-import", "points-filter", "points-export"] },
|
"Points": { "status": "data-adapter-registry", "level": "read-only", "commands": ["points-import", "points-filter", "points-export"] },
|
||||||
"ReverseEngineering": { "status": "scope-only", "level": "unsupported", "commands": ["fit-curve", "fit-surface", "reverse-engineer"] },
|
"ReverseEngineering": { "status": "data-adapter-registry", "level": "read-only", "commands": ["fit-curve", "fit-surface", "reverse-engineer"] },
|
||||||
"Robot": { "status": "scope-only", "level": "unsupported", "commands": ["robot-model", "robot-trajectory", "robot-simulate", "robot-export"] },
|
"Robot": { "status": "domain-contract", "level": "experimental", "commands": ["robot-model", "joint-limits", "waypoint", "robot-trajectory", "robot-export"] },
|
||||||
"Show": { "status": "scope-only", "level": "unsupported", "commands": ["show-object", "show-share", "show-presentation"] },
|
"Show": { "status": "scope-only", "level": "unsupported", "commands": ["show-object", "show-share", "show-presentation"] },
|
||||||
"Start": { "status": "scope-only", "level": "unsupported", "commands": ["start-page", "recent-projects", "templates"] },
|
"Start": { "status": "scope-only", "level": "unsupported", "commands": ["start-page", "recent-projects", "templates"] },
|
||||||
"Web": { "status": "scope-only", "level": "unsupported", "commands": ["web-export", "web-view", "web-share"] },
|
"Web": { "status": "scope-only", "level": "unsupported", "commands": ["web-export", "web-view", "web-share"] },
|
||||||
"Sandbox": { "status": "scope-only", "level": "unsupported", "commands": [] },
|
"Sandbox": { "status": "scope-only", "level": "unsupported", "commands": [] },
|
||||||
"TemplatePyMod": { "status": "scope-only", "level": "unsupported", "commands": [] },
|
"TemplatePyMod": { "status": "domain-contract", "level": "experimental", "commands": ["macro-record", "macro-replay", "facade-command"] },
|
||||||
"Test": { "status": "scope-only", "level": "unsupported", "commands": [] },
|
"Test": { "status": "scope-only", "level": "unsupported", "commands": [] },
|
||||||
"Tux": { "status": "scope-only", "level": "unsupported", "commands": [] }
|
"Tux": { "status": "scope-only", "level": "unsupported", "commands": [] }
|
||||||
},
|
},
|
||||||
@@ -65,23 +65,24 @@
|
|||||||
"occtPackage": "packages/dev/occt",
|
"occtPackage": "packages/dev/occt",
|
||||||
"workerPackage": "packages/dev/occt-worker",
|
"workerPackage": "packages/dev/occt-worker",
|
||||||
"sourceForm": "generated-wasm-and-typescript-only",
|
"sourceForm": "generated-wasm-and-typescript-only",
|
||||||
|
"wasmArtifact": { "path": "node_modules/@bitbybit-dev/occt/bitbybit-dev-occt/bitbybit-dev-occt.a4a6ec2a.wasm", "sha256": "1b6a8fc7b83d222854f73b66af8d0e45ad4fdee025904b447e885d4e18ae8656", "status": "compiled-artifact-verified" },
|
||||||
"missingBuildInputs": ["OCCT C++ source checkout", "Embind generation rules", "Emscripten link/export manifest"],
|
"missingBuildInputs": ["OCCT C++ source checkout", "Embind generation rules", "Emscripten link/export manifest"],
|
||||||
"evidence": "./npmw run check:bitbybit-history"
|
"evidence": "./npmw run check:bitbybit-history"
|
||||||
},
|
},
|
||||||
"nativeOcctHistory": {
|
"nativeOcctHistory": {
|
||||||
"status": "built-provider-not-default-runtime",
|
"status": "built-provider-browser-verified-default-worker",
|
||||||
"sourceCheckout": "OCCT_SOURCE_DIR",
|
"sourceCheckout": "OCCT_SOURCE_DIR",
|
||||||
"sourceCommit": "bb75017e915f6509a4bfa8b551f853352754c2da",
|
"sourceCommit": "bb75017e915f6509a4bfa8b551f853352754c2da",
|
||||||
"occtVersion": "8.0.0",
|
"occtVersion": "8.0.0",
|
||||||
"toolchain": "Emscripten 3.1.69 + CMake 3.31.6 + Ninja 1.12.1",
|
"toolchain": "Emscripten 3.1.69 + CMake 3.31.6 + Ninja 1.12.1",
|
||||||
"library": ["TKBO", "TKDESTEP", "TKXSBase", "TKDE"],
|
"library": ["TKBO", "TKBool", "TKFillet", "TKOffset", "TKDESTEP", "TKXSBase", "TKDE"],
|
||||||
"bindings": ["BRepAlgoAPI_Fuse", "BRepAlgoAPI_Cut", "BRepAlgoAPI_Common", "Generated", "Modified", "IsDeleted", "TopExp_Explorer", "STEPControl_Reader", "STEPControl_Writer", "shapeToStep", "booleanHistoryFromStep"],
|
"bindings": ["BRepPrimAPI_MakeBox", "BRepPrimAPI_MakeCylinder", "BRepPrimAPI_MakeSphere", "BRepPrimAPI_MakeCone", "BRepPrimAPI_MakePrism", "BRepPrimAPI_MakeRevol", "BRepBuilderAPI_Transform", "BRepFilletAPI_MakeFillet", "BRepFilletAPI_MakeChamfer", "BRepOffsetAPI_DraftAngle", "BRepOffsetAPI_MakePipe", "BRepOffsetAPI_MakeThickSolid", "BRepAlgoAPI_Fuse", "BRepAlgoAPI_Cut", "BRepAlgoAPI_Common", "Generated", "Modified", "IsDeleted", "BRepCheck_Analyzer", "BRepGProp", "BRepBndLib", "TopExp_Explorer", "STEPControl_Reader", "STEPControl_Writer", "shapeToStep", "shapeSummary", "booleanProbe", "booleanResult", "booleanHistoryFromStep", "prismHistoryFromStep", "pocketHistoryFromStep", "loftHistoryFromStep", "pipeHistoryFromStep", "revolutionHistoryFromStep", "grooveHistoryFromStep", "filletHistoryFromStep", "chamferHistoryFromStep", "holeHistoryFromStep", "draftHistoryFromStep", "thicknessHistoryFromStep", "linearPatternHistoryFromStep", "polarPatternHistoryFromStep", "mirroredHistoryFromStep", "multiTransformHistoryFromStep", "makeRectangleFace", "makeRectangleFacePlaced", "makeLineWire"],
|
||||||
"buildOptimization": "OCCT dependencies -O0 with Emscripten -fexceptions; Embind wrapper -O2 with -fexceptions",
|
"buildOptimization": "OCCT dependencies -O0 with Emscripten -fexceptions; Embind wrapper -O2 with -fexceptions",
|
||||||
"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": "e2feca5a8bab431e3351e6af3972beef4f9ce47fe02de2d0ac7ba9de91882311",
|
"javascriptSha256": "78f1cdd17a6a7b61ff8435c0ff8c912a43c4517e6ef49f3f741521662a903557",
|
||||||
"wasmSha256": "6fac28102132ddeb8e7f1f254c76643d595cc60a26b2adf80fe3d6407b18b675"
|
"wasmSha256": "b6cb6307399b188cdf1377e9294b4af8e36b21783693101db8f985e41cff5fbe"
|
||||||
},
|
},
|
||||||
"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": {
|
||||||
@@ -91,26 +92,45 @@
|
|||||||
"transport": "step-text",
|
"transport": "step-text",
|
||||||
"cancellation": "AbortSignal",
|
"cancellation": "AbortSignal",
|
||||||
"timeout": "coordinator-configured",
|
"timeout": "coordinator-configured",
|
||||||
"staleGuard": "documentId + documentVersion + operationId"
|
"staleGuard": "documentId + documentVersion + operationId",
|
||||||
|
"namingEvidence": {
|
||||||
|
"status": "explicit-runtime-contract",
|
||||||
|
"mappedNameRef": "optional provider evidence; final-shape-only stages are marked and cannot mint FreeCAD tokens",
|
||||||
|
"stringHasher": "optional opaque native table; validated and preserved losslessly",
|
||||||
|
"exactBlockers": ["private FreeCAD token algorithm", "missing native builder stage", "non-unique isomorphic source"]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"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": "worker-provider-configurable-not-default-runtime"
|
"status": "default-application-worker-with-fallback",
|
||||||
|
"browserVerification": "config/occt-browser-verification.json",
|
||||||
|
"threeWayVerification": "config/freecad-bitbybit-native-threeway.json",
|
||||||
|
"operations": ["worker-initialize", "worker-cancel", "worker-stale-isolation", "worker-crash-recovery-contract", "ownership-ledger-metrics", "browser-memory-budget-gate", "upstream-abi-golden-drift-gate", "artifact-dist-public-hash"]
|
||||||
},
|
},
|
||||||
"buildCommand": "./npmw run build:occt-history",
|
"buildCommand": "./npmw run build:occt-history",
|
||||||
"testCommand": "./npmw run test:occt-history"
|
"testCommand": "./npmw run test:occt-history"
|
||||||
},
|
},
|
||||||
"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", "fillet", "chamfer", "linear-pattern-whole-shape", "polar-pattern-whole-shape", "hole-basic-origin-normal", "feature-shape-cache", "face-edge-vertex-topology", "step-export", "stl-export"] },
|
"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", "toporef-candidate-replacement-transaction", "signature-topology-history-fallback", "native-topology-history-adapter", "undo-redo"] },
|
"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"] },
|
||||||
"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-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"] },
|
||||||
"sketcher": { "level": "experimental", "provider": "typescript-basic; planegcs-wasm unavailable", "operations": ["point-line-circle-arc-model", "ellipse-bspline-model-only", "construction-geometry", "stable-external-geometry-model", "basic-constraints", "diameter-symmetric-tangent", "basic-solver", "versioned-solver-protocol", "solver-capability-probe", "cancel-stale-isolation", "replay-contract", "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", "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"] },
|
||||||
"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"] }
|
"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"] }
|
||||||
|
},
|
||||||
|
"systemExactEvaluation": {
|
||||||
|
"evaluatedAt": "2026-08-09",
|
||||||
|
"exact": false,
|
||||||
|
"featureExactCount": 0,
|
||||||
|
"plan": "config/freecad-web-exact-parity-plan.json",
|
||||||
|
"promotionTask": "EX-REL-01",
|
||||||
|
"taskStatus": { "completed": 1, "inProgress": 37, "pending": 14, "blocked": 0 },
|
||||||
|
"blockers": ["private FreeCAD token algorithm", "missing native builder stage", "non-unique isomorphic source"]
|
||||||
},
|
},
|
||||||
"rules": [
|
"rules": [
|
||||||
"UI status does not imply geometry or file compatibility.",
|
"UI status does not imply geometry or file compatibility.",
|
||||||
|
|||||||
@@ -6,5 +6,5 @@
|
|||||||
"uiContract": "FreeCAD official desktop UI and Developers Handbook",
|
"uiContract": "FreeCAD official desktop UI and Developers Handbook",
|
||||||
"compatibilityLevels": ["exact", "compatible", "read-only", "proxy", "unsupported"],
|
"compatibilityLevels": ["exact", "compatible", "read-only", "proxy", "unsupported"],
|
||||||
"status": "native-headless-part-oracle-verified",
|
"status": "native-headless-part-oracle-verified",
|
||||||
"notes": "The official 1.1.1 tag and commit are locked. A reproducible local headless Part oracle and five geometry replay fixtures are verified; the digest-locked container, full workbench build, 100 golden files, and 50 error files remain P0-01/P0-03 deliverables."
|
"notes": "The official 1.1.1 tag and commit are locked. The local headless oracle verifies 100 primary success, 51 primary failure, and 5/5 supplemental Part-family success/failure fixtures. This baseline evidence does not promote the system exact claim."
|
||||||
}
|
}
|
||||||
|
|||||||
2320
config/freecad-bitbybit-native-threeway.json
Normal file
2320
config/freecad-bitbybit-native-threeway.json
Normal file
File diff suppressed because it is too large
Load Diff
123
config/freecad-cam-parity.json
Normal file
123
config/freecad-cam-parity.json
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"workbench": "src/Mod/CAM/InitGui.py",
|
||||||
|
"commandInventory": "config/freecad-gui-command-inventory.json",
|
||||||
|
"desktopOracle": "config/freecad-desktop-oracle.json",
|
||||||
|
"dynamicOracleStatus": "partial-command-state-only"
|
||||||
|
},
|
||||||
|
"status": "in_progress",
|
||||||
|
"claim": "compatible-browser-subset-not-exact-freecad-cam-parity",
|
||||||
|
"commandSurface": {
|
||||||
|
"toolbarGroups": 4,
|
||||||
|
"menuGroups": 5,
|
||||||
|
"webCommands": 60,
|
||||||
|
"freecadCamRuntimeCommands": 56,
|
||||||
|
"freecadCamSourceOnlyCommands": 5,
|
||||||
|
"notYetSurfacedCommands": [],
|
||||||
|
"nonActionableSourceTemplates": ["CAM_%s"],
|
||||||
|
"freecadCommandIds": [
|
||||||
|
"CAM_Adaptive", "CAM_Area", "CAM_Area_Workplane", "CAM_Array", "CAM_Comment", "CAM_Compound", "CAM_Custom", "CAM_Deburr", "CAM_DressupArray", "CAM_DressupAxisMap", "CAM_DressupDogbone", "CAM_DressupDragKnife", "CAM_DressupLeadInOut", "CAM_DressupPathBoundary", "CAM_DressupRampEntry", "CAM_DressupTag", "CAM_DressupTools", "CAM_DressupZCorrect", "CAM_Drilling", "CAM_DrillingTools", "CAM_Engrave", "CAM_EngraveTools", "CAM_ExportTemplate", "CAM_Fixture", "CAM_Helix", "CAM_Inspect", "CAM_Job", "CAM_MillFace", "CAM_OpActiveToggle", "CAM_OperationCopy", "CAM_PathShapeTC", "CAM_Pocket3D", "CAM_Pocket_Shape", "CAM_Post", "CAM_Probe", "CAM_Profile", "CAM_PropertyBag", "CAM_Sanity", "CAM_SelectLoop", "CAM_SetStartPoint", "CAM_Shape", "CAM_SimpleCopy", "CAM_SimTools", "CAM_Simulator", "CAM_SimulatorGL", "CAM_Slot", "CAM_Stop", "CAM_Tapping", "CAM_ThreadMilling", "CAM_ToolBitCreate", "CAM_ToolBitDock", "CAM_ToolBitLibraryOpen", "CAM_ToolBitLoad", "CAM_ToolBitSave", "CAM_ToolBitSaveAs", "CAM_ToolController", "CAM_Vcarve", "CAM_Camotics", "CAM_Copy", "CAM_3dTools"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"browserDomain": {
|
||||||
|
"stockModes": 4,
|
||||||
|
"toolShapes": 7,
|
||||||
|
"operationKinds": 22,
|
||||||
|
"dressupKinds": 9,
|
||||||
|
"postprocessors": 7
|
||||||
|
},
|
||||||
|
"coverage": [
|
||||||
|
{
|
||||||
|
"id": "CAM-21",
|
||||||
|
"level": "exact",
|
||||||
|
"scope": "Locked FreeCAD source command identifiers and CAM command grouping manifest",
|
||||||
|
"evidence": "check:cam-parity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-22",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "Sixty actionable CAM commands, four toolbars, five menu groups, Job tree, task panels and viewport toolpath presentation",
|
||||||
|
"evidence": "check:chrome-app-e2e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-23",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "Job, four stock modes and SetupSheet browser contract",
|
||||||
|
"evidence": "check:chrome-cam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-24",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "Seven ToolBit shapes, versioned JSON assets, tool controllers, feeds, rapids, spindle and coolant",
|
||||||
|
"evidence": "check:chrome-cam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-25",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "Twenty-two deterministic browser operation kinds; not native Path algorithms",
|
||||||
|
"evidence": "test:cam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-26",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "Nine deterministic path dress-up kinds",
|
||||||
|
"evidence": "test:cam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-27",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "Sanity check, deterministic swept-volume material-removal timeline, and path/stock/tool-holder/fixture collision diagnostics",
|
||||||
|
"evidence": "check:chrome-cam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-28",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "Seven allowlisted deterministic postprocessors with unsafe post rejection",
|
||||||
|
"evidence": "check:chrome-cam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-29",
|
||||||
|
"level": "development",
|
||||||
|
"scope": "Versioned CAM Job assets, validated import, OPFS snapshot, Undo/Redo, and persistent Comment/PropertyBag/Compound metadata are implemented; FreeCAD native Path::Feature/FeaturePython round-trip and Web Path::PropertyPath resource editing for native Path::Feature plus explicit non-executing FeaturePython opt-in are oracle-verified; FeaturePython operation metadata/recompute and full operation-object semantics remain bounded",
|
||||||
|
"evidence": "check:chrome-cam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-30",
|
||||||
|
"level": "compatible",
|
||||||
|
"scope": "FreeCAD-style task flow and command lifecycle; native Qt Job/Profile Task open/accept/cancel lifecycle is oracle-verified, while full focus, keyboard, validation and all operation panels remain pending",
|
||||||
|
"evidence": "check:chrome-app-e2e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-31",
|
||||||
|
"level": "development",
|
||||||
|
"scope": "OpenCAMLib WASM PathDropCutter, CAMotics source-stage G-code generation, CAMotics 1.3 native Qt/TPL plus CLI sidecars, standalone browser CAMotics sweep WASM, OCCT native BRep removal including continuous-segment sweep, and LinuxCNC XYZBC RTCP post/bridge are verified; full browser CAMotics program/same-input differential, full FreeCAD Path algorithms and complete continuous tool-axis oracle remain open",
|
||||||
|
"evidence": "check:chrome-camotics-wasm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CAM-32",
|
||||||
|
"level": "development",
|
||||||
|
"scope": "LinuxCNC WASM XYZBC machine acceptance is closed for the certified table-rotary-tilting digital case; Qt Task lifecycle, native Path::Feature Web codec, CAMotics native Qt/TPL and CLI sidecars, curved-segment BRep sweep and fail-closed safety matrix are evidenced, while exact dynamic FreeCAD comparison, FeaturePython/full Path semantics, full browser CAMotics differential and production authorization remain closed",
|
||||||
|
"evidence": "check:chrome-cam-linuxcnc-machine"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tasks": {
|
||||||
|
"completed": 8,
|
||||||
|
"inProgress": 4,
|
||||||
|
"pending": 0,
|
||||||
|
"blocked": 0
|
||||||
|
},
|
||||||
|
"unclosedDifferences": [
|
||||||
|
"Native FreeCAD Path operation algorithms and geometry semantics",
|
||||||
|
"Complete CAM Qt task-panel validation, focus, keyboard and all operation-dialog state oracle",
|
||||||
|
"CAMotics full browser program runtime and same-input simulator differential",
|
||||||
|
"Analytic arbitrary-curved-path native swept-volume material removal and holder/fixture oracle",
|
||||||
|
"Complete continuous tool-axis/singularity oracle beyond certified XYZBC case",
|
||||||
|
"FeaturePython operation metadata/recompute and full-operation semantic Path::PropertyPath codec/editable FCStd round-trip",
|
||||||
|
"Machine-specific production safety authorization and physical actuator/metrology validation"
|
||||||
|
]
|
||||||
|
}
|
||||||
2849
config/freecad-cam-path-oracle.json
Normal file
2849
config/freecad-cam-path-oracle.json
Normal file
File diff suppressed because it is too large
Load Diff
180067
config/freecad-composite-history-elementmap-oracle.json
Normal file
180067
config/freecad-composite-history-elementmap-oracle.json
Normal file
File diff suppressed because it is too large
Load Diff
46
config/freecad-desktop-oracle.json
Normal file
46
config/freecad-desktop-oracle.json
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baselineId": "freecad-1.1.1",
|
||||||
|
"profile": "desktop",
|
||||||
|
"buildDirectory": ".cache/freecad/build-desktop",
|
||||||
|
"installDirectory": ".cache/freecad/install-desktop",
|
||||||
|
"sysrootDirectory": ".cache/freecad/sysroot",
|
||||||
|
"requiredRuntime": "FreeCAD",
|
||||||
|
"cmake": {
|
||||||
|
"buildGui": true,
|
||||||
|
"developerTests": false,
|
||||||
|
"pivyProbe": false,
|
||||||
|
"externalSmesh": false,
|
||||||
|
"disabledOptionalModules": ["Cloud", "JtReader", "VR", "TemplatePyMod", "Sandbox"]
|
||||||
|
},
|
||||||
|
"sourceModules": [
|
||||||
|
"AddonManager", "Assembly", "BIM", "CAM", "Cloud", "Draft", "Fem", "Help", "Idf", "Import", "Inspection", "JtReader", "Material", "Measure", "Mesh", "MeshPart", "OpenSCAD", "Part", "PartDesign", "Plot", "Points", "ReverseEngineering", "Robot", "Sandbox", "Show", "Sketcher", "Spreadsheet", "Start", "Surface", "TechDraw", "TemplatePyMod", "Test", "Tux", "Web"
|
||||||
|
],
|
||||||
|
"evidence": {
|
||||||
|
"configureCommand": "FREECAD_ORACLE_PROFILE=desktop ./npmw run configure:freecad-native",
|
||||||
|
"buildCommand": "FREECAD_ORACLE_PROFILE=desktop ./npmw run build:freecad-native",
|
||||||
|
"probeCommand": "FREECAD_ORACLE_PROFILE=desktop xvfb-run -a ./npmw run probe:freecad-reference",
|
||||||
|
"checkCommand": "./npmw run check:freecad-desktop-oracle",
|
||||||
|
"fcstdNativeRoundTripCommand": "./npmw run test:freecad-fcstd-native",
|
||||||
|
"probeReport": ".cache/freecad/reference-desktop.json"
|
||||||
|
},
|
||||||
|
"artifact": {
|
||||||
|
"path": ".cache/freecad/install-desktop/bin/FreeCAD",
|
||||||
|
"reportedVersion": "FreeCAD 1.1.1 Revision: 14556 (Git)",
|
||||||
|
"sizeBytes": 153160,
|
||||||
|
"sha256": "2c75642f0cdfd8a44ecb46aeb1cd6ef5e5643b313c5e3d617e3766406766ef70"
|
||||||
|
},
|
||||||
|
"verification": {
|
||||||
|
"status": "verified",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"guiUp": true,
|
||||||
|
"moduleCount": 34,
|
||||||
|
"moduleStatusSummary": {
|
||||||
|
"compiled-importable": 30,
|
||||||
|
"not-built": 4
|
||||||
|
},
|
||||||
|
"disabledModules": ["Cloud", "JtReader", "Sandbox", "TemplatePyMod"],
|
||||||
|
"probeObjects": ["Part::Box", "Part::Cylinder", "Part::Sphere", "Part::Cone", "Part::Feature", "PartDesign::Feature", "Sketcher::SketchObject"]
|
||||||
|
},
|
||||||
|
"status": "desktop-build-probed"
|
||||||
|
}
|
||||||
577
config/freecad-entrypoint-inventory.json
Normal file
577
config/freecad-entrypoint-inventory.json
Normal file
@@ -0,0 +1,577 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
||||||
|
},
|
||||||
|
"generatedBy": "scripts/generate-freecad-entrypoint-inventory.mjs",
|
||||||
|
"sourceInventory": "config/freecad-source-inventory.json",
|
||||||
|
"formats": [
|
||||||
|
{
|
||||||
|
"id": "FCStd",
|
||||||
|
"category": "project",
|
||||||
|
"modules": [
|
||||||
|
"App",
|
||||||
|
"Gui"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/App/Document.cpp",
|
||||||
|
"src/Gui/Document.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "native-parser",
|
||||||
|
"compatibility": "read-only",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "BREP",
|
||||||
|
"category": "geometry",
|
||||||
|
"modules": [
|
||||||
|
"Part"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Part/App/FeaturePartImportBrep.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "occt-worker",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"roundTrip": true,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "STEP",
|
||||||
|
"category": "geometry",
|
||||||
|
"modules": [
|
||||||
|
"Part",
|
||||||
|
"Import"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Part/App/FeaturePartImportStep.cpp",
|
||||||
|
"src/Mod/Import/App/WriterStep.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "occt-worker",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"roundTrip": true,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "IGES",
|
||||||
|
"category": "geometry",
|
||||||
|
"modules": [
|
||||||
|
"Part",
|
||||||
|
"Import"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Part/App/FeaturePartImportIges.cpp",
|
||||||
|
"src/Mod/Import/App/WriterIges.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "occt-worker",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"roundTrip": true,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "STL",
|
||||||
|
"category": "mesh",
|
||||||
|
"modules": [
|
||||||
|
"Mesh",
|
||||||
|
"MeshPart"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Mesh/App/Importer.cpp",
|
||||||
|
"src/Mod/Mesh/App/Exporter.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "worker-adapter",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"roundTrip": true,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "OBJ",
|
||||||
|
"category": "mesh",
|
||||||
|
"modules": [
|
||||||
|
"Mesh"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Mesh/App/Importer.cpp",
|
||||||
|
"src/Mod/Mesh/App/Exporter.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "worker-adapter",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"roundTrip": true,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PLY",
|
||||||
|
"category": "mesh",
|
||||||
|
"modules": [
|
||||||
|
"Mesh"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Mesh/App/Importer.cpp",
|
||||||
|
"src/Mod/Mesh/App/Exporter.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "worker-adapter",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"roundTrip": true,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "DXF",
|
||||||
|
"category": "2d",
|
||||||
|
"modules": [
|
||||||
|
"Draft",
|
||||||
|
"Import"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Draft/importDXF.py",
|
||||||
|
"src/Mod/Import/App/dxf/ImpExpDxf.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "worker-adapter",
|
||||||
|
"compatibility": "read-only",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "SVG",
|
||||||
|
"category": "drawing",
|
||||||
|
"modules": [
|
||||||
|
"Draft",
|
||||||
|
"TechDraw"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Draft/importSVG.py",
|
||||||
|
"src/Mod/TechDraw/App/TechDrawExport.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "sanitized-parser",
|
||||||
|
"compatibility": "read-only",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "PDF",
|
||||||
|
"category": "drawing",
|
||||||
|
"modules": [
|
||||||
|
"TechDraw"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/TechDraw/App/TechDrawExport.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "server-export",
|
||||||
|
"compatibility": "read-only",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "IFC",
|
||||||
|
"category": "bim",
|
||||||
|
"modules": [
|
||||||
|
"BIM"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/BIM/importers/importIFC.py"
|
||||||
|
],
|
||||||
|
"webStrategy": "sandboxed-adapter",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CSV",
|
||||||
|
"category": "data",
|
||||||
|
"modules": [
|
||||||
|
"Spreadsheet"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Spreadsheet/App/SheetPyImp.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "facade-parser",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"roundTrip": true,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "GCODE",
|
||||||
|
"category": "manufacturing",
|
||||||
|
"modules": [
|
||||||
|
"CAM"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/CAM/PathCommands.py"
|
||||||
|
],
|
||||||
|
"webStrategy": "sandboxed-adapter",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "JT",
|
||||||
|
"category": "geometry",
|
||||||
|
"modules": [
|
||||||
|
"JtReader"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/JtReader/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"webStrategy": "proxy-resource",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "IDF",
|
||||||
|
"category": "electronics",
|
||||||
|
"modules": [
|
||||||
|
"Idf"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/Idf/Idf.py"
|
||||||
|
],
|
||||||
|
"webStrategy": "proxy-resource",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"roundTrip": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entrypoints": [
|
||||||
|
{
|
||||||
|
"id": "python-api",
|
||||||
|
"category": "scripting",
|
||||||
|
"modules": [
|
||||||
|
"App",
|
||||||
|
"Gui"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/App/ApplicationPy.cpp",
|
||||||
|
"src/Gui/ApplicationPy.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "sandboxed-interpreter",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"execution": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "macro-fcmacro",
|
||||||
|
"category": "scripting",
|
||||||
|
"modules": [
|
||||||
|
"Gui"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Gui/CommandMacro.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "blocked-resource",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"execution": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "addon-package",
|
||||||
|
"category": "extension",
|
||||||
|
"modules": [
|
||||||
|
"AddonManager"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Mod/AddonManager"
|
||||||
|
],
|
||||||
|
"webStrategy": "signed-catalog",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"execution": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "preferences",
|
||||||
|
"category": "configuration",
|
||||||
|
"modules": [
|
||||||
|
"App",
|
||||||
|
"Gui"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Base/Parameter.cpp",
|
||||||
|
"src/Gui/PreferencePages"
|
||||||
|
],
|
||||||
|
"webStrategy": "namespaced-settings",
|
||||||
|
"compatibility": "experimental",
|
||||||
|
"execution": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "clipboard",
|
||||||
|
"category": "desktop",
|
||||||
|
"modules": [
|
||||||
|
"Gui"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Gui/MainWindow.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "browser-clipboard-permission",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"execution": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "print-job",
|
||||||
|
"category": "desktop",
|
||||||
|
"modules": [
|
||||||
|
"Gui",
|
||||||
|
"TechDraw"
|
||||||
|
],
|
||||||
|
"sourceEvidence": [
|
||||||
|
"src/Gui/MainWindow.cpp",
|
||||||
|
"src/Mod/TechDraw/Gui/PagePrinter.cpp"
|
||||||
|
],
|
||||||
|
"webStrategy": "server-export",
|
||||||
|
"compatibility": "unsupported",
|
||||||
|
"execution": false,
|
||||||
|
"status": "inventory-recorded"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"moduleCoverage": [
|
||||||
|
{
|
||||||
|
"name": "AddonManager",
|
||||||
|
"sourcePath": "src/Mod/AddonManager",
|
||||||
|
"coveredBy": [
|
||||||
|
"addon-package"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Assembly",
|
||||||
|
"sourcePath": "src/Mod/Assembly",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BIM",
|
||||||
|
"sourcePath": "src/Mod/BIM",
|
||||||
|
"coveredBy": [
|
||||||
|
"IFC"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CAM",
|
||||||
|
"sourcePath": "src/Mod/CAM",
|
||||||
|
"coveredBy": [
|
||||||
|
"GCODE"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Cloud",
|
||||||
|
"sourcePath": "src/Mod/Cloud",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Draft",
|
||||||
|
"sourcePath": "src/Mod/Draft",
|
||||||
|
"coveredBy": [
|
||||||
|
"DXF",
|
||||||
|
"SVG"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Fem",
|
||||||
|
"sourcePath": "src/Mod/Fem",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Help",
|
||||||
|
"sourcePath": "src/Mod/Help",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Idf",
|
||||||
|
"sourcePath": "src/Mod/Idf",
|
||||||
|
"coveredBy": [
|
||||||
|
"IDF"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Import",
|
||||||
|
"sourcePath": "src/Mod/Import",
|
||||||
|
"coveredBy": [
|
||||||
|
"STEP",
|
||||||
|
"IGES",
|
||||||
|
"DXF"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Inspection",
|
||||||
|
"sourcePath": "src/Mod/Inspection",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "JtReader",
|
||||||
|
"sourcePath": "src/Mod/JtReader",
|
||||||
|
"coveredBy": [
|
||||||
|
"JT"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Material",
|
||||||
|
"sourcePath": "src/Mod/Material",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Measure",
|
||||||
|
"sourcePath": "src/Mod/Measure",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mesh",
|
||||||
|
"sourcePath": "src/Mod/Mesh",
|
||||||
|
"coveredBy": [
|
||||||
|
"STL",
|
||||||
|
"OBJ",
|
||||||
|
"PLY"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MeshPart",
|
||||||
|
"sourcePath": "src/Mod/MeshPart",
|
||||||
|
"coveredBy": [
|
||||||
|
"STL"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OpenSCAD",
|
||||||
|
"sourcePath": "src/Mod/OpenSCAD",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Part",
|
||||||
|
"sourcePath": "src/Mod/Part",
|
||||||
|
"coveredBy": [
|
||||||
|
"BREP",
|
||||||
|
"STEP",
|
||||||
|
"IGES"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PartDesign",
|
||||||
|
"sourcePath": "src/Mod/PartDesign",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Plot",
|
||||||
|
"sourcePath": "src/Mod/Plot",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Points",
|
||||||
|
"sourcePath": "src/Mod/Points",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ReverseEngineering",
|
||||||
|
"sourcePath": "src/Mod/ReverseEngineering",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Robot",
|
||||||
|
"sourcePath": "src/Mod/Robot",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sandbox",
|
||||||
|
"sourcePath": "src/Mod/Sandbox",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Show",
|
||||||
|
"sourcePath": "src/Mod/Show",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sketcher",
|
||||||
|
"sourcePath": "src/Mod/Sketcher",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Spreadsheet",
|
||||||
|
"sourcePath": "src/Mod/Spreadsheet",
|
||||||
|
"coveredBy": [
|
||||||
|
"CSV"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Start",
|
||||||
|
"sourcePath": "src/Mod/Start",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Surface",
|
||||||
|
"sourcePath": "src/Mod/Surface",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TechDraw",
|
||||||
|
"sourcePath": "src/Mod/TechDraw",
|
||||||
|
"coveredBy": [
|
||||||
|
"SVG",
|
||||||
|
"PDF",
|
||||||
|
"print-job"
|
||||||
|
],
|
||||||
|
"status": "entrypoint-covered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TemplatePyMod",
|
||||||
|
"sourcePath": "src/Mod/TemplatePyMod",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Test",
|
||||||
|
"sourcePath": "src/Mod/Test",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Tux",
|
||||||
|
"sourcePath": "src/Mod/Tux",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Web",
|
||||||
|
"sourcePath": "src/Mod/Web",
|
||||||
|
"coveredBy": [],
|
||||||
|
"status": "scope-only"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"policy": {
|
||||||
|
"unsupportedExecution": [
|
||||||
|
"Python API",
|
||||||
|
"FCMacro",
|
||||||
|
"addon package",
|
||||||
|
"clipboard",
|
||||||
|
"print job"
|
||||||
|
],
|
||||||
|
"unknownOrUnlistedEntries": "fail-inventory-check",
|
||||||
|
"untrustedContent": "never-execute"
|
||||||
|
}
|
||||||
|
}
|
||||||
20
config/freecad-exact-history-elementmap-gate.json
Normal file
20
config/freecad-exact-history-elementmap-gate.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baselineId": "freecad-1.1.1-composite-history-elementmap2",
|
||||||
|
"requiredCases": 30,
|
||||||
|
"requiredFreecadVersion": "1.1.1",
|
||||||
|
"requiredFreecadCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"requirements": {
|
||||||
|
"wrongBindings": 0,
|
||||||
|
"unexplainedRelations": 0,
|
||||||
|
"roundtripNameDrift": 0,
|
||||||
|
"elementMap2ParseFailures": 0,
|
||||||
|
"elementMap2SemanticFailures": 0,
|
||||||
|
"elementMap2TokenWriterFailures": 0,
|
||||||
|
"stringHasherParseFailures": 0,
|
||||||
|
"stringHasherSemanticFailures": 0,
|
||||||
|
"stringHasherEvidenceFailures": 0,
|
||||||
|
"namingEvidenceMissing": 0,
|
||||||
|
"namingEvidenceBoundaryViolations": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
215
config/freecad-execution-plan.json
Normal file
215
config/freecad-execution-plan.json
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"freecadCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"bitbybitVersion": "1.1.1",
|
||||||
|
"occtNativeVersion": "8.0.0"
|
||||||
|
},
|
||||||
|
"lanes": [
|
||||||
|
{ "id": "ORACLE", "ownerRole": "FreeCAD reference and inventory", "scope": "Desktop/headless oracle, manifests, golden fixtures" },
|
||||||
|
{ "id": "KERNEL", "ownerRole": "Geometry kernel and WASM", "scope": "Bitbybit, OCCT bindings, Workers, shape ownership" },
|
||||||
|
{ "id": "TOPO", "ownerRole": "Topology naming", "scope": "TopoRef, history, signatures, migration and selection" },
|
||||||
|
{ "id": "SKETCH", "ownerRole": "Sketcher solver", "scope": "planegcs, constraints, sketch editing and diagnostics" },
|
||||||
|
{ "id": "CORE", "ownerRole": "Parametric document core", "scope": "Document, DAG, Part, PartDesign, Body and attachment" },
|
||||||
|
{ "id": "IO", "ownerRole": "Persistence and interoperability", "scope": "FCStd, BRep resources, formats and round-trip" },
|
||||||
|
{ "id": "DOC", "ownerRole": "Production workbenches", "scope": "TechDraw, Spreadsheet, Draft and Plot" },
|
||||||
|
{ "id": "ENGINEERING", "ownerRole": "Engineering workbenches", "scope": "Assembly, BIM, Mesh and Surface" },
|
||||||
|
{ "id": "PLATFORM", "ownerRole": "Analysis and platform capabilities", "scope": "FEM, CAM, Robot, Inspection, data, addons and scripts" },
|
||||||
|
{ "id": "QUALITY", "ownerRole": "Quality and release", "scope": "Browsers, performance, security, migrations and release" }
|
||||||
|
],
|
||||||
|
"gates": [
|
||||||
|
{ "id": "G0", "title": "Reference inventory", "requiredPrograms": ["P01"] },
|
||||||
|
{ "id": "G1", "title": "Browser geometry kernel", "requiredPrograms": ["P02"] },
|
||||||
|
{ "id": "G2", "title": "Stable topology", "requiredPrograms": ["P03"] },
|
||||||
|
{ "id": "G3", "title": "Sketcher parity", "requiredPrograms": ["P04"] },
|
||||||
|
{ "id": "G4", "title": "Parametric Part and PartDesign", "requiredPrograms": ["P05"] },
|
||||||
|
{ "id": "G5", "title": "FCStd round-trip", "requiredPrograms": ["P06"] },
|
||||||
|
{ "id": "G6", "title": "Production workbenches", "requiredPrograms": ["P07"] },
|
||||||
|
{ "id": "G7", "title": "Engineering workbenches", "requiredPrograms": ["P08"] },
|
||||||
|
{ "id": "G8", "title": "Analysis and platform", "requiredPrograms": ["P09"] },
|
||||||
|
{ "id": "G9", "title": "Release", "requiredPrograms": ["P10"] }
|
||||||
|
],
|
||||||
|
"programs": [
|
||||||
|
{
|
||||||
|
"id": "P01",
|
||||||
|
"title": "Complete desktop FreeCAD oracle and 34-module inventory",
|
||||||
|
"ownerLane": "ORACLE",
|
||||||
|
"dependencies": [],
|
||||||
|
"gate": "G0",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "ORA-01", "title": "Create full desktop oracle build profile", "status": "completed", "dependencies": [], "deliverables": ["Pinned GUI/workbench CMake profile", "Build manifest and hashes"], "acceptance": ["Clean build reports FreeCAD 1.1.1 at the locked commit", "GUI and workbench modules are probeable"] },
|
||||||
|
{ "id": "ORA-02", "title": "Extend runtime probe for GUI and module failure classes", "status": "completed", "dependencies": ["ORA-01"], "deliverables": ["GUI-aware probe", "Compiled/import/gui-only status model"], "acceptance": ["Probe distinguishes missing build, import failure and GUI-only", "Report is deterministic JSON"] },
|
||||||
|
{ "id": "INV-01", "title": "Generate 34-module and workbench inventory", "status": "completed", "dependencies": ["ORA-02"], "deliverables": ["Module/workbench/command manifest", "Source locations"], "acceptance": ["All src/Mod directories are classified", "No unregistered workbench command"] },
|
||||||
|
{ "id": "INV-02", "title": "Inventory TypeId and Property metadata", "status": "completed", "dependencies": ["ORA-02"], "deliverables": ["TypeId/property/default/status manifest", "Source-traceable static TypeId/property candidate inventory", "Minimal object fixtures"], "acceptance": ["Core objects trace to source and runtime", "Read-only/hidden/output flags are recorded", "Static candidates are reproducible from the locked source checkout and remain explicitly unpromoted until runtime probes confirm them"] },
|
||||||
|
{ "id": "INV-03", "title": "Inventory GUI commands and selection preconditions", "status": "completed", "dependencies": ["INV-01"], "deliverables": ["Menu/toolbar/context/shortcut map", "Selection and task preconditions"], "acceptance": ["Every GUI command has enabled/disabled oracle cases"] },
|
||||||
|
{ "id": "INV-04", "title": "Inventory formats, preferences, Python and addon entry points", "status": "completed", "dependencies": ["INV-01"], "deliverables": ["Format and optional-library matrix", "Preference/API/addon inventory"], "acceptance": ["Every entry has web strategy and compatibility level"] },
|
||||||
|
{ "id": "BASE-03", "title": "Expand oracle fixtures", "status": "completed", "dependencies": ["INV-02", "INV-03"], "deliverables": ["100 success fixtures", "51 failure fixtures"], "acceptance": ["Fixtures cover core objects, units, topology changes and errors"] },
|
||||||
|
{ "id": "BASE-04", "title": "Build oracle-to-Web semantic comparator", "status": "completed", "dependencies": ["BASE-03"], "deliverables": ["Tree/property/shape/topology comparator", "Diff report schema"], "acceptance": ["Known differences are explicit", "Unknown differences fail the gate"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P02",
|
||||||
|
"title": "Native OCCT Worker browser execution and Boolean gates",
|
||||||
|
"ownerLane": "KERNEL",
|
||||||
|
"dependencies": ["P01"],
|
||||||
|
"gate": "G1",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "BYB-03", "title": "Reproducible Bitbybit and OCCT source build", "status": "completed", "dependencies": ["ORA-01"], "deliverables": ["Pinned toolchain build", "Patch, ABI, hash and license manifest"], "acceptance": ["Clean rebuild has the declared exports and traceable hashes"] },
|
||||||
|
{ "id": "BYB-05", "title": "Version and harden Worker protocol", "status": "completed", "dependencies": ["BYB-03"], "deliverables": ["Capabilities handshake", "Cancellation, timeout, crash and stale-result protocol"], "acceptance": ["Malformed messages fail safely", "Restart does not accept stale results"] },
|
||||||
|
{ "id": "BYB-06", "title": "Define shape ownership and release accounting", "status": "completed", "dependencies": ["BYB-05"], "deliverables": ["Ownership ledger", "Reference counting and disposal metrics", "Browser Worker crash recovery and reinitialization contract"], "acceptance": ["No use-after-release", "Long Boolean sessions remain within memory budget", "A failed Worker is replaced before a retry and pending requests are rejected"] },
|
||||||
|
{ "id": "BROWSER-OCCT-01", "title": "Instantiate native history WASM in Chrome", "status": "completed", "dependencies": ["BYB-05"], "deliverables": ["Chrome harness", "COOP/COEP, OPFS, and artifact-loading evidence"], "acceptance": ["JS/WASM Worker initializes in Chrome", "Abort and worker crash are recoverable"] },
|
||||||
|
{ "id": "BYB-07", "title": "Run three-way Boolean golden comparison", "status": "completed", "dependencies": ["BROWSER-OCCT-01", "BASE-04"], "deliverables": ["Fuse/Cut/Common FreeCAD-Bitbybit-native reports", "Tolerance and error taxonomy"], "acceptance": ["Geometry and history differences are explained", "No silent topology mismatch"] },
|
||||||
|
{ "id": "MEM-OCCT-01", "title": "Enforce Worker memory gate", "status": "completed", "dependencies": ["BYB-06", "BYB-07"], "deliverables": ["1000-operation stress fixture", "Heap/WASM/GPU retention report"], "acceptance": ["Peak and retained memory meet budgets", "All temporary shapes are accounted for"] },
|
||||||
|
{ "id": "BYB-08", "title": "Automate upstream ABI and golden drift", "status": "completed", "dependencies": ["BYB-07"], "deliverables": ["API/ABI diff job", "Golden drift report"], "acceptance": ["Dependency upgrades cannot silently change capabilities"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P03",
|
||||||
|
"title": "Stable TopoRef, signatures and mutation replay",
|
||||||
|
"ownerLane": "TOPO",
|
||||||
|
"dependencies": ["P02"],
|
||||||
|
"gate": "G2",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "TSN-03", "title": "Complete native history coverage", "status": "completed", "dependencies": ["BYB-07"], "deliverables": ["Generated/Modified/Deleted for Boolean and features"], "acceptance": ["Every source subshape has an explainable relation"] },
|
||||||
|
{ "id": "TSN-04", "title": "Implement analytic curve and surface signatures", "status": "completed", "dependencies": ["TSN-03"], "deliverables": ["Curve/surface parameter signatures", "Orientation and tolerance normalization"], "acceptance": ["Signatures do not depend on triangulation precision"] },
|
||||||
|
{ "id": "TSN-05", "title": "Add adjacency and confidence matching", "status": "completed", "dependencies": ["TSN-04"], "deliverables": ["Adjacency graph", "One-to-one/one-to-many scoring"], "acceptance": ["Rigid transforms and parameter edits retain safe references"] },
|
||||||
|
{ "id": "TSN-06", "title": "Handle symmetry, split and merge ambiguity", "status": "completed", "dependencies": ["TSN-05"], "deliverables": ["Ambiguity policy", "Candidate and confidence diagnostics"], "acceptance": ["Low confidence never binds silently"] },
|
||||||
|
{ "id": "TSN-07", "title": "Map Boolean, Pattern and cross-Body history", "status": "completed", "dependencies": ["TSN-03", "TSN-06"], "deliverables": ["Multi-input source mapping", "Pattern instance lineage"], "acceptance": ["Every result relation identifies its source object"] },
|
||||||
|
{ "id": "TSN-08", "title": "Persist and migrate TopoRef everywhere", "status": "completed", "dependencies": ["TSN-07"], "deliverables": ["LinkSub/external geometry/FCStd migration", "Schema upgrade fixtures"], "acceptance": ["Save/load and version upgrades preserve stable/ambiguous/deleted states"] },
|
||||||
|
{ "id": "TSN-09", "title": "Connect 3D pick, preselect and candidate repair", "status": "completed", "dependencies": ["TSN-08"], "deliverables": ["Facade selection contract", "Candidate highlight and repair flow"], "acceptance": ["UI never persists transient mesh indexes"] },
|
||||||
|
{ "id": "TSN-10", "title": "Run parameter mutation and fuzz replay", "status": "completed", "dependencies": ["TSN-07", "TSN-09"], "deliverables": ["100-model/1000-mutation suite", "Wrong-bind audit"], "acceptance": ["No silent wrong binding", "All ambiguity is diagnosable"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P04",
|
||||||
|
"title": "planegcs WASM and complete Sketcher constraints",
|
||||||
|
"ownerLane": "SKETCH",
|
||||||
|
"dependencies": ["P01", "P03"],
|
||||||
|
"gate": "G3",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "SK-03", "title": "Build planegcs WASM", "status": "completed", "dependencies": ["ORA-01"], "deliverables": ["Minimal source graph", "Emscripten build and hashes"], "acceptance": ["Deterministic solve works in a dedicated Worker"] },
|
||||||
|
{ "id": "SK-04", "title": "Finalize solver protocol and lifecycle", "status": "completed", "dependencies": ["SK-03"], "deliverables": ["Capabilities and diagnostics", "Cancel/stale/crash recovery"], "acceptance": ["Provider replacement does not change Facade contracts"] },
|
||||||
|
{ "id": "SK-05", "title": "Complete sketch geometry model", "status": "completed", "dependencies": ["SK-04"], "deliverables": ["Ellipse, B-spline, periodic and construction geometry"], "acceptance": ["Geometry round-trips with stable IDs"] },
|
||||||
|
{ "id": "SK-06", "title": "Implement complete geometric constraints", "status": "completed", "dependencies": ["SK-04", "SK-05"], "deliverables": ["Coincident through block constraint set"], "acceptance": ["Each constraint has FreeCAD success and failure fixtures"] },
|
||||||
|
{ "id": "SK-07", "title": "Implement dimensional/reference constraints and diagnoses", "status": "completed", "dependencies": ["SK-06"], "deliverables": ["Driving/reference dimensions", "DOF/redundant/conflicting classification"], "acceptance": ["Solver classifications match FreeCAD fixtures"] },
|
||||||
|
{ "id": "SK-08", "title": "Implement support and external geometry", "status": "completed", "dependencies": ["TSN-09", "SK-06"], "deliverables": ["Plane/face support", "Projection and CarbonCopy"], "acceptance": ["Upstream topology migration updates sketch references safely"] },
|
||||||
|
{ "id": "SK-09", "title": "Complete interactive editor", "status": "completed", "dependencies": ["SK-07", "SK-08"], "deliverables": ["Trim/extend/split/drag/autoconstraint", "Keyboard and pointer replay"], "acceptance": ["Editing and task lifecycle match oracle behavior"] },
|
||||||
|
{ "id": "SK-10", "title": "Complete B-spline editing", "status": "completed", "dependencies": ["SK-05", "SK-09"], "deliverables": ["Poles/knots/weights/degree/periodic editing"], "acceptance": ["B-spline constraints and round-trip fixtures pass"] },
|
||||||
|
{ "id": "SK-11", "title": "Validate feature profiles", "status": "completed", "dependencies": ["SK-08", "SK-10"], "deliverables": ["Open/closed/multi-ring/self-intersection classifier"], "acceptance": ["PartDesign consumes profiles with FreeCAD-compatible errors"] },
|
||||||
|
{ "id": "SK-12", "title": "Run Sketcher golden and stress suite", "status": "completed", "dependencies": ["SK-07", "SK-09", "SK-11"], "deliverables": ["500-model suite", "Solve time and determinism report"], "acceptance": ["Success, conflict, redundancy and drag cases pass budgets"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P05",
|
||||||
|
"title": "Part and PartDesign parametric closure",
|
||||||
|
"ownerLane": "CORE",
|
||||||
|
"dependencies": ["P03", "P04"],
|
||||||
|
"gate": "G4",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "CORE-09", "title": "Complete Body, Origin and Tip rules", "status": "completed", "dependencies": ["TSN-08"], "deliverables": ["Feature ordering and Tip redirection", "Single-solid enforcement"], "acceptance": ["Suppression, deletion and reorder match FreeCAD"] },
|
||||||
|
{ "id": "CORE-10", "title": "Implement Support and MapMode", "status": "completed", "dependencies": ["TSN-09", "CORE-09"], "deliverables": ["Support schema", "Attachment engine modes"], "acceptance": ["Face/plane support survives topology migration"] },
|
||||||
|
{ "id": "CORE-11", "title": "Implement AttachmentOffset and local coordinates", "status": "completed", "dependencies": ["CORE-10"], "deliverables": ["Placement composition", "Local coordinate-chain tests"], "acceptance": ["Result placements match FreeCAD within tolerance"] },
|
||||||
|
{ "id": "PART-ALL", "title": "Complete Part objects and operations", "status": "completed", "dependencies": ["TSN-07", "CORE-11"], "deliverables": ["Primitive, Boolean, builder, modification and check operations"], "acceptance": ["Part command fixtures and STEP/IGES/BREP gates pass"] },
|
||||||
|
{ "id": "PD-BASE", "title": "Complete Pad, Pocket, Revolution and Groove modes", "status": "completed", "dependencies": ["SK-11", "CORE-11"], "deliverables": ["Lengths, to-face, through-all, taper and midplane modes"], "acceptance": ["Parameter edits recompute with native history"] },
|
||||||
|
{ "id": "PD-LOFT", "title": "Implement additive/subtractive loft and pipe", "status": "completed", "dependencies": ["PD-BASE"], "deliverables": ["Section/path/transition features"], "acceptance": ["Failure recovery retains the last valid shape"] },
|
||||||
|
{ "id": "PD-DRESSUP", "title": "Complete dress-up features", "status": "completed", "dependencies": ["TSN-09", "PD-BASE"], "deliverables": ["Fillet/chamfer/draft/thickness with stable selections"], "acceptance": ["Edge/face changes migrate or report ambiguity"] },
|
||||||
|
{ "id": "PD-TRANSFORM", "title": "Complete transforms and Hole", "status": "completed", "dependencies": ["CORE-10", "PD-DRESSUP"], "deliverables": ["Feature-list transforms", "Full Hole standards and placement"], "acceptance": ["Single-solid, axis/plane and thread semantics are tested"] },
|
||||||
|
{ "id": "PD-CLOSURE", "title": "Run full parametric lifecycle", "status": "completed", "dependencies": ["PART-ALL", "PD-LOFT", "PD-TRANSFORM"], "deliverables": ["Create/edit/recompute/undo/save/load suite"], "acceptance": ["No stale shapes or broken Tip/Support references"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P06",
|
||||||
|
"title": "FCStd bidirectional round-trip",
|
||||||
|
"ownerLane": "IO",
|
||||||
|
"dependencies": ["P03", "P05"],
|
||||||
|
"gate": "G5",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "FC-04", "title": "Map Document.xml and GuiDocument.xml", "status": "completed", "dependencies": ["INV-02"], "deliverables": ["Object/property/extension mapper", "View state mapper"], "acceptance": ["Known metadata round-trips without semantic loss"] },
|
||||||
|
{ "id": "FC-05", "title": "Read and write BRep/Shape resources", "status": "completed", "dependencies": ["PART-ALL", "FC-04"], "deliverables": ["Shape resource resolver", "Topology/precision/color report"], "acceptance": ["Shape counts and mass properties match oracle"] },
|
||||||
|
{ "id": "FC-06", "title": "Serialize expressions, links, TopoRef and Sketcher", "status": "completed", "dependencies": ["TSN-08", "SK-12", "FC-04"], "deliverables": ["Typed property codecs", "Reference migration report"], "acceptance": ["FreeCAD can recompute supported objects after save"] },
|
||||||
|
{ "id": "FC-07", "title": "Preserve unknown XML and resources", "status": "completed", "dependencies": ["FC-04"], "deliverables": ["Opaque extension store", "Script isolation metadata"], "acceptance": ["Unknown/proxy bytes survive read-write unchanged"] },
|
||||||
|
{ "id": "FC-08", "title": "Complete STEP, IGES and BREP exchange", "status": "completed", "dependencies": ["FC-05"], "deliverables": ["Import/export adapters", "Units/colors/tolerance report"], "acceptance": ["100-model format golden suite passes"] },
|
||||||
|
{ "id": "FC-09", "title": "Complete secondary format adapters", "status": "completed", "dependencies": ["FC-08"], "deliverables": ["Mesh/2D/BIM/data format matrix"], "acceptance": ["Each format has success, failure and round-trip evidence"] },
|
||||||
|
{ "id": "FC-10", "title": "Run FreeCAD-Web-FreeCAD round-trip", "status": "completed", "dependencies": ["FC-05", "FC-06", "FC-07"], "deliverables": ["Core editable-object reports", "Proxy byte-preservation reports"], "acceptance": ["No silent loss", "All differences are classified"] },
|
||||||
|
{ "id": "FC-11", "title": "Harden large and corrupt file handling", "status": "completed", "dependencies": ["FC-10"], "deliverables": ["Streaming/limit/cancel/recovery tests"], "acceptance": ["Files within limits do not crash", "Over-limit files fail explicitly"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P07",
|
||||||
|
"title": "TechDraw, Spreadsheet, Draft and Plot",
|
||||||
|
"ownerLane": "DOC",
|
||||||
|
"dependencies": ["P05", "P06"],
|
||||||
|
"gate": "G6",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "TD-ALL", "title": "Complete TechDraw", "status": "completed", "dependencies": ["TSN-09", "FC-06"], "deliverables": ["Pages/views/sections/dimensions/annotations", "SVG/PDF output"], "acceptance": ["Projection, scale and TopoRef update fixtures pass"] },
|
||||||
|
{ "id": "SS-ALL", "title": "Complete Spreadsheet", "status": "completed", "dependencies": ["FC-06"], "deliverables": ["Cells/formulas/aliases/styles/bindings", "CSV and large-sheet support"], "acceptance": ["DAG cycles and object bindings match FreeCAD"] },
|
||||||
|
{ "id": "DRAFT-BASE", "title": "Complete Draft geometry and working plane", "status": "completed", "dependencies": ["CORE-11", "SK-12"], "deliverables": ["Working plane/snap/grid", "Parametric 2D objects"], "acceptance": ["Creation and edit fixtures match oracle"] },
|
||||||
|
{ "id": "DRAFT-OPS", "title": "Complete Draft operations and layers", "status": "completed", "dependencies": ["DRAFT-BASE"], "deliverables": ["Move/rotate/scale/offset/trim/array/clone", "Layer behavior"], "acceptance": ["Dependencies and round-trip remain parametric"] },
|
||||||
|
{ "id": "PLOT-ALL", "title": "Complete Plot", "status": "completed", "dependencies": ["SS-ALL"], "deliverables": ["Series/axes/legend/styles/bindings", "Image/SVG/CSV output"], "acceptance": ["Bound plots update deterministically"] },
|
||||||
|
{ "id": "DOC-CLOSURE", "title": "Run production-document workflow", "status": "completed", "dependencies": ["TD-ALL", "SS-ALL", "DRAFT-OPS", "PLOT-ALL"], "deliverables": ["Cross-workbench document fixtures"], "acceptance": ["Create/edit/save/load/export succeeds across all four workbenches"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P08",
|
||||||
|
"title": "Assembly, BIM, Mesh and Surface",
|
||||||
|
"ownerLane": "ENGINEERING",
|
||||||
|
"dependencies": ["P05", "P06"],
|
||||||
|
"gate": "G7",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "ASM-CORE", "title": "Implement Assembly model and solver", "status": "completed", "dependencies": ["CORE-09", "FC-06"], "deliverables": ["Components/links/LCS/joints", "Solver Worker and diagnostics"], "acceptance": ["Fixed, distance, angle and motion fixtures pass"] },
|
||||||
|
{ "id": "ASM-TOOLS", "title": "Complete Assembly tools", "status": "completed", "dependencies": ["ASM-CORE"], "deliverables": ["Collision/exploded view/BOM/variants"], "acceptance": ["Large assembly and FCStd gates pass"] },
|
||||||
|
{ "id": "BIM-CORE", "title": "Implement BIM object model", "status": "completed", "dependencies": ["DRAFT-OPS", "SS-ALL"], "deliverables": ["Site/building/level/space and elements", "Materials and property sets"], "acceptance": ["Parametric edits and quantity schedules pass"] },
|
||||||
|
{ "id": "BIM-IFC", "title": "Implement IFC interoperability", "status": "completed", "dependencies": ["BIM-CORE", "FC-09"], "deliverables": ["IFC2x3/IFC4 import/export", "Classification and proxy report"], "acceptance": ["Geometry, hierarchy and properties round-trip"] },
|
||||||
|
{ "id": "MESH-CORE", "title": "Complete Mesh and MeshPart", "status": "completed", "dependencies": ["FC-09", "BYB-06"], "deliverables": ["Import/export/convert/analyze/repair", "Worker and LOD pipeline"], "acceptance": ["Non-manifold/self-intersection/hole fixtures pass"] },
|
||||||
|
{ "id": "SURF-CORE", "title": "Complete Surface modeling", "status": "completed", "dependencies": ["TSN-04", "PART-ALL"], "deliverables": ["Bezier/BSpline/fill/offset/trim/join", "Continuity and tolerance diagnostics"], "acceptance": ["Surface geometry and TopoRef fixtures pass"] },
|
||||||
|
{ "id": "ENG-CLOSURE", "title": "Run engineering-workbench integration", "status": "completed", "dependencies": ["ASM-TOOLS", "BIM-IFC", "MESH-CORE", "SURF-CORE"], "deliverables": ["Large mixed engineering projects"], "acceptance": ["Cross-workbench save/load and performance budgets pass"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P09",
|
||||||
|
"title": "FEM, CAM, Robot, Inspection, data, addons and scripting",
|
||||||
|
"ownerLane": "PLATFORM",
|
||||||
|
"dependencies": ["P06", "P08"],
|
||||||
|
"gate": "G8",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "FEM-ALL", "title": "Complete FEM workflow", "status": "completed", "dependencies": ["MESH-CORE", "BIM-CORE"], "deliverables": ["Analysis/material/sets/loads/meshing", "Solver strategy and result fields"], "acceptance": ["Reference solves or explicit remote capability pass"] },
|
||||||
|
{ "id": "CAM-ALL", "title": "Complete CAM workflow", "status": "completed", "dependencies": ["PART-ALL", "MESH-CORE"], "deliverables": ["Job/stock/tools/operations/simulation", "Sandboxed posts and G-code"], "acceptance": ["Collision, simulation and G-code golden tests pass"] },
|
||||||
|
{ "id": "ROBOT-ALL", "title": "Complete Robot workflow", "status": "completed", "dependencies": ["ASM-CORE", "MESH-CORE"], "deliverables": ["Robot/axes/poses/trajectory/kinematics", "Collision and controller export"], "acceptance": ["Motion and workspace fixtures pass"] },
|
||||||
|
{ "id": "INSP-ALL", "title": "Complete Inspection and Measure", "status": "completed", "dependencies": ["TSN-09", "SURF-CORE"], "deliverables": ["Measurements/sections/deviation/checks", "TopoRef reports"], "acceptance": ["Units, precision and report export match oracle"] },
|
||||||
|
{ "id": "DATA-ALL", "title": "Complete data and specialist modules", "status": "completed", "dependencies": ["FC-09", "MESH-CORE", "SURF-CORE"], "deliverables": ["Points/RE/OpenSCAD/IDF/JT/Material/Import"], "acceptance": ["Every source module has a tested adapter or explicit proxy"] },
|
||||||
|
{ "id": "ADDON-ALL", "title": "Implement addon governance", "status": "completed", "dependencies": ["DATA-ALL"], "deliverables": ["Signed catalog/install/update/remove", "Permissions, isolation and rollback"], "acceptance": ["Untrusted addons cannot bypass Facade or permissions"] },
|
||||||
|
{ "id": "SCRIPT-ALL", "title": "Implement scripting and macro capability", "status": "completed", "dependencies": ["ADDON-ALL"], "deliverables": ["API compatibility map", "Sandboxed interpreter and macro replay"], "acceptance": ["File/network/time/resource permissions are enforced"] },
|
||||||
|
{ "id": "PLATFORM-CLOSURE", "title": "Close all long-tail modules", "status": "completed", "dependencies": ["FEM-ALL", "CAM-ALL", "ROBOT-ALL", "INSP-ALL", "SCRIPT-ALL"], "deliverables": ["34-module coverage report"], "acceptance": ["No scope-only or unexplained unsupported entry remains"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "P10",
|
||||||
|
"title": "QA, browsers, performance, security, migrations and release",
|
||||||
|
"ownerLane": "QUALITY",
|
||||||
|
"dependencies": ["P01", "P02", "P03", "P04", "P05", "P06", "P07", "P08", "P09"],
|
||||||
|
"gate": "G9",
|
||||||
|
"tasks": [
|
||||||
|
{ "id": "QA-01", "title": "Enforce unit and property coverage", "status": "completed", "dependencies": [], "deliverables": ["Coverage and invariant gates"], "acceptance": ["Core error branches and parsers are covered"] },
|
||||||
|
{ "id": "QA-02", "title": "Enforce FreeCAD CLI and GUI comparison", "status": "completed", "dependencies": ["BASE-04"], "deliverables": ["Per-command success/failure fixtures"], "acceptance": ["Every compatible command has oracle evidence"] },
|
||||||
|
{ "id": "QA-03", "title": "Run Chrome E2E and visual baselines", "status": "completed", "dependencies": ["BROWSER-OCCT-01"], "deliverables": ["Chrome matrix", "Desktop/mobile screenshots"], "acceptance": ["Core workflows have no blocking divergence"] },
|
||||||
|
{ "id": "QA-04", "title": "Run geometry, solver and parser fuzzing", "status": "completed", "dependencies": ["TSN-10", "SK-12"], "deliverables": ["Seeded fuzz suites", "Crash and wrong-bind corpus"], "acceptance": ["Random inputs do not crash or silently corrupt"] },
|
||||||
|
{ "id": "QA-05", "title": "Enforce performance and memory budgets", "status": "completed", "dependencies": ["MEM-OCCT-01", "ENG-CLOSURE"], "deliverables": ["1000-object/million-triangle/large-table reports"], "acceptance": ["P95 and peak memory meet declared budgets"] },
|
||||||
|
{ "id": "QA-06", "title": "Run Worker, WASM and OPFS fault injection", "status": "completed", "dependencies": ["FC-11", "QA-03"], "deliverables": ["Crash/quota/power-loss/stale-result matrix"], "acceptance": ["Recovery is deterministic and data loss is reported"] },
|
||||||
|
{ "id": "QA-07", "title": "Complete security gates", "status": "completed", "dependencies": ["SCRIPT-ALL", "FC-11"], "deliverables": ["File/message/script/addon fuzzing", "CSP and permission report"], "acceptance": ["No critical unmitigated finding"] },
|
||||||
|
{ "id": "QA-08", "title": "Complete accessibility and internationalization", "status": "completed", "dependencies": ["DOC-CLOSURE"], "deliverables": ["Keyboard/screen-reader/locale/mobile matrix"], "acceptance": ["Core workflows meet target accessibility criteria"] },
|
||||||
|
{ "id": "REL-01", "title": "Complete deployment and offline gates", "status": "completed", "dependencies": ["QA-03", "QA-06"], "deliverables": ["PWA/cache/COOP/COEP/CSP runbook"], "acceptance": ["Install, upgrade, offline and cache recovery pass"] },
|
||||||
|
{ "id": "REL-02", "title": "Complete migration and rollback rehearsal", "status": "completed", "dependencies": ["FC-10", "QA-06"], "deliverables": ["Supported-version migration matrix", "Rollback or lossless export"], "acceptance": ["Every supported version has a tested recovery route"] },
|
||||||
|
{ "id": "REL-03", "title": "Generate SBOM, licenses and signed artifacts", "status": "completed", "dependencies": ["PLATFORM-CLOSURE"], "deliverables": ["SBOM/license/vulnerability report", "Signed release artifacts"], "acceptance": ["No unknown binary or unresolved critical issue"] },
|
||||||
|
{ "id": "REL-04", "title": "Publish final capability and difference matrix", "status": "completed", "dependencies": ["QA-01", "QA-02", "QA-03", "QA-04", "QA-05", "QA-06", "QA-07", "QA-08", "REL-01", "REL-02", "REL-03"], "deliverables": ["Exact/compatible/proxy/unsupported report", "Release runbook"], "acceptance": ["G0 through G9 pass", "No unexplained unsupported capability"] }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rules": [
|
||||||
|
"A task is complete only when every deliverable exists and every acceptance condition has executable evidence.",
|
||||||
|
"Program dependencies and task dependencies are blocking; UI prototypes do not satisfy them.",
|
||||||
|
"All Node and npm commands use ./npmw.",
|
||||||
|
"Capability levels are updated only after the relevant gate passes.",
|
||||||
|
"Browser-restricted desktop features require an explicit proxy or unsupported decision with data preservation."
|
||||||
|
]
|
||||||
|
}
|
||||||
868
config/freecad-fcstd-roundtrip-verification.json
Normal file
868
config/freecad-fcstd-roundtrip-verification.json
Normal file
@@ -0,0 +1,868 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baselineId": "freecad-1.1.1",
|
||||||
|
"freecadCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"bitbybitVersion": "1.1.1",
|
||||||
|
"unknownDifferencesFail": true,
|
||||||
|
"directions": [
|
||||||
|
"freecad-web-freecad",
|
||||||
|
"web-freecad-web"
|
||||||
|
],
|
||||||
|
"scenarioCount": 22,
|
||||||
|
"scenarios": [
|
||||||
|
{
|
||||||
|
"id": "proxy-byte-preservation",
|
||||||
|
"direction": "freecad-web-freecad",
|
||||||
|
"stages": [
|
||||||
|
"freecad-source",
|
||||||
|
"web-inspect",
|
||||||
|
"web-byte-preserving-write",
|
||||||
|
"byte-compare",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect-resaved"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"gui",
|
||||||
|
"resources",
|
||||||
|
"proxy"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"sourceArchiveBytes": 49349,
|
||||||
|
"preservedArchiveBytes": 49349,
|
||||||
|
"sourceSha256": "a8184e071ce36e22f6407dcb5d789946003dc0031dbdaf261130fb15171cf8ab",
|
||||||
|
"preservedSha256": "a8184e071ce36e22f6407dcb5d789946003dc0031dbdaf261130fb15171cf8ab",
|
||||||
|
"byteIdentical": true,
|
||||||
|
"proxyObjectCount": 8,
|
||||||
|
"blockedObjectCount": 0,
|
||||||
|
"unknownTypeIds": [
|
||||||
|
"App::Line",
|
||||||
|
"App::Origin",
|
||||||
|
"App::Plane",
|
||||||
|
"App::Point"
|
||||||
|
],
|
||||||
|
"resavedObjectCount": 17,
|
||||||
|
"resavedProxyObjectCount": 8,
|
||||||
|
"resavedShapeValid": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "locked-partdesign-shape",
|
||||||
|
"direction": "freecad-web-freecad",
|
||||||
|
"stages": [
|
||||||
|
"freecad-source",
|
||||||
|
"web-inspect",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect-resaved"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"shape",
|
||||||
|
"topology",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 23,
|
||||||
|
"volume": 583719.3669394433,
|
||||||
|
"elementMapPostfixCount": 63,
|
||||||
|
"elementMapCount": 2,
|
||||||
|
"stringHasherBytes": 4669
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-box",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Box",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 6,
|
||||||
|
"volume": 23.999999999999996,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 5,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-cylinder",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Cylinder",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 5,
|
||||||
|
"volume": 31.41592653589793,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-2,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 3,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-sphere",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Sphere",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 1,
|
||||||
|
"volume": 113.09733552923255,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-3,
|
||||||
|
-3,
|
||||||
|
-3
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 1,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-ellipsoid",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Ellipsoid",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 1,
|
||||||
|
"volume": 133.9826640573845,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
4,
|
||||||
|
6.928203230275507,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-7.999999999999998,
|
||||||
|
-6.9282032302755105,
|
||||||
|
-2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 6,
|
||||||
|
"properties": {
|
||||||
|
"Angle1": -90,
|
||||||
|
"Angle2": 90,
|
||||||
|
"Angle3": 360,
|
||||||
|
"Radius1": 2,
|
||||||
|
"Radius2": 4,
|
||||||
|
"Radius3": 0
|
||||||
|
},
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-cone",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Cone",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 3,
|
||||||
|
"volume": 175.92918860102841,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
6.000000000000001
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-4,
|
||||||
|
-4,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 4,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-torus",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Torus",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 3,
|
||||||
|
"volume": 592.1762640653616,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
12.988706403508727,
|
||||||
|
12.988706403508727,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-12.988706403508727,
|
||||||
|
-12.988706403508727,
|
||||||
|
-2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 5,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-prism",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Prism",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 8,
|
||||||
|
"volume": 103.92304845413267,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
3.76326980708465,
|
||||||
|
1.7320508075688776,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-2,
|
||||||
|
-2.6069374428281185,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 5,
|
||||||
|
"properties": {
|
||||||
|
"Circumradius": 2,
|
||||||
|
"FirstAngle": 10,
|
||||||
|
"Height": 10,
|
||||||
|
"Polygon": 6,
|
||||||
|
"SecondAngle": -5
|
||||||
|
},
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-wedge",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Wedge",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 6,
|
||||||
|
"volume": 813.3333333333333,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
10,
|
||||||
|
10.000000000000002,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 10,
|
||||||
|
"properties": {
|
||||||
|
"X2max": 8,
|
||||||
|
"X2min": 0,
|
||||||
|
"Xmax": 10,
|
||||||
|
"Xmin": 0,
|
||||||
|
"Ymax": 10,
|
||||||
|
"Ymin": 0,
|
||||||
|
"Z2max": 8,
|
||||||
|
"Z2min": 0,
|
||||||
|
"Zmax": 10,
|
||||||
|
"Zmin": 0
|
||||||
|
},
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-fuse",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Fuse",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 9,
|
||||||
|
"volume": 23.999999999999996,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 3,
|
||||||
|
"refine": false,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-cut",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Cut",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 9,
|
||||||
|
"volume": 22.999999999999996,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 3,
|
||||||
|
"refine": false,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-common",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Common",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 6,
|
||||||
|
"volume": 0.9999999999999998,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"propertyCount": 3,
|
||||||
|
"refine": true,
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-sphere-trim",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"properties",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 5,
|
||||||
|
"volume": 154.26676868605438,
|
||||||
|
"boundingBox": {
|
||||||
|
"max": [
|
||||||
|
5,
|
||||||
|
5,
|
||||||
|
3.5355339059327373
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-2.499999999999999,
|
||||||
|
0,
|
||||||
|
-3.5355339059327386
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"Angle1": -45,
|
||||||
|
"Angle2": 45,
|
||||||
|
"Angle3": 120,
|
||||||
|
"Radius": 5
|
||||||
|
},
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-extrusion",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"sketch",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Extrusion",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 6,
|
||||||
|
"volume": 30,
|
||||||
|
"properties": {
|
||||||
|
"Base": "FeatureProfile",
|
||||||
|
"DirMode": "Custom",
|
||||||
|
"LengthFwd": 5,
|
||||||
|
"LengthRev": 0,
|
||||||
|
"Reversed": false,
|
||||||
|
"Solid": true,
|
||||||
|
"Symmetric": false,
|
||||||
|
"TaperAngle": 0,
|
||||||
|
"TaperAngleRev": 0
|
||||||
|
},
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "part-revolution",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"sketch",
|
||||||
|
"shape",
|
||||||
|
"resources"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"typeId": "Part::Revolution",
|
||||||
|
"solidCount": 1,
|
||||||
|
"faceCount": 4,
|
||||||
|
"volume": 113.09733552923254,
|
||||||
|
"properties": {
|
||||||
|
"Angle": 360,
|
||||||
|
"Solid": true,
|
||||||
|
"Source": "FeatureProfile",
|
||||||
|
"Symmetric": false
|
||||||
|
},
|
||||||
|
"resavedShapeAvailable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sketch-core-external-attachment",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"objectTree",
|
||||||
|
"properties",
|
||||||
|
"sketch",
|
||||||
|
"topology"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"geometryCount": 10,
|
||||||
|
"constraintCount": 11,
|
||||||
|
"externalTypes": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"mapMode": "FlatFace",
|
||||||
|
"roundTripGeometryIds": 10,
|
||||||
|
"roundTripConstraintIds": 11
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sketch-face-projection",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"sketch",
|
||||||
|
"topology"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"externalTypes": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"externalGeoCount": 6,
|
||||||
|
"roundTripIds": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sketch-external-modes",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"sketch",
|
||||||
|
"topology",
|
||||||
|
"properties"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"externalTypes": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"externalGeoCount": 8,
|
||||||
|
"nativeFlags": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"roundTripModes": [
|
||||||
|
"intersection",
|
||||||
|
"both",
|
||||||
|
"both",
|
||||||
|
"both",
|
||||||
|
"both",
|
||||||
|
"projection"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sketch-snells-law",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"sketch",
|
||||||
|
"properties"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"geometryCount": 3,
|
||||||
|
"constraintTypes": [
|
||||||
|
"SnellsLaw"
|
||||||
|
],
|
||||||
|
"roundTripConstraints": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sketch-bspline-weight",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"sketch",
|
||||||
|
"properties"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"geometryCount": 2,
|
||||||
|
"constraintTypes": [
|
||||||
|
"InternalAlignment",
|
||||||
|
"Weight"
|
||||||
|
],
|
||||||
|
"roundTripConstraints": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sketch-internal-alignment",
|
||||||
|
"direction": "web-freecad-web",
|
||||||
|
"stages": [
|
||||||
|
"web-model",
|
||||||
|
"web-write",
|
||||||
|
"freecad-open",
|
||||||
|
"freecad-recompute",
|
||||||
|
"freecad-resave",
|
||||||
|
"web-inspect"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"sketch",
|
||||||
|
"properties"
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"status": "pass",
|
||||||
|
"differences": [],
|
||||||
|
"evidence": {
|
||||||
|
"geometryCount": 7,
|
||||||
|
"constraintTypes": [
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment"
|
||||||
|
],
|
||||||
|
"roundTripConstraints": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"status": "verified"
|
||||||
|
}
|
||||||
65
config/freecad-golden-coverage-plan.json
Normal file
65
config/freecad-golden-coverage-plan.json
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baselineId": "freecad-1.1.1",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"parameterMutationPlan": "config/freecad-parameter-mutation-plan.json",
|
||||||
|
"successManifest": "fixtures/freecad-golden/manifest.json",
|
||||||
|
"failureManifest": "fixtures/freecad-golden/failures/manifest.json",
|
||||||
|
"supplementalSuccessManifest": "fixtures/freecad-golden/feature-families/manifest.json",
|
||||||
|
"supplementalFailureManifest": "fixtures/freecad-golden/feature-families/failures/manifest.json",
|
||||||
|
"compositeOracle": "config/freecad-composite-history-elementmap-oracle.json",
|
||||||
|
"fcstdRoundtrip": "config/freecad-fcstd-roundtrip-verification.json",
|
||||||
|
"browserGolden": "config/chrome-fcstd-golden-verification.json",
|
||||||
|
"browserPrimitiveEvidence": "config/chrome-part-primitives-verification.json",
|
||||||
|
"partdesignFailureOracle": "config/freecad-partdesign-failure-oracle.json",
|
||||||
|
"partdesignRevolutionGrooveOracle": "config/freecad-partdesign-revolution-groove-oracle.json",
|
||||||
|
"partdesignTransformOracle": "config/freecad-partdesign-transform-oracle.json",
|
||||||
|
"partBuildersOracle": "config/freecad-part-builders-oracle.json",
|
||||||
|
"historyEvidenceGlob": "config/chrome-native-*-history-verification.json",
|
||||||
|
"dimensions": [
|
||||||
|
"success-fixture",
|
||||||
|
"failure-fixture",
|
||||||
|
"native-history",
|
||||||
|
"composite-stage",
|
||||||
|
"elementmap2-resource",
|
||||||
|
"fcstd-roundtrip",
|
||||||
|
"browser-replay"
|
||||||
|
],
|
||||||
|
"families": [
|
||||||
|
{ "id": "Part::Box", "operationTypes": ["box"], "stageTypeIds": ["Part::Box"], "roundtripIds": ["part-box"], "browserOperations": ["box"] },
|
||||||
|
{ "id": "Part::Cylinder", "operationTypes": ["cylinder"], "stageTypeIds": ["Part::Cylinder"], "roundtripIds": ["part-cylinder"], "browserOperations": ["cylinder"] },
|
||||||
|
{ "id": "Part::Sphere", "operationTypes": ["sphere"], "stageTypeIds": [], "roundtripIds": ["part-sphere", "part-sphere-trim"], "browserOperations": ["sphere"] },
|
||||||
|
{ "id": "Part::Ellipsoid", "operationTypes": ["ellipsoid"], "stageTypeIds": [], "roundtripIds": ["part-ellipsoid"], "browserOperations": ["ellipsoid"] },
|
||||||
|
{ "id": "Part::Cone", "operationTypes": ["cone"], "stageTypeIds": [], "roundtripIds": ["part-cone"], "browserOperations": ["cone"] },
|
||||||
|
{ "id": "Part::Torus", "operationTypes": ["torus"], "stageTypeIds": [], "roundtripIds": ["part-torus"], "browserOperations": ["torus"] },
|
||||||
|
{ "id": "Part::Helix", "operationTypes": ["helix"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": ["helix"] },
|
||||||
|
{ "id": "Part::Prism", "operationTypes": ["prism"], "stageTypeIds": [], "roundtripIds": ["part-prism"], "browserOperations": ["prism"] },
|
||||||
|
{ "id": "Part::Wedge", "operationTypes": ["wedge"], "stageTypeIds": [], "roundtripIds": ["part-wedge"], "browserOperations": ["wedge"] },
|
||||||
|
{ "id": "Part::Fuse", "operationTypes": ["fuse"], "stageTypeIds": ["Part::Fuse"], "roundtripIds": ["part-fuse"], "browserOperations": ["fuse"] },
|
||||||
|
{ "id": "Part::Cut", "operationTypes": ["cut"], "stageTypeIds": ["Part::Cut"], "roundtripIds": ["part-cut", "part-cut-through-hole"], "browserOperations": ["cut"] },
|
||||||
|
{ "id": "Part::Common", "operationTypes": ["common"], "stageTypeIds": ["Part::Common"], "roundtripIds": ["part-common"], "browserOperations": ["common"] },
|
||||||
|
{ "id": "Part::Extrusion", "operationTypes": ["extrusion"], "stageTypeIds": [], "roundtripIds": ["part-extrusion"], "browserOperations": [] },
|
||||||
|
{ "id": "Part::Revolution", "operationTypes": ["revolution"], "stageTypeIds": [], "roundtripIds": ["part-revolution"], "browserOperations": [] },
|
||||||
|
{ "id": "Part::Loft", "operationTypes": ["loft"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [] },
|
||||||
|
{ "id": "Part::Sweep", "operationTypes": ["sweep"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [] },
|
||||||
|
{ "id": "Part::Fillet", "operationTypes": ["fillet"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [] },
|
||||||
|
{ "id": "Part::Chamfer", "operationTypes": ["chamfer"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [] },
|
||||||
|
{ "id": "PartDesign::Pad", "operationTypes": ["pad"], "stageTypeIds": ["PartDesign::Pad"], "roundtripIds": ["locked-partdesign-shape"], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-base-oracle.json", "ids": ["pad-tapered", "pad-midplane"] }] },
|
||||||
|
{ "id": "PartDesign::Pocket", "operationTypes": ["pocket"], "stageTypeIds": ["PartDesign::Pocket"], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-base-oracle.json", "ids": ["pocket-tapered", "pocket-through-all", "pocket-up-to-face"] }] },
|
||||||
|
{ "id": "PartDesign::Revolution", "operationTypes": ["partdesign-revolution"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [] },
|
||||||
|
{ "id": "PartDesign::Groove", "operationTypes": ["groove"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [] },
|
||||||
|
{ "id": "PartDesign::AdditiveLoft", "operationTypes": ["additive-loft"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-loft-oracle.json", "ids": ["additive-loft"] }] },
|
||||||
|
{ "id": "PartDesign::SubtractiveLoft", "operationTypes": ["subtractive-loft"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-loft-oracle.json", "ids": ["subtractive-loft"] }] },
|
||||||
|
{ "id": "PartDesign::AdditivePipe", "operationTypes": ["additive-pipe"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-loft-oracle.json", "ids": ["additive-pipe"] }] },
|
||||||
|
{ "id": "PartDesign::SubtractivePipe", "operationTypes": ["subtractive-pipe"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-loft-oracle.json", "ids": ["subtractive-pipe"] }] },
|
||||||
|
{ "id": "PartDesign::Fillet", "operationTypes": ["partdesign-fillet"], "stageTypeIds": ["PartDesign::Fillet"], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-dressup-oracle.json", "ids": ["fillet-selected-edge"] }] },
|
||||||
|
{ "id": "PartDesign::Chamfer", "operationTypes": ["partdesign-chamfer"], "stageTypeIds": ["PartDesign::Chamfer"], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-dressup-oracle.json", "ids": ["chamfer-selected-edge"] }] },
|
||||||
|
{ "id": "PartDesign::Draft", "operationTypes": ["draft"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-dressup-oracle.json", "ids": ["draft-selected-face"] }] },
|
||||||
|
{ "id": "PartDesign::Thickness", "operationTypes": ["thickness"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-dressup-oracle.json", "ids": ["thickness-selected-face"] }] },
|
||||||
|
{ "id": "PartDesign::Mirrored", "operationTypes": ["mirrored"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-transform-oracle.json", "ids": ["mirrored-feature-list"] }] },
|
||||||
|
{ "id": "PartDesign::MultiTransform", "operationTypes": ["multi-transform"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-transform-oracle.json", "ids": ["multi-transform-feature-list"] }] },
|
||||||
|
{ "id": "PartDesign::LinearPattern", "operationTypes": ["linear-pattern"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-transform-oracle.json", "ids": ["linear-feature-list"] }] },
|
||||||
|
{ "id": "PartDesign::PolarPattern", "operationTypes": ["polar-pattern"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-transform-oracle.json", "ids": ["polar-feature-list"] }] },
|
||||||
|
{ "id": "PartDesign::Hole", "operationTypes": ["hole"], "stageTypeIds": [], "roundtripIds": [], "browserOperations": [], "oracleSuccessSources": [{ "file": "config/freecad-partdesign-transform-oracle.json", "ids": ["iso-m6-tap-drill", "iso-m6-modeled-thread"] }] }
|
||||||
|
]
|
||||||
|
}
|
||||||
36
config/freecad-golden-verification.json
Normal file
36
config/freecad-golden-verification.json
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baselineId": "freecad-1.1.1",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"successFixtures": {
|
||||||
|
"manifest": "fixtures/freecad-golden/manifest.json",
|
||||||
|
"count": 100,
|
||||||
|
"replayCommand": "./npmw run test:golden:freecad -- --json",
|
||||||
|
"lastReplay": "passed"
|
||||||
|
},
|
||||||
|
"failureFixtures": {
|
||||||
|
"manifest": "fixtures/freecad-golden/failures/manifest.json",
|
||||||
|
"count": 51,
|
||||||
|
"replayCommand": "./npmw run test:golden:freecad:failures",
|
||||||
|
"lastReplay": "passed",
|
||||||
|
"acceptedOutcomes": ["exception", "invalid-shape"]
|
||||||
|
},
|
||||||
|
"supplementalFixtures": {
|
||||||
|
"successManifest": "fixtures/freecad-golden/feature-families/manifest.json",
|
||||||
|
"successCount": 5,
|
||||||
|
"failureManifest": "fixtures/freecad-golden/feature-families/failures/manifest.json",
|
||||||
|
"failureCount": 5,
|
||||||
|
"replayCommands": [
|
||||||
|
"./npmw run test:golden:freecad:families -- --json",
|
||||||
|
"./npmw run test:golden:freecad:family-failures"
|
||||||
|
],
|
||||||
|
"lastReplay": "passed"
|
||||||
|
},
|
||||||
|
"semanticComparator": {
|
||||||
|
"module": "scripts/freecad-semantic-comparator.mjs",
|
||||||
|
"reportSchemaVersion": 1,
|
||||||
|
"unknownDifferencesFail": true,
|
||||||
|
"domains": ["identity", "shape", "topology", "objectTree", "properties"]
|
||||||
|
},
|
||||||
|
"status": "verified"
|
||||||
|
}
|
||||||
44953
config/freecad-gui-command-inventory.json
Normal file
44953
config/freecad-gui-command-inventory.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,7 @@
|
|||||||
},
|
},
|
||||||
"verification": {
|
"verification": {
|
||||||
"goldenManifest": "fixtures/freecad-golden/manifest.json",
|
"goldenManifest": "fixtures/freecad-golden/manifest.json",
|
||||||
"scenarioCount": 5,
|
"scenarioCount": 100,
|
||||||
"result": "passed"
|
"result": "passed"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
21
config/freecad-parameter-mutation-plan.json
Normal file
21
config/freecad-parameter-mutation-plan.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baselineId": "freecad-1.1.1",
|
||||||
|
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"coveragePlan": "config/freecad-golden-coverage-plan.json",
|
||||||
|
"dimensions": [
|
||||||
|
"nominal-parameter-set",
|
||||||
|
"invalid-boundary",
|
||||||
|
"parameter-variant",
|
||||||
|
"edit-recompute-recovery",
|
||||||
|
"fcstd-roundtrip"
|
||||||
|
],
|
||||||
|
"completionRule": "A family is complete only when every dimension has native or browser evidence tied to an explicit parameter snapshot and the edited/recovered Shape is valid.",
|
||||||
|
"evidenceRules": {
|
||||||
|
"fixture": "A success/failure fixture proves only the corresponding nominal or invalid boundary state.",
|
||||||
|
"parameterVariant": "Two or more distinct native/browser parameter snapshots are required; outcome-only records do not count.",
|
||||||
|
"editRecomputeRecovery": "The report must contain before, edited, recomputed and restored/recovered states from a real runtime transaction.",
|
||||||
|
"fcstdRoundtrip": "Every family round-trip id listed by the coverage plan must pass with zero differences."
|
||||||
|
},
|
||||||
|
"failClosed": true
|
||||||
|
}
|
||||||
3158
config/freecad-parameter-mutation-report.json
Normal file
3158
config/freecad-parameter-mutation-report.json
Normal file
File diff suppressed because it is too large
Load Diff
267
config/freecad-part-builders-oracle.json
Normal file
267
config/freecad-part-builders-oracle.json
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-part-builders-oracle",
|
||||||
|
"failureCases": [
|
||||||
|
{
|
||||||
|
"area": 0,
|
||||||
|
"edges": 0,
|
||||||
|
"expected": "rejected",
|
||||||
|
"faces": 0,
|
||||||
|
"id": "part-extrusion-missing-input",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"shapeType": "Null",
|
||||||
|
"shapeValid": false,
|
||||||
|
"solids": 0,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No object linked",
|
||||||
|
"typeId": "Part::Extrusion",
|
||||||
|
"vertices": 0,
|
||||||
|
"volume": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 0,
|
||||||
|
"edges": 0,
|
||||||
|
"expected": "rejected",
|
||||||
|
"faces": 0,
|
||||||
|
"id": "part-revolution-missing-input",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"shapeType": "Null",
|
||||||
|
"shapeValid": false,
|
||||||
|
"solids": 0,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No object linked",
|
||||||
|
"typeId": "Part::Revolution",
|
||||||
|
"vertices": 0,
|
||||||
|
"volume": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 0,
|
||||||
|
"edges": 0,
|
||||||
|
"expected": "rejected",
|
||||||
|
"faces": 0,
|
||||||
|
"id": "part-loft-missing-input",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"shapeType": "Null",
|
||||||
|
"shapeValid": false,
|
||||||
|
"solids": 0,
|
||||||
|
"state": [
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No sections linked.",
|
||||||
|
"typeId": "Part::Loft",
|
||||||
|
"vertices": 0,
|
||||||
|
"volume": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 0,
|
||||||
|
"edges": 0,
|
||||||
|
"expected": "rejected",
|
||||||
|
"faces": 0,
|
||||||
|
"id": "part-sweep-missing-input",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"shapeType": "Null",
|
||||||
|
"shapeValid": false,
|
||||||
|
"solids": 0,
|
||||||
|
"state": [
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No sections linked.",
|
||||||
|
"typeId": "Part::Sweep",
|
||||||
|
"vertices": 0,
|
||||||
|
"volume": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 0,
|
||||||
|
"edges": 0,
|
||||||
|
"expected": "rejected",
|
||||||
|
"faces": 0,
|
||||||
|
"id": "part-fillet-missing-input",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"shapeType": "Null",
|
||||||
|
"shapeValid": false,
|
||||||
|
"solids": 0,
|
||||||
|
"state": [
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No object linked",
|
||||||
|
"typeId": "Part::Fillet",
|
||||||
|
"vertices": 0,
|
||||||
|
"volume": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 0,
|
||||||
|
"edges": 0,
|
||||||
|
"expected": "rejected",
|
||||||
|
"faces": 0,
|
||||||
|
"id": "part-chamfer-missing-input",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"shapeType": "Null",
|
||||||
|
"shapeValid": false,
|
||||||
|
"solids": 0,
|
||||||
|
"state": [
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No object linked",
|
||||||
|
"typeId": "Part::Chamfer",
|
||||||
|
"vertices": 0,
|
||||||
|
"volume": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"successCases": [
|
||||||
|
{
|
||||||
|
"area": 62,
|
||||||
|
"edges": 12,
|
||||||
|
"expected": "success",
|
||||||
|
"faces": 6,
|
||||||
|
"id": "part-extrusion-success",
|
||||||
|
"observed": "success",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Part::Extrusion",
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 150.79644737231007,
|
||||||
|
"edges": 6,
|
||||||
|
"expected": "success",
|
||||||
|
"faces": 4,
|
||||||
|
"id": "part-revolution-success",
|
||||||
|
"observed": "success",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Part::Revolution",
|
||||||
|
"vertices": 4,
|
||||||
|
"volume": 75.398223686155
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 81.18823416311344,
|
||||||
|
"edges": 12,
|
||||||
|
"expected": "success",
|
||||||
|
"faces": 6,
|
||||||
|
"id": "part-loft-success",
|
||||||
|
"observed": "success",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Part::Loft",
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 46.666666666666664
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 56,
|
||||||
|
"edges": 12,
|
||||||
|
"expected": "success",
|
||||||
|
"faces": 6,
|
||||||
|
"id": "part-sweep-success",
|
||||||
|
"observed": "success",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Solid",
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Part::Sweep",
|
||||||
|
"vertices": 8,
|
||||||
|
"volume": 23.999999999999996
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 372.99557428756424,
|
||||||
|
"edges": 15,
|
||||||
|
"expected": "success",
|
||||||
|
"faces": 7,
|
||||||
|
"id": "part-fillet-success",
|
||||||
|
"observed": "success",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Compound",
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Part::Fillet",
|
||||||
|
"vertices": 10,
|
||||||
|
"volume": 478.7123889803846
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": 371.4852813742385,
|
||||||
|
"edges": 15,
|
||||||
|
"expected": "success",
|
||||||
|
"faces": 7,
|
||||||
|
"id": "part-chamfer-success",
|
||||||
|
"observed": "success",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeType": "Compound",
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "Part::Chamfer",
|
||||||
|
"vertices": 10,
|
||||||
|
"volume": 476.9999999999999
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"summary": {
|
||||||
|
"acceptedEmpty": 0,
|
||||||
|
"failureCases": 6,
|
||||||
|
"failurePassed": 6,
|
||||||
|
"rejected": 6,
|
||||||
|
"successCases": 6,
|
||||||
|
"successPassed": 6
|
||||||
|
}
|
||||||
|
}
|
||||||
115
config/freecad-partdesign-base-oracle.json
Normal file
115
config/freecad-partdesign-base-oracle.json
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-base-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"bounds": {
|
||||||
|
"max": [
|
||||||
|
2.43744331762962,
|
||||||
|
2.43744331762962,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-2.43744331762962,
|
||||||
|
-2.43744331762962,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"faces": 6,
|
||||||
|
"id": "pad-tapered",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"volume": 98.77344374611019
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bounds": {
|
||||||
|
"max": [
|
||||||
|
5,
|
||||||
|
5,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-5,
|
||||||
|
-5,
|
||||||
|
-5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"faces": 10,
|
||||||
|
"id": "pocket-tapered",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"volume": 810.4374375507407
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bounds": {
|
||||||
|
"max": [
|
||||||
|
5,
|
||||||
|
5,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-5,
|
||||||
|
-5,
|
||||||
|
-5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"faces": 10,
|
||||||
|
"id": "pocket-through-all",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"volume": 960
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bounds": {
|
||||||
|
"max": [
|
||||||
|
5,
|
||||||
|
5,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-5,
|
||||||
|
-5,
|
||||||
|
-5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"faces": 10,
|
||||||
|
"id": "pocket-up-to-face",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"targetFace": 5,
|
||||||
|
"volume": 960
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bounds": {
|
||||||
|
"max": [
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"min": [
|
||||||
|
-2,
|
||||||
|
-2,
|
||||||
|
-3
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"faces": 6,
|
||||||
|
"id": "pad-midplane",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"volume": 95.99999999999999
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"cases": 5,
|
||||||
|
"passed": 5
|
||||||
|
},
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
69
config/freecad-partdesign-dressup-oracle.json
Normal file
69
config/freecad-partdesign-dressup-oracle.json
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-dressup-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"edges": 15,
|
||||||
|
"faces": 7,
|
||||||
|
"id": "fillet-selected-edge",
|
||||||
|
"passed": true,
|
||||||
|
"selection": [
|
||||||
|
"Edge1"
|
||||||
|
],
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::Fillet",
|
||||||
|
"volume": 997.8539816339743
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edges": 15,
|
||||||
|
"faces": 7,
|
||||||
|
"id": "chamfer-selected-edge",
|
||||||
|
"passed": true,
|
||||||
|
"selection": [
|
||||||
|
"Edge1"
|
||||||
|
],
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::Chamfer",
|
||||||
|
"volume": 994.9999999999998
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"id": "draft-selected-face",
|
||||||
|
"passed": true,
|
||||||
|
"reversed": true,
|
||||||
|
"selection": [
|
||||||
|
"Face6"
|
||||||
|
],
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::Draft",
|
||||||
|
"volume": 1499.9999999999998
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edges": 24,
|
||||||
|
"elementMapSize": 51,
|
||||||
|
"faces": 11,
|
||||||
|
"id": "thickness-selected-face",
|
||||||
|
"passed": true,
|
||||||
|
"reversed": true,
|
||||||
|
"selection": [
|
||||||
|
"Face1"
|
||||||
|
],
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::Thickness",
|
||||||
|
"volume": 423.99999999999983
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"cases": 4,
|
||||||
|
"passed": 4
|
||||||
|
},
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
267
config/freecad-partdesign-failure-oracle.json
Normal file
267
config/freecad-partdesign-failure-oracle.json
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-failure-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-pad",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No object linked",
|
||||||
|
"typeId": "PartDesign::Pad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-pocket",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No object linked",
|
||||||
|
"typeId": "PartDesign::Pocket"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-revolution",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No profile linked",
|
||||||
|
"typeId": "PartDesign::Revolution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-groove",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No profile linked",
|
||||||
|
"typeId": "PartDesign::Groove"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-additiveloft",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "Failed to get shape of Profile",
|
||||||
|
"typeId": "PartDesign::AdditiveLoft"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-subtractiveloft",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "Failed to get shape of Profile",
|
||||||
|
"typeId": "PartDesign::SubtractiveLoft"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-additivepipe",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "A fatal error occurred when making the pipe",
|
||||||
|
"typeId": "PartDesign::AdditivePipe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-subtractivepipe",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "A fatal error occurred when making the pipe",
|
||||||
|
"typeId": "PartDesign::SubtractivePipe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-fillet",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No Base object linked",
|
||||||
|
"typeId": "PartDesign::Fillet"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-chamfer",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No Base object linked",
|
||||||
|
"typeId": "PartDesign::Chamfer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-draft",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No Base object linked",
|
||||||
|
"typeId": "PartDesign::Draft"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-thickness",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "No Base object linked",
|
||||||
|
"typeId": "PartDesign::Thickness"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "accepted-empty",
|
||||||
|
"id": "missing-input-mirrored",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "accepted-empty",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "PartDesign::Mirrored"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "accepted-empty",
|
||||||
|
"id": "missing-input-multitransform",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "accepted-empty",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "PartDesign::MultiTransform"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "accepted-empty",
|
||||||
|
"id": "missing-input-linearpattern",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "accepted-empty",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "PartDesign::LinearPattern"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "accepted-empty",
|
||||||
|
"id": "missing-input-polarpattern",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "accepted-empty",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"typeId": "PartDesign::PolarPattern"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "missing-input-hole",
|
||||||
|
"inputClass": "missing-required-input",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "Linked shape object is empty",
|
||||||
|
"typeId": "PartDesign::Hole"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"accepted": 0,
|
||||||
|
"acceptedEmpty": 4,
|
||||||
|
"cases": 17,
|
||||||
|
"passed": 17,
|
||||||
|
"rejected": 13
|
||||||
|
}
|
||||||
|
}
|
||||||
52
config/freecad-partdesign-loft-oracle.json
Normal file
52
config/freecad-partdesign-loft-oracle.json
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-loft-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"faces": 6,
|
||||||
|
"id": "additive-loft",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::AdditiveLoft",
|
||||||
|
"volume": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"faces": 5,
|
||||||
|
"id": "subtractive-loft",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::SubtractiveLoft",
|
||||||
|
"volume": 0.9999999999999994
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"faces": 3,
|
||||||
|
"id": "additive-pipe",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"transition": "Transformed",
|
||||||
|
"typeId": "PartDesign::AdditivePipe",
|
||||||
|
"volume": 3.1415926535897927
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"faces": 7,
|
||||||
|
"id": "subtractive-pipe",
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"transition": "Transformed",
|
||||||
|
"typeId": "PartDesign::SubtractivePipe",
|
||||||
|
"volume": 96.8584073464102
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"cases": 4,
|
||||||
|
"passed": 4
|
||||||
|
},
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
88
config/freecad-partdesign-profile-oracle.json
Normal file
88
config/freecad-partdesign-profile-oracle.json
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-profile-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"expected": "accepted",
|
||||||
|
"id": "closed",
|
||||||
|
"observed": "accepted",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"solidCount": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"volume": 360
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "accepted",
|
||||||
|
"id": "multi-ring",
|
||||||
|
"observed": "accepted",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"solidCount": 1,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"volume": 320
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "open",
|
||||||
|
"observed": "rejected",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"solidCount": 0,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"statusString": "Wire is not closed.",
|
||||||
|
"volume": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "accepted",
|
||||||
|
"id": "self-intersecting",
|
||||||
|
"observed": "accepted",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"solidCount": 2,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"volume": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "accepted",
|
||||||
|
"id": "invalid-nesting",
|
||||||
|
"observed": "accepted",
|
||||||
|
"passed": true,
|
||||||
|
"recomputeResult": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"solidCount": 2,
|
||||||
|
"state": [
|
||||||
|
"Up-to-date"
|
||||||
|
],
|
||||||
|
"statusString": "Valid",
|
||||||
|
"volume": 370
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"length": 10,
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"accepted": 4,
|
||||||
|
"cases": 5,
|
||||||
|
"passed": 5,
|
||||||
|
"rejected": 1
|
||||||
|
},
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
37
config/freecad-partdesign-revolution-groove-oracle.json
Normal file
37
config/freecad-partdesign-revolution-groove-oracle.json
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-revolution-groove-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"faces": 4,
|
||||||
|
"id": "partdesign-revolution",
|
||||||
|
"operation": "revolution",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::Revolution",
|
||||||
|
"volume": 75.39822368615502
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"faces": 10,
|
||||||
|
"id": "partdesign-groove",
|
||||||
|
"operation": "groove",
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"shapeValid": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"typeId": "PartDesign::Groove",
|
||||||
|
"volume": 995.2876110196153
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"cases": 2,
|
||||||
|
"passed": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
312
config/freecad-partdesign-transform-oracle.json
Normal file
312
config/freecad-partdesign-transform-oracle.json
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-partdesign-transform-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"direction": "X_Axis",
|
||||||
|
"edges": 48,
|
||||||
|
"faces": 21,
|
||||||
|
"id": "linear-feature-list",
|
||||||
|
"length": 12,
|
||||||
|
"occurrences": 3,
|
||||||
|
"originals": [
|
||||||
|
"Boss"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"transformMode": "Features",
|
||||||
|
"typeId": "PartDesign::LinearPattern",
|
||||||
|
"volume": 423.99999999999994
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edges": 28,
|
||||||
|
"faces": 12,
|
||||||
|
"id": "mirrored-feature-list",
|
||||||
|
"originals": [
|
||||||
|
"Boss"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"plane": "YZ_Plane",
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"transformMode": "Features",
|
||||||
|
"typeId": "PartDesign::Mirrored",
|
||||||
|
"volume": 416.00000000000006
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 360,
|
||||||
|
"axis": "X_Axis",
|
||||||
|
"edges": 12,
|
||||||
|
"faces": 6,
|
||||||
|
"id": "polar-feature-list",
|
||||||
|
"occurrences": 4,
|
||||||
|
"originals": [
|
||||||
|
"Box"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"transformMode": "Features",
|
||||||
|
"typeId": "PartDesign::PolarPattern",
|
||||||
|
"volume": 3999.999999999999
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edges": 36,
|
||||||
|
"faces": 14,
|
||||||
|
"id": "multi-transform-feature-list",
|
||||||
|
"originals": [
|
||||||
|
"Pad"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"transformMode": "Features",
|
||||||
|
"transformations": [
|
||||||
|
"PartDesign::Mirrored",
|
||||||
|
"PartDesign::LinearPattern",
|
||||||
|
"PartDesign::PolarPattern"
|
||||||
|
],
|
||||||
|
"typeId": "PartDesign::MultiTransform",
|
||||||
|
"volume": 19999.999999999996
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"diameter": 5,
|
||||||
|
"edges": 15,
|
||||||
|
"faces": 8,
|
||||||
|
"id": "iso-m6-tap-drill",
|
||||||
|
"modeled": false,
|
||||||
|
"passed": true,
|
||||||
|
"properties": [
|
||||||
|
"AddSubShape",
|
||||||
|
"AllowMultiFace",
|
||||||
|
"BaseFeature",
|
||||||
|
"BaseProfileType",
|
||||||
|
"CustomThreadClearance",
|
||||||
|
"Depth",
|
||||||
|
"DepthType",
|
||||||
|
"Diameter",
|
||||||
|
"DrillForDepth",
|
||||||
|
"DrillPoint",
|
||||||
|
"DrillPointAngle",
|
||||||
|
"ExpressionEngine",
|
||||||
|
"HoleCutCountersinkAngle",
|
||||||
|
"HoleCutCustomValues",
|
||||||
|
"HoleCutDepth",
|
||||||
|
"HoleCutDiameter",
|
||||||
|
"HoleCutType",
|
||||||
|
"Label",
|
||||||
|
"Label2",
|
||||||
|
"Midplane",
|
||||||
|
"ModelThread",
|
||||||
|
"Placement",
|
||||||
|
"PreviewShape",
|
||||||
|
"Profile",
|
||||||
|
"Refine",
|
||||||
|
"Reversed",
|
||||||
|
"Shape",
|
||||||
|
"ShapeMaterial",
|
||||||
|
"Suppressed",
|
||||||
|
"SuppressedShape",
|
||||||
|
"Tapered",
|
||||||
|
"TaperedAngle",
|
||||||
|
"ThreadClass",
|
||||||
|
"ThreadDepth",
|
||||||
|
"ThreadDepthType",
|
||||||
|
"ThreadDiameter",
|
||||||
|
"ThreadDirection",
|
||||||
|
"ThreadFit",
|
||||||
|
"ThreadSize",
|
||||||
|
"ThreadType",
|
||||||
|
"Threaded",
|
||||||
|
"UpToFace",
|
||||||
|
"UpToFace2",
|
||||||
|
"UpToShape",
|
||||||
|
"UpToShape2",
|
||||||
|
"UseCustomThreadClearance",
|
||||||
|
"Visibility",
|
||||||
|
"_Body",
|
||||||
|
"_ElementMapVersion"
|
||||||
|
],
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"threadClass": "4G",
|
||||||
|
"threadDepth": 6,
|
||||||
|
"threadDepthType": "Dimension",
|
||||||
|
"threadDiameter": 6,
|
||||||
|
"threadDirection": "Right",
|
||||||
|
"threadFit": "Medium",
|
||||||
|
"threadPitch": 1,
|
||||||
|
"threadSize": "M6x1.0",
|
||||||
|
"threadType": "ISOMetricProfile",
|
||||||
|
"threaded": true,
|
||||||
|
"typeId": "PartDesign::Hole",
|
||||||
|
"volume": 3842.92036732051
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"diameter": 5.026,
|
||||||
|
"edges": 75,
|
||||||
|
"faces": 36,
|
||||||
|
"id": "iso-m6-modeled-thread",
|
||||||
|
"modeled": true,
|
||||||
|
"passed": true,
|
||||||
|
"properties": [
|
||||||
|
"AddSubShape",
|
||||||
|
"AllowMultiFace",
|
||||||
|
"BaseFeature",
|
||||||
|
"BaseProfileType",
|
||||||
|
"CustomThreadClearance",
|
||||||
|
"Depth",
|
||||||
|
"DepthType",
|
||||||
|
"Diameter",
|
||||||
|
"DrillForDepth",
|
||||||
|
"DrillPoint",
|
||||||
|
"DrillPointAngle",
|
||||||
|
"ExpressionEngine",
|
||||||
|
"HoleCutCountersinkAngle",
|
||||||
|
"HoleCutCustomValues",
|
||||||
|
"HoleCutDepth",
|
||||||
|
"HoleCutDiameter",
|
||||||
|
"HoleCutType",
|
||||||
|
"Label",
|
||||||
|
"Label2",
|
||||||
|
"Midplane",
|
||||||
|
"ModelThread",
|
||||||
|
"Placement",
|
||||||
|
"PreviewShape",
|
||||||
|
"Profile",
|
||||||
|
"Refine",
|
||||||
|
"Reversed",
|
||||||
|
"Shape",
|
||||||
|
"ShapeMaterial",
|
||||||
|
"Suppressed",
|
||||||
|
"SuppressedShape",
|
||||||
|
"Tapered",
|
||||||
|
"TaperedAngle",
|
||||||
|
"ThreadClass",
|
||||||
|
"ThreadDepth",
|
||||||
|
"ThreadDepthType",
|
||||||
|
"ThreadDiameter",
|
||||||
|
"ThreadDirection",
|
||||||
|
"ThreadFit",
|
||||||
|
"ThreadSize",
|
||||||
|
"ThreadType",
|
||||||
|
"Threaded",
|
||||||
|
"UpToFace",
|
||||||
|
"UpToFace2",
|
||||||
|
"UpToShape",
|
||||||
|
"UpToShape2",
|
||||||
|
"UseCustomThreadClearance",
|
||||||
|
"Visibility",
|
||||||
|
"_Body",
|
||||||
|
"_ElementMapVersion"
|
||||||
|
],
|
||||||
|
"solids": 1,
|
||||||
|
"status": "Valid",
|
||||||
|
"threadClass": "4G",
|
||||||
|
"threadDepth": 6,
|
||||||
|
"threadDepthType": "Dimension",
|
||||||
|
"threadDiameter": 6,
|
||||||
|
"threadDirection": "Left",
|
||||||
|
"threadFit": "Medium",
|
||||||
|
"threadPitch": 1,
|
||||||
|
"threadSize": "M6x1.0",
|
||||||
|
"threadType": "ISOMetricProfile",
|
||||||
|
"threaded": true,
|
||||||
|
"typeId": "PartDesign::Hole",
|
||||||
|
"volume": 3820.1907618181585
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "mirrored-missing-reference",
|
||||||
|
"inputClass": "valid-original-missing-transform-reference",
|
||||||
|
"observed": "rejected",
|
||||||
|
"originals": [
|
||||||
|
"Boss"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"staleShapePreserved": false,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"status": "No mirror plane reference specified",
|
||||||
|
"transformations": [],
|
||||||
|
"typeId": "PartDesign::Mirrored"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "multitransform-missing-reference",
|
||||||
|
"inputClass": "valid-original-missing-transform-reference",
|
||||||
|
"observed": "rejected",
|
||||||
|
"originals": [
|
||||||
|
"Boss"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": false,
|
||||||
|
"staleShapePreserved": true,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"status": "Shape index 999 out of bound 12",
|
||||||
|
"transformations": [
|
||||||
|
"PartDesign::LinearPattern"
|
||||||
|
],
|
||||||
|
"typeId": "PartDesign::MultiTransform"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "linearpattern-missing-reference",
|
||||||
|
"inputClass": "valid-original-missing-transform-reference",
|
||||||
|
"observed": "rejected",
|
||||||
|
"originals": [
|
||||||
|
"Boss"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"staleShapePreserved": false,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"status": "Shape index 999 out of bound 12",
|
||||||
|
"transformations": [],
|
||||||
|
"typeId": "PartDesign::LinearPattern"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expected": "rejected",
|
||||||
|
"id": "polarpattern-missing-reference",
|
||||||
|
"inputClass": "valid-original-missing-transform-reference",
|
||||||
|
"observed": "rejected",
|
||||||
|
"originals": [
|
||||||
|
"Boss"
|
||||||
|
],
|
||||||
|
"passed": true,
|
||||||
|
"shapeNull": true,
|
||||||
|
"staleShapePreserved": false,
|
||||||
|
"state": [
|
||||||
|
"Touched",
|
||||||
|
"Invalid"
|
||||||
|
],
|
||||||
|
"status": "No axis reference specified",
|
||||||
|
"transformations": [],
|
||||||
|
"typeId": "PartDesign::PolarPattern"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"acceptedEmpty": 0,
|
||||||
|
"cases": 10,
|
||||||
|
"failureCases": 4,
|
||||||
|
"failurePassed": 4,
|
||||||
|
"passed": 10,
|
||||||
|
"rejected": 4,
|
||||||
|
"successCases": 6,
|
||||||
|
"successPassed": 6
|
||||||
|
},
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
594
config/freecad-sketcher-constraint-oracle.json
Normal file
594
config/freecad-sketcher-constraint-oracle.json
Normal file
@@ -0,0 +1,594 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-sketcher-constraint-oracle",
|
||||||
|
"classificationCases": [
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintTypes": [
|
||||||
|
"Horizontal",
|
||||||
|
"Distance"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"driving": false,
|
||||||
|
"expected": "reference",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "reference-dimension",
|
||||||
|
"inputValue": 99,
|
||||||
|
"malformed": [],
|
||||||
|
"measuredValue": 77.98445020149762,
|
||||||
|
"observed": "reference",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintTypes": [
|
||||||
|
"Distance",
|
||||||
|
"Distance"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "redundant",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "redundant-dimension",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "redundant",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"solveStatus": -2,
|
||||||
|
"values": [
|
||||||
|
5,
|
||||||
|
5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"constraintTypes": [
|
||||||
|
"Distance",
|
||||||
|
"Distance"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "conflicting",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "conflicting-dimension",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "conflicting",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"solveStatus": -3,
|
||||||
|
"values": [
|
||||||
|
5,
|
||||||
|
8
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"failureCases": [
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Coincident",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "coincident-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Horizontal",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "horizontal-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Vertical",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "vertical-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Parallel",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "parallel-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Tangent",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "tangent-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Distance",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "distance-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "DistanceX",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "distance-x-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "DistanceY",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "distance-y-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Angle",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "angle-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Perpendicular",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "perpendicular-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Radius",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "radius-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Equal",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "equal-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "PointOnObject",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "point-on-object-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Symmetric",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "symmetric-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "InternalAlignment",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "internal-alignment-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "SnellsLaw",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "snells-law-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Block",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "block-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Diameter",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "diameter-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"addResult": null,
|
||||||
|
"constraintType": "Weight",
|
||||||
|
"error": "Constraint has invalid indexes",
|
||||||
|
"errorType": "IndexError",
|
||||||
|
"expected": "failure",
|
||||||
|
"id": "weight-invalid-reference",
|
||||||
|
"observed": "failure"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"revision": "14556 (Git)",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"successCases": [
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Coincident",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Coincident"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 6,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "coincident-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Horizontal",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Horizontal"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "horizontal-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Vertical",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Vertical"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "vertical-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Parallel",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Parallel"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 7,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "parallel-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Tangent",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Tangent"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 5,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "tangent-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": -2.220446049250313e-16,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Distance",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Distance"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "distance-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "DistanceX",
|
||||||
|
"constraintTypes": [
|
||||||
|
"DistanceX"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "distance-x-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "DistanceY",
|
||||||
|
"constraintTypes": [
|
||||||
|
"DistanceY"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "distance-y-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Angle",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Angle"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "angle-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Perpendicular",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Perpendicular"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 7,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "perpendicular-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Radius",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Radius"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 2,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "radius-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Equal",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Equal"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 7,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "equal-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "PointOnObject",
|
||||||
|
"constraintTypes": [
|
||||||
|
"PointOnObject"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 5,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "point-on-object-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": -1.1102230246251565e-16,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Symmetric",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Symmetric"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 4,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "symmetric-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 1.1102230246251565e-16,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "InternalAlignment",
|
||||||
|
"constraintTypes": [
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 5,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "internal-alignment-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "SnellsLaw",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Coincident",
|
||||||
|
"PointOnObject",
|
||||||
|
"SnellsLaw"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 8,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "snells-law-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Block",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Block"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 0,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": true,
|
||||||
|
"id": "block-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Diameter",
|
||||||
|
"constraintTypes": [
|
||||||
|
"Diameter"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 2,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "diameter-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conflicting": [],
|
||||||
|
"constraintType": "Weight",
|
||||||
|
"constraintTypes": [
|
||||||
|
"InternalAlignment",
|
||||||
|
"Weight",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment",
|
||||||
|
"Equal",
|
||||||
|
"InternalAlignment",
|
||||||
|
"InternalAlignment"
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 10,
|
||||||
|
"expected": "success",
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"id": "weight-success",
|
||||||
|
"malformed": [],
|
||||||
|
"observed": "success",
|
||||||
|
"partiallyRedundant": [],
|
||||||
|
"redundant": [],
|
||||||
|
"residual": 0,
|
||||||
|
"solveStatus": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"summary": {
|
||||||
|
"classificationCases": 3,
|
||||||
|
"classificationPassed": 3,
|
||||||
|
"constraintTypes": 19,
|
||||||
|
"failureCases": 19,
|
||||||
|
"failurePassed": 19,
|
||||||
|
"successCases": 19,
|
||||||
|
"successPassed": 19
|
||||||
|
},
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
260
config/freecad-sketcher-editor-oracle.json
Normal file
260
config/freecad-sketcher-editor-oracle.json
Normal file
@@ -0,0 +1,260 @@
|
|||||||
|
{
|
||||||
|
"baselineId": "freecad-1.1.1-sketcher-editor-oracle",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"before": {
|
||||||
|
"constraintTypes": [
|
||||||
|
"Horizontal"
|
||||||
|
],
|
||||||
|
"construction": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"final": {
|
||||||
|
"constraintTypes": [
|
||||||
|
"Horizontal"
|
||||||
|
],
|
||||||
|
"construction": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 3,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
8,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": "drag-horizontal",
|
||||||
|
"passed": true,
|
||||||
|
"solveStatus": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"final": {
|
||||||
|
"constraintTypes": [
|
||||||
|
"Coincident"
|
||||||
|
],
|
||||||
|
"construction": [
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 6,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
4,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
10,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
4,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": "split-line",
|
||||||
|
"passed": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"final": {
|
||||||
|
"constraintTypes": [],
|
||||||
|
"construction": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 4,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": "extend-line",
|
||||||
|
"passed": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"final": {
|
||||||
|
"constraintTypes": [
|
||||||
|
"PointOnObject"
|
||||||
|
],
|
||||||
|
"construction": [
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 7,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
7,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
7,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
7,
|
||||||
|
-2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": "trim-at-intersection",
|
||||||
|
"passed": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"final": {
|
||||||
|
"constraintTypes": [],
|
||||||
|
"construction": [
|
||||||
|
true
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 4,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": "toggle-construction",
|
||||||
|
"passed": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"committedEnd": [
|
||||||
|
8,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"final": {
|
||||||
|
"constraintTypes": [],
|
||||||
|
"construction": [
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 4,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
8,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": "transaction-undo-redo",
|
||||||
|
"passed": true,
|
||||||
|
"redoneEnd": [
|
||||||
|
8,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"undoneEnd": [
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"final": {
|
||||||
|
"constraintTypes": [
|
||||||
|
"Coincident",
|
||||||
|
"Horizontal"
|
||||||
|
],
|
||||||
|
"construction": [
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"degreesOfFreedom": 5,
|
||||||
|
"fullyConstrained": false,
|
||||||
|
"geometry": [
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"end": [
|
||||||
|
5,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"start": [
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": "auto-constraint",
|
||||||
|
"passed": true,
|
||||||
|
"solveStatus": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"status": "pass",
|
||||||
|
"summary": {
|
||||||
|
"cases": 7,
|
||||||
|
"passed": 7
|
||||||
|
},
|
||||||
|
"tolerance": 1e-7
|
||||||
|
}
|
||||||
839
config/freecad-source-inventory.json
Normal file
839
config/freecad-source-inventory.json
Normal file
@@ -0,0 +1,839 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"baseline": {
|
||||||
|
"freecadVersion": "1.1.1",
|
||||||
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
||||||
|
"sourcePath": ".cache/freecad/FreeCAD"
|
||||||
|
},
|
||||||
|
"generatedBy": "scripts/generate-freecad-source-inventory.mjs",
|
||||||
|
"moduleCount": 34,
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"name": "AddonManager",
|
||||||
|
"sourcePath": "src/Mod/AddonManager",
|
||||||
|
"cmakeOption": "BUILD_ADDONMGR",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": false,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 0,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Assembly",
|
||||||
|
"sourcePath": "src/Mod/Assembly",
|
||||||
|
"cmakeOption": "BUILD_ASSEMBLY",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 24,
|
||||||
|
"commandIds": [
|
||||||
|
"Assembly_ActivateAssembly",
|
||||||
|
"Assembly_CreateAssembly",
|
||||||
|
"Assembly_CreateBom",
|
||||||
|
"Assembly_CreateJointAngle",
|
||||||
|
"Assembly_CreateJointBall",
|
||||||
|
"Assembly_CreateJointBelt",
|
||||||
|
"Assembly_CreateJointCylindrical",
|
||||||
|
"Assembly_CreateJointDistance",
|
||||||
|
"Assembly_CreateJointFixed",
|
||||||
|
"Assembly_CreateJointGearBelt",
|
||||||
|
"Assembly_CreateJointGears",
|
||||||
|
"Assembly_CreateJointParallel",
|
||||||
|
"Assembly_CreateJointPerpendicular",
|
||||||
|
"Assembly_CreateJointRackPinion",
|
||||||
|
"Assembly_CreateJointRevolute",
|
||||||
|
"Assembly_CreateJointScrew",
|
||||||
|
"Assembly_CreateJointSlider",
|
||||||
|
"Assembly_CreateSimulation",
|
||||||
|
"Assembly_CreateView",
|
||||||
|
"Assembly_ExportASMT",
|
||||||
|
"Assembly_Insert",
|
||||||
|
"Assembly_InsertLink",
|
||||||
|
"Assembly_InsertNewPart",
|
||||||
|
"Assembly_SolveAssembly",
|
||||||
|
"Assembly_ToggleGrounded"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BIM",
|
||||||
|
"sourcePath": "src/Mod/BIM",
|
||||||
|
"cmakeOption": "BUILD_BIM",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 206,
|
||||||
|
"commandIds": [
|
||||||
|
"Arch_Add",
|
||||||
|
"Arch_Axis",
|
||||||
|
"Arch_AxisSystem",
|
||||||
|
"Arch_AxisTools",
|
||||||
|
"Arch_Building",
|
||||||
|
"Arch_Check",
|
||||||
|
"Arch_CloneComponent",
|
||||||
|
"Arch_CloseHoles",
|
||||||
|
"Arch_Component",
|
||||||
|
"Arch_CurtainWall",
|
||||||
|
"Arch_CutPlane",
|
||||||
|
"Arch_Equipment",
|
||||||
|
"Arch_Fence",
|
||||||
|
"Arch_Floor",
|
||||||
|
"Arch_Frame",
|
||||||
|
"Arch_Grid",
|
||||||
|
"Arch_IfcSpreadsheet",
|
||||||
|
"Arch_Level",
|
||||||
|
"Arch_Material",
|
||||||
|
"Arch_MaterialTools",
|
||||||
|
"Arch_MergeWalls",
|
||||||
|
"Arch_MeshToShape",
|
||||||
|
"Arch_MultiMaterial",
|
||||||
|
"Arch_Nest",
|
||||||
|
"Arch_Panel",
|
||||||
|
"Arch_PanelTools",
|
||||||
|
"Arch_Panel_Cut",
|
||||||
|
"Arch_Panel_Sheet",
|
||||||
|
"Arch_Pipe",
|
||||||
|
"Arch_PipeConnector",
|
||||||
|
"Arch_PipeTools",
|
||||||
|
"Arch_Profile",
|
||||||
|
"Arch_Rebar",
|
||||||
|
"Arch_RebarTools",
|
||||||
|
"Arch_Reference",
|
||||||
|
"Arch_Remove",
|
||||||
|
"Arch_RemoveShape",
|
||||||
|
"Arch_Roof",
|
||||||
|
"Arch_Schedule",
|
||||||
|
"Arch_SectionPlane",
|
||||||
|
"Arch_SelectNonSolidMeshes",
|
||||||
|
"Arch_Site",
|
||||||
|
"Arch_Space",
|
||||||
|
"Arch_SplitMesh",
|
||||||
|
"Arch_Stairs",
|
||||||
|
"Arch_StructuralSystem",
|
||||||
|
"Arch_Structure",
|
||||||
|
"Arch_StructureTools",
|
||||||
|
"Arch_StructuresFromSelection",
|
||||||
|
"Arch_Survey",
|
||||||
|
"Arch_ToggleIfcBrepFlag",
|
||||||
|
"Arch_ToggleSubs",
|
||||||
|
"Arch_Truss",
|
||||||
|
"Arch_Wall",
|
||||||
|
"Arch_Window",
|
||||||
|
"BIM_Background",
|
||||||
|
"BIM_Beam",
|
||||||
|
"BIM_Box",
|
||||||
|
"BIM_Builder",
|
||||||
|
"BIM_Classification",
|
||||||
|
"BIM_Clone",
|
||||||
|
"BIM_Column",
|
||||||
|
"BIM_Common",
|
||||||
|
"BIM_Compound",
|
||||||
|
"BIM_Convert",
|
||||||
|
"BIM_Copy",
|
||||||
|
"BIM_Create2DViews",
|
||||||
|
"BIM_Cut",
|
||||||
|
"BIM_Diff",
|
||||||
|
"BIM_DimensionAligned",
|
||||||
|
"BIM_DimensionHorizontal",
|
||||||
|
"BIM_DimensionVertical",
|
||||||
|
"BIM_Door",
|
||||||
|
"BIM_DrawingView",
|
||||||
|
"BIM_EmptyTrash",
|
||||||
|
"BIM_Examples",
|
||||||
|
"BIM_Extrude",
|
||||||
|
"BIM_Fuse",
|
||||||
|
"BIM_GenericTools",
|
||||||
|
"BIM_Glue",
|
||||||
|
"BIM_Help",
|
||||||
|
"BIM_IfcElements",
|
||||||
|
"BIM_IfcExplorer",
|
||||||
|
"BIM_IfcProperties",
|
||||||
|
"BIM_IfcQuantities",
|
||||||
|
"BIM_ImagePlane",
|
||||||
|
"BIM_Layers",
|
||||||
|
"BIM_Leader",
|
||||||
|
"BIM_Library",
|
||||||
|
"BIM_Material",
|
||||||
|
"BIM_MoveView",
|
||||||
|
"BIM_Nudge_Down",
|
||||||
|
"BIM_Nudge_Extend",
|
||||||
|
"BIM_Nudge_Left",
|
||||||
|
"BIM_Nudge_Right",
|
||||||
|
"BIM_Nudge_RotateLeft",
|
||||||
|
"BIM_Nudge_RotateRight",
|
||||||
|
"BIM_Nudge_Shrink",
|
||||||
|
"BIM_Nudge_Switch",
|
||||||
|
"BIM_Nudge_Up",
|
||||||
|
"BIM_Offset2D",
|
||||||
|
"BIM_Preflight",
|
||||||
|
"BIM_Project",
|
||||||
|
"BIM_ProjectManager",
|
||||||
|
"BIM_Reextrude",
|
||||||
|
"BIM_Reorder",
|
||||||
|
"BIM_ResetCloneColors",
|
||||||
|
"BIM_Rewire",
|
||||||
|
"BIM_SetWPFront",
|
||||||
|
"BIM_SetWPSide",
|
||||||
|
"BIM_SetWPTop",
|
||||||
|
"BIM_Setup",
|
||||||
|
"BIM_Shape2DCut",
|
||||||
|
"BIM_Shape2DView",
|
||||||
|
"BIM_SimpleCopy",
|
||||||
|
"BIM_Sketch",
|
||||||
|
"BIM_Slab",
|
||||||
|
"BIM_TDPage",
|
||||||
|
"BIM_TDView",
|
||||||
|
"BIM_Text",
|
||||||
|
"BIM_TogglePanels",
|
||||||
|
"BIM_Trash",
|
||||||
|
"BIM_Tutorial",
|
||||||
|
"BIM_Unclone",
|
||||||
|
"BIM_Ungroup",
|
||||||
|
"BIM_Views",
|
||||||
|
"BIM_WPView",
|
||||||
|
"BIM_Welcome",
|
||||||
|
"BIM_Windows",
|
||||||
|
"IFC_ConvertDocument",
|
||||||
|
"IFC_Diff",
|
||||||
|
"IFC_Expand",
|
||||||
|
"IFC_MakeProject",
|
||||||
|
"IFC_Save",
|
||||||
|
"IFC_SaveAs",
|
||||||
|
"IFC_UpdateIOS"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CAM",
|
||||||
|
"sourcePath": "src/Mod/CAM",
|
||||||
|
"cmakeOption": "BUILD_CAM",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 363,
|
||||||
|
"commandIds": [
|
||||||
|
"CAM_%s",
|
||||||
|
"CAM_3dTools",
|
||||||
|
"CAM_Array",
|
||||||
|
"CAM_Camotics",
|
||||||
|
"CAM_Comment",
|
||||||
|
"CAM_Copy",
|
||||||
|
"CAM_DressupArray",
|
||||||
|
"CAM_DressupAxisMap",
|
||||||
|
"CAM_DressupDogbone",
|
||||||
|
"CAM_DressupDragKnife",
|
||||||
|
"CAM_DressupLeadInOut",
|
||||||
|
"CAM_DressupPathBoundary",
|
||||||
|
"CAM_DressupRampEntry",
|
||||||
|
"CAM_DressupTag",
|
||||||
|
"CAM_DressupTools",
|
||||||
|
"CAM_DressupZCorrect",
|
||||||
|
"CAM_DrillingTools",
|
||||||
|
"CAM_EngraveTools",
|
||||||
|
"CAM_ExportTemplate",
|
||||||
|
"CAM_Fixture",
|
||||||
|
"CAM_Inspect",
|
||||||
|
"CAM_Job",
|
||||||
|
"CAM_OpActiveToggle",
|
||||||
|
"CAM_OperationCopy",
|
||||||
|
"CAM_PathShapeTC",
|
||||||
|
"CAM_Post",
|
||||||
|
"CAM_PropertyBag",
|
||||||
|
"CAM_Sanity",
|
||||||
|
"CAM_SelectLoop",
|
||||||
|
"CAM_SetStartPoint",
|
||||||
|
"CAM_SimTools",
|
||||||
|
"CAM_SimpleCopy",
|
||||||
|
"CAM_Simulator",
|
||||||
|
"CAM_SimulatorGL",
|
||||||
|
"CAM_Stop",
|
||||||
|
"CAM_ToolBitCreate",
|
||||||
|
"CAM_ToolBitDock",
|
||||||
|
"CAM_ToolBitLibraryOpen",
|
||||||
|
"CAM_ToolBitLoad",
|
||||||
|
"CAM_ToolBitSave",
|
||||||
|
"CAM_ToolBitSaveAs",
|
||||||
|
"CAM_ToolController"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Cloud",
|
||||||
|
"sourcePath": "src/Mod/Cloud",
|
||||||
|
"cmakeOption": "BUILD_CLOUD",
|
||||||
|
"cmakeDefault": false,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 2,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Draft",
|
||||||
|
"sourcePath": "src/Mod/Draft",
|
||||||
|
"cmakeOption": "BUILD_DRAFT",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 238,
|
||||||
|
"commandIds": [
|
||||||
|
"Draft_AddConstruction",
|
||||||
|
"Draft_AddNamedGroup",
|
||||||
|
"Draft_AddToGroup",
|
||||||
|
"Draft_AddToLayer",
|
||||||
|
"Draft_AnnotationStyleEditor",
|
||||||
|
"Draft_ApplyStyle",
|
||||||
|
"Draft_Arc",
|
||||||
|
"Draft_ArcTools",
|
||||||
|
"Draft_Arc_3Points",
|
||||||
|
"Draft_ArrayTools",
|
||||||
|
"Draft_AutoGroup",
|
||||||
|
"Draft_BSpline",
|
||||||
|
"Draft_BezCurve",
|
||||||
|
"Draft_BezierTools",
|
||||||
|
"Draft_Circle",
|
||||||
|
"Draft_CircularArray",
|
||||||
|
"Draft_Clone",
|
||||||
|
"Draft_CubicBezCurve",
|
||||||
|
"Draft_Dimension",
|
||||||
|
"Draft_Downgrade",
|
||||||
|
"Draft_Draft2Sketch",
|
||||||
|
"Draft_Edit",
|
||||||
|
"Draft_Ellipse",
|
||||||
|
"Draft_Facebinder",
|
||||||
|
"Draft_Fillet",
|
||||||
|
"Draft_FlipDimension",
|
||||||
|
"Draft_Hatch",
|
||||||
|
"Draft_Heal",
|
||||||
|
"Draft_Hyperlink",
|
||||||
|
"Draft_Join",
|
||||||
|
"Draft_Label",
|
||||||
|
"Draft_Layer",
|
||||||
|
"Draft_LayerManager",
|
||||||
|
"Draft_Line",
|
||||||
|
"Draft_Mirror",
|
||||||
|
"Draft_Move",
|
||||||
|
"Draft_Offset",
|
||||||
|
"Draft_OrthoArray",
|
||||||
|
"Draft_PathArray",
|
||||||
|
"Draft_PathLinkArray",
|
||||||
|
"Draft_PathTwistedArray",
|
||||||
|
"Draft_PathTwistedLinkArray",
|
||||||
|
"Draft_Point",
|
||||||
|
"Draft_PointArray",
|
||||||
|
"Draft_PointLinkArray",
|
||||||
|
"Draft_PolarArray",
|
||||||
|
"Draft_Polygon",
|
||||||
|
"Draft_Rectangle",
|
||||||
|
"Draft_Rotate",
|
||||||
|
"Draft_Scale",
|
||||||
|
"Draft_SelectGroup",
|
||||||
|
"Draft_SelectPlane",
|
||||||
|
"Draft_SetStyle",
|
||||||
|
"Draft_Shape2DView",
|
||||||
|
"Draft_ShapeString",
|
||||||
|
"Draft_ShowSnapBar",
|
||||||
|
"Draft_Slope",
|
||||||
|
"Draft_Snap_Angle",
|
||||||
|
"Draft_Snap_Center",
|
||||||
|
"Draft_Snap_Dimensions",
|
||||||
|
"Draft_Snap_Endpoint",
|
||||||
|
"Draft_Snap_Extension",
|
||||||
|
"Draft_Snap_Grid",
|
||||||
|
"Draft_Snap_Intersection",
|
||||||
|
"Draft_Snap_Lock",
|
||||||
|
"Draft_Snap_Midpoint",
|
||||||
|
"Draft_Snap_Near",
|
||||||
|
"Draft_Snap_Ortho",
|
||||||
|
"Draft_Snap_Parallel",
|
||||||
|
"Draft_Snap_Perpendicular",
|
||||||
|
"Draft_Snap_Special",
|
||||||
|
"Draft_Snap_WorkingPlane",
|
||||||
|
"Draft_Split",
|
||||||
|
"Draft_Stretch",
|
||||||
|
"Draft_SubelementHighlight",
|
||||||
|
"Draft_Text",
|
||||||
|
"Draft_ToggleConstructionMode",
|
||||||
|
"Draft_ToggleDisplayMode",
|
||||||
|
"Draft_ToggleGrid",
|
||||||
|
"Draft_Trimex",
|
||||||
|
"Draft_Upgrade",
|
||||||
|
"Draft_Wire",
|
||||||
|
"Draft_WireToBSpline",
|
||||||
|
"Draft_WorkingPlaneProxy"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Fem",
|
||||||
|
"sourcePath": "src/Mod/Fem",
|
||||||
|
"cmakeOption": "BUILD_FEM",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 390,
|
||||||
|
"commandIds": [
|
||||||
|
"FEM_Analysis",
|
||||||
|
"FEM_ClippingPlaneAdd",
|
||||||
|
"FEM_ClippingPlaneRemoveAll",
|
||||||
|
"FEM_ConstantVacuumPermittivity",
|
||||||
|
"FEM_ConstraintBodyHeatSource",
|
||||||
|
"FEM_ConstraintCentrif",
|
||||||
|
"FEM_ConstraintCurrentDensity",
|
||||||
|
"FEM_ConstraintElectricChargeDensity",
|
||||||
|
"FEM_ConstraintElectrostaticPotential",
|
||||||
|
"FEM_ConstraintFlowVelocity",
|
||||||
|
"FEM_ConstraintInitialFlowVelocity",
|
||||||
|
"FEM_ConstraintInitialPressure",
|
||||||
|
"FEM_ConstraintMagnetization",
|
||||||
|
"FEM_ConstraintSectionPrint",
|
||||||
|
"FEM_ConstraintSelfWeight",
|
||||||
|
"FEM_ConstraintTie",
|
||||||
|
"FEM_ElementFluid1D",
|
||||||
|
"FEM_ElementGeometry1D",
|
||||||
|
"FEM_ElementGeometry2D",
|
||||||
|
"FEM_ElementRotation1D",
|
||||||
|
"FEM_EquationDeformation",
|
||||||
|
"FEM_EquationElasticity",
|
||||||
|
"FEM_EquationElectricforce",
|
||||||
|
"FEM_EquationElectrostatic",
|
||||||
|
"FEM_EquationFlow",
|
||||||
|
"FEM_EquationFlux",
|
||||||
|
"FEM_EquationHeat",
|
||||||
|
"FEM_EquationMagnetodynamic",
|
||||||
|
"FEM_EquationMagnetodynamic2D",
|
||||||
|
"FEM_EquationStaticCurrent",
|
||||||
|
"FEM_Examples",
|
||||||
|
"FEM_FEMMesh2Mesh",
|
||||||
|
"FEM_MaterialEditor",
|
||||||
|
"FEM_MaterialFluid",
|
||||||
|
"FEM_MaterialMechanicalNonlinear",
|
||||||
|
"FEM_MaterialReinforced",
|
||||||
|
"FEM_MaterialSolid",
|
||||||
|
"FEM_MeshBoundaryLayer",
|
||||||
|
"FEM_MeshClear",
|
||||||
|
"FEM_MeshDisplayInfo",
|
||||||
|
"FEM_MeshGmshFromShape",
|
||||||
|
"FEM_MeshGroup",
|
||||||
|
"FEM_MeshNetgenFromShape",
|
||||||
|
"FEM_MeshRegion",
|
||||||
|
"FEM_PostFilterGlyph",
|
||||||
|
"FEM_PostVisualization",
|
||||||
|
"FEM_ResultShow",
|
||||||
|
"FEM_ResultsPurge",
|
||||||
|
"FEM_SolverCalculiX",
|
||||||
|
"FEM_SolverCalculiXCcxTools",
|
||||||
|
"FEM_SolverControl",
|
||||||
|
"FEM_SolverElmer",
|
||||||
|
"FEM_SolverMystran",
|
||||||
|
"FEM_SolverRun",
|
||||||
|
"FEM_SolverZ88"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Help",
|
||||||
|
"sourcePath": "src/Mod/Help",
|
||||||
|
"cmakeOption": "BUILD_HELP",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 2,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Idf",
|
||||||
|
"sourcePath": "src/Mod/Idf",
|
||||||
|
"cmakeOption": "BUILD_IDF",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 2,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Import",
|
||||||
|
"sourcePath": "src/Mod/Import",
|
||||||
|
"cmakeOption": "BUILD_IMPORT",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 24,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Inspection",
|
||||||
|
"sourcePath": "src/Mod/Inspection",
|
||||||
|
"cmakeOption": "BUILD_INSPECTION",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 2,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "JtReader",
|
||||||
|
"sourcePath": "src/Mod/JtReader",
|
||||||
|
"cmakeOption": "BUILD_JTREADER",
|
||||||
|
"cmakeDefault": false,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 2,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Material",
|
||||||
|
"sourcePath": "src/Mod/Material",
|
||||||
|
"cmakeOption": "BUILD_MATERIAL",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 18,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Measure",
|
||||||
|
"sourcePath": "src/Mod/Measure",
|
||||||
|
"cmakeOption": "BUILD_MEASURE",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 4,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mesh",
|
||||||
|
"sourcePath": "src/Mod/Mesh",
|
||||||
|
"cmakeOption": "BUILD_MESH",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 5,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MeshPart",
|
||||||
|
"sourcePath": "src/Mod/MeshPart",
|
||||||
|
"cmakeOption": "BUILD_MESH_PART",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 3,
|
||||||
|
"commandIds": [
|
||||||
|
"MeshPart_CreateFlatFace",
|
||||||
|
"MeshPart_CreateFlatMesh"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OpenSCAD",
|
||||||
|
"sourcePath": "src/Mod/OpenSCAD",
|
||||||
|
"cmakeOption": "BUILD_OPENSCAD",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 21,
|
||||||
|
"commandIds": [
|
||||||
|
"OpenSCAD_AddOpenSCADElement",
|
||||||
|
"OpenSCAD_ColorCodeShape",
|
||||||
|
"OpenSCAD_Edgestofaces",
|
||||||
|
"OpenSCAD_ExpandPlacements",
|
||||||
|
"OpenSCAD_ExplodeGroup",
|
||||||
|
"OpenSCAD_Hull",
|
||||||
|
"OpenSCAD_IncreaseToleranceFeature",
|
||||||
|
"OpenSCAD_MeshBoolean",
|
||||||
|
"OpenSCAD_Minkowski",
|
||||||
|
"OpenSCAD_MirrorMeshFeature",
|
||||||
|
"OpenSCAD_RefineShapeFeature",
|
||||||
|
"OpenSCAD_RemoveSubtree",
|
||||||
|
"OpenSCAD_ReplaceObject",
|
||||||
|
"OpenSCAD_ResizeMeshFeature",
|
||||||
|
"OpenSCAD_ScaleMeshFeature"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Part",
|
||||||
|
"sourcePath": "src/Mod/Part",
|
||||||
|
"cmakeOption": "BUILD_PART",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 42,
|
||||||
|
"commandIds": [
|
||||||
|
"Part_BooleanFragments",
|
||||||
|
"Part_CompoundFilter",
|
||||||
|
"Part_EditAttachment",
|
||||||
|
"Part_ExplodeCompound",
|
||||||
|
"Part_JoinConnect",
|
||||||
|
"Part_JoinCutout",
|
||||||
|
"Part_JoinEmbed",
|
||||||
|
"Part_Slice",
|
||||||
|
"Part_SliceApart",
|
||||||
|
"Part_ToleranceSet",
|
||||||
|
"Part_Tube",
|
||||||
|
"Part_XOR"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PartDesign",
|
||||||
|
"sourcePath": "src/Mod/PartDesign",
|
||||||
|
"cmakeOption": "BUILD_PART_DESIGN",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 55,
|
||||||
|
"commandIds": [
|
||||||
|
"PartDesign_InvoluteGear",
|
||||||
|
"PartDesign_Sprocket",
|
||||||
|
"PartDesign_WizardShaft",
|
||||||
|
"PartDesign_WizardShaftCallBack"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Plot",
|
||||||
|
"sourcePath": "src/Mod/Plot",
|
||||||
|
"cmakeOption": "BUILD_PLOT",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 1,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Points",
|
||||||
|
"sourcePath": "src/Mod/Points",
|
||||||
|
"cmakeOption": "BUILD_POINTS",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 4,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ReverseEngineering",
|
||||||
|
"sourcePath": "src/Mod/ReverseEngineering",
|
||||||
|
"cmakeOption": "BUILD_REVERSEENGINEERING",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 2,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Robot",
|
||||||
|
"sourcePath": "src/Mod/Robot",
|
||||||
|
"cmakeOption": "BUILD_ROBOT",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 6,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sandbox",
|
||||||
|
"sourcePath": "src/Mod/Sandbox",
|
||||||
|
"cmakeOption": "BUILD_SANDBOX",
|
||||||
|
"cmakeDefault": false,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 3,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Show",
|
||||||
|
"sourcePath": "src/Mod/Show",
|
||||||
|
"cmakeOption": "BUILD_SHOW",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 15,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sketcher",
|
||||||
|
"sourcePath": "src/Mod/Sketcher",
|
||||||
|
"cmakeOption": "BUILD_SKETCHER",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 15,
|
||||||
|
"commandIds": [
|
||||||
|
"Sketcher_ProfilesHexagon1"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Spreadsheet",
|
||||||
|
"sourcePath": "src/Mod/Spreadsheet",
|
||||||
|
"cmakeOption": "BUILD_SPREADSHEET",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 6,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Start",
|
||||||
|
"sourcePath": "src/Mod/Start",
|
||||||
|
"cmakeOption": "BUILD_START",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 3,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Surface",
|
||||||
|
"sourcePath": "src/Mod/Surface",
|
||||||
|
"cmakeOption": "BUILD_SURFACE",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 5,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TechDraw",
|
||||||
|
"sourcePath": "src/Mod/TechDraw",
|
||||||
|
"cmakeOption": "BUILD_TECHDRAW",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 36,
|
||||||
|
"commandIds": [
|
||||||
|
"TechDraw_AxoLengthDimension",
|
||||||
|
"TechDraw_CommandAddOffsetVertex",
|
||||||
|
"TechDraw_CommandVertexCreationGroup",
|
||||||
|
"TechDraw_ExtensionPositionSectionView",
|
||||||
|
"TechDraw_FillTemplateFields",
|
||||||
|
"TechDraw_HoleShaftFit",
|
||||||
|
"TechDraw_MoveView",
|
||||||
|
"TechDraw_ShareView"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TemplatePyMod",
|
||||||
|
"sourcePath": "src/Mod/TemplatePyMod",
|
||||||
|
"cmakeOption": "BUILD_TEMPLATEPYMOD",
|
||||||
|
"cmakeDefault": null,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 13,
|
||||||
|
"commandIds": [
|
||||||
|
"TemplatePyCheckable",
|
||||||
|
"TemplatePyGroup",
|
||||||
|
"TemplatePyGrp_1",
|
||||||
|
"TemplatePyGrp_2",
|
||||||
|
"TemplatePyGrp_3",
|
||||||
|
"TemplatePyMod_Cmd1",
|
||||||
|
"TemplatePyMod_Cmd2",
|
||||||
|
"TemplatePyMod_Cmd3",
|
||||||
|
"TemplatePyMod_Cmd4",
|
||||||
|
"TemplatePyMod_Cmd5",
|
||||||
|
"TemplatePyMod_Cmd6"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Test",
|
||||||
|
"sourcePath": "src/Mod/Test",
|
||||||
|
"cmakeOption": "BUILD_TEST",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": true,
|
||||||
|
"pythonFileCount": 22,
|
||||||
|
"commandIds": [
|
||||||
|
"Test_InsertFeature",
|
||||||
|
"Test_Test",
|
||||||
|
"Test_TestAll",
|
||||||
|
"Test_TestAllText",
|
||||||
|
"Test_TestBase",
|
||||||
|
"Test_TestBaseText",
|
||||||
|
"Test_TestCreateMenu",
|
||||||
|
"Test_TestDeleteMenu",
|
||||||
|
"Test_TestDoc",
|
||||||
|
"Test_TestDocText",
|
||||||
|
"Test_TestWork"
|
||||||
|
],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Tux",
|
||||||
|
"sourcePath": "src/Mod/Tux",
|
||||||
|
"cmakeOption": "BUILD_TUX",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": false,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 4,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Web",
|
||||||
|
"sourcePath": "src/Mod/Web",
|
||||||
|
"cmakeOption": "BUILD_WEB",
|
||||||
|
"cmakeDefault": true,
|
||||||
|
"hasCMake": true,
|
||||||
|
"hasApp": true,
|
||||||
|
"hasGui": false,
|
||||||
|
"pythonFileCount": 1,
|
||||||
|
"commandIds": [],
|
||||||
|
"runtimeStatus": "requires-freecad-reference-probe"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
31395
config/freecad-type-property-inventory.json
Normal file
31395
config/freecad-type-property-inventory.json
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user