按建议,继续完成后续工作

结论:已新增 OPFS session snapshot store,提供通用 JSON 包络、格式校验和保存/读取往返验证;该层只处理 host-side 持久化,不定义 CNC 机床状态语义。
This commit is contained in:
2026-06-08 03:29:23 +08:00
parent 84bdc819b4
commit 63a697a503
5 changed files with 116 additions and 8 deletions

View File

@@ -51,7 +51,7 @@ Current validation is intentionally mechanical:
| Dependency | LinuxCNC files that expose it | Standalone treatment |
| --- | --- | --- |
| Native file IO | `inifile.cc`, `rs274ngc_pre.cc`, parameter file paths | Allowed in native probes; browser OPFS remains a host-side adapter under `runtime/opfs/`, with path ownership in `runtime/opfs/path-model.js` |
| Native file IO | `inifile.cc`, `rs274ngc_pre.cc`, parameter file paths | Allowed in native probes; browser OPFS remains a host-side adapter under `runtime/opfs/`, with path ownership in `runtime/opfs/path-model.js` and generic snapshot persistence in `runtime/opfs/snapshot-store.js` |
| RTAPI | `rtapi_*.h`, TP, posemath, motion headers | Minimal standalone shim in `runtime/core/shims/rtapi.h` |
| NML transport | `emc.hh`, motion/NML type headers | Transport is not ported; only the status/type edges needed by vendored compute code are exposed through standalone shims and probes |
| HAL runtime | named parameter lookup, kinematics component lifecycle, and runtime status edges | Standalone HAL adapter under `runtime/core/linuxcnc_wrap/` |
@@ -74,6 +74,8 @@ Current validation is intentionally mechanical:
- OPFS persistence is connected to the INI panel through the host-side
`runtime/opfs/file-service.js` adapter. `runtime/opfs/path-model.js` now
defines paths for INI, tool table, parameter file, G-code program,
preview-cache, and session-snapshot targets; semantic loading for tool
tables, parameter files, and G-code programs remains future work.
preview-cache, and session-snapshot targets. `runtime/opfs/snapshot-store.js`
adds a generic JSON session snapshot envelope; semantic loading for tool
tables, parameter files, G-code programs, and machine-state restoration
remains future work.
- Native LinuxCNC GUI code remains out of scope for implementation.