diff --git a/wasm-port/docs/compatibility-validation.md b/wasm-port/docs/compatibility-validation.md index 1dad572..06b0b85 100644 --- a/wasm-port/docs/compatibility-validation.md +++ b/wasm-port/docs/compatibility-validation.md @@ -110,7 +110,7 @@ machine-session validation remain future work. 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, offsets, feed-control, comment/logging, numbered-parameter, -spindle-orient, file-open reset, file-finish, tool-reload, and O-word +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, diff --git a/wasm-port/docs/drift-report.md b/wasm-port/docs/drift-report.md index 757c652..f1933cf 100644 --- a/wasm-port/docs/drift-report.md +++ b/wasm-port/docs/drift-report.md @@ -67,13 +67,13 @@ semantic rewrites: source. - Fixture expectations are checked against the standalone vendored source path. The upstream `rs274` side-by-side baseline now covers simple motion, - offsets, feed-control, comment/logging, numbered-parameter, 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. + 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. ## Current Drift Conclusion diff --git a/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh b/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh index bac3c67..99ec0b9 100755 --- a/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh +++ b/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh @@ -24,6 +24,7 @@ FIXTURES=( oword_subroutine percent_file_finish position_params + probe_semantics program_end_modal_reset spindle_orient threading_sync @@ -328,6 +329,16 @@ normalize_standalone_events() { next } + if (line == "TURN_PROBE_ON" || line == "TURN_PROBE_OFF") { + print line + next + } + + if (line ~ /^STRAIGHT_PROBE /) { + print "STRAIGHT_PROBE" + next + } + if (line ~ /^STRAIGHT_(TRAVERSE|FEED) /) { split(line, fields, /[[:space:]]+/) for (i in fields) { @@ -598,6 +609,18 @@ normalize_upstream_rs274_output() { next } + if (line == "TURN_PROBE_ON()" || line == "TURN_PROBE_OFF()") { + value = line + sub(/\(\)$/, "", value) + print value + next + } + + if (line ~ /^STRAIGHT_PROBE\(/) { + print "STRAIGHT_PROBE" + next + } + if (line ~ /^STRAIGHT_(TRAVERSE|FEED)\(/) { op = line sub(/\(.*/, "", op)