Complete 3axis tutorial native and Web/WASM parity tools

This commit is contained in:
2026-08-24 14:01:30 +08:00
parent 938654b19d
commit 7e90142b63
147 changed files with 17639 additions and 557 deletions

View File

@@ -0,0 +1,146 @@
{
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
"control_panel_contract": {
"authority": "Worker_snapshot_and_configuration_startup",
"classifications": [
"TASK_READY",
"BLOCKED_HAL",
"BLOCKED_RESOURCE",
"BLOCKED_INI",
"BLOCKED_STARTUP"
],
"projection_only": true,
"required_fields": [
"state",
"status",
"diagnostics",
"resources",
"hal",
"optional_missing",
"runtime_fixtures",
"state_hash"
],
"states": [
"NEW",
"MOUNTED",
"PARSED",
"RESOLVED",
"CORE_CREATED",
"HAL_READY",
"TASK_READY",
"BLOCKED"
]
},
"inputs": [
{
"path": "context-lock.json",
"role": "context_lock",
"sha256": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e",
"status": "present"
},
{
"path": "web/workspace/sim-case-loader.mjs",
"role": "implementation",
"sha256": "5204f11177b45e452a972f3adaf0aba4dafd8b1b4844f40a42513652e574e20a",
"status": "present"
},
{
"path": "web/workspace/configuration-startup.mjs",
"role": "startup_state_machine",
"sha256": "e375abb6dcc0e0657f038356a68f5932c360bcf7fdf5ff906218a37b9012924a",
"status": "present"
},
{
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "linuxcnc_source",
"sha256": "328c038a1e8fefd952e53c8e398e3fa98b04602351c44318edd1b044e8f63ffa",
"status": "present"
},
{
"path": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc",
"role": "linuxcnc_source",
"sha256": "73935d127557c0e8f9da6267f629351ec5198fbce05c665c678819383901d61b",
"status": "present"
},
{
"path": "linuxcnc/src/emc/task/emctask.cc",
"role": "linuxcnc_source",
"sha256": "db3996e57edbf042cc0ff85580ac62728491fb55e7236219a3a76bfbee6beee9",
"status": "present"
}
],
"paths": [
{
"path": "linuxcnc/configs/nc_files/3dtest.ngc",
"role": "selected_case_program_copy",
"sha256": "fdd71703dc7658711b67de12c89379e3a9340cacb16382dbd655dab2103bf566",
"status": "present"
},
{
"path": "linuxcnc/nc_files/lathe_pawn.ngc",
"role": "source_program_found_at_root",
"sha256": "f6afe0f4af4f7e1d2913513a045489b3203d7c0664041a6e573b5d649147da6c",
"status": "present"
},
{
"path": "linuxcnc/configs/sim/nc_files/examples/lathe_pawn.ngc",
"role": "requested_but_absent_exact_path",
"sha256": null,
"status": "missing"
}
],
"report_sha256": "ff1ce5e1c3251b82e4298a084146e1eb64fb608ef5f7922c69cec10faba77d83",
"rules": [
{
"behavior": "ui_initial_file_hint_only",
"id": "axis_open_file_optional",
"key": "OPEN_FILE",
"missing_behavior": "optional_missing",
"section": "DISPLAY",
"source": {
"evidence": "open only when os.path.exists(initialfile)",
"line": 3993,
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py"
}
},
{
"behavior": "display_asset_hint",
"id": "display_intro_graphic_optional",
"key": "INTRO_GRAPHIC",
"missing_behavior": "optional_missing",
"section": "DISPLAY"
},
{
"authority": "linuxcnc_source_hal_path",
"id": "halfile_missing_classification",
"keys": [
"HAL",
"HALFILE"
],
"missing_classification": "BLOCKED_HAL"
},
{
"authority": "exact_path_resource_resolver",
"id": "resource_missing_classification",
"missing_classification": "BLOCKED_RESOURCE"
},
{
"authority": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc",
"behavior": "zeroed_runtime_fixture_only_when_source_policy_allows",
"id": "runtime_parameter_fixture",
"keys": [
"PARAMETER_FILE",
"VARFILE",
"TOOL_TABLE",
"TOOLTABLE"
]
},
{
"behavior": "missing_exact_path_remains_blocked_or_optional",
"control_panel_action": "show_diagnostic_and_source_path",
"id": "no_basename_substitution"
}
],
"schema": "linuxcnc-source-semantics-contract.v1",
"status": "verified"
}