结论:完成 LinuxCNC kinematics WASM ABI 覆盖,并将 web-rtcp-5axis-sim-plan 的 RTCP frame/boundary adapter 接到 xyzac-trt kinematics SDK;Node、build、browser smoke 验证通过。
2705 lines
108 KiB
Plaintext
2705 lines
108 KiB
Plaintext
项目整体完成情况与后续执行计划
|
||
|
||
生成时间:2026-06-14 CST
|
||
|
||
本文件接替 `text8.txt`。后续工作按 `text9.txt` 执行;除非明确要求审计旧记录,
|
||
不要再回到 `text1/text2/text3/text4/text5/text6/text7/text8` 扩展进度。
|
||
`text8.txt` 作为历史归档保留。
|
||
|
||
一、续接状态与防重规则
|
||
|
||
1. 当前续接点。
|
||
|
||
`text8.txt` 已推进到:
|
||
|
||
```text
|
||
三十八、2026-06-14 继续执行记录:browser OPFS direct session parameter value locals guard
|
||
```
|
||
|
||
该批已提交并推送:
|
||
|
||
```text
|
||
82f2c57 Guard browser OPFS direct session parameter values
|
||
```
|
||
|
||
本文件从 `text9.txt` 重新开始记录后续进度。
|
||
|
||
2. 每轮开始前必须先执行。
|
||
|
||
```bash
|
||
git status --short
|
||
git log -5 --oneline
|
||
tail -n 120 text9.txt
|
||
awk '/^[一二三四五六七八九十百]+、/ {print}' text9.txt | sort | uniq -d
|
||
```
|
||
|
||
执行规则:
|
||
|
||
- 如果 `git status --short` 是 clean,且最新提交已经包含当前建议工作,不要重复追加记录;
|
||
- 每轮只追加一个新的中文编号记录;提交前再次检查标题唯一性;
|
||
- `text9.txt` 只记录新的后续进度,不复制 `text8.txt` 的长历史;
|
||
- 每批完成后,如果要写记录,先写 `text9.txt`,再提交该批代码和记录;
|
||
- 如果发现重复记录,先做 dedupe 清理并提交,再继续新功能或新 guard;
|
||
- `text8.txt` 不再追加新进度,除非明确要求审计或修正历史记录。
|
||
|
||
二、当前项目纪律
|
||
|
||
1. LinuxCNC 仍是唯一 CNC 语义来源。
|
||
|
||
G-code、remap、tool、parameter、planner、kinematics、user-M、tool DB、Python
|
||
remap 等语义必须来自 LinuxCNC upstream 或 vendored LinuxCNC C/C++/配置/脚本源码。
|
||
|
||
2. 本项目允许实现的范围仍限于:
|
||
|
||
- build;
|
||
- source sync;
|
||
- runtime shim;
|
||
- filesystem staging;
|
||
- OPFS;
|
||
- WASM/browser boundary;
|
||
- 测试胶水;
|
||
- 文档;
|
||
- 机器可读 gate/artifact。
|
||
|
||
3. 禁止事项继续有效:
|
||
|
||
- 不在 JS 中重写 G-code 或 CNC 语义;
|
||
- 不修改 vendored LinuxCNC 源文件来让测试通过;
|
||
- 不把 full-process/HAL/UI/Python/tool DB 依赖伪装成 standalone pass;
|
||
- 不把 expected failure 硬改成 pass,除非已有 LinuxCNC-owned runtime proof,并且
|
||
native、Node、browser gate 都按顺序通过;
|
||
- browser 不能依赖目录枚举。
|
||
|
||
三、当前完成情况摘要
|
||
|
||
1. 当前工作树状态。
|
||
|
||
切换到 `text9.txt` 前已确认:
|
||
|
||
```text
|
||
git status --short: clean
|
||
text8.txt duplicate Chinese headings: none
|
||
```
|
||
|
||
当前最近提交:
|
||
|
||
```text
|
||
82f2c57 Guard browser OPFS direct session parameter values
|
||
0cfe942 Guard browser OPFS direct session parameter seed
|
||
9265825 Guard browser OPFS direct session load options
|
||
e0f7ebe Guard browser OPFS explicit session file group
|
||
ee4c4e1 Guard browser OPFS INI-named session file group
|
||
```
|
||
|
||
2. WASM port 基础架构稳定。
|
||
|
||
`wasm-port` 仍按独立移植工作区组织,包含 vendor、runtime/core、runtime/sdk、
|
||
runtime/opfs、runtime/ui、native/wasm/browser tests、docs 和 tools。
|
||
|
||
3. 关键基线保持稳定。
|
||
|
||
- `linuxcnc/nc_files` native Layer 1:
|
||
- `total 107`
|
||
- `pass 101`
|
||
- `expected_fail 6`
|
||
- `unexpected_fail 0`
|
||
- `linuxcnc/configs/sim` native Layer 2:
|
||
- `total 159`
|
||
- `pass 151`
|
||
- `expected_fail 8`
|
||
- `unexpected_fail 0`
|
||
- Node sim-config inventory:
|
||
- `executed=28`
|
||
- `passed=28`
|
||
- `skipped=131`
|
||
- `unexpected_fail=0`
|
||
|
||
4. blocked runtime family 仍未 promotion。
|
||
|
||
仍 blocked,不允许 promotion:
|
||
|
||
- `L4-USER-M-PROCESS`
|
||
- `L4-TOOL-DB`
|
||
- `L4-PYTHON-REMAP`
|
||
|
||
当前 host 仍按缺少 LinuxCNC host runtime 处理,不执行任何:
|
||
|
||
```bash
|
||
ENABLE_MILLTURN_USER_M_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_millturn_user_m_runtime.sh
|
||
ENABLE_TOOL_DB_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_tool_db_runtime.sh
|
||
ENABLE_PYTHON_REMAP_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_python_remap_runtime.sh
|
||
```
|
||
|
||
5. `text8.txt` 最新收敛方向。
|
||
|
||
`text8.txt` 后半段继续沿 browser/OPFS boundary guard 小批量推进,最近完成的重点包括:
|
||
|
||
- OPFS saved text、save result、load result helper guard;
|
||
- invalid INI lines/path helper guard;
|
||
- OPFS default machine path、default filename、machine INI WASM path helper guard;
|
||
- generated fixture WASM path helper guard;
|
||
- direct browser session WASM path group helper guard;
|
||
- custom session INI/WASM/path/load/save helper guard;
|
||
- custom session parameter/tool-table seed、value、result/readback helper guard;
|
||
- INI-named 与 explicit custom session file group helper guard;
|
||
- direct browser session load options helper guard;
|
||
- direct browser session parameter seed helper guard;
|
||
- direct `browser-interp` saved parameter values/result/readback locals guard。
|
||
|
||
这些改动均只收敛 browser/OPFS test glue 与 boundary guard,未改变 OPFS bridge
|
||
behavior、file-service、path-model、SDK planner、interpreter、INI、tool、parameter
|
||
或 LinuxCNC-owned runtime semantics。
|
||
|
||
四、当前必须保持通过的验证入口
|
||
|
||
每批后续改动至少运行:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
涉及 native baseline 或大范围 source/staging 改动时,再运行:
|
||
|
||
```bash
|
||
wasm-port/tests/native/verify_nc_files.sh
|
||
wasm-port/tests/native/verify_sim_configs.sh
|
||
wasm-port/tests/native/verify_native_probes.sh
|
||
```
|
||
|
||
五、下一步执行计划
|
||
|
||
1. 当前第一候选批次。
|
||
|
||
继续小批量 browser OPFS test glue guard。优先扫描 direct `browser-interp` session 的
|
||
initial parameter load result 与 backup readback expected lines 是否能复用
|
||
`browserDirectParameterSeedLines(...)` 或现有 `opfsParameter*` helpers。
|
||
|
||
执行目标:
|
||
|
||
- 只处理 `wasm-port/tests/browser/interp_smoke.html` 内的 browser/OPFS test glue;
|
||
- 优先让 initial parameter restore result 与 backup readback expected lines 复用已有
|
||
helper 或局部常量;
|
||
- helper 必须继续通过 `verifyExpectedOutput(...)` 间接或直接做精确文本校验;
|
||
- 保持 `<_named_param> 123` 和 `absent=<_named_param>` 的语义边界外显;
|
||
- 不改变参数值、OPFS path、WASM path 字符串、保存/读取/load 行为;
|
||
- 不改变 OPFS bridge behavior、file-service、path-model、SDK planner、interpreter、
|
||
INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
2. 第一候选批次验证。
|
||
|
||
执行:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
如果通过,提交建议:
|
||
|
||
```text
|
||
Guard browser OPFS direct session initial parameters
|
||
```
|
||
|
||
3. 后续候选。
|
||
|
||
如果 initial parameter load/backup 收益不明显,转向 direct `browser-interp`
|
||
tool-table load/save/readback value groups,看是否能像 custom session 一样对齐为
|
||
locals 或复用现有 `opfsToolTable*` helpers。
|
||
|
||
继续只选:
|
||
|
||
- 已有 Node/browser coverage;
|
||
- 不依赖 HAL/task/tool DB/Python remap/user-M process;
|
||
- direct-file、generated-file、OPFS boundary 或 staging helper 已成型;
|
||
- 每批小范围收敛;
|
||
- 只做 host/filesystem/browser/OPFS boundary guard,不新增 CNC 语义。
|
||
|
||
暂不推进:
|
||
|
||
- blocked runtime promotion;
|
||
- browser full 159 sim-config inventory;
|
||
- full-process/HAL/UI/Python/tool DB 执行;
|
||
- upstream intake 大批量扩面。
|
||
|
||
六、下一次开始执行时的第一条命令
|
||
|
||
从这里继续:
|
||
|
||
```bash
|
||
git status --short && git log -5 --oneline && tail -n 120 text9.txt && awk '/^[一二三四五六七八九十百]+、/ {print}' text9.txt | sort | uniq -d
|
||
```
|
||
|
||
七、2026-06-14 继续执行记录:text9 handoff and direct session initial parameter guard
|
||
|
||
本轮先按用户要求完成 `text9.txt` 续接文件创建,后续进度改按 `text9.txt` 记录;
|
||
随后按第一候选批次继续收敛 direct `browser-interp` session 的 initial parameter
|
||
load/backup expected lines,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新建 `text9.txt`,完整承接 `text8.txt` 当前工作情况、纪律、验证入口、续接规则和
|
||
下一步计划;
|
||
- 明确 `text8.txt` 作为历史归档保留,后续不再追加新进度;
|
||
- 为 direct `browser-interp` session 增加
|
||
`browserInterpInitialParameterValues` 局部常量;
|
||
- `opfs_restore_parameters` expected lines 改为复用既有
|
||
`opfsParameterResultLines("restore", ...)`;
|
||
- `opfs_saved_parameter_backup_text` expected lines 改为复用既有
|
||
`opfsParameterTextLines(" ", ...)`,并继续显式保留 `<_named_param> 123`;
|
||
- seed text 仍由 `browserDirectParameterSeedLines(true)` 生成,实际写入内容不变;
|
||
- 未改变参数值、OPFS path、WASM path 字符串、save/read/load 行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser OPFS test glue guard。优先扫描 direct `browser-interp` session 的
|
||
tool-table load/save/readback value groups 是否能像 custom session 一样对齐为 locals
|
||
或复用现有 `opfsToolTable*` helpers;只改测试胶水,不改变 tool-table 输入、OPFS path、
|
||
WASM path 字符串或保存/读取行为。
|
||
|
||
八、2026-06-14 继续执行记录:browser OPFS direct session tool-table value locals guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct `browser-interp` session 的 tool-table
|
||
load/save/readback value groups,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 扩展 `opfsToolTableTextLines(...)`,新增向后兼容的 `extraLines` 可选参数;
|
||
- 为 direct `browser-interp` session 增加 `browserInterpToolTableValues` 与
|
||
`browserInterpToolTableReadbackValues` 局部常量;
|
||
- `opfs_load_tool_table` expected lines 改为复用既有
|
||
`opfsToolTableResultLines("load", ...)`;
|
||
- `opfs_save_tool_table` expected lines 改为复用既有
|
||
`opfsToolTableResultLines("save", ...)`;
|
||
- `opfs_saved_tool_table_text` expected lines 改为复用
|
||
`opfsToolTableTextLines(...)`,并通过 `extraLines` 显式保留 direct 场景独有的
|
||
`I+12.000000`、`J+34.000000`、`Q4`;
|
||
- custom session 既有 `opfsToolTableTextLines(...)` 调用保持兼容;
|
||
- 未改变 tool-table 输入、OPFS path、WASM path 字符串、save/read/load 行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser OPFS test glue guard。优先扫描 direct random toolchanger session
|
||
的 tool-table load/save/readback expected lines 是否能用现有 helper 或局部常量收敛;
|
||
只改测试胶水,不改变 random toolchanger 输入、OPFS path、WASM path 字符串或
|
||
保存/读取行为。
|
||
|
||
九、2026-06-14 继续执行记录:browser OPFS random session tool-table helper guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct random toolchanger session 的 tool-table
|
||
load/save/readback expected lines,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsRandomToolTableResultLines(...)`,统一 random toolchanger load/save
|
||
result expected lines 的拼装;
|
||
- 新增 `opfsRandomToolTableTextLines(...)`,统一 random toolchanger saved
|
||
tool-table readback expected lines 的拼装;
|
||
- 为 direct random toolchanger session 增加 `browserRandomFinishTool`、
|
||
`browserRandomRoughTool` 与 `browserRandomTools` 局部常量;
|
||
- `opfs_load_random_tool_table` expected lines 改为复用
|
||
`opfsRandomToolTableResultLines("load", ...)`,并继续显式保留
|
||
`tooldata_random_toolchanger=1` 和 `tool_index_for_tool_2=7`;
|
||
- `opfs_save_random_tool_table` expected lines 改为复用
|
||
`opfsRandomToolTableResultLines("save", ...)`;
|
||
- `opfs_saved_random_tool_table_text` expected lines 改为复用
|
||
`opfsRandomToolTableTextLines(...)`;
|
||
- 未改变 random toolchanger 输入、OPFS path、WASM path 字符串、save/read/load 行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser OPFS test glue guard。优先扫描 direct generated random
|
||
toolchanger file block 中的 load/save/readback expected lines 是否也能复用
|
||
`opfsRandomToolTable*` helpers 或局部常量;只改测试胶水,不改变 direct generated
|
||
file input、WASM path 字符串或保存/读取行为。
|
||
|
||
十、2026-06-14 继续执行记录:browser direct generated random tool-table helper guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct generated random toolchanger file block 的
|
||
load/save/readback expected lines,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 为 direct generated random toolchanger file block 增加
|
||
`browserDirectRandomFinishTool`、`browserDirectRandomRoughTool` 与
|
||
`browserDirectRandomTools` 局部常量;
|
||
- `load_tool_table_direct_random` expected lines 改为复用
|
||
`opfsRandomToolTableResultLines("load", ...)`;
|
||
- direct generated block 中继续显式保留 `tooldata_last_index=9` 与
|
||
`tool_index_for_tool_2=7`;
|
||
- `save_tool_table_direct_random` expected lines 改为复用
|
||
`opfsRandomToolTableResultLines("save", ...)`;
|
||
- `saved_tool_table_direct_random_text` expected lines 改为复用
|
||
`opfsRandomToolTableTextLines(...)`;
|
||
- 未改变 direct generated file input、WASM path 字符串、save/read/load 行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct non-random generated
|
||
tool-table file block 中的 load/save/readback expected lines 是否能复用现有
|
||
`opfsToolTable*` helpers 或局部常量;只改测试胶水,不改变 direct generated file input、
|
||
WASM path 字符串或保存/读取行为。
|
||
|
||
十一、2026-06-14 继续执行记录:browser direct generated non-random tool-table helper guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct non-random generated toolchanger file block 的
|
||
load/save/readback expected lines,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `directToolTableResultLines(...)`,统一 direct non-random generated load/save
|
||
result expected lines 的拼装;
|
||
- 新增 `directToolTableTextLines(...)`,统一 direct non-random generated saved
|
||
tool-table readback expected lines 的拼装;
|
||
- 为 direct non-random generated file block 增加 `browserDirectFinishTool`、
|
||
`browserDirectRoughTool` 与 `browserDirectTools` 局部常量;
|
||
- `load_tool_table_direct` expected lines 改为复用
|
||
`directToolTableResultLines("load", ...)`,并继续显式保留 `tooldata_last_index=2`
|
||
和 `tool_index_for_tool_2=1`;
|
||
- `save_tool_table_direct` expected lines 改为复用
|
||
`directToolTableResultLines("save", ...)`;
|
||
- `saved_tool_table_direct_text` expected lines 改为复用
|
||
`directToolTableTextLines(...)`;
|
||
- 未改变 direct generated file input、WASM path 字符串、save/read/load 行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct `browser-interp` session 和
|
||
direct generated file block 之间是否还能抽出更小的共享 tool-table helper;只改测试
|
||
胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
十二、2026-06-14 继续执行记录:browser shared tool-table text helper guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct `browser-interp` session 与 direct generated
|
||
file block 之间的 saved tool-table text helper,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `toolTableTextLines(...)`,统一 tool object 到 saved tool-table readback
|
||
expected lines 的拼装;
|
||
- `directToolTableTextLines(...)` 改为复用 `toolTableTextLines(...)`;
|
||
- `opfsRandomToolTableTextLines(...)` 改为复用 `toolTableTextLines(...)`;
|
||
- 保留 direct 与 random wrapper 名称,避免扩大调用点改动;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 tool-table result helper 是否也能抽出
|
||
不改变输出的 shared `tool.resultLines` flatten helper,或者转向 custom session
|
||
tool-table load value groups 的局部常量收敛;只改测试胶水,不改变输入、OPFS path、
|
||
WASM path 字符串或保存/读取行为。
|
||
|
||
十三、2026-06-14 继续执行记录:browser shared tool-table result helper guard
|
||
|
||
本轮按上一条下一步建议继续收敛 tool-table result helper 的重复
|
||
`tool.resultLines` flatten 逻辑,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `toolTableResultLines(...)`,统一 tool object 到 load/save result expected
|
||
lines 的 flatten 逻辑;
|
||
- `directToolTableResultLines(...)` 改为复用 `toolTableResultLines(...)`;
|
||
- `opfsRandomToolTableResultLines(...)` 改为复用 `toolTableResultLines(...)`;
|
||
- 保留 direct 与 random wrapper 的输出前缀、extra lines 顺序和调用点不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 custom session tool-table load/save
|
||
value groups,看是否能像 direct session 一样用 tool object locals 表达 load、
|
||
save、readback 三组 expected lines;只改测试胶水,不改变输入、OPFS path、WASM path
|
||
字符串或保存/读取行为。
|
||
|
||
十四、2026-06-14 继续执行记录:browser custom session tool-table value object guard
|
||
|
||
本轮按上一条下一步建议继续收敛 custom session 普通 tool-table load/save/readback
|
||
value groups,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsToolTableToolValues(...)`,用显式 object locals 承载普通 OPFS
|
||
tool-table 的 seed、load result 与 readback expected 值;
|
||
- `iniNamedToolTable*` 三组并行数组收敛为 `iniNamedToolTable` object;
|
||
- `explicitToolTable*` 三组并行数组收敛为 `explicitToolTable` object;
|
||
- `loadComment`、`readbackZOffset` 与 `readbackDiameter` 继续显式传入,避免在
|
||
browser test glue 中推导 LinuxCNC-owned tool-table 格式;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct `browser-interp` ordinary
|
||
tool-table value groups 是否也能复用 `opfsToolTableToolValues(...)`,或把
|
||
`opfsToolTableSeedText(...)` / `opfsToolTableTextLines(...)` 调用收敛成 object
|
||
adapter;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
十五、2026-06-14 继续执行记录:browser direct session tool-table value object guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct `browser-interp` ordinary tool-table
|
||
load/save/readback value groups,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- `browserInterpToolTableValues` 与 `browserInterpToolTableReadbackValues` 两组并行
|
||
数组收敛为 `browserInterpToolTable` object;
|
||
- direct `browser-interp` ordinary tool-table 的 load/save/readback expected lines
|
||
改为复用 `opfsToolTableToolValues(...)` 的显式 object locals;
|
||
- front angle、back angle、orientation 与 `tool_index_for_tool_2=1` 仍保留在
|
||
对应 load expected lines 调用点,保持语义边界外显;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描是否值得新增
|
||
`opfsToolTableSeedTextForTool(...)` / `opfsToolTableTextLinesForTool(...)` object
|
||
adapter,减少普通 OPFS tool-table 调用点的参数展开;只改测试胶水,不改变输入、
|
||
OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
十六、2026-06-14 继续执行记录:browser OPFS tool-table object adapter guard
|
||
|
||
本轮按上一条下一步建议继续收敛普通 OPFS tool-table helper 调用点的参数展开,
|
||
范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsToolTableTextLinesForTool(...)`,从显式 tool object locals 转发到
|
||
`opfsToolTableTextLines(...)`;
|
||
- 新增 `opfsToolTableSeedTextForTool(...)`,从显式 tool object locals 转发到
|
||
`opfsToolTableSeedText(...)`;
|
||
- direct `browser-interp` ordinary tool-table readback 改为复用
|
||
`opfsToolTableTextLinesForTool(...)`,并继续显式保留 `I/J/Q` readback lines;
|
||
- INI-named 与 explicit custom session ordinary tool-table seed/readback 调用点改为
|
||
复用 object adapter;
|
||
- adapter 只转发已显式保存的 object 字段,不推导 LinuxCNC-owned tool-table 格式;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 ordinary OPFS tool-table load/save
|
||
result 调用点是否值得新增 `opfsToolTableResultLinesForTool(...)` object adapter;
|
||
只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
十七、2026-06-14 继续执行记录:browser OPFS tool-table result object adapter guard
|
||
|
||
本轮按上一条下一步建议继续收敛普通 OPFS tool-table load/save result helper 调用点
|
||
的参数展开,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsToolTableResultLinesForTool(...)`,从显式 tool object locals 转发到
|
||
`opfsToolTableResultLines(...)`;
|
||
- direct `browser-interp` ordinary tool-table load/save result 调用点改为复用
|
||
`opfsToolTableResultLinesForTool(...)`;
|
||
- INI-named 与 explicit custom session ordinary tool-table load/save result 调用点改为
|
||
复用 `opfsToolTableResultLinesForTool(...)`;
|
||
- load result 的 front angle、back angle、orientation、comment 与
|
||
`tool_index_for_tool_2=1` 等 extra lines 仍保留在调用点,保持语义边界外显;
|
||
- adapter 只转发已显式保存的 object 字段,不推导 LinuxCNC-owned tool-table 格式;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;`verify_host_smokes.sh` 首次在
|
||
browser smoke 阶段因 `PermissionError: [Errno 1] Operation not permitted` 失败;
|
||
- 已按规则授权重跑 `wasm-port/tests/host/verify_host_smokes.sh`,重跑通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描普通 OPFS tool-table object helper
|
||
是否还能合并命名或减少重复 adapter;如果收益不明显,转向 parameter result/text 的
|
||
object adapter 收敛;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或
|
||
保存/读取行为。
|
||
|
||
十八、2026-06-14 继续执行记录:browser direct parameter object adapter guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct `browser-interp` parameter result/text helper
|
||
调用点的参数展开,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsParameterResultLinesForValues(...)`,从显式 parameter value set 转发到
|
||
`opfsParameterResultLines(...)`;
|
||
- 新增 `opfsParameterTextLinesForValues(...)`,从显式 parameter value set 转发到
|
||
`opfsParameterTextLines(...)`;
|
||
- 新增 `opfsParameterValueSet(...)` 与 `opfsParameterValuesForValueSet(...)`,
|
||
让 direct `browser-interp` parameter load/save/readback 只通过 object locals
|
||
传递;
|
||
- direct `browser-interp` 的 initial restore、save、readback text 和 backup text
|
||
调用点改为复用 parameter object adapter;
|
||
- adapter 只转发已显式保存的 object 字段,不推导 LinuxCNC-owned parameter 格式;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;`verify_host_smokes.sh` 首次在
|
||
browser smoke 阶段因 `PermissionError: [Errno 1] Operation not permitted` 失败;
|
||
- 已按规则授权重跑 `wasm-port/tests/host/verify_host_smokes.sh`,重跑通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 parameter 的 direct helper 是否还能
|
||
合并命名,或者转向更少层级的 `parameter result/text` adapter;只改测试胶水,不改变
|
||
输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
十九、2026-06-14 继续执行记录:browser INI-named parameter object adapter guard
|
||
|
||
本轮按上一条下一步建议继续收敛 INI-named custom session parameter result/text
|
||
helper 调用点的参数展开,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- `iniNamedInitialParameterValues` 改为 `opfsParameterValueSet(...)`;
|
||
- `iniNamedParameterValues`、`iniNamedParameterExpectedValues` 与
|
||
`iniNamedParameterReadbackValues` 改为 `opfsParameterValueSet(...)`;
|
||
- INI-named custom session parameter restore/save/readback/backup 调用点改为复用
|
||
`opfsParameterResultLinesForValues(...)`、
|
||
`opfsParameterTextLinesForValues(...)` 与
|
||
`opfsParameterValuesForValueSet(...)`;
|
||
- seed file 写入仍显式展开 `parameter5161/5162/5221/5399` 字段,不推导
|
||
LinuxCNC-owned parameter 文件格式;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 explicit custom session parameter
|
||
value groups,把 `explicit*Parameter*` 数组也收敛到
|
||
`opfsParameterValueSet(...)` object adapter;只改测试胶水,不改变输入、OPFS path、
|
||
WASM path 字符串或保存/读取行为。
|
||
|
||
二十、2026-06-14 继续执行记录:browser explicit parameter object adapter guard
|
||
|
||
本轮按上一条下一步建议继续收敛 explicit custom session parameter result/text helper
|
||
调用点的参数展开,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- `explicitInitialParameterValues` 改为 `opfsParameterValueSet(...)`;
|
||
- `explicitParameterValues`、`explicitParameterExpectedValues` 与
|
||
`explicitParameterReadbackValues` 改为 `opfsParameterValueSet(...)`;
|
||
- explicit custom session parameter restore/save/readback/backup 调用点改为复用
|
||
`opfsParameterResultLinesForValues(...)`、
|
||
`opfsParameterTextLinesForValues(...)` 与
|
||
`opfsParameterValuesForValueSet(...)`;
|
||
- seed file 写入仍显式展开 `parameter5161/5162/5221/5399` 字段,不推导
|
||
LinuxCNC-owned parameter 文件格式;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描是否值得新增
|
||
`opfsParameterSeedTextForValues(...)` object adapter,收敛 direct、INI-named 与
|
||
explicit parameter seed file 写入的字段展开;只改测试胶水,不改变输入、OPFS path、
|
||
WASM path 字符串或保存/读取行为。
|
||
|
||
二十一、2026-06-14 继续执行记录:browser parameter seed object adapter guard
|
||
|
||
本轮按上一条下一步建议继续收敛 parameter seed file 写入的字段展开,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsParameterSeedTextForValues(...)`,从显式 parameter value set 转发到
|
||
`opfsParameterSeedText(...)`;
|
||
- INI-named custom session parameter seed file 写入改为复用
|
||
`opfsParameterSeedTextForValues(...)`;
|
||
- explicit custom session parameter seed file 写入改为复用
|
||
`opfsParameterSeedTextForValues(...)`;
|
||
- adapter 只转发已显式保存的 object 字段,不推导 LinuxCNC-owned parameter 文件
|
||
格式;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct/generated parameter fixture
|
||
helpers 是否也能复用 `opfsParameterValueSet(...)` 或 seed/text adapter;只改测试胶水,
|
||
不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
二十二、2026-06-14 继续执行记录:browser direct generated parameter fixture adapter guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct generated parameter fixture helper 的
|
||
expected lines 与 seed lines,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsParameterSeedLines(...)`,为 parameter seed text helper 提供结构化
|
||
seed line 列表;
|
||
- 新增 `opfsParameterSeedLinesForValues(...)`,从显式 parameter value set 转发到
|
||
`opfsParameterSeedLines(...)`;
|
||
- `opfsParameterSeedText(...)` 与 `opfsParameterSeedTextForValues(...)` 改为复用
|
||
seed line helper;
|
||
- direct generated `browser-direct.var` seed input 改为复用
|
||
`opfsParameterSeedLinesForValues(...)`,并继续显式保留 `<_named_param> 123`;
|
||
- `restore_parameters_direct`、`save_parameters_direct`、
|
||
`saved_parameters_direct_text` 与 `saved_parameters_direct_backup` expected lines
|
||
改为复用 parameter object adapter;
|
||
- `absent=<_named_param>` 与 `<_named_param> 123` 仍保留在对应调用点,保持语义边界外显;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 out-of-order 与 missing-required
|
||
generated parameter fixtures 是否能复用小型 local constants 或 existing parameter
|
||
helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
二十三、2026-06-14 继续执行记录:browser generated parameter fixture locals guard
|
||
|
||
本轮按上一条下一步建议继续收敛 out-of-order 与 missing-required generated
|
||
parameter fixtures,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- out-of-order generated parameter fixture input 从裸字符串改为局部 seed line 数组;
|
||
- missing-required generated parameter fixture input 从裸字符串改为
|
||
`missingRequiredParameterSeedLines` 局部常量;
|
||
- missing-required expected output 继续显式保留 `parameter_5161=3.5` 与
|
||
`parameter_5162=0`;
|
||
- 未引入 parameter 格式推导,未复用不合适的 generic text helper;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct generated parameter fixture
|
||
path/name constants 是否还能更清晰地局部命名,或者转向 tool-table generated fixture
|
||
input locals;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
二十四、2026-06-14 继续执行记录:browser direct generated tool-table input locals guard
|
||
|
||
本轮按上一条下一步建议转向 direct generated tool-table fixture input locals,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectToolTableInputLines` 局部常量,承载 direct non-random generated
|
||
tool-table fixture input lines;
|
||
- `writeGeneratedToolTableFixture(...)` 调用改为复用
|
||
`browserDirectToolTableInputLines.join("\n")`;
|
||
- 保持 `browserDirectFinishTool`、`browserDirectRoughTool` 与后续 load/save/readback
|
||
expected lines 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct generated random tool-table fixture
|
||
input lines 是否也能抽为局部常量;只改测试胶水,不改变输入、OPFS path、WASM path
|
||
字符串或保存/读取行为。
|
||
|
||
二十五、2026-06-14 继续执行记录:browser direct generated random tool-table input locals guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct generated random tool-table fixture input
|
||
locals,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectRandomToolTableInputLines` 局部常量,承载 direct random
|
||
generated tool-table fixture input lines;
|
||
- `writeGeneratedToolTableFixture(...)` 调用改为复用
|
||
`browserDirectRandomToolTableInputLines.join("\n")`;
|
||
- 保持 `browserDirectRandomFinishTool`、`browserDirectRandomRoughTool` 与后续
|
||
load/save/readback expected lines 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser OPFS session tool-table seed
|
||
text 是否还能抽为局部 constants,或者转向 direct generated tool-table path constants;
|
||
只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
二十六、2026-06-14 继续执行记录:browser OPFS session tool-table seed text local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser OPFS session tool-table seed text,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserInterpToolTableInputText` 局部常量,承载 ordinary
|
||
`browser-interp` session 的 tool-table seed text;
|
||
- `saveMachineTextFiles(...)` 中 ordinary session 的 `toolTable` 字段改为复用
|
||
`browserInterpToolTableInputText`;
|
||
- 保持 `browserInterpToolTable` object、load/save/readback expected lines、
|
||
OPFS path 与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
browser_interp_smoke=ok
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
备注:
|
||
|
||
- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与
|
||
`verify_host_smokes.sh` 的 browser 阶段需授权运行;
|
||
- 本轮 browser smoke 与 host smoke 均已授权运行并通过。
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 random OPFS session tool-table seed
|
||
text 是否也能抽为局部 constants;只改测试胶水,不改变输入、OPFS path、WASM path
|
||
字符串或保存/读取行为。
|
||
|
||
二十七、2026-06-14 继续执行记录:browser random OPFS session tool-table seed text local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser random OPFS session tool-table seed text,范围仍
|
||
只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserRandomToolTableInputText` 局部常量,承载 random
|
||
`browser-random-toolchanger` session 的 tool-table seed text;
|
||
- `saveMachineTextFiles(...)` 中 random session 的 `toolTable` 字段改为复用
|
||
`browserRandomToolTableInputText`;
|
||
- 保持 `browserRandomTools` object、load/save/readback expected lines、OPFS path 与
|
||
WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct/random session 的 parameter/tool-table
|
||
seed text 是否还能继续局部常量化;只改测试胶水,不改变输入、OPFS path、WASM path
|
||
字符串或保存/读取行为。
|
||
|
||
二十八、2026-06-14 继续执行记录:browser direct parameter seed text local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct browser parameter seed text,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectParameterInputText` 局部常量,承载 direct
|
||
`/work/browser-direct.var` parameter fixture 的 seed text;
|
||
- `writeGeneratedParameterFixture(...)` 调用改为复用
|
||
`browserDirectParameterInputText`;
|
||
- 该 seed text 继续来自 `browserDirectParameterSeedLines(true)`,保持
|
||
`<_named_param> 123` 与末尾空行不变;
|
||
- 保持 `browserDirectInitialParameterValues`、restore/save/readback expected lines、
|
||
OPFS path 与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct browser parameter/tool-table fixture
|
||
WASM path 字符串是否能抽为局部 constants 并继续经
|
||
`writeGeneratedParameterFixture(...)` / `writeGeneratedToolTableFixture(...)` 的 path guard
|
||
校验;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
二十九、2026-06-14 继续执行记录:browser direct fixture WASM path local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct browser fixture WASM path 字符串,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectParameterWasmPath`,承载 direct parameter fixture 的
|
||
`/work/browser-direct.var` WASM path;
|
||
- 新增 `browserDirectToolTableWasmPath`,承载 direct ordinary tool-table fixture 的
|
||
`/work/browser-direct-tool.tbl` WASM path;
|
||
- 新增 `browserDirectRandomToolTableWasmPath`,承载 direct random tool-table fixture 的
|
||
`/work/browser-direct-random-tool.tbl` WASM path;
|
||
- `writeGeneratedParameterFixture(...)` 与 `writeGeneratedToolTableFixture(...)` 调用继续传入
|
||
显式 expected path,保留现有 path drift guard;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct generated/random tool-table input
|
||
lines 是否还能统一为 text 常量并继续由 existing tool objects 校验读回;只改测试胶水,
|
||
不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
三十、2026-06-14 继续执行记录:browser direct tool-table input text local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct browser tool-table input text,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectToolTableInputText` 局部常量,承载 ordinary direct
|
||
tool-table fixture 的写入文本;
|
||
- 新增 `browserDirectRandomToolTableInputText` 局部常量,承载 random direct
|
||
tool-table fixture 的写入文本;
|
||
- `writeGeneratedToolTableFixture(...)` 调用改为复用上述 input text 常量;
|
||
- 保持 direct ordinary/random tool objects、load/save/readback expected lines、OPFS path
|
||
与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct/random session 的 text 常量是否还能
|
||
合并或局部复用;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取
|
||
行为。
|
||
|
||
三十一、2026-06-14 继续执行记录:browser session parameter input text local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser session parameter input text,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- ordinary `browser-interp` session 的 parameter seed 改为复用
|
||
`browserDirectParameterInputText`;
|
||
- random `browser-random-toolchanger` session 新增
|
||
`browserRandomParameterInputText`,承载其 parameter seed text;
|
||
- 保持 direct ordinary/random session 的 tool-table/parameter expected lines、OPFS path
|
||
与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-interp 与 browser-random session 的
|
||
tool-table/parameter text 常量是否还能进一步合并复用;只改测试胶水,不改变输入、
|
||
OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
三十二、2026-06-14 继续执行记录:browser interp tool-table input lines local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-interp tool-table input text,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- `browser-interp` session 的 tool-table seed 从单行字符串拆成
|
||
`browserInterpToolTableInputLines` + `browserInterpToolTableInputText`;
|
||
- 保持 ordinary `browser-interp` session 的 parameter/tool-table expected lines、OPFS path
|
||
与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-interp/session 的 tool-table/parameter
|
||
text 常量是否还能继续局部复用;只改测试胶水,不改变输入、OPFS path、WASM path
|
||
字符串或保存/读取行为。
|
||
|
||
三十三、2026-06-14 继续执行记录:browser interp initial parameter values local guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-interp parameter locals,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- `browserInterpInitialParameterValues` 改为复用
|
||
`browserDirectInitialParameterValues`;
|
||
- 保持 ordinary `browser-interp` session 的 parameter seed text、restore/save/readback
|
||
expected lines、OPFS path 与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-interp save parameter value locals
|
||
是否还能复用 direct/session helper 常量;只改测试胶水,不改变输入、OPFS path、WASM
|
||
path 字符串或保存/读取行为。
|
||
|
||
三十四、2026-06-14 继续执行记录:browser interp save parameter value locals guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-interp save parameter value locals,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- `browserInterpParameterValues` 改为复用 `browserDirectParameterValues`;
|
||
- `browserInterpParameterExpectedValues` 改为复用
|
||
`browserDirectParameterExpectedValues`;
|
||
- `browserInterpParameterReadbackValues` 改为复用
|
||
`browserDirectParameterReadbackValues`;
|
||
- 保持 ordinary `browser-interp` session 的 save/readback expected lines、OPFS path 与
|
||
WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-interp saved parameter/readback
|
||
expected line groups 是否还能局部常量化或复用 existing helpers;只改测试胶水,不改变
|
||
输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
三十五、2026-06-14 继续执行记录:browser interp saved parameter expected lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-interp saved parameter expected line groups,范围
|
||
仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserInterpSavedParameterTextLines` 局部常量,承载
|
||
`opfs_saved_parameter_text` expected lines;
|
||
- 新增 `browserInterpSavedParameterBackupTextLines` 局部常量,承载
|
||
`opfs_saved_parameter_backup_text` expected lines;
|
||
- `verifyOpfsMachineFileReadback(...)` 与 `verifyOpfsReadback(...)` 调用改为复用上述
|
||
expected line groups;
|
||
- 保持 ordinary `browser-interp` session 的 saved parameter/readback expected 文本、OPFS
|
||
path 与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct saved parameter expected line groups
|
||
是否也能局部常量化并与 browser-interp 分组保持一致;只改测试胶水,不改变输入、
|
||
OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
三十六、2026-06-14 继续执行记录:browser direct saved parameter expected lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 direct saved parameter expected line groups,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectSavedParameterTextLines` 局部常量,承载
|
||
`saved_parameters_direct_text` expected lines;
|
||
- 新增 `browserDirectSavedParameterBackupTextLines` 局部常量,承载
|
||
`saved_parameters_direct_backup` expected lines;
|
||
- direct `verifyExpectedOutput(...)` 调用改为复用上述 expected line groups;
|
||
- 保持 direct parameter fixture 的 saved parameter/readback expected 文本、OPFS path 与
|
||
WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 direct/browser-interp saved parameter expected
|
||
line constants 是否能进一步用 shared helper 统一生成;只改测试胶水,不改变输入、OPFS
|
||
path、WASM path 字符串或保存/读取行为。
|
||
|
||
三十七、2026-06-14 继续执行记录:browser saved parameter expected lines shared helpers
|
||
|
||
本轮按上一条下一步建议继续收敛 direct/browser-interp saved parameter expected line
|
||
constants,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsSavedParameterTextLinesForValues(...)` helper,统一生成 saved parameter text
|
||
expected lines;
|
||
- 新增 `opfsSavedParameterBackupTextLinesForValues(...)` helper,统一生成 saved parameter
|
||
backup expected lines;
|
||
- direct saved parameter readback 与 browser-interp OPFS saved parameter readback 均改为复用
|
||
上述 shared helpers;
|
||
- 保持 direct 与 browser-interp saved parameter/readback expected 文本、OPFS path 与 WASM
|
||
path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 ini-named/explicit session saved parameter
|
||
expected line groups 是否也能复用 shared helpers;只改测试胶水,不改变输入、OPFS path、
|
||
WASM path 字符串或保存/读取行为。
|
||
|
||
三十八、2026-06-14 继续执行记录:browser custom session plain parameter expected lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 ini-named/explicit session saved parameter expected line
|
||
groups,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `opfsSavedParameterPlainTextLinesForValues(...)` helper,统一生成不带 named-param
|
||
附加行的 saved parameter expected lines;
|
||
- ini-named session 的 saved parameter text 与 backup readback expected lines 改为复用
|
||
`opfsSavedParameterPlainTextLinesForValues(...)`;
|
||
- explicit session 的 saved parameter text 与 backup readback expected lines 改为复用
|
||
`opfsSavedParameterPlainTextLinesForValues(...)`;
|
||
- 保持 ini-named/explicit session 的 saved parameter/readback expected 文本、OPFS path 与
|
||
WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 custom session saved tool-table expected line
|
||
groups 是否也能局部常量化或复用 existing helpers;只改测试胶水,不改变输入、OPFS
|
||
path、WASM path 字符串或保存/读取行为。
|
||
|
||
三十九、2026-06-14 继续执行记录:browser custom saved tool-table expected lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 custom session saved tool-table expected line groups,范围
|
||
仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `iniNamedSavedToolTableTextLines` 局部常量,承载 ini-named session saved
|
||
tool-table expected lines;
|
||
- 新增 `explicitSavedToolTableTextLines` 局部常量,承载 explicit session saved
|
||
tool-table expected lines;
|
||
- ini-named/explicit saved tool-table readback 调用改为复用上述 line groups;
|
||
- 保持 ini-named/explicit session 的 saved tool-table expected 文本、OPFS path 与 WASM
|
||
path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-interp/direct saved tool-table
|
||
expected line groups 是否也能局部常量化或复用 existing helpers;只改测试胶水,不改变
|
||
输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十、2026-06-14 继续执行记录:browser direct/interp saved tool-table expected lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-interp/direct saved tool-table expected line
|
||
groups,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectSavedToolTableTextLines` 局部常量,承载 direct saved tool-table
|
||
expected lines;
|
||
- 新增 `browserInterpSavedToolTableTextLines` 局部常量,承载 browser-interp saved
|
||
tool-table expected lines;
|
||
- direct 与 browser-interp saved tool-table readback 调用改为复用上述 line groups;
|
||
- 保持 direct/browser-interp session 的 saved tool-table expected 文本、OPFS path 与 WASM
|
||
path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-random/direct-random saved
|
||
tool-table expected line groups 是否也能局部常量化或复用 existing helpers;只改测试胶水,
|
||
不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十一、2026-06-14 继续执行记录:browser random saved tool-table expected lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-random/direct-random saved tool-table expected
|
||
line groups,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的
|
||
browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectRandomSavedToolTableTextLines` 局部常量,承载 direct-random saved
|
||
tool-table expected lines;
|
||
- 新增 `browserRandomSavedToolTableTextLines` 局部常量,承载 browser-random saved
|
||
tool-table expected lines;
|
||
- direct-random 与 browser-random saved tool-table readback 调用改为复用上述 line
|
||
groups;
|
||
- 保持 direct-random/browser-random session 的 saved tool-table expected 文本、OPFS
|
||
path 与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-random/direct-random tool-table
|
||
load/save result line groups 是否也能局部常量化或复用 existing helpers;只改测试胶水,
|
||
不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十二、2026-06-14 继续执行记录:browser random tool-table result lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-random/direct-random tool-table load/save
|
||
result line groups,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的
|
||
browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectRandomLoadToolTableResultLines` 局部常量,承载 direct-random
|
||
load tool-table expected result lines;
|
||
- 新增 `browserDirectRandomSaveToolTableResultLines` 局部常量,承载 direct-random
|
||
save tool-table expected result lines;
|
||
- 新增 `browserRandomLoadToolTableResultLines` 局部常量,承载 browser-random load
|
||
tool-table expected result lines;
|
||
- 新增 `browserRandomSaveToolTableResultLines` 局部常量,承载 browser-random save
|
||
tool-table expected result lines;
|
||
- direct-random 与 browser-random tool-table load/save 断言改为复用上述 line groups;
|
||
- 保持 direct-random/browser-random session 的 expected result 文本、OPFS path 与
|
||
WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-interp/direct tool-table
|
||
load/save result line groups 是否也能局部常量化或复用 existing helpers;只改测试胶水,
|
||
不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十三、2026-06-14 继续执行记录:browser direct/interp tool-table result lines guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-interp/direct tool-table load/save result line
|
||
groups,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS
|
||
test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectLoadToolTableResultLines` 局部常量,承载 direct tool-table load
|
||
expected result lines;
|
||
- 新增 `browserDirectSaveToolTableResultLines` 局部常量,承载 direct tool-table save
|
||
expected result lines;
|
||
- 新增 `browserInterpLoadToolTableResultLines` 局部常量,承载 browser-interp tool-table
|
||
load expected result lines;
|
||
- 新增 `browserInterpSaveToolTableResultLines` 局部常量,承载 browser-interp tool-table
|
||
save expected result lines;
|
||
- direct 与 browser-interp tool-table load/save 断言改为复用上述 line groups;
|
||
- 保持 direct/browser-interp session 的 expected result 文本、OPFS path 与 WASM path
|
||
不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 browser-interp/direct 参数
|
||
load/save/result/backing text groups 是否还能进一步局部常量化或复用 existing helpers;
|
||
只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十四、2026-06-14 继续执行记录:browser direct/interp parameter result groups guard
|
||
|
||
本轮按上一条下一步建议继续收敛 browser-interp/direct 参数 restore/save/result/backing
|
||
text groups,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的
|
||
browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserDirectRestoreParameterResultLines` 局部常量,承载 direct parameter restore
|
||
expected result lines;
|
||
- 新增 `browserDirectSaveParameterResultLines` 局部常量,承载 direct parameter save
|
||
expected result lines;
|
||
- 新增 `browserDirectSavedParameterTextLines` 局部常量,承载 direct parameter saved text
|
||
expected lines;
|
||
- 新增 `browserDirectSavedParameterBackupTextLines` 局部常量,承载 direct parameter
|
||
backup text expected lines;
|
||
- 新增 `browserInterpRestoreParameterResultLines` 局部常量,承载 browser-interp
|
||
parameter restore expected result lines;
|
||
- 新增 `browserInterpSaveParameterResultLines` 局部常量,承载 browser-interp parameter
|
||
save expected result lines;
|
||
- 新增 `browserInterpSavedParameterTextLines` 局部常量,承载 browser-interp saved text
|
||
expected lines;
|
||
- 新增 `browserInterpSavedParameterBackupTextLines` 局部常量,承载 browser-interp
|
||
backup text expected lines;
|
||
- direct 与 browser-interp 参数 restore/save/readback/backup 断言改为复用上述 line
|
||
groups;
|
||
- 保持 direct/browser-interp session 的 expected 文本、OPFS path 与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 ini-named/explicit session 的参数和
|
||
tool-table load/save/result/backing text groups 是否还能进一步局部常量化或复用 existing
|
||
helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十五、2026-06-14 继续执行记录:browser custom session parameter/tool-table groups guard
|
||
|
||
本轮按上一条下一步建议继续收敛 ini-named/explicit session 的参数和 tool-table
|
||
load/save/result/backing text groups,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `iniNamedRestoreParameterResultLines` 局部常量,承载 ini-named parameter
|
||
restore expected result lines;
|
||
- 新增 `iniNamedSaveParameterResultLines` 局部常量,承载 ini-named parameter save
|
||
expected result lines;
|
||
- 新增 `iniNamedSavedParameterTextLines` 局部常量,承载 ini-named parameter saved text
|
||
expected lines;
|
||
- 新增 `iniNamedSavedParameterBackupTextLines` 局部常量,承载 ini-named parameter backup
|
||
text expected lines;
|
||
- 新增 `iniNamedLoadToolTableResultLines` 与 `iniNamedSaveToolTableResultLines` 局部
|
||
常量,承载 ini-named tool-table load/save expected result lines;
|
||
- 新增 `explicitRestoreParameterResultLines` 与 `explicitSaveParameterResultLines` 局部
|
||
常量,承载 explicit parameter restore/save expected result lines;
|
||
- 新增 `explicitSavedParameterTextLines` 与 `explicitSavedParameterBackupTextLines` 局部
|
||
常量,承载 explicit parameter saved/backup text expected lines;
|
||
- 新增 `explicitLoadToolTableResultLines` 与 `explicitSaveToolTableResultLines` 局部
|
||
常量,承载 explicit tool-table load/save expected result lines;
|
||
- ini-named 与 explicit session 的参数/tool-table load/save/readback/backup 断言改为
|
||
复用上述 line groups;
|
||
- 保持 ini-named/explicit session 的 expected 文本、OPFS path 与 WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 invalid INI session reject groups、
|
||
machine/session path assertions 或 remaining OPFS readback groups 是否还能进一步局部
|
||
常量化或复用 existing helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串
|
||
或保存/读取行为。
|
||
|
||
四十六、2026-06-14 继续执行记录:browser invalid INI reject groups guard
|
||
|
||
本轮按上一条下一步建议继续收敛 invalid INI session reject groups,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `invalidParameterFileMachineId` 局部常量,承载 invalid parameter file session
|
||
machine id;
|
||
- 新增 `invalidParameterFileIniLines` 局部常量,承载 invalid parameter file INI lines;
|
||
- 新增 `invalidParameterFileErrorPattern` 局部常量,承载 invalid parameter file error
|
||
pattern;
|
||
- 新增 `invalidToolTableMachineId` 局部常量,承载 invalid tool-table session machine id;
|
||
- 新增 `invalidToolTableIniLines` 局部常量,承载 invalid tool-table INI lines;
|
||
- 新增 `invalidToolTableErrorPattern` 局部常量,承载 invalid tool-table error pattern;
|
||
- invalid parameter file 与 invalid tool-table reject 断言改为复用上述 input/error
|
||
groups;
|
||
- 保持 invalid INI expected error 文本、machine id、INI section、INI line、OPFS path 与
|
||
WASM path 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 machine/session path assertions 或
|
||
remaining OPFS readback groups 是否还能进一步局部常量化或复用 existing helpers;只改
|
||
测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十七、2026-06-14 继续执行记录:browser session path assertion groups guard
|
||
|
||
本轮按上一条下一步建议继续收敛 machine/session path assertions,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserInterpExpectedSessionPaths` 局部常量,承载 browser-interp session
|
||
expected path group;
|
||
- 新增 `iniNamedExpectedSessionPaths` 局部常量,承载 ini-named custom session
|
||
expected path group;
|
||
- 新增 `explicitExpectedSessionPaths` 局部常量,承载 explicit override session
|
||
expected path group;
|
||
- browser-interp、ini-named 与 explicit session staging 断言改为复用上述 expected
|
||
path groups;
|
||
- 保持 session expected OPFS path、WASM path、machine id、filename 与 load options
|
||
不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 remaining OPFS readback groups 或
|
||
machine text store path assertion groups 是否还能进一步局部常量化或复用 existing
|
||
helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
四十八、2026-06-14 继续执行记录:browser random session path assertion group guard
|
||
|
||
本轮按上一条下一步建议继续收敛 remaining session path assertion group,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserRandomExpectedSessionPaths` 局部常量,承载 browser-random session
|
||
expected path group;
|
||
- browser-random session staging 断言改为复用上述 expected path group;
|
||
- 保持 browser-random session expected OPFS path、WASM path、machine id、filename 与
|
||
load options 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 remaining OPFS readback groups、saved
|
||
file staging assertions 或 machine text store path assertion groups 是否还能进一步局部
|
||
常量化或复用 existing helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串
|
||
或保存/读取行为。
|
||
|
||
四十九、2026-06-14 继续执行记录:browser saved file staging groups guard
|
||
|
||
本轮按上一条下一步建议继续收敛 saved file staging assertions,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `browserInterpParameterSaveStaging` 局部常量,承载 browser-interp parameter
|
||
save staging filename/WASM path group;
|
||
- 新增 `browserInterpToolTableSaveStaging` 局部常量,承载 browser-interp tool-table
|
||
save staging filename/WASM path group;
|
||
- 新增 `browserRandomToolTableSaveStaging` 局部常量,承载 browser-random tool-table
|
||
save staging filename/WASM path group;
|
||
- browser-interp parameter/tool-table 与 browser-random tool-table saved staging 断言
|
||
改为复用上述 staging groups;
|
||
- 保持 saved file expected OPFS path、WASM path、machine id、filename 与 save options
|
||
不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 custom session saved file staging
|
||
assertions 或 remaining OPFS readback path groups 是否还能进一步局部常量化或复用
|
||
existing helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取
|
||
行为。
|
||
|
||
五十、2026-06-14 继续执行记录:browser custom session saved staging groups guard
|
||
|
||
本轮按上一条下一步建议继续收敛 custom session saved file staging assertions,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `iniNamedParameterSaveStaging` 局部常量,承载 ini-named parameter saved
|
||
staging filename/WASM path group;
|
||
- 新增 `iniNamedToolTableSaveStaging` 局部常量,承载 ini-named tool-table saved
|
||
staging filename/WASM path group;
|
||
- 新增 `explicitParameterSaveStaging` 局部常量,承载 explicit parameter saved staging
|
||
filename/WASM path group;
|
||
- 新增 `explicitToolTableSaveStaging` 局部常量,承载 explicit tool-table saved staging
|
||
filename/WASM path group;
|
||
- ini-named 与 explicit session saved staging 断言改为复用上述 staging groups;
|
||
- 保持 saved file expected OPFS path、WASM path、machine id、filename 与 save options
|
||
不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 remaining OPFS readback path groups 或
|
||
machine text store path assertion groups 是否还能进一步局部常量化或复用 existing
|
||
helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||
|
||
五十一、2026-06-14 继续执行记录:browser ini-named readback path groups guard
|
||
|
||
本轮按上一条下一步建议继续收敛 remaining OPFS readback path groups,范围仍只触及
|
||
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||
|
||
完成内容:
|
||
|
||
- 新增 `iniNamedSavedParameterTextPath` 局部常量,承载 ini-named parameter saved
|
||
text readback path;
|
||
- 新增 `iniNamedSavedParameterBackupPath` 局部常量,承载 ini-named parameter backup
|
||
text readback path;
|
||
- 新增 `iniNamedSavedToolTableTextPath` 局部常量,承载 ini-named tool-table saved text
|
||
readback path;
|
||
- ini-named parameter/tool-table saved readback 断言改为复用上述 path groups;
|
||
- 保持 ini-named saved file expected OPFS path、WASM path、machine id、filename 与
|
||
readback text 不变;
|
||
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
|
||
行为;
|
||
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
|
||
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
|
||
|
||
验证已通过:
|
||
|
||
```bash
|
||
git diff --check
|
||
wasm-port/tools/verify_vendor_sync.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||
wasm-port/tests/host/verify_host_smokes.sh
|
||
```
|
||
|
||
关键输出:
|
||
|
||
```text
|
||
vendor sync up to date
|
||
standalone CNC semantics guard complete
|
||
interp_wasm_node_smoke=ok
|
||
sim_configs_wasm_node_inventory_executed=28
|
||
sim_configs_wasm_node_inventory_passed=28
|
||
sim_configs_wasm_node_inventory_skipped=131
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
browser_interp_smoke=ok
|
||
host_wasm_opfs_browser_smokes=ok
|
||
```
|
||
|
||
下一步建议:
|
||
|
||
继续小批量 browser test glue guard。优先扫描 remaining OPFS readback path groups、
|
||
machine text store path assertion groups 或 explicit session saved readback groups 是否还能
|
||
进一步局部常量化或复用 existing helpers;只改测试胶水,不改变输入、OPFS path、WASM
|
||
path 字符串或保存/读取行为。
|