Make machine configuration authoritative and restore native checkpoints exactly

This commit is contained in:
2026-09-18 09:09:41 +08:00
parent 6a69511276
commit 4a568f1f4c
94 changed files with 10882 additions and 301 deletions

View File

@@ -0,0 +1,18 @@
{
"report_id": "configurable-ui-browser-v1",
"status": "verified",
"default_machine": "xyzbc-trt",
"entrypoint": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/configured-machine.ini",
"program": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/configured-preview.ngc",
"increments": [
"0.25",
"2.5"
],
"feed_max": 1.3,
"colors": {
"purple": 143449,
"green": 85
},
"configured_icons": 24,
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

View File

@@ -0,0 +1,76 @@
{
"report_id": "configuration-input-audit-v1",
"status": "verified",
"scope": "configurable inputs; not a zero-literals claim",
"checks": {
"machine_catalog_parses": true,
"resource_catalog_parses": true,
"settings_parse": true,
"worker_reparses_ini": true,
"axis_limits_from_ini": true,
"joint_limits_from_ini": true,
"no_kinematics_example_limits": true,
"no_loader_fixed_timing": true,
"no_loader_axis3_override": true,
"native_axis_dynamics_input": true,
"no_native_xyzac_speed_override": true,
"native_acceleration_upper_bound": true,
"model_uses_visual_configuration": true,
"machine_path_color_configured": true
},
"sources": [
{
"path": "web/workspace/machine-catalog.json",
"sha256": "b71a4cf6f5517710c8cc7ed496b3d5d8d7850c07ab4dc5096548407f93dd9130"
},
{
"path": "web/workspace/simulation-resources.json",
"sha256": "872a0e52dc4f8725d623ad47f3cbb446b6cb257793ce78ca1f8f0bcf1ee0966b"
},
{
"path": "web/workspace/web-settings.json",
"sha256": "c9f7da5ef8ec0d17ee2e9e9f55e71acc051eb4afe75b85a961a18599f28c8a82"
},
{
"path": "web/workspace/trt-configuration.mjs",
"sha256": "5ede37c1066545da1825b98ccedd82c22dad7f8f311c8ea0112595a916e6b432"
},
{
"path": "web/worker/sim-session.mjs",
"sha256": "07c40bb0e8603291cdea245be03c8afc7d9b6582452433ed4f5eac413add988f"
},
{
"path": "web/worker/wasm-linuxcnc-tp.mjs",
"sha256": "50616c4d75e3693f06e0095c9df76671f7af9d417e351a68796bdba92dcbe5f7"
},
{
"path": "wasm-core/src/sim_linuxcnc_tp.c",
"sha256": "2db45da43cd7951a172d118c3dd346a2d5182eae29f0bbe2abd9b9d5a645da26"
},
{
"path": "web/worker/wasm-xyzac-kinematics.mjs",
"sha256": "7453c58a220b31a1c74ff2e2f9f3d6b7d16cc84973b9ea5be17d06fa179af37f"
},
{
"path": "web/workspace/sim-case-loader.mjs",
"sha256": "d6399f2fcb053fc625933d72118b82e7f6eff73df7dc02a606fe45f238b06207"
},
{
"path": "web/react/src/xyzac-machine-model.ts",
"sha256": "1d22af1384e4e26adad8bed122fabd17ecfb046d0320c920ca1c7a385c40f5b6"
},
{
"path": "web/react/src/XyzacMachineView.tsx",
"sha256": "d0f42c020a8da8708323fc778d206460fa1ea02d114d5df2a3c2eaf85f138f3a"
}
],
"wasm_sha256": "213b55e64b45c14df5c40e59827fa8bb4903135cd788664bb08263f08a49738f",
"retained": [
"mathematical constants and tolerances",
"ABI layouts, enums, and capacities",
"source model mesh topology",
"CSS/icon assets",
"test fixtures and historical evidence",
"upstream LinuxCNC and dependency locks"
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,657 @@
{
"report_id": "trt-rtcp-jog-browser-v1",
"status": "verified",
"machines": [
{
"coordinates": "XYZAC",
"rows": [
{
"axis": "a",
"before": {
"joints": [
5.066649999999981,
4.066650000000003,
0,
0,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 64,
"rendered_tick": 64,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
5.066649999999981,
4.841821345591999,
-1.1400746004481288,
4.199999999999992,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 88,
"rendered_tick": 88,
"tool_tip": [
0,
2,
0
],
"tcp_error": 1.3877787807814457e-17
},
"stopped": {
"joints": [
5.066649999999981,
5.19921919111046,
-1.6107075438884007,
6.000000000000007,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 99,
"rendered_tick": 99,
"tool_tip": [
0,
2,
0
],
"tcp_error": 2.2247786310271853e-16
}
},
{
"axis": "c",
"before": {
"joints": [
5.066649999999981,
5.19921919111046,
-1.6107075438884007,
6.000000000000007,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 99,
"rendered_tick": 99,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
4.266433017896709,
6.027611642587745,
-1.5236399887760221,
6.000000000000007,
10.199999999999976
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 143,
"rendered_tick": 136,
"tool_tip": [
0,
2,
0
],
"tcp_error": 2.2473876566261383e-16
},
"stopped": {
"joints": [
4.110427463793882,
6.158484995689042,
-1.5098846450816552,
6.000000000000007,
11.999999999999938
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 154,
"rendered_tick": 154,
"tool_tip": [
0,
2,
0
],
"tcp_error": 6.938893903907228e-18
}
},
{
"axis": "a",
"before": {
"joints": [
4.110427463793882,
6.158484995689042,
-1.5098846450816552,
6.000000000000007,
11.999999999999938
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 154,
"rendered_tick": 154,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
4.110427463793882,
9.152485181578204,
-4.3665028598393185,
19.19999999999992,
11.999999999999938
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 208,
"rendered_tick": 202,
"tool_tip": [
0,
2,
0
],
"tcp_error": 1.3877787807814457e-17
},
"stopped": {
"joints": [
4.110427463793882,
9.532273556710663,
-4.645534652791378,
20.69999999999989,
11.999999999999938
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 218,
"rendered_tick": 218,
"tool_tip": [
0,
2,
0
],
"tcp_error": 4.445768331151997e-16
}
},
{
"axis": "c",
"before": {
"joints": [
4.110427463793882,
9.532273556710663,
-4.645534652791378,
20.69999999999989,
11.999999999999938
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 218,
"rendered_tick": 218,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
3.8414816180013283,
9.727059259543312,
-4.571931269146798,
20.69999999999989,
14.999999999999936
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 238,
"rendered_tick": 238,
"tool_tip": [
0,
2,
0
],
"tcp_error": 1.3877787807814457e-17
},
"stopped": {
"joints": [
3.6750116751266004,
9.837515099025248,
-4.53019348546481,
20.69999999999989,
16.799999999999933
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": 0,
"y_offset": 20,
"z_offset": 10,
"tool_offset": 0
},
"tick": 249,
"rendered_tick": 249,
"tool_tip": [
0,
2,
0
],
"tcp_error": 4.443601777255714e-16
}
}
]
},
{
"coordinates": "XYZBC",
"rows": [
{
"axis": "b",
"before": {
"joints": [
5.0666499999999814,
3.666650000000003,
0,
0,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 311,
"rendered_tick": 311,
"tool_tip": [
0,
1.5,
0
]
},
"moving": {
"joints": [
6.166264319539167,
3.666650000000003,
-2.0129466859294602,
4.499999999999995,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 336,
"rendered_tick": 330,
"tool_tip": [
0,
1.4879917702595602,
0
],
"tcp_error": 2.7755575615628914e-17
},
"stopped": {
"joints": [
6.56128605042624,
3.666650000000003,
-2.8412572372826563,
6.30000000000001,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 347,
"rendered_tick": 347,
"tool_tip": [
0,
1.4715874276271734,
0
],
"tcp_error": 5.551115123125783e-17
}
},
{
"axis": "c",
"before": {
"joints": [
6.56128605042624,
3.666650000000003,
-2.8412572372826563,
6.30000000000001,
0
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 347,
"rendered_tick": 347,
"tool_tip": [
0,
1.4715874276271734,
0
]
},
"moving": {
"joints": [
6.259816863284065,
4.05287171910206,
-2.807974729167359,
6.30000000000001,
4.499999999999995
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 372,
"rendered_tick": 372,
"tool_tip": [
0,
1.4719202527083264,
0
],
"tcp_error": 6.938893903907228e-18
},
"stopped": {
"joints": [
6.130945648374414,
4.200492284609181,
-2.793747214585462,
6.30000000000001,
6.30000000000001
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 383,
"rendered_tick": 383,
"tool_tip": [
0,
1.4720625278541453,
0
],
"tcp_error": 2.2887833992611187e-16
}
},
{
"axis": "b",
"before": {
"joints": [
6.130945648374414,
4.200492284609181,
-2.793747214585462,
6.30000000000001,
6.30000000000001
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 383,
"rendered_tick": 383,
"tool_tip": [
0,
1.4720625278541453,
0
]
},
"moving": {
"joints": [
7.840448318636497,
4.200492284609181,
-7.46817651846061,
16.199999999999992,
6.30000000000001
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 426,
"rendered_tick": 420,
"tool_tip": [
0,
1.4340259659607903,
0
],
"tcp_error": 0
},
"stopped": {
"joints": [
8.063291030797899,
4.200492284609181,
-8.346382633448467,
17.999999999999954,
6.30000000000001
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 437,
"rendered_tick": 437,
"tool_tip": [
0,
1.4165361736655155,
0
],
"tcp_error": 2.2887833992611187e-16
}
},
{
"axis": "c",
"before": {
"joints": [
8.063291030797899,
4.200492284609181,
-8.346382633448467,
17.999999999999954,
6.30000000000001
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 437,
"rendered_tick": 437,
"tool_tip": [
0,
1.4165361736655155,
0
]
},
"moving": {
"joints": [
7.5982993210492396,
4.6836006491845,
-8.195297668366113,
17.999999999999954,
12.60000000000002
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 468,
"rendered_tick": 461,
"tool_tip": [
0,
1.41752527642095,
0
],
"tcp_error": 2.2247786310271853e-16
},
"stopped": {
"joints": [
7.456439115506413,
4.811480064556107,
-8.1492044934736,
17.999999999999954,
14.40000000000003
],
"offsets": {
"x_rot_point": 0,
"y_rot_point": 0,
"z_rot_point": 0,
"x_offset": -20,
"y_offset": 0,
"z_offset": -15,
"tool_offset": 0
},
"tick": 479,
"rendered_tick": 474,
"tool_tip": [
0,
1.418507955065264,
0
],
"tcp_error": 1.5515838457795457e-17
}
}
]
}
],
"browser_errors": []
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

View File

@@ -0,0 +1,129 @@
{
"report_id": "subpath-deployment-v1",
"status": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"url": "http://127.0.0.1:5175/dist/",
"machine": "xyzac-trt",
"icons": [
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/axis-24x24.png",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_estop.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_power.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_open.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_verify.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_reload.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_run.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_step.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_pause.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_stop.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_blockdelete.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_optpause.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_zoomin.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_zoomout.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_axis_z.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_axis_z2.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_axis_x.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_axis_y.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_axis_y2.png",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_axis_p.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_rotate.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_clear.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/spindle_ccw.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/spindle_cw.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_zoomin.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_zoomout.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_axis_z.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_verify.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_reload.gif",
"loaded": true
},
{
"src": "http://127.0.0.1:5175/dist/linuxcnc/share/axis/images/tool_open.gif",
"loaded": true
}
],
"errors": []
}

File diff suppressed because it is too large Load Diff