Compare commits

...

30 Commits

Author SHA1 Message Date
af65b69b2c Make 3D machine manager axis controls configuration driven 2026-09-30 20:30:07 +08:00
469881794c Expose LinuxCNC case selector in machine manager 2026-09-22 08:42:00 +08:00
ae525d6b93 Cover remaining five-axis case variants 2026-09-22 08:02:55 +08:00
23d07e72d1 Add LinuxCNC five-axis case catalog 2026-09-22 07:36:23 +08:00
b15af28034 Keep machine dialogs open when file picker is cancelled 2026-09-22 05:24:55 +08:00
d4d0088daf Complete machine document library and recovery workflow 2026-09-22 04:42:20 +08:00
3cb5950d1f Record deployed document library and complete model recovery verification 2026-09-21 21:19:10 +08:00
8443930edb Save named machine documents and restore editor configuration from GLB or local library 2026-09-21 21:07:01 +08:00
1eb9840941 Record deployed AC BC program compatibility regression 2026-09-21 20:03:26 +08:00
0de96bbc72 Keep G-code matched to imported AC or BC machine type 2026-09-21 19:52:31 +08:00
86cfa2b7f0 Record machine type selection and saved model cloud verification 2026-09-21 17:49:43 +08:00
338500dfc2 Select machine type in design dialog and save importable machine GLB 2026-09-21 17:41:46 +08:00
8f1a22485d Record workbench release and final AC BC verification 2026-09-21 13:34:44 +08:00
a7233bc8e4 Improve machine manager engineering workbench 2026-09-21 12:54:56 +08:00
a2c6dd1c01 Record single-DOF release and cloud validation 2026-09-21 11:32:29 +08:00
d8488641ca Configure single-DOF machine joints and drive them from WASM axes 2026-09-21 11:24:22 +08:00
989866b3ab Record deployed parent-relative joint editing verification 2026-09-21 09:39:10 +08:00
91ebd56d6d Verify isolated joint edits and parent frame inheritance 2026-09-21 09:19:45 +08:00
a472911ad1 Apply hierarchy node transforms relative to parents 2026-09-21 09:11:38 +08:00
63f726dc32 Apply GLB part translation and rotation 2026-09-21 06:47:37 +08:00
70229a8d1f Align machine manager render-state regression 2026-09-20 23:14:44 +08:00
2fd0a3d90b Display selected joint local coordinate system 2026-09-20 22:56:44 +08:00
c2892bfe36 Add hierarchy axis motion validation and model deletion 2026-09-20 21:23:14 +08:00
320a69a916 Stabilize machine manager WebGL resources 2026-09-20 20:14:27 +08:00
72b38b7d43 Add draggable GLB hierarchy tree and node origins 2026-09-20 18:53:30 +08:00
53285d04af Use camera Z-up coordinates without modifying GLB imports 2026-09-20 17:14:37 +08:00
8cafbb326b Use Z-up machine coordinates in GLB manager 2026-09-20 15:18:54 +08:00
6d04425121 Improve GLB manager lighting for metallic models 2026-09-20 14:35:34 +08:00
1076bfa5e0 Update handoff for machine manager delivery 2026-09-20 12:32:14 +08:00
8aab531b02 Add AC/BC RTCP programs and 3D machine manager 2026-09-20 12:31:12 +08:00
451 changed files with 90950 additions and 78 deletions

View File

@@ -1,10 +1,21 @@
# LinuxCNC Web/WASM
五轴 GLB / URDF 机床导入(AC / BC、底座双分支)的工作入口:
[`子项目文档、任务矩阵与模型交付`](docs/glb-machine/README.md)。
机床预览区的部件级三维机床管理器(GLB 部件、层级、原点、姿态、RTCP 标定和物理零点)入口:
[`三维机床管理器文档、任务矩阵与验收证据`](docs/glb-machine-manager/README.md)。
当前配置驱动改造的重启接续入口:[`nextTask-hardcoding.md`](nextTask-hardcoding.md)。
五轴机床 INI 参数化设计(XYZAC / XYZBC)的当前工作入口:
[`项目文档、任务矩阵与验收证据`](docs/trt-parametric/README.md)。本专项按该索引接续。
LinuxCNC 五轴/多自由度机床结构案例、运动学源码、示例 G 代码和 Web/WASM 适配状态:
[`LinuxCNC 五轴机床案例目录`](docs/linuxcnc-five-axis-case-catalog.md)。界面使用同一份
[`five-axis-machine-catalog.json`](web/workspace/five-axis-machine-catalog.json);本地案例路径可用
`node scripts/validate_five_axis_catalog.mjs` 复核。
本仓库的目标是将 LinuxCNC `2.10.0~pre0` 的仿真行为移植到浏览器。当前已完成 posemath/TP、rs274ngc interpreter 和 fixed-tick motion queue 核心切片;这仍不是 LinuxCNC 全功能完成声明。
完整仿真功能范围、任务分解和 M0-M8 里程碑见 [`完整仿真移植实施计划`](docs/linuxcnc-web-wasm-complete-simulation-plan.md);技术实施接续入口为 [`nextTask1.md`](nextTask1.md)。

View File

@@ -0,0 +1,21 @@
{
"schema": "machine-manager-browser.v1",
"report_id": "GLB-MGR-E02",
"mode": "production-preview",
"status": "verified",
"checks": [
"eight GLB parts rendered with studio PMREM lighting",
"eight-part roots have unique single DOFs; fixed base cannot move; numeric input drives only bound X",
"validated assembly exports a self-contained managed GLB",
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
"same component assembly switches to BC hierarchy and applies BC geometry",
"BC five-axis program drives managed model from authoritative WASM joints",
"production bundle exercised through AC/BC UI apply and WASM program motion"
],
"browser_errors": [],
"final": {
"program": "running",
"machine": "ON",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"
}
}

View File

@@ -0,0 +1,21 @@
{
"schema": "machine-manager-browser.v1",
"report_id": "GLB-MGR-E01",
"mode": "development-source",
"status": "verified",
"checks": [
"eight GLB parts rendered with studio PMREM lighting",
"eight-part roots have unique single DOFs; fixed base cannot move; numeric input drives only bound X",
"validated assembly exports a self-contained managed GLB",
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
"same component assembly switches to BC hierarchy and applies BC geometry",
"BC five-axis program drives managed model from authoritative WASM joints",
"AC/BC WASM joint projection subtracts physical zero, preserves userData and rejects invalid hierarchy"
],
"browser_errors": [],
"final": {
"program": "aborted",
"machine": "ON",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"
}
}

View File

@@ -0,0 +1,15 @@
{
"report_id": "GLB-MGR-E17",
"status": "verified",
"url": "http://127.0.0.1:5180/",
"checks": [
"named GLB downloads and atomic browser-library copy with time/size/checksum; editor display changes mark document dirty",
"reload and local-library open restore eight source files, exact edited hierarchy, axis/sign, visibility, origins and calibration; second save has identical metadata",
"explicit open-file entry restores document; library redownload is byte identical; delete affects only chosen saved copy",
"inconsistent editor metadata is rejected atomically without replacing the current draft",
"saved GLB loads through control-panel importer and can be sent back into editor with eight original parts",
"legacy GLB remains editable via single-assembly fallback",
"local storage failure does not prevent GLB download and is visibly reported"
],
"errors": []
}

View File

@@ -0,0 +1,15 @@
{
"report_id": "GLB-MGR-E17",
"status": "verified",
"url": "https://49.232.250.35:58015/",
"checks": [
"named GLB downloads and atomic browser-library copy with time/size/checksum; editor display changes mark document dirty",
"reload and local-library open restore eight source files, exact edited hierarchy, axis/sign, visibility, origins and calibration; second save has identical metadata",
"explicit open-file entry restores document; library redownload is byte identical; delete affects only chosen saved copy",
"inconsistent editor metadata is rejected atomically without replacing the current draft",
"saved GLB loads through control-panel importer and can be sent back into editor with eight original parts",
"legacy GLB remains editable via single-assembly fallback",
"local storage failure does not prevent GLB download and is visibly reported"
],
"errors": []
}

View File

@@ -0,0 +1 @@
{"schema":"axis-control-inventory.v1","status":"verified","documented_controls":146,"duplicate_command_entries_removed":["machine_menu","view_menu","program_pane_load","tool_probe_commands"],"contract":"linuxcnc-axis-web-control-panel-source-logic.md"}

View File

@@ -0,0 +1,20 @@
{
"report_id": "GLB-MGR-E17-CLOUD",
"status": "verified",
"checked_at": "2026-09-21T13:19:10.126525+00:00",
"url": "https://49.232.250.35:58015/",
"source_commit": "8443930edbb91f80234bb6de053b7a3cc76245ae",
"release": "/var/www/linuxcnc-wasm-58015/releases/20260921-linuxcnc-wasm-8443930",
"bundle": "assets/index-EHYipPfn.js",
"archive_sha256": "961e37e9b164ffc01831a5cba583d26767238ffe1da0edb95c00f8936bc0eadc",
"checks": [
"named GLB downloads and atomic browser-library copy with time/size/checksum; editor display changes mark document dirty",
"reload and local-library open restore eight source files, exact edited hierarchy, axis/sign, visibility, origins and calibration; second save has identical metadata",
"explicit open-file entry restores document; library redownload is byte identical; delete affects only chosen saved copy",
"inconsistent editor metadata is rejected atomically without replacing the current draft",
"saved GLB loads through control-panel importer and can be sent back into editor with eight original parts",
"legacy GLB remains editable via single-assembly fallback",
"local storage failure does not prevent GLB download and is visibly reported"
],
"browser_errors": []
}

View File

@@ -0,0 +1,21 @@
{
"schema": "machine-manager-browser.v1",
"report_id": "GLB-MGR-E02",
"mode": "production-preview",
"status": "verified",
"checks": [
"eight GLB parts rendered with studio PMREM lighting",
"eight-part roots have unique single DOFs; fixed base cannot move; numeric input drives only bound X",
"validated assembly exports a self-contained managed GLB",
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
"same component assembly switches to BC hierarchy and applies BC geometry",
"BC five-axis program drives managed model from authoritative WASM joints",
"production bundle exercised through AC/BC UI apply and WASM program motion"
],
"browser_errors": [],
"final": {
"program": "running",
"machine": "ON",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

View File

@@ -0,0 +1 @@
{"report_id":"GLB-MGR-E14-HISTORY","status":"verified","checks":["undo/redo","duplicate edits ignored","new edit discards redo","30-entry bound","clear preserves draft","machine type change preserves general axes and clears incompatible tilt","undo restores type and bindings"]}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
{
"report_id": "GLB-MGR-E14",
"status": "verified",
"url": "http://127.0.0.1:5180/",
"checks": [
"search expands real nested nodes; axis overview locates selection; binding undo/redo",
"empty input preserves last pose; repeated selection/input does not concatenate; single-axis step and reset",
"TRT forbidden offset blocks export before build; calibration undo/redo",
"view presets and selected fitting; deletion undo restores model with all axis bindings",
"failed batch import leaves existing assembly intact",
"live mode locks edits; desktop, short viewport and narrow viewport keep footer visible without overflow"
],
"errors": []
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
{"schema":"axis-control-inventory.v1","status":"verified","documented_controls":115,"duplicate_command_entries_removed":["machine_menu","view_menu","program_pane_load","tool_probe_commands"],"contract":"linuxcnc-axis-web-control-panel-source-logic.md"}

View File

@@ -0,0 +1,33 @@
{
"report_id": "GLB-MGR-E13-CLOUD",
"status": "verified",
"checked_at": "2026-09-21T03:32:29.065851+00:00",
"url": "https://49.232.250.35:58015/",
"commit": "d8488641ca377fe9c930ea48d42249f90953529d",
"release": "/var/www/linuxcnc-wasm-58015/releases/20260921-linuxcnc-wasm-d848864",
"archive_sha256": "fcd454879625de8b6ecf83d8e064ca2df472a71ac591abee189b7e20e6ee506b",
"bundle": "assets/index-DZs5acdt.js",
"cloud_regression": {
"schema": "machine-manager-browser.v1",
"report_id": "GLB-MGR-E02",
"mode": "production-preview",
"status": "verified",
"checks": [
"eight GLB parts rendered with studio PMREM lighting",
"eight-part roots have unique single DOFs; fixed base cannot move; numeric input drives only bound X",
"validated assembly exports a self-contained managed GLB",
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
"same component assembly switches to BC hierarchy and applies BC geometry",
"BC five-axis program drives managed model from authoritative WASM joints",
"production bundle exercised through AC/BC UI apply and WASM program motion"
],
"browser_errors": [],
"final": {
"program": "running",
"machine": "ON",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"
}
},
"mill700_full_validation": "coverage/glb-machine-manager/joint-dof/browser.report.json",
"mill700_full_validation_scope": "local production build, same deployed bundle; XYZAC and XYZBC with 8 moving ticks each"
}

View File

@@ -0,0 +1 @@
{"report_id":"GLB-MGR-E13-MATH","status":"verified","checks":["parent-frame motion with nonidentity zero orientation","unit/sign/physical-zero conversion","100 updates without drift","child inheritance","rotation about own origin","malformed JSON rejected","missing live axis rejected atomically"]}

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
{
"report_id": "GLB-MGR-E15",
"url": "http://127.0.0.1:5180/",
"status": "verified",
"checks": [
"dialog selects BC while controller stays AC; switching drops incompatible tilt only; undo/redo restores type and bindings; saved GLB contains BC metadata",
"controller workspace changes do not change draft type; reopening saved machine restores type, calibration and hierarchy in one undoable transaction",
"applying BC design from AC controller changes controller type without altering design draft",
"controller import accepts saved BC GLB from AC workspace and automatically switches to BC with physical zero"
],
"errors": []
}

View File

@@ -0,0 +1,12 @@
{
"report_id": "GLB-MGR-E15",
"url": "https://49.232.250.35:58015/",
"status": "verified",
"checks": [
"dialog selects BC while controller stays AC; switching drops incompatible tilt only; undo/redo restores type and bindings; saved GLB contains BC metadata",
"controller workspace changes do not change draft type; reopening saved machine restores type, calibration and hierarchy in one undoable transaction",
"applying BC design from AC controller changes controller type without altering design draft",
"controller import accepts saved BC GLB from AC workspace and automatically switches to BC with physical zero"
],
"errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

View File

@@ -0,0 +1 @@
{"schema":"axis-control-inventory.v1","status":"verified","documented_controls":134,"duplicate_command_entries_removed":["machine_menu","view_menu","program_pane_load","tool_probe_commands"],"contract":"linuxcnc-axis-web-control-panel-source-logic.md"}

View File

@@ -0,0 +1,17 @@
{
"report_id": "GLB-MGR-E15-CLOUD",
"status": "verified",
"checked_at": "2026-09-21T09:49:43.644683+00:00",
"url": "https://49.232.250.35:58015/",
"source_commit": "338500dfc298270fcb2adee18b36afd23e32c9e5",
"release": "/var/www/linuxcnc-wasm-58015/releases/20260921-linuxcnc-wasm-338500d",
"bundle": "assets/index-C8kh60HL.js",
"archive_sha256": "dcbcefdbf521359d4c35c09fd11c27aa110f05d7ce242d482fc5bc73b5c6250d",
"checks": [
"dialog selects BC while controller stays AC; switching drops incompatible tilt only; undo/redo restores type and bindings; saved GLB contains BC metadata",
"controller workspace changes do not change draft type; reopening saved machine restores type, calibration and hierarchy in one undoable transaction",
"applying BC design from AC controller changes controller type without altering design draft",
"controller import accepts saved BC GLB from AC workspace and automatically switches to BC with physical zero"
],
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@@ -0,0 +1 @@
{"report_id":"GLB-MGR-E14-HISTORY","status":"verified","checks":["undo/redo","duplicate edits ignored","new edit discards redo","30-entry bound","clear preserves draft","machine type change preserves general axes and clears incompatible tilt","undo restores type and bindings"]}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
# 可导入的 MILL700 验收模型
这两份 GLB 由三维机床管理器实际保存,均已通过控制面板“导入机床模型”、五轴程序与参数恢复验证。用于演示 AC/BC 文件识别和单自由度映射;由同一个 MILL700 几何资产生成,不代表两台实机的测量标定。
- `MILL700-xyzac.glb`:XYZAC,主轴 JT1/JT2/JT3 → XYZ,工作台 JT1/JT2 → A/C。
- `MILL700-xyzbc.glb`:XYZBC,主轴 JT1/JT2/JT3 → XYZ,工作台 JT1/JT2 → B/C。
- 两者测试配置:Z 反向;物理零点 X=5、Z=7 mm,倾转轴=12°、C=9°;C 原点/倾转偏置为 0。
- 使用时:控制面板关机且空闲 → 导入机床模型 → 导入 GLB → 选择文件;机型和关节参数从 GLB 自动读取。
- 编辑时:三维机床管理 → 导入 GLB 部件 → 单独选择文件,恢复完整设计文档;根据需要核对并修改轴绑定和标定,再保存机床模型 GLB。

View File

@@ -0,0 +1,14 @@
{
"report_id": "GLB-MGR-E14",
"status": "verified",
"url": "http://127.0.0.1:5180/",
"checks": [
"search expands real nested nodes; axis overview locates selection; binding undo/redo",
"empty input preserves last pose; repeated selection/input does not concatenate; single-axis step and reset",
"TRT forbidden offset blocks export before build; calibration undo/redo",
"view presets and selected fitting; deletion undo restores model with all axis bindings",
"failed batch import leaves existing assembly intact",
"live mode locks edits; desktop, short viewport and narrow viewport keep footer visible without overflow"
],
"errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -0,0 +1,626 @@
{
"schema": "machine-manager-mill700-browser.v1",
"report_id": "GLB-MGR-E05",
"status": "verified",
"model": {
"path": "/home/mes006/linuxcncWebWASM/MILL700-U_1.glb",
"bytes": 9418852,
"sha256": "bf37130681cc6462412e52744519516e8ade2a3212dd69153c0b1b3e415bcf66"
},
"checks": [
"root and internal node transforms update their local position and posture relative to their parent",
"MILL700 JT3 edits preserve parent and sibling transforms; child inherits movement and rotation around the joint origin; values survive reselection and dialog reopening",
"reparenting an edited node preserves world pose and subsequent inputs edit that node under its new parent",
"selected MILL700 joint displays its local XYZ coordinate system at local origin",
"existing 132-node, depth-6 hierarchy displayed as a draggable tree with node origins",
"each joint rotates about its own origin while children inherit parent motion",
"metallic MILL700 surfaces rendered with studio PMREM lighting; screenshot captured for visual review",
"imported model can be deleted and its tree is removed"
],
"nodeEditing": {
"before": {
"parent": {
"local": [
-0.003969311714172363,
-0.20427599549293518,
0.40563321113586426
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7138478483851618,
-0.515726496296395,
1.8940227031707764
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"sibling": {
"local": [
0.0031614303588867188,
0.12106472253799438,
-0.2689887285232544
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7522836493599145,
-0.40088159702548765,
1.625033974647522
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"child": {
"local": [
0.0013986825942993164,
0.0009530782699584961,
-0.8500750064849854
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.4232056214947701,
-1.3709958977290349,
1.4128730297088623
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"selected": {
"local": [
-0.02080368995666504,
-0.9040489196777344,
0.3689253330230713
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.4241939812409632,
-1.3723698759677156,
2.2629480361938477
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
}
},
"translated": {
"parent": {
"local": [
-0.003969311714172363,
-0.20427599549293518,
0.40563321113586426
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7138478483851618,
-0.515726496296395,
1.8940227031707764
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"sibling": {
"local": [
0.0031614303588867188,
0.12106472253799438,
-0.2689887285232544
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7522836493599145,
-0.40088159702548765,
1.625033974647522
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"child": {
"local": [
0.0013986825942993164,
0.0009530782699584961,
-0.8500750064849854
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.2908934330630653,
-1.3228381995092735,
1.3688730297088623
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"selected": {
"local": [
0.12,
-0.9040489196777344,
0.3249253330230713
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.2918817928092583,
-1.3242121777479543,
2.2189480361938476
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
}
},
"rotated": {
"parent": {
"local": [
-0.003969311714172363,
-0.20427599549293518,
0.40563321113586426
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7138478483851618,
-0.515726496296395,
1.8940227031707764
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"sibling": {
"local": [
0.0031614303588867188,
0.12106472253799438,
-0.2689887285232544
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7522836493599145,
-0.40088159702548765,
1.625033974647522
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"child": {
"local": [
0.0013986825942993164,
0.0009530782699584961,
-0.8500750064849854
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.2915667029697908,
-1.3225492316931085,
1.3688730297088623
],
"worldQuaternion": [
0,
0,
0.38268343236508984,
0.9238795325112867
]
},
"selected": {
"local": [
0.12,
-0.9040489196777344,
0.3249253330230713
],
"localQuaternion": [
0,
0,
0.21643961393810288,
0.9762960071199334
],
"world": [
-1.2918817928092583,
-1.3242121777479543,
2.2189480361938476
],
"worldQuaternion": [
0,
0,
0.38268343236508984,
0.9238795325112867
]
}
}
},
"hierarchy": {
"root": "MILL700-U_1",
"nodes": 132,
"meshes": 126,
"maxDepth": 6,
"materials": 126,
"metallic": 110
},
"motion": {
"input": {
"x": 10,
"y": 20,
"z": 30,
"a": 15,
"c": 45
},
"baseline": {
"base": {
"local": [
0.1,
0,
0
],
"localQuaternion": [
0,
0,
0.17364817766693033,
0.984807753012208
],
"world": [
0.1,
0,
0
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"x": {
"local": [
0.4726388454437256,
1.681300401687622,
-0.9978671073913574
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7799844207142423,
-0.3224122661666029,
1.488389492034912
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"y": {
"local": [
-0.003969311714172363,
-0.20427599549293518,
0.40563321113586426
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7138478483851618,
-0.515726496296395,
1.8940227031707764
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"z": {
"local": [
0.12,
-0.9040489196777344,
0.3249253330230713
],
"localQuaternion": [
0,
0,
0.21643961393810288,
0.9762960071199334
],
"world": [
-1.2918817928092583,
-1.3242121777479543,
2.2189480361938476
],
"worldQuaternion": [
0,
0,
0.38268343236508984,
0.9238795325112867
]
},
"tilt": {
"local": [
0.49799561500549316,
1.1399997472763062,
-1.6030043363571167
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.571021124066044,
-0.8223959707837081,
0.8832522630691528
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"c": {
"local": [
-0.00008916854858398438,
-0.6340826749801636,
-0.08644759654998779
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.3542358677161157,
-1.418269278870524,
0.796804666519165
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
}
},
"driven": {
"base": {
"local": [
0.1,
0,
0
],
"localQuaternion": [
0,
0,
0.17364817766693033,
0.984807753012208
],
"world": [
0.1,
0,
0
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"x": {
"local": [
0.4826388454437256,
1.681300401687622,
-0.9978671073913574
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7705874945063833,
-0.3189920647333462,
1.488389492034912
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"y": {
"local": [
-0.003969311714172363,
-0.1842759954929352,
0.40563321113586426
],
"localQuaternion": [
0,
0,
0,
1
],
"world": [
-1.7112913250438162,
-0.4935124424474202,
1.8940227031707764
],
"worldQuaternion": [
0,
0,
0.17364817766693033,
0.9848077530122079
]
},
"z": {
"local": [
0.12,
-0.9040489196777344,
0.3549253330230713
],
"localQuaternion": [
0,
0,
0.21643961393810288,
0.9762960071199334
],
"world": [
-1.2893252694679127,
-1.3019981238989793,
2.2489480361938474
],
"worldQuaternion": [
0,
0,
0.38268343236508984,
0.9238795325112867
]
},
"tilt": {
"local": [
0.49799561500549316,
1.1399997472763062,
-1.6030043363571167
],
"localQuaternion": [
0.13052619222005157,
0,
0,
0.9914448613738104
],
"world": [
-1.571021124066044,
-0.8223959707837081,
0.8832522630691528
],
"worldQuaternion": [
0.12854320606946854,
0.022665635416815412,
0.1721625934348045,
0.9763825861650425
]
},
"c": {
"local": [
-0.00008916854858398438,
-0.6340826749801636,
-0.08644759654998779
],
"localQuaternion": [
0,
0,
0.3826834323650898,
0.9238795325112867
],
"world": [
-1.369277957263005,
-1.3769414774990314,
0.6356376244864839
],
"worldQuaternion": [
0.12743220028900526,
-0.02825103865291858,
0.5327029357136194,
0.8361761150778141
]
}
}
},
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

View File

@@ -0,0 +1,24 @@
{
"report_id": "GLB-MGR-E12-CLOUD",
"status": "verified",
"checked_at": "2026-09-21T01:39:10.681054+00:00",
"url": "https://49.232.250.35:58015/",
"source_commit": "91ebd56d6d34ca3f88a73541cfe64f7bef3d8483",
"release": "/var/www/linuxcnc-wasm-58015/releases/20260921-linuxcnc-wasm-91ebd56",
"archive_sha256": "a4ae18ee92a08af7b532052620d9d349539e4424c0ec2f12e65fa8eafacee1a7",
"bundle": "assets/index-CJLtuazD.js",
"command": "PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.js MACHINE_MANAGER_URL=https://49.232.250.35:58015/ node scripts/test_machine_manager_mill700_browser.mjs",
"report": "coverage/glb-machine-manager/mill700/browser.report.json",
"report_sha256": "3555f9efe0cebba79a0bec8afbff8a4a44cc1278d0f36ff737fae9a74e18b9e1",
"checks": [
"root and internal node transforms update their local position and posture relative to their parent",
"MILL700 JT3 edits preserve parent and sibling transforms; child inherits movement and rotation around the joint origin; values survive reselection and dialog reopening",
"reparenting an edited node preserves world pose and subsequent inputs edit that node under its new parent",
"selected MILL700 joint displays its local XYZ coordinate system at local origin",
"existing 132-node, depth-6 hierarchy displayed as a draggable tree with node origins",
"each joint rotates about its own origin while children inherit parent motion",
"metallic MILL700 surfaces rendered with studio PMREM lighting; screenshot captured for visual review",
"imported model can be deleted and its tree is removed"
],
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

View File

@@ -0,0 +1,18 @@
{
"schema": "boat-trt-programs.v1",
"status": "verified",
"rows": [
{
"coordinates": "XYZAC",
"program": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"status": "completed",
"rotary": "a"
},
{
"coordinates": "XYZBC",
"program": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc",
"status": "completed",
"rotary": "b"
}
]
}

View File

@@ -0,0 +1,15 @@
{
"report_id": "TRT-PROGRAM-COMPAT-BROWSER",
"status": "verified",
"url": "http://127.0.0.1:5180/",
"checks": [
"AC to BC model import replaces source/path/preview with BC boat program",
"renamed AC file rejected on BC; previous loaded taskfile remains intact",
"editor reload also rejects wrong-axis program without replacing loaded taskfile",
"same-type reimport preserves custom compatible program",
"BC to AC model import loads AC boat",
"manager apply also switches program to matching BC family",
"BC machine runs BC G-code after home; header/controller/program agree"
],
"errors": []
}

View File

@@ -0,0 +1,72 @@
{
"schema": "rtcp-program-catalog-load.v1",
"status": "verified",
"programs": [
{
"id": "trt-boat-xyzac",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:bdc95b491cd714d9",
"preview_segments": 1825
},
{
"id": "trt-impeller-xyzac",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:76b5e2017a1b0a93",
"preview_segments": 4492
},
{
"id": "trt-xyzac-switchkins",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:522e219683194ad2",
"preview_segments": 29
},
{
"id": "trt-xyzac-switchkins-test-1",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:f1d649350d9dd63d",
"preview_segments": 17
},
{
"id": "trt-xyzac-switchkins-test-2",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:00aebdd97af4c5d8",
"preview_segments": 32
},
{
"id": "trt-xyzac-switchkins-test-3",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:cf7e5987249c1bf8",
"preview_segments": 3
},
{
"id": "gmoccapy-boat-xyzac",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:9d09b727bef67c7c",
"preview_segments": 1825
},
{
"id": "gmoccapy-impeller-xyzac",
"coordinates": "XYZAC",
"source_hash": "fnv1a64:3e4cbd31dd06ec9c",
"preview_segments": 4492
},
{
"id": "trt-boat-xyzbc",
"coordinates": "XYZBC",
"source_hash": "fnv1a64:b1887a8c8fd29012",
"preview_segments": 1820
},
{
"id": "trt-xyzbc-switchkins",
"coordinates": "XYZBC",
"source_hash": "fnv1a64:622cce6b5c7277f1",
"preview_segments": 29
},
{
"id": "gmoccapy-boat-xyzbc",
"coordinates": "XYZBC",
"source_hash": "fnv1a64:7cef899039522872",
"preview_segments": 1820
}
]
}

View File

@@ -0,0 +1,15 @@
{
"report_id": "TRT-PROGRAM-COMPAT-BROWSER",
"status": "verified",
"url": "https://49.232.250.35:58015/",
"checks": [
"AC to BC model import replaces source/path/preview with BC boat program",
"renamed AC file rejected on BC; previous loaded taskfile remains intact",
"editor reload also rejects wrong-axis program without replacing loaded taskfile",
"same-type reimport preserves custom compatible program",
"BC to AC model import loads AC boat",
"manager apply also switches program to matching BC family",
"BC machine runs BC G-code after home; header/controller/program agree"
],
"errors": []
}

View File

@@ -0,0 +1,20 @@
{
"report_id": "TRT-PROGRAM-COMPAT-CLOUD",
"status": "verified",
"checked_at": "2026-09-21T12:03:26.786122+00:00",
"url": "https://49.232.250.35:58015/",
"source_commit": "0de96bb",
"release": "/var/www/linuxcnc-wasm-58015/releases/20260921-linuxcnc-wasm-0de96bb",
"bundle": "assets/index-VAG1dzJ6.js",
"archive_sha256": "d6613fa681243676ea42096578c01bee863d0db7f7ece635e56b25d888fe8f89",
"checks": [
"AC to BC model import replaces source/path/preview with BC boat program",
"renamed AC file rejected on BC; previous loaded taskfile remains intact",
"editor reload also rejects wrong-axis program without replacing loaded taskfile",
"same-type reimport preserves custom compatible program",
"BC to AC model import loads AC boat",
"manager apply also switches program to matching BC family",
"BC machine runs BC G-code after home; header/controller/program agree"
],
"browser_errors": []
}

View File

@@ -0,0 +1,8 @@
{
"schema": "xyzac-program-replacement.v1",
"status": "verified",
"first_segments": 1,
"failed_segments": 0,
"second_segments": 1,
"old_preview_retained_after_failure": false
}

View File

@@ -0,0 +1,18 @@
{
"schema": "xyzac-step-flow.v2",
"status": "verified",
"source": [
"axis.py::task_step",
"emctaskmain.cc::EMC_TASK_PLAN_STEP_TYPE",
"sim_linuxcnc_tp_step_line"
],
"phases": [
"start_pause",
"source_line_pause",
"source_line_motion",
"motion_step_pending",
"terminal"
],
"duplicate_step_idempotent": true,
"completed_and_aborted_rerun": true
}

View File

@@ -0,0 +1,18 @@
{
"report_id": "TRT-PROGRAM-COMPAT-WORKER",
"status": "verified",
"rows": [
{
"coordinates": "XYZAC",
"load_rejected": true,
"legacy_execution_rejected": true,
"generic_allowed": true
},
{
"coordinates": "XYZBC",
"load_rejected": true,
"legacy_execution_rejected": true,
"generic_allowed": true
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
{
"report_id": "GLB-MGR-E14",
"status": "verified",
"url": "http://127.0.0.1:5180/",
"checks": [
"Open Files Cancel leaves the machine manager dialog open",
"search expands real nested nodes; axis overview locates selection; binding undo/redo",
"empty input preserves last pose; repeated selection/input does not concatenate; single-axis step and reset",
"TRT forbidden offset blocks export before build; calibration undo/redo",
"view presets and selected fitting; deletion undo restores model with all axis bindings",
"failed batch import leaves existing assembly intact",
"live mode locks edits; desktop, short viewport and narrow viewport keep footer visible without overflow"
],
"errors": []
}

View File

@@ -0,0 +1,14 @@
{
"report_id": "GLB-MGR-E14",
"status": "verified",
"url": "https://49.232.250.35:58015/",
"checks": [
"search expands real nested nodes; axis overview locates selection; binding undo/redo",
"empty input preserves last pose; repeated selection/input does not concatenate; single-axis step and reset",
"TRT forbidden offset blocks export before build; calibration undo/redo",
"view presets and selected fitting; deletion undo restores model with all axis bindings",
"failed batch import leaves existing assembly intact",
"live mode locks edits; desktop, short viewport and narrow viewport keep footer visible without overflow"
],
"errors": []
}

View File

@@ -0,0 +1,25 @@
{
"report_id": "GLB-MGR-E14-CLOUD",
"status": "verified",
"checked_at": "2026-09-21T05:34:44.342351+00:00",
"url": "https://49.232.250.35:58015/",
"release": "/var/www/linuxcnc-wasm-58015/releases/20260921-linuxcnc-wasm-a7233bc",
"source_commit": "a7233bc8e4c4ccea4a4906d2d947ba84b549c39d",
"bundle": "assets/index-nddrUCCV.js",
"archive_sha256": "c9b69be1bc3f1f1e40693eb30c4dffb140aa92129c351ac509a8430457f220c7",
"cloud_checks": [
"search expands real nested nodes; axis overview locates selection; binding undo/redo",
"empty input preserves last pose; repeated selection/input does not concatenate; single-axis step and reset",
"TRT forbidden offset blocks export before build; calibration undo/redo",
"view presets and selected fitting; deletion undo restores model with all axis bindings",
"failed batch import leaves existing assembly intact",
"live mode locks edits; desktop, short viewport and narrow viewport keep footer visible without overflow"
],
"browser_errors": [],
"local_ac_bc_regression": {
"ac": "xyzac-regression.report.json",
"bc": "xyzbc-regression.report.json",
"samples_per_machine": 8,
"status": "verified"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

View File

@@ -0,0 +1 @@
{"report_id":"GLB-MGR-E14-HISTORY","status":"verified","checks":["undo/redo","duplicate edits ignored","new edit discards redo","30-entry bound","clear preserves draft"]}

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View File

@@ -0,0 +1,983 @@
{
"report_id": "GLB-MGR-E13",
"status": "verified",
"url": "http://127.0.0.1:5180/",
"machines": [
{
"coordinates": "XYZAC",
"checks": [
"fixed or single DOF",
"direction/sign and parent isolation",
"pivot and child inheritance",
"duplicate axis rejected",
"JSON on scene and real bed",
"GLB roundtrip restores calibration and bindings",
"single-file apply",
"WASM runtime axis mapping",
"live dialog follows actual joints"
],
"nodeCount": 134,
"samples": [
{
"tick": 85,
"q": [
1.2389134479519215,
0.6574092294801889,
0.6448116444857956,
1.2603902790766386,
1.8905854186149578
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
468.8777588916775,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.806400633739475,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-203.618586263455,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.8460937508812,
18.940227031707764,
1.3640552739163505
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
375.2805213785855
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.05413065044785,
22.693032245493615,
-7.676433922860993
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
-0.09358363453630855,
0,
0,
0.9956114218644615
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.06200155297278678,
0.998076052928314
],
"world": [
-18.516113758087158,
9.164775530362324,
-8.403619073277603
]
}
}
},
{
"tick": 180,
"q": [
2.7007255572479774,
1.5379467155631636,
1.4830952979680165,
2.811733782839189,
4.217600674258783
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
470.3395710009736,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.791782512646513,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-202.738048777372,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.831475629788237,
18.940227031707764,
1.3728606487771806
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
374.44223772510327
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.039512529354887,
22.684649408958794,
-7.667628548000163
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
-0.08009685716826766,
0,
0,
0.9967870853255304
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.04172219310644397,
0.999129250198586
],
"world": [
-18.516113758087158,
8.991635804504972,
-8.41027160637488
]
}
}
},
{
"tick": 275,
"q": [
4.085999929781512,
2.4909264365477166,
2.3779308599752444,
4.363077286601698,
6.544615929902546
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
471.7248453735071,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.77792976892118,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-201.78506905638747,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.817622886062903,
18.940227031707764,
1.382390445987026
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
373.5474021630961
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.025659785629554,
22.67570105333872,
-7.658098750790318
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
-0.06659540002082798,
0,
0,
0.9977800622863067
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.021425628607248472,
0.9997704448716136
],
"world": [
-18.516113758087158,
8.818379437902781,
-8.412234333654848
]
}
}
},
{
"tick": 370,
"q": [
5.387598173682366,
3.5088324139082143,
3.3365312733855843,
5.914420790364206,
8.871631185546308
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
473.02644361740795,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.76491378648217,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-200.76716307902697,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.804606903623892,
18.940227031707764,
1.3925695057606307
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
372.58880174968573
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.012643803190542,
22.66611504920462,
-7.647919691016713
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
-0.05308173757825106,
0,
0,
0.9985901707585919
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.001120229000250849,
0.9999993725432966
],
"world": [
-18.516113758087158,
8.645133439219864,
-8.409505816305332
]
}
}
},
{
"tick": 465,
"q": [
6.598646792860076,
4.583380703310395,
4.365425131049058,
7.46576429412713,
11.198646441190695
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
474.2374922365857,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.752803300290395,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-199.69261478962477,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.79249641743212,
18.940227031707764,
1.403314988654653
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
371.55990789202224
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.00053331699877,
22.655826110627984,
-7.6371742081226905
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
-0.039558346561724904,
0,
0,
0.9992172622694738
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.01918563254624356,
0.9998159388126399
],
"world": [
-18.516113758087158,
8.472024809519901,
-8.402088054514548
]
}
}
},
{
"tick": 555,
"q": [
7.656454328643159,
5.64548233448603,
5.410254575943578,
8.935458139797525,
13.40318720969629
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
475.2952997723687,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.74222522493256,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-198.63051315844916,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.781918342074285,
18.940227031707764,
1.4139360049664091
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
370.51507844712773
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.989955241640935,
22.64537781617904,
-7.626553191810935
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
-0.026739985102743145,
0,
0,
0.9996424226675782
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.0384156022232577,
0.9992618483189601
],
"world": [
-18.516113758087158,
8.30826888076431,
-8.3907400525114
]
}
}
},
{
"tick": 655,
"q": [
8.72303975359065,
6.865798191834175,
6.656398201686621,
10.568451301653525,
15.852676952480286
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
476.36188519731627,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.731559370683087,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-197.41019730110102,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.77125248782481,
18.940227031707764,
1.4261391635398906
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
369.2689348213847
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.97928938739146,
22.632916379921607,
-7.614350033237454
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
-0.012492294152387668,
0,
0,
0.999921968248928
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.0597652512848917,
0.9982124597192993
],
"world": [
-18.516113758087158,
8.126727064793355,
-8.37320998204645
]
}
}
},
{
"tick": 745,
"q": [
9.579524288290253,
7.990781709641391,
7.858468677864376,
12.038145147323924,
18.057217720985886
],
"nodes": {
"X": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2",
"localMm": [
477.2183697320158,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.72299452533609,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-196.28521378329378,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.762687642477815,
18.940227031707764,
1.4373889987179629
]
},
"Z": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
368.0668643452069
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.970724542044465,
22.62089567515983,
-7.603100198059381
]
},
"A": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0.0003328792010827427,
0,
0,
0.9999999445957172
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "5b0ea1d5-33d0-407f-95ef-ddf8afbf315d:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.07895686550406936,
0.9968780333570262
],
"world": [
-18.516113758087158,
7.963825398322858,
-8.353015220022485
]
}
}
}
],
"liveSample": {
"q": {
"x": 5.797354360536403,
"y": 9.401123543630533,
"z": 2.617520495853631,
"a": 2.0821562164739387,
"b": 0,
"c": 11.136927027456565
},
"joints": {
"X": {
"localMm": [
478.436199804262,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-1.8710816224613631,
0.34002411365509033,
1.488389492034912
]
},
"Y": {
"localMm": [
-3.9693117141723633,
-194.87487194930463,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-1.8750509341755355,
0.1451492417057857,
1.8940227031707764
]
},
"Z": {
"localMm": [
-20.80368995666504,
-904.0489196777344,
366.30781252721766
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-1.8958546241322005,
-0.7588996779719487,
2.2603305156979943
]
},
"A": {
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0.01816924093501159,
0,
0,
0.9998349257171634
],
"world": [
-1.8515222072601318,
-0.20127654075622559,
0.8832522630691528
]
},
"C": {
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.09703509639825511,
0.9952809603659568
],
"world": [
-1.8516113758087158,
-0.8317997114621495,
0.7738239446948962
]
}
}
}
}
],
"browser_errors": []
}

View File

@@ -0,0 +1,983 @@
{
"report_id": "GLB-MGR-E13",
"status": "verified",
"url": "http://127.0.0.1:5180/",
"machines": [
{
"coordinates": "XYZBC",
"checks": [
"fixed or single DOF",
"direction/sign and parent isolation",
"pivot and child inheritance",
"duplicate axis rejected",
"JSON on scene and real bed",
"GLB roundtrip restores calibration and bindings",
"single-file apply",
"WASM runtime axis mapping",
"live dialog follows actual joints"
],
"nodeCount": 134,
"samples": [
{
"tick": 90,
"q": [
1.3329950123827954,
0.7177480791808708,
0.6399756098721868,
1.3420399371694114,
2.013059905754117
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
468.9718404561084,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.805459818095166,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-203.55824741375432,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.84515293523689,
18.940227031707764,
1.3646586624133574
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
375.2853574131991
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.05318983480354,
22.693080605839754,
-7.675830534363986
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.09287421014032093,
0,
0.9956778500553337
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.06093478253640957,
0.9981417495913296
],
"world": [
-18.356217359868296,
7.982795032364486,
-8.353592157363893
]
}
}
},
{
"tick": 180,
"q": [
2.766438027705197,
1.6088474279360891,
1.2716921368117247,
2.811733782839189,
4.217600674258783
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
470.4052834714308,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.791125387941943,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-202.66714806499908,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.830818505083666,
18.940227031707764,
1.3735696559009098
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
374.65364088625955
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.038855404650317,
22.686763440570356,
-7.6669195408764335
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.08009685716826766,
0,
0.9967870853255304
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.04172219310644397,
0.999129250198586
],
"world": [
-18.378063637032554,
7.978996384122459,
-8.353592157363893
]
}
}
},
{
"tick": 275,
"q": [
4.240122439171268,
2.664612323566039,
1.8643679838555824,
4.363077286601698,
6.544615929902546
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
471.87896788289686,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.77638854382728,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-201.61138316936913,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.816081660969004,
18.940227031707764,
1.3841273048572091
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
374.0609650392157
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.024118560535655,
22.68083668209992,
-7.656361891920135
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.06659540002082798,
0,
0.9977800622863067
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.021425628607248472,
0.9997704448716136
],
"world": [
-18.40122120764243,
7.975595975242779,
-8.353592157363893
]
}
}
},
{
"tick": 365,
"q": [
5.590120449209219,
3.769665818331871,
2.3605087594884826,
5.832771132271442,
8.749156698407162
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
473.2289658929348,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.762888563726904,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-200.5063296746033,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.802581680868627,
18.940227031707764,
1.3951778398048678
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
373.5648242635828
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-19.010618580435278,
22.67587527434359,
-7.645311356972476
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.05379324718442026,
0,
0.9985520950643265
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
-0.0021890190114552117,
0.9999976040950136
],
"world": [
-18.423237322685893,
7.972953962222888,
-8.353592157363893
]
}
}
},
{
"tick": 460,
"q": [
6.957563664607322,
5.041874761097972,
2.8212639336800454,
7.38411463603433,
11.076171954051496
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
474.5964091083329,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.74921413157292,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-199.2341207318372,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.788907248714644,
18.940227031707764,
1.4078999292325285
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
373.10406908939126
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.996944148281294,
22.671267722601673,
-7.632589267544815
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.04027030642080173,
0,
0.9991888222056804
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.018117026989570854,
0.9998358731977259
],
"world": [
-18.44654192054848,
7.970778743713527,
-8.353592157363893
]
}
}
},
{
"tick": 550,
"q": [
8.19086819781266,
6.342427968934119,
3.2043989406756506,
8.853808481704728,
13.280712722557091
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
475.82971364153826,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.736881086240867,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-197.93356752400106,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.77657420338259,
18.940227031707764,
1.42090546131089
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
372.7209340823957
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.98461110294924,
22.667436372531718,
-7.6195837354664535
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.027452251154261215,
0,
0.9996231159324815
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.03734757789035257,
0.9993023358452255
],
"world": [
-18.46866667973197,
7.969300709384652,
-8.353592157363893
]
}
}
},
{
"tick": 640,
"q": [
9.356884433005701,
7.730651003974226,
3.542287286077644,
10.323502327375126,
15.485253491062688
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
476.9957298767313,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.725220923888937,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-196.54534448896098,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.76491404103066,
18.940227031707764,
1.434787691661291
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
372.38304573699367
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.97295094059731,
22.6640574890777,
-7.605701505116053
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.01462968023530727,
0,
0.9998929805015198
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.05656430649923953,
0.9983989579473028
],
"world": [
-18.490822069456588,
7.968390621171865,
-8.353592157363893
]
}
}
},
{
"tick": 735,
"q": [
10.508052284276753,
9.28531166241756,
3.8576896962603726,
11.874845831138323,
17.812268746707485
],
"nodes": {
"X": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2",
"localMm": [
478.14689772800233,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.713709245376226,
14.883894920349121,
3.4002411365509015
]
},
"Y": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1",
"localMm": [
-3.9693117141723633,
-194.9906838305176,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.75340236251795,
18.940227031707764,
1.4503342982457244
]
},
"Z": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/2/1/0",
"localMm": [
-20.80368995666504,
-904.0489196777344,
372.0676433268109
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-18.9614392620846,
22.66090346497587,
-7.590154898531619
]
},
"B": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3",
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
-0.0010921759424831284,
0,
0.9999994035756775
],
"world": [
-18.51522207260132,
8.832522630691528,
-2.0127654075622576
]
},
"C": {
"id": "aeb4c700-d786-4c4c-9a82-f6888bd4f7c0:scene/0/0/0/3/1",
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.07682577715235232,
0.9970445325886588
],
"world": [
-18.51422543738136,
7.9680467798152925,
-8.353592157363893
]
}
}
}
],
"liveSample": {
"q": {
"x": 7.335436151103451,
"y": 11.735957758464831,
"z": -2.7569792395159682,
"a": 0,
"b": 2.3271051907522295,
"c": 11.545175317920382
},
"joints": {
"X": {
"localMm": [
479.974281594829,
1681.300401687622,
-997.8671073913574
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-1.8695435406707959,
0.34002411365509033,
1.488389492034912
]
},
"Y": {
"localMm": [
-3.9693117141723633,
-192.54003773447033,
405.63321113586426
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-1.8735128523849682,
0.14748407592062,
1.8940227031707764
]
},
"Z": {
"localMm": [
-20.80368995666504,
-904.0489196777344,
371.68231226258723
],
"quaternion": [
0,
0,
0,
1
],
"world": [
-1.8943165423416333,
-0.7565648437571144,
2.2657050154333636
]
},
"B": {
"localMm": [
497.99561500549316,
1139.9997472763062,
-1603.0043363571167
],
"quaternion": [
0,
0.020306427987709715,
0,
0.9997938032326366
],
"world": [
-1.8515222072601318,
-0.20127654075622559,
0.8832522630691528
]
},
"C": {
"localMm": [
-0.08916854858398438,
-634.0826749801636,
-86.4475965499878
],
"quaternion": [
0,
0,
0.10058029927953424,
0.9949289438934015
],
"world": [
-1.8551214621264505,
-0.8353592157363892,
0.7968795806706839
]
}
}
}
}
],
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -0,0 +1,212 @@
{
"report_id": "glb-machine-acceptance-v1",
"status": "verified",
"tasks": [
"GLB-01",
"GLB-02",
"GLB-03",
"GLB-04",
"GLB-05",
"GLB-06"
],
"wasm_sha256": "aa0f5d551e42859eef3b37aee9079f09ae04e668819da4e62aee2b74522e8bc6",
"reports": [
{
"report_id": "glb-machine-browser-v1",
"path": "coverage/glb-machine/browser.report.json",
"sha256": "5386309453c8b595b70a3f7c4285a57caa5affc986272915bd083a0b8a920308"
},
{
"report_id": "glb-machine-five-axis-motion-v1",
"path": "coverage/glb-machine/motion.report.json",
"sha256": "91c3fa8ed8037aac8e71b8c76d54c38db9dc011ae25f63553966860b624aa626"
},
{
"report_id": "glb-machine-khronos-validation-v1",
"path": "coverage/glb-machine/gltf-validation.report.json",
"sha256": "4eba70b5ab5597d36bd0ade01920e80ad41453c0f34a29ad0bd8e2b199825adc"
},
{
"report_id": "glb-machine-reproducibility-v1",
"path": "coverage/glb-machine/reproducibility.report.json",
"sha256": "bce59c1ac891da57a417a99a2e5350e659aeb2cecdf8f29e30af1f83bb6cf5a2"
},
{
"report_id": "trt-parametric-browser-v1",
"path": "coverage/glb-machine/regression-parametric/browser.report.json",
"sha256": "3a61994a249419528692a23a9a73d3af8c47477eaad9d5e3134f7e365d2279e8"
},
{
"report_id": "trt-rtcp-jog-browser-v1",
"path": "coverage/glb-machine/regression-jog/rtcp-jog-browser.report.json",
"sha256": "f79f137e061d33e665817170c52eb33189608e2bbed8d182854a8b39d9353e47"
}
],
"models": [
{
"id": "ac",
"filename": "demo-ac-xyz-head.glb",
"urdf": "demo-ac-xyz-head.urdf",
"bytes": 530848,
"sha256": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1",
"coordinates": "XYZAC",
"rotation_point_mm": [
24,
-12,
8
],
"offsets_mm": [
0,
18,
-45
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
},
{
"id": "bc",
"filename": "demo-bc-xyz-head.glb",
"urdf": "demo-bc-xyz-head.urdf",
"bytes": 530532,
"sha256": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b",
"coordinates": "XYZBC",
"rotation_point_mm": [
-18,
14,
12
],
"offsets_mm": [
22,
0,
-40
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
}
],
"rejected_inputs": 42,
"static_pose_and_tool_length_samples": 36,
"imported_rotary_jogs": 8,
"simultaneous_five_axis_intervals": 82,
"executed_program_projection_samples": 84,
"max_program_projection_error_view_units": 2.482534153247273e-16,
"boundaries": [
"Only the versioned orthogonal XYZ-head / AC-or-BC table TRT profile is supported",
"Runtime INI supplies homing, acceleration, periods and validated travel/speed settings",
"Imported GLB assets are kept in page memory; reload requires importing again",
"Original illustrative assets; no manufacturer calibration, collision or generic URDF solver claim",
"No native/WASM source modification; no whole-repository or release parity claim"
],
"evidence": [
{
"path": "coverage/glb-machine/ac-imported.png",
"sha256": "8e1e67a7ad7275d8697944b74f77bb111be9ef22d5cccab5961a0d472225dc96"
},
{
"path": "coverage/glb-machine/bc-imported.png",
"sha256": "b7257f6aba3b513bb6c1494aaf9a1879f977884094fdc55cdf46150c25c65470"
},
{
"path": "coverage/glb-machine/browser.log",
"sha256": "f8308922ef1d78fc82ab21081a16b8c369808e662c1ac85ceef03558c2706410"
},
{
"path": "coverage/glb-machine/browser.report.json",
"sha256": "5386309453c8b595b70a3f7c4285a57caa5affc986272915bd083a0b8a920308"
},
{
"path": "coverage/glb-machine/build.log",
"sha256": "61535b778ec1ab991507ca2454c1e11ddadedbe3f921b530ddc6f13bd7207073"
},
{
"path": "coverage/glb-machine/generation.log",
"sha256": "a9222f10610e68cfda0e59a759c1fffa5a743e01f079f086bc743b260796afdd"
},
{
"path": "coverage/glb-machine/gltf-validation.log",
"sha256": "5bc225291eb5fceeface7225db1ef98833c3bcc258ce03e16dbe32d1170d9649"
},
{
"path": "coverage/glb-machine/gltf-validation.report.json",
"sha256": "4eba70b5ab5597d36bd0ade01920e80ad41453c0f34a29ad0bd8e2b199825adc"
},
{
"path": "coverage/glb-machine/motion.log",
"sha256": "57ed59ba66d43ff00784733a3ddb7a0c3936c33aae0e03ab3c4fd4c2eacca361"
},
{
"path": "coverage/glb-machine/motion.report.json",
"sha256": "91c3fa8ed8037aac8e71b8c76d54c38db9dc011ae25f63553966860b624aa626"
},
{
"path": "coverage/glb-machine/regression-jog/rtcp-jog-browser.report.json",
"sha256": "f79f137e061d33e665817170c52eb33189608e2bbed8d182854a8b39d9353e47"
},
{
"path": "coverage/glb-machine/regression-jog/rtcp-jog-xyzac.png",
"sha256": "d528ae818b88650b0786273c8a57e7997d4a1a0484bf2dd13597cc2de3807f9f"
},
{
"path": "coverage/glb-machine/regression-jog/rtcp-jog-xyzbc.png",
"sha256": "6be23d67f0a92259b717feb828f3c63bac4fa725e2a852c51ba83918b5aeee1a"
},
{
"path": "coverage/glb-machine/regression-jog.log",
"sha256": "b12b994ebfd6a7dac5b079ec4781af0559f6ec623cd1548b3b9d78b50ef4f962"
},
{
"path": "coverage/glb-machine/regression-parametric/browser.report.json",
"sha256": "3a61994a249419528692a23a9a73d3af8c47477eaad9d5e3134f7e365d2279e8"
},
{
"path": "coverage/glb-machine/regression-parametric/layout-1440.png",
"sha256": "12f92632fa3c367e4a64a963e2246f10b58f574468b2429a5c1dd51e303ac6a3"
},
{
"path": "coverage/glb-machine/regression-parametric/layout-390.png",
"sha256": "e17530ed4a069b06820f11036c20a1643f064fa8d3f48de7ddd1cd6fdecfc939"
},
{
"path": "coverage/glb-machine/regression-parametric/xyzac-trt-model.png",
"sha256": "170a4c61a183cc0bf589a361d3b14a0c0f11d401eec85e8d0ec0e0c8174b0072"
},
{
"path": "coverage/glb-machine/regression-parametric/xyzbc-trt-model.png",
"sha256": "9ef3b87c169568ecd47ff2ad76209017f41f2c84deca45e421168c42cc6efb8d"
},
{
"path": "coverage/glb-machine/regression-parametric.log",
"sha256": "5a2d232459aeb6c054fe255d3354cdf5a71268e81dea50a0602ee761445823fa"
},
{
"path": "coverage/glb-machine/reproducibility.report.json",
"sha256": "bce59c1ac891da57a417a99a2e5350e659aeb2cecdf8f29e30af1f83bb6cf5a2"
},
{
"path": "coverage/glb-machine/viewport-1440.png",
"sha256": "89814a506f727b45d80e7109c6370e86d784d16e2a5c9e69f3a3681eb3590c06"
},
{
"path": "coverage/glb-machine/viewport-390.png",
"sha256": "7ef7acd38fc1e383c8dc32bb606b8b91e91449e5c05fc9d5b5c489a9fe7eeb74"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -0,0 +1,972 @@
{
"report_id": "glb-machine-browser-v1",
"status": "verified",
"wasm_sha256": "aa0f5d551e42859eef3b37aee9079f09ae04e668819da4e62aee2b74522e8bc6",
"parser": [
{
"id": "ac",
"rejected": [
{
"name": "truncated",
"error": "机床模型无效:GLB 头部或长度错误"
},
{
"name": "missing-schema",
"error": "机床模型无效:缺少 linuxcnc.machine/1 内嵌 URDF"
},
{
"name": "external-buffer",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "external-texture",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "animation",
"error": "机床模型无效:运动节点不能由动画、蒙皮或压缩扩展驱动"
},
{
"name": "node-cycle",
"error": "机床模型无效:GLB 节点环、重复父节点或索引无效"
},
{
"name": "wrong-hierarchy",
"error": "机床模型无效:GLB 层级与 URDF 不同:c_table"
},
{
"name": "node-offset-mismatch",
"error": "机床模型无效:GLB 节点 c_table 零位与 URDF 不同"
},
{
"name": "duplicate-link",
"error": "机床模型无效:GLB link base 缺失或重名"
},
{
"name": "matrix-origin-mismatch",
"error": "机床模型无效:GLB 节点 c_table 矩阵与 URDF 不同"
},
{
"name": "xml-syntax",
"error": "机床模型无效:URDF XML 语法错误"
},
{
"name": "doctype",
"error": "机床模型无效:URDF 长度或 XML 声明不支持"
},
{
"name": "duplicate-coordinate",
"error": "机床模型无效:需要 XYZAC 或 XYZBC 五个唯一运动轴"
},
{
"name": "negative-axis",
"error": "机床模型无效:要求底座 → X → Y → Z 正交刀具链,零位 origin=0"
},
{
"name": "nonzero-rpy",
"error": "机床模型无效:v1 不支持旋转的关节零位 rpy"
},
{
"name": "nan-limit",
"error": "机床模型无效:需要有限数值"
},
{
"name": "mimic",
"error": "机床模型无效:不支持 mimic"
},
{
"name": "unknown-profile",
"error": "机床模型无效:不支持的运动学 profile"
},
{
"name": "broken-tree",
"error": "机床模型无效:存在断开的结构或环"
},
{
"name": "runtime-range-outside-model",
"error": "X:INI 行程超出 URDF,先调整运行配置"
},
{
"name": "runtime-speed-outside-model",
"error": "X:INI 速度超出 URDF"
}
]
},
{
"id": "bc",
"rejected": [
{
"name": "truncated",
"error": "机床模型无效:GLB 头部或长度错误"
},
{
"name": "missing-schema",
"error": "机床模型无效:缺少 linuxcnc.machine/1 内嵌 URDF"
},
{
"name": "external-buffer",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "external-texture",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "animation",
"error": "机床模型无效:运动节点不能由动画、蒙皮或压缩扩展驱动"
},
{
"name": "node-cycle",
"error": "机床模型无效:GLB 节点环、重复父节点或索引无效"
},
{
"name": "wrong-hierarchy",
"error": "机床模型无效:GLB 层级与 URDF 不同:c_table"
},
{
"name": "node-offset-mismatch",
"error": "机床模型无效:GLB 节点 c_table 零位与 URDF 不同"
},
{
"name": "duplicate-link",
"error": "机床模型无效:GLB link base 缺失或重名"
},
{
"name": "matrix-origin-mismatch",
"error": "机床模型无效:GLB 节点 c_table 矩阵与 URDF 不同"
},
{
"name": "xml-syntax",
"error": "机床模型无效:URDF XML 语法错误"
},
{
"name": "doctype",
"error": "机床模型无效:URDF 长度或 XML 声明不支持"
},
{
"name": "duplicate-coordinate",
"error": "机床模型无效:需要 XYZAC 或 XYZBC 五个唯一运动轴"
},
{
"name": "negative-axis",
"error": "机床模型无效:要求底座 → X → Y → Z 正交刀具链,零位 origin=0"
},
{
"name": "nonzero-rpy",
"error": "机床模型无效:v1 不支持旋转的关节零位 rpy"
},
{
"name": "nan-limit",
"error": "机床模型无效:需要有限数值"
},
{
"name": "mimic",
"error": "机床模型无效:不支持 mimic"
},
{
"name": "unknown-profile",
"error": "机床模型无效:不支持的运动学 profile"
},
{
"name": "broken-tree",
"error": "机床模型无效:存在断开的结构或环"
},
{
"name": "runtime-range-outside-model",
"error": "X:INI 行程超出 URDF,先调整运行配置"
},
{
"name": "runtime-speed-outside-model",
"error": "X:INI 速度超出 URDF"
}
]
}
],
"machines": [
{
"id": "ac",
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1",
"coordinates": "XYZAC",
"offsets": {
"x_rot_point": 24,
"x_offset": 0,
"y_rot_point": -12,
"y_offset": 18,
"z_rot_point": 8,
"z_offset": -45
},
"program_preserved": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"geometry": [
{
"tilt": 0,
"c": 0,
"tool_offset": 0,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 0,
"error": 1.2412670766236366e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 0,
"error": 1.1933397187179203e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 0,
"error": 2.1599919653272043e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 0,
"error": 2.486410087150353e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 0,
"error": 1.709648974837069e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": 17,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 17,
"error": 1.3472894910096233e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 17,
"error": 1.1354490689426183e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 17,
"error": 2.036065864674698e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 17,
"error": 2.482534153247273e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 17,
"error": 1.3877787807814457e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": -4,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": -4,
"error": 1.2412670766236366e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": -4,
"error": 9.508199615517185e-17
},
{
"tilt": -35,
"c": 125,
"tool_offset": -4,
"error": 1.9141791241147513e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": -4,
"error": 2.2591401799415137e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": -4,
"error": 1.1857187100668868e-16
}
],
"jogs": [
{
"axis": "a",
"before": {
"joints": [
4.066650000000003,
3.0666500000000028,
0,
0,
0
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.04066650000000002,
6.809330876933479e-18,
0.030666500000000027
],
"tick": 54,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
4.066650000000003,
-0.019142531975200328,
-0.3752206095071884,
4.799999999999997,
0
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.04066650000000002,
-0.0037522060950718836,
-0.00019142531975200244
],
"tick": 85,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 7.567484573835504e-17,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
4.066650000000003,
-0.019142531975200328,
-0.3752206095071884,
4.799999999999997,
0
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.04066650000000002,
-0.0037522060950718836,
-0.00019142531975200244
],
"tick": 85,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
3.0167271826648197,
-1.514225061260488,
-0.5007661972082786,
4.799999999999997,
4.199999999999992
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.030167271826648197,
-0.005007661972082789,
-0.015142250612604878
],
"tick": 114,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 1.0507972009713376e-16,
"render_error": 0
},
{
"axis": "a",
"before": {
"joints": [
3.0167271826648197,
-1.514225061260488,
-0.5007661972082786,
4.799999999999997,
4.199999999999992
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.030167271826648197,
-0.005007661972082789,
-0.015142250612604878
],
"tick": 114,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
3.0167271826648197,
-4.3547580920686855,
-1.2028404574208267,
9.299999999999992,
4.199999999999992
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.030167271826648197,
-0.012028404574208278,
-0.043547580920686856
],
"tick": 144,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 1.602813148773208e-16,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
3.0167271826648197,
-4.3547580920686855,
-1.2028404574208267,
9.299999999999992,
4.199999999999992
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.030167271826648197,
-0.012028404574208278,
-0.043547580920686856
],
"tick": 144,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
1.773075434767975,
-6.477614069157218,
-1.550471455393577,
9.299999999999992,
9.899999999999997
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.017730754347679747,
-0.015504714553935782,
-0.06477614069157217
],
"tick": 178,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 1.193812447098184e-16,
"render_error": 0
}
],
"pixels": {
"colors": 855,
"width": 472,
"height": 353
},
"worker_derived_offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
}
},
{
"id": "bc",
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b",
"coordinates": "XYZBC",
"offsets": {
"x_rot_point": -18,
"x_offset": 22,
"y_rot_point": 14,
"y_offset": 0,
"z_rot_point": 12,
"z_offset": -40
},
"program_preserved": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"geometry": [
{
"tilt": 0,
"c": 0,
"tool_offset": 0,
"error": 7.850462293418876e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 0,
"error": 1.1188630228279524e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 0,
"error": 1.3672438525262642e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 0,
"error": 2.3714374201337736e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 0,
"error": 1.0007415106216802e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 0,
"error": 1.3597399555105182e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": 17,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 17,
"error": 1.1443916996305594e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 17,
"error": 1.3951318755036565e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 17,
"error": 1.5700924586837752e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 17,
"error": 1.3597399555105182e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 17,
"error": 1.3597399555105182e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": -4,
"error": 7.850462293418876e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": -4,
"error": 0
},
{
"tilt": 0,
"c": 65,
"tool_offset": -4,
"error": 1.4756369957997185e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": -4,
"error": 2.7755575615628914e-17
},
{
"tilt": 42,
"c": -80,
"tool_offset": -4,
"error": 1.3597399555105182e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": -4,
"error": 1.1102230246251565e-16
}
],
"jogs": [
{
"axis": "b",
"before": {
"joints": [
4.066650000000003,
3.0666500000000028,
0,
0,
0
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.04066650000000002,
6.809330876933479e-18,
0.030666500000000027
],
"tick": 232,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
6.117140529480697,
3.0666500000000028,
-0.08007596355373181,
4.199999999999992,
0
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.06117140529480696,
-0.0008007596355373112,
0.030666500000000027
],
"tick": 261,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 1.571008573810619e-17,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
6.117140529480697,
3.0666500000000028,
-0.08007596355373181,
4.199999999999992,
0
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.06117140529480696,
-0.0008007596355373112,
0.030666500000000027
],
"tick": 261,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
7.1363588812500645,
5.433137049240459,
-0.15492268068023662,
4.199999999999992,
6.000000000000007
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.07136358881250066,
-0.001549226806802354,
0.05433137049240459
],
"tick": 296,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 5.575456304969596e-17,
"render_error": 0
},
{
"axis": "b",
"before": {
"joints": [
7.1363588812500645,
5.433137049240459,
-0.15492268068023662,
4.199999999999992,
6.000000000000007
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.07136358881250066,
-0.001549226806802354,
0.05433137049240459
],
"tick": 296,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
9.167259379788678,
5.433137049240459,
-0.4594025400159829,
8.399999999999984,
6.000000000000007
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.09167259379788678,
-0.004594025400159817,
0.05433137049240459
],
"tick": 325,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 5.91080137522821e-17,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
9.167259379788678,
5.433137049240459,
-0.4594025400159829,
8.399999999999984,
6.000000000000007
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.09167259379788678,
-0.004594025400159817,
0.05433137049240459
],
"tick": 325,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
9.506048116603463,
6.419769843383257,
-0.5094305081170489,
8.399999999999984,
8.430000000000007
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.09506048116603463,
-0.005094305081170475,
0.06419769843383256
],
"tick": 348,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 5.56803001126317e-17,
"render_error": 0
}
],
"pixels": {
"colors": 829,
"width": 472,
"height": 353
},
"worker_derived_offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
}
}
],
"viewports": [
{
"width": 1440,
"height": 1100,
"bounds": [
{
"x": 964.671875,
"right": 1021,
"width": 56.328125
},
{
"x": 1028.796875,
"right": 1078.953125,
"width": 50.15625
},
{
"x": 1083.5,
"right": 1120.65625,
"width": 37.15625
},
{
"x": 1128.453125,
"right": 1178.609375,
"width": 50.15625
},
{
"x": 1183.15625,
"right": 1220.3125,
"width": 37.15625
}
]
},
{
"width": 390,
"height": 844,
"bounds": [
{
"x": 19.09375,
"right": 75.421875,
"width": 56.328125
},
{
"x": 83.21875,
"right": 133.375,
"width": 50.15625
},
{
"x": 137.921875,
"right": 175.078125,
"width": 37.15625
},
{
"x": 182.875,
"right": 233.03125,
"width": 50.15625
},
{
"x": 237.578125,
"right": 274.734375,
"width": 37.15625
}
]
}
],
"browser_errors": []
}

View File

@@ -0,0 +1,106 @@
{
"report_id": "glb-machine-dialog-acceptance-v1",
"status": "verified",
"tasks": [
"GLB-UI01"
],
"reports": [
"machine-dialog-browser-v1",
"trt-parametric-browser-v1",
"glb-machine-browser-v1"
],
"evidence": [
{
"path": "coverage/glb-machine/dialogs/build.log",
"sha256": "5883edc912a8ceb1e0608166a4b6ec16cfb158eafaeee0d284dce3467699f142"
},
{
"path": "coverage/glb-machine/dialogs/dialog.log",
"sha256": "9c2ab6a4f4152d3e0c440420ee3477509f4d843a70d126e7972220df1c01107b"
},
{
"path": "coverage/glb-machine/dialogs/dialog.report.json",
"sha256": "811f5cb6bed5a05bd823f77b27c1901f74246a1e078884936962f0adee1b190b"
},
{
"path": "coverage/glb-machine/dialogs/geometry-settings-dragged.png",
"sha256": "f82d790dd2ac4bb7da6b3979e2c5a346e5ae63d13bb4c258283f3b1faa50a809"
},
{
"path": "coverage/glb-machine/dialogs/import/ac-imported.png",
"sha256": "2a5a8bb90b04f4f851cb34384f20a46447e7143e76f9f55d043d0ad114e0c892"
},
{
"path": "coverage/glb-machine/dialogs/import/bc-imported.png",
"sha256": "cb5af89c38368ca852a4631e9f6c0b0bdfb752974097ac66eaa730bf7eb150ef"
},
{
"path": "coverage/glb-machine/dialogs/import/browser.report.json",
"sha256": "9309b944fca8ac81e816cf8e5494348db0ca2dd12417763479d78ce5d29df71e"
},
{
"path": "coverage/glb-machine/dialogs/import/viewport-1440.png",
"sha256": "41a5ac98442141dd498d2c4a50a089d9742d6c3860f48ac609312f0e255d72d9"
},
{
"path": "coverage/glb-machine/dialogs/import/viewport-390.png",
"sha256": "3522159e686804af938e9f41ffde6bb47ef88444f20a21699bd259db3ce05b0d"
},
{
"path": "coverage/glb-machine/dialogs/import.log",
"sha256": "f8308922ef1d78fc82ab21081a16b8c369808e662c1ac85ceef03558c2706410"
},
{
"path": "coverage/glb-machine/dialogs/machine-glb-settings-dragged.png",
"sha256": "22647b7ef24b08d3a3f740b5676c46b00b2bbd4cfa4ec1c035fea0d0c5aaa638"
},
{
"path": "coverage/glb-machine/dialogs/parameters-1440.png",
"sha256": "d25dbeaf8c77be2227760b9380ea07b4f5f6602cd31e390023a81594e7f97af8"
},
{
"path": "coverage/glb-machine/dialogs/parameters-2048.png",
"sha256": "12c790e77602658ffa6c9958c3b20aa5fd11b4836026854637e5d883cbfce7e8"
},
{
"path": "coverage/glb-machine/dialogs/parameters-390.png",
"sha256": "96059425dec8ca423506edff4f88698a9c1579118f8f873626557b9b13d56a0a"
},
{
"path": "coverage/glb-machine/dialogs/parametric/browser.report.json",
"sha256": "28eb780b7bcbfc94a43226c267868444287069f4a3c4c6ffab256759d439b00b"
},
{
"path": "coverage/glb-machine/dialogs/parametric/layout-1440.png",
"sha256": "484c683de962a67a3816653568b1abe15930ad060b7778435d8a8c178e7c88d2"
},
{
"path": "coverage/glb-machine/dialogs/parametric/layout-390.png",
"sha256": "a8e4f79db95aeae82c08d7bbd41db017d96eb863fac20b0de6df455a7ee07a25"
},
{
"path": "coverage/glb-machine/dialogs/parametric/xyzac-trt-model.png",
"sha256": "6b0f89a3d9f7345a2ac12ff1beb82115e6f957b9b3f0f61766d62f47b8f072fb"
},
{
"path": "coverage/glb-machine/dialogs/parametric/xyzbc-trt-model.png",
"sha256": "38ed4ba88c7e72d6f30705ef48732ca3d0d9152ee6f17ce8cb8bc86ad3dcfce6"
},
{
"path": "coverage/glb-machine/dialogs/parametric.log",
"sha256": "6aa0af350b31f8b04e220da964cc0eb62357ef0dddb51390152d5ca0b93a7cf7"
},
{
"path": "coverage/glb-machine/dialogs/preview-1440.png",
"sha256": "09cdf18a7348a045e153ff7c741ed98cc7eb8a0b492f7c4b4d5953ac3c92b8cb"
},
{
"path": "coverage/glb-machine/dialogs/preview-2048.png",
"sha256": "ca653f12dafb7b198c58ad3d42bb9531d921adf00fa0fc9dd73cb51d18e42a6e"
},
{
"path": "coverage/glb-machine/dialogs/preview-390.png",
"sha256": "cf4c4565feaf947cb84dad0d5e3c229d069c5301fed374011cfaf8f388ac72b3"
}
]
}

View File

@@ -0,0 +1,125 @@
{
"report_id": "machine-dialog-browser-v1",
"status": "verified",
"layouts": [
{
"width": 2048,
"height": 859,
"machine": {
"x": 1358.171875,
"y": 489.5,
"width": 679.828125,
"height": 351.5
},
"path": {
"x": 674.34375,
"y": 449.5,
"width": 679.828125,
"height": 391.5
},
"pane": {
"x": 1358.171875,
"y": 449.5,
"width": 679.828125,
"height": 391.5
}
},
{
"width": 1440,
"height": 900,
"machine": {
"x": 955.578125,
"y": 489.5,
"width": 474.421875,
"height": 392.5
},
"path": {
"x": 477.15625,
"y": 449.5,
"width": 474.421875,
"height": 432.5
},
"pane": {
"x": 955.578125,
"y": 449.5,
"width": 474.421875,
"height": 432.5
}
},
{
"width": 390,
"height": 844,
"machine": {
"x": 10,
"y": 231.5,
"width": 370,
"height": 380
},
"path": {
"x": 10,
"y": -172.5,
"width": 370,
"height": 360
},
"pane": {
"x": 10,
"y": 191.5,
"width": 370,
"height": 420
}
}
],
"dialogs": [
{
"button": "machine-glb-settings",
"before": {
"x": 430,
"y": 357.296875,
"width": 580,
"height": 185.40625
},
"after": {
"x": 540,
"y": 417.296875,
"width": 580,
"height": 185.40625
},
"focus_contained": true,
"keyboard_ignored": true,
"edge_clamped": true
},
{
"button": "geometry-settings",
"before": {
"x": 430,
"y": 300.25,
"width": 580,
"height": 299.5
},
"after": {
"x": 540,
"y": 360.25,
"width": 580,
"height": 299.5
},
"focus_contained": true,
"keyboard_ignored": true,
"edge_clamped": true
}
],
"touch_drag": {
"before": {
"x": 8,
"y": 329.296875,
"width": 374,
"height": 185.40625
},
"after": {
"x": 8,
"y": 379.296875,
"width": 374,
"height": 185.40625
}
},
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -0,0 +1,982 @@
{
"report_id": "glb-machine-browser-v1",
"status": "verified",
"wasm_sha256": "aa0f5d551e42859eef3b37aee9079f09ae04e668819da4e62aee2b74522e8bc6",
"parser": [
{
"id": "ac",
"rejected": [
{
"name": "truncated",
"error": "机床模型无效:GLB 头部或长度错误"
},
{
"name": "missing-schema",
"error": "机床模型无效:缺少 linuxcnc.machine/1 内嵌 URDF"
},
{
"name": "external-buffer",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "external-texture",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "animation",
"error": "机床模型无效:运动节点不能由动画、蒙皮或压缩扩展驱动"
},
{
"name": "node-cycle",
"error": "机床模型无效:GLB 节点环、重复父节点或索引无效"
},
{
"name": "wrong-hierarchy",
"error": "机床模型无效:GLB 层级与 URDF 不同:c_table"
},
{
"name": "node-offset-mismatch",
"error": "机床模型无效:GLB 节点 c_table 零位与 URDF 不同"
},
{
"name": "duplicate-link",
"error": "机床模型无效:GLB link base 缺失或重名"
},
{
"name": "matrix-origin-mismatch",
"error": "机床模型无效:GLB 节点 c_table 矩阵与 URDF 不同"
},
{
"name": "xml-syntax",
"error": "机床模型无效:URDF XML 语法错误"
},
{
"name": "doctype",
"error": "机床模型无效:URDF 长度或 XML 声明不支持"
},
{
"name": "duplicate-coordinate",
"error": "机床模型无效:需要 XYZAC 或 XYZBC 五个唯一运动轴"
},
{
"name": "negative-axis",
"error": "机床模型无效:要求底座 → X → Y → Z 正交刀具链,零位 origin=0"
},
{
"name": "nonzero-rpy",
"error": "机床模型无效:v1 不支持旋转的关节零位 rpy"
},
{
"name": "nan-limit",
"error": "机床模型无效:需要有限数值"
},
{
"name": "mimic",
"error": "机床模型无效:不支持 mimic"
},
{
"name": "unknown-profile",
"error": "机床模型无效:不支持的运动学 profile"
},
{
"name": "broken-tree",
"error": "机床模型无效:存在断开的结构或环"
},
{
"name": "runtime-range-outside-model",
"error": "X:INI 行程超出 URDF,先调整运行配置"
},
{
"name": "runtime-speed-outside-model",
"error": "X:INI 速度超出 URDF"
}
]
},
{
"id": "bc",
"rejected": [
{
"name": "truncated",
"error": "机床模型无效:GLB 头部或长度错误"
},
{
"name": "missing-schema",
"error": "机床模型无效:缺少 linuxcnc.machine/1 内嵌 URDF"
},
{
"name": "external-buffer",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "external-texture",
"error": "机床模型无效:GLB 必须自包含,禁止外部 buffer/图片"
},
{
"name": "animation",
"error": "机床模型无效:运动节点不能由动画、蒙皮或压缩扩展驱动"
},
{
"name": "node-cycle",
"error": "机床模型无效:GLB 节点环、重复父节点或索引无效"
},
{
"name": "wrong-hierarchy",
"error": "机床模型无效:GLB 层级与 URDF 不同:c_table"
},
{
"name": "node-offset-mismatch",
"error": "机床模型无效:GLB 节点 c_table 零位与 URDF 不同"
},
{
"name": "duplicate-link",
"error": "机床模型无效:GLB link base 缺失或重名"
},
{
"name": "matrix-origin-mismatch",
"error": "机床模型无效:GLB 节点 c_table 矩阵与 URDF 不同"
},
{
"name": "xml-syntax",
"error": "机床模型无效:URDF XML 语法错误"
},
{
"name": "doctype",
"error": "机床模型无效:URDF 长度或 XML 声明不支持"
},
{
"name": "duplicate-coordinate",
"error": "机床模型无效:需要 XYZAC 或 XYZBC 五个唯一运动轴"
},
{
"name": "negative-axis",
"error": "机床模型无效:要求底座 → X → Y → Z 正交刀具链,零位 origin=0"
},
{
"name": "nonzero-rpy",
"error": "机床模型无效:v1 不支持旋转的关节零位 rpy"
},
{
"name": "nan-limit",
"error": "机床模型无效:需要有限数值"
},
{
"name": "mimic",
"error": "机床模型无效:不支持 mimic"
},
{
"name": "unknown-profile",
"error": "机床模型无效:不支持的运动学 profile"
},
{
"name": "broken-tree",
"error": "机床模型无效:存在断开的结构或环"
},
{
"name": "runtime-range-outside-model",
"error": "X:INI 行程超出 URDF,先调整运行配置"
},
{
"name": "runtime-speed-outside-model",
"error": "X:INI 速度超出 URDF"
}
]
}
],
"machines": [
{
"id": "ac",
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1",
"coordinates": "XYZAC",
"offsets": {
"x_rot_point": 24,
"x_offset": 0,
"y_rot_point": -12,
"y_offset": 18,
"z_rot_point": 8,
"z_offset": -45
},
"program_preserved": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"geometry": [
{
"tilt": 0,
"c": 0,
"tool_offset": 0,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 0,
"error": 1.2412670766236366e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 0,
"error": 1.1933397187179203e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 0,
"error": 2.1599919653272043e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 0,
"error": 2.486410087150353e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 0,
"error": 1.709648974837069e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": 17,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 17,
"error": 1.3472894910096233e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 17,
"error": 1.1354490689426183e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 17,
"error": 2.036065864674698e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 17,
"error": 2.482534153247273e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 17,
"error": 1.3877787807814457e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": -4,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": -4,
"error": 1.2412670766236366e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": -4,
"error": 9.508199615517185e-17
},
{
"tilt": -35,
"c": 125,
"tool_offset": -4,
"error": 1.9141791241147513e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": -4,
"error": 2.2591401799415137e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": -4,
"error": 1.1857187100668868e-16
}
],
"jogs": [
{
"axis": "a",
"before": {
"joints": [
4.466649999999994,
4.066650000000003,
0,
0,
0
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.04466649999999994,
9.02977692618379e-18,
0.04066650000000002
],
"tick": 61,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
4.466649999999994,
0.20968795268657026,
-0.40477997583241176,
6.000000000000007,
0
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.04466649999999994,
-0.0040477997583241165,
0.0020968795268657033
],
"tick": 96,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 1.0148132334464322e-16,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
4.466649999999994,
0.20968795268657026,
-0.40477997583241176,
6.000000000000007,
0
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.04466649999999994,
-0.0040477997583241165,
0.0020968795268657033
],
"tick": 96,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
2.7494471200932686,
-2.1290148625374243,
-0.650587546740212,
6.000000000000007,
6.600000000000012
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.027494471200932687,
-0.006505875467402124,
-0.021290148625374247
],
"tick": 133,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 7.666221752544845e-17,
"render_error": 0
},
{
"axis": "a",
"before": {
"joints": [
2.7494471200932686,
-2.1290148625374243,
-0.650587546740212,
6.000000000000007,
6.600000000000012
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.027494471200932687,
-0.006505875467402124,
-0.021290148625374247
],
"tick": 133,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
2.7494471200932686,
-4.955897853959007,
-1.4004358096033798,
10.500000000000002,
6.600000000000012
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.027494471200932687,
-0.014004358096033807,
-0.04955897853959007
],
"tick": 163,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 6.938893903907228e-18,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
2.7494471200932686,
-4.955897853959007,
-1.4004358096033798,
10.500000000000002,
6.600000000000012
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.027494471200932687,
-0.014004358096033807,
-0.04955897853959007
],
"tick": 163,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"after": {
"joints": [
1.3727669510375335,
-7.330203467035044,
-1.8404873443064815,
10.500000000000002,
12.900000000000022
],
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
},
"tip": [
0.013727669510375335,
-0.018404873443064833,
-0.07330203467035044
],
"tick": 199,
"hash": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1"
},
"tcp_error": 8.464668479171608e-17,
"render_error": 0
}
],
"pixels": {
"colors": 1415,
"width": 472,
"height": 586
},
"worker_derived_offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 18,
"z_offset": -45,
"tool_offset": 0
}
},
{
"id": "bc",
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b",
"coordinates": "XYZBC",
"offsets": {
"x_rot_point": -18,
"x_offset": 22,
"y_rot_point": 14,
"y_offset": 0,
"z_rot_point": 12,
"z_offset": -40
},
"program_preserved": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"geometry": [
{
"tilt": 0,
"c": 0,
"tool_offset": 0,
"error": 7.850462293418876e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 0,
"error": 1.1188630228279524e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 0,
"error": 1.3672438525262642e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 0,
"error": 2.3714374201337736e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 0,
"error": 1.0007415106216802e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 0,
"error": 1.3597399555105182e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": 17,
"error": 6.206335383118183e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": 17,
"error": 1.1443916996305594e-16
},
{
"tilt": 0,
"c": 65,
"tool_offset": 17,
"error": 1.3951318755036565e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": 17,
"error": 1.5700924586837752e-16
},
{
"tilt": 42,
"c": -80,
"tool_offset": 17,
"error": 1.3597399555105182e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": 17,
"error": 1.3597399555105182e-16
},
{
"tilt": 0,
"c": 0,
"tool_offset": -4,
"error": 7.850462293418876e-17
},
{
"tilt": 25,
"c": 0,
"tool_offset": -4,
"error": 0
},
{
"tilt": 0,
"c": 65,
"tool_offset": -4,
"error": 1.4756369957997185e-16
},
{
"tilt": -35,
"c": 125,
"tool_offset": -4,
"error": 2.7755575615628914e-17
},
{
"tilt": 42,
"c": -80,
"tool_offset": -4,
"error": 1.3597399555105182e-16
},
{
"tilt": -80,
"c": 270,
"tool_offset": -4,
"error": 1.1102230246251565e-16
}
],
"jogs": [
{
"axis": "b",
"before": {
"joints": [
4.2666499999999985,
3.0666500000000028,
0,
0,
0
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.04266649999999998,
6.809330876933479e-18,
0.030666500000000027
],
"tick": 254,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
6.316603424925585,
3.0666500000000028,
-0.09472360297925775,
4.199999999999992,
0
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.06316603424925585,
-0.0009472360297925706,
0.030666500000000027
],
"tick": 283,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 1.909704485889413e-17,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
6.316603424925585,
3.0666500000000028,
-0.09472360297925775,
4.199999999999992,
0
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.06316603424925585,
-0.0009472360297925706,
0.030666500000000027
],
"tick": 283,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
7.151143087525739,
4.968220047559935,
-0.15600836492358994,
4.199999999999992,
4.799999999999997
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.07151143087525738,
-0.0015600836492358884,
0.04968220047559935
],
"tick": 314,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 4.4565853017184997e-17,
"render_error": 0
},
{
"axis": "b",
"before": {
"joints": [
7.151143087525739,
4.968220047559935,
-0.15600836492358994,
4.199999999999992,
4.799999999999997
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.07151143087525738,
-0.0015600836492358884,
0.04968220047559935
],
"tick": 314,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
9.32604357016951,
4.968220047559935,
-0.4890779358284192,
8.699999999999987,
4.799999999999997
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.0932604357016951,
-0.004890779358284181,
0.04968220047559935
],
"tick": 344,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 1.187272171697316e-16,
"render_error": 0
},
{
"axis": "c",
"before": {
"joints": [
9.32604357016951,
4.968220047559935,
-0.4890779358284192,
8.699999999999987,
4.799999999999997
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.0932604357016951,
-0.004890779358284181,
0.04968220047559935
],
"tick": 344,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"after": {
"joints": [
9.993012880413737,
6.933141542161293,
-0.5911385821243442,
8.699999999999987,
9.599999999999994
],
"offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
},
"tip": [
0.09993012880413737,
-0.0059113858212434265,
0.06933141542161293
],
"tick": 380,
"hash": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b"
},
"tcp_error": 1.0318688768540417e-16,
"render_error": 0
}
],
"pixels": {
"colors": 1365,
"width": 472,
"height": 586
},
"worker_derived_offsets": {
"x_rot_point": -18,
"y_rot_point": 14,
"z_rot_point": 12,
"x_offset": 22,
"y_offset": 0,
"z_offset": -40,
"tool_offset": 0
}
}
],
"viewports": [
{
"width": 1440,
"height": 1100,
"bounds": [
{
"x": 969,
"right": 999,
"width": 30
},
{
"x": 445,
"right": 513.625,
"width": 68.625
},
{
"x": 521.421875,
"right": 582.109375,
"width": 60.6875
},
{
"x": 586.65625,
"right": 634.34375,
"width": 47.6875
},
{
"x": 642.140625,
"right": 702.828125,
"width": 60.6875
},
{
"x": 707.375,
"right": 755.0625,
"width": 47.6875
}
]
},
{
"width": 390,
"height": 844,
"bounds": [
{
"x": 341,
"right": 371,
"width": 30
},
{
"x": 23,
"right": 91.625,
"width": 68.625
},
{
"x": 99.421875,
"right": 160.109375,
"width": 60.6875
},
{
"x": 164.65625,
"right": 212.34375,
"width": 47.6875
},
{
"x": 220.140625,
"right": 280.828125,
"width": 60.6875
},
{
"x": 285.375,
"right": 333.0625,
"width": 47.6875
}
]
}
],
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -0,0 +1,73 @@
{
"report_id": "trt-parametric-browser-v1",
"status": "verified",
"machines": [
{
"id": "xyzac-trt",
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"export_bytes": 4867,
"preserved_program": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"canvas": {
"hash": 3797953256,
"colors": 2383,
"width": 472,
"height": 491
}
},
{
"id": "xyzbc-trt",
"offsets": {
"x_rot_point": 24,
"y_rot_point": -12,
"z_rot_point": 8,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"export_bytes": 4875,
"preserved_program": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc",
"canvas": {
"hash": 1876807854,
"colors": 2446,
"width": 472,
"height": 491
}
}
],
"viewports": [
{
"width": 1440,
"height": 1000,
"canvas": {
"hash": 518020959,
"colors": 2516,
"width": 472,
"height": 491
},
"controls_fit": true,
"interactive": true
},
{
"width": 390,
"height": 844,
"canvas": {
"hash": 287810572,
"colors": 1808,
"width": 368,
"height": 378
},
"controls_fit": true,
"interactive": true
}
],
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -0,0 +1,210 @@
{
"report_id": "gantry-machine-acceptance-v1",
"status": "verified",
"tasks": [
"GLB-GAN01"
],
"models": [
{
"id": "ac",
"label": "AC 示例",
"profile": "trt-xyz-head/1",
"filename": "demo-ac-xyz-head.glb",
"urdf": "demo-ac-xyz-head.urdf",
"bytes": 530848,
"sha256": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1",
"coordinates": "XYZAC",
"rotation_point_mm": [
24,
-12,
8
],
"offsets_mm": [
0,
18,
-45
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
},
{
"id": "bc",
"label": "BC 示例",
"profile": "trt-xyz-head/1",
"filename": "demo-bc-xyz-head.glb",
"urdf": "demo-bc-xyz-head.urdf",
"bytes": 530532,
"sha256": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b",
"coordinates": "XYZBC",
"rotation_point_mm": [
-18,
14,
12
],
"offsets_mm": [
22,
0,
-40
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
},
{
"id": "ac-gantry",
"label": "AC 示例桁架型",
"profile": "trt-xyz-gantry/1",
"filename": "demo-ac-gantry.glb",
"urdf": "demo-ac-gantry.urdf",
"bytes": 526004,
"sha256": "cee9fe5080fac3f87f8daca5d0f89ddb0c3c3eb7657fbdc81a7664ba9c4e4995",
"coordinates": "XYZAC",
"rotation_point_mm": [
24,
-12,
8
],
"offsets_mm": [
0,
18,
-45
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 89
},
{
"id": "bc-gantry",
"label": "BC 示例桁架型",
"profile": "trt-xyz-gantry/1",
"filename": "demo-bc-gantry.glb",
"urdf": "demo-bc-gantry.urdf",
"bytes": 525688,
"sha256": "d7188520ef1e79576d99861294e9dbdf24deb6fe14697ad5106fe605fa1766b5",
"coordinates": "XYZBC",
"rotation_point_mm": [
-18,
14,
12
],
"offsets_mm": [
22,
0,
-40
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 89
}
],
"wasm_sha256": "aa0f5d551e42859eef3b37aee9079f09ae04e668819da4e62aee2b74522e8bc6",
"evidence": [
{
"path": "coverage/glb-machine/gantry/ac-gantry.png",
"sha256": "0c424b5b09d312a58146f5da9c6b75a307e9e680dcff873bf3757b677c923526"
},
{
"path": "coverage/glb-machine/gantry/ac.png",
"sha256": "2267e76cde1bb9db038cfee59992d0c06cedb8a9879b0b6b04b66c5c56d576c7"
},
{
"path": "coverage/glb-machine/gantry/bc-gantry.png",
"sha256": "90235681b06b7c647c3a2b85c564f5ce2218e2d74ae14429de16d3f07a9b6fee"
},
{
"path": "coverage/glb-machine/gantry/bc.png",
"sha256": "f8c60fb173f8cc22dcb1f44da3c214a00ee2c401100e5536fabccc8d0d1904c3"
},
{
"path": "coverage/glb-machine/gantry/build.log",
"sha256": "efaa9a77221bdf4dd1a94be96cf9095a5e92ae9d0da7c1644888bd4d2b8a35aa"
},
{
"path": "coverage/glb-machine/gantry/catalog.log",
"sha256": "0381047251d0782a32175f9498e8a2c8edaf3697f3b6ae3c50585a4fd79df0ba"
},
{
"path": "coverage/glb-machine/gantry/catalog.report.json",
"sha256": "1af2d3449aaff6e62d452f7a8b1b81fde664175d4102ab0119709aeec9fd8124"
},
{
"path": "coverage/glb-machine/gantry/dialog-1440.png",
"sha256": "579704e84be183da2b6086ec706dbcbbb27bff7075b25730c1932e4aa84d40a5"
},
{
"path": "coverage/glb-machine/gantry/dialog-390.png",
"sha256": "6b95d18157a075e7b2cb17f167c9900df0cf1a09715ba15ec8de30a1b160a36b"
},
{
"path": "coverage/glb-machine/gantry/generation.log",
"sha256": "7d18176ee974965d1fbe0a3c27f57e340d996eb476b8b5d81e5378b7ff5709e9"
},
{
"path": "coverage/glb-machine/gantry/geometry/ac-edited.png",
"sha256": "ccaca95b9a9074011a06177e87ca1aaff5b49385f3851873e3d218126cf5d532"
},
{
"path": "coverage/glb-machine/gantry/geometry/bc-edited.png",
"sha256": "9393dde053559491535f43338de29eac2eb0b6379395f491fc4ef027537dd808"
},
{
"path": "coverage/glb-machine/gantry/geometry/browser.report.json",
"sha256": "fd68f0041ad8ed904be3cb85ca2f9b5a01c0928043c9d3104012c109193ba50d"
},
{
"path": "coverage/glb-machine/gantry/geometry.log",
"sha256": "cae26be9c602ce9e81837e59f73aa7d42cafdd7dbfc10c3c1fff567ee0df607b"
},
{
"path": "coverage/glb-machine/gantry/gltf-validation.report.json",
"sha256": "d0ac233f7aafe1f92073410fa6744a8640fbbbd9a8d9c8875edf37b5b4cf0772"
},
{
"path": "coverage/glb-machine/gantry/motion.log",
"sha256": "57ed59ba66d43ff00784733a3ddb7a0c3936c33aae0e03ab3c4fd4c2eacca361"
},
{
"path": "coverage/glb-machine/gantry/motion.report.json",
"sha256": "91c3fa8ed8037aac8e71b8c76d54c38db9dc011ae25f63553966860b624aa626"
},
{
"path": "coverage/glb-machine/gantry/reproducibility.report.json",
"sha256": "02d19f1ac767467e1f6871c40d2ed1ba1ee54bcee6781b5b984b1fbfcc9084e9"
},
{
"path": "coverage/glb-machine/gantry/validation.log",
"sha256": "e50555ddaccc33857eefa72a06cd3846f92fb00a9e05170d457169e4201e3852"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@@ -0,0 +1,507 @@
{
"report_id": "gantry-machine-browser-v1",
"status": "verified",
"examples": [
{
"entry": {
"id": "ac",
"label": "AC 示例",
"profile": "trt-xyz-head/1",
"filename": "demo-ac-xyz-head.glb",
"urdf": "demo-ac-xyz-head.urdf",
"bytes": 530848,
"sha256": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1",
"coordinates": "XYZAC",
"rotation_point_mm": [
24,
-12,
8
],
"offsets_mm": [
0,
18,
-45
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
},
"profile": "trt-xyz-head/1",
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"tool": "spindle_head",
"initial": [],
"moved": [],
"rejections": []
},
{
"entry": {
"id": "bc",
"label": "BC 示例",
"profile": "trt-xyz-head/1",
"filename": "demo-bc-xyz-head.glb",
"urdf": "demo-bc-xyz-head.urdf",
"bytes": 530532,
"sha256": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b",
"coordinates": "XYZBC",
"rotation_point_mm": [
-18,
14,
12
],
"offsets_mm": [
22,
0,
-40
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
},
"profile": "trt-xyz-head/1",
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"tool": "spindle_head",
"initial": [],
"moved": [],
"rejections": []
},
{
"entry": {
"id": "ac-gantry",
"label": "AC 示例桁架型",
"profile": "trt-xyz-gantry/1",
"filename": "demo-ac-gantry.glb",
"urdf": "demo-ac-gantry.urdf",
"bytes": 526004,
"sha256": "cee9fe5080fac3f87f8daca5d0f89ddb0c3c3eb7657fbdc81a7664ba9c4e4995",
"coordinates": "XYZAC",
"rotation_point_mm": [
24,
-12,
8
],
"offsets_mm": [
0,
18,
-45
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 89
},
"profile": "trt-xyz-gantry/1",
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"tool": "z_slide",
"initial": [
{
"name": "gantry_z_ram_59",
"parent": "z_slide",
"position": [
0,
3.65,
0.1999999999999992
]
},
{
"name": "gantry_y_carriage_55",
"parent": "y_slide",
"position": [
0,
5,
-1.1102230246251565e-15
]
},
{
"name": "moving_bridge_chord_45",
"parent": "x_slide",
"position": [
0,
5.5,
-1.2212453270876722e-15
]
},
{
"name": "moving_bridge_chord_46",
"parent": "x_slide",
"position": [
0,
6.5,
-1.4432899320127035e-15
]
},
{
"name": "gantry_post_11",
"parent": "base",
"position": [
-3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_13",
"parent": "base",
"position": [
-3.8,
0.5000000000000007,
3.2
]
},
{
"name": "gantry_post_15",
"parent": "base",
"position": [
3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_17",
"parent": "base",
"position": [
3.8,
0.5000000000000007,
3.2
]
}
],
"moved": [
{
"name": "gantry_z_ram_59",
"parent": "z_slide",
"position": [
0.2,
3.6999999999999997,
0.2999999999999992
]
},
{
"name": "gantry_y_carriage_55",
"parent": "y_slide",
"position": [
0.2,
5,
0.0999999999999989
]
},
{
"name": "moving_bridge_chord_45",
"parent": "x_slide",
"position": [
0.2,
5.5,
-1.2212453270876722e-15
]
},
{
"name": "moving_bridge_chord_46",
"parent": "x_slide",
"position": [
0.2,
6.5,
-1.4432899320127035e-15
]
},
{
"name": "gantry_post_11",
"parent": "base",
"position": [
-3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_13",
"parent": "base",
"position": [
-3.8,
0.5000000000000007,
3.2
]
},
{
"name": "gantry_post_15",
"parent": "base",
"position": [
3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_17",
"parent": "base",
"position": [
3.8,
0.5000000000000007,
3.2
]
}
],
"rejections": [
"wrong-tool",
"wrong-profile",
"rotary-on-xyz"
]
},
{
"entry": {
"id": "bc-gantry",
"label": "BC 示例桁架型",
"profile": "trt-xyz-gantry/1",
"filename": "demo-bc-gantry.glb",
"urdf": "demo-bc-gantry.urdf",
"bytes": 525688,
"sha256": "d7188520ef1e79576d99861294e9dbdf24deb6fe14697ad5106fe605fa1766b5",
"coordinates": "XYZBC",
"rotation_point_mm": [
-18,
14,
12
],
"offsets_mm": [
22,
0,
-40
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 89
},
"profile": "trt-xyz-gantry/1",
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"tool": "z_slide",
"initial": [
{
"name": "gantry_z_ram_59",
"parent": "z_slide",
"position": [
0,
3.65,
0.1999999999999992
]
},
{
"name": "gantry_y_carriage_55",
"parent": "y_slide",
"position": [
0,
5,
-1.1102230246251565e-15
]
},
{
"name": "moving_bridge_chord_45",
"parent": "x_slide",
"position": [
0,
5.5,
-1.2212453270876722e-15
]
},
{
"name": "moving_bridge_chord_46",
"parent": "x_slide",
"position": [
0,
6.5,
-1.4432899320127035e-15
]
},
{
"name": "gantry_post_11",
"parent": "base",
"position": [
-3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_13",
"parent": "base",
"position": [
-3.8,
0.5000000000000007,
3.2
]
},
{
"name": "gantry_post_15",
"parent": "base",
"position": [
3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_17",
"parent": "base",
"position": [
3.8,
0.5000000000000007,
3.2
]
}
],
"moved": [
{
"name": "gantry_z_ram_59",
"parent": "z_slide",
"position": [
0.2,
3.6999999999999997,
0.2999999999999992
]
},
{
"name": "gantry_y_carriage_55",
"parent": "y_slide",
"position": [
0.2,
5,
0.0999999999999989
]
},
{
"name": "moving_bridge_chord_45",
"parent": "x_slide",
"position": [
0.2,
5.5,
-1.2212453270876722e-15
]
},
{
"name": "moving_bridge_chord_46",
"parent": "x_slide",
"position": [
0.2,
6.5,
-1.4432899320127035e-15
]
},
{
"name": "gantry_post_11",
"parent": "base",
"position": [
-3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_13",
"parent": "base",
"position": [
-3.8,
0.5000000000000007,
3.2
]
},
{
"name": "gantry_post_15",
"parent": "base",
"position": [
3.8,
0.4999999999999993,
-3.2
]
},
{
"name": "gantry_post_17",
"parent": "base",
"position": [
3.8,
0.5000000000000007,
3.2
]
}
],
"rejections": [
"wrong-tool",
"wrong-profile",
"rotary-on-xyz"
]
}
],
"layouts": [
{
"width": 1440,
"height": 1000,
"controls": 10
},
{
"width": 390,
"height": 844,
"controls": 10
}
],
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

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