Extend simulation runtime coverage and kinematics support

This commit is contained in:
2026-08-21 10:57:10 +08:00
parent 554b72dae8
commit 2ef2d82db3
71 changed files with 24232 additions and 1867 deletions

View 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"
}