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

View File

@@ -0,0 +1,65 @@
{
"report_id": "cfg-r01-trt-r01-acceptance-v1",
"status": "verified",
"tasks": [
"CFG-R01",
"TRT-R01"
],
"native_build_id": "fff6a3970ae13c6a575d90373332f25c90034318d4758616dee3bedd227cfc89",
"wasm_sha256": "aa0f5d551e42859eef3b37aee9079f09ae04e668819da4e62aee2b74522e8bc6",
"checkpoint_sizes": {
"sim_core": 24,
"sim_protocol": 12,
"sim_event": 786448,
"sim_program": 49496,
"sim_linuxcnc_tp": 47304,
"sim_hal": 49544
},
"continuation_samples": 120,
"first_divergent_tick": null,
"boundaries": [
"matching native build and machine configuration required",
"old snapshots lacking native state are rejected",
"TRT checkpoint event tails require explicit subsequent commands",
"backward public recovery requires a fresh transport session",
"OPFS retains its existing quota; no physical crash or cross-browser parity claim"
],
"evidence": [
{
"path": "coverage/recovery/axis3-selected-case.report.json",
"sha256": "24a017e622073950726652399da8959fb695097b1f26e9a88c3357269f09b96e"
},
{
"path": "coverage/recovery/axis-gates.report.json",
"sha256": "e92a7ee1b9545cffbabe8a4933eca73330703746e1169627cef1fd838d19fdd4"
},
{
"path": "coverage/recovery/axis3-checkpoint.report.json",
"sha256": "638b13148f0e82b3b78a9ff9b8a91ead5c144ff0c3ebec4cf0ce9df913c2989b"
},
{
"path": "coverage/recovery/checkpoint-state.report.json",
"sha256": "12b7792cd312e327154d4b66a13d869906a4c53a9143dd0d04493f687452da3b"
},
{
"path": "coverage/recovery/exact-checkpoint.report.json",
"sha256": "bda234634bcfbaef24dfa7291cf8650c67d33805a3ceefe96e251fdb2a64059e"
},
{
"path": "coverage/recovery/power-off.report.json",
"sha256": "d0f18fbe4749d2a89fac242e99596c125ad8aa056067d18b59589519d83c6b46"
},
{
"path": "coverage/recovery/storage-bridge.report.json",
"sha256": "e9489615ac04e8f6186f340c7eecf78d5aca32db715b8a0b73ef7bef693d0dc6"
},
{
"path": "coverage/recovery/browser-reload.report.json",
"sha256": "108b1da696ac1cc4666301c8b5b1d478d3b6853372640428192211a03771e993"
},
{
"path": "coverage/recovery/browser-reload-xyzbc-trt.report.json",
"sha256": "d136b7985b0c7f0d0215cb04f9b4a35aa239e50534ebd65f80e57af278cf1f9f"
}
]
}

View File

@@ -0,0 +1 @@
{"schema":"axis-contract-sample.v1","status":"verified","commands":25,"matrix":25,"blocked_reasons":["axis_mdi_queue_full","axis_estop_active"]}

View File

@@ -0,0 +1 @@
{"schema":"wasm-motion-checkpoint-t3.v1","status":"verified","case":"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini","checkpoint_hash":"fnv1a64:0fec51679b74f35c","continuous_hash":"fnv1a64:6ad7c87921fa2384","recovered_hash":"fnv1a64:6ad7c87921fa2384","endpoint_equal":true,"trace_import":"verified","checkpoint_queue_depth":1,"blocked_damaged_checkpoint":"blocked"}

View File

@@ -0,0 +1 @@
{"schema":"axis3-selected-case-parity.v1","status":"verified","case":"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini","machine":{"type":"cartesian_vismach","axes":["X","Y","Z"],"joints":3,"kinematics":"trivkins","model":"3axis-tutorial"},"exact_files":["linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini","linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal","linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial","linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var","linuxcnc/configs/nc_files/3dtest.ngc","linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl","linuxcnc/linuxcnc.gif"],"loader":{"fetched":7,"missing":0,"state_hash":"fnv1a64:94e21a5c7a684e63"},"startup":{"state":"TASK_READY","hal_blocked":0},"operation_sequence":["HOME","JOG_START","SIM_STEP","JOG_STOP","SET_OVERRIDE","PROGRAM_LOAD","PROGRAM_RUN","CHECKPOINT","SPINDLE_COMMAND","COOLANT_COMMAND","TOOL_PREPARE","TOOL_CHANGE","ESTOP","IO_RECOVER","RECOVER"],"observed":{"jog_x":0.19999999999999998,"program_status":"completed","checkpoint_hash":"fnv1a64:9d53b245b2779038","recovery":"recovered","final_hash":"fnv1a64:47a5f0e6ae76a4af"}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

View File

@@ -0,0 +1,39 @@
{
"report_id": "checkpoint-browser-reload-v1",
"machine": "xyzbc-trt",
"status": "verified",
"before": [
2.4666500000000022,
0,
0,
0,
0
],
"saved": {
"schema": "linuxcnc-ui-temp-json.v1",
"status": "verified",
"storage": "opfs",
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
"key": "xyzbc-trt-power-off",
"generation": 1,
"slot": "state-b.json",
"state_hash": "fnv1a64:9dc45f4891e8b147",
"bytes": 102567
},
"after": [
2.4666500000000022,
0,
0,
0,
0
],
"preview_segments": 1,
"continued": [
2.5666500000000023,
0,
0,
0,
0
],
"browser_errors": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

View File

@@ -0,0 +1,39 @@
{
"report_id": "checkpoint-browser-reload-v1",
"machine": "xyzac-trt",
"status": "verified",
"before": [
2.266650000000002,
0,
0,
0,
0
],
"saved": {
"schema": "linuxcnc-ui-temp-json.v1",
"status": "verified",
"storage": "opfs",
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
"key": "xyzac-trt-power-off",
"generation": 1,
"slot": "state-b.json",
"state_hash": "fnv1a64:bc9feb6862938390",
"bytes": 103146
},
"after": [
2.266650000000002,
0,
0,
0,
0
],
"preview_segments": 1,
"continued": [
2.366650000000002,
0,
0,
0,
0
],
"browser_errors": []
}

168
coverage/recovery/build.log Normal file
View File

@@ -0,0 +1,168 @@
configure: cmake -S /home/mes006/linuxcncWebWASM/wasm-core -B /home/mes006/linuxcncWebWASM/build-wasm -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/node;--experimental-wasm-threads
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/mes006/linuxcncWebWASM/build-wasm
[0/2] Re-checking globbed directories...
[1/55] Building C object CMakeFiles/sim_core.dir/src/sim_api.c.o
[2/55] Building C object CMakeFiles/sim_core.dir/src/sim_scheduler.c.o
[3/55] Building C object CMakeFiles/sim_core.dir/src/sim_protocol.c.o
[4/55] Building C object CMakeFiles/sim_core.dir/src/sim_event.c.o
[5/55] Building C object CMakeFiles/sim_core.dir/src/sim_task.c.o
[6/55] Building C object CMakeFiles/sim_core.dir/src/sim_posemath.c.o
[7/55] Building C object CMakeFiles/sim_core.dir/src/sim_device_io.c.o
[8/55] Building C object CMakeFiles/sim_core.dir/src/sim_motion_queue.c.o
[9/55] Building C object CMakeFiles/sim_core.dir/src/sim_switchkins.c.o
[10/55] Building C object CMakeFiles/sim_core.dir/src/sim_linuxcnc_tp.c.o
[11/55] Building C object CMakeFiles/sim_core.dir/src/sim_userkins.c.o
[12/55] Building C object CMakeFiles/sim_core.dir/src/sim_interpreter.c.o
[13/55] Building C object CMakeFiles/sim_core.dir/src/sim_hal.c.o
[14/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_registry.c.o
[15/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_motion.c.o
[16/55] Building C object CMakeFiles/sim_core.dir/src/sim_program.c.o
[17/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_feedback.c.o
[18/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_api.c.o
[19/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_home_limit.c.o
[20/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_protocol.c.o
[21/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_event.c.o
[22/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_task.c.o
[23/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_scheduler.c.o
[24/55] Building C object CMakeFiles/sim_core.dir/src/sim_io.c.o
[25/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_posemath.c.o
[26/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics.c.o
[27/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_device_io.c.o
[28/55] Linking CXX static library libsim_core.a
[29/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_motion_queue.c.o
[30/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_hal.c.o
[31/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_switchkins.c.o
[32/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_linuxcnc_tp.c.o
[33/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_program.c.o
[34/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_interpreter.c.o
[35/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics.c.o
[36/55] Linking CXX executable sim_kinematics_registry_wasm_test.js
[37/55] Linking CXX executable sim_hal_wasm_test.js
[38/55] Linking CXX executable sim_kinematics_wasm_test.js
[39/55] Linking CXX executable sim_switchkins_wasm_test.js
[40/55] Linking CXX executable sim_kinematics_motion_wasm_test.js
[41/55] Linking CXX executable sim_userkins_wasm_test.js
[42/55] Linking CXX executable sim_kinematics_feedback_wasm_test.js
[43/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_userkins.c.o
[44/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_registry.c.o
[45/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_motion.c.o
[46/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_feedback.c.o
[47/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_home_limit.c.o
[48/55] Linking CXX executable sim_kinematics_home_limit_wasm_test.js
[49/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_io.c.o
[50/55] Linking CXX executable sim_io_wasm_test.js
[51/55] Linking CXX executable sim_device_io_wasm_test.js
[52/55] Linking CXX executable sim_motion_queue_wasm_test.js
[53/55] Linking CXX executable sim_source_unit_adapter_wasm_test.js
[54/55] Linking CXX executable sim_xyzac_trace_wasm_test.js
[55/55] Linking CXX executable linuxcnc-sim-core.js
{"schema":"kinematics-coupled-samples.v1","corexy":{"pose":[4.000000000,2.000000000,3.000000000],"inverse":[6.000000000,2.000000000,3.000000000],"state_hash":15100884384408177781},"rose":{"pose":[-1.969615506,-0.347296355,7.000000000],"inverse":[2.000000000,7.000000000,190.000000000],"branch":1,"state_hash":2438572543122669123},"maxkins":{"pose":[-4.000000000,3.000000000,5.000000000],"inverse":[3.000000000,4.000000000,5.000000000,0.000000000,30.000000000,90.000000000],"state_hash":9619955171041365392},"rotatekins":{"pose":[4.000000000,-3.000000000,5.000000000],"inverse":[3.000000000,4.000000000,5.000000000,0.000000000,0.000000000,90.000000000],"state_hash":4875770340631299468},"fiveaxiskins":{"pose":[118.967490359,111.434580971,76.850293016],"inverse":[10.000000000,20.000000000,30.000000000,35.000000000,40.000000000,-2.000000000,20.000000000],"state_hash":7748142909372720337},"xyzac_trt":{"pose":[142.826706376,9.689621386,163.102540378],"inverse":[100.000000000,50.000000000,200.000000000,30.000000000,45.000000000],"state_hash":13756563895642799233},"xyzbc_trt":{"pose":[44.740352549,25.970325570,227.671759760],"inverse":[100.000000000,50.000000000,200.000000000,30.000000000,45.000000000],"state_hash":16201786080257949760},"scara":{"pose":[590.460310444,130.945742721,465.000000000],"inverse":[-3.644300703,40.000000000,25.000000000,-31.355699297,5.000000000,-3.000000000],"state_hash":16144366080292311245},"puma":{"pose":[450.112320486,207.114833215,-612.180622409],"inverse":[10.000000000,20.000000000,-30.000000000,40.000000000,25.000000000,-15.000000000],"state_hash":3358632253473456540},"scorbot":{"pose":[366.786994761,171.035584569,191.173940759],"inverse":[25.000000000,35.000000000,-20.000000000,10.000000000,-5.000000000],"state_hash":7814353589808450675},"genser":{"pose":[619.051467462,30.411237800,-349.855537721],"inverse":[0.000000000,10.000000000,-20.000000000,29.999999999,15.000000000,-9.999999999],"state_hash":7456282805679296496,"iterations":0,"residual":0.000000000000},"lineardelta":{"pose":[0.000000000,0.000000000,64.636584194],"inverse":[300.000000000,300.000000000,300.000000000],"state_hash":5975346607623231017},"rotarydelta":{"pose":[0.000000000,0.000000000,-3.793360169],"inverse":[10.000000000,10.000000000,10.000000000],"state_hash":2370894419412951220},"tripod":{"pose":[2.000000000,3.000000000,4.000000000],"inverse":[5.385164807,9.433981132,6.447715952],"state_hash":15608486964708188096},"genhex":{"pose":[10.000000000,-5.000000000,60.000000000,4.999999999,-3.000000001,10.000000000],"inverse":[68.274402001,63.007928550,63.783820692,65.475127133,60.456723205,68.231500501],"state_hash":7575268797291078131,"iterations":14,"residual":0.000000000857},"pentapod":{"pose":[0.000000000,500.000000000,300.000000000,0.010000000,-0.010000000],"inverse":[625.895566556,649.261562588,754.767615986,338.490149644,341.118326622],"state_hash":13978136356142463125,"iterations":12,"residual":0.000000001000},"delta_edges":{"lineardelta":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[-0.000000000,-0.000000000,535.363415806],"no_solution":-702,"limit_error":-702,"geometry_error":-703,"branch":0,"iterations":0},"rotarydelta":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[-0.000000000,-0.000000000,0.320396615],"singular":-704,"geometry_error":-703,"branch":0,"iterations":0},"tripod":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[2.000000000,3.000000000,-4.000000000],"no_solution":-702,"singular":-704,"limit_error":-702,"geometry_error":-703,"branch":0,"iterations":0},"genhex":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[10.000000000,-5.000000000,-60.000000000],"nonpositive":-702,"iteration_limit":-702,"max_error":-702,"singular":-704,"limit_error":-702,"branch":0,"iterations":14,"residual":0.000000000857},"pentapod":{"alternate_status":-702,"alternate_branch":1,"alternate_pose":[0.000000000,0.000000000,0.000000000],"alternate_iterations":1,"nonpositive":-702,"nonpositive_iterations":0,"iteration_limit":-702,"iteration_limit_iterations":1,"max_error":-702,"max_error_iterations":1,"singular":-704,"singular_iterations":0,"limit_error":-702,"branch":0,"iterations":12,"residual":0.000000001000}}}
{"schema":"hal-corexy-sample.v1","command":{"j0":6.000,"j1":2.000,"alpha":4.000,"beta":2.000},"feedback":{"alpha":4.000,"beta":1.000,"j0":5.000,"j1":3.000},"tick":1,"function_calls":1,"component_batch":{"gate":1,"constant":3.500,"rollback_tick":1}}
{"schema":"linuxcnc-source-unit-adapter.v1","cases":[{"id":"source-unit:interp/movement-linear","name":"Movement commands / Linear Feed","source":"linuxcnc/unit_tests/interp/test_interp_block.cc","result_hash":16718210192490359486,"status":"PASSED"},{"id":"source-unit:interp/movement-rapid","name":"Movement commands / Rapid","source":"linuxcnc/unit_tests/interp/test_interp_block.cc","result_hash":10600861468726077694,"status":"PASSED"},{"id":"source-unit:interp/movement-arc","name":"Movement commands / Clockwise circular","source":"linuxcnc/unit_tests/interp/test_interp_block.cc","result_hash":3344452133792667065,"status":"PASSED"},{"id":"source-unit:interp/gcode-to-string","name":"convert G-codes to string","source":"linuxcnc/unit_tests/interp/test_string_conversion.cc","result_hash":18096020171334179193,"status":"PASSED"},{"id":"source-unit:interp/g10-coordinate-offset","name":"G10 L2 / G54 coordinate offset","source":"linuxcnc/unit_tests/interp/test_interp_basics.cc","result_hash":10503294382485028241,"status":"PASSED"},{"id":"source-unit:interp/parameter-expression","name":"parameter expression assignment","source":"linuxcnc/unit_tests/interp/test_interp_basics.cc","result_hash":12191524797282674768,"status":"PASSED"},{"id":"source-unit:interp/modal-units","name":"G20 length/feed conversion","source":"linuxcnc/unit_tests/interp/test_interp_basics.cc","result_hash":17337372050960250323,"status":"PASSED"},{"id":"source-unit:tp/pmCartCartParallel_numerical","name":"pmCartCartParallel_numerical","source":"linuxcnc/unit_tests/tp/test_blendmath.c","result_hash":8528287329722895704,"status":"PASSED"},{"id":"source-unit:tp/pmCartCartAntiParallel_numerical","name":"pmCartCartAntiParallel_numerical","source":"linuxcnc/unit_tests/tp/test_blendmath.c","result_hash":6154898365857503476,"status":"PASSED"}],"counts":{"FAILED":0,"PASSED":9},"aggregate_hash":12570001048447364769,"pending":[{"source_id":"source-test:linuxcnc/tests/abort/g64/test.sh","adapter":"WORKER_TASK_MOTION_PENDING","reason":"G64 blend/tolerance and abort endpoint require Worker Task plus motion queue"},{"source_id":"source-test:linuxcnc/tests/abort/feed-rate/test.sh","adapter":"WORKER_TASK_MOTION_PENDING","reason":"abort/restart timing is owned by Worker Task and fixed-tick motion"}]}
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/mes006/linuxcncWebWASM/build-native
[0/2] Re-checking globbed directories...
[1/43] Building C object CMakeFiles/sim_core.dir/src/sim_api.c.o
[2/43] Building C object CMakeFiles/sim_core.dir/src/sim_scheduler.c.o
[3/43] Building C object CMakeFiles/sim_core.dir/src/sim_protocol.c.o
[4/43] Building C object CMakeFiles/sim_core.dir/src/sim_event.c.o
[5/43] Building C object CMakeFiles/sim_core.dir/src/sim_posemath.c.o
[6/43] Building C object CMakeFiles/sim_core.dir/src/sim_device_io.c.o
[7/43] Building C object CMakeFiles/sim_core.dir/src/sim_switchkins.c.o
[8/43] Building C object CMakeFiles/sim_core.dir/src/sim_task.c.o
[9/43] Building C object CMakeFiles/sim_core.dir/src/sim_program.c.o
[10/43] Building C object CMakeFiles/sim_core.dir/src/sim_userkins.c.o
[11/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_registry.c.o
[12/43] Building C object CMakeFiles/sim_core.dir/src/sim_hal.c.o
[13/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_feedback.c.o
[14/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_motion.c.o
[15/43] Building C object CMakeFiles/sim_core.dir/src/sim_linuxcnc_tp.c.o
[16/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_home_limit.c.o
[17/43] Building C object CMakeFiles/sim_core.dir/src/sim_motion_queue.c.o
[18/43] Building C object CMakeFiles/sim_core.dir/src/sim_io.c.o
[19/43] Building C object CMakeFiles/sim_core.dir/src/sim_interpreter.c.o
[20/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics.c.o
[21/43] Linking CXX static library libsim_core.a
[22/43] Linking CXX executable sim_task_test
[23/43] Linking CXX executable sim_protocol_test
[24/43] Linking CXX executable sim_native_homing_test
[25/43] Linking CXX executable sim_event_test
[26/43] Linking CXX executable sim_api_test
[27/43] Linking CXX executable sim_contract_test
[28/43] Linking CXX executable sim_scheduler_test
[29/43] Linking CXX executable sim_hal_test
[30/43] Linking CXX executable sim_posemath_test
[31/43] Linking CXX executable sim_interpreter_test
[32/43] Linking CXX executable sim_switchkins_test
[33/43] Linking CXX executable sim_kinematics_registry_test
[34/43] Linking CXX executable sim_source_unit_adapter_test
[35/43] Linking CXX executable sim_userkins_test
[36/43] Linking CXX executable sim_kinematics_motion_test
[37/43] Linking CXX executable sim_motion_queue_test
[38/43] Linking CXX executable sim_kinematics_test
[39/43] Linking CXX executable sim_kinematics_feedback_test
[40/43] Linking CXX executable sim_kinematics_home_limit_test
[41/43] Linking CXX executable sim_xyzac_trace_test
[42/43] Linking CXX executable sim_io_test
[43/43] Linking CXX executable sim_device_io_test
Internal ctest changing into directory: /home/mes006/linuxcncWebWASM/build-native
Test project /home/mes006/linuxcncWebWASM/build-native
Start 1: sim_native_homing_test
1/23 Test #1: sim_native_homing_test ........... Passed 0.00 sec
Start 2: sim_api_test
2/23 Test #2: sim_api_test ..................... Passed 0.00 sec
Start 3: sim_protocol_test
3/23 Test #3: sim_protocol_test ................ Passed 0.00 sec
Start 4: sim_event_test
4/23 Test #4: sim_event_test ................... Passed 0.00 sec
Start 5: sim_contract_test
5/23 Test #5: sim_contract_test ................ Passed 0.00 sec
Start 6: sim_task_test
6/23 Test #6: sim_task_test .................... Passed 0.00 sec
Start 7: sim_scheduler_test
7/23 Test #7: sim_scheduler_test ............... Passed 0.00 sec
Start 8: sim_hal_test
8/23 Test #8: sim_hal_test ..................... Passed 0.00 sec
Start 9: sim_posemath_test
9/23 Test #9: sim_posemath_test ................ Passed 0.00 sec
Start 10: sim_interpreter_test
10/23 Test #10: sim_interpreter_test ............. Passed 0.00 sec
Start 11: sim_source_unit_adapter_test
11/23 Test #11: sim_source_unit_adapter_test ..... Passed 0.00 sec
Start 12: sim_motion_queue_test
12/23 Test #12: sim_motion_queue_test ............ Passed 0.00 sec
Start 13: sim_kinematics_test
13/23 Test #13: sim_kinematics_test .............. Passed 0.00 sec
Start 14: sim_switchkins_test
14/23 Test #14: sim_switchkins_test .............. Passed 0.00 sec
Start 15: sim_userkins_test
15/23 Test #15: sim_userkins_test ................ Passed 0.00 sec
Start 16: sim_kinematics_registry_test
16/23 Test #16: sim_kinematics_registry_test ..... Passed 0.00 sec
Start 17: sim_kinematics_motion_test
17/23 Test #17: sim_kinematics_motion_test ....... Passed 0.00 sec
Start 18: sim_kinematics_feedback_test
18/23 Test #18: sim_kinematics_feedback_test ..... Passed 0.00 sec
Start 19: sim_kinematics_home_limit_test
19/23 Test #19: sim_kinematics_home_limit_test ... Passed 0.00 sec
Start 20: sim_io_test
20/23 Test #20: sim_io_test ...................... Passed 0.00 sec
Start 21: sim_device_io_test
21/23 Test #21: sim_device_io_test ............... Passed 0.00 sec
Start 22: sim_xyzac_trace_test
22/23 Test #22: sim_xyzac_trace_test ............. Passed 0.00 sec
Start 23: sim_linuxcnc_tp_test
23/23 Test #23: sim_linuxcnc_tp_test ............. Passed 0.00 sec
100% tests passed, 0 tests failed out of 23
Total Test time (real) = 0.03 sec
wasm_build=/home/mes006/linuxcncWebWASM/build-wasm/linuxcnc-sim-core.js
native_test=/home/mes006/linuxcncWebWASM/build-native/sim_api_test
native_protocol_test=/home/mes006/linuxcncWebWASM/build-native/sim_protocol_test
wasm_kinematics_test=/home/mes006/linuxcncWebWASM/build-wasm/sim_kinematics_wasm_test.js
wasm_hal_test=/home/mes006/linuxcncWebWASM/build-wasm/sim_hal_wasm_test.js
wasm_source_unit_test=/home/mes006/linuxcncWebWASM/build-wasm/sim_source_unit_adapter_wasm_test.js

View File

@@ -0,0 +1 @@
{"schema":"xyzac-recovery-rtcp-11.v1","status":"verified","case":"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini","checkpoint":{"required_fields":["context_id","simulation_tick","event_cursor","state_hash","task","program","kinematics","motion","wasm_motion","ledger"],"active_type":1,"state_hash":"fnv1a64:00e5c37554124a5d"},"continuous_endpoint_hash":"fnv1a64:6c0c36b47a65d571","restored_endpoint_hash":"fnv1a64:6c0c36b47a65d571","checkpoint_tick":3,"unreplayed_tail_endpoint_hash":"fnv1a64:40beb05449a569c8","endpoint_at_checkpoint_equal":true,"no_duplicate_m428":true,"replayed_operation":true,"corrupt_checkpoint":"blocked","schema_mismatch":"blocked","journal":{"status":"recovered","corrupt_status":"blocked","schema_status":"blocked"},"opfs":{"unavailable_status":"blocked","probe_status":"blocked","physical_crash":"REAL-EXCLUDED"},"first_divergent_tick":null}

View File

@@ -0,0 +1,131 @@
{
"report_id": "trt-checkpoint-exact-v1",
"status": "verified",
"safeguards": {
"corrupt_native_rejected": true,
"foreign_build_rejected": true,
"frozen_subroutines": true,
"heap_relocation_checked": true,
"receipts_nonrecursive": true,
"backward_transport_restore_rejected": true
},
"rows": [
{
"machine": "xyzac-trt",
"phase": "subroutine",
"checkpoint_tick": 6,
"continuation_tick": 18,
"state_hash": "fnv1a64:113cda82a07e692a",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzac-trt",
"phase": "paused-resumed",
"checkpoint_tick": 18,
"continuation_tick": 30,
"state_hash": "fnv1a64:e380c733d2e27194",
"samples": 12,
"new_transport_recovery": true,
"first_divergent_tick": null
},
{
"machine": "xyzac-trt",
"phase": "line",
"checkpoint_tick": 35,
"continuation_tick": 47,
"state_hash": "fnv1a64:8e128e04aca13b45",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzac-trt",
"phase": "arc",
"checkpoint_tick": 72,
"continuation_tick": 84,
"state_hash": "fnv1a64:16fef8e7095d1cc7",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzac-trt",
"phase": "completed",
"checkpoint_tick": 684,
"continuation_tick": 696,
"state_hash": "fnv1a64:571fff3045139a9b",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzac-trt",
"phase": "trace-and-transport",
"state_hash": "fnv1a64:50c207f5409d5062",
"first_divergent_tick": null
},
{
"machine": "xyzac-trt",
"phase": "post-recovery-jog",
"samples": 6,
"first_divergent_tick": null
},
{
"machine": "xyzbc-trt",
"phase": "subroutine",
"checkpoint_tick": 6,
"continuation_tick": 18,
"state_hash": "fnv1a64:94587fdc5ce1e3b1",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzbc-trt",
"phase": "paused-resumed",
"checkpoint_tick": 18,
"continuation_tick": 30,
"state_hash": "fnv1a64:5f0adc4aa9f2a037",
"samples": 12,
"new_transport_recovery": true,
"first_divergent_tick": null
},
{
"machine": "xyzbc-trt",
"phase": "line",
"checkpoint_tick": 35,
"continuation_tick": 47,
"state_hash": "fnv1a64:74b83ca0c127a6c1",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzbc-trt",
"phase": "arc",
"checkpoint_tick": 72,
"continuation_tick": 84,
"state_hash": "fnv1a64:89a768be32ed9eda",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzbc-trt",
"phase": "completed",
"checkpoint_tick": 704,
"continuation_tick": 716,
"state_hash": "fnv1a64:d0cf609cae7c894b",
"samples": 12,
"first_divergent_tick": null
},
{
"machine": "xyzbc-trt",
"phase": "trace-and-transport",
"state_hash": "fnv1a64:4e6307e65d801db6",
"first_divergent_tick": null
},
{
"machine": "xyzbc-trt",
"phase": "post-recovery-jog",
"samples": 6,
"first_divergent_tick": null
}
],
"state_hash": "fnv1a64:d7f8b093cb3e4510"
}

View File

@@ -0,0 +1 @@
{"schema":"xyzac-runtime-followups.v1","status":"verified","motion_delta":{"compact_bytes":7224,"full_bytes":23215,"reduction_ratio":0.689},"errors":{"code":"axis_gate","reason":"xyzac_machine_off","message_key":"xyzac_machine_off"},"power_off_persistence":{"schema":"xyzac-power-off-checkpoint.v1","bytes":101157,"restored":"verified"}}

View File

@@ -0,0 +1,657 @@
{
"report_id": "trt-rtcp-jog-browser-v1",
"status": "verified",
"machines": [
{
"coordinates": "XYZAC",
"rows": [
{
"axis": "a",
"before": {
"joints": [
4.266649999999998,
3.8666500000000035,
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": 59,
"rendered_tick": 59,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
4.266649999999998,
5.061423130217634,
-1.709991602392515,
6.300000000000009,
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": 90,
"rendered_tick": 84,
"tool_tip": [
0,
2,
0
],
"tcp_error": 1.3877787807814457e-17
},
"stopped": {
"joints": [
4.266649999999998,
5.436614141154411,
-2.173445467445781,
8.100000000000021,
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": 101,
"rendered_tick": 101,
"tool_tip": [
0,
2,
0
],
"tcp_error": 4.441434166503682e-16
}
},
{
"axis": "c",
"before": {
"joints": [
4.266649999999998,
5.436614141154411,
-2.173445467445781,
8.100000000000021,
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": 101,
"rendered_tick": 101,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
3.816579336612649,
5.877023221778387,
-2.1107659733420316,
8.100000000000021,
6.30000000000001
],
"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": 132,
"rendered_tick": 126,
"tool_tip": [
0,
2,
0
],
"tcp_error": 4.441976168356516e-16
},
"stopped": {
"joints": [
3.6792686907248924,
5.993602656197197,
-2.0941742628307054,
8.100000000000021,
8.100000000000021
],
"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": 143,
"tool_tip": [
0,
2,
0
],
"tcp_error": 1.962615573354719e-17
}
},
{
"axis": "a",
"before": {
"joints": [
3.6792686907248924,
5.993602656197197,
-2.0941742628307054,
8.100000000000021,
8.100000000000021
],
"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": 143,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
3.6792686907248924,
6.985677681046019,
-3.15582122980466,
12.600000000000016,
8.100000000000021
],
"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": 168,
"rendered_tick": 162,
"tool_tip": [
0,
2,
0
],
"tcp_error": 2.5018537765542006e-17
},
"stopped": {
"joints": [
3.6792686907248924,
7.405333794615657,
-3.558119369114298,
14.40000000000003,
8.100000000000021
],
"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": 179,
"rendered_tick": 179,
"tool_tip": [
0,
2,
0
],
"tcp_error": 3.7367087251761353e-17
}
},
{
"axis": "c",
"before": {
"joints": [
3.6792686907248924,
7.405333794615657,
-3.558119369114298,
14.40000000000003,
8.100000000000021
],
"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": 179,
"rendered_tick": 179,
"tool_tip": [
0,
2,
0
]
},
"moving": {
"joints": [
3.044109145431041,
7.8492876810852135,
-3.444131385053268,
14.40000000000003,
15.900000000000045
],
"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": 215,
"rendered_tick": 209,
"tool_tip": [
0,
2,
0
],
"tcp_error": 2.2247786310271853e-16
},
"stopped": {
"joints": [
2.8890836739630625,
7.9395654828013065,
-3.4209519852626453,
14.40000000000003,
17.70000000000001
],
"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": 226,
"rendered_tick": 226,
"tool_tip": [
0,
2,
0
],
"tcp_error": 3.622208959480119e-17
}
}
]
},
{
"coordinates": "XYZBC",
"rows": [
{
"axis": "b",
"before": {
"joints": [
4.466649999999994,
3.466650000000003,
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": 284,
"rendered_tick": 284,
"tool_tip": [
0,
1.5,
0
]
},
"moving": {
"joints": [
7.000111209846697,
3.466650000000003,
-5.273183620607902,
11.699999999999944,
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": 333,
"rendered_tick": 333,
"tool_tip": [
0,
1.4472681637939209,
0
],
"tcp_error": 2.237726045655905e-16
},
"stopped": {
"joints": [
7.292314970736374,
3.466650000000003,
-6.126077205619893,
13.499999999999906,
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": 344,
"rendered_tick": 344,
"tool_tip": [
0,
1.4387392279438012,
0
],
"tcp_error": 2.7755575615628914e-17
}
},
{
"axis": "c",
"before": {
"joints": [
7.292314970736374,
3.466650000000003,
-6.126077205619893,
13.499999999999906,
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": 344,
"rendered_tick": 344,
"tool_tip": [
0,
1.4387392279438012,
0
]
},
"moving": {
"joints": [
6.753295838822215,
4.081962692594443,
-5.996670161309499,
13.499999999999906,
8.400000000000015
],
"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": 382,
"rendered_tick": 376,
"tool_tip": [
0,
1.4397384871103407,
0
],
"tcp_error": 2.2247786310271853e-16
},
"stopped": {
"joints": [
6.626743801709193,
4.202837259715039,
-5.966287705280346,
13.499999999999906,
10.199999999999976
],
"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": 393,
"rendered_tick": 393,
"tool_tip": [
0,
1.4403371229471966,
0
],
"tcp_error": 6.938893903907228e-18
}
},
{
"axis": "b",
"before": {
"joints": [
6.626743801709193,
4.202837259715039,
-5.966287705280346,
13.499999999999906,
10.199999999999976
],
"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": 393,
"rendered_tick": 393,
"tool_tip": [
0,
1.4403371229471966,
0
]
},
"moving": {
"joints": [
7.783411671211734,
4.202837259715039,
-10.678717873870822,
23.39999999999989,
10.199999999999976
],
"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": 436,
"rendered_tick": 429,
"tool_tip": [
0,
1.4033646717032329,
0
],
"tcp_error": 2.2473876566261383e-16
},
"stopped": {
"joints": [
7.783411671211734,
4.202837259715039,
-10.678717873870822,
23.39999999999989,
10.199999999999976
],
"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": 441,
"rendered_tick": 441,
"tool_tip": [
0,
1.3932128212612918,
0
],
"tcp_error": 2.2473876566261383e-16
}
},
{
"axis": "c",
"before": {
"joints": [
7.783411671211734,
4.202837259715039,
-10.678717873870822,
23.39999999999989,
10.199999999999976
],
"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": 441,
"rendered_tick": 441,
"tool_tip": [
0,
1.3932128212612918,
0
]
},
"moving": {
"joints": [
7.317075360390216,
4.609695511941566,
-10.476916131895246,
23.39999999999989,
16.79999999999999
],
"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": 473,
"rendered_tick": 473,
"tool_tip": [
0,
1.3952308386810475,
0
],
"tcp_error": 2.238801616996866e-16
},
"stopped": {
"joints": [
7.205302306697099,
4.693820235514115,
-10.428547612400239,
23.39999999999989,
18.299999999999997
],
"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": 483,
"rendered_tick": 483,
"tool_tip": [
0,
1.3957145238759976,
0
],
"tcp_error": 2.234765555274009e-16
}
}
]
}
],
"browser_errors": []
}

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 @@
{"schema":"opfs-worker-bridge.v1","status":"verified","ui_commands_do_not_consume_wasm_sequence":true,"poweroff_checkpoint_roundtrip":true}