虚拟HAL完全满足Web数控仿真
结论:real simulation page 已将保存的 virtual HAL session snapshot 联动到 release diagnostics artifact,保存或恢复后的 Web CNC 仿真会话可直接输出 release-ready virtual HAL source、sim-config、halcmd fixture 与 motion matrix evidence;该能力仍限于 Web 仿真替代层,不声明 Linux kernel hard-realtime ABI、外部硬件驱动 ABI 或 native HAL module ABI。
This commit is contained in:
77
text17.txt
77
text17.txt
@@ -1113,3 +1113,80 @@ git diff --check ok
|
||||
让用户可在页面上输入 release artifact URL 与 browser diagnostics URL 后直接运行验证。
|
||||
3. 为 motion matrix 增加 manifest-backed source check,把 matrix 关联的 sim config
|
||||
source files 与 vendored LinuxCNC manifest 做显式一致性验证。
|
||||
|
||||
### 十二、2026-06-17 Virtual HAL Session Diagnostics Artifact Linkage
|
||||
|
||||
继续按本文件铁律推进:虚拟 HAL 的功能完全来源于 LinuxCNC 源程序,并且虚拟 HAL
|
||||
完全满足 Web 方式数控系统仿真系统。本批完成上一节下一步第 1 项,把 real
|
||||
simulation page 保存的 virtual HAL session snapshot 与 release diagnostics artifact 做联动,
|
||||
使保存后的 Web CNC 仿真会话可直接输出 release-ready diagnostics evidence。
|
||||
|
||||
新增实质能力:
|
||||
|
||||
- real simulation page 新增 session diagnostics artifact builder:
|
||||
- `createVirtualHalSessionDiagnosticsArtifact(snapshot)`;
|
||||
- 从保存的 session snapshot 读取 `payload.virtualHal`;
|
||||
- 复用 snapshot 中的 virtual HAL state、simulation replacement、source compliance、
|
||||
sim-config coverage、halcmd fixtures、motion controller matrix;
|
||||
- 使用 `createProjectReleaseBrowserDiagnosticsArtifactValidation()` 对 snapshot
|
||||
派生 diagnostics artifact 做 release 级验证;
|
||||
- `exportDiagnosticsArtifact()` 新增:
|
||||
- `virtualHalSessionDiagnostics`;
|
||||
- 未保存 session 时返回 `phase: "not-saved"` 和 missing reason;
|
||||
- 已保存或恢复 session 后返回 `phase: "release-ready"`;
|
||||
- Browser simulation API 新增:
|
||||
- `exportVirtualHalSessionDiagnosticsArtifact()`;
|
||||
- `saveVirtualHalSessionSnapshot()` 返回值新增:
|
||||
- `releaseDiagnosticsReady`;
|
||||
- `sessionDiagnostics`;
|
||||
- `restoreVirtualHalSessionSnapshot()` 返回值新增:
|
||||
- `releaseDiagnosticsReady`;
|
||||
- `sessionDiagnostics`;
|
||||
- AXIS simulation docs 同步公开
|
||||
`exportVirtualHalSessionDiagnosticsArtifact()`,并说明 saved virtual HAL session
|
||||
snapshot 会进入 browser diagnostics artifact,形成 release-ready evidence。
|
||||
|
||||
新增/扩展验证:
|
||||
|
||||
- `real_simulation_page_smoke.html` 覆盖:
|
||||
- 页面 API 暴露 `exportVirtualHalSessionDiagnosticsArtifact()`;
|
||||
- 保存 virtual HAL session 后 `releaseDiagnosticsReady === true`;
|
||||
- 保存返回的 `sessionDiagnostics.validation.ready === true`;
|
||||
- 保存返回的 session diagnostics 包含 complete motion controller matrix;
|
||||
- `exportVirtualHalSessionDiagnosticsArtifact()` 输出 `phase === "release-ready"`;
|
||||
- `exportDiagnosticsArtifact()` 内嵌 `virtualHalSessionDiagnostics.ready === true`;
|
||||
- restore 后 session diagnostics 仍保持 release-ready;
|
||||
- `verify_axis_style_simulation_docs.mjs` 覆盖新 API 文档契约;
|
||||
- `verify_sdk_surface.sh` 继续覆盖 release diagnostics validation 与 virtual HAL source
|
||||
evidence。
|
||||
|
||||
关键验证:
|
||||
|
||||
```text
|
||||
axis_style_simulation_docs_node_smoke=ok
|
||||
browser_real_simulation_page_smoke=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
project_release_gate_manifest_node_smoke=ok
|
||||
project_release_artifact_url_workflow_node_smoke=ok
|
||||
project_batch_acceptance_workflow_node_smoke=ok
|
||||
project_batch_acceptance_artifact_node_smoke=ok
|
||||
git diff --check ok
|
||||
```
|
||||
|
||||
语义边界:
|
||||
|
||||
- 本批没有新增 G-code/interpreter/planner/kinematics/remap 语义;
|
||||
- session diagnostics artifact 只复用保存时已有的 source-derived virtual HAL reports;
|
||||
- release validation 只验证 Web 仿真所需 HAL、halcmd、motion controller evidence;
|
||||
- virtual HAL 仍不声称提供 Linux kernel hard-realtime ABI、外部硬件驱动 ABI 或 native
|
||||
HAL module ABI;
|
||||
- G-code/interpreter/planner/canonical motion 语义仍来自 LinuxCNC-backed WASM。
|
||||
|
||||
下一步工作内容:
|
||||
|
||||
1. 将 ini-panel workflow overview 的 diagnostics URL workflow 接入固定页面表单/按钮,
|
||||
让用户可在页面上输入 release artifact URL 与 browser diagnostics URL 后直接运行验证。
|
||||
2. 为 motion matrix 增加 manifest-backed source check,把 matrix 关联的 sim config
|
||||
source files 与 vendored LinuxCNC manifest 做显式一致性验证。
|
||||
3. 将 virtual HAL session diagnostics artifact 纳入 release artifact URL workflow 的示例
|
||||
fixtures,使 URL workflow 同时覆盖 live diagnostics 与 saved-session diagnostics。
|
||||
|
||||
Reference in New Issue
Block a user