Files
linuxcncWebWASM/docs/linuxcnc-web-wasm-next-work.md

5.5 KiB
Raw Permalink Blame History

LinuxCNC Web/WASM 后续工作基线

更新时间:2026-08-21

当前判断

运动学实现主线 K0-K6 已完成代码和 native/WASM 回归:trivkins、耦合运动学、5 轴/TRT、机器人、GenSer、Delta、Tripod、Hexapod、Pentapod、switchkins、userk/registry、TP→IK→motion、FK feedback、home/limit 均已有实现、ABI、固定边界和测试产物。对应报告仍为 partial 或 blocked 的原因是锁定 LinuxCNC 来源没有 linuxcnc/unit_tests/kinematics/** 官方 oracle;这限制发布验收,不应继续重复实现运动学解析。

已验证的其它基础包括:posemath、解释器、motion queue、HAL 核心、IO 核心、Worker protocol、replay、workspace recovery/migration、Python runtime manifest、配置/HAL preflight、虚拟设备、Python bridge、FE-M1..M4 和 native CTest。当前前端与适配器已有垂直切片,但 sim_api 仍是 bootstrap,Worker 尚未把 interpreter、TP、motion、kinematics、HAL、IO 串成统一 sim_task 固定 tick;真实 OPFS、完整配置启动和跨浏览器验证也未闭合。

发布状态仍为 blocked_not_release_candidate/STOP_RELEASE。六项发布 blocker(manifest ownership、accepted entries、official oracle、configuration resources、browser matrix、implementation license)必须保留;当前正式接续以 nextTask.md 的 WAIT-OWNER-01 为准,owner review 是外部输入,不再作为当前开发任务反复重跑。

执行顺序

顺序 任务 目标 主要产物 依赖
1 M3-CFG-01 已完成:把 INI/HAL/资源引用从静态索引推进到确定性启动解析;支持相对路径、LIB:、参数尾缀、目录和变量/宿主路径的显式错误 web/workspace/configuration.mjs、coverage/configuration-startup-closure.report.json、生成器和单测 当前 config graph/resource index
2 M3-RT-02 已完成:将 HAL pin/signal/thread/function 和 .comp 元数据接成可执行配置图,保留类型、重复注册、周期和失败边界 coverage/hal-component-manifest.report.json、HAL preflight、native/WASM/Worker test M3-CFG-01、sim_hal
3 M3-RT-03 已完成:将 spindle、tool、probe、limit、estop 数字孪生接入 Worker command path,并让故障注入可录制/回放 coverage/virtual-device-fault-matrix.report.json、event/state golden、Worker tests M3-RT-02、sim_io
4 M3-FS-01 已完成:将 workspace recovery/migration 从独立模块接入真实 session 和配置加载,验证 OPFS 适配边界 coverage/workspace-session-integration.report.json、Worker workspace integration report M3-CFG-01、M3-RT-02/03、现有 recovery/migration
5 M3-PY-01 已完成:用固定 Pyodide artifact 建立实际 Worker bridge;虚拟 linuxcnc/hal/INI API 和宿主能力拒绝路径可执行 coverage/python-worker-bridge.report.json、Worker tests M3-CFG-01、FS-01
6 FE-M1 已完成:建立最小真实前端垂直切片:AppShell、WorkerClient、工程加载、能力协商、step/snapshot/error coverage/frontend-m1.report.json、web/app、browser smoke/e2e report protocol v1、M3-CFG-01、Worker
7 FE-M2 已完成:核心操作 controls 和权威状态面板 coverage/frontend-m2.report.json、browser operation smoke、state panel report FE-M1、M3-RT-03
8 FE-M3 项目和恢复工作流:导入/导出、journal/checkpoint、Worker 重启恢复、离线冲突状态 coverage/frontend-m3.report.json、project/recovery browser smoke FE-M2、M3-FS-01
9 FE-M4 已完成:HAL/tool/IO/3D frontend workflows coverage/frontend-m4.report.json、device/HAL/machine browser smoke FE-M3、M3-RT-02/03
10 REG-01 运行 233 个 sim entrypoint 的启动矩阵,分类 ready/blocked/error 并生成首个差异定位 full configuration matrix report M3-CFG-01..03、M3-PY-01、FE-M4
10 REG-03/04 完成恢复、断网、浏览器和性能矩阵;再回到 K8 release gate recovery/browser/performance reports FE-M1、REG-01

历史实现边界与当前技术缺口

本表中的 M3/FE/REG 行用于保留已完成实现的依赖和证据,不是当前接续指针。nextTask.md 是唯一当前任务入口;owner 输入和新 context 之后,第一个需要实现的技术任务是 INT-01 sim_task 固定 tick 集成,详见 系统流程与后续执行基线。

历史任务边界:REG-01

允许创建全配置 startup matrix 生成器、结果分类和 source/resource/component 差异定位测试;不修改 kinematics 算法、ABI/protocol/schema/context lock,不替 owner 作许可证、浏览器或官方 oracle 决定。

完成条件:

  • M3-CFG/RT/FS/PY、FE-M1..M4 已完成;当前执行 233 个 sim entrypoint 全量启动矩阵。
  • 矩阵必须保留每个 blocked/error source ID,不得删除样本或把资源/组件阻断重分类为 REAL-EXCLUDED。
  • native CTest、Worker replay/recovery/migration 和全部脚本单测保持通过,六项发布 blocker 与 STOP_RELEASE 不被清除。

不再重复的工作

  • 不重新实现 K0-K6 运动学解析或重新生成同一组 blocked oracle 报告。
  • 不因官方 oracle 缺失而伪造 golden、把派生 fixture 标为官方输入或升级 accepted。
  • 不因 owner 输入缺失而循环刷新 K8-REL-16;收到真实 owner decision 或新 lock 输入时再单独创建 release context。