Files
cnc_wams/完善wasm/working/14-04-125项逐项源码证据绑定表.md
2026-07-10 21:26:42 -04:00

172 lines
26 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 14-04 125 项逐项源码证据绑定表
## 定位
本文件落实 `INT-013``W04-EVID-001`:把 `04基于Web的LinuxCNC兼容数控仿真平台.txt` 中逐行列出的 125 个功能项绑定到 LinuxCNC 源码/资产、`wasm-port` 最小 gate、`web-rtcp-5axis-xyzbc-trt-sim-plan` 代表 Web 应用证据入口。
严格口径:
- `04` 的状态列只作为目标声明,不直接作为通过结论。
- “严格状态”为本 working 对该项的当前归类:已有证据、条件通过或待补逐项证据。
- 若某项属于实时内核、外部进程、动态加载、完整 NML/process topology 或硬件边界,即使 04 写为通过,也必须保持条件通过或待补证据。
## 通用 gate
| 层级 | 最小 gate |
| --- | --- |
| LinuxCNC 基线 | `cd wasm-port && ./tools/verify_upstream_baseline.sh` |
| vendor/source 同步 | `cd wasm-port && ./tools/verify_vendor_sync.sh` |
| 禁止自研 CNC 语义 | `cd wasm-port && ./tools/verify_no_standalone_cnc_semantics.sh` |
| Native 核心 | `cd wasm-port && ./tests/native/verify_native_probes.sh` |
| Native 示例/配置 | `cd wasm-port && ./tests/native/verify_nc_files.sh && ./tests/native/verify_sim_configs.sh` |
| WASM 核心 | `cd wasm-port && ./tests/wasm/node/verify_ini_wasm.sh && ./tests/wasm/node/verify_interp_wasm.sh && ./tests/wasm/node/verify_tp_wasm.sh` |
| WASM 配置/运动学/task-HAL | `cd wasm-port && ./tests/wasm/node/verify_sim_configs_wasm.sh && ./tests/wasm/node/verify_kinematics_wasm.sh && ./tests/wasm/node/verify_task_hal_wasm.sh` |
| OPFS/UI | `cd wasm-port && ./tests/opfs/node/verify_file_service.sh && ./tests/ui/node/verify_ui_node_smokes.sh` |
| 浏览器核心 | `cd wasm-port && ./tests/browser/verify_ini_panel_browser.sh && ./tests/browser/verify_interp_browser.sh` |
| XYZBC TRT 代表应用 | `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node``smoke:browser``smoke:buttons``evidence:web``evidence:compare` |
## 逐项绑定表
| 04 项 | 功能项 | LinuxCNC 源码/资产归属 | 最小 gate/evidence | 严格状态 |
| --- | --- | --- | --- | --- |
| 1.1 | 快速定位 G0 | `src/emc/rs274ngc/interp_convert.cc``src/emc/task/emccanon.cc``nc_files` | `verify_interp_wasm.sh``verify_nc_files.sh``verify_interp_browser.sh` | 已有核心证据 |
| 1.2 | 直线插补 G1 | `src/emc/rs274ngc/interp_convert.cc``src/emc/tp``nc_files` | `verify_interp_wasm.sh``verify_tp_wasm.sh` | 已有核心证据 |
| 1.3 | 顺圆弧 G2 | `src/emc/rs274ngc/interp_arc.cc``interp_convert.cc``nc_files` | `verify_interp_wasm.sh``verify_interp_browser.sh` | 已有核心证据 |
| 1.4 | 逆圆弧 G3 | `src/emc/rs274ngc/interp_arc.cc``interp_convert.cc``nc_files` | `verify_interp_wasm.sh``verify_interp_browser.sh` | 已有核心证据 |
| 1.5 | 平面选择 G17-G19 | `src/emc/rs274ngc/interp_convert.cc``interp_internal.hh` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.6 | 英制/公制 G20/G21 | `src/emc/rs274ngc/interp_convert.cc``tests/interp` | `verify_native_probes.sh``verify_interp_wasm.sh` | 已有核心证据 |
| 1.7 | 绝对/增量 G90/G91 | `src/emc/rs274ngc/interp_convert.cc``tests/interp` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.8 | 进给模式 G93/G94/G95 | `src/emc/rs274ngc/interp_convert.cc``tests/interp` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.9 | 坐标系 G54-G59.3 | `src/emc/rs274ngc/rs274ngc_pre.cc``interp_convert.cc`、parameter file | `verify_interp_wasm.sh``verify_file_service.sh` | 已有核心证据 |
| 1.10 | 坐标偏移 G92 | `src/emc/rs274ngc/interp_convert.cc`、parameter persistence | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.11 | 钻孔循环 G81 | `src/emc/rs274ngc/interp_cycles.cc``nc_files` | `verify_interp_wasm.sh``verify_nc_files.sh` | 已有核心证据 |
| 1.12 | 深孔啄钻 G83 | `src/emc/rs274ngc/interp_cycles.cc``nc_files` | `verify_interp_wasm.sh``verify_nc_files.sh` | 已有核心证据 |
| 1.13 | 固定循环 G82/G84-G89 | `src/emc/rs274ngc/interp_cycles.cc``tests/interp` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.14 | 取消循环 G80 | `src/emc/rs274ngc/interp_convert.cc``interp_cycles.cc` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.15 | 车削粗车 G71 | `src/emc/rs274ngc/interp_g7x.cc`、lathe tests/assets | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.16 | 车削精车 G70 | `src/emc/rs274ngc/interp_g7x.cc`、lathe tests/assets | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.17 | 螺纹车削 G76 | `src/emc/rs274ngc/interp_convert.cc``tests/interp`、lathe assets | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.18 | 刀径左补 G41 | `src/emc/rs274ngc/interp_convert.cc``tests/ccomp` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.19 | 刀径右补 G42 | `src/emc/rs274ngc/interp_convert.cc``tests/ccomp` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.20 | 取消刀补 G40 | `src/emc/rs274ngc/interp_convert.cc``tests/ccomp` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.21 | 刀长补偿 G43 | `src/emc/rs274ngc/interp_convert.cc`、tool table | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.22 | 取消刀长 G49 | `src/emc/rs274ngc/interp_convert.cc` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.23 | 子程序调用 M98 | `src/emc/rs274ngc/interp_o_word.cc`、subroutine tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.24 | 子程序返回 M99 | `src/emc/rs274ngc/interp_o_word.cc`、subroutine tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.25 | O 字子程序 | `src/emc/rs274ngc/interp_o_word.cc``tests/interp/oword` | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.26 | 条件分支 IF | `src/emc/rs274ngc/interp_o_word.cc`、parameter tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.27 | 循环 WHILE | `src/emc/rs274ngc/interp_o_word.cc`、O-word tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.28 | 无条件跳转 GOTO | `src/emc/rs274ngc/interp_o_word.cc`、line-number tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.29 | 局部参数 #1-#30 | `src/emc/rs274ngc/interp_internal.*`、parameter tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.30 | 全局参数 #500-#599 | `src/emc/rs274ngc/rs274ngc_pre.cc`、parameter file | `verify_interp_wasm.sh``verify_file_service.sh` | 已有核心证据 |
| 1.31 | 系统参数 #5400-#5399 | `src/emc/rs274ngc/interp_namedparams.cc`、system parameter handling | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.32 | 主轴正转 M3 | `src/emc/rs274ngc/interp_convert.cc``src/emc/task/emccanon.cc` | `verify_interp_wasm.sh``verify_task_hal_wasm.sh` | 已有核心证据 |
| 1.33 | 主轴反转 M4 | `src/emc/rs274ngc/interp_convert.cc``src/emc/task/emccanon.cc` | `verify_interp_wasm.sh``verify_task_hal_wasm.sh` | 已有核心证据 |
| 1.34 | 主轴停止 M5 | `src/emc/rs274ngc/interp_convert.cc``src/emc/task/emccanon.cc` | `verify_interp_wasm.sh``verify_task_hal_wasm.sh` | 已有核心证据 |
| 1.35 | 恒线速 G96 | `src/emc/rs274ngc/interp_convert.cc`、lathe spindle tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.36 | 取消恒线速 G97 | `src/emc/rs274ngc/interp_convert.cc`、lathe spindle tests | `verify_interp_wasm.sh` | 已有核心证据 |
| 1.37 | 等待输入 M66 | `src/emc/rs274ngc/interp_convert.cc`、HAL named parameter boundary | `verify_interp_wasm.sh`、HAL adapter evidence | 条件通过:真实 HAL 输入为虚拟边界 |
| 1.38 | M66 超时标志 #5399 | `src/emc/rs274ngc/interp_convert.cc`、parameter update path | `verify_interp_wasm.sh` | 条件通过:真实 HAL 输入为虚拟边界 |
| 1.39 | 探测循环 G38.x | `src/emc/rs274ngc/interp_convert.cc`、probe tests | `verify_interp_wasm.sh` | 条件通过:物理探针为虚拟边界 |
| 1.40 | 坐标旋转 G10 L2 Pn R | `interp_convert.cc``rotation_xy`/`SET_XY_ROTATION`LinuxCNC rotation/G10 tests | `15``34``verify_interp_wasm.sh` | 已修订并通过:设置 G5x 坐标系 Z 轴旋转45/-45/90 度 canonical evidence 已有 |
| 1.41 | 取消坐标旋转 G10 L2 Pn R0 | 同一 `rotation_xy`/`SET_XY_ROTATION` source-owned 路径 | `15``34``verify_interp_wasm.sh` | 已修订并通过:以 R0 清除坐标旋转;不再宣称 G51.1/G50.1 镜像 |
| 2.1 | 程序加载 | `src/emc/task/emctaskmain.cc``src/emc/task/emctask.cc` | `verify_task_hal_wasm.sh`、Web task evidence、`22-04-Full-Process-Realtime-Runtime-Proof实现缺口复核.md` | 条件通过Web/WASM task runtime 可晋级standalone runtime 仍非完整 native process topology |
| 2.2 | 模态指令保持 | `src/emc/rs274ngc/modal_state.*``emctaskmain.cc` | `verify_interp_wasm.sh``verify_task_hal_wasm.sh` | 已有核心证据 |
| 2.3 | 非模态指令 | `src/emc/rs274ngc/interp_convert.cc`、modal state | `verify_interp_wasm.sh` | 已有核心证据 |
| 2.4 | 暂停 Pause | `src/emc/task/taskintf.cc``emctask.cc` | `verify_task_hal_wasm.sh`、button/browser smoke | 条件通过source-anchored standalone boundary |
| 2.5 | 继续 Resume | `src/emc/task/taskintf.cc``emctask.cc` | `verify_task_hal_wasm.sh`、button/browser smoke | 条件通过source-anchored standalone boundary |
| 2.6 | 单步执行 | `src/emc/task/taskintf.cc``emctask.cc` | `verify_task_hal_wasm.sh`、button/browser smoke | 条件通过source-anchored standalone boundary |
| 2.7 | 急停 Abort | `src/emc/task/taskintf.cc``emctask.cc` | task-HAL/button gate、`25-04-Host-Runtime-Opt-In-Promotion-Evidence-Gate落地蓝图.md` | 条件通过Web/task abort 可验收;真实硬件 estop 不在 process opt-in 覆盖范围,保持 Blocked |
| 2.8 | 进给倍率 | `src/emc/task/emctaskmain.cc`、NML status/command types | `verify_task_hal_wasm.sh`、Web evidence | 条件通过full NML/topology 未晋级 |
| 2.9 | 主轴倍率 | `src/emc/task/emctaskmain.cc`、spindle command/status | `verify_task_hal_wasm.sh`、Web evidence | 条件通过:真实 spindle IO 为虚拟边界 |
| 2.10 | 可选停止 M1 | `src/emc/rs274ngc/interp_convert.cc``emctaskmain.cc` | `verify_interp_wasm.sh``verify_task_hal_wasm.sh` | 条件通过UI/task setting 需 browser evidence |
| 2.11 | 程序结束 M2/M30 | `src/emc/rs274ngc/interp_convert.cc`、task rewind behavior | `verify_interp_wasm.sh``verify_task_hal_wasm.sh` | 已有核心证据 |
| 2.12 | 程序队列管理 | `src/emc/task/emctaskmain.cc``interp_queue.*` | `verify_task_hal_wasm.sh``22-04-Full-Process-Realtime-Runtime-Proof实现缺口复核.md` | 条件通过Web/WASM task queue 可作为 simulation proof完整 NML/queue process topology 未晋级 |
| 3.1 | 轨迹规划 TP | `src/emc/tp/tp.c``tc.c` | `verify_tp_wasm.sh` | 已有核心证据 |
| 3.2 | 前瞻规划 | `src/emc/tp/tp.c``tcq.c` | `verify_tp_wasm.sh` | 已有核心证据 |
| 3.3 | 插补器 TC | `src/emc/tp/tc.c` | `verify_tp_wasm.sh` | 已有核心证据 |
| 3.4 | 多轴同步插补 | `src/emc/motion/control.c``src/emc/tp` | `verify_tp_wasm.sh`、Web path comparison | 条件通过motion process 为 standalone boundary |
| 3.5 | 软限位 | `src/emc/motion/control.c`、axis/joint limit config | `verify_task_hal_wasm.sh``30` | L3 条件通过:`motion_soft_limit_drives_task_error=ok` 负例 runtime proof 通过 |
| 3.6 | 跟随误差监控 | `src/emc/motion/control.c`、FERROR config | `verify_motion_ferror_mpg.mjs``31` | L3 条件通过:动态 limit=0.5 下 0.4 pass/0.6 fault 成对 proof 通过 |
| 3.7 | 回零序列 | `src/emc/motion/homing.c` | `verify_task_hal_wasm.sh`、button smoke | 条件通过:真实 home switch 为虚拟边界 |
| 3.8 | 连续点动 | `src/emc/motion/control.c`、taskintf jog commands | `verify_task_hal_wasm.sh`、button smoke | 条件通过:输入设备为虚拟边界 |
| 3.9 | 增量点动 | `src/emc/motion/control.c`、taskintf jog commands | `verify_task_hal_wasm.sh`、button smoke | 条件通过:输入设备为虚拟边界 |
| 3.10 | 手轮脉冲响应 | `src/emc/motion/control.c`、HAL jog pins | `verify_motion_ferror_mpg.mjs``31` | L3 条件通过joint jog pin、enable、scale、正反 count delta 位置响应通过;真实 MPG 硬件仍 Blocked |
| 3.11 | 电子齿轮 | `src/emc/motion/control.c`、spindle sync paths | interp threading/G95 fixtures、multi-spindle gate、`30` | 条件通过G33/G33.1/G95 canonical sync 与 `$1` 选择通过;真实 encoder closed loop 仍 Blocked |
| 4.1 | bit 类型引脚 | `src/hal/hal.h``hal_lib.c` | `verify_hal_runtime.sh` | 已有核心证据 |
| 4.2 | float 类型引脚 | `src/hal/hal.h``hal_lib.c` | `verify_hal_runtime.sh` | 已有核心证据 |
| 4.3 | s32/u32 类型引脚 | `src/hal/hal.h``hal_lib.c` | `verify_hal_runtime.sh` | 已有核心证据 |
| 4.4 | 信号连接 net | `src/hal/hal_lib.c``halcmd_commands.cc` | `verify_hal_runtime.sh` | 已有核心证据 |
| 4.5 | 多驱动禁止 | `src/hal/hal_lib.c` signal/link validation | `verify_hal_runtime.sh` | 已有核心证据 |
| 4.6 | 参数系统 setp | `src/hal/hal_lib.c``halcmd_commands.cc` | `verify_hal_runtime.sh` | 已有核心证据 |
| 4.7 | and2 组件 | `src/hal/components/and2.comp` | `24``26``27-04-HAL-Component-Precompile-Runtime-Gate实施记录.md`、component gates | L3 条件通过:锁定 halcompile 派生、manifest、4 组 truth table、thread/net 和 Web/WASM 真实执行通过 |
| 4.8 | or2 组件 | `src/hal/components/or2.comp` | `24``26``27-04-HAL-Component-Precompile-Runtime-Gate实施记录.md`、component gates | L3 条件通过:锁定 halcompile 派生、manifest、4 组 truth table、thread/net 和 Web/WASM 真实执行通过 |
| 4.9 | not 组件 | `src/hal/components/not.comp` | `24``26``27-04-HAL-Component-Precompile-Runtime-Gate实施记录.md`、component gates | L3 条件通过:锁定 halcompile 派生、manifest、2 组 truth table、thread/net 和 Web/WASM 真实执行通过 |
| 4.10 | mux2 组件 | `src/hal/components/mux2.comp` | `24``26``27-04-HAL-Component-Precompile-Runtime-Gate实施记录.md`、Web component gate | L3 条件通过:`names=``sel` 两路、servo-step 和 XYZAC `J0_mux` 代表配置执行通过 |
| 4.11 | scale 组件 | `src/hal/components/scale.comp` | `24``26``27-04-HAL-Component-Precompile-Runtime-Gate实施记录.md`、Web component gate | L3 条件通过:三组浮点公式/容差、servo-step 和 XYZAC `rpm_rps` 代表配置执行通过 |
| 4.12 | servo-thread 调度 | `src/hal/components/threads.c`、motion servo cycle | HAL/task gates、`22``25-04-Host-Runtime-Opt-In-Promotion-Evidence-Gate落地蓝图.md` | 条件通过virtual HAL thread 可验收;三个 process probe 不覆盖 Linux realtime`hostRealtimeKernel=false` 必须保留 |
| 4.13 | HAL Scope | `src/hal/utils/scope.c``scope_rt.c``scope_shm.h`、native `halscope` UI/process | `23``28-04-HAL-Meter-Scope-JSON-Evidence-Gate实施记录.md`、scope/Web compare gate | L3 条件通过1ms/多通道变化 waveform、trigger、source reference 和 Web compare 通过;原生 RT/GTK halscope 未运行 |
| 4.14 | HAL Meter | native `halmeter``src/hal/utils/meter.c``docs/src/man/man1/halmeter.1.adoc` | `23``28-04-HAL-Meter-Scope-JSON-Evidence-Gate实施记录.md`、meter/Web compare gate | L3 条件通过pin/signal/parameter 当前值、类型、连接和 source reference JSON 通过;原生 GTK halmeter 未运行 |
| 4.15 | halcmd 命令行 | `src/hal/utils/halcmd_commands.cc` | `verify_hal_runtime.sh` | 条件通过:交互 shell 由 Web/adapter 替代 |
| 4.16 | loadrt 加载组件 | `src/hal/hal_lib.c`、RTAPI/module loading | `24``27-04-HAL-Component-Precompile-Runtime-Gate实施记录.md`、component blocked gate | 条件通过/Blocked五组件 allowlist factory、`names/count``addf/servo-step` 已执行;未知组件和任意运行时动态模块加载仍阻塞 |
| 5.1 | 双通道并行 | LinuxCNC 单 task 为单 `pinterp`/`interp_list`Web 使用独立 interpreter WASM modules | `16``35`、three-session interpreter gate | multi-session 条件通过:三个独立解释器实例并发创建并执行;不宣称单 task 内建多通道 |
| 5.2 | 三实例并行 | LinuxCNC 单 task 保持单解释器Web 以独立 simulation store/session 承载多实例 | `16``34``verify_session_override_gantry_evidence.mjs` | multi-session 条件通过:三个独立 Web session 的 feed/spindle override 隔离通过 |
| 5.3 | 通道同步握手 | M62-M68/M66 canonical/HAL synchronization上层实例编排 | `16``35``41`、three-session/User-M gate | multi-session 条件通过P1/P2/P3 canonical output 独立M128/M129 Web/WASM handler 已执行;任意宿主 User-M 仍锁定 |
| 5.4 | 独立倍率控制 | task/traj override 为全局 traj scalespindle scale 按主轴而非通道 | `16``34``verify_session_override_gantry_evidence.mjs``30` | multi-session 条件通过:三个 Web session 的 feed/spindle override 隔离通过;非单 task 多通道 |
| 5.5 | 独立坐标系 | 三 interpreter modules、G10/G55/G56/G57、`rotation_xy` | `16``35`、three-session G5x gate | multi-session 条件通过P2/P3/P4 与 10/20/30° rotation 独立且无跨实例泄漏 |
| 6.1 | trivkins | `src/emc/kinematics/trivkins.c` | `verify_kinematics_wasm.sh`、native probes | 已有核心证据 |
| 6.2 | 旋转轴 WRAPPED_ROTARY | `trivkins.c`、axis/joint config handling | kinematics gates、sim config gates | 已有核心证据 |
| 6.3 | 龙门双驱 | `configs/sim/axis/gantry/gantry_mm.ini/.hal` | vendor gate、Web gantry evidence、`30` | L1/L4 条件通过XYYZ、Y 双 joint、同步 home 和双 feedback net 代表配置通过 |
| 6.4 | RTCP 刀尖跟随 | `xyzbc-trt-kins.c``trtfuncs.c`、switchkins/remap | `verify_kinematics_wasm.sh``evidence:compare` | 已有代表应用证据 |
| 6.5 | 自定义运动学 | `src/emc/kinematics` module interface | `verify_kinematics_wasm.sh``19-04动态加载与预编译Manifest复核.md` | 条件通过:列入 `source-manifest` 的预编译 kinematics 已有 WASM gate运行时自定义加载仍 Blocked |
| 6.6 | 并联运动学 | `genhexkins.c``genserkins.c``pumakins.c``pentakins.c` 等 | `verify_kinematics_wasm.sh``19-04动态加载与预编译Manifest复核.md` | 条件通过:`genhex`/`genser`/`puma`/`pentakins` 等预编译 probe 已有;具体并联机床/profile 需单独 proof |
| 7.1 | 主轴启停 M3/M4/M5 | `src/emc/rs274ngc/interp_convert.cc``emccanon.cc` | `verify_interp_wasm.sh`、task/HAL gates | 已有核心证据 |
| 7.2 | 主轴速度 S 指令 | `src/emc/rs274ngc/interp_convert.cc`、spindle command path | `verify_interp_wasm.sh` | 已有核心证据 |
| 7.3 | 主轴定向 M19 | `interp_convert.cc` orient/wait path、`m-code.adoc`M3/M4/M5 清除定向 | `15``34``verify_interp_wasm.sh` | 已修订:只声明 LinuxCNC M19 定向,不再宣称 M18 速度模式 |
| 7.4 | 多主轴选择 `$` | LinuxCNC `read_dollar``interp_convert.cc``[TRAJ] SPINDLES` | `verify_multispindle_dollar.mjs`、interp gate、`30` | L3 通过WASM wrapper 读取 SPINDLES=2spindle 1 的 speed/start/G95/stop canonical 通过 |
| 7.5 | 自动换刀 T/M6 | `src/emc/tooldata``src/emc/iotask`、interpreter tool commands | interp/tool DB gates、`25-04-Host-Runtime-Opt-In-Promotion-Evidence-Gate落地蓝图.md` | 条件通过Web tool state 可验收;真实换刀 IO/native DB_PROGRAM 需独立 host/hardware evidence |
| 7.6 | 刀具表管理 | `src/emc/tooldata/tooldata_common.cc`、tool table files | `verify_interp_wasm.sh`、tool DB gates | 已有核心证据 |
| 7.7 | 刀具表持久化 | `tooldata_common.cc`、OPFS bridges | `verify_file_service.sh`、tool table OPFS evidence | 已有核心证据 |
| 8.1 | A/C 轴点动 | `xyzac-trt.ini` 为 XYZAC默认代表应用 `xyzbc-trt.ini` 为 XYZBC | `18-04五轴范围差异与代表应用复核.md`、profile boundary gate | 条件通过:默认代表应用为 B/CA/C 需走 XYZAC profile gate |
| 8.2 | A 轴限位 | `xyzac-trt.ini` `[AXIS_A] MIN_LIMIT=-100 MAX_LIMIT=50` | `18``34`、sim-config/profile gate | 已修订:绑定真实 XYZAC A 轴范围,不再把 Z 轴 ±120 或 XYZAB 范围误写为 A 轴 |
| 8.3 | A 轴回卷旋转 | 上游 `configs/sim/axis/wrapped_rotary/wrapped_rotary.ini``AXIS_A WRAPPED_ROTARY=1` | `18``35`、INI parser/vendor gate | 已修订并通过source manifest/vendor 与结构化 `wrappedRotary=true` 断言通过 |
| 8.4 | RTCP 刀偏输入 G43.1 | interpreter dynamic TLO 与预编译 TRT kinematics 边界 | `15``34`、kinematics gates、evidence compare | 已修订G43.1 作为动态刀偏输入RTCP 由 kinematics/switchkins 提供;不声明 G43.4 |
| 8.5 | 取消刀长偏置 G49 | interpreter TLO cancel 与 TRT kinematics | `15``34`、kinematics gates、evidence compare | 已修订:只声明取消 RTCP 相关工具偏置输入,不把 G49 单独等同于关闭运动学 |
| 8.6 | 五轴联动插补 | `xyzbc-trt-kins.c`、TP/task path、`xyzbc_switchkins.ngc``boat-xyzbc.ngc` | `verify_kinematics_wasm.sh``evidence:compare``18-04五轴范围差异与代表应用复核.md` | 已有 XYZBC 代表应用证据;不得跨 profile 宣称全部五轴族 |
| 8.7 | 斜面钻孔 | fixed cycles plus rotary kinematics | `verify_fiveaxis_inclined_drilling.mjs``30` | L3 条件通过XYZAC A/C 定位后 G81 feed/retract canonical 姿态保持通过 |
| 8.8 | 曲面加工 | 上游 `boat-xyzbc.ngc``boat-xyzac.ngc` 五轴连续刀路 | `18``34`、program-case/staging/run gates | 已修订并条件通过:绑定现有上游曲面代表程序,不再引用不存在的 `sphere.ngc` |
| 8.9 | 叶轮加工 | `impeller-7bl-xyzac.ngc`、XYZAC/gmoccapy profile evidence | `verify_impeller_feed_task_hal_run.mjs``verify_real_linuxcnc_5axis_program_cases.mjs``18-04五轴范围差异与代表应用复核.md` | 条件通过:叶轮代表程序存在;不是默认 XYZBC profile |
| 8.10 | 旋转轴进给率 | canonical angular distance、G93 feed、XYZAC INI angular limit | `35`、impeller Task-HAL/timing gate | 条件通过4066 旋转段公式通过6 段受限;请求峰值 319782.84、实际峰值/INI 上限均为 1800 deg/min |
| 9.1 | INI 文件读取 | `src/emc/ini/inifile.cc` | `verify_ini_wasm.sh`、browser INI panel | 已有核心证据 |
| 9.2 | HAL 文件加载 | HAL parser/model, sim config HAL files | sim-config gates、HAL runtime gates | 条件通过:真实 HAL process/full loadusr 为边界 |
| 9.3 | G 代码加载 | interpreter file open/read path、OPFS program files | `verify_interp_wasm.sh`、OPFS/browser gates | 已有核心证据 |
| 9.4 | 刀具表读写 | `tooldata_common.cc`、OPFS tool bridge | tool DB gates、OPFS gates | 已有核心证据 |
| 9.5 | 参数持久化 | `rs274ngc_pre.cc`、parameter file bridge | interp/OPFS gates | 已有核心证据 |
| 9.6 | 多配置目录 | `configs/sim` inventory、OPFS path model | `verify_sim_configs_inventory_wasm.sh`、browser session gates | 已有核心证据 |
| 10.1 | 3D 刀路显示 | AXIS/Vismach reference, Web scene | `xyzbc-trt` browser smoke/evidence | 已有代表应用证据 |
| 10.2 | XY/XZ/YZ/3D 视图 | AXIS view behavior reference | browser smoke/button view evidence | 已有代表应用证据 |
| 10.3 | 绝对坐标显示 | LinuxCNC status/task/motion snapshot | UI node/browser evidence | 已有代表应用证据 |
| 10.4 | 相对坐标显示 | LinuxCNC status/task/motion snapshot | UI node/browser evidence | 已有代表应用证据 |
| 10.5 | 机床坐标显示 | LinuxCNC G53/machine coordinate status | UI node/browser evidence | 已有代表应用证据 |
| 10.6 | HAL 信号监视 | HAL pin/signal status、gmoccapy HAL pin model | `28`、Web evidence/compare | L3 条件通过HAL model 与 meter 三类结构化当前值均通过 |
| 10.7 | HAL Scope | native `halscope` reference、`src/hal/utils/scope_rt.c``scope_shm.h` | `28`、Web waveform evidence/compare | L3 条件通过:结构化 waveform 数据合同通过;独立 L5 交互 Scope UI 可继续增强 |
| 10.8 | 急停按钮 | AXIS/task state behavior、task/HAL runtime | button smoke、task status evidence | 已有代表应用证据 |
| 10.9 | 启动/暂停/单步 | AXIS/task state behavior、taskintf | button smoke、task status evidence | 已有代表应用证据 |
| 10.10 | 倍率旋钮 | task override status/commands | UI/button/evidence gates | 已有代表应用证据 |
| 10.11 | MDI 命令行 | interpreter MDI/task queue path | UI/browser/evidence gates | 已有代表应用证据 |
## 当前缺口汇总
| 类别 | 具体项 | 处理要求 |
| --- | --- | --- |
| 04 语法口径已修订 | 1.40、1.41、6.4、7.3、8.4、8.5 | 详见 `15``34`;已改为 G10/G5x rotation、M19、TRT kinematics 与 G43.1/G49 刀偏边界,不再宣称不存在的指令语义 |
| full-process / realtime 已实现缺口复核 | 2.1、2.4-2.12、3.4-3.11、4.12 | 详见 `22-04-Full-Process-Realtime-Runtime-Proof实现缺口复核.md`Web/WASM `linuxcnc_task_motion_hal_wasm_simulation_runtime` 可按 gate 晋级,宿主实时内核、硬件驱动、完整 native process topology 和任意宿主外部进程继续条件通过或 Blocked |
| HAL Scope/Meter JSON gate 已闭合 | 4.13、4.14、10.6、10.7 | 详见 `28`;两个结构化 JSON、Web evidence 和 compare 已通过,原生 process/L5 UI 边界继续保留 |
| HAL component 预编译运行时已闭合,动态加载仍锁定 | 4.7-4.11、4.16、6.5、6.6 | 详见 `24``26``27`;五组件的 P1、halcompile 派生、manifest、truth-table/formula/thread-net 和 Web 代表配置 gate 已通过,任意动态 `loadrt` 仍 Blocked预编译 kinematics 继续按模块 gate 条件通过 |
| 多通道已源码边界复核并补三 session/User-M gate | 5.1-5.5 | 详见 `16``34``41`;三独立 session 倍率隔离与 M128/M129 WASM 状态同步已通过,任意宿主程序和单 task 边界继续按精确证据解释 |
| 五轴范围差异已修订 | 8.1-8.10 | 详见 `18``34`A 轴范围、五轴联动和曲面程序已绑定真实配置/fixture各 profile 仍不得跨 profile 继承 |
## 结论
`INT-026``INT-033` 已闭合 HAL component、Meter/Scope JSON、host opt-in evidence/release separation、剩余 runtime case、native 全量回归、验收口径修订和三 session gate。动态加载、实时内核、硬件与人工 promotion 继续保持条件通过或 Blocked。