Files
cnc_wams/textbak/text19.txt
wangdequan 626bcfe8e3 继续完成 web-rtcp-5axis-sim-plan
结论:完成 LinuxCNC kinematics WASM ABI 覆盖,并将 web-rtcp-5axis-sim-plan 的 RTCP frame/boundary adapter 接到 xyzac-trt kinematics SDK;Node、build、browser smoke 验证通过。
2026-06-21 16:44:29 +08:00

266 lines
8.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
项目接续文件:利用 virtual HAL 成果推进 sim config baseline promotion
生成时间2026-06-18 CST
本文件接替 `text18.txt`。后续继续推进时优先参考 `text19.txt`;除非明确要求审计
旧记录,不再回到 `text1` 到 `text18` 扩展历史实现。
一、方向纠偏
上一版表述容易被误读为“转向非 virtual HAL不再使用 virtual HAL 成果”。正确方向是:
```text
virtual HAL runtime capability 已收尾;后续不继续扩展 virtual HAL 新功能,
但要利用已完成的 virtual HAL source-derived evidence、browser diagnostics、
release gate 和 motion matrix继续推进 sim config coverage / baseline promotion。
```
执行含义:
- 不新增 virtual HAL runtime capability
- 不新增 unrelated virtual HAL UI 面板、filter、drilldown 类功能;
- 不把 virtual HAL 当成 JS CNC 语义替代品;
- 允许并且应该复用 virtual HAL 已有成果作为 promotion evidence
- source compliance
- sim-config source coverage
- promotion candidate report
- macro/load fixture report
- command script fixtures
- manifest-backed motion controller matrix
- browser diagnostics artifact
- release readiness / URL workflow / batch acceptance evidence。
二、当前 baseline
当前 Node inventory baseline 仍为:
```text
executed=28
passed=28
skipped=131
unexpected_fail=0
```
当前已经完成的 virtual HAL promotion evidence 不等同于 inventory skip count 下降。它已经把
一批 Node `INV` / representative rows 推进到了 browser diagnostics / release evidence 层,
但如果要让 `executed/passed/skipped` 变化,仍必须修改并运行真实 inventory execution path。
三、已具备的 promotion evidence
当前 SDK / browser / release gate 已覆盖 Tier 1 promotion candidate report
- `qtdragon/qtdragon_multi_joint/on_abort.ngc`
- `qtdragon/qtdragon_xyz/on_abort.ngc`
- `qtdragon/qtdragon_xyz45/on_abort.ngc`
- `qtdragon_hd/qtdragon_hd_xyz/on_abort.ngc`
- `qtdragon_hd/qtdragon_hd_z_compensation/on_abort.ngc`
- `qtvcp_screens/qtdragon/on_abort.ngc`
- `axis/vismach/puma/puma_seam_weld.ngc`
- `axis/rose_engine/rcone_demo.ngc`
这些 row 的当前性质:
- LinuxCNC source/config evidence 完整;
- current Node inventory status 为 `PASS`
- blocked kind 为 `-`
- target browser evidence 为 `explicit-browser-diagnostics`
- release diagnostics validation 已要求 promotion candidate summary
- inventory baseline 保持不变。
当前 macro/load 非主程序 evidence 已覆盖:
- `axis/rose_engine/rcone.ngc`
- `axis/external_offsets/queuebuster.ngc`
这些只能作为 non-main fixture diagnostics evidence不作为 standalone main program promotion。
四、不可突破边界
以下 family 仍不能靠 virtual HAL、JS glue 或 browser UI 伪装解锁:
- Linux kernel hard-realtime ABI
- 外部硬件驱动 ABI
- native HAL module ABI
- Python UI process emulation
- Python remap runtime
- tool database process protocol
- external user-M process execution
- upstream-invalid demo code。
因此以下 blocked kind 仍保持 locked
- `L4-PYTHON-REMAP`
- `L4-TOOL-DB`
- `L4-USER-M-PROCESS`
- `UPSTREAM-DEMO`
- standalone-main 语境下的 `ASSET-ONLY`
五、下一步主线目标
目标仍是从:
```text
executed=28
passed=28
skipped=131
```
推进到更高完成度。第一阶段建议目标:
```text
executed >= 35
passed == executed
skipped <= 124
unexpected_fail=0
```
但推进方式应是:
1. 先复用 virtual HAL 已建立的 source-derived evidence确认候选 family 的 browser/release
evidence 已 ready
2. 再找出当前 inventory 中还没有执行、但依赖已被 virtual HAL / HALUI / deterministic
UI declarations / machine files / tool tables / remap asset staging 覆盖的 main program
3. 只把 LinuxCNC-backed runtime 能真实执行通过的 row 纳入 inventory
4. 同步更新 docs、release artifact fixture、SDK/host gate baseline 断言。
六、候选选择原则
优先方向:
- Tier 1 已有 promotion evidence 周边 family
- QtDragon on-abort family
- PUMA / vismach remap family
- rose-engine family
- 当前 matrix 中 `blocked=-`、`class=main`、native `PASS`、但尚未进入 browser explicit evidence
或 inventory execution 的 row
- 已有 tool-table fallback、vendored INI/G-code/source evidence、无 Python/process hard block 的 row
- 已有 virtual HAL command/motion matrix 可以解释 HAL/UI/motion 依赖的 row。
禁止方向:
- 不把 Python remap pass 当作 browser/Node full promotion
- 不把 tool DB native pass 当作 WASM process protocol pass
- 不把 external user-M process pass 当作 virtual HAL deterministic M110/M111 边界;
- 不把 macro/load asset 当 standalone main
- 不靠改 docs 声称 skipped 降低。
七、建议执行步骤
### 第一步:复核当前 virtual HAL promotion gate
最小命令:
```text
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/sdk/node/verify_project_release_gate_manifest.sh
```
确认:
- `VIRTUAL_HAL_SIM_CONFIG_PROMOTION_CANDIDATES` 仍包含 8 个 Tier 1 row
- candidate report `complete === true`
- `webSimulationSatisfied === true`
- `inventoryBaselineUnchanged === true`
- blocked candidate count 为 0
- release gate / URL workflow 仍要求 candidate summary。
### 第二步:生成真实 inventory promotion candidate 清单
不要只列 hard-block skipped main row应输出两个层级
- evidence-ready candidates已有 virtual HAL/browser/release evidence适合继续升 browser/release
覆盖;
- inventory-ready candidates确实可从 skipped 推进到 executed 的 main program。
建议输出:
```text
wasm-port/build/wasm/sim-configs-inventory/promotion-candidates.tsv
```
字段至少包含:
- path
- ini
- current inventory status
- matrix layer4 node/browser status
- class
- native status
- blocked kind
- dependency class
- virtual HAL evidence ready
- inventory promotion allowed
- block reason
- recommended next command。
### 第三步:推进第一批真实 inventory rows
一次只推进 5 到 8 个 row。每个 row 必须说明:
- LinuxCNC source/config/runtime evidence
- 为什么已有 virtual HAL evidence 能覆盖 HAL/UI/motion 依赖;
- 为什么不是 JS/browser 自行补 CNC 语义;
- 为什么不属于 `L4-PYTHON-REMAP`、`L4-TOOL-DB`、`L4-USER-M-PROCESS`、
`UPSTREAM-DEMO` 或 standalone `ASSET-ONLY`
- 执行后 baseline 如何变化。
### 第四步:同步 release packaging
baseline 真变化后,同步更新:
- generated sim-config inventory artifact
- `wasm-port/docs/sim-configs-coverage-matrix.md`
- `wasm-port/docs/sim-config-coverage-promotion-analysis.md`
- release readiness artifact fixture
- SDK / host gate 的 baseline 断言;
- browser diagnostics / URL workflow 中的 baseline 文案。
八、验收标准
一次真实 baseline promotion 完成条件:
1. 新 baseline artifact 真实生成;
2. `executed` 和 `passed` 同步增加;
3. `skipped` 同步减少;
4. `unexpected_fail` 仍为 `0`
5. 新增 rows 不属于 blocked family
6. virtual HAL evidence 是 source-derived support不是 CNC 语义替代;
7. `verify_no_standalone_cnc_semantics.sh` 仍通过;
8. 最小相关 gate 通过;
9. 文档记录变更前/后 baseline、新增 rows、blocked family lock 状态和验证命令。
建议最小验证命令:
```text
git diff --check
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/sdk/node/verify_project_release_gate_manifest.sh
```
如改动涉及 browser/release 页面,再额外运行:
```text
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
```
九、下一步工作内容
下一轮建议直接做:
```text
基于现有 virtual HAL promotion candidate report生成 evidence-ready / inventory-ready
双层 promotion-candidates.tsv然后从 blocked=-、native PASS、class=main 的 row 中筛出
第一批 5-8 个可真实进入 inventory execution 的候选,试运行并更新 baseline。
```
优先候选 family
- QtDragon on-abort family 周边;
- PUMA / vismach remap family
- rose-engine family
- 其他已 vendored、无 Python/process hard block、可由 virtual HAL 解释 HAL/UI/motion 依赖的
main program。