接入 INI 面板只读 session readiness handoff

This commit is contained in:
2026-06-16 06:47:48 +08:00
parent 03db34485e
commit 68ff2fb5d6
16 changed files with 164 additions and 8 deletions

View File

@@ -1776,3 +1776,71 @@ browser_ini_shell_integration_workflow_smoke=ok
继续做实质能力推进。下一批建议把 session readiness report 纳入 read-only control page status 或
shell handoff package/display view-model让外部 shell 不进入 editor 页面也能读取 session
ready/blocked 原因;仍保持只读,不新增控制按钮,不解析 G-code不扩大 LinuxCNC 语义边界。
二十二、2026-06-16 继续执行记录INI panel readonly session readiness handoff
本轮继续以功能实质性推进为主,把上一批 session readiness report 纳入只读 control page status
和 external shell handoff contract。现在外部 shell 不进入 editor 页面,也能通过 read-only status
读取 machine-session ready/blocked 原因。
完成内容:
- `wasm-port/runtime/ui/ini-panel/panel-state-summary.js` 将 `sessionReadiness` 纳入:
- `createIniPanelStateSummary()`
- `createMachineSessionStateSnapshot()`
- `createMachineSessionStateReport()`
- `createMachineSessionWorkflowStatus()`
- `wasm-port/runtime/ui/ini-panel/readonly-status-api.js` 新增只读 `sessionReadiness` 字段;
- readonly status API manifest 的 `statusFields` 新增 `sessionReadiness`
- `wasm-port/runtime/ui/ini-panel/control-page-session-workflow.js` 在 waiting/ready session load state
中透出 `sessionReadiness`
- `wasm-port/docs/panel-entry.md` 记录外部 shell 可通过 read-only status 和 control-page session
workflow 获取 machine-session ready/blocked 状态;
- Node 测试覆盖 state summary、readonly status API、control-page session workflow、control-page
controller、shell control-page contract、shell integration manifest、entry docs、ui shell
- Browser smoke 覆盖真实 control page readonly status 和 shell handoff readonly status 中的
`sessionReadiness`
- 未新增控制按钮;
- 未执行 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/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/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/tests/host/verify_host_smokes.sh
```
关键输出:
```text
vendor sync up to date
standalone CNC semantics guard complete
interp_wasm_node_smoke=ok
sim_configs_wasm_node_inventory_unexpected_fail=0
ui_node_smokes=ok
browser_ini_opfs_smoke=ok
browser_ini_control_page_smoke=ok
browser_ini_launch_smoke=ok
browser_ini_workflow_overview_smoke=ok
browser_ini_shell_integration_workflow_smoke=ok
host_wasm_opfs_browser_smokes=ok
```
下一步工作计划:
继续以实质能力推进为主。下一批可把 `sessionReadiness` 纳入 shell handoff workflow display/render rows
让外部 shell 的已挂载 handoff 面板直接展示 ready/blocked 原因;仍保持只读,不新增控制按钮,不解析
G-code不扩大 LinuxCNC 语义边界。