Compare commits
29 Commits
1076bfa5e0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| db29ae625f | |||
| af65b69b2c | |||
| 469881794c | |||
| ae525d6b93 | |||
| 23d07e72d1 | |||
| b15af28034 | |||
| d4d0088daf | |||
| 3cb5950d1f | |||
| 8443930edb | |||
| 1eb9840941 | |||
| 0de96bbc72 | |||
| 86cfa2b7f0 | |||
| 338500dfc2 | |||
| 8f1a22485d | |||
| a7233bc8e4 | |||
| a2c6dd1c01 | |||
| d8488641ca | |||
| 989866b3ab | |||
| 91ebd56d6d | |||
| a472911ad1 | |||
| 63f726dc32 | |||
| 70229a8d1f | |||
| 2fd0a3d90b | |||
| c2892bfe36 | |||
| 320a69a916 | |||
| 72b38b7d43 | |||
| 53285d04af | |||
| 8cafbb326b | |||
| 6d04425121 |
10
README.md
@@ -5,12 +5,22 @@
|
|||||||
|
|
||||||
机床预览区的部件级三维机床管理器(GLB 部件、层级、原点、姿态、RTCP 标定和物理零点)入口:
|
机床预览区的部件级三维机床管理器(GLB 部件、层级、原点、姿态、RTCP 标定和物理零点)入口:
|
||||||
[`三维机床管理器文档、任务矩阵与验收证据`](docs/glb-machine-manager/README.md)。
|
[`三维机床管理器文档、任务矩阵与验收证据`](docs/glb-machine-manager/README.md)。
|
||||||
|
线上站点 `https://49.232.250.35:58010/` 的操作说明、案例支持状态与发布功能巡检结论见
|
||||||
|
[`LinuxCNC Web/WASM 使用说明书`](docs/user-manual/LinuxCNC-Web-使用说明书.html)。
|
||||||
|
详细功能规格见 [`三维机床管理详细功能文档`](docs/glb-machine-manager/00-三维机床管理详细功能文档.md)。
|
||||||
|
可离线阅读的图文版见 [`三维机床管理详细功能文档(HTML)`](docs/glb-machine-manager/00-三维机床管理详细功能文档.html)。
|
||||||
|
退出重启接续见 [`三维机床管理 HTML 文档接续入口`](nextTask-glb-machine-manager-doc.md)。
|
||||||
|
|
||||||
当前配置驱动改造的重启接续入口:[`nextTask-hardcoding.md`](nextTask-hardcoding.md)。
|
当前配置驱动改造的重启接续入口:[`nextTask-hardcoding.md`](nextTask-hardcoding.md)。
|
||||||
|
|
||||||
五轴机床 INI 参数化设计(XYZAC / XYZBC)的当前工作入口:
|
五轴机床 INI 参数化设计(XYZAC / XYZBC)的当前工作入口:
|
||||||
[`项目文档、任务矩阵与验收证据`](docs/trt-parametric/README.md)。本专项按该索引接续。
|
[`项目文档、任务矩阵与验收证据`](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 全功能完成声明。
|
本仓库的目标是将 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)。
|
完整仿真功能范围、任务分解和 M0-M8 里程碑见 [`完整仿真移植实施计划`](docs/linuxcnc-web-wasm-complete-simulation-plan.md);技术实施接续入口为 [`nextTask1.md`](nextTask1.md)。
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
"mode": "production-preview",
|
"mode": "production-preview",
|
||||||
"status": "verified",
|
"status": "verified",
|
||||||
"checks": [
|
"checks": [
|
||||||
"eight GLB parts imported and rendered in the Three.js editor",
|
"eight GLB parts rendered with studio PMREM lighting",
|
||||||
"origin visibility, numeric translation/rotation and TransformControls mode update",
|
"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 assembly exports a self-contained managed GLB",
|
||||||
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
|
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
|
||||||
"same component assembly switches to BC hierarchy and applies BC geometry",
|
"same component assembly switches to BC hierarchy and applies BC geometry",
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
],
|
],
|
||||||
"browser_errors": [],
|
"browser_errors": [],
|
||||||
"final": {
|
"final": {
|
||||||
"program": "aborted",
|
"program": "running",
|
||||||
"machine": "ON",
|
"machine": "ON",
|
||||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"
|
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
"mode": "development-source",
|
"mode": "development-source",
|
||||||
"status": "verified",
|
"status": "verified",
|
||||||
"checks": [
|
"checks": [
|
||||||
"eight GLB parts imported and rendered in the Three.js editor",
|
"eight GLB parts rendered with studio PMREM lighting",
|
||||||
"origin visibility, numeric translation/rotation and TransformControls mode update",
|
"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 assembly exports a self-contained managed GLB",
|
||||||
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
|
"validated hierarchy applied through LOAD_WORKSPACE with geometry and physical zero in userData",
|
||||||
"same component assembly switches to BC hierarchy and applies BC geometry",
|
"same component assembly switches to BC hierarchy and applies BC geometry",
|
||||||
|
|||||||
15
coverage/glb-machine-manager/document/browser.report.json
Normal 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": []
|
||||||
|
}
|
||||||
15
coverage/glb-machine-manager/document/cloud.report.json
Normal 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": []
|
||||||
|
}
|
||||||
@@ -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"}
|
||||||
20
coverage/glb-machine-manager/document/deployment.report.json
Normal 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": []
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
coverage/glb-machine-manager/document/files-and-recovery.png
Normal file
|
After Width: | Height: | Size: 155 KiB |
@@ -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"]}
|
||||||
1958
coverage/glb-machine-manager/document/mill700/browser.report.json
Normal file
BIN
coverage/glb-machine-manager/document/mill700/xyzac-live.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
4108
coverage/glb-machine-manager/document/mill700/xyzac.json
Normal file
BIN
coverage/glb-machine-manager/document/mill700/xyzbc-live.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
4108
coverage/glb-machine-manager/document/mill700/xyzbc.json
Normal file
BIN
coverage/glb-machine-manager/document/saved-eight-parts.glb
Normal file
14
coverage/glb-machine-manager/document/workbench.report.json
Normal 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": []
|
||||||
|
}
|
||||||
2816
coverage/glb-machine-manager/joint-dof/browser.report.json
Normal 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"}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
1
coverage/glb-machine-manager/joint-dof/math.report.json
Normal 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"]}
|
||||||
BIN
coverage/glb-machine-manager/joint-dof/xyzac-live.png
Normal file
|
After Width: | Height: | Size: 203 KiB |
4108
coverage/glb-machine-manager/joint-dof/xyzac.json
Normal file
BIN
coverage/glb-machine-manager/joint-dof/xyzbc-live.png
Normal file
|
After Width: | Height: | Size: 203 KiB |
4108
coverage/glb-machine-manager/joint-dof/xyzbc.json
Normal 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": []
|
||||||
|
}
|
||||||
12
coverage/glb-machine-manager/machine-type/cloud.report.json
Normal 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": []
|
||||||
|
}
|
||||||
BIN
coverage/glb-machine-manager/machine-type/controller-import.png
Normal file
|
After Width: | Height: | Size: 181 KiB |
@@ -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"}
|
||||||
@@ -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": []
|
||||||
|
}
|
||||||
BIN
coverage/glb-machine-manager/machine-type/dialog-type.png
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
coverage/glb-machine-manager/machine-type/failure.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
@@ -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"]}
|
||||||
BIN
coverage/glb-machine-manager/machine-type/mill700/xyzac-live.png
Normal file
|
After Width: | Height: | Size: 147 KiB |
4108
coverage/glb-machine-manager/machine-type/mill700/xyzac.json
Normal file
BIN
coverage/glb-machine-manager/machine-type/mill700/xyzbc-live.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
4108
coverage/glb-machine-manager/machine-type/mill700/xyzbc.json
Normal 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。
|
||||||
BIN
coverage/glb-machine-manager/machine-type/test-xyzbc.glb
Normal 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": []
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 137 KiB |
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"status": "verified",
|
||||||
|
"baseline": false,
|
||||||
|
"checks": [
|
||||||
|
"manager export retains source PBR colors, roughness, metalness and normal maps",
|
||||||
|
"real m1 and saturated RGB / white / metal / dark material probes render without browser exceptions",
|
||||||
|
"control panel uses the same AgX neutral studio for imported GLBs"
|
||||||
|
],
|
||||||
|
"errors": [],
|
||||||
|
"manager": {
|
||||||
|
"lighting": "neutral-studio-pmrem",
|
||||||
|
"toneMapping": "AgX",
|
||||||
|
"exposure": "1",
|
||||||
|
"meshes": 41
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 57 KiB |
BIN
coverage/glb-machine-manager/material-rendering/after/m1.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 80 KiB |
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"status": "verified",
|
||||||
|
"baseline": true,
|
||||||
|
"checks": [
|
||||||
|
"real m1 and saturated RGB / white / metal / dark material probes render without browser exceptions"
|
||||||
|
],
|
||||||
|
"errors": [],
|
||||||
|
"manager": {
|
||||||
|
"lighting": "studio-pmrem",
|
||||||
|
"exposure": "1.45",
|
||||||
|
"meshes": 41
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
coverage/glb-machine-manager/material-rendering/before/m1.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
After Width: | Height: | Size: 162 KiB |
626
coverage/glb-machine-manager/mill700/browser.report.json
Normal 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": []
|
||||||
|
}
|
||||||
BIN
coverage/glb-machine-manager/mill700/failure.png
Normal file
|
After Width: | Height: | Size: 304 KiB |
BIN
coverage/glb-machine-manager/mill700/mill700-studio-lighting.png
Normal file
|
After Width: | Height: | Size: 296 KiB |
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"status": "verified",
|
||||||
|
"checks": [
|
||||||
|
"same filenames retain unique selection; model selection clears search and highlights preview",
|
||||||
|
"viewport click picks correct import; orbit drag returning to start does not select",
|
||||||
|
"delete unselected/selected import by ID; undo restores and selects it; redo repairs selection",
|
||||||
|
"deleting parent import preserves separately imported child; undo restores parent link",
|
||||||
|
"last deletion clears preview; undo restores selection from empty state",
|
||||||
|
"real m1 deletion/undo preserves all five bindings; live follow locks deletion",
|
||||||
|
"selection and deletion reachable on short and narrow viewports"
|
||||||
|
],
|
||||||
|
"errors": []
|
||||||
|
}
|
||||||
BIN
coverage/glb-machine-manager/model-selection/desktop.png
Normal file
|
After Width: | Height: | Size: 202 KiB |
@@ -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": []
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 252 KiB |
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"schema": "physical-case-glb-browser.v1",
|
||||||
|
"status": "verified",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"id": "xyzac-trt",
|
||||||
|
"tree_nodes": 21,
|
||||||
|
"scene_objects": "24",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "xyzbc-trt",
|
||||||
|
"tree_nodes": 21,
|
||||||
|
"scene_objects": "24",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "xyzab-tdr",
|
||||||
|
"tree_nodes": 21,
|
||||||
|
"scene_objects": "24",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bridge-mill-5axiskins",
|
||||||
|
"tree_nodes": 21,
|
||||||
|
"scene_objects": "24",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "max5-maxkins",
|
||||||
|
"tree_nodes": 21,
|
||||||
|
"scene_objects": "24",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "hexapod-genhexkins",
|
||||||
|
"tree_nodes": 21,
|
||||||
|
"scene_objects": "24",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "pentapod-pentakins",
|
||||||
|
"tree_nodes": 19,
|
||||||
|
"scene_objects": "22",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "puma-pumakins",
|
||||||
|
"tree_nodes": 19,
|
||||||
|
"scene_objects": "22",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "puma-genserkins",
|
||||||
|
"tree_nodes": 19,
|
||||||
|
"scene_objects": "22",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "trivkins-xyzab",
|
||||||
|
"tree_nodes": 21,
|
||||||
|
"scene_objects": "24",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "trivkins-xyzcw",
|
||||||
|
"tree_nodes": 22,
|
||||||
|
"scene_objects": "25",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "trivkins-xyzya",
|
||||||
|
"tree_nodes": 22,
|
||||||
|
"scene_objects": "25",
|
||||||
|
"rendered": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "scorbot-kins",
|
||||||
|
"tree_nodes": 17,
|
||||||
|
"scene_objects": "20",
|
||||||
|
"rendered": "true"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"browser_errors": []
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 265 KiB |
BIN
coverage/glb-machine-manager/physical-cases/max5-maxkins.png
Normal file
|
After Width: | Height: | Size: 251 KiB |
|
After Width: | Height: | Size: 262 KiB |
BIN
coverage/glb-machine-manager/physical-cases/puma-genserkins.png
Normal file
|
After Width: | Height: | Size: 251 KiB |
BIN
coverage/glb-machine-manager/physical-cases/puma-pumakins.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
coverage/glb-machine-manager/physical-cases/scorbot-kins.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
coverage/glb-machine-manager/physical-cases/trivkins-xyzab.png
Normal file
|
After Width: | Height: | Size: 252 KiB |
BIN
coverage/glb-machine-manager/physical-cases/trivkins-xyzcw.png
Normal file
|
After Width: | Height: | Size: 252 KiB |
BIN
coverage/glb-machine-manager/physical-cases/trivkins-xyzya.png
Normal file
|
After Width: | Height: | Size: 251 KiB |
BIN
coverage/glb-machine-manager/physical-cases/xyzab-tdr.png
Normal file
|
After Width: | Height: | Size: 251 KiB |
BIN
coverage/glb-machine-manager/physical-cases/xyzac-trt.png
Normal file
|
After Width: | Height: | Size: 250 KiB |
BIN
coverage/glb-machine-manager/physical-cases/xyzbc-trt.png
Normal file
|
After Width: | Height: | Size: 250 KiB |
|
After Width: | Height: | Size: 182 KiB |
266
coverage/glb-machine-manager/physical-drive/browser.report.json
Normal file
@@ -0,0 +1,266 @@
|
|||||||
|
{
|
||||||
|
"schema": "five-axis-live-models.v1",
|
||||||
|
"url": "http://127.0.0.1:5174/",
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"id": "xyzac-trt",
|
||||||
|
"coordinates": "XYZAC",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"A",
|
||||||
|
"C"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"A",
|
||||||
|
"C"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "xyzbc-trt",
|
||||||
|
"coordinates": "XYZBC",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"B",
|
||||||
|
"C"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"B",
|
||||||
|
"C"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "xyzab-tdr",
|
||||||
|
"coordinates": "XYZAB",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"A",
|
||||||
|
"B"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"A",
|
||||||
|
"B"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bridge-mill-5axiskins",
|
||||||
|
"coordinates": "XYZBCWY",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"W",
|
||||||
|
"Y#2"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"W",
|
||||||
|
"Y#2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "max5-maxkins",
|
||||||
|
"coordinates": "XYZBC",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"J5"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"B",
|
||||||
|
"C",
|
||||||
|
"J5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "hexapod-genhexkins",
|
||||||
|
"coordinates": "XYZABC",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4",
|
||||||
|
"J5"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4",
|
||||||
|
"J5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "pentapod-pentakins",
|
||||||
|
"coordinates": "XYZAB",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "puma-pumakins",
|
||||||
|
"coordinates": "XYZABC",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4",
|
||||||
|
"J5"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4",
|
||||||
|
"J5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "puma-genserkins",
|
||||||
|
"coordinates": "XYZABC",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4",
|
||||||
|
"J5"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4",
|
||||||
|
"J5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "trivkins-xyzab",
|
||||||
|
"coordinates": "XYZAB",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"A",
|
||||||
|
"B"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"A",
|
||||||
|
"B"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "trivkins-xyzcw",
|
||||||
|
"coordinates": "XYZCW",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"C",
|
||||||
|
"W"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"C",
|
||||||
|
"W"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "trivkins-xyzya",
|
||||||
|
"coordinates": "XYZYA",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"Y#2",
|
||||||
|
"A"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"Y#2",
|
||||||
|
"A"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "scorbot-kins",
|
||||||
|
"coordinates": "XYZAB",
|
||||||
|
"glbLoaded": true,
|
||||||
|
"slotKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4"
|
||||||
|
],
|
||||||
|
"expectedKeys": [
|
||||||
|
"J0",
|
||||||
|
"J1",
|
||||||
|
"J2",
|
||||||
|
"J3",
|
||||||
|
"J4"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"browser_errors": []
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 184 KiB |
BIN
coverage/glb-machine-manager/physical-drive/max5-maxkins.png
Normal file
|
After Width: | Height: | Size: 170 KiB |
|
After Width: | Height: | Size: 179 KiB |
BIN
coverage/glb-machine-manager/physical-drive/puma-genserkins.png
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
coverage/glb-machine-manager/physical-drive/puma-pumakins.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
coverage/glb-machine-manager/physical-drive/scorbot-kins.png
Normal file
|
After Width: | Height: | Size: 128 KiB |
BIN
coverage/glb-machine-manager/physical-drive/trivkins-xyzab.png
Normal file
|
After Width: | Height: | Size: 133 KiB |
BIN
coverage/glb-machine-manager/physical-drive/trivkins-xyzcw.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
coverage/glb-machine-manager/physical-drive/trivkins-xyzya.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
coverage/glb-machine-manager/physical-drive/xyzab-tdr.png
Normal file
|
After Width: | Height: | Size: 172 KiB |
BIN
coverage/glb-machine-manager/physical-drive/xyzac-trt.png
Normal file
|
After Width: | Height: | Size: 210 KiB |
BIN
coverage/glb-machine-manager/physical-drive/xyzbc-trt.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"schema": "rtcp-program-library-browser.v1",
|
||||||
|
"status": "verified",
|
||||||
|
"checks": [
|
||||||
|
"AC machine defaults to 15 XYZAC/common programs",
|
||||||
|
"all-source scope retains 32 upstream programs plus 13 case-specific dry-run programs",
|
||||||
|
"support remap is source-readable and execution-disabled",
|
||||||
|
"mismatched XYZAB program is visible and execution-disabled",
|
||||||
|
"XYZAC switchkins test loaded through WASM with canonical source hash and preview",
|
||||||
|
"generated XYZAC native dry-run loaded and completed in the Web control panel",
|
||||||
|
"native Hexapod program switches to its generic WASM machine profile and loads"
|
||||||
|
],
|
||||||
|
"browser_errors": [],
|
||||||
|
"final": {
|
||||||
|
"coordinates": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini",
|
||||||
|
"program_path": "machine-cases/hexapod-genhexkins.ngc",
|
||||||
|
"program_status": "loaded",
|
||||||
|
"source_hash": "fnv1a64:33cc9e04e06ae391"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 180 KiB |
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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": []
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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": []
|
||||||
|
}
|
||||||
@@ -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": []
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
15
coverage/glb-machine-manager/workbench/browser.report.json
Normal 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": []
|
||||||
|
}
|
||||||
14
coverage/glb-machine-manager/workbench/cloud.report.json
Normal 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": []
|
||||||
|
}
|
||||||