按建议,继续工作

结论:已修正 standalone setup 的 cutter_comp_firstmove 初始态以匹配 vendored LinuxCNC rs274ngc_pre.cc,并新增正向 G41.1/G40 cutter compensation motion fixture;native probe 全量验证通过。
This commit is contained in:
2026-06-07 21:37:50 +08:00
parent a8321f0aac
commit d02fe9e07f
7 changed files with 27 additions and 7 deletions

View File

@@ -55,9 +55,9 @@ semantic rewrites:
- Full machine baselines beyond the current identity/trivial, `5axiskins`,
TRT, delta, SCARA, PUMA, serial `genserkins`, hexapod `genhexkins`,
pentapod `pentakins`, and other existing runtime probes are not established.
- Positive cutter-compensated motion is not yet a standalone runtime baseline;
current cutter compensation coverage is limited to vendored interpreter
rejection paths.
- Positive cutter-compensated motion and cutter compensation rejection paths
now have standalone interpreter fixture coverage through vendored LinuxCNC
source.
- Fixture expectations are currently checked against the standalone vendored
source path, not by running a native LinuxCNC binary for every fixture.

View File

@@ -394,6 +394,14 @@ Current verified progress:
cutter radius compensation. The source basis is vendored
`interp_convert.cc::convert_cutter_compensation_on()` and
`interp_convert.cc::convert_set_plane()`.
- `runtime/core/linuxcnc_wrap/linuxcnc_runtime_state_stubs.cpp` now initializes
`setup::cutter_comp_firstmove` to the same initial value as vendored
`rs274ngc_pre.cc`, allowing the first cutter-compensated straight move to
follow LinuxCNC `interp_convert.cc::convert_straight_comp1()` instead of the
subsequent-move path. `tests/fixtures/gcode/cutter_comp_motion.ngc` and
`tests/fixtures/canon/cutter_comp_motion.events` pin positive `G41.1`/`G40`
compensated straight-feed output through vendored `interp_convert.cc` and
`interp_queue.cc`.
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
feed/control canonical boundary calls emitted by vendored LinuxCNC
conversion and queue code: `SET_TRAVERSE_RATE`, `SET_FEED_REFERENCE`,

View File

@@ -41,6 +41,7 @@ G-code fixture coverage includes:
- canned cycles
- coordinate offsets
- feed and motion control modes
- cutter compensation motion
- probe semantics
- spindle-synchronized threading and rigid tap
- NURBS G5 and G6

View File

@@ -66,9 +66,8 @@ Current validation is intentionally mechanical:
source-probe level. Serial `genserkins`, hexapod `genhexkins`, and pentapod
`pentakins` have native runtime baselines; full runtime machine baselines for
userspace genser flows are not yet established.
- Cutter compensation negative interpreter paths are fixture-covered through
vendored `interp_convert.cc`, but a positive cutter-compensated motion
runtime baseline is not yet established for the standalone harness.
- Cutter compensation positive motion and negative interpreter paths are
fixture-covered through vendored `interp_convert.cc` and `interp_queue.cc`.
- Browser/WASM C ABI and JS SDK layers are not yet built for the full
interpreter/planner core.
- OPFS persistence is not yet connected to INI, tool table, parameter file, or