推进 INI 面板 launcher shell alignment
This commit is contained in:
56
text11.txt
56
text11.txt
@@ -1453,3 +1453,59 @@ host_wasm_opfs_browser_smokes=ok
|
||||
`ui-shell.md` 或 `panel-entry.md`,只列出 `ui-shell.js`、`launch.html`、`control-page.html`
|
||||
三者关系和最小用法,或者把 launcher 页面改成从 `ui-shell.js` 读取 manifest;仍不新增控制
|
||||
按钮,不解析 G-code。
|
||||
|
||||
十八、2026-06-14 继续执行记录:launcher and smoke shell alignment
|
||||
|
||||
本轮把 launcher 页面和 launch smoke 统一切到 `ui-shell.js`,使入口页面、测试断言与统一
|
||||
shell 入口保持一致,减少入口契约的重复来源。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `wasm-port/runtime/ui/ini-panel/launch.html` 改为从 `ui-shell.js` 读取 manifest;
|
||||
- `wasm-port/tests/browser/ini_panel_launch_smoke.html` 改为从 `ui-shell.js` 读取 manifest;
|
||||
- `wasm-port/tests/ui/node/verify_ini_panel_ui_shell.mjs` 增加 manifest 复制语义检查;
|
||||
- 保持 `ui-shell.js` 作为 entry manifest、controller、renderer 的单一导出入口;
|
||||
- 未新增控制按钮;
|
||||
- 未解析 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_ui_shell.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_ui_shell_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
|
||||
```
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续压缩重复文档与入口说明。下一批建议新增一个极短的 `panel-entry.md`,只写
|
||||
`ui-shell.js`、`launch.html`、`control-page.html` 三者关系和最小调用方式,或者直接把
|
||||
launcher 页面改成从 `ui-shell.js` 导出更稳定的可见入口列表;仍保持只读,不新增控制按钮,
|
||||
不解析 G-code。
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
</section>
|
||||
</main>
|
||||
<script type="module">
|
||||
import { getIniPanelEntryManifest } from "./entry-manifest.js";
|
||||
import { getIniPanelEntryManifest } from "./ui-shell.js";
|
||||
|
||||
const manifest = getIniPanelEntryManifest();
|
||||
for (const entry of manifest) {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
import {
|
||||
getIniPanelEntryByHref,
|
||||
getIniPanelEntryManifest,
|
||||
} from "../../runtime/ui/ini-panel/entry-manifest.js";
|
||||
} from "../../runtime/ui/ini-panel/ui-shell.js";
|
||||
|
||||
function assertEqual(actual, expected, label) {
|
||||
if (actual !== expected) {
|
||||
|
||||
@@ -13,6 +13,10 @@ assert.equal(getIniPanelEntryByHref("./index.html")?.id, "edit-run");
|
||||
assert.equal(typeof createMachineSessionControlPageController, "function");
|
||||
assert.equal(typeof renderMachineSessionControlView, "function");
|
||||
|
||||
const shellManifest = getIniPanelEntryManifest();
|
||||
shellManifest[0].title = "changed";
|
||||
assert.equal(INI_PANEL_ENTRIES[0].title, "Open edit and run panel");
|
||||
|
||||
const panelFrame = {
|
||||
contentWindow: {
|
||||
linuxCncIniPanelApi: {
|
||||
|
||||
Reference in New Issue
Block a user