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