Compare commits

...

97 Commits

Author SHA1 Message Date
54649da16c feat: close link sub property codecs
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-17 21:37:33 -04:00
7bd7ff5055 feat: close hidden link property evidence
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-17 17:31:34 -04:00
8f6053089a feat: promote font force heat flux and integer set properties
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-17 09:10:47 -04:00
d11566403d feat: close ordered pairs and property codec batches
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-17 04:58:46 -04:00
00ed27b7b8 feat: classify chamfer common pair
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-16 01:34:40 -04:00
27db1a8f93 feat: classify chamfer cut pair and expand roadmap
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-16 01:30:04 -04:00
03339a6360 feat: classify fillet ordered pair row
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-16 01:02:00 -04:00
372861e015 feat: extend ordered pair evidence through groove
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-15 23:55:17 -04:00
10d11ad608 feat: classify pad ordered pair row
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-15 12:51:22 -04:00
8ef796552d feat: classify rotate ordered pair row
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-15 11:39:58 -04:00
1ee55b1338 feat: extend ordered pair evidence through common
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-15 10:37:35 -04:00
378a6e7c0a feat: extend FreeCAD parity queue and pair diagnostics
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-15 06:29:20 -04:00
83cbc80971 feat: advance TSN drift and ordered pair evidence
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-15 04:44:23 -04:00
ea3706bd3d feat: classify recovered naming drift
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-15 01:01:54 -04:00
5bbd7b9d4f feat: advance FreeCAD exact parity evidence
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-14 22:39:16 -04:00
e3373c9d6c feat: align FreeCAD property status semantics
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-14 17:56:41 -04:00
f64b78865c feat: complete production naming and reference lifecycle gates
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-14 10:10:30 -04:00
f97eae4153 feat: add candidate FreeCAD naming SDK and attachment oracles
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
Build and verify the candidate-only FreeCAD naming bridge and OCCT worker path, including three-stage StringHasher restoration. Add Datum, ShapeBinder, attachment-mode, and PartDesign structure oracles plus offline SDK build plans and CI boundary checks.
2026-08-13 17:16:07 -04:00
58c0807219 feat: add offline Qt6 naming prerequisites and boundary gates
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-12 08:17:44 -04:00
ca6fe46030 feat: add self-contained offline development resources
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-12 02:36:09 -04:00
97967041e2 feat: prepare FreeCAD private naming worker linkage
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-11 23:16:22 -04:00
aa607451ad feat: complete supported Sketcher and PartDesign ABI contract
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-11 20:34:23 -04:00
2be18a511e feat: advance FreeCAD parity verification and runtime boundaries
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled
2026-08-11 02:14:45 -04:00
26ea9b57d7 feat: close builder mutation and roundtrip evidence gaps 2026-08-10 21:27:42 -04:00
3907f50ff1 feat: expand oracle and topology evidence gates 2026-08-10 18:27:56 -04:00
d727375561 ci: fail closed when WASM toolchain paths are missing 2026-08-10 17:07:10 -04:00
9d791d53a6 fix: keep OpenCAMLib build script valid JavaScript 2026-08-10 17:05:41 -04:00
fdec641ea3 test: refresh real WASM harness evidence 2026-08-10 16:58:30 -04:00
aa2a7cacba ci: rebuild WASM inputs in real verification lane 2026-08-10 16:44:24 -04:00
8098b80c7a chore: refresh signed release artifact manifest 2026-08-10 16:42:34 -04:00
b2abe4df04 fix: normalize reproducible OpenCAMLib artifact 2026-08-10 16:39:22 -04:00
307db88346 fix: normalize reproducible Planegcs artifacts 2026-08-10 16:34:39 -04:00
7f10bba38f feat: establish production facade composition root 2026-08-10 16:28:12 -04:00
b962a5c3b5 feat: establish reproducible FreeCAD web compatibility baseline 2026-08-10 16:11:38 -04:00
e5a5d74dbc feat: advance FreeCAD parity and native OCCT history 2026-08-03 08:04:10 -04:00
2ce261b982 test: add reproducible FreeCAD golden oracle 2026-08-03 03:20:37 -04:00
81fcc69a74 docs: record multi-transform milestone 2026-08-03 02:39:24 -04:00
b09c5aaf34 feat: add structured multi-transform 2026-08-03 02:38:09 -04:00
ac1dbc2aea docs: record mirrored milestone push 2026-08-03 01:46:05 -04:00
4aa6ca48ad feat: add whole-shape mirrored feature 2026-08-03 01:41:27 -04:00
56903dbeb2 feat: resolve topology reference candidates 2026-08-03 01:28:16 -04:00
ffbe2c69dc feat: persist generation topology history 2026-08-03 01:12:25 -04:00
0fc2cfe41b docs: record placement milestone push 2026-08-03 00:44:18 -04:00
501f43f1c0 feat: apply object placement during recompute 2026-08-03 00:38:33 -04:00
6bfbdf5057 feat: add project recovery and resource governance 2026-08-03 00:13:13 -04:00
63446d5700 docs: add continuation execution status 2026-08-03 00:02:33 -04:00
293cff6c36 feat: add structured placement properties 2026-08-03 00:00:42 -04:00
a8f902ceb5 feat: persist stable sketch external geometry 2026-08-02 23:54:56 -04:00
6786261f16 feat: model advanced sketch curves 2026-08-02 23:52:06 -04:00
e0b4817ec0 feat: define versioned sketch solver protocol 2026-08-02 23:49:35 -04:00
4d94109627 feat: add conservative topology history fallback 2026-08-02 23:46:29 -04:00
d3d88b297b feat: persist LinkSub topology references 2026-08-02 23:41:16 -04:00
9def4708ea feat: add versioned topology reference migration 2026-08-02 23:31:33 -04:00
1ed35273a5 feat: add experimental basic hole feature 2026-08-02 23:25:10 -04:00
ce3b81c3c7 feat: add experimental polar pattern feature 2026-08-02 23:20:02 -04:00
8995b90917 feat: add experimental linear pattern feature 2026-08-02 23:13:09 -04:00
aeafc6c607 feat: expose recompute diagnostic repair tree 2026-08-02 22:56:38 -04:00
bc7adb500b feat: propagate feature suppression in recompute 2026-08-02 22:37:41 -04:00
fca408784d feat: recompute geometry after document load 2026-08-02 21:48:42 -04:00
10921a086e feat: maintain Part Design body tip 2026-08-02 21:40:44 -04:00
2a0b14b26d feat: expose persisted project summaries 2026-08-02 21:22:32 -04:00
ce64381677 fix: route workspace project open action 2026-08-02 21:10:15 -04:00
2a467cf8ea fix: distinguish missing recovery snapshots 2026-08-02 20:58:38 -04:00
9cc5e7847e fix: support worker memory resource fallback 2026-08-02 20:54:48 -04:00
4be5f521ff fix: style project rows as accessible buttons 2026-08-02 20:52:01 -04:00
10c7f23b17 feat: report shape topology checks 2026-08-02 20:46:02 -04:00
61360473fe feat: restore saved documents through facade 2026-08-02 20:40:34 -04:00
498e3f79ba feat: complete boolean task links and recompute closure 2026-08-02 20:30:04 -04:00
f24ed40db8 fix: constrain task angle inputs 2026-08-02 19:51:16 -04:00
9b6082acbe docs: record Part Design task parameters 2026-08-02 19:45:17 -04:00
288260b1e2 feat: wire Part Design task parameters 2026-08-02 19:44:54 -04:00
ed3d1cddc5 feat: export cached Part shapes 2026-08-02 19:37:56 -04:00
e84e1e77ef feat: align Part primitive task controls 2026-08-02 19:35:43 -04:00
ca9b18ea59 feat: persist primitive task parameters 2026-08-02 19:33:43 -04:00
589b2eb0f6 feat: add Part shape diagnostics 2026-08-02 19:31:25 -04:00
1bbee75761 feat: render cached Part shapes in viewport 2026-08-02 19:27:37 -04:00
42e59ac068 feat: add Part primitive task selection 2026-08-02 19:25:37 -04:00
9e15a6b10d feat: connect Part primitives and booleans 2026-08-02 19:22:59 -04:00
fe89d89540 docs: record live diagnostics and angle properties 2026-08-02 19:07:04 -04:00
de533d23bc feat: expose live runtime diagnostics 2026-08-02 19:05:31 -04:00
a133970f20 feat: integrate revolution into facade recompute 2026-08-02 18:57:19 -04:00
d7294dfcac docs: record OCCT feature integration baseline 2026-08-02 18:41:52 -04:00
e60bd614f4 docs: update compatibility capabilities 2026-08-02 18:38:46 -04:00
66c11f6890 P3/P4: execute OCCT features and export shapes 2026-08-02 18:35:04 -04:00
709cfea1eb P2/P5: coordinate tabs and render feature preview 2026-08-02 18:09:03 -04:00
cb6877be36 DAG: execute recompute levels concurrently 2026-08-02 17:52:26 -04:00
0c8efc8b69 TSN: report deleted subshape matches 2026-08-02 17:45:38 -04:00
160f00aec7 P3: expose face edge vertex topology through geometry facade 2026-08-02 17:44:42 -04:00
ed5b1f3b67 DAG: expose deterministic recompute levels 2026-08-02 17:42:10 -04:00
a4b9d04ff4 EXU: add dimensional powers and area volume units 2026-08-02 17:39:28 -04:00
171fd670af P4: extend sketch constraints and expression functions 2026-08-02 17:35:56 -04:00
9c76f33f3d P7/P8: add topology proxies and recovery reports 2026-08-02 17:24:50 -04:00
4cc349a589 P7/P4: harden recompute and FCStd boundaries 2026-08-02 14:33:41 -04:00
022a5dde2f P6: add Bitbybit STEP and STL export boundary 2026-08-02 10:41:24 -04:00
64b7369918 P5: expose Sketcher solve command and OCCT dress-up features 2026-08-02 10:29:30 -04:00
6a1bd18384 P5: add facade sketch model solver and persistence 2026-08-02 10:10:22 -04:00
6a0bd534ea P4: add expressions dependency recompute and topology signatures 2026-08-02 09:40:26 -04:00
1350 changed files with 733392 additions and 375 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
working_Web_FreeCAD_Bitbybit.zip filter=lfs diff=lfs merge=lfs -text

82
.github/workflows/real-verification.yml vendored Normal file
View File

@@ -0,0 +1,82 @@
name: real-verification
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
# These jobs deliberately use the CAD self-hosted runner. The runner image must
# contain Chrome, CMake/Ninja, Emscripten, and the pinned CAMotics/OpenCAMLib/
# LinuxCNC worktrees described in docs/ci-real-verification.zh-CN.md.
jobs:
chrome:
runs-on: [self-hosted, linux, cad]
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.23.2
cache: npm
- run: ./npmw ci --ignore-scripts
- name: Run real Chrome harnesses
run: ./npmw run ci:real:chrome
env:
CHROME_BIN: ${{ vars.CHROME_BIN }}
- name: Check generated Chrome reports
run: ./npmw run ci:check:chrome
env:
CHROME_BIN: ${{ vars.CHROME_BIN }}
- name: Run Firefox and WebKit matrix
run: ./npmw run test:browser-matrix
env:
FIREFOX_BIN: ${{ vars.FIREFOX_BIN }}
WEBKIT_BIN: ${{ vars.WEBKIT_BIN }}
- name: Check Firefox and WebKit reports
run: ./npmw run check:browser-matrix
- name: Upload Chrome evidence
if: always()
uses: actions/upload-artifact@v4
with:
name: chrome-real-verification-${{ github.run_id }}
if-no-files-found: warn
path: |
.cache/ci/real-verification*.json
config/chrome-*-verification.json
config/browser-matrix-verification.json
fixtures/chrome-app-e2e/*.png
freecad-oracle:
runs-on: [self-hosted, linux, cad]
timeout-minutes: 180
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.23.2
cache: npm
- run: ./npmw ci --ignore-scripts
- run: ./npmw run ci:real -- --lane=oracle
env:
FREECAD_ORACLE_PROFILE: desktop
wasm:
runs-on: [self-hosted, linux, cad]
timeout-minutes: 120
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.23.2
cache: npm
- run: ./npmw ci --ignore-scripts
- run: ./npmw run ci:real -- --lane=wasm
env:
CHROME_BIN: ${{ vars.CHROME_BIN }}
EMSDK: ${{ vars.EMSDK }}
OCCT_SOURCE_DIR: ${{ vars.OCCT_SOURCE_DIR }}
CI_REAL_REBUILD_WASM: '1'

14
.gitignore vendored
View File

@@ -2,6 +2,20 @@ node_modules/
dist/ dist/
.vite/ .vite/
.runtime/ .runtime/
.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/
# Ephemeral output from real CI lanes.
.cache/ci/
native/occt-history/dist/
public/native/occt-history/
__pycache__/
*.log *.log
.env .env
.env.* .env.*

View File

@@ -2,15 +2,25 @@
FreeCAD-aligned web CAD frontend baseline for the BitBybit runtime boundary. FreeCAD-aligned web CAD frontend baseline for the BitBybit runtime boundary.
本机断网开发、资源同步、校验和恢复入口见 [离线资源库说明](docs/offline-development.zh-CN.md)。
## Current scope ## Current scope
- React + Vite frontend shell - React + Vite frontend shell
- Three.js `0.185.1` is pinned for the internal Viewport Adapter; React does not import Three.js directly. - Three.js `0.185.1` is pinned for the internal Viewport Adapter; React does not import Three.js directly.
- FreeCAD-style application menus, workbench navigation, Combo View, Task Dock, viewport and Report view - FreeCAD-style application menus, workbench navigation, Combo View, Task Dock, viewport and Report view
- Machine-readable workbench and command manifest in `src/freecadManifest.ts` - Machine-readable workbench and command manifest in `src/freecadManifest.ts`
- Current status, source-of-truth order and focused execution queue in [docs/current-work.zh-CN.md](docs/current-work.zh-CN.md)
- Re-audited completion status, critical path and smallest executable milestones in [docs/freecad-web-execution-master-plan.zh-CN.md](docs/freecad-web-execution-master-plan.zh-CN.md)
- Chinese implementation plan in `docs/web-cad-implementation-plan.zh-CN.md` - Chinese implementation plan in `docs/web-cad-implementation-plan.zh-CN.md`
- Full 34-module FreeCAD 1.1.1 scope, Bitbybit/OCCT source-build track and executable task ledger in [docs/freecad-complete-parity-backlog.zh-CN.md](docs/freecad-complete-parity-backlog.zh-CN.md)
- 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 compatible browser baseline now spans all 34 locked FreeCAD modules, but it is not a system-level exact implementation: the release matrix currently records `0 exact`, `26 compatible`, `5 proxy` and `3 development` modules. The active milestone is exact-parity promotion for the FreeCAD 1.1.1 oracle, topology naming, document/property semantics, core modeling and FCStd round-trip. See the [current work focus](docs/current-work.zh-CN.md); completed P01-P10 compatibility programs must not be interpreted as an exact FreeCAD claim.
## Development ## Development
@@ -19,7 +29,7 @@ The current milestone is a facade-first integration slice. Part Design document
./npmw run dev ./npmw run dev
``` ```
The repository uses a project-local, checksum-verified Node.js `22.23.2` runtime and npm `10.9.8`. The wrapper downloads it to the ignored `.runtime/` directory and never changes `/usr/bin/node`; this removes the engine warning caused by running npm with an older system Node. `./nodew` runs the same pinned Node directly. See [docs/project-runtime.zh-CN.md](docs/project-runtime.zh-CN.md) for recovery and CI rules. The repository uses a project-local, checksum-verified Node.js `22.23.2` runtime and npm `10.9.8`. The wrapper restores it from the local resource library first, or downloads it when online, into the ignored `.runtime/` directory and never changes `/usr/bin/node`; this removes the engine warning caused by running npm with an older system Node. `./nodew` runs the same pinned Node directly. See [docs/project-runtime.zh-CN.md](docs/project-runtime.zh-CN.md) for recovery and CI rules.
Build verification: Build verification:
@@ -27,4 +37,8 @@ Build verification:
./npmw run verify ./npmw run verify
``` ```
The locked FreeCAD `1.1.1` source build and desktop-oracle replay workflow is documented in [docs/freecad-baseline-and-golden.zh-CN.md](docs/freecad-baseline-and-golden.zh-CN.md). All project Node commands in that workflow use `./npmw`.
Geometry work follows a Bitbybit-first policy. Existing Bitbybit OCCT Worker, modeling, IO, triangulation and cache APIs are reused first; missing capabilities may be built from locked Bitbybit/OCCT sources as an Emscripten WASM provider behind the Facade. Source commits, patches, ABI, SBOM, hashes and FreeCAD differential fixtures are required before a capability can be promoted.
The SQLite OPFS worker requires cross-origin isolation headers. Vite dev and preview apply `Cross-Origin-Opener-Policy: same-origin` and `Cross-Origin-Embedder-Policy: require-corp`; deployments must preserve them. The SQLite OPFS worker requires cross-origin isolation headers. Vite dev and preview apply `Cross-Origin-Opener-Policy: same-origin` and `Cross-Origin-Embedder-Policy: require-corp`; deployments must preserve them.

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyAcceleration harness</title></head>
<body><main id="root">Initializing PropertyAcceleration harness.</main><script type="module" src="/src/chromePropertyAccelerationHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyArea harness</title></head>
<body><main id="root">Initializing PropertyArea harness.</main><script type="module" src="/src/chromePropertyAreaHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyBoolList harness</title></head>
<body><main id="root">Initializing PropertyBoolList harness.</main><script type="module" src="/src/chromePropertyBoolListHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyColor harness</title></head>
<body><main id="root">Initializing PropertyColor harness.</main><script type="module" src="/src/chromePropertyColorHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyColorList harness</title></head>
<body><main id="root">Initializing PropertyColorList harness.</main><script type="module" src="/src/chromePropertyColorListHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyDirection harness</title></head>
<body><main id="root">Initializing PropertyDirection harness.</main><script type="module" src="/src/chromePropertyDirectionHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyFile harness</title></head>
<body><main id="root">Initializing PropertyFile harness.</main><script type="module" src="/src/chromePropertyFileHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyFileIncluded harness</title></head>
<body><main id="root">Initializing PropertyFileIncluded harness.</main><script type="module" src="/src/chromePropertyFileIncludedHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyFont harness</title></head>
<body><main id="root">Initializing PropertyFont harness.</main><script type="module" src="/src/chromePropertyFontHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyForce harness</title></head>
<body><main id="root">Initializing PropertyForce harness.</main><script type="module" src="/src/chromePropertyForceHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,6 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyHeatFlux harness</title></head>
<body><main id="root">Initializing PropertyHeatFlux harness.</main><script type="module" src="/src/chromePropertyHeatFluxHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,6 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyIntegerSet harness</title></head>
<body><main id="root">Initializing PropertyIntegerSet harness.</main><script type="module" src="/src/chromePropertyIntegerSetHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyLinkListHidden harness</title></head>
<body><main id="root">Initializing PropertyLinkListHidden harness.</main><script type="module" src="/src/chromePropertyLinkListHiddenHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1,5 @@
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>Chrome PropertyLinkSubHidden harness</title></head>
<body><main id="root">Initializing PropertyLinkSubHidden harness.</main><script type="module" src="/src/chromePropertyLinkSubHiddenHarness.tsx"></script></body>
</html>

View File

@@ -0,0 +1 @@
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><title>Chrome PropertyLinkSubListGlobal harness</title></head><body><main id="root">Initializing PropertyLinkSubListGlobal harness.</main><script type="module" src="/src/chromePropertyLinkSubListGlobalHarness.tsx"></script></body></html>

View File

@@ -0,0 +1 @@
using emscripten : 3.1.69 : ./boost-emscripten-compiler-wrapper.sh ;

View File

@@ -0,0 +1,45 @@
{
"schemaVersion": 1,
"generatedAt": "2026-08-14T14:24:04.328Z",
"status": "pass",
"browsers": [
{
"engine": "firefox",
"status": "pass",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0",
"crossOriginIsolated": true,
"sharedArrayBuffer": true,
"opfs": true,
"persistence": "opfs",
"shell": true,
"workspace": true,
"workbench": "Part Design",
"canvas": {
"width": 732,
"height": 579,
"geometrySource": "bitbybit-occt"
},
"screenshotBytes": 131545,
"pageErrors": []
},
{
"engine": "webkit",
"status": "pass",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15",
"crossOriginIsolated": true,
"sharedArrayBuffer": true,
"opfs": false,
"persistence": "memory-fallback",
"shell": true,
"workspace": true,
"workbench": "Part Design",
"canvas": {
"width": 732,
"height": 579,
"geometrySource": "bitbybit-occt"
},
"screenshotBytes": 121616,
"pageErrors": []
}
]
}

View 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"
}
}

View 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"
]
}
}

View 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
}
}

View 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"
}
}

View File

@@ -0,0 +1,441 @@
{
"schemaVersion": 1,
"generatedAt": "2026-08-14T14:26:21.996Z",
"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": 109165,
"sha256": "f5030d4e3ae88107e06a5e8147a196b5f0eb7748c7c306b4118f97a98dd9bee4"
},
"cam": {
"path": "fixtures/chrome-app-e2e/cam-workbench.png",
"byteLength": 118390,
"sha256": "5349262af666380bbc96f2932eed2613547ae60870a1d8b9fe44d8ed4831b4ab"
},
"mobile": {
"path": "fixtures/chrome-app-e2e/mobile-start.png",
"byteLength": 130361,
"sha256": "c65c8644728cb488b22d683a3b68b770dccdfe2107dc9ab5413bfdda72ff9ab1"
}
},
"pageErrors": []
}

View 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": 11.384999990463257,
"budgetMs": 1000
},
"fcstd": {
"bytes": 727,
"objects": 4,
"links": 1,
"reopenedObjects": 4,
"roundTrip": true,
"released": true
},
"persistence": {
"mode": "sqlite-opfs",
"byteLength": 980,
"hash": "5482e205a876ef4516106d3819ee59a6873ada3f6e48d85df78ed123c073fd3b",
"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"
}
}

View 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": "ec7b7361b0ea5caad7776e5cf851909745150e0de004840187ce000d268794e0",
"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"
}
}

View File

@@ -0,0 +1,136 @@
{
"schemaVersion": 1,
"status": "pass",
"stages": [
"CAD",
"OCL",
"CAMotics",
"GCODE",
"LinuxCNC WASM"
],
"openCamLib": {
"backend": "upstream-opencamlib-wasm",
"sourceRevision": "95b036fe28ce6d77c97b98e5fbc337904ae49560",
"artifactSha256": "30ca7dd307a131f9df66288d530c3fbacf155f375f83a2d733c5c00a85a712e0",
"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",
"machineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
"dryRunMachineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
"lines": 65,
"blocks": 138,
"trajectorySegments": 48
},
"runtime": {
"server": "managed-vite-preview",
"worktreeRevision": "58f50e6d66287bc31e6d906e5c33658a348658e4",
"machineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
"artifacts": [
{
"role": "entry-html",
"path": "index.html",
"runtimeLoaded": true,
"bytes": 61728,
"sha256": "7087d2ccfb9eb2b4967fa75a7d4069cc97ab62a58d4af4f18a7a449ddc1aa536"
},
{
"role": "case-registry",
"path": "linuxcnc/cases.json",
"runtimeLoaded": true,
"bytes": 2108501,
"sha256": "b9c614d3f139de57277d02944a3cb8d0e54f68da054021ac375be9ffbb4f95db"
},
{
"role": "machine-config",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"runtimeLoaded": true,
"bytes": 7179,
"sha256": "43c26a58030b6ec4a4319cde23e847cff0134e9f2777eef30848aa477bb87d38"
},
{
"role": "application",
"path": "assets/simulator-D-5Qaz4x.js",
"runtimeLoaded": true,
"bytes": 852452,
"sha256": "a429e0b7297fb169255a30acc48274ed17bbeb168fc1d90a13cf4b4e2c6db42f"
},
{
"role": "controller-worker",
"path": "assets/controller.worker-C1K9_tWf.js",
"runtimeLoaded": true,
"bytes": 365084,
"sha256": "7ac06534c9f270411f02efc56b31b9b862855f90ed31470f2dd22c66d631368f"
},
{
"role": "wasm-loader",
"path": "assets/linuxcnc-core-DHKZgRAr.js",
"runtimeLoaded": false,
"bytes": 320852,
"sha256": "fa73fa21a449efc18bbbf5e33e5ce4035bd8d8699f1cb7c72b88e280d362813a"
},
{
"role": "wasm-core",
"path": "assets/linuxcnc-core-XJNGI6z7.wasm",
"runtimeLoaded": true,
"bytes": 53030753,
"sha256": "5c1bb5f7648b7ced4ede192485d37aeee1d9e0dec4a86f2c235aeb3d8c3b647e"
}
],
"loadedArtifacts": [
{
"role": "entry-html",
"path": "index.html",
"status": 200
},
{
"role": "case-registry",
"path": "linuxcnc/cases.json",
"status": 200
},
{
"role": "machine-config",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"status": 200
},
{
"role": "application",
"path": "assets/simulator-D-5Qaz4x.js",
"status": 200
},
{
"role": "controller-worker",
"path": "assets/controller.worker-C1K9_tWf.js",
"status": 200
},
{
"role": "wasm-core",
"path": "assets/linuxcnc-core-XJNGI6z7.wasm",
"status": 200
}
]
},
"browserId": "chrome",
"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"
}
}

View File

@@ -0,0 +1,134 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"crossOriginIsolated": true,
"capabilities": {
"openCamLib": {
"status": "available",
"backend": "upstream-opencamlib-wasm",
"sourceRevision": "95b036fe28ce6d77c97b98e5fbc337904ae49560",
"artifactSha256": "30ca7dd307a131f9df66288d530c3fbacf155f375f83a2d733c5c00a85a712e0",
"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": "30ca7dd307a131f9df66288d530c3fbacf155f375f83a2d733c5c00a85a712e0",
"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"
}
}

View 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-msthz6ws-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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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
}

File diff suppressed because it is too large Load Diff

View 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"
}
}

View 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"
}
}

View 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"
}
}

View File

@@ -0,0 +1,692 @@
{
"schemaVersion": 1,
"status": "pass",
"implementation": "freecad-linked",
"productionWorkerLinked": true,
"occtVersion": "8.0.0",
"freecadVersion": "1.1.1",
"sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
"callbacks": [
"freecadNamingAbiVersion",
"freecadNamingCapabilitiesJson",
"freecadNamingEvidenceJson"
],
"operations": [
"fuse",
"cut",
"common",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"cases": [
{
"operation": "fuse",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 52,
"externallySourcedRecords": 52,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 7,
"ambiguousResults": 16,
"provenanceResults": 23,
"mappedNames": 7,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "cut",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 42,
"externallySourcedRecords": 42,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 3,
"ambiguousResults": 9,
"provenanceResults": 12,
"mappedNames": 3,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "common",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 123,
"externallySourcedRecords": 123,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 5,
"ambiguousResults": 4,
"provenanceResults": 9,
"mappedNames": 5,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "rotate",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 78,
"externallySourcedRecords": 78,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 6,
"ambiguousResults": 20,
"provenanceResults": 26,
"mappedNames": 6,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "pad",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 25,
"externallySourcedRecords": 25,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 9,
"ambiguousResults": 8,
"provenanceResults": 17,
"mappedNames": 9,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "pocket",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 42,
"externallySourcedRecords": 42,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 3,
"ambiguousResults": 9,
"provenanceResults": 12,
"mappedNames": 3,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "loft",
"status": "pass",
"namingStatus": "ambiguous",
"callbackExecuted": false,
"historyRecords": 24,
"externallySourcedRecords": 24,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 0,
"ambiguousResults": 7,
"provenanceResults": 7,
"mappedNames": 0,
"stringHasherEntries": 0,
"elementMaps": 0
},
{
"operation": "pipe",
"status": "pass",
"namingStatus": "ambiguous",
"callbackExecuted": false,
"historyRecords": 28,
"externallySourcedRecords": 28,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 4,
"modifiedRelationPrecedence": 0,
"selectedRecords": 0,
"ambiguousResults": 10,
"provenanceResults": 10,
"mappedNames": 0,
"stringHasherEntries": 0,
"elementMaps": 0
},
{
"operation": "revolution",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 23,
"externallySourcedRecords": 23,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 4,
"ambiguousResults": 8,
"provenanceResults": 12,
"mappedNames": 4,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "groove",
"status": "pass",
"namingStatus": "native-evidence",
"callbackExecuted": true,
"historyRecords": 2,
"externallySourcedRecords": 2,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 1,
"ambiguousResults": 0,
"provenanceResults": 1,
"mappedNames": 1,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "fillet",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 150,
"externallySourcedRecords": 150,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 6,
"ambiguousResults": 20,
"provenanceResults": 26,
"mappedNames": 6,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "chamfer",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 150,
"externallySourcedRecords": 150,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 6,
"ambiguousResults": 20,
"provenanceResults": 26,
"mappedNames": 6,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "hole",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 30,
"externallySourcedRecords": 15,
"internalRecordsExcluded": 15,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 3,
"ambiguousResults": 3,
"provenanceResults": 6,
"mappedNames": 3,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "draft",
"status": "pass",
"namingStatus": "native-evidence",
"callbackExecuted": true,
"historyRecords": 5,
"externallySourcedRecords": 5,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 5,
"ambiguousResults": 0,
"provenanceResults": 5,
"mappedNames": 5,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "thickness",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 38,
"externallySourcedRecords": 38,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 6,
"ambiguousResults": 8,
"provenanceResults": 14,
"mappedNames": 6,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "linear-pattern",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 90,
"externallySourcedRecords": 45,
"internalRecordsExcluded": 45,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 4,
"ambiguousResults": 12,
"provenanceResults": 16,
"mappedNames": 4,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "polar-pattern",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 68,
"externallySourcedRecords": 34,
"internalRecordsExcluded": 34,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 10,
"ambiguousResults": 12,
"provenanceResults": 22,
"mappedNames": 10,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "mirrored",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 66,
"externallySourcedRecords": 33,
"internalRecordsExcluded": 33,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 0,
"selectedRecords": 8,
"ambiguousResults": 12,
"provenanceResults": 20,
"mappedNames": 8,
"stringHasherEntries": 0,
"elementMaps": 1
},
{
"operation": "multi-transform",
"status": "pass",
"namingStatus": "mixed-native-and-ambiguous",
"callbackExecuted": true,
"historyRecords": 311,
"externallySourcedRecords": 311,
"internalRecordsExcluded": 0,
"duplicateRecordsCollapsed": 0,
"modifiedRelationPrecedence": 8,
"selectedRecords": 22,
"ambiguousResults": 68,
"provenanceResults": 90,
"mappedNames": 22,
"stringHasherEntries": 0,
"elementMaps": 1
}
],
"callbackExecutedCases": 17,
"ambiguityOnlyCases": 2,
"isomorphicCorpus": {
"operation": "common",
"fixture": "coincident-equal-boxes",
"status": "pass",
"historyRecords": 156,
"uniqueResults": 0,
"ambiguousResults": 26,
"candidateSets": [
{
"result": "vertex:0",
"candidates": [
"production-symmetric-object:Vertex17:",
"production-symmetric-object:Vertex19:",
"production-symmetric-object:Vertex1:",
"production-symmetric-object:Vertex33:",
"production-symmetric-object:Vertex35:",
"production-symmetric-object:Vertex3:",
"production-symmetric-tool:Vertex17:",
"production-symmetric-tool:Vertex19:",
"production-symmetric-tool:Vertex1:",
"production-symmetric-tool:Vertex33:",
"production-symmetric-tool:Vertex35:",
"production-symmetric-tool:Vertex3:"
]
},
{
"result": "vertex:1",
"candidates": [
"production-symmetric-object:Vertex20:",
"production-symmetric-object:Vertex21:",
"production-symmetric-object:Vertex2:",
"production-symmetric-object:Vertex41:",
"production-symmetric-object:Vertex43:",
"production-symmetric-object:Vertex7:",
"production-symmetric-tool:Vertex20:",
"production-symmetric-tool:Vertex21:",
"production-symmetric-tool:Vertex2:",
"production-symmetric-tool:Vertex41:",
"production-symmetric-tool:Vertex43:",
"production-symmetric-tool:Vertex7:"
]
},
{
"result": "vertex:3",
"candidates": [
"production-symmetric-object:Vertex25:",
"production-symmetric-object:Vertex27:",
"production-symmetric-object:Vertex34:",
"production-symmetric-object:Vertex39:",
"production-symmetric-object:Vertex4:",
"production-symmetric-object:Vertex5:",
"production-symmetric-tool:Vertex25:",
"production-symmetric-tool:Vertex27:",
"production-symmetric-tool:Vertex34:",
"production-symmetric-tool:Vertex39:",
"production-symmetric-tool:Vertex4:",
"production-symmetric-tool:Vertex5:"
]
},
{
"result": "vertex:5",
"candidates": [
"production-symmetric-object:Vertex28:",
"production-symmetric-object:Vertex29:",
"production-symmetric-object:Vertex42:",
"production-symmetric-object:Vertex47:",
"production-symmetric-object:Vertex6:",
"production-symmetric-object:Vertex8:",
"production-symmetric-tool:Vertex28:",
"production-symmetric-tool:Vertex29:",
"production-symmetric-tool:Vertex42:",
"production-symmetric-tool:Vertex47:",
"production-symmetric-tool:Vertex6:",
"production-symmetric-tool:Vertex8:"
]
},
{
"result": "vertex:8",
"candidates": [
"production-symmetric-object:Vertex11:",
"production-symmetric-object:Vertex18:",
"production-symmetric-object:Vertex23:",
"production-symmetric-object:Vertex36:",
"production-symmetric-object:Vertex37:",
"production-symmetric-object:Vertex9:",
"production-symmetric-tool:Vertex11:",
"production-symmetric-tool:Vertex18:",
"production-symmetric-tool:Vertex23:",
"production-symmetric-tool:Vertex36:",
"production-symmetric-tool:Vertex37:",
"production-symmetric-tool:Vertex9:"
]
},
{
"result": "vertex:9",
"candidates": [
"production-symmetric-object:Vertex10:",
"production-symmetric-object:Vertex15:",
"production-symmetric-object:Vertex22:",
"production-symmetric-object:Vertex24:",
"production-symmetric-object:Vertex44:",
"production-symmetric-object:Vertex45:",
"production-symmetric-tool:Vertex10:",
"production-symmetric-tool:Vertex15:",
"production-symmetric-tool:Vertex22:",
"production-symmetric-tool:Vertex24:",
"production-symmetric-tool:Vertex44:",
"production-symmetric-tool:Vertex45:"
]
},
{
"result": "vertex:11",
"candidates": [
"production-symmetric-object:Vertex12:",
"production-symmetric-object:Vertex13:",
"production-symmetric-object:Vertex26:",
"production-symmetric-object:Vertex31:",
"production-symmetric-object:Vertex38:",
"production-symmetric-object:Vertex40:",
"production-symmetric-tool:Vertex12:",
"production-symmetric-tool:Vertex13:",
"production-symmetric-tool:Vertex26:",
"production-symmetric-tool:Vertex31:",
"production-symmetric-tool:Vertex38:",
"production-symmetric-tool:Vertex40:"
]
},
{
"result": "vertex:13",
"candidates": [
"production-symmetric-object:Vertex14:",
"production-symmetric-object:Vertex16:",
"production-symmetric-object:Vertex30:",
"production-symmetric-object:Vertex32:",
"production-symmetric-object:Vertex46:",
"production-symmetric-object:Vertex48:",
"production-symmetric-tool:Vertex14:",
"production-symmetric-tool:Vertex16:",
"production-symmetric-tool:Vertex30:",
"production-symmetric-tool:Vertex32:",
"production-symmetric-tool:Vertex46:",
"production-symmetric-tool:Vertex48:"
]
},
{
"result": "edge:0",
"candidates": [
"production-symmetric-object:Edge10:",
"production-symmetric-object:Edge1:",
"production-symmetric-tool:Edge10:",
"production-symmetric-tool:Edge1:"
]
},
{
"result": "edge:1",
"candidates": [
"production-symmetric-object:Edge17:",
"production-symmetric-object:Edge2:",
"production-symmetric-tool:Edge17:",
"production-symmetric-tool:Edge2:"
]
},
{
"result": "edge:2",
"candidates": [
"production-symmetric-object:Edge14:",
"production-symmetric-object:Edge3:",
"production-symmetric-tool:Edge14:",
"production-symmetric-tool:Edge3:"
]
},
{
"result": "edge:3",
"candidates": [
"production-symmetric-object:Edge21:",
"production-symmetric-object:Edge4:",
"production-symmetric-tool:Edge21:",
"production-symmetric-tool:Edge4:"
]
},
{
"result": "edge:4",
"candidates": [
"production-symmetric-object:Edge12:",
"production-symmetric-object:Edge5:",
"production-symmetric-tool:Edge12:",
"production-symmetric-tool:Edge5:"
]
},
{
"result": "edge:5",
"candidates": [
"production-symmetric-object:Edge19:",
"production-symmetric-object:Edge6:",
"production-symmetric-tool:Edge19:",
"production-symmetric-tool:Edge6:"
]
},
{
"result": "edge:6",
"candidates": [
"production-symmetric-object:Edge16:",
"production-symmetric-object:Edge7:",
"production-symmetric-tool:Edge16:",
"production-symmetric-tool:Edge7:"
]
},
{
"result": "edge:7",
"candidates": [
"production-symmetric-object:Edge23:",
"production-symmetric-object:Edge8:",
"production-symmetric-tool:Edge23:",
"production-symmetric-tool:Edge8:"
]
},
{
"result": "edge:8",
"candidates": [
"production-symmetric-object:Edge18:",
"production-symmetric-object:Edge9:",
"production-symmetric-tool:Edge18:",
"production-symmetric-tool:Edge9:"
]
},
{
"result": "edge:10",
"candidates": [
"production-symmetric-object:Edge11:",
"production-symmetric-object:Edge22:",
"production-symmetric-tool:Edge11:",
"production-symmetric-tool:Edge22:"
]
},
{
"result": "edge:12",
"candidates": [
"production-symmetric-object:Edge13:",
"production-symmetric-object:Edge20:",
"production-symmetric-tool:Edge13:",
"production-symmetric-tool:Edge20:"
]
},
{
"result": "edge:14",
"candidates": [
"production-symmetric-object:Edge15:",
"production-symmetric-object:Edge24:",
"production-symmetric-tool:Edge15:",
"production-symmetric-tool:Edge24:"
]
},
{
"result": "face:0",
"candidates": [
"production-symmetric-object:Face1:",
"production-symmetric-tool:Face1:"
]
},
{
"result": "face:1",
"candidates": [
"production-symmetric-object:Face2:",
"production-symmetric-tool:Face2:"
]
},
{
"result": "face:2",
"candidates": [
"production-symmetric-object:Face3:",
"production-symmetric-tool:Face3:"
]
},
{
"result": "face:3",
"candidates": [
"production-symmetric-object:Face4:",
"production-symmetric-tool:Face4:"
]
},
{
"result": "face:4",
"candidates": [
"production-symmetric-object:Face5:",
"production-symmetric-tool:Face5:"
]
},
{
"result": "face:5",
"candidates": [
"production-symmetric-object:Face6:",
"production-symmetric-tool:Face6:"
]
}
],
"arrayOrderFallbackUsed": false
},
"chainedStage": {
"mappedNames": 1,
"stringHasherEntries": 3
},
"invalidHistoryRejected": true,
"systemExact": false,
"runtime": "chrome",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"artifacts": [
{
"name": "bitbybit-occt-history.js",
"bytes": 359739,
"sha256": "6a90575b81ceab5c00a2440e45e010bd62d3455b012541b4449f7b0e88a644c0"
},
{
"name": "bitbybit-occt-history.wasm",
"bytes": 37482285,
"sha256": "c03cf553e71bf4e74667c5aada921769bb241d6021f28a5b166b49c738965515"
},
{
"name": "bitbybit-occt-history.data",
"bytes": 3322679,
"sha256": "ada204b276208027a5cb1cc1288d4aab95b8ee1f28e3a43a00cd062720b87e99"
}
],
"harness": {
"path": "scripts/freecad-naming-production-matrix.mjs",
"bytes": 19819,
"sha256": "01532d8d3197aacddc0c18d4d8e41b4aee3b88bb4eb6636d8d0457a194651125"
},
"generatedAt": "2026-08-14T05:27:30.061Z"
}

View 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": []
}

View 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"
}
}

View 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"
}
}

View File

@@ -0,0 +1,72 @@
{
"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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}
}

View File

@@ -0,0 +1,72 @@
{
"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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}
}

View File

@@ -0,0 +1,72 @@
{
"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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}
}

View 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
}
}

View File

@@ -0,0 +1,57 @@
{
"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": 87,
"relations": {
"deleted": 69,
"modified": 18
}
},
"afterRelease": {
"shapeCount": 0,
"kernelReferenceCount": 0
}
}

View File

@@ -0,0 +1,102 @@
{
"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",
"rotate",
"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
}
}

View 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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}
}

View File

@@ -0,0 +1,75 @@
{
"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": 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
}
}

View 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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}
}

View File

@@ -0,0 +1,120 @@
{
"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": 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
}
}

View File

@@ -0,0 +1,74 @@
{
"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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}

View File

@@ -0,0 +1,75 @@
{
"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": 18,
"relations": {
"modified": 1,
"generated": 17,
"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
}
}

View File

@@ -0,0 +1,148 @@
{
"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": 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
}
}

View 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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}
}

View 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
}
}

View File

@@ -0,0 +1,75 @@
{
"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",
"rotate",
"pad",
"pocket",
"loft",
"pipe",
"revolution",
"groove",
"fillet",
"chamfer",
"hole",
"draft",
"thickness",
"linear-pattern",
"polar-pattern",
"mirrored",
"multi-transform"
],
"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
}
}

View 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"
}
}

View File

@@ -0,0 +1,39 @@
{
"schemaVersion": 1,
"browserId": "chrome",
"crossOriginIsolated": true,
"status": "pass",
"migration": {
"sourceSchemaVersion": 1,
"migratedSchemaVersion": 7,
"migratedDocumentVersion": 3,
"migratedLabel": "Legacy OPFS project",
"migratedObjectCount": 1,
"migratedNativeObjectTag": 1,
"recomputeDefaulted": true,
"reopenedSchemaVersion": 7,
"reopenedVersion": 4,
"reopenedNativeObjectTag": 17,
"checkpointNativeObjectTag": 17,
"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-976dea78-76e4-4a2b-afce-c0a2da583550.sqlite3",
"removedFiles": [
"bitbybit-rel02-976dea78-76e4-4a2b-afce-c0a2da583550.sqlite3"
]
}
}

View 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"
}
}

View 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
}
}

View 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"
}
}

File diff suppressed because it is too large Load Diff

View 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"
}
}

View 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"
}
}

View 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
}
}

View 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
}
}
}

View 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"
}
}

View 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"
}
}

View 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
}
}

View File

@@ -0,0 +1,64 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "number",
"label": "Acceleration",
"unit": "mm/s^2",
"beforeValue": 1000,
"afterValue": 500,
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": 500,
"loadedType": "App::PropertyAcceleration",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "Float",
"fcstdValue": "500"
},
"resource": {
"byteLength": 36,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:43769/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,71 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"areaReadOnly": true,
"beforeText": "20 mm^2",
"afterText": "0 mm^2",
"beforeArea": 20,
"afterArea": 0,
"beforeElementCount": 2,
"afterElementCount": 0,
"triggerLabel": "Clear subshape links",
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedArea": 0,
"loadedAreaType": "App::PropertyArea",
"loadedElementCount": 0,
"loadedElementsType": "App::PropertyLinkSubList",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdAreaElement": "Float",
"fcstdAreaValue": "0",
"fcstdElementsElement": "LinkSubList",
"fcstdElementCount": 0
},
"resource": {
"byteLength": 28,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:38423/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,77 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "text",
"label": "Bool list",
"beforeText": "false",
"afterText": "true, false, true, false",
"beforeValue": [
false
],
"afterValue": [
true,
false,
true,
false
],
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": [
true,
false,
true,
false
],
"loadedType": "App::PropertyBoolList",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "BoolList",
"fcstdValue": "[true,false,true,false]"
},
"resource": {
"byteLength": 32,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:38629/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,84 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"rgbInputType": "color",
"alphaInputType": "number",
"rgbLabel": "Colour RGB",
"alphaLabel": "Colour alpha",
"beforeHex": "#000000",
"afterHex": "#336699",
"beforeAlpha": "1",
"afterAlpha": 0.8,
"beforeValue": [
0,
0,
0,
1
],
"afterValue": [
0.2,
0.4,
0.6,
0.8
],
"documentVersion": 3,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": [
0.2,
0.4,
0.6,
0.8
],
"loadedType": "App::PropertyColor",
"checkpointVersion": 3,
"recoveryIntegrity": "ok",
"fcstdElement": "PropertyColor",
"fcstdValue": "862362060"
},
"resource": {
"byteLength": 29,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:36501/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,131 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"rgbInputTypes": [
"color",
"color"
],
"alphaInputTypes": [
"number",
"number"
],
"rgbLabels": [
"Colour list 1 RGB",
"Colour list 2 RGB"
],
"alphaLabels": [
"Colour list 1 alpha",
"Colour list 2 alpha"
],
"addLabel": "Add Colour list color",
"removeLabel": "Remove Colour list 3",
"beforeHex": [
"#000000"
],
"afterHex": [
"#336699",
"#112233"
],
"beforeAlpha": [
"1"
],
"afterAlpha": [
0.8,
0.4
],
"beforeValue": [
[
0,
0,
0,
1
]
],
"afterValue": [
[
0.2,
0.4,
0.6,
0.8
],
[
0.06666666666666667,
0.13333333333333333,
0.2,
0.4
]
],
"beforeItemCount": 1,
"peakItemCount": 3,
"afterItemCount": 2,
"documentVersion": 8,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": [
[
0.2,
0.4,
0.6,
0.8
],
[
0.06666666666666667,
0.13333333333333333,
0.2,
0.4
]
],
"loadedType": "App::PropertyColorList",
"checkpointVersion": 8,
"recoveryIntegrity": "ok",
"fcstdElement": "ColorList",
"fcstdValue": "[[0.2,0.4,0.6,0.8],[0.06666666666666667,0.13333333333333333,0.2,0.4]]",
"fcstdResourcePath": "ColourList",
"fcstdResourceBytes": 12
},
"resource": {
"byteLength": 33,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:40471/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,83 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputTypes": [
"number",
"number",
"number"
],
"labels": [
"Normal x",
"Normal y",
"Normal z"
],
"beforeValue": {
"x": 0,
"y": 0,
"z": 1
},
"afterValue": {
"x": 0.25,
"y": -0.5,
"z": 1.5
},
"documentVersion": 4,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": {
"x": 0.25,
"y": -0.5,
"z": 1.5
},
"loadedType": "App::PropertyDirection",
"checkpointVersion": 4,
"recoveryIntegrity": "ok",
"fcstdElement": "PropertyVector",
"fcstdValue": "{\"x\":0.25,\"y\":-0.5,\"z\":1.5}"
},
"resource": {
"byteLength": 33,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:43033/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,63 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "text",
"label": "File name",
"beforeValue": "project-files/initial.obj",
"afterValue": "project-files/chrome-updated.obj",
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": "project-files/chrome-updated.obj",
"loadedType": "App::PropertyFile",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "String",
"fcstdValue": "project-files/chrome-updated.obj"
},
"resource": {
"byteLength": 63,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:45939/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,85 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "file",
"label": "Embedded file",
"beforeName": "Empty",
"afterName": "chrome-resource.bin",
"afterValue": {
"schemaVersion": 1,
"archiveName": "chrome-resource.bin",
"resourceHash": "934b31426acd0c2b98cddae880e72404534f5656e5e82cf1ab15ad661f8f3b2b",
"byteLength": 16,
"mediaType": "application/octet-stream"
},
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"notices": [
"chrome-resource.bin embedded"
]
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": {
"schemaVersion": 1,
"archiveName": "chrome-resource.bin",
"resourceHash": "934b31426acd0c2b98cddae880e72404534f5656e5e82cf1ab15ad661f8f3b2b",
"byteLength": 16,
"mediaType": "application/octet-stream"
},
"loadedType": "App::PropertyFileIncluded",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "FileIncluded",
"fcstdResourcePath": "chrome-resource.bin",
"fcstdResourceBytes": 16,
"fcstdResourceMatches": true
},
"resource": {
"documentByteLength": 16,
"documentRoundTrip": true,
"independentByteLength": 48,
"independentRoundTrip": true,
"independentReleased": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:37353/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"put-resource",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"get-resource",
"get-resource",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,63 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "text",
"label": "Font",
"beforeValue": "osifont",
"afterValue": "Noto Sans CJK SC",
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": "Noto Sans CJK SC",
"loadedType": "App::PropertyFont",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "String",
"fcstdValue": "Noto Sans CJK SC"
},
"resource": {
"byteLength": 34,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:36431/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,64 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "number",
"label": "Force",
"unit": "mm*kg/s^2",
"beforeValue": 0,
"afterValue": 500000,
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": 500000,
"loadedType": "App::PropertyForce",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "Float",
"fcstdValue": "500000"
},
"resource": {
"byteLength": 35,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:42533/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,64 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "number",
"label": "DFlux",
"unit": "kg/s^3",
"beforeValue": 0,
"afterValue": 500,
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": 500,
"loadedType": "App::PropertyHeatFlux",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "Float",
"fcstdValue": "500"
},
"resource": {
"byteLength": 38,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:45625/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,74 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"inputType": "text",
"label": "Nodes",
"beforeText": "1, 3",
"afterText": "-1, 8",
"beforeValue": [
1,
3
],
"afterValue": [
-1,
8
],
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": [
-1,
8
],
"loadedType": "App::PropertyIntegerSet",
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "IntegerSet",
"fcstdValue": "[-1,8]"
},
"resource": {
"byteLength": 34,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:41119/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,85 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"visibleLabelInput": true,
"hiddenControlCountBefore": 0,
"hiddenControlCountAfter": 0,
"hiddenTextPresentBefore": false,
"hiddenTextPresentAfter": false,
"hiddenStatus": true,
"beforeValue": [
"ExportA",
"ExportB"
],
"afterValue": [
"ExportB",
"ExportA",
"ExportB"
],
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"dependencyCount": 0,
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": [
"ExportB",
"ExportA",
"ExportB"
],
"loadedType": "App::PropertyLinkListHidden",
"loadedDependencyCount": 0,
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "LinkList",
"fcstdValue": [
"ExportB",
"ExportA",
"ExportB"
],
"fcstdNativeStatus": 67108864
},
"resource": {
"byteLength": 44,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:37495/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,95 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"visibleLabelInput": true,
"hiddenControlCountBefore": 0,
"hiddenControlCountAfter": 0,
"hiddenTextPresentBefore": false,
"hiddenTextPresentAfter": false,
"hiddenStatus": true,
"beforeValue": {
"schemaVersion": 1,
"objectId": "ColorSourceA",
"subElements": [
"Face1",
"Face3"
]
},
"afterValue": {
"schemaVersion": 1,
"objectId": "ColorSourceB",
"subElements": [
"Face5"
]
},
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"dependencyCount": 0,
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": {
"schemaVersion": 1,
"objectId": "ColorSourceB",
"subElements": [
"Face5"
]
},
"loadedType": "App::PropertyLinkSubHidden",
"loadedDependencyCount": 0,
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "LinkSub",
"fcstdValue": {
"schemaVersion": 1,
"objectId": "ColorSourceB",
"subElements": [
"Face5"
]
},
"fcstdNativeStatus": 67108864
},
"resource": {
"byteLength": 43,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:46041/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View File

@@ -0,0 +1,120 @@
{
"schemaVersion": 1,
"status": "pass",
"browserId": "chrome",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36",
"crossOriginIsolated": true,
"ui": {
"visibleLabelInput": true,
"controlsBefore": 3,
"controlsAfter": 2,
"beforeValue": {
"schemaVersion": 1,
"entries": [
{
"objectId": "SourceBox",
"subElement": "Face1"
},
{
"objectId": "SourceBox",
"subElement": "Face2"
},
{
"objectId": "SecondBox",
"subElement": "Face1"
}
]
},
"afterValue": {
"schemaVersion": 1,
"entries": [
{
"objectId": "SecondBox",
"subElement": "Face1"
},
{
"objectId": "SourceBox",
"subElement": "Face1"
}
]
},
"documentVersion": 2,
"dirty": true,
"objectState": "touched",
"dependencyCount": 2,
"errors": []
},
"persistence": {
"mode": "sqlite-opfs",
"sqliteWasm": true,
"opfs": true,
"savedMode": "sqlite-opfs",
"loadedValue": {
"schemaVersion": 1,
"entries": [
{
"objectId": "SecondBox",
"subElement": "Face1"
},
{
"objectId": "SourceBox",
"subElement": "Face1"
}
]
},
"loadedType": "App::PropertyLinkSubListGlobal",
"loadedDependencyCount": 2,
"checkpointVersion": 2,
"recoveryIntegrity": "ok",
"fcstdElement": "LinkSubList",
"fcstdType": "App::PropertyLinkSubListGlobal",
"fcstdValue": {
"schemaVersion": 1,
"entries": [
{
"objectId": "SecondBox",
"subElement": "Face1"
},
{
"objectId": "SourceBox",
"subElement": "Face1"
}
]
},
"fcstdDecoded": true
},
"resource": {
"byteLength": 47,
"roundTrip": true,
"released": true,
"markerRemoved": true
},
"worker": {
"constructed": [
{
"name": "bitbybit-persistence",
"url": "http://127.0.0.1:36505/src/facade/persistenceWorker.ts?worker_file&type=module"
}
],
"requestTypes": [
"initialize",
"save-document",
"load-document",
"load-checkpoint",
"recovery-report",
"put-resource",
"get-resource",
"release-resource",
"get-resource",
"dispose"
],
"terminated": [
"bitbybit-persistence"
]
},
"release": {
"shapeCount": 0,
"kernelReferenceCount": 0,
"workerTerminated": true
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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
}
}

Some files were not shown because too many files have changed in this diff Show More