{ "closure": { "blocking_reason": "linuxcnc/unit_tests/kinematics is absent from the locked source", "cartesian_candidate_ids": [ "config:linuxcnc/configs/sim/axis/anglejog/anglejog.ini:54:kinematics:trivkins", "config:linuxcnc/configs/sim/axis/axis.ini:144:kinematics:trivkins", "config:linuxcnc/configs/sim/axis/axis_9axis.ini:67:kinematics:trivkins", "config:linuxcnc/configs/sim/axis/axis_mm.ini:136:kinematics:trivkins", "config:linuxcnc/configs/sim/axis/canterp.ini:47:kinematics:trivkins", "config:linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.ini:52:kinematics:trivkins", "config:linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini:10:kinematics:trivkins", "config:linuxcnc/configs/sim/axis/db_demo/base.inc:38:kinematics:trivkins" ], "coupled_linear_source_ids": [ "source:linuxcnc/src/emc/kinematics/corexykins.c", "source:linuxcnc/src/emc/kinematics/rosekins.c" ], "max_rotate_source_ids": [ "linuxcnc/src/emc/kinematics/maxkins.c", "linuxcnc/src/emc/kinematics/rotatekins.c" ], "official_oracle": "blocked" }, "configuration_candidate_origin": { "rotatekins": "workspace_derived_fixture; LinuxCNC locked source has no shipped rotatekins config" }, "configuration_candidates": { "corexy_hal": { "path": "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini", "sha256": "e838da30ce5fba2d049487d48bd2aeff46b1390a5a448f31980d9ce06121740f" }, "corexy_kins": { "path": "linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini", "sha256": "b6682cc5186944a44c2aa78501c4f350e56b4da1151348fa9fc3ece5f0eeea3a" }, "maxkins": { "path": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5kins.ini", "sha256": "ea7d453127122b7831e74de2204b446c514f3c999961a4be412b36880bacb8b6" }, "rose": { "path": "linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini", "sha256": "0685e9ca8c05c903b715e9fed6ecd23cbac13911ed335b6d14e24eb235de25d3" }, "rotatekins": { "path": "linuxcnc/configs/sim/axis/rotate/rotatekins.ini", "sha256": "324af9a73d21b5f0c9adaf3c97e698422790d403586901f9e161b6020b1fb4fa" } }, "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "corexy_entry_distinction": { "distinct": true, "hal_component": "linuxcnc/src/hal/components/corexy_by_hal.comp", "hal_configuration": "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini", "kins_configuration": "linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini" }, "families": { "corexy": { "boundary": "configuration coordinate requirements verified", "forward": "X=0.5*(J0+J1), Y=0.5*(J0-J1), Z=J2", "round_trip": "verified" }, "maxkins": { "boundary": "pivot_length=0 and pivot_length=0.666 verified", "forward": "LinuxCNC maxkins pivot/B/C/U/V/W correction formula", "round_trip": "verified" }, "rose": { "branch_state": "previous quadrant plus revolution count", "forward": "X=R*cos(theta), Y=R*sin(theta), Z=J1; theta=J2 degrees", "quadrant_continuity": "verified", "round_trip": "verified" }, "rotatekins": { "boundary": "90 degree rotation verified", "forward": "XY rotation by -C degrees; Z and optional axes direct", "round_trip": "verified" } }, "implementation_status": "verified", "native_wasm": { "native_command": "build-native/sim_kinematics_test", "status": "passed", "wasm_command": "node build-wasm/sim_kinematics_wasm_test.js" }, "report_sha256": "3bcd97e6a87058f42f1653ae896a95b6dad2ca9f149236b75a2d5d699f2e6988", "samples": { "byte_identical_json": true, "native": { "corexy": { "inverse": [ 6.0, 2.0, 3.0 ], "pose": [ 4.0, 2.0, 3.0 ], "state_hash": 15406663564927631605 }, "fiveaxiskins": { "inverse": [ 10.0, 20.0, 30.0, 35.0, 40.0, -2.0, 20.0 ], "pose": [ 118.967490359, 111.434580971, 76.850293016 ], "state_hash": 5053227094931014129 }, "maxkins": { "inverse": [ 3.0, 4.0, 5.0, 0.0, 30.0, 90.0 ], "pose": [ -4.0, 3.0, 5.0 ], "state_hash": 2549915653649577904 }, "puma": { "inverse": [ 10.0, 20.0, -30.0, 40.0, 25.0, -15.0 ], "pose": [ 450.112320486, 207.114833215, -612.180622409 ], "state_hash": 3161234248163340028 }, "rose": { "branch": 1, "inverse": [ 2.0, 7.0, 190.0 ], "pose": [ -1.969615506, -0.347296355, 7.0 ], "state_hash": 15304911204640563299 }, "rotatekins": { "inverse": [ 3.0, 4.0, 5.0, 0.0, 0.0, 90.0 ], "pose": [ 4.0, -3.0, 5.0 ], "state_hash": 1338350581716392236 }, "scara": { "inverse": [ -3.644300703, 40.0, 25.0, -31.355699297, 5.0, -3.0 ], "pose": [ 590.460310444, 130.945742721, 465.0 ], "state_hash": 4515826253922604237 }, "schema": "kinematics-coupled-samples.v1", "scorbot": { "inverse": [ 25.0, 35.0, -20.0, 10.0, -5.0 ], "pose": [ 366.786994761, 171.035584569, 191.173940759 ], "state_hash": 16037922903473574131 }, "xyzac_trt": { "inverse": [ 100.0, 50.0, 200.0, 30.0, 45.0 ], "pose": [ 142.826706376, 9.689621386, 163.102540378 ], "state_hash": 4869492769119734977 }, "xyzbc_trt": { "inverse": [ 100.0, 50.0, 200.0, 30.0, 45.0 ], "pose": [ 44.740352549, 25.97032557, 227.67175976 ], "state_hash": 1734235358276017152 } }, "wasm": { "corexy": { "inverse": [ 6.0, 2.0, 3.0 ], "pose": [ 4.0, 2.0, 3.0 ], "state_hash": 15406663564927631605 }, "fiveaxiskins": { "inverse": [ 10.0, 20.0, 30.0, 35.0, 40.0, -2.0, 20.0 ], "pose": [ 118.967490359, 111.434580971, 76.850293016 ], "state_hash": 5053227094931014129 }, "maxkins": { "inverse": [ 3.0, 4.0, 5.0, 0.0, 30.0, 90.0 ], "pose": [ -4.0, 3.0, 5.0 ], "state_hash": 2549915653649577904 }, "puma": { "inverse": [ 10.0, 20.0, -30.0, 40.0, 25.0, -15.0 ], "pose": [ 450.112320486, 207.114833215, -612.180622409 ], "state_hash": 3161234248163340028 }, "rose": { "branch": 1, "inverse": [ 2.0, 7.0, 190.0 ], "pose": [ -1.969615506, -0.347296355, 7.0 ], "state_hash": 15304911204640563299 }, "rotatekins": { "inverse": [ 3.0, 4.0, 5.0, 0.0, 0.0, 90.0 ], "pose": [ 4.0, -3.0, 5.0 ], "state_hash": 1338350581716392236 }, "scara": { "inverse": [ -3.644300703, 40.0, 25.0, -31.355699297, 5.0, -3.0 ], "pose": [ 590.460310444, 130.945742721, 465.0 ], "state_hash": 4515826253922604237 }, "schema": "kinematics-coupled-samples.v1", "scorbot": { "inverse": [ 25.0, 35.0, -20.0, 10.0, -5.0 ], "pose": [ 366.786994761, 171.035584569, 191.173940759 ], "state_hash": 16037922903473574131 }, "xyzac_trt": { "inverse": [ 100.0, 50.0, 200.0, 30.0, 45.0 ], "pose": [ 142.826706376, 9.689621386, 163.102540378 ], "state_hash": 4869492769119734977 }, "xyzbc_trt": { "inverse": [ 100.0, 50.0, 200.0, 30.0, 45.0 ], "pose": [ 44.740352549, 25.97032557, 227.67175976 ], "state_hash": 1734235358276017152 } } }, "schema": "coupled-kinematics-report.v1", "source_records": { "corexy": { "path": "linuxcnc/src/emc/kinematics/corexykins.c", "sha256": "507963e0ed464440fa530db11b1b15c6a663182eb016855d105554ae8125ae5b" }, "maxkins": { "path": "linuxcnc/src/emc/kinematics/maxkins.c", "sha256": "01529e0db1b698af621d63c30bc8ae382757dd367f3e4babc9b959873344b4e7" }, "rose": { "path": "linuxcnc/src/emc/kinematics/rosekins.c", "sha256": "1de39affa6b99f21c5e902fc67c8b1d8876d44fc8eff920afd816d7f956cfd78" }, "rotatekins": { "path": "linuxcnc/src/emc/kinematics/rotatekins.c", "sha256": "b104c7e0eb726f48b83daa4d596db5ca8021d803ab17dd123db9b9410ce5f47c" } }, "state_hash": { "native": { "corexy": 15406663564927631605, "maxkins": 2549915653649577904, "rose": 15304911204640563299, "rotatekins": 1338350581716392236 }, "stable": true, "wasm": { "corexy": 15406663564927631605, "maxkins": 2549915653649577904, "rose": 15304911204640563299, "rotatekins": 1338350581716392236 } }, "status": "partial" }