diff --git a/wasm-port/docs/compatibility-validation.md b/wasm-port/docs/compatibility-validation.md index d41c9a2..73a80d7 100644 --- a/wasm-port/docs/compatibility-validation.md +++ b/wasm-port/docs/compatibility-validation.md @@ -124,20 +124,19 @@ The current fixture expectations validate standalone behavior against both the vendored LinuxCNC source path and an upstream `rs274` side-by-side baseline for parser/conversion, arc geometry, offsets, feed-control, comment/logging, numbered-parameter, probing, spindle-orient, file-open reset, file-finish, -tool-reload, and O-word subroutine fixtures, plus threading/rigid tap, NURBS -dispatch boundaries, and the comparable canonical runtime edge and program-end -cleanup calls. Fixtures that depend on standalone-only runtime adapters, -HAL/INI/tool table setup, upstream `rs274` output gaps such as `WAIT` or hidden -NURBS control-point detail, or richer machine session state still need -dedicated native LinuxCNC baselines. +tool-reload, canned-cycle, and O-word subroutine fixtures, plus +threading/rigid tap, NURBS dispatch boundaries, and the comparable canonical +runtime edge and program-end cleanup calls. Fixtures that depend on +standalone-only runtime adapters, HAL/INI/tool table setup, upstream `rs274` +output gaps such as `WAIT` or hidden NURBS control-point detail, or richer +machine session state still need dedicated native LinuxCNC baselines. Remaining positive fixtures that are not in the upstream `rs274` side-by-side baseline are intentionally held out until they get a dedicated native LinuxCNC -baseline: `canned_cycles` currently exposes G83 retract-height canonical detail -that should not be filtered away, `namedparam_semantics` depends on standalone -INI/HAL adapter resolution, `state_tag_motion` validates the standalone -state-tag capture boundary, and `tool_semantics`/`tool_table_setup` depend on -tool table host state. +baseline: `namedparam_semantics` depends on standalone INI/HAL adapter +resolution, `state_tag_motion` validates the standalone state-tag capture +boundary, and `tool_semantics`/`tool_table_setup` depend on tool table host +state. The kinematics probes currently cover LinuxCNC identity/trivial kinematics, the switchable `5axiskins` XYZBCW bridge-mill model, TRT `xyzac`/`xyzbc` diff --git a/wasm-port/docs/drift-report.md b/wasm-port/docs/drift-report.md index e4965bc..f6ee7ca 100644 --- a/wasm-port/docs/drift-report.md +++ b/wasm-port/docs/drift-report.md @@ -69,14 +69,14 @@ semantic rewrites: path. The upstream `rs274` side-by-side baseline now covers simple motion, arc geometry, offsets, feed-control, comment/logging, numbered-parameter, probing, spindle-orient, file-open reset, file-finish, tool-reload, and - O-word subroutine fixtures; it also covers threading/rigid tap, NURBS - dispatch boundaries, and comparable canonical runtime edge and program-end - cleanup calls. Adapter-heavy fixtures, standalone modal-state assertions, and - upstream `rs274` output gaps such as `WAIT` or hidden NURBS control-point - detail still need dedicated native LinuxCNC baselines. -- `canned_cycles` is not yet in the upstream `rs274` side-by-side baseline - because G83 currently exposes retract-height canonical detail that needs a - dedicated native LinuxCNC baseline instead of broad event filtering. + canned-cycle and O-word subroutine fixtures; it also covers threading/rigid + tap, NURBS dispatch boundaries, and comparable canonical runtime edge and + program-end cleanup calls. Adapter-heavy fixtures, standalone modal-state + assertions, and upstream `rs274` output gaps such as `WAIT` or hidden NURBS + control-point detail still need dedicated native LinuxCNC baselines. +- `canned_cycles` is now in the upstream `rs274` side-by-side baseline after + the minimal interpreter harness was aligned with LinuxCNC `Interp::init()` + default `G73/G83` peck-clearance values for millimeter units. ## Current Drift Conclusion diff --git a/wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_harness.cpp b/wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_harness.cpp index 53b63b3..c9eec1f 100644 --- a/wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_harness.cpp +++ b/wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_harness.cpp @@ -81,6 +81,8 @@ void initialize_minimal_interp(Interp &interp) interp._setup.parameter_occurrence = 0; interp._setup.num_spindles = 1; interp._setup.feature_set = FEATURE_INI_VARS | FEATURE_HAL_PIN_VARS; + interp._setup.parameter_g73_peck_clearance = 1.0; + interp._setup.parameter_g83_peck_clearance = 1.0; interp._setup.parameters[5599] = 1.0; interp.load_tool_table(); std::memcpy(interp._readers, Interp::default_readers, sizeof(Interp::default_readers)); diff --git a/wasm-port/tests/fixtures/canon/canned_cycles.events b/wasm-port/tests/fixtures/canon/canned_cycles.events index bea8eee..8b2733e 100644 --- a/wasm-port/tests/fixtures/canon/canned_cycles.events +++ b/wasm-port/tests/fixtures/canon/canned_cycles.events @@ -17,10 +17,10 @@ canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.2 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.1 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 -canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=-0.1 a=0 b=0 c=0 u=0 v=0 w=0 +canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.9 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.35 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 -canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=-0.35 a=0 b=0 c=0 u=0 v=0 w=0 +canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.65 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.6 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=COMMENT: interpreter: motion mode set to none diff --git a/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh b/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh index 5f61c1c..7e466f7 100755 --- a/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh +++ b/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh @@ -9,6 +9,7 @@ CANON_FIXTURE_DIR="$ROOT_DIR/tests/fixtures/canon" FIXTURES=( minimal_linear arc_semantics + canned_cycles canon_runtime_edges comment_logging coordinate_offsets