项目整体完成情况与后续执行计划 生成时间:2026-06-15 CST 本文件接替 `text13.txt`。后续工作按 `text14.txt` 执行;除非明确要求审计旧记录, 不要再回到 `text1/text2/text3/text4/text5/text6/text7/text8/text9/text10/text11/text12/text13` 扩展进度。`text13.txt` 作为历史归档保留。 一、第一原则:继续加快实质性推进 后续批次仍必须以“实质性能力优先”为第一遵守原则。 1. 优先级从高到低: - OPFS/session persistence; - SDK/API surface; - browser/UI workflow; - sim config coverage promotion; - host/runtime boundary proof; - 文档化可执行工作流。 2. 每批默认应产出至少一种可直接复用的能力: - 可调用 helper; - 可复用 API; - 可验证用户流程; - 可执行 gate; - 可提升覆盖面的 runtime boundary proof; - 能直接指导下一步实现的设计/清单。 3. 暂停低收益推进: - 不再把“局部常量化、路径变量收敛、断言分组整理”作为主目标; - 只有当它支撑可复用 workflow/API/gate 时,才允许做测试胶水; - 禁止为了推进而扩大 CNC 语义边界; - 禁止启动性能测试,除非已有明确用户流程需要性能基线。 4. LinuxCNC 仍是唯一 CNC 语义来源: - G-code、remap、tool、parameter、planner、kinematics、user-M、tool DB、Python remap 等语义必须来自 LinuxCNC upstream 或 vendored LinuxCNC C/C++/配置/脚本源码; - JS/browser 只允许做 build、source sync、runtime shim、filesystem staging、OPFS、 WASM/browser boundary、测试胶水、文档和机器可读 gate/artifact; - 不在 JS 中重写 G-code 或 CNC 语义; - 不修改 vendored LinuxCNC 源文件来让测试通过; - 不把 full-process/HAL/UI/Python/tool DB 依赖伪装成 standalone pass; - 不把 expected failure 硬改成 pass,除非已有 LinuxCNC-owned runtime proof,并且 native、Node、browser gate 都按顺序通过; - browser 不能依赖目录枚举。 二、续接状态与防重规则 1. 当前续接点。 `text13.txt` 已推进到: ```text 十九、2026-06-15 继续执行记录:INI panel workflow overview embedding mount render-state ``` 本文件从 `text14.txt` 重新开始记录后续进度。 2. 每轮开始前必须先执行: ```bash git status --short git log -5 --oneline tail -n 120 text14.txt awk '/^[一二三四五六七八九十百]+、/ {print}' text14.txt | sort | uniq -d ``` 执行规则: - 如果 `git status --short` 是 clean,且最新提交已经包含当前建议工作,不要重复追加记录; - 每轮只追加一个新的中文编号记录; - 提交前再次检查标题唯一性; - `text14.txt` 只记录新的后续进度,不复制 `text13.txt` 的长历史; - 每批完成后,如果要写记录,先写 `text14.txt`,再提交该批代码和记录; - 如果发现重复记录,先做 dedupe 清理并提交,再继续新功能或新 guard; - `text13.txt` 不再追加新进度,除非明确要求审计或修正历史记录。 三、当前完成情况摘要 1. 当前工作树状态。 切换到 `text14.txt` 时工作树为 clean。 2. 最近提交: ```text 1a863fa 推进 INI 面板 workflow overview embedding mount render state fc9e6a3 推进 INI 面板 workflow overview embedding mount display 83df80d 推进 INI 面板 workflow overview embedding mount result 75f71c2 推进 INI 面板 workflow overview embedding DOM renderer 6856721 推进 INI 面板 workflow overview embedding DOM readiness 3cfd4b3 推进 INI 面板 workflow overview embedding DOM contract f70fc09 推进 INI 面板 workflow overview embedding render-state 4fdbadd 推进 INI 面板 workflow overview embedding display view-model ``` 3. 关键基线保持稳定。 - `linuxcnc/nc_files` native Layer 1: - `total 107` - `pass 101` - `expected_fail 6` - `unexpected_fail 0` - `linuxcnc/configs/sim` native Layer 2: - `total 159` - `pass 151` - `expected_fail 8` - `unexpected_fail 0` - Node sim-config inventory: - `executed=28` - `passed=28` - `skipped=131` - `unexpected_fail=0` 4. blocked runtime family 仍未 promotion。 仍 blocked,不允许 promotion: - `L4-USER-M-PROCESS` - `L4-TOOL-DB` - `L4-PYTHON-REMAP` 当前 host 仍按缺少 LinuxCNC host runtime 处理,不执行任何: ```bash ENABLE_MILLTURN_USER_M_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_millturn_user_m_runtime.sh ENABLE_TOOL_DB_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_tool_db_runtime.sh ENABLE_PYTHON_REMAP_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_python_remap_runtime.sh ``` 四、当前实质能力进展 1. INI panel/UI helper 能力。 当前 UI helper 已覆盖: - run summary; - run workflow; - session snapshot summary; - session load summary; - machine file save/load summary; - panel state summary; - session snapshot save/restore workflow; - entry manifest、launcher link view-model、shell view-model; - read-only control-page controller; - read-only control-page refresh workflow; - read-only control-page session readiness workflow; - shell integration readiness、workflow plan、session handoff summary; - shell session handoff summary schema、compatibility report、display view-model、snapshot; - shell handoff package、package report、package display/render state; - shell handoff package mount state、mount display/render state; - shell handoff mount DOM contract、DOM readiness、renderer、mount workflow; - shell handoff workflow summary、display/render state、DOM contract/readiness、renderer、mount workflow; - workflow overview surface; - workflow overview embedding report、display view-model、render-state; - workflow overview embedding DOM contract、DOM readiness、renderer; - workflow overview embedding mount workflow result、mount display view-model、mount render-state。 当前聚合验证入口: ```bash wasm-port/tests/ui/node/verify_ui_node_smokes.sh ``` 2. Browser/UI workflow 验证。 当前 browser INI panel smoke 覆盖真实 OPFS/session persistence workflow、control page、 workflow overview surface 与外部 shell workflow: ```bash SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh ``` 关键输出: ```text 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 ``` 五、当前必须保持通过的验证入口 每批后续改动至少运行: ```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 SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh wasm-port/tests/ui/node/verify_ui_node_smokes.sh wasm-port/tests/host/verify_host_smokes.sh ``` 如果涉及 browser interpreter smoke,再运行: ```bash SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh ``` 涉及 native baseline 或大范围 source/staging 改动时,再运行: ```bash wasm-port/tests/native/verify_nc_files.sh wasm-port/tests/native/verify_sim_configs.sh ``` 六、下一步建议 继续推进 browser/UI workflow。下一批建议新增只读 `createIniPanelShellWorkflowOverviewEmbeddingMountDomContract()` 或等价 helper,为 mount render-state 定义 mount/status/rows selectors、dataset keys 与 render-result fields,给后续 DOM readiness 和 renderer 提供稳定契约;仍保持只读,不新增控制按钮,不解析 G-code。