Complete XYZAC LinuxCNC WASM parity and smooth 3D preview
This commit is contained in:
256
coverage/xyzac-trt-rtcp.report.json
Normal file
256
coverage/xyzac-trt-rtcp.report.json
Normal file
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"authority": "linuxcnc-wasm-sim_kinematics_switch",
|
||||
"boundaries": {
|
||||
"nonfinite_joints": "wasm_xyzac_forward_-701",
|
||||
"nonfinite_pose": "wasm_xyzac_inverse_-701",
|
||||
"range": "wasm_xyzac_forward_-702",
|
||||
"xyzac_singularity": "closed_form_no_singular_branch"
|
||||
},
|
||||
"candidate_eligible": true,
|
||||
"case": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"sha256": "f985970db293b70c055e4c41fc316d0c16037b5dc7ce07490e18f554e851f811"
|
||||
},
|
||||
"command_trace": [
|
||||
"WASM:IDENTITY_FORWARD_INVERSE",
|
||||
"WASM:XYZAC_FORWARD_INVERSE",
|
||||
"WASM:TOOL_ROTATION_AXIS_OFFSETS",
|
||||
"WASM:USERK_IDENTITY_TEMPLATE",
|
||||
"WASM:DYNAMIC_USERK_REJECT",
|
||||
"WORKER:MDI_M429_M428_M430",
|
||||
"WASM:G93_G2_P3_XYZAC_HELIX",
|
||||
"WORKER:PROGRAM_PAUSE_RESUME_ABORT_RESTART",
|
||||
"WORKER:CHECKPOINT_RECOVER"
|
||||
],
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"environment": {
|
||||
"functional_node": "v24",
|
||||
"wasm_ctest_harness": "HOST_EXCLUDED",
|
||||
"wasm_ctest_node": "v18"
|
||||
},
|
||||
"exclusions": [
|
||||
"xyzbc",
|
||||
"3axis",
|
||||
"other cases",
|
||||
"Safari",
|
||||
"physical power loss",
|
||||
"host hardware"
|
||||
],
|
||||
"failure_samples": [
|
||||
{
|
||||
"classification": "HOST_EXCLUDED",
|
||||
"code": "wasm_ctest_node18_local_url",
|
||||
"detail": "CTest sim_api_test uses Node 18 fetch on a bare local .wasm path; real Node 24 Worker module and single-file WASM tests passed"
|
||||
}
|
||||
],
|
||||
"first_divergent_tick": null,
|
||||
"helix": {
|
||||
"end": {
|
||||
"a": 30,
|
||||
"b": 0,
|
||||
"c": 45,
|
||||
"u": 0,
|
||||
"v": 0,
|
||||
"w": 0,
|
||||
"x": 10,
|
||||
"y": 0,
|
||||
"z": 5
|
||||
},
|
||||
"motion_type": 2,
|
||||
"turn": -3,
|
||||
"velocity": 6.538822170860375
|
||||
},
|
||||
"identity": {
|
||||
"pose": {
|
||||
"a": 30,
|
||||
"b": 0,
|
||||
"c": 45,
|
||||
"u": 0,
|
||||
"v": 0,
|
||||
"w": 0,
|
||||
"x": 12,
|
||||
"y": -5,
|
||||
"z": 20
|
||||
},
|
||||
"state_hash": "fnv1a64:1b181f155736dc31"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"path": "linuxcnc/src/emc/kinematics/xyzac-trt-kins.c",
|
||||
"sha256": "24c633613db9876c2ec246e1519a63d288fd27c68296d89f89f0368105634e69"
|
||||
},
|
||||
{
|
||||
"path": "linuxcnc/src/emc/kinematics/trtfuncs.c",
|
||||
"sha256": "ced2f9d4732681e2e82153b2f6343eccdf6972222d558d1e277bf1ec0bdc87fd"
|
||||
},
|
||||
{
|
||||
"path": "linuxcnc/src/emc/kinematics/switchkins.c",
|
||||
"sha256": "4de32a4a147e5ceee5346b9c6bf471dddf5c64ff58afe5044406c50bcd96b7f5"
|
||||
},
|
||||
{
|
||||
"path": "linuxcnc/src/emc/kinematics/userkfuncs.c",
|
||||
"sha256": "146238645955f8d4e2cb0cd34ff44db3a9dad01e149f81c08f8a53c19f1609bc"
|
||||
},
|
||||
{
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"sha256": "f985970db293b70c055e4c41fc316d0c16037b5dc7ce07490e18f554e851f811"
|
||||
},
|
||||
{
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_ac.ngc",
|
||||
"sha256": "06cb755e33dc35d9a179b3c48e4203c8469632ab248d94379b10f2538dd0b54a"
|
||||
}
|
||||
],
|
||||
"known_blockers": [],
|
||||
"lifecycle": {
|
||||
"abort": "STOPPED",
|
||||
"pause": "PAUSED",
|
||||
"recovery": "recovered",
|
||||
"restart": "loaded",
|
||||
"resume": "RUNNING"
|
||||
},
|
||||
"mapping": {
|
||||
"angular_units": "deg",
|
||||
"coordinates": "XYZAC",
|
||||
"limits": {
|
||||
"a": [
|
||||
-100,
|
||||
50
|
||||
],
|
||||
"c": [
|
||||
-36000,
|
||||
36000
|
||||
],
|
||||
"x": [
|
||||
-200,
|
||||
200
|
||||
],
|
||||
"y": [
|
||||
-100,
|
||||
100
|
||||
],
|
||||
"z": [
|
||||
-120,
|
||||
120
|
||||
]
|
||||
},
|
||||
"linear_units": "mm"
|
||||
},
|
||||
"offsets": {
|
||||
"base": {
|
||||
"a": 30,
|
||||
"b": 0,
|
||||
"c": 45,
|
||||
"u": 0,
|
||||
"v": 0,
|
||||
"w": 0,
|
||||
"x": 50.44481813796586,
|
||||
"y": -20.265859980688887,
|
||||
"z": 32.32050807568878
|
||||
},
|
||||
"changed": {
|
||||
"a": 30,
|
||||
"b": 0,
|
||||
"c": 45,
|
||||
"u": 0,
|
||||
"v": 0,
|
||||
"w": 0,
|
||||
"x": 43.07044946720128,
|
||||
"y": -25.569160839588,
|
||||
"z": 35.6698729810778
|
||||
},
|
||||
"configured": {
|
||||
"tool_offset": 25,
|
||||
"x_rot_point": 5,
|
||||
"y_offset": 20,
|
||||
"z_offset": 10
|
||||
}
|
||||
},
|
||||
"recovery": {
|
||||
"active_type": 1,
|
||||
"state_hash": "fnv1a64:8c57efd84475776a"
|
||||
},
|
||||
"release_status": "STOP_RELEASE",
|
||||
"report_sha256": "c370004d8f2d962937b3b91abe2b0dd1632283f570e29d2d194731bc0fe0a083",
|
||||
"schema": "xyzac-rtcp-08-report.v1",
|
||||
"scope": "xyzac_only",
|
||||
"singularity_classification": {
|
||||
"reason": "xyzac-trt forward/inverse is closed-form and has no denominator singular branch; A=-90 degree boundary roundtrip is retained",
|
||||
"status": "not_applicable"
|
||||
},
|
||||
"status": "verified",
|
||||
"switchkins": [
|
||||
{
|
||||
"active_type": 0,
|
||||
"code": "M429",
|
||||
"state_hash": "fnv1a64:7614a240beddd8ba"
|
||||
},
|
||||
{
|
||||
"active_type": 1,
|
||||
"code": "M428",
|
||||
"state_hash": "fnv1a64:1463b940dede5cf0"
|
||||
},
|
||||
{
|
||||
"active_type": 2,
|
||||
"code": "M430",
|
||||
"state_hash": "fnv1a64:310f1bed69a45614"
|
||||
},
|
||||
{
|
||||
"active_type": 1,
|
||||
"code": "M428",
|
||||
"state_hash": "fnv1a64:6c90a42b0ca912d4"
|
||||
}
|
||||
],
|
||||
"task_id": "RTCP-08",
|
||||
"tests": [
|
||||
{
|
||||
"command": [
|
||||
"node",
|
||||
"web/worker/test_xyzac_rtcp.mjs"
|
||||
],
|
||||
"output_sha256": "3b4411bd1f640a689bde7a99e087965edd0694ca49696d1a936397113980e6c1",
|
||||
"returncode": 0,
|
||||
"status": "verified"
|
||||
}
|
||||
],
|
||||
"tick_trace": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"trt": {
|
||||
"joints": [
|
||||
49.99999999999999,
|
||||
10.000000000000004,
|
||||
30.000000000000007,
|
||||
30,
|
||||
45
|
||||
],
|
||||
"pivot_boundary": {
|
||||
"a": -90,
|
||||
"b": 0,
|
||||
"c": 45,
|
||||
"u": 0,
|
||||
"v": 0,
|
||||
"w": 0,
|
||||
"x": 14.142135623730951,
|
||||
"y": -14.142135623730951,
|
||||
"z": -4.999999999999998
|
||||
},
|
||||
"pose": {
|
||||
"a": 30,
|
||||
"b": 0,
|
||||
"c": 45,
|
||||
"u": 0,
|
||||
"v": 0,
|
||||
"w": 0,
|
||||
"x": 50.44481813796586,
|
||||
"y": -20.265859980688887,
|
||||
"z": 32.32050807568878
|
||||
},
|
||||
"state_hash": "fnv1a64:928adf4a1feb90e9"
|
||||
},
|
||||
"userk": {
|
||||
"dynamic_module_error": -712,
|
||||
"native_type": "userk-identity-template"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user