推进 INI 面板 entry manifest

This commit is contained in:
2026-06-14 23:16:52 +08:00
parent c18aa21d70
commit 77d32a3f17
8 changed files with 154 additions and 2 deletions

View File

@@ -1327,3 +1327,66 @@ host_wasm_opfs_browser_smokes=ok
继续保持实质 UI workflow 优先。下一批建议把 launcher 中的入口清单抽成一个小的
`entry-manifest.js`,供 launcher、docs 或未来外层 shell 共用,并用 node/browser smoke 验证
入口 href 与标题一致;仍保持只读,不新增控制按钮,不解析 G-code。
十六、2026-06-14 继续执行记录INI panel entry manifest
本轮按“加快实质性推进”把 launcher 的入口清单抽成共享 manifest使入口 href/title 成为
可复用的 UI entry contract而不是散落在 HTML 和 smoke 断言里。
完成内容:
- 新增 `wasm-port/runtime/ui/ini-panel/entry-manifest.js`
- 导出:
- `INI_PANEL_ENTRIES`
- `getIniPanelEntryManifest()`
- `getIniPanelEntryByHref(href)`
- `wasm-port/runtime/ui/ini-panel/launch.html` 改为从 manifest 同步入口标题和 href
- `wasm-port/tests/browser/ini_panel_launch_smoke.html` 改为同时验证 manifest 与 launcher DOM
- 新增 `wasm-port/tests/ui/node/verify_ini_panel_entry_manifest.mjs`
- 新增 `wasm-port/tests/ui/node/verify_ini_panel_entry_manifest.sh`
- `wasm-port/tests/ui/node/verify_ui_node_smokes.sh` 纳入 entry manifest node smoke
- `wasm-port/docs/ui-panel-state-summary.md` 补充 entry manifest 说明;
- 未新增控制按钮;
- 未解析 G-code
- 未解释 canonical events
- 未改变 OPFS/session persistence、LinuxCNC interpreter、tool、parameter、planner 或
LinuxCNC-owned runtime semantics。
验证已通过:
```bash
git diff --check
wasm-port/tests/ui/node/verify_ini_panel_entry_manifest.sh
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
wasm-port/tests/browser/verify_ini_panel_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
ini_panel_entry_manifest_node_smoke=ok
ui_node_smokes=ok
browser_ini_opfs_smoke=ok
browser_ini_control_page_smoke=ok
browser_ini_launch_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
```
下一步建议:
继续优先推进可复用 UI/API surface。下一批建议把 `entry-manifest.js` 与 control page
controller/renderer 组合成一个更明确的 `ui-shell` 或 `panel-entry` 文档/API 入口,或者新增
一个 node smoke 验证 docs 中列出的入口与 manifest 完全一致;仍保持只读,不新增控制按钮,
不解析 G-code。