diff --git a/text11.txt b/text11.txt index c737b43..5f7e89d 100644 --- a/text11.txt +++ b/text11.txt @@ -1268,3 +1268,62 @@ host_wasm_opfs_browser_smokes=ok `runtime/ui/ini-panel/launch.html`,把编辑/运行面板 `index.html` 与只读控制页 `control-page.html` 作为并列入口暴露,并用 browser smoke 验证两个入口链接可达;仍不新增 控制按钮,不解析 G-code。 + +十五、2026-06-14 继续执行记录:INI panel launch entry + +本轮按“加快实质性推进”新增只读 launcher 入口页,把编辑/运行面板和只读控制页作为并列 +入口统一暴露,并把 launcher 可达性接入 browser smoke。 + +完成内容: + +- 新增 `wasm-port/runtime/ui/ini-panel/launch.html`; +- launcher 提供两个并列入口: + - `./index.html` 编辑/运行面板; + - `./control-page.html` 只读控制视图; +- 新增 `wasm-port/tests/browser/ini_panel_launch_smoke.html`; +- `wasm-port/tests/browser/verify_ini_panel_browser.sh` 现在同时验证: + - `browser_ini_opfs_smoke=ok` + - `browser_ini_control_page_smoke=ok` + - `browser_ini_launch_smoke=ok` +- `wasm-port/docs/ui-panel-state-summary.md` 补充 launcher 入口说明; +- 未新增控制按钮; +- 未解析 G-code; +- 未解释 canonical events; +- 未改变 OPFS/session persistence、LinuxCNC interpreter、tool、parameter、planner 或 + LinuxCNC-owned runtime semantics。 + +验证已通过: + +```bash +git diff --check +wasm-port/tests/browser/verify_ini_panel_browser.sh +wasm-port/tests/ui/node/verify_ui_node_smokes.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_ini_opfs_smoke=ok +browser_ini_control_page_smoke=ok +browser_ini_launch_smoke=ok +ui_node_smokes=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 workflow 优先。下一批建议把 launcher 中的入口清单抽成一个小的 +`entry-manifest.js`,供 launcher、docs 或未来外层 shell 共用,并用 node/browser smoke 验证 +入口 href 与标题一致;仍保持只读,不新增控制按钮,不解析 G-code。 diff --git a/wasm-port/docs/ui-panel-state-summary.md b/wasm-port/docs/ui-panel-state-summary.md index 4a25ba6..ce7fb87 100644 --- a/wasm-port/docs/ui-panel-state-summary.md +++ b/wasm-port/docs/ui-panel-state-summary.md @@ -32,6 +32,7 @@ and mirrors the same control view into the visible page. The page uses `createMachineSessionControlPageController(...)` from `runtime/ui/ini-panel/control-page-controller.js` so other read-only shells can reuse the same iframe/API polling contract. +For a light navigation entry, open `runtime/ui/ini-panel/launch.html`. ## `createIniPanelStateSummary(input)` diff --git a/wasm-port/runtime/ui/ini-panel/launch.html b/wasm-port/runtime/ui/ini-panel/launch.html new file mode 100644 index 0000000..0304a7a --- /dev/null +++ b/wasm-port/runtime/ui/ini-panel/launch.html @@ -0,0 +1,76 @@ + + + + + + LinuxCNC INI Panel Launch + + + +
+
+

LinuxCNC INI Panel

+

Choose the editable panel or the read-only control view.

+ +
+
+ + diff --git a/wasm-port/tests/browser/ini_panel_launch_smoke.html b/wasm-port/tests/browser/ini_panel_launch_smoke.html new file mode 100644 index 0000000..5d7adc1 --- /dev/null +++ b/wasm-port/tests/browser/ini_panel_launch_smoke.html @@ -0,0 +1,48 @@ + + + + + LinuxCNC INI Launch Smoke + + +
running
+ + + diff --git a/wasm-port/tests/browser/verify_ini_panel_browser.sh b/wasm-port/tests/browser/verify_ini_panel_browser.sh index 8de1b3e..2fb76f3 100755 --- a/wasm-port/tests/browser/verify_ini_panel_browser.sh +++ b/wasm-port/tests/browser/verify_ini_panel_browser.sh @@ -62,8 +62,10 @@ fi PORT="$(cat "$PORT_FILE")" URL="http://127.0.0.1:$PORT/tests/browser/ini_panel_smoke.html" CONTROL_URL="http://127.0.0.1:$PORT/tests/browser/ini_panel_control_page_smoke.html" +LAUNCH_URL="http://127.0.0.1:$PORT/tests/browser/ini_panel_launch_smoke.html" OUT="$TMP_DIR/chromium.out" CONTROL_OUT="$TMP_DIR/chromium-control.out" +LAUNCH_OUT="$TMP_DIR/chromium-launch.out" "$CHROMIUM" \ --headless=new \ @@ -98,3 +100,20 @@ if ! grep -Fq "browser_ini_control_page_smoke=ok" "$CONTROL_OUT"; then fi echo "browser_ini_control_page_smoke=ok" + +"$CHROMIUM" \ + --headless=new \ + --disable-gpu \ + --no-sandbox \ + --user-data-dir="$CHROME_PROFILE" \ + --virtual-time-budget=10000 \ + --dump-dom \ + "$LAUNCH_URL" >"$LAUNCH_OUT" 2>&1 + +if ! grep -Fq "browser_ini_launch_smoke=ok" "$LAUNCH_OUT"; then + echo "browser INI launch smoke failed" >&2 + sed -n '1,220p' "$LAUNCH_OUT" >&2 + exit 1 +fi + +echo "browser_ini_launch_smoke=ok"