新增 INI 面板 shell API surface inventory

This commit is contained in:
2026-06-16 07:19:49 +08:00
parent 2615e5bc57
commit 65e95327b3
17 changed files with 286 additions and 7 deletions

View File

@@ -2057,3 +2057,81 @@ host_wasm_opfs_browser_smokes=ok
继续以实质能力推进为主。下一批可为 session readiness workflow report 增加更高层的 release/API
inventory row 或 browser-visible summary row方便验收页面和外部 shell 快速列出当前稳定 API仍保持只读
不新增控制按钮,不解析 G-code不扩大 LinuxCNC 语义边界。
二十六、2026-06-16 继续执行记录INI panel shell API surface inventory
本轮继续以功能实质性推进为主,为 INI panel shell 增加更高层的 read-only API surface inventory。
外部 shell、workflow overview iframe 和 SDK 调用者现在可以一次读取 launch API、control-page API、
workflow overview API、persistence capabilities 与 session readiness report 的稳定计数和 rows。
完成内容:
- `wasm-port/runtime/ui/ini-panel/ui-shell.js` 新增 `createIniPanelShellApiSurfaceInventory()`
- inventory 返回:
- `apiName`
- `inventoryVersion`
- `phase`
- `ready`
- `counts`
- `apiNames`
- `entries`
- `rows`
- `createIniPanelLaunchApiManifest().methods` 新增 `getShellApiSurfaceInventory`
- `createIniPanelShellWorkflowOverviewContract().methodNames` 新增
`getWorkflowOverviewApiSurfaceInventory`
- `createIniPanelShellViewModel()` 暴露:
- `shellApiSurfaceInventory`
- `createShellApiSurfaceInventory`
- `runtime/ui/ini-panel/launch.html` 暴露
`linuxCncIniPanelLaunchApi.getShellApiSurfaceInventory()`
- `runtime/ui/ini-panel/workflow-overview.html` 暴露
`linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewApiSurfaceInventory()`
- `wasm-port/runtime/sdk/src/index.js` re-export `createIniPanelShellApiSurfaceInventory()`
- `wasm-port/runtime/sdk/README.md`、`docs/panel-entry.md`、`docs/project-release-handoff.md`
记录该 inventory 能力;
- Node 测试覆盖 ui-shell、launch manifest、shell integration manifest、SDK surface、release handoff docs
- Browser smoke 覆盖 launch API、workflow overview iframe API、shell integration workflow API
- 未新增控制按钮;
- 未执行 action-plan
- 未解析 G-code
- 未解释 canonical events
- 未新增 JS CNC 语义;
- 未运行 opt-in runtime probes
- 未 promotion blocked runtime family
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
runtime semantics。
验证已通过:
```bash
git diff --check
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 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
ui_node_smokes=ok
browser_ini_launch_smoke=ok
browser_ini_workflow_overview_smoke=ok
browser_ini_shell_integration_workflow_smoke=ok
sdk_surface_node_smoke=ok
project_release_handoff_docs_node_smoke=ok
vendor sync up to date
standalone CNC semantics guard complete
interp_wasm_node_smoke=ok
sim_configs_wasm_node_inventory_unexpected_fail=0
host_wasm_opfs_browser_smokes=ok
```
下一步工作计划:
继续以实质能力推进为主。下一批可把 shell API surface inventory 渲染为 browser-visible summary
row 或挂载到 workflow overview embedding report方便验收页面直接显示 API surface 覆盖;仍保持只读,
不新增控制按钮,不解析 G-code不扩大 LinuxCNC 语义边界。