From 0bb161a4bb410b6a5acccc427bc450f00bd44729 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 7 Jun 2026 23:10:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E5=BB=BA=E8=AE=AE=EF=BC=8C=E7=BB=A7?= =?UTF-8?q?=E7=BB=AD=E5=AE=8C=E6=88=90=E5=90=8E=E7=BB=AD=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 结论:probe_semantics 已纳入 native LinuxCNC rs274 side-by-side fixture baseline,验证文档已同步,完整 native probes 验证通过。 --- wasm-port/docs/compatibility-validation.md | 2 +- wasm-port/docs/drift-report.md | 14 +++++------ ...verify_native_linuxcnc_fixture_baseline.sh | 23 +++++++++++++++++++ 3 files changed, 31 insertions(+), 8 deletions(-) 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)