26 KiB
26 KiB
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 scale;spindle 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=2,spindle 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/C;A/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。