推进 INI 面板 control view renderer helper
This commit is contained in:
64
text11.txt
64
text11.txt
@@ -1079,3 +1079,67 @@ host_wasm_opfs_browser_smokes=ok
|
||||
继续推进实质控制网页界面,但保持只读边界。下一批建议把这个 DOM consumer 提取为一个
|
||||
可复用的纯 renderer helper,例如 `renderMachineSessionControlView(container, view)`,
|
||||
供真实页面和 smoke 共用;仍不新增控制按钮,不解析 G-code。
|
||||
|
||||
十二、2026-06-14 继续执行记录:INI panel control view renderer helper
|
||||
|
||||
本轮按“加快实质性推进”把上一批 browser smoke 内的只读 DOM consumer 提取成 runtime
|
||||
可复用 renderer,并接入真实 INI panel 页面,使控制页展示不再依赖测试内临时函数。
|
||||
|
||||
完成内容:
|
||||
|
||||
- 新增 `wasm-port/runtime/ui/ini-panel/control-view-renderer.js`;
|
||||
- 导出 `renderMachineSessionControlView(container, view)`;
|
||||
- renderer 只负责把 `createMachineSessionControlView(...)` 的 status、sections、rows 渲染
|
||||
到 DOM;
|
||||
- `wasm-port/runtime/ui/ini-panel/index.html` 新增
|
||||
`#machine-session-control-view` 只读控制视图容器和对应样式;
|
||||
- `wasm-port/runtime/ui/ini-panel/app.js` 新增
|
||||
`window.linuxCncIniPanelApi.renderMachineSessionControlView(container)`;
|
||||
- panel state 每次更新后会刷新内置 control view;
|
||||
- `wasm-port/tests/browser/ini_panel_smoke.html` 删除测试内临时 `renderControlView(...)`,
|
||||
改为导入 runtime renderer;
|
||||
- browser smoke 同时验证外部 consumer 容器和真实页面内置 control view 容器;
|
||||
- `wasm-port/tests/ui/node/verify_ini_panel_state_summary.mjs` 覆盖纯 renderer DOM 输出;
|
||||
- `wasm-port/docs/ui-panel-state-summary.md` 补充 renderer API 和外部页面消费方式;
|
||||
- 未新增控制按钮;
|
||||
- 未解析 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_state_summary.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_state_summary_node_smoke=ok
|
||||
ui_node_smokes=ok
|
||||
browser_ini_opfs_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
|
||||
```
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续保持只读边界,下一批建议把 control view renderer 的页面消费路径进一步固化为一个
|
||||
小型控制页入口或 example page:只读取 `linuxCncIniPanelApi`,展示当前 machine/session/run
|
||||
状态,不新增控制按钮,不解析 G-code。若要优先 SDK/API surface,也可以先把当前
|
||||
state bundle/control view renderer 的导出面整理进一个明确的 UI module 文档入口。
|
||||
|
||||
Reference in New Issue
Block a user