Extend simulation runtime coverage and kinematics support
This commit is contained in:
15814
coverage/configuration-regression.report.json
Normal file
15814
coverage/configuration-regression.report.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -77,7 +77,7 @@
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"report_sha256": "765c8318c48d7570773d22394c625c0d6c479fdf2e98c62fa48296b61e99c238",
|
||||
"report_sha256": "5bc8a261e615f8ef62504a1c6ccf1744c4c3bdd735429cf524226da2f7de6633",
|
||||
"schema": "corexy-hal-report.v1",
|
||||
"source_records": {
|
||||
"component": {
|
||||
@@ -90,7 +90,7 @@
|
||||
},
|
||||
"hal_header": {
|
||||
"path": "wasm-core/include/sim_hal.h",
|
||||
"sha256": "f0b25fda1c267ed8078469c9966fa3b09721eba77c575affea77d489437a3e49"
|
||||
"sha256": "3dd7230316e557d1a129a9a80a26a109b837a318b092657b8bee0d53a5e57db9"
|
||||
},
|
||||
"hal_source": {
|
||||
"path": "wasm-core/src/sim_hal.c",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"schema": "hal-runtime-report.v1",
|
||||
"status": "passed",
|
||||
"pin_capacity": 256,
|
||||
"supported_types": ["BIT", "S32", "U32", "FLOAT"],
|
||||
"fixed_tick_scheduler": true,
|
||||
"max_period_ticks": 1000000,
|
||||
|
||||
287
coverage/io-runtime.report.json
Normal file
287
coverage/io-runtime.report.json
Normal file
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"boundaries": {
|
||||
"estop_command": -904,
|
||||
"estop_recovery_before_clear": -904,
|
||||
"fault_clear_while_asserted": -905,
|
||||
"invalid_pin_type": -304,
|
||||
"probe_state": 2,
|
||||
"probe_trigger": 0,
|
||||
"recovery": 0,
|
||||
"spindle_limit": -906,
|
||||
"state_hash_stable": true,
|
||||
"tool_change_while_spinning": -910
|
||||
},
|
||||
"implementation_status": "verified",
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_io_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_io_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"spindle acceleration/at-speed",
|
||||
"spindle orient",
|
||||
"tool prepare/change",
|
||||
"tool abort/fault/recovery",
|
||||
"probe pose latch",
|
||||
"estop and recovery"
|
||||
],
|
||||
"reason": "locked LinuxCNC source has no linuxcnc/unit_tests/kinematics oracle root and no browser IO oracle",
|
||||
"status": "blocked"
|
||||
},
|
||||
"pipeline": {
|
||||
"kinematics_association": "probe latch consumes the motion feedback pose; tool change requires stopped spindle; estop cancels motion-facing IO",
|
||||
"probe": [
|
||||
"arm",
|
||||
"input_edge",
|
||||
"forward_pose_latch",
|
||||
"trip_or_disarm"
|
||||
],
|
||||
"spindle": [
|
||||
"command",
|
||||
"inhibit_or_fault_gate",
|
||||
"acceleration_limit",
|
||||
"at_speed_and_brake",
|
||||
"revs_and_index"
|
||||
],
|
||||
"tool": [
|
||||
"prepare",
|
||||
"prepared_ack",
|
||||
"spindle_stopped_gate",
|
||||
"change",
|
||||
"changed_ack",
|
||||
"abort_or_fault"
|
||||
]
|
||||
},
|
||||
"registration": {
|
||||
"fixed_tick": true,
|
||||
"hal_pins": [
|
||||
"spindle.0.*",
|
||||
"spindle.1.*",
|
||||
"iocontrol.0.tool-*",
|
||||
"motion.probe-input"
|
||||
],
|
||||
"scheduler": "sim-io-servo",
|
||||
"spindle_capacity": 8,
|
||||
"tool_pocket_capacity": 1001
|
||||
},
|
||||
"report_sha256": "82a4b09badb2fcbcd248a0624b7b3a4e70c697f4040bd9250ac4831799c63af6",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"canonical": {
|
||||
"estop": 0,
|
||||
"fault": 0,
|
||||
"fault_reason": 0,
|
||||
"last_error": 0,
|
||||
"probe": {
|
||||
"input": 1,
|
||||
"position": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"state": 2,
|
||||
"tick": 40,
|
||||
"tripped": 1
|
||||
},
|
||||
"ready": 1,
|
||||
"recovery_epoch": 1,
|
||||
"spindles": [
|
||||
{
|
||||
"at_speed": 1,
|
||||
"brake": 1,
|
||||
"command_rpm": 0,
|
||||
"forward": 0,
|
||||
"reverse": 0,
|
||||
"speed_rpm": 0,
|
||||
"tick": 40
|
||||
},
|
||||
{
|
||||
"at_speed": 1,
|
||||
"brake": 1,
|
||||
"command_rpm": 0,
|
||||
"forward": 0,
|
||||
"reverse": 0,
|
||||
"speed_rpm": 0,
|
||||
"tick": 40
|
||||
}
|
||||
],
|
||||
"tick": 40,
|
||||
"tool": {
|
||||
"changed": 0,
|
||||
"current": 7,
|
||||
"prepare": 0,
|
||||
"prepared": 0,
|
||||
"prepared_pocket": 3,
|
||||
"prepared_tool": 7,
|
||||
"state": 0
|
||||
}
|
||||
},
|
||||
"estop": {
|
||||
"command": -904,
|
||||
"recover": 0,
|
||||
"recover_before_clear": -904
|
||||
},
|
||||
"pin": {
|
||||
"count": 67,
|
||||
"functions": 1,
|
||||
"invalid_type": -304
|
||||
},
|
||||
"probe": {
|
||||
"position": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"state": 2,
|
||||
"status": 0
|
||||
},
|
||||
"repeat_hash": 3758173594264074653,
|
||||
"schema": "io-samples.v1",
|
||||
"spindle": {
|
||||
"at_speed": 1,
|
||||
"limit": -906,
|
||||
"speed": 0.0,
|
||||
"step": 0,
|
||||
"tool_busy": -910
|
||||
},
|
||||
"state_hash": 3758173594264074653,
|
||||
"tool": {
|
||||
"current": 7,
|
||||
"fault_clear": -905,
|
||||
"state": 0
|
||||
}
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"canonical": {
|
||||
"estop": 0,
|
||||
"fault": 0,
|
||||
"fault_reason": 0,
|
||||
"last_error": 0,
|
||||
"probe": {
|
||||
"input": 1,
|
||||
"position": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"state": 2,
|
||||
"tick": 40,
|
||||
"tripped": 1
|
||||
},
|
||||
"ready": 1,
|
||||
"recovery_epoch": 1,
|
||||
"spindles": [
|
||||
{
|
||||
"at_speed": 1,
|
||||
"brake": 1,
|
||||
"command_rpm": 0,
|
||||
"forward": 0,
|
||||
"reverse": 0,
|
||||
"speed_rpm": 0,
|
||||
"tick": 40
|
||||
},
|
||||
{
|
||||
"at_speed": 1,
|
||||
"brake": 1,
|
||||
"command_rpm": 0,
|
||||
"forward": 0,
|
||||
"reverse": 0,
|
||||
"speed_rpm": 0,
|
||||
"tick": 40
|
||||
}
|
||||
],
|
||||
"tick": 40,
|
||||
"tool": {
|
||||
"changed": 0,
|
||||
"current": 7,
|
||||
"prepare": 0,
|
||||
"prepared": 0,
|
||||
"prepared_pocket": 3,
|
||||
"prepared_tool": 7,
|
||||
"state": 0
|
||||
}
|
||||
},
|
||||
"estop": {
|
||||
"command": -904,
|
||||
"recover": 0,
|
||||
"recover_before_clear": -904
|
||||
},
|
||||
"pin": {
|
||||
"count": 67,
|
||||
"functions": 1,
|
||||
"invalid_type": -304
|
||||
},
|
||||
"probe": {
|
||||
"position": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"state": 2,
|
||||
"status": 0
|
||||
},
|
||||
"repeat_hash": 3758173594264074653,
|
||||
"schema": "io-samples.v1",
|
||||
"spindle": {
|
||||
"at_speed": 1,
|
||||
"limit": -906,
|
||||
"speed": 0.0,
|
||||
"step": 0,
|
||||
"tool_busy": -910
|
||||
},
|
||||
"state_hash": 3758173594264074653,
|
||||
"tool": {
|
||||
"current": 7,
|
||||
"fault_clear": -905,
|
||||
"state": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"schema": "io-runtime-report.v1",
|
||||
"source_records": {
|
||||
"hal_header": {
|
||||
"path": "wasm-core/include/sim_hal.h",
|
||||
"sha256": "3dd7230316e557d1a129a9a80a26a109b837a318b092657b8bee0d53a5e57db9"
|
||||
},
|
||||
"hal_source": {
|
||||
"path": "wasm-core/src/sim_hal.c",
|
||||
"sha256": "76a057064546a8ee9ba1098952755a4cdc56e6e714f2761b8a1826898d3ae621"
|
||||
},
|
||||
"io_header": {
|
||||
"path": "wasm-core/include/sim_io.h",
|
||||
"sha256": "d84e9ab0bcf9ff138f8c8a57b28337605d731ff796577a8ab748d708f97daf9b"
|
||||
},
|
||||
"io_source": {
|
||||
"path": "wasm-core/src/sim_io.c",
|
||||
"sha256": "2ceacdb168a1f6dddb36761b93f62e4c39b3a6249c0a91a740ecf924dce217b3"
|
||||
},
|
||||
"linuxcnc_control": {
|
||||
"path": "linuxcnc/src/emc/motion/control.c",
|
||||
"sha256": "fa1b14689e2e4493c02d0939f982278366d4c1888da62e172cec030904c82c50"
|
||||
},
|
||||
"linuxcnc_iocontrol": {
|
||||
"path": "linuxcnc/src/emc/iotask/ioControl.cc",
|
||||
"sha256": "f2f7d4f8a0e77815ca1ffb1ba2699b9d2ffa4297c8ec7718aadd197fe6ca06a9"
|
||||
},
|
||||
"linuxcnc_iocontrol_v2": {
|
||||
"path": "linuxcnc/src/emc/iotask/ioControl_v2.cc",
|
||||
"sha256": "a33bcddcdcbcda843166bd547f7c7a5dfc7f9436426c5354f7124f42f6f75e5c"
|
||||
},
|
||||
"linuxcnc_motion": {
|
||||
"path": "linuxcnc/src/emc/motion/motion.c",
|
||||
"sha256": "c3d1404150b56cfb03ab35ecdf64694d60a6d37117d0617a8464d548133e79d3"
|
||||
},
|
||||
"linuxcnc_sim_spindle": {
|
||||
"path": "linuxcnc/src/hal/components/sim_spindle.comp",
|
||||
"sha256": "a1ce30a051490c5f40adc968a693930464dfbe59c9df1848c296689179b11365"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_io_test.c",
|
||||
"sha256": "46923ff49c55576692e660d1af37e43bd6c1aff184ae2a2d5ca9201dd969ccfe"
|
||||
}
|
||||
},
|
||||
"status": "partial"
|
||||
}
|
||||
153
coverage/kinematics-feedback.report.json
Normal file
153
coverage/kinematics-feedback.report.json
Normal file
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"boundaries": {
|
||||
"failed_feedback_valid": 0,
|
||||
"forward_failure": -823,
|
||||
"forward_failure_kinematics": -706,
|
||||
"joint_count": -821,
|
||||
"nonfinite": -822,
|
||||
"stale_read": -824,
|
||||
"state_hash_stable": true
|
||||
},
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZ",
|
||||
"id": "trivkins-xyz-feedback",
|
||||
"kind": "derived",
|
||||
"path": "wasm-core/tests/sim_kinematics_feedback_test.c"
|
||||
},
|
||||
{
|
||||
"coordinates": "XYZBC",
|
||||
"id": "inverse-only-feedback-rejection",
|
||||
"kind": "derived",
|
||||
"path": "wasm-core/tests/sim_kinematics_feedback_test.c",
|
||||
"purpose": "forward feedback rejects unsupported mode without publishing a pose"
|
||||
}
|
||||
],
|
||||
"implementation_status": "verified",
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_kinematics_feedback_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_kinematics_feedback_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"nominal FK feedback",
|
||||
"stale read",
|
||||
"nonfinite feedback",
|
||||
"joint count mismatch",
|
||||
"unsupported forward",
|
||||
"state hash"
|
||||
],
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"pipeline": {
|
||||
"last_valid_pose_policy": "retain on error",
|
||||
"order": [
|
||||
"actual_joint_feedback",
|
||||
"forward_kinematics",
|
||||
"pose_flags_commit"
|
||||
],
|
||||
"state_fields": [
|
||||
"pose",
|
||||
"joints",
|
||||
"forward_flags",
|
||||
"inverse_flags",
|
||||
"tick",
|
||||
"valid",
|
||||
"last_error",
|
||||
"kinematics_error"
|
||||
]
|
||||
},
|
||||
"report_sha256": "62da08a0a3d8306a6e5c3b8d5e66b2c6f268a5896cfe26d6a6671c3e3df0e822",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"count_error": -821,
|
||||
"nominal": {
|
||||
"flags": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"pose": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"repeat_hash": 13054934758762781376,
|
||||
"state_hash": 13054934758762781376,
|
||||
"status": 0,
|
||||
"tick": 1,
|
||||
"valid": 1
|
||||
},
|
||||
"nonfinite": -822,
|
||||
"schema": "kinematics-feedback-samples.v1",
|
||||
"singular": {
|
||||
"kinematics_error": -706,
|
||||
"status": -823,
|
||||
"valid": 0
|
||||
},
|
||||
"stale_read": -824
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"count_error": -821,
|
||||
"nominal": {
|
||||
"flags": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"pose": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"repeat_hash": 13054934758762781376,
|
||||
"state_hash": 13054934758762781376,
|
||||
"status": 0,
|
||||
"tick": 1,
|
||||
"valid": 1
|
||||
},
|
||||
"nonfinite": -822,
|
||||
"schema": "kinematics-feedback-samples.v1",
|
||||
"singular": {
|
||||
"kinematics_error": -706,
|
||||
"status": -823,
|
||||
"valid": 0
|
||||
},
|
||||
"stale_read": -824
|
||||
}
|
||||
},
|
||||
"schema": "kinematics-feedback-report.v1",
|
||||
"source_records": {
|
||||
"feedback_header": {
|
||||
"path": "wasm-core/include/sim_kinematics_feedback.h",
|
||||
"sha256": "6d70be324a99d58f07c5a3c3c888b92cd1959cba250faf3c12a4e32c5ef1cf05"
|
||||
},
|
||||
"feedback_source": {
|
||||
"path": "wasm-core/src/sim_kinematics_feedback.c",
|
||||
"sha256": "c690fc420d58b5e60958e4d0745b9a6bca678c5283eb9e74c50a11ca61faa93a"
|
||||
},
|
||||
"kinematics_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"kinematics_source": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600"
|
||||
},
|
||||
"linuxcnc_control": {
|
||||
"path": "linuxcnc/src/emc/motion/control.c",
|
||||
"sha256": "fa1b14689e2e4493c02d0939f982278366d4c1888da62e172cec030904c82c50"
|
||||
},
|
||||
"linuxcnc_motion": {
|
||||
"path": "linuxcnc/src/emc/motion/motion.c",
|
||||
"sha256": "c3d1404150b56cfb03ab35ecdf64694d60a6d37117d0617a8464d548133e79d3"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_feedback_test.c",
|
||||
"sha256": "1f1830b90a6d0662c02b7494f0b1848c518c13f3cf70905c5ba6a6eba62e7762"
|
||||
}
|
||||
},
|
||||
"status": "partial"
|
||||
}
|
||||
148
coverage/kinematics-home-limit.report.json
Normal file
148
coverage/kinematics-home-limit.report.json
Normal file
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"boundaries": {
|
||||
"home": 0,
|
||||
"joint_count": -841,
|
||||
"limit": -843,
|
||||
"nonfinite": -845,
|
||||
"retains_valid_pose": true,
|
||||
"sequence": -846,
|
||||
"state_hash_stable": true,
|
||||
"unhomed": -842
|
||||
},
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZ",
|
||||
"id": "trivkins-xyz-home-limits",
|
||||
"kind": "derived",
|
||||
"limits": "[-5,5] per axis",
|
||||
"path": "wasm-core/tests/sim_kinematics_home_limit_test.c"
|
||||
}
|
||||
],
|
||||
"implementation_status": "verified",
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_kinematics_home_limit_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_kinematics_home_limit_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"unhomed check",
|
||||
"home sequence",
|
||||
"kinematics home",
|
||||
"joint limit",
|
||||
"nonfinite joint",
|
||||
"joint count",
|
||||
"state hash"
|
||||
],
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"pipeline": {
|
||||
"failed_limit_policy": "retain last valid pose and joints",
|
||||
"order": [
|
||||
"home_sequence",
|
||||
"kinematics_home",
|
||||
"limit_check",
|
||||
"forward_feedback"
|
||||
],
|
||||
"state_fields": [
|
||||
"homed",
|
||||
"home_sequence",
|
||||
"tick",
|
||||
"pose",
|
||||
"joints",
|
||||
"last_error",
|
||||
"limit_error",
|
||||
"kinematics_error"
|
||||
]
|
||||
},
|
||||
"report_sha256": "1e625b140fed62d996381ce18a565300cc39d22ba54d10a1f8df436cf69a9797",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"before_home": -842,
|
||||
"count_status": -841,
|
||||
"home_status": 0,
|
||||
"limit_status": -843,
|
||||
"nonfinite_status": -845,
|
||||
"schema": "kinematics-home-limit-samples.v1",
|
||||
"sequence_error": -846,
|
||||
"state": {
|
||||
"hash": 14198619819498413028,
|
||||
"homed": 1,
|
||||
"joints": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"pose": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"repeat_hash": 14198619819498413028,
|
||||
"sequence": 7,
|
||||
"tick": 2
|
||||
}
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"before_home": -842,
|
||||
"count_status": -841,
|
||||
"home_status": 0,
|
||||
"limit_status": -843,
|
||||
"nonfinite_status": -845,
|
||||
"schema": "kinematics-home-limit-samples.v1",
|
||||
"sequence_error": -846,
|
||||
"state": {
|
||||
"hash": 14198619819498413028,
|
||||
"homed": 1,
|
||||
"joints": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"pose": [
|
||||
1.0,
|
||||
2.0,
|
||||
3.0
|
||||
],
|
||||
"repeat_hash": 14198619819498413028,
|
||||
"sequence": 7,
|
||||
"tick": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"schema": "kinematics-home-limit-report.v1",
|
||||
"source_records": {
|
||||
"home_header": {
|
||||
"path": "wasm-core/include/sim_kinematics_home_limit.h",
|
||||
"sha256": "ad4b4fc84efcc9a2dc6555d7ed69ab613eee21db7fef0d037d0a4ca1063309e1"
|
||||
},
|
||||
"home_source": {
|
||||
"path": "wasm-core/src/sim_kinematics_home_limit.c",
|
||||
"sha256": "7f59d1722cd2ca54f346168b4a13d9e8377bb6035c9f5866c3a3fbb7115bb996"
|
||||
},
|
||||
"kinematics_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"kinematics_source": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600"
|
||||
},
|
||||
"linuxcnc_homemod": {
|
||||
"path": "linuxcnc/src/emc/motion/homemod.c",
|
||||
"sha256": "df2e24e8d6c48d47448971b6e69471910a435d207a9d45f857a968aebf14ea5c"
|
||||
},
|
||||
"linuxcnc_homing": {
|
||||
"path": "linuxcnc/src/emc/motion/homing.c",
|
||||
"sha256": "ee73d38f2feb8d5523b9a733cb17d635d3904667aaa219f8a02d7fbffee1ba39"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_home_limit_test.c",
|
||||
"sha256": "94004ef9e4182cfa04c9a458d750d84b12250a625406ad29ce06ae45136f909d"
|
||||
}
|
||||
},
|
||||
"status": "partial"
|
||||
}
|
||||
171
coverage/kinematics-motion.report.json
Normal file
171
coverage/kinematics-motion.report.json
Normal file
@@ -0,0 +1,171 @@
|
||||
{
|
||||
"boundaries": {
|
||||
"capacity": -802,
|
||||
"capacity_planner_rollback": true,
|
||||
"inverse_error": -704,
|
||||
"inverse_failure": -804,
|
||||
"inverse_planner_rollback": true,
|
||||
"nonfinite": -805,
|
||||
"pause": -801,
|
||||
"state_hash_stable": true
|
||||
},
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZ",
|
||||
"id": "trivkins-xyz-fixed-tick",
|
||||
"kind": "derived",
|
||||
"path": "wasm-core/tests/sim_kinematics_motion_test.c",
|
||||
"purpose": "deterministic TP to inverse to joint sample"
|
||||
},
|
||||
{
|
||||
"coordinates": "XYZBC",
|
||||
"id": "xyzbc-singular-rollback",
|
||||
"kind": "derived",
|
||||
"path": "wasm-core/tests/sim_kinematics_motion_test.c",
|
||||
"purpose": "B=90 inverse failure leaves planner untouched"
|
||||
}
|
||||
],
|
||||
"implementation_status": "verified",
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_kinematics_motion_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_kinematics_motion_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"TP to IK fixed tick",
|
||||
"joint queue capacity",
|
||||
"pause/resume",
|
||||
"singular IK rollback",
|
||||
"nonfinite segment"
|
||||
],
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"pipeline": {
|
||||
"joint_queue_capacity": 64,
|
||||
"order": [
|
||||
"fixed_tick",
|
||||
"trajectory_planner",
|
||||
"kinematics_inverse",
|
||||
"atomic_joint_queue"
|
||||
],
|
||||
"planner_queue_capacity": 32,
|
||||
"transaction": "snapshot planner and kinematics; rollback on IK, planner, nonfinite, or capacity failure"
|
||||
},
|
||||
"report_sha256": "eb01772b430dfe5aeab6544916c42830f013a0913c7a62ab5f59df13de8c1010",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"capacity": {
|
||||
"depth": 64,
|
||||
"planner_after": 10899630745385757838,
|
||||
"planner_before": 10899630745385757838,
|
||||
"state_hash": 13283141982606912976,
|
||||
"status": -802
|
||||
},
|
||||
"inverse_failure": {
|
||||
"depth": 0,
|
||||
"kinematics_error": -704,
|
||||
"planner_after": 14629876896415603154,
|
||||
"planner_before": 14629876896415603154,
|
||||
"status": -804
|
||||
},
|
||||
"nominal": {
|
||||
"joints": [
|
||||
0.1,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"pause_status": -801,
|
||||
"pose": [
|
||||
0.1,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"repeat_hash": 405287727652118863,
|
||||
"resume_status": 0,
|
||||
"state_hash": 405287727652118863,
|
||||
"tick": 1
|
||||
},
|
||||
"nonfinite_status": -805,
|
||||
"schema": "kinematics-motion-samples.v1"
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"capacity": {
|
||||
"depth": 64,
|
||||
"planner_after": 10899630745385757838,
|
||||
"planner_before": 10899630745385757838,
|
||||
"state_hash": 13283141982606912976,
|
||||
"status": -802
|
||||
},
|
||||
"inverse_failure": {
|
||||
"depth": 0,
|
||||
"kinematics_error": -704,
|
||||
"planner_after": 14629876896415603154,
|
||||
"planner_before": 14629876896415603154,
|
||||
"status": -804
|
||||
},
|
||||
"nominal": {
|
||||
"joints": [
|
||||
0.1,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"pause_status": -801,
|
||||
"pose": [
|
||||
0.1,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"repeat_hash": 405287727652118863,
|
||||
"resume_status": 0,
|
||||
"state_hash": 405287727652118863,
|
||||
"tick": 1
|
||||
},
|
||||
"nonfinite_status": -805,
|
||||
"schema": "kinematics-motion-samples.v1"
|
||||
}
|
||||
},
|
||||
"schema": "kinematics-motion-report.v1",
|
||||
"source_records": {
|
||||
"kinematics_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"kinematics_motion_header": {
|
||||
"path": "wasm-core/include/sim_kinematics_motion.h",
|
||||
"sha256": "86b0f6b889875b03bc3fea8787443cb72e77561e85c7114b8dd43eeba8c69350"
|
||||
},
|
||||
"kinematics_motion_source": {
|
||||
"path": "wasm-core/src/sim_kinematics_motion.c",
|
||||
"sha256": "1e9bd5404acfe7ab20eca5b3bb76111bf43c442feee0dc2d4c3f9249ba916a88"
|
||||
},
|
||||
"kinematics_source": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600"
|
||||
},
|
||||
"linuxcnc_control": {
|
||||
"path": "linuxcnc/src/emc/motion/control.c",
|
||||
"sha256": "fa1b14689e2e4493c02d0939f982278366d4c1888da62e172cec030904c82c50"
|
||||
},
|
||||
"linuxcnc_motion": {
|
||||
"path": "linuxcnc/src/emc/motion/motion.c",
|
||||
"sha256": "c3d1404150b56cfb03ab35ecdf64694d60a6d37117d0617a8464d548133e79d3"
|
||||
},
|
||||
"motion_header": {
|
||||
"path": "wasm-core/include/sim_motion_queue.h",
|
||||
"sha256": "c26af2b5cff6cbc687f621d745601ff287eebd62011ea46fc7fa692b446a08cc"
|
||||
},
|
||||
"motion_source": {
|
||||
"path": "wasm-core/src/sim_motion_queue.c",
|
||||
"sha256": "56074e27df90bc1b60134eac3cdf84c78149388f99a19a027f6714e3784b04ed"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_motion_test.c",
|
||||
"sha256": "bf041a8f30451c832566d9476d44f0011e56f33800f7a40aad12b4ebc0f662fc"
|
||||
}
|
||||
},
|
||||
"status": "partial"
|
||||
}
|
||||
@@ -15,10 +15,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"ready_count": 0,
|
||||
"records": [
|
||||
@@ -29,10 +29,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -75,10 +75,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -121,10 +121,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -169,10 +169,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -217,10 +217,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -273,10 +273,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -329,10 +329,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -385,10 +385,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -441,10 +441,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -490,10 +490,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -542,10 +542,10 @@
|
||||
"native_smoke": {
|
||||
"binary": "build-native/sim_kinematics_test",
|
||||
"exit_code": 0,
|
||||
"result_sha256": "96d4ce027200030704ead75b891ead3c3af9b39f60eaccaafa875e0e8d526e3a",
|
||||
"result_sha256": "5f0afb7a7415fe5e0868273a7a8659526f6b351e1fc4c2a1f8a0c817c425f747",
|
||||
"status": "passed",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "4792c9d03a753904bfef11d4b53e680ec1ff00a8b593addd95f4d566aa722140"
|
||||
"stdout_sha256": "470ed446a2e34f15a09838a8aae96e478b40965b26d717c5d3dbada9c028f638"
|
||||
},
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; this definition is deterministic but cannot be accepted as the official native FK/IK oracle",
|
||||
"status": "blocked"
|
||||
@@ -592,7 +592,7 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"report_fingerprint_sha256": "a501a60ae74340f05642468dc4911f56b9c5a3e93b0ccdb2e2a11657754cac7e",
|
||||
"report_fingerprint_sha256": "e165aad3a5ffe67b237bb2a34df9605578c58ff090bcab75345d0bc691c8abff",
|
||||
"sample_count": 11,
|
||||
"schema": "kinematics-oracle-report.v1",
|
||||
"status": "blocked"
|
||||
|
||||
502
coverage/kinematics-registry.report.json
Normal file
502
coverage/kinematics-registry.report.json
Normal file
@@ -0,0 +1,502 @@
|
||||
{
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZAC",
|
||||
"id": "xyzac-trt",
|
||||
"kind": "real",
|
||||
"parameters": [
|
||||
"offsets",
|
||||
"tool",
|
||||
"limits"
|
||||
],
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"type": 2
|
||||
},
|
||||
{
|
||||
"coordinates": "XYZABC",
|
||||
"id": "genser-puma560",
|
||||
"kind": "real",
|
||||
"parameters": [
|
||||
"DH",
|
||||
"solver",
|
||||
"limits"
|
||||
],
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
|
||||
"type": 13
|
||||
},
|
||||
{
|
||||
"coordinates": "XYZAB",
|
||||
"id": "pentapod",
|
||||
"kind": "real",
|
||||
"parameters": [
|
||||
"geometry",
|
||||
"tool",
|
||||
"solver",
|
||||
"limits"
|
||||
],
|
||||
"path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini",
|
||||
"type": 18
|
||||
}
|
||||
],
|
||||
"implementation_status": "verified",
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_kinematics_registry_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_kinematics_registry_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"18-entry registry",
|
||||
"capability requirements",
|
||||
"parameter masks",
|
||||
"real config validation",
|
||||
"unknown/path names"
|
||||
],
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"registry": {
|
||||
"abi_version": 1,
|
||||
"capabilities": {
|
||||
"duplicate_coordinates": 64,
|
||||
"extra_joints": 32,
|
||||
"forward": 1,
|
||||
"identity": 4,
|
||||
"inverse": 2,
|
||||
"iterative": 8,
|
||||
"switchable": 16
|
||||
},
|
||||
"capability_union": 127,
|
||||
"entry_count": 18,
|
||||
"parameter_union": 255,
|
||||
"parameters": {
|
||||
"DH": 64,
|
||||
"geometry": 32,
|
||||
"limits": 2,
|
||||
"mapping": 1,
|
||||
"offsets": 4,
|
||||
"pivot": 16,
|
||||
"solver": 128,
|
||||
"tool": 8
|
||||
},
|
||||
"state_hash": 3966926008000628109,
|
||||
"verified_entries": 18
|
||||
},
|
||||
"report_sha256": "e18289c5743e6b7c8acf608a43ebb6a2169f72929c8667da8ad3810be65f7dd2",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"capability_error": -711,
|
||||
"capability_union": 127,
|
||||
"coordinate_error": -703,
|
||||
"count": 18,
|
||||
"entries": [
|
||||
{
|
||||
"capabilities": 119,
|
||||
"max": 9,
|
||||
"min": 1,
|
||||
"name": "trivkins",
|
||||
"parameters": 3,
|
||||
"required": "",
|
||||
"type": 1
|
||||
},
|
||||
{
|
||||
"capabilities": 115,
|
||||
"max": 9,
|
||||
"min": 5,
|
||||
"name": "xyzac-trt-kins",
|
||||
"parameters": 15,
|
||||
"required": "XYZAC",
|
||||
"type": 2
|
||||
},
|
||||
{
|
||||
"capabilities": 115,
|
||||
"max": 9,
|
||||
"min": 5,
|
||||
"name": "xyzbc-trt-kins",
|
||||
"parameters": 15,
|
||||
"required": "XYZBC",
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 6,
|
||||
"name": "xyzbcw",
|
||||
"parameters": 19,
|
||||
"required": "XYZBCW",
|
||||
"type": 4
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "corexykins",
|
||||
"parameters": 3,
|
||||
"required": "XYZ",
|
||||
"type": 5
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 3,
|
||||
"min": 3,
|
||||
"name": "rosekins",
|
||||
"parameters": 3,
|
||||
"required": "XYZ",
|
||||
"type": 6
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "maxkins",
|
||||
"parameters": 19,
|
||||
"required": "XYZ",
|
||||
"type": 7
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "rotatekins",
|
||||
"parameters": 3,
|
||||
"required": "XYZ",
|
||||
"type": 8
|
||||
},
|
||||
{
|
||||
"capabilities": 115,
|
||||
"max": 9,
|
||||
"min": 6,
|
||||
"name": "5axiskins",
|
||||
"parameters": 19,
|
||||
"required": "XYZBCW",
|
||||
"type": 9
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "scarakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZCAB",
|
||||
"type": 10
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "pumakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZABC",
|
||||
"type": 11
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 5,
|
||||
"min": 5,
|
||||
"name": "scorbot-kins",
|
||||
"parameters": 35,
|
||||
"required": "XYZAB",
|
||||
"type": 12
|
||||
},
|
||||
{
|
||||
"capabilities": 27,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "genserkins",
|
||||
"parameters": 195,
|
||||
"required": "XYZABC",
|
||||
"type": 13
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "lineardeltakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZ",
|
||||
"type": 14
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "rotarydeltakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZ",
|
||||
"type": 15
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "tripodkins",
|
||||
"parameters": 35,
|
||||
"required": "XYZ",
|
||||
"type": 16
|
||||
},
|
||||
{
|
||||
"capabilities": 27,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "genhexkins",
|
||||
"parameters": 171,
|
||||
"required": "XYZABC",
|
||||
"type": 17
|
||||
},
|
||||
{
|
||||
"capabilities": 27,
|
||||
"max": 5,
|
||||
"min": 5,
|
||||
"name": "pentakins",
|
||||
"parameters": 171,
|
||||
"required": "XYZAB",
|
||||
"type": 18
|
||||
}
|
||||
],
|
||||
"iterative_require": 0,
|
||||
"joint_error": -703,
|
||||
"lookup_status": 0,
|
||||
"parameter_error": -711,
|
||||
"parameter_union": 255,
|
||||
"path_name": -712,
|
||||
"range_error": -702,
|
||||
"registry_hash": 3966926008000628109,
|
||||
"schema": "kinematics-registry-samples.v1",
|
||||
"type_mismatch": -703,
|
||||
"unknown_name": -705,
|
||||
"verified": 18
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"capability_error": -711,
|
||||
"capability_union": 127,
|
||||
"coordinate_error": -703,
|
||||
"count": 18,
|
||||
"entries": [
|
||||
{
|
||||
"capabilities": 119,
|
||||
"max": 9,
|
||||
"min": 1,
|
||||
"name": "trivkins",
|
||||
"parameters": 3,
|
||||
"required": "",
|
||||
"type": 1
|
||||
},
|
||||
{
|
||||
"capabilities": 115,
|
||||
"max": 9,
|
||||
"min": 5,
|
||||
"name": "xyzac-trt-kins",
|
||||
"parameters": 15,
|
||||
"required": "XYZAC",
|
||||
"type": 2
|
||||
},
|
||||
{
|
||||
"capabilities": 115,
|
||||
"max": 9,
|
||||
"min": 5,
|
||||
"name": "xyzbc-trt-kins",
|
||||
"parameters": 15,
|
||||
"required": "XYZBC",
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 6,
|
||||
"name": "xyzbcw",
|
||||
"parameters": 19,
|
||||
"required": "XYZBCW",
|
||||
"type": 4
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "corexykins",
|
||||
"parameters": 3,
|
||||
"required": "XYZ",
|
||||
"type": 5
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 3,
|
||||
"min": 3,
|
||||
"name": "rosekins",
|
||||
"parameters": 3,
|
||||
"required": "XYZ",
|
||||
"type": 6
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "maxkins",
|
||||
"parameters": 19,
|
||||
"required": "XYZ",
|
||||
"type": 7
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "rotatekins",
|
||||
"parameters": 3,
|
||||
"required": "XYZ",
|
||||
"type": 8
|
||||
},
|
||||
{
|
||||
"capabilities": 115,
|
||||
"max": 9,
|
||||
"min": 6,
|
||||
"name": "5axiskins",
|
||||
"parameters": 19,
|
||||
"required": "XYZBCW",
|
||||
"type": 9
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "scarakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZCAB",
|
||||
"type": 10
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "pumakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZABC",
|
||||
"type": 11
|
||||
},
|
||||
{
|
||||
"capabilities": 19,
|
||||
"max": 5,
|
||||
"min": 5,
|
||||
"name": "scorbot-kins",
|
||||
"parameters": 35,
|
||||
"required": "XYZAB",
|
||||
"type": 12
|
||||
},
|
||||
{
|
||||
"capabilities": 27,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "genserkins",
|
||||
"parameters": 195,
|
||||
"required": "XYZABC",
|
||||
"type": 13
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "lineardeltakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZ",
|
||||
"type": 14
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "rotarydeltakins",
|
||||
"parameters": 35,
|
||||
"required": "XYZ",
|
||||
"type": 15
|
||||
},
|
||||
{
|
||||
"capabilities": 51,
|
||||
"max": 9,
|
||||
"min": 3,
|
||||
"name": "tripodkins",
|
||||
"parameters": 35,
|
||||
"required": "XYZ",
|
||||
"type": 16
|
||||
},
|
||||
{
|
||||
"capabilities": 27,
|
||||
"max": 6,
|
||||
"min": 6,
|
||||
"name": "genhexkins",
|
||||
"parameters": 171,
|
||||
"required": "XYZABC",
|
||||
"type": 17
|
||||
},
|
||||
{
|
||||
"capabilities": 27,
|
||||
"max": 5,
|
||||
"min": 5,
|
||||
"name": "pentakins",
|
||||
"parameters": 171,
|
||||
"required": "XYZAB",
|
||||
"type": 18
|
||||
}
|
||||
],
|
||||
"iterative_require": 0,
|
||||
"joint_error": -703,
|
||||
"lookup_status": 0,
|
||||
"parameter_error": -711,
|
||||
"parameter_union": 255,
|
||||
"path_name": -712,
|
||||
"range_error": -702,
|
||||
"registry_hash": 3966926008000628109,
|
||||
"schema": "kinematics-registry-samples.v1",
|
||||
"type_mismatch": -703,
|
||||
"unknown_name": -705,
|
||||
"verified": 18
|
||||
}
|
||||
},
|
||||
"schema": "kinematics-registry-report.v1",
|
||||
"source_records": {
|
||||
"config_genser": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
|
||||
"sha256": "2bb881ed6c5662282977accac29bfd6c4efc18e572cbcb8a31c134677012cf4c"
|
||||
},
|
||||
"config_pentapod": {
|
||||
"path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini",
|
||||
"sha256": "0fb210122ab482087d3a95e5e7487baecb84c3260dca1769970f4c19b2ad0618"
|
||||
},
|
||||
"config_xyzac": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"sha256": "9ee1d96962e7a44b25468f452543cfc3ca318585269e26227bb5b6e17b1e42f1"
|
||||
},
|
||||
"implementation": {
|
||||
"path": "wasm-core/src/sim_kinematics_registry.c",
|
||||
"sha256": "fa852e370b5fa52006afb9c04bd6bc4ebba798d9b1ab7f060d52ecf98326d97d"
|
||||
},
|
||||
"kinematics_implementation": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600"
|
||||
},
|
||||
"linuxcnc_header": {
|
||||
"path": "linuxcnc/src/emc/kinematics/kinematics.h",
|
||||
"sha256": "33b3744b9ceeeef3d992e9ca9cda89d93a3357d2d0a2af2023ca728e4be8e428"
|
||||
},
|
||||
"sim_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_registry_test.c",
|
||||
"sha256": "42d0952fdb94340e33b4a86a5f0707aa3330302ae3c5e2573785bf29ee8ac243"
|
||||
}
|
||||
},
|
||||
"status": "partial",
|
||||
"validation": {
|
||||
"capability_error": -711,
|
||||
"coordinate_error": -703,
|
||||
"iterative_genser_and_DH_status": 0,
|
||||
"joint_error": -703,
|
||||
"lookup_status": 0,
|
||||
"parameter_error": -711,
|
||||
"path_name": -712,
|
||||
"range_error": -702,
|
||||
"type_mismatch": -703,
|
||||
"unknown_name": -705
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -45,11 +45,44 @@
|
||||
"joints": 5,
|
||||
"kinematics": "pentakins",
|
||||
"path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini",
|
||||
"provenance": "shipped LinuxCNC simulation",
|
||||
"scan": true
|
||||
},
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZAB",
|
||||
"id": "shipped-pentapod",
|
||||
"joints": 5,
|
||||
"kind": "real",
|
||||
"path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini"
|
||||
},
|
||||
{
|
||||
"coordinates": "XYZAB",
|
||||
"id": "offset-seed-regression",
|
||||
"initial_pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"joints": 5,
|
||||
"kind": "derived",
|
||||
"path": "wasm-core/tests/sim_kinematics_test.c",
|
||||
"purpose": "non-zero roll/pitch Newton convergence and native/WASM comparison",
|
||||
"target_pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
0.01,
|
||||
-0.01
|
||||
]
|
||||
}
|
||||
],
|
||||
"geometry": {
|
||||
"orientation": "roll/pitch only; yaw fixed at zero",
|
||||
"orientation": "roll/pitch only; yaw is constrained to zero in the forward result",
|
||||
"struts": 5,
|
||||
"tool_offset": "applied to both base and effector HAL z coordinates",
|
||||
"units": "configuration units; XYZ linear and AB degrees"
|
||||
},
|
||||
"implementation_status": "verified",
|
||||
@@ -83,12 +116,13 @@
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"report_sha256": "b1d1cdc8fbd64b64ffa88023c77c7ce097952966353567b023c0667a8dc1be75",
|
||||
"report_sha256": "d8863549ead6486889c8473134f9e2ce1c2835024c9ea67494c4c7e0a13a6b75",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"boundaries": {
|
||||
"alternate_branch": 0,
|
||||
"alternate_branch": 1,
|
||||
"alternate_iterations": 1,
|
||||
"alternate_pose": [
|
||||
0.0,
|
||||
0.0,
|
||||
@@ -97,37 +131,42 @@
|
||||
"alternate_status": -702,
|
||||
"branch": 0,
|
||||
"iteration_limit": -702,
|
||||
"iterations": 1,
|
||||
"iteration_limit_iterations": 1,
|
||||
"iterations": 12,
|
||||
"limit_error": -702,
|
||||
"max_error": -702,
|
||||
"max_error_iterations": 1,
|
||||
"nonpositive": -702,
|
||||
"residual": 0.0,
|
||||
"singular": -704
|
||||
"nonpositive_iterations": 0,
|
||||
"residual": 1e-09,
|
||||
"singular": -704,
|
||||
"singular_iterations": 0
|
||||
},
|
||||
"pentapod": {
|
||||
"inverse": [
|
||||
619.814203778,
|
||||
655.78680467,
|
||||
750.465994974,
|
||||
351.035577947,
|
||||
327.336726304
|
||||
625.895566556,
|
||||
649.261562588,
|
||||
754.767615986,
|
||||
338.490149644,
|
||||
341.118326622
|
||||
],
|
||||
"iterations": 1,
|
||||
"iterations": 12,
|
||||
"pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
2.0,
|
||||
-3.0
|
||||
0.01,
|
||||
-0.01
|
||||
],
|
||||
"residual": 0.0,
|
||||
"state_hash": 10088895819155863850
|
||||
"residual": 1e-09,
|
||||
"state_hash": 13978136356142463125
|
||||
}
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"boundaries": {
|
||||
"alternate_branch": 0,
|
||||
"alternate_branch": 1,
|
||||
"alternate_iterations": 1,
|
||||
"alternate_pose": [
|
||||
0.0,
|
||||
0.0,
|
||||
@@ -136,31 +175,35 @@
|
||||
"alternate_status": -702,
|
||||
"branch": 0,
|
||||
"iteration_limit": -702,
|
||||
"iterations": 1,
|
||||
"iteration_limit_iterations": 1,
|
||||
"iterations": 12,
|
||||
"limit_error": -702,
|
||||
"max_error": -702,
|
||||
"max_error_iterations": 1,
|
||||
"nonpositive": -702,
|
||||
"residual": 0.0,
|
||||
"singular": -704
|
||||
"nonpositive_iterations": 0,
|
||||
"residual": 1e-09,
|
||||
"singular": -704,
|
||||
"singular_iterations": 0
|
||||
},
|
||||
"pentapod": {
|
||||
"inverse": [
|
||||
619.814203778,
|
||||
655.78680467,
|
||||
750.465994974,
|
||||
351.035577947,
|
||||
327.336726304
|
||||
625.895566556,
|
||||
649.261562588,
|
||||
754.767615986,
|
||||
338.490149644,
|
||||
341.118326622
|
||||
],
|
||||
"iterations": 1,
|
||||
"iterations": 12,
|
||||
"pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
2.0,
|
||||
-3.0
|
||||
0.01,
|
||||
-0.01
|
||||
],
|
||||
"residual": 0.0,
|
||||
"state_hash": 10088895819155863850
|
||||
"residual": 1e-09,
|
||||
"state_hash": 13978136356142463125
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -178,7 +221,8 @@
|
||||
300.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"seed_units": "XYZ in configuration units; A/B in radians internally"
|
||||
},
|
||||
"source_records": {
|
||||
"config": {
|
||||
@@ -195,11 +239,11 @@
|
||||
},
|
||||
"implementation": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "424873c8e5d3d5b45daf616d95a58157c6dbcbbee9f4cc512b58bfb2672c6145"
|
||||
"sha256": "316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600"
|
||||
},
|
||||
"kinematics_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "0c6d955717982e9d1a24d1240a1c657fc37dfe166c5738d3ee23878e46b2a98d"
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/pentakins.c",
|
||||
@@ -207,7 +251,7 @@
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_test.c",
|
||||
"sha256": "3bda403d3af592dcc69ee9b1f3c96dda97b952f827a1c9ce5393e01cd357c403"
|
||||
"sha256": "715882c28ec242be652357d330a4b56d60f8e93f2e821193133911576e400aac"
|
||||
}
|
||||
},
|
||||
"status": "partial",
|
||||
@@ -218,31 +262,37 @@
|
||||
0.0
|
||||
],
|
||||
"alternate_seed_error": -702,
|
||||
"alternate_seed_iterations": 1,
|
||||
"iteration_limit_error": -702,
|
||||
"iterations": 1,
|
||||
"iteration_limit_iterations": 1,
|
||||
"iterations": 12,
|
||||
"joint_limit_error": -702,
|
||||
"max_error_boundary": -702,
|
||||
"max_error_iterations": 1,
|
||||
"nominal": {
|
||||
"inverse": [
|
||||
619.814203778,
|
||||
655.78680467,
|
||||
750.465994974,
|
||||
351.035577947,
|
||||
327.336726304
|
||||
625.895566556,
|
||||
649.261562588,
|
||||
754.767615986,
|
||||
338.490149644,
|
||||
341.118326622
|
||||
],
|
||||
"iterations": 1,
|
||||
"iterations": 12,
|
||||
"pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
2.0,
|
||||
-3.0
|
||||
0.01,
|
||||
-0.01
|
||||
],
|
||||
"residual": 0.0,
|
||||
"state_hash": 10088895819155863850
|
||||
"residual": 1e-09,
|
||||
"state_hash": 13978136356142463125
|
||||
},
|
||||
"nonpositive_joint_error": -702,
|
||||
"residual": 0.0,
|
||||
"singular_jacobian_error": -704
|
||||
"nonpositive_joint_iterations": 0,
|
||||
"posture_constraint": "C/yaw is not a configured joint and forward output is exactly zero",
|
||||
"residual": 1e-09,
|
||||
"singular_jacobian_error": -704,
|
||||
"singular_jacobian_iterations": 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3211,45 +3211,63 @@
|
||||
{"bytes":311,"kind":"documentation","path":"linuxcnc/docs/src/xhtml11-latexmath.conf","sha256":"d31ed1d15f9ac1232af1e58c05d83feedd9cd73f9fe543d589f9340fdf0ad719","source_id":"doc:linuxcnc/docs/src/xhtml11-latexmath.conf"}
|
||||
{"bytes":269,"kind":"documentation","path":"linuxcnc/docs/src/xhtml11-links.conf","sha256":"debc4b462499fdd8286b3812c705e40267e53d87ae8062250e8c23cb7ad59afe","source_id":"doc:linuxcnc/docs/src/xhtml11-links.conf"}
|
||||
{"bytes":886,"kind":"documentation","path":"linuxcnc/docs/src/xhtml11.conf","sha256":"c0222c552624bf3b7695e2f5c5db797be0e6cddcd77092293fd5e15b579f2ba9","source_id":"doc:linuxcnc/docs/src/xhtml11.conf"}
|
||||
{"bytes":6793,"kind":"web_wasm_build_or_test","path":"wasm-core/CMakeLists.txt","sha256":"e9296a3983a531e4e6864d05e2e97c8dbf29e0dc9e45942ecc1a0a7222b3a660","source_id":"implementation:wasm-core/CMakeLists.txt"}
|
||||
{"bytes":14198,"kind":"web_wasm_build_or_test","path":"wasm-core/CMakeLists.txt","sha256":"401fce0118c0c245f003e564130e25f9db668d60654f4ca2962fa2eb048f22c4","source_id":"implementation:wasm-core/CMakeLists.txt"}
|
||||
{"bytes":933,"kind":"web_wasm_interface","path":"wasm-core/include/sim_api.h","sha256":"9dda70ef64afe0b398a3de5342e6bdf545c331bbef24f112be2a45acec327227","source_id":"implementation:wasm-core/include/sim_api.h"}
|
||||
{"bytes":1050,"kind":"web_wasm_interface","path":"wasm-core/include/sim_event.h","sha256":"5406dbf7fb6a80924835d967641c9ed22cc8c25a13b72b76ce3d235abb0ad45d","source_id":"implementation:wasm-core/include/sim_event.h"}
|
||||
{"bytes":1967,"kind":"web_wasm_interface","path":"wasm-core/include/sim_hal.h","sha256":"f0b25fda1c267ed8078469c9966fa3b09721eba77c575affea77d489437a3e49","source_id":"implementation:wasm-core/include/sim_hal.h"}
|
||||
{"bytes":1968,"kind":"web_wasm_interface","path":"wasm-core/include/sim_hal.h","sha256":"3dd7230316e557d1a129a9a80a26a109b837a318b092657b8bee0d53a5e57db9","source_id":"implementation:wasm-core/include/sim_hal.h"}
|
||||
{"bytes":1872,"kind":"web_wasm_interface","path":"wasm-core/include/sim_interpreter.h","sha256":"7bf24098340e3da2272061acf7a43376c6c40fe9dffc55d012e3af65ceffedbb","source_id":"implementation:wasm-core/include/sim_interpreter.h"}
|
||||
{"bytes":5446,"kind":"web_wasm_interface","path":"wasm-core/include/sim_kinematics.h","sha256":"939d4088d9e7120e4a405be154eb3d98cd4e5925fc27d47641c115624c1bd994","source_id":"implementation:wasm-core/include/sim_kinematics.h"}
|
||||
{"bytes":4423,"kind":"web_wasm_interface","path":"wasm-core/include/sim_io.h","sha256":"d84e9ab0bcf9ff138f8c8a57b28337605d731ff796577a8ab748d708f97daf9b","source_id":"implementation:wasm-core/include/sim_io.h"}
|
||||
{"bytes":12375,"kind":"web_wasm_interface","path":"wasm-core/include/sim_kinematics.h","sha256":"34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec","source_id":"implementation:wasm-core/include/sim_kinematics.h"}
|
||||
{"bytes":1716,"kind":"web_wasm_interface","path":"wasm-core/include/sim_kinematics_feedback.h","sha256":"6d70be324a99d58f07c5a3c3c888b92cd1959cba250faf3c12a4e32c5ef1cf05","source_id":"implementation:wasm-core/include/sim_kinematics_feedback.h"}
|
||||
{"bytes":1856,"kind":"web_wasm_interface","path":"wasm-core/include/sim_kinematics_home_limit.h","sha256":"ad4b4fc84efcc9a2dc6555d7ed69ab613eee21db7fef0d037d0a4ca1063309e1","source_id":"implementation:wasm-core/include/sim_kinematics_home_limit.h"}
|
||||
{"bytes":2332,"kind":"web_wasm_interface","path":"wasm-core/include/sim_kinematics_motion.h","sha256":"86b0f6b889875b03bc3fea8787443cb72e77561e85c7114b8dd43eeba8c69350","source_id":"implementation:wasm-core/include/sim_kinematics_motion.h"}
|
||||
{"bytes":1819,"kind":"web_wasm_interface","path":"wasm-core/include/sim_motion_queue.h","sha256":"c26af2b5cff6cbc687f621d745601ff287eebd62011ea46fc7fa692b446a08cc","source_id":"implementation:wasm-core/include/sim_motion_queue.h"}
|
||||
{"bytes":3280,"kind":"web_wasm_interface","path":"wasm-core/include/sim_posemath.h","sha256":"fef257b09f68e5649f0acacfcd3590d699d6f678927fbf8db7d103a40bf7da62","source_id":"implementation:wasm-core/include/sim_posemath.h"}
|
||||
{"bytes":1238,"kind":"web_wasm_interface","path":"wasm-core/include/sim_protocol.h","sha256":"d1dd3247159f0950a9aa2d903d25cfa184bccff1d7512de293868763b4035d35","source_id":"implementation:wasm-core/include/sim_protocol.h"}
|
||||
{"bytes":2262,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_api.c","sha256":"072ffb5aa13c4924c638464bb8487e5c293db589a9735c4d39c3a6d9455a3e59","source_id":"implementation:wasm-core/src/sim_api.c"}
|
||||
{"bytes":2579,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_event.c","sha256":"a0af4a75c9c3b71d4a59df675b64f313eda05f4589538fe999cd92607d104397","source_id":"implementation:wasm-core/src/sim_event.c"}
|
||||
{"bytes":3499,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_event.c","sha256":"72da3e5c6d8ea02481f380db59ef9d37047c0a5fda7392010540619912974e5a","source_id":"implementation:wasm-core/src/sim_event.c"}
|
||||
{"bytes":9413,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_hal.c","sha256":"76a057064546a8ee9ba1098952755a4cdc56e6e714f2761b8a1826898d3ae621","source_id":"implementation:wasm-core/src/sim_hal.c"}
|
||||
{"bytes":11585,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_interpreter.c","sha256":"9f9f45f7c123be774dcf55a752a29e6cc1f873a1605cf89c4caa4f4ab125e6a4","source_id":"implementation:wasm-core/src/sim_interpreter.c"}
|
||||
{"bytes":66830,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_kinematics.c","sha256":"6abae835c16feb27ec1dc28a9ea5384f0bc5190217ba04a4997048d83066b905","source_id":"implementation:wasm-core/src/sim_kinematics.c"}
|
||||
{"bytes":27678,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_io.c","sha256":"2ceacdb168a1f6dddb36761b93f62e4c39b3a6249c0a91a740ecf924dce217b3","source_id":"implementation:wasm-core/src/sim_io.c"}
|
||||
{"bytes":76636,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_kinematics.c","sha256":"316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600","source_id":"implementation:wasm-core/src/sim_kinematics.c"}
|
||||
{"bytes":4823,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_kinematics_feedback.c","sha256":"c690fc420d58b5e60958e4d0745b9a6bca678c5283eb9e74c50a11ca61faa93a","source_id":"implementation:wasm-core/src/sim_kinematics_feedback.c"}
|
||||
{"bytes":6029,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_kinematics_home_limit.c","sha256":"7f59d1722cd2ca54f346168b4a13d9e8377bb6035c9f5866c3a3fbb7115bb996","source_id":"implementation:wasm-core/src/sim_kinematics_home_limit.c"}
|
||||
{"bytes":8574,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_kinematics_motion.c","sha256":"1e9bd5404acfe7ab20eca5b3bb76111bf43c442feee0dc2d4c3f9249ba916a88","source_id":"implementation:wasm-core/src/sim_kinematics_motion.c"}
|
||||
{"bytes":6495,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_kinematics_registry.c","sha256":"fa852e370b5fa52006afb9c04bd6bc4ebba798d9b1ab7f060d52ecf98326d97d","source_id":"implementation:wasm-core/src/sim_kinematics_registry.c"}
|
||||
{"bytes":7791,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_motion_queue.c","sha256":"56074e27df90bc1b60134eac3cdf84c78149388f99a19a027f6714e3784b04ed","source_id":"implementation:wasm-core/src/sim_motion_queue.c"}
|
||||
{"bytes":13491,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_posemath.c","sha256":"939b221ed6ede1229d26c170ab3514884d5bafc90854ab09db641925859b5e8d","source_id":"implementation:wasm-core/src/sim_posemath.c"}
|
||||
{"bytes":4302,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_protocol.c","sha256":"da63b458f64f997251323fc8b53a9c84d1f978f5e8ea5ed7c8dd6f5bceab60e4","source_id":"implementation:wasm-core/src/sim_protocol.c"}
|
||||
{"bytes":8934,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_switchkins.c","sha256":"b08168265a8e5ca6870a9177165de5d582d12392e42cfdb44347c72c8b3e15e2","source_id":"implementation:wasm-core/src/sim_switchkins.c"}
|
||||
{"bytes":5195,"kind":"web_wasm_implementation","path":"wasm-core/src/sim_userkins.c","sha256":"cf3a0f3fea81fb63abf3336b87de1971391d7798b4eed3ec826c07bfd300ed0e","source_id":"implementation:wasm-core/src/sim_userkins.c"}
|
||||
{"bytes":858,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_api_test.c","sha256":"5fe8aa04543be2943c9e577bd6ce8f9ae9a8c98c7c24e84fd589b761fe39170c","source_id":"implementation:wasm-core/tests/sim_api_test.c"}
|
||||
{"bytes":1178,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_event_test.c","sha256":"57fdb682dcb18632216b4093e6dfadf2736a0ab11a002438e3c269d4d4b5406d","source_id":"implementation:wasm-core/tests/sim_event_test.c"}
|
||||
{"bytes":1578,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_event_test.c","sha256":"6784c703658d531ca8cb8488b57c5316cc03142a8828bd177175c9a3c14e6798","source_id":"implementation:wasm-core/tests/sim_event_test.c"}
|
||||
{"bytes":3505,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_hal_test.c","sha256":"5044ed422b37499291ff85fd7c601acc6665621cf33e9ff4d26f0e8fd5b7d533","source_id":"implementation:wasm-core/tests/sim_hal_test.c"}
|
||||
{"bytes":79,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_hal_test_main.c","sha256":"86f625eaa0c6d6a195b97c0d4df17af6c57f5407bcec0a830e7521cb9823165a","source_id":"implementation:wasm-core/tests/sim_hal_test_main.c"}
|
||||
{"bytes":2066,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_interpreter_test.c","sha256":"c4fc3ba11b751ed9f3f770ff1ff164ce18aa19986003cf85d17a26de7aecd3ce","source_id":"implementation:wasm-core/tests/sim_interpreter_test.c"}
|
||||
{"bytes":37392,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_kinematics_test.c","sha256":"c9e4d20973c6a487787504bd5de9a73829f53d8bbfd35f91e72c6c62c76f191e","source_id":"implementation:wasm-core/tests/sim_kinematics_test.c"}
|
||||
{"bytes":4582,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_io_test.c","sha256":"46923ff49c55576692e660d1af37e43bd6c1aff184ae2a2d5ca9201dd969ccfe","source_id":"implementation:wasm-core/tests/sim_io_test.c"}
|
||||
{"bytes":3377,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_kinematics_feedback_test.c","sha256":"1f1830b90a6d0662c02b7494f0b1848c518c13f3cf70905c5ba6a6eba62e7762","source_id":"implementation:wasm-core/tests/sim_kinematics_feedback_test.c"}
|
||||
{"bytes":2984,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_kinematics_home_limit_test.c","sha256":"94004ef9e4182cfa04c9a458d750d84b12250a625406ad29ce06ae45136f909d","source_id":"implementation:wasm-core/tests/sim_kinematics_home_limit_test.c"}
|
||||
{"bytes":5578,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_kinematics_motion_test.c","sha256":"bf041a8f30451c832566d9476d44f0011e56f33800f7a40aad12b4ebc0f662fc","source_id":"implementation:wasm-core/tests/sim_kinematics_motion_test.c"}
|
||||
{"bytes":3572,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_kinematics_registry_test.c","sha256":"42d0952fdb94340e33b4a86a5f0707aa3330302ae3c5e2573785bf29ee8ac243","source_id":"implementation:wasm-core/tests/sim_kinematics_registry_test.c"}
|
||||
{"bytes":43608,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_kinematics_test.c","sha256":"715882c28ec242be652357d330a4b56d60f8e93f2e821193133911576e400aac","source_id":"implementation:wasm-core/tests/sim_kinematics_test.c"}
|
||||
{"bytes":93,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_kinematics_test_main.c","sha256":"e567fe412145d3c9b04afc91d6efc6a53c3af3b3b52b7dda860cc289d42dbfc0","source_id":"implementation:wasm-core/tests/sim_kinematics_test_main.c"}
|
||||
{"bytes":1386,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_motion_queue_test.c","sha256":"882c90f9963b2433b868859c50a91dbdecef93454039b05b11241c1f76c13f31","source_id":"implementation:wasm-core/tests/sim_motion_queue_test.c"}
|
||||
{"bytes":2552,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_posemath_test.c","sha256":"751910f2bcd740c963b008e1ae4cb1dd058d2942ab1d63dd0a9f510a20a408d2","source_id":"implementation:wasm-core/tests/sim_posemath_test.c"}
|
||||
{"bytes":1457,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_protocol_test.c","sha256":"74c855e4bcae2091913847e2ba46ea5f0ae482229b53199baee5bbdcd3c0ef49","source_id":"implementation:wasm-core/tests/sim_protocol_test.c"}
|
||||
{"bytes":4939,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_switchkins_test.c","sha256":"3fa33181b114af828d8b3f4248f30a16ba3cfd58e82d962970a5116675123889","source_id":"implementation:wasm-core/tests/sim_switchkins_test.c"}
|
||||
{"bytes":7100,"kind":"web_wasm_implementation","path":"wasm-core/tests/sim_userkins_test.c","sha256":"13ecf5d2405a0e4c706cde25d93424655108779188c310f75ed36683abed624e","source_id":"implementation:wasm-core/tests/sim_userkins_test.c"}
|
||||
{"bytes":1779,"kind":"web_wasm_implementation","path":"web/worker/capabilities.mjs","sha256":"175cb4dac10cc6b2eb80ed1cf24405151ae3fac6ff82f68e5e2e241d79f10c97","source_id":"implementation:web/worker/capabilities.mjs"}
|
||||
{"bytes":3084,"kind":"web_wasm_implementation","path":"web/worker/error-map.mjs","sha256":"83ca215534eed48a9082cc07230507c7b38cbb99f9f2a52e7026b5d49da1d167","source_id":"implementation:web/worker/error-map.mjs"}
|
||||
{"bytes":4878,"kind":"web_wasm_implementation","path":"web/worker/replay.mjs","sha256":"cca610cd9062a0b3527be35ccaef2b835bba7e4fd0b90cf4bb5bb57e67f18aaa","source_id":"implementation:web/worker/replay.mjs"}
|
||||
{"bytes":7196,"kind":"web_wasm_implementation","path":"web/worker/sim-session.mjs","sha256":"1f923c3f235f3bf27f843b89a5e62d7bfc7eacd9fa8ed51c93722af03df00b67","source_id":"implementation:web/worker/sim-session.mjs"}
|
||||
{"bytes":7116,"kind":"web_wasm_implementation","path":"web/worker/replay.mjs","sha256":"5e599e302edd0c5109a061ba9a421f77d7b87ad9cdb6a4183653afe5cd02f97c","source_id":"implementation:web/worker/replay.mjs"}
|
||||
{"bytes":12963,"kind":"web_wasm_implementation","path":"web/worker/sim-session.mjs","sha256":"b9f6c841d78ddbd5f06cd9d1e14981d6483ad718226e4a34453f28df6f898413","source_id":"implementation:web/worker/sim-session.mjs"}
|
||||
{"bytes":614,"kind":"web_wasm_implementation","path":"web/worker/sim-worker.mjs","sha256":"4210f3ea1c613a8e8b0985dd2d9a13be445598388c0dffaae947182277e40b57","source_id":"implementation:web/worker/sim-worker.mjs"}
|
||||
{"bytes":1481,"kind":"web_wasm_implementation","path":"web/worker/test_replay.mjs","sha256":"e76fdf75bae1780781ce5db8ba8c2a2054915f07a1c524f0b49f6890f5fdfe3f","source_id":"implementation:web/worker/test_replay.mjs"}
|
||||
{"bytes":2157,"kind":"web_wasm_implementation","path":"web/worker/test_replay.mjs","sha256":"b0fedc32050334a42af6d2c6aee9b035db00bec396f5a1b5600c71942c736089","source_id":"implementation:web/worker/test_replay.mjs"}
|
||||
{"bytes":1791,"kind":"web_wasm_implementation","path":"web/worker/test_runtime_mapping.mjs","sha256":"b43baa924053b74c83a849b95e56eb49cdff1bd82f9a63c9566dc386dff96f51","source_id":"implementation:web/worker/test_runtime_mapping.mjs"}
|
||||
{"bytes":1852,"kind":"web_wasm_implementation","path":"web/worker/test_sim_session.mjs","sha256":"f3b1f0c1c3f85aafc2cc606ce526fd6b32f5dfabc9c05e4cd48b2217c7bbff62","source_id":"implementation:web/worker/test_sim_session.mjs"}
|
||||
{"bytes":2598,"kind":"web_wasm_implementation","path":"web/worker/test_sim_session.mjs","sha256":"bc7f3aeabca542a0b5c9d9c440114f4f9e150ca3cb8d0d8fc24cd7efce310332","source_id":"implementation:web/worker/test_sim_session.mjs"}
|
||||
{"bytes":1394,"kind":"web_wasm_implementation","path":"web/worker/test_wasm_session.mjs","sha256":"649fd47fb92eb8a6170b2606929ef70e1b2b57bc410dbdc2138d3e17fecfb54d","source_id":"implementation:web/worker/test_wasm_session.mjs"}
|
||||
{"bytes":6812,"kind":"web_wasm_implementation","path":"web/workspace/journal.mjs","sha256":"a2d97ceac5e0dbb65d3dc9cafaa845b3acd115292717312d6eff69585bca98a7","source_id":"implementation:web/workspace/journal.mjs"}
|
||||
{"bytes":197,"kind":"web_wasm_implementation","path":"web/workspace/recovery.mjs","sha256":"90cd3d19cb58660201ca40a4a5b16a092da1784653af2be0930270ead2ed181c","source_id":"implementation:web/workspace/recovery.mjs"}
|
||||
{"bytes":2779,"kind":"web_wasm_implementation","path":"web/workspace/test_recovery.mjs","sha256":"ff2f7acde34cae1515e46483b71421d6f4c9345f4f6cb8f70b5cd7fa49be2802","source_id":"implementation:web/workspace/test_recovery.mjs"}
|
||||
{"bytes":8767,"kind":"web_wasm_implementation","path":"web/workspace/recovery.mjs","sha256":"d4bae4220a3348d7bb66991472d1331045ab60bbe70c93f3b589bf0e8d05d14d","source_id":"implementation:web/workspace/recovery.mjs"}
|
||||
{"bytes":6838,"kind":"web_wasm_implementation","path":"web/workspace/test_recovery.mjs","sha256":"3158f65ee58edbffef3de7d5bb989b73a38bf76848b1c4fe0d392943477e2629","source_id":"implementation:web/workspace/test_recovery.mjs"}
|
||||
{"bytes":296,"kind":"source","path":"linuxcnc/src/.gitignore","sha256":"25b6490091de6eea30bd72259af4735a4a5938e1b229beb793e13d74fff00cbf","source_id":"source:linuxcnc/src/.gitignore"}
|
||||
{"bytes":1573,"kind":"source","path":"linuxcnc/src/.swish_config","sha256":"525a65a5aecbcfeda3b227b8384b5bc3e13c9b297efc556a4bec694ca1490d61","source_id":"source:linuxcnc/src/.swish_config"}
|
||||
{"bytes":934,"kind":"source","path":"linuxcnc/src/.vimrc","sha256":"cea9a84a55abd10330bfd1fb54b72a2f7a06acda91a8011eab2609a403c66472","source_id":"source:linuxcnc/src/.vimrc"}
|
||||
|
||||
235
coverage/switchkins-kinematics.report.json
Normal file
235
coverage/switchkins-kinematics.report.json
Normal file
@@ -0,0 +1,235 @@
|
||||
{
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZAC",
|
||||
"id": "shipped-xyzac-trt-identityfirst",
|
||||
"identityfirst": true,
|
||||
"joints": 5,
|
||||
"kind": "real",
|
||||
"kinematics": "xyzac-trt-kins",
|
||||
"modes": {
|
||||
"0": "identity",
|
||||
"1": "xyzac-trt",
|
||||
"2": "userk"
|
||||
},
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"provenance": "shipped LinuxCNC simulation",
|
||||
"sparm": "identityfirst",
|
||||
"switch_pin": true
|
||||
},
|
||||
{
|
||||
"id": "mode-transition-pose-continuity",
|
||||
"kind": "derived",
|
||||
"modes": [
|
||||
"identity",
|
||||
"xyzac-trt"
|
||||
],
|
||||
"path": "wasm-core/tests/sim_switchkins_test.c",
|
||||
"purpose": "old-mode forward pose to new-mode inverse remap"
|
||||
},
|
||||
{
|
||||
"id": "userk-slot-missing-module",
|
||||
"kind": "derived",
|
||||
"modes": [
|
||||
"userk"
|
||||
],
|
||||
"path": "wasm-core/tests/sim_switchkins_test.c",
|
||||
"purpose": "mode 2 remains fail-closed until static userk is registered"
|
||||
}
|
||||
],
|
||||
"implementation_status": "verified",
|
||||
"mode_registry": {
|
||||
"identityfirst": true,
|
||||
"names": {
|
||||
"0": "identity",
|
||||
"1": "xyzac-trt",
|
||||
"2": "userk"
|
||||
},
|
||||
"slots": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"startup_mode": 0
|
||||
},
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_switchkins_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_switchkins_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"type 0 identity",
|
||||
"type 1 xyzac-trt",
|
||||
"type 2 userk",
|
||||
"invalid mode",
|
||||
"missing module",
|
||||
"interrupted switch",
|
||||
"abort recovery"
|
||||
],
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"report_sha256": "b43a356d6e79dad6099010c4997541dcc7c5752dc7e639b709d88e658b046457",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"abort_count": 2,
|
||||
"abort_status": 0,
|
||||
"active_mode": 0,
|
||||
"begin_status": 0,
|
||||
"forward_status": 0,
|
||||
"generation": 2,
|
||||
"initial_hash": 902060736367773728,
|
||||
"initial_mode": 0,
|
||||
"initial_pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
0.0,
|
||||
15.0
|
||||
],
|
||||
"interrupted_begin": -709,
|
||||
"interrupted_commit": -709,
|
||||
"invalid_mode": -707,
|
||||
"missing_module": -708,
|
||||
"register_missing": -708,
|
||||
"registered": [
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"returned_hash": 4546981263192554432,
|
||||
"returned_pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
0.0,
|
||||
15.0
|
||||
],
|
||||
"returned_repeat_hash": 4546981263192554432,
|
||||
"schema": "switchkins-samples.v1",
|
||||
"switch_count": 2,
|
||||
"switch_to_identity": 0,
|
||||
"switch_to_trt": 0,
|
||||
"switched_hash": 17322294160221391943,
|
||||
"switched_pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
0.0,
|
||||
15.0
|
||||
]
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"abort_count": 2,
|
||||
"abort_status": 0,
|
||||
"active_mode": 0,
|
||||
"begin_status": 0,
|
||||
"forward_status": 0,
|
||||
"generation": 2,
|
||||
"initial_hash": 902060736367773728,
|
||||
"initial_mode": 0,
|
||||
"initial_pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
0.0,
|
||||
15.0
|
||||
],
|
||||
"interrupted_begin": -709,
|
||||
"interrupted_commit": -709,
|
||||
"invalid_mode": -707,
|
||||
"missing_module": -708,
|
||||
"register_missing": -708,
|
||||
"registered": [
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"returned_hash": 4546981263192554432,
|
||||
"returned_pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
0.0,
|
||||
15.0
|
||||
],
|
||||
"returned_repeat_hash": 4546981263192554432,
|
||||
"schema": "switchkins-samples.v1",
|
||||
"switch_count": 2,
|
||||
"switch_to_identity": 0,
|
||||
"switch_to_trt": 0,
|
||||
"switched_hash": 17322294160221391943,
|
||||
"switched_pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
0.0,
|
||||
15.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"schema": "switchkins-kinematics-report.v1",
|
||||
"source_records": {
|
||||
"config": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"sha256": "9ee1d96962e7a44b25468f452543cfc3ca318585269e26227bb5b6e17b1e42f1"
|
||||
},
|
||||
"implementation": {
|
||||
"path": "wasm-core/src/sim_switchkins.c",
|
||||
"sha256": "b08168265a8e5ca6870a9177165de5d582d12392e42cfdb44347c72c8b3e15e2"
|
||||
},
|
||||
"kinematics_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"kinematics_implementation": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600"
|
||||
},
|
||||
"module_source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/xyzac-trt-kins.c",
|
||||
"sha256": "24c633613db9876c2ec246e1519a63d288fd27c68296d89f89f0368105634e69"
|
||||
},
|
||||
"postgui_hal": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/switchkins_postgui.hal",
|
||||
"sha256": "55e969c22ca9054a818dbedc8ec50bed768d9ab3d8c4bfdfcfc78e912e9271c4"
|
||||
},
|
||||
"switch_header": {
|
||||
"path": "linuxcnc/src/emc/kinematics/switchkins.h",
|
||||
"sha256": "f6e5323aa16daaac8e07bba622d0bf969102ad0d9c00d41621c08af31e0bb9b1"
|
||||
},
|
||||
"switch_source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/switchkins.c",
|
||||
"sha256": "4de32a4a147e5ceee5346b9c6bf471dddf5c64ff58afe5044406c50bcd96b7f5"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_switchkins_test.c",
|
||||
"sha256": "3fa33181b114af828d8b3f4248f30a16ba3cfd58e82d962970a5116675123889"
|
||||
},
|
||||
"userk_source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/userkfuncs.c",
|
||||
"sha256": "146238645955f8d4e2cb0cd34ff44db3a9dad01e149f81c08f8a53c19f1609bc"
|
||||
}
|
||||
},
|
||||
"state_and_errors": {
|
||||
"abort_restores_active_mode": true,
|
||||
"invalid_mode_error": -707,
|
||||
"missing_module_error": -708,
|
||||
"pose_continuity": {
|
||||
"identity_to_trt": true,
|
||||
"trt_to_identity": true
|
||||
},
|
||||
"state_hash_stable": true,
|
||||
"switch_interrupted_error": -709
|
||||
},
|
||||
"status": "partial"
|
||||
}
|
||||
225
coverage/userkins-kinematics.report.json
Normal file
225
coverage/userkins-kinematics.report.json
Normal file
@@ -0,0 +1,225 @@
|
||||
{
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZCAB",
|
||||
"id": "shipped-scara-userk-slot",
|
||||
"implementation": "identity template",
|
||||
"kind": "real",
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini",
|
||||
"scan": true
|
||||
},
|
||||
{
|
||||
"coordinates": "XYZABC",
|
||||
"id": "shipped-puma560-genser",
|
||||
"implementation": "ugenser static adapter over genser",
|
||||
"kind": "real",
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
|
||||
"scan": true
|
||||
},
|
||||
{
|
||||
"id": "static-descriptor-regression",
|
||||
"implementations": [
|
||||
"userk.identity",
|
||||
"ugenser.static"
|
||||
],
|
||||
"kind": "derived",
|
||||
"path": "wasm-core/tests/sim_userkins_test.c",
|
||||
"purpose": "ABI/capability checks, FK/IK calls, switch slot binding, and native/WASM comparison"
|
||||
}
|
||||
],
|
||||
"error_boundaries": {
|
||||
"abi_version": -710,
|
||||
"capability": -711,
|
||||
"dynamic_module": -712,
|
||||
"missing_or_uninitialized_module": -708
|
||||
},
|
||||
"implementation_status": "verified",
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_userkins_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_userkins_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"userk identity template",
|
||||
"ugenser static adapter",
|
||||
"ABI mismatch",
|
||||
"capability mismatch",
|
||||
"dynamic module rejection",
|
||||
"uninitialized module"
|
||||
],
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; the deprecated ugenser CLI is not an approved replacement",
|
||||
"status": "blocked"
|
||||
},
|
||||
"report_sha256": "43f7a1918c7f09cea97e0ac400f6572ff9b9051fccc22cde5b70765dd1e735f1",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"abi_error": -710,
|
||||
"abi_version": 1,
|
||||
"active_mode": 2,
|
||||
"capabilities": 7,
|
||||
"capability_error": -711,
|
||||
"dynamic_path_error": -712,
|
||||
"identity": {
|
||||
"forward_calls": 1,
|
||||
"inverse_calls": 1,
|
||||
"joints": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"repeat_hash": 7729967891798573724,
|
||||
"state_hash": 7729967891798573724
|
||||
},
|
||||
"missing_implementation": -708,
|
||||
"path_name_error": -712,
|
||||
"schema": "userkins-samples.v1",
|
||||
"switch_to_user": 0,
|
||||
"ugenser": {
|
||||
"forward_calls": 2,
|
||||
"inverse_calls": 1,
|
||||
"iterations": 0,
|
||||
"pose": [
|
||||
619.051467462,
|
||||
30.4112378,
|
||||
-349.855537721,
|
||||
-173.973089253,
|
||||
5.329608876,
|
||||
-19.06581641
|
||||
],
|
||||
"repeat_hash": 1161289569922079659,
|
||||
"residual": 0.0,
|
||||
"state_hash": 1161289569922079659
|
||||
},
|
||||
"uninitialized_error": -708
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"state_hash_stable": true,
|
||||
"wasm": {
|
||||
"abi_error": -710,
|
||||
"abi_version": 1,
|
||||
"active_mode": 2,
|
||||
"capabilities": 7,
|
||||
"capability_error": -711,
|
||||
"dynamic_path_error": -712,
|
||||
"identity": {
|
||||
"forward_calls": 1,
|
||||
"inverse_calls": 1,
|
||||
"joints": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"pose": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
5.0,
|
||||
15.0
|
||||
],
|
||||
"repeat_hash": 7729967891798573724,
|
||||
"state_hash": 7729967891798573724
|
||||
},
|
||||
"missing_implementation": -708,
|
||||
"path_name_error": -712,
|
||||
"schema": "userkins-samples.v1",
|
||||
"switch_to_user": 0,
|
||||
"ugenser": {
|
||||
"forward_calls": 2,
|
||||
"inverse_calls": 1,
|
||||
"iterations": 0,
|
||||
"pose": [
|
||||
619.051467462,
|
||||
30.4112378,
|
||||
-349.855537721,
|
||||
-173.973089253,
|
||||
5.329608876,
|
||||
-19.06581641
|
||||
],
|
||||
"repeat_hash": 1161289569922079659,
|
||||
"residual": 0.0,
|
||||
"state_hash": 1161289569922079659
|
||||
},
|
||||
"uninitialized_error": -708
|
||||
}
|
||||
},
|
||||
"schema": "userkins-kinematics-report.v1",
|
||||
"source_records": {
|
||||
"genser_functions": {
|
||||
"path": "linuxcnc/src/emc/kinematics/genserfuncs.c",
|
||||
"sha256": "e4b775e93b973a4faae873c81a95d7d8361fe5c5c59ea81e362a5f900a1e8781"
|
||||
},
|
||||
"genser_source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/genserkins.c",
|
||||
"sha256": "cbb87b9c21f9f5e1d6a3c5bd333f72a7b1b4f1618a21b32d4b34bc621b43e075"
|
||||
},
|
||||
"header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"implementation": {
|
||||
"path": "wasm-core/src/sim_userkins.c",
|
||||
"sha256": "cf3a0f3fea81fb63abf3336b87de1971391d7798b4eed3ec826c07bfd300ed0e"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_userkins_test.c",
|
||||
"sha256": "13ecf5d2405a0e4c706cde25d93424655108779188c310f75ed36683abed624e"
|
||||
},
|
||||
"ugenser_config": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
|
||||
"sha256": "2bb881ed6c5662282977accac29bfd6c4efc18e572cbcb8a31c134677012cf4c"
|
||||
},
|
||||
"ugenser_dh": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560_dh.hal",
|
||||
"sha256": "23758eb7a6a4abe116e1de88140d04e6c9a910d1c378f019d76843a5a3fb6141"
|
||||
},
|
||||
"ugenser_source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/ugenserkins.c",
|
||||
"sha256": "dee63aebaa11f2867657bc4b9052f6a8e8bd875e06bd8a9df2d3edac9eb1c31d"
|
||||
},
|
||||
"userk_config": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini",
|
||||
"sha256": "602e02bb6d320b728d9ae15904a5d229ea1a31e932c18e9018b45be007d695ce"
|
||||
},
|
||||
"userk_source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/userkfuncs.c",
|
||||
"sha256": "146238645955f8d4e2cb0cd34ff44db3a9dad01e149f81c08f8a53c19f1609bc"
|
||||
}
|
||||
},
|
||||
"static_contract": {
|
||||
"abi_version": 1,
|
||||
"capabilities": {
|
||||
"forward": 1,
|
||||
"inverse": 2,
|
||||
"sample_mask": 7,
|
||||
"static": 4
|
||||
},
|
||||
"dynamic_host_loading": "forbidden; paths, slash-delimited names, and host shared libraries return SIM_KIN_ERR_DYNAMIC_MODULE",
|
||||
"implementations": {
|
||||
"1": "identity",
|
||||
"2": "genser"
|
||||
},
|
||||
"switch_binding": {
|
||||
"active_after_select": 2,
|
||||
"slot": 2
|
||||
}
|
||||
},
|
||||
"status": "partial",
|
||||
"ugenser_scope": {
|
||||
"adaptation": "reuse the verified statically linked genser FK/IK implementation; do not port gettimeofday, stdin, or HAL process lifecycle",
|
||||
"legacy_cli_status": "excluded",
|
||||
"source_warning_present": true
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,46 @@
|
||||
{
|
||||
"schema": "workspace-recovery-report.v1",
|
||||
"status": "passed",
|
||||
"implementation_status": "verified",
|
||||
"scenarios": [
|
||||
"atomic_commit",
|
||||
"half_commit_ignored",
|
||||
"path_validation",
|
||||
"hash_corruption_blocked"
|
||||
"hash_corruption_blocked",
|
||||
"checkpoint_hash_validation",
|
||||
"event_gap_blocked",
|
||||
"unknown_schema_blocked",
|
||||
"unconfirmed_operation_blocked",
|
||||
"abort_recovery"
|
||||
],
|
||||
"journal_bytes_sha256": "fnv1a64:61ef8a25110e6c02",
|
||||
"recovery_state_hash": "fnv1a64:9bf65e00c699fdaf"
|
||||
"recovery_state_hash": "fnv1a64:9bf65e00c699fdaf",
|
||||
"replay": {
|
||||
"schema": "simulation-recovery.v1",
|
||||
"status": "aborted",
|
||||
"state_hash": "fnv1a64:763cd1217e060ddf",
|
||||
"state": {
|
||||
"tick": 4,
|
||||
"position": 4
|
||||
},
|
||||
"last_verified_seq": 2,
|
||||
"checkpoint_hash": "fnv1a64:94af0a32fb4408d3",
|
||||
"continuous_state_hash": "fnv1a64:763cd1217e060ddf",
|
||||
"endpoints_equal": true
|
||||
},
|
||||
"native_wasm": {
|
||||
"status": "passed",
|
||||
"native_command": "cmake --build build-native && ctest --test-dir build-native --output-on-failure",
|
||||
"worker_command": "node web/worker/test_replay.mjs && node web/workspace/test_recovery.mjs",
|
||||
"event_import_validation": "native sim_event_import and Worker replay schema both fail-closed"
|
||||
},
|
||||
"oracle": {
|
||||
"status": "blocked",
|
||||
"reason": "official recovery oracle is absent from locked source",
|
||||
"blocked_samples": [
|
||||
"worker restart checkpoint",
|
||||
"native/WASM full-state recovery",
|
||||
"browser OPFS crash recovery"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user