diff --git a/wasm-port/docs/compatibility-validation.md b/wasm-port/docs/compatibility-validation.md index 32e34cd..835a193 100644 --- a/wasm-port/docs/compatibility-validation.md +++ b/wasm-port/docs/compatibility-validation.md @@ -110,9 +110,10 @@ 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-finish, and tool-reload fixtures. Fixtures that depend on -standalone-only runtime adapters, HAL/INI/tool table setup, or richer machine -session state still need dedicated native LinuxCNC baselines. +spindle-orient, file-open reset, file-finish, tool-reload, and O-word +subroutine fixtures. Fixtures that depend on standalone-only runtime adapters, +HAL/INI/tool table setup, or richer machine session state still need dedicated +native LinuxCNC baselines. The kinematics probes currently cover LinuxCNC identity/trivial kinematics, the switchable `5axiskins` XYZBCW bridge-mill model, and the TRT `xyzac`/`xyzbc` diff --git a/wasm-port/docs/drift-report.md b/wasm-port/docs/drift-report.md index fcf3921..a604c6d 100644 --- a/wasm-port/docs/drift-report.md +++ b/wasm-port/docs/drift-report.md @@ -68,8 +68,8 @@ semantic rewrites: - 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-finish, and tool-reload fixtures; adapter-heavy fixtures still need - dedicated native LinuxCNC baselines. + file-open reset, file-finish, tool-reload, and O-word subroutine fixtures; + adapter-heavy fixtures still need dedicated native LinuxCNC baselines. ## Current Drift Conclusion diff --git a/wasm-port/docs/porting-steps-standalone.md b/wasm-port/docs/porting-steps-standalone.md index f22e31e..45e1b4a 100644 --- a/wasm-port/docs/porting-steps-standalone.md +++ b/wasm-port/docs/porting-steps-standalone.md @@ -506,7 +506,8 @@ Current verified progress: side-by-side baseline against upstream `../linuxcnc/bin/rs274`. It normalizes native LinuxCNC canonical output for simple motion, offsets, feed-control, comment/logging, numbered-parameter, spindle-orient, file-finish, and - tool-reload fixtures, filters native output to the event classes each + tool-reload fixtures. It now also includes file-open reset and O-word + subroutine fixture coverage, filters native output to the event classes each standalone fixture explicitly expects, and compares the result without introducing a project-authored CNC semantics oracle. - `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and diff --git a/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh b/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh index 58c10eb..63e5bae 100755 --- a/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh +++ b/wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh @@ -12,11 +12,13 @@ FIXTURES=( coordinate_offsets cutter_comp_motion feed_control_modes + file_open_reset g53_machine_coordinates length_units plane_selection modal_incremental numbered_params + oword_subroutine percent_file_finish position_params spindle_orient @@ -37,10 +39,15 @@ normalize_standalone_events() { return sprintf("%.12g", value + 0) } - /^canon_event=/ { + /^canon_event=/ || /^(STRAIGHT_(TRAVERSE|FEED)|SET_FEED_RATE) / { line = $0 sub(/^canon_event=/, "", line) + if (line == "ON_RESET") { + print line + next + } + if (line ~ /^COMMENT: /) { sub(/^COMMENT: /, "", line) print "COMMENT|" line @@ -228,6 +235,9 @@ normalize_upstream_rs274_output() { sub(/^[[:space:]]*[0-9]+[[:space:]]+N\.\.\.\.\.[[:space:]]+/, "", line) if (line == "ON_RESET()") { + if (!seen_reset) { + print "ON_RESET" + } seen_reset = 1 next }