Compare commits
18 Commits
91ebd56d6d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| db29ae625f | |||
| af65b69b2c | |||
| 469881794c | |||
| ae525d6b93 | |||
| 23d07e72d1 | |||
| b15af28034 | |||
| d4d0088daf | |||
| 3cb5950d1f | |||
| 8443930edb | |||
| 1eb9840941 | |||
| 0de96bbc72 | |||
| 86cfa2b7f0 | |||
| 338500dfc2 | |||
| 8f1a22485d | |||
| a7233bc8e4 | |||
| a2c6dd1c01 | |||
| d8488641ca | |||
| 989866b3ab |
10
README.md
@@ -5,12 +5,22 @@
|
||||
|
||||
机床预览区的部件级三维机床管理器(GLB 部件、层级、原点、姿态、RTCP 标定和物理零点)入口:
|
||||
[`三维机床管理器文档、任务矩阵与验收证据`](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)。
|
||||
|
||||
五轴机床 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)。
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
"mode": "production-preview",
|
||||
"status": "verified",
|
||||
"checks": [
|
||||
"eight GLB parts rendered with studio PMREM lighting and calibrated exposure",
|
||||
"dragging GLB root tree nodes updates component parent hierarchy",
|
||||
"origin visibility, numeric translation/rotation and TransformControls mode update",
|
||||
"internal mesh parent-relative position and rotation survive GLB export without moving its parent",
|
||||
"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",
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
"mode": "development-source",
|
||||
"status": "verified",
|
||||
"checks": [
|
||||
"eight GLB parts rendered with studio PMREM lighting and calibrated exposure",
|
||||
"dragging GLB root tree nodes updates component parent hierarchy",
|
||||
"origin visibility, numeric translation/rotation and TransformControls mode update",
|
||||
"internal mesh parent-relative position and rotation survive GLB export without moving its parent",
|
||||
"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",
|
||||
|
||||
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: 26 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 96 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 |
@@ -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": []
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
BIN
coverage/glb-machine-manager/workbench/desktop.png
Normal file
|
After Width: | Height: | Size: 175 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"]}
|
||||