继续按 align-linuxcnc 约束:补极坐标 native 覆盖,测试通过

结论:补齐 LinuxCNC interp_read.cc、interp_internal.cc、interp_find.cc 极坐标路径,以及 interp_convert.cc 扩展平面 arc/NURBS 错误 fixture 的 native 校验;./test-native.sh 与 ./test-linuxcnc-source-link.sh 均通过,未扩展 smoke。
This commit is contained in:
cnc
2026-06-02 23:51:22 +08:00
parent 55c75ffe80
commit b7610d1b96
2 changed files with 47 additions and 0 deletions

View File

@@ -191,6 +191,7 @@ This matrix tracks LinuxCNC feature coverage for the web/WASM simulator. A featu
| Area | Status | Regression |
| --- | --- | --- |
| Basic modal motion `G0/G1/G2/G3` | covered, including `G91` incremental linear motion, R-format arcs, `G18`/`G19` arc plane mapping, and `G90.1`/`G91.1` IJK modes | `tests/gcode/linuxcnc_basic_motion.ngc`, `tests/gcode/basic_mill.ngc`, `tests/gcode/incremental_and_r_arc.ngc`, `tests/gcode/linuxcnc_arc_planes.ngc`, `tests/gcode/linuxcnc_arc_distance_modes.ngc` |
| Polar coordinates and extended-plane motion restrictions | covered through LinuxCNC native/source `@`/`^` polar parsing, G17-only polar motion validation, absolute/incremental polar endpoint mapping, G53/origin rejection, and extended-plane arc/NURBS rejection | `tests/gcode/linuxcnc_polar_coordinates.ngc`, `tests/gcode/linuxcnc_polar_coordinate_variants.ngc`, `tests/gcode/linuxcnc_polar_g18_error.ngc`, `tests/gcode/linuxcnc_polar_with_x_error.ngc`, `tests/gcode/linuxcnc_polar_with_y_error.ngc`, `tests/gcode/linuxcnc_polar_g92_error.ngc`, `tests/gcode/linuxcnc_polar_g53_error.ngc`, `tests/gcode/linuxcnc_polar_radius_origin_error.ngc`, `tests/gcode/linuxcnc_polar_incremental_radius_origin_error.ngc`, `tests/gcode/linuxcnc_polar_incremental_theta_origin_error.ngc`, `tests/gcode/linuxcnc_extended_plane_arc_error.ngc`, `tests/gcode/linuxcnc_g62_extended_plane_error.ngc` |
| Block-level axis/motion validation | covered through LinuxCNC native/source `enhance_block()` checks for invalid `G80` axes, missing `G52/G92` or motion axes, bare axes without active motion, and modal-0 axis consumers on motion blocks | `tests/gcode/linuxcnc_g80_axis_error.ngc`, `tests/gcode/linuxcnc_g52_missing_axis_error.ngc`, `tests/gcode/linuxcnc_g92_missing_axis_error.ngc`, `tests/gcode/linuxcnc_motion_missing_axis_error.ngc`, `tests/gcode/linuxcnc_axis_without_motion_error.ngc`, `tests/gcode/linuxcnc_motion_with_g92_axis_error.ngc` |
| Predefined position moves `G28/G28.1`, `G30/G30.1` | covered for stored position, waypoint, selected-axis return, and all-axis return | `tests/gcode/linuxcnc_predefined_positions.ngc` |
| Machine-coordinate move `G53` | covered for explicit/modal `G0`, `G1`, arc rejection, and incremental-mode rejection through LinuxCNC native/source backends | `tests/gcode/linuxcnc_machine_coordinates.ngc`, `tests/gcode/linuxcnc_g53_arc_error.ngc`, `tests/gcode/linuxcnc_g53_incremental_error.ngc` |