Files
cnc_wams/wasm-port/docs/scope-and-baseline.md
wangdequan 3a58f1e495 按规划持续工作
结论:已接通 vendored LinuxCNC interp_remap.cc 的 NGC REMAP 描述符解析路径,新增 native harness 验证 xyzac/xyzbc 的 M428/M429/M430 映射,未实现自写 M 码语义。
2026-06-08 15:54:07 +08:00

2.5 KiB

Scope And Baseline

Upstream Source Baseline

The standalone port currently treats ../linuxcnc/ as the read-only upstream source provider.

  • Upstream repository: ../linuxcnc
  • Upstream branch at baseline: master
  • Upstream commit: 60597ee0718873d2449058c824262a275e5e4bad
  • Upstream subject: Merge pull request #4043 from grandixximo/docs-inkscape-rsvg-shim
  • Upstream author: andypugh
  • Upstream commit date: 2026-05-19T15:26:50+01:00

The upstream working tree is allowed to contain unrelated local files, but the vendored-source validation is tied to the commit above. If upstream HEAD changes, re-run extraction intentionally and update this baseline in the same change.

Local Build Assumptions

  • C++ compiler: g++ (Debian 14.2.0-19) 14.2.0
  • C compiler: gcc (Debian 14.2.0-19) 14.2.0
  • Python: Python 3.13.5
  • Node.js: v20.19.2
  • Emscripten: emcc 3.1.69

Current Fixture Baseline

The native standalone validation currently uses the fixture set under tests/fixtures/.

G-code fixture coverage includes:

  • linear traverse and feed
  • arc semantics
  • modal incremental and absolute distance modes
  • length unit switching
  • plane selection
  • position parameters
  • canned cycles
  • coordinate offsets
  • G53 machine-coordinate motion
  • feed and motion control modes
  • cutter compensation motion
  • probe semantics
  • spindle-synchronized threading and rigid tap
  • NURBS G5 and G6
  • spindle orient
  • tool semantics and tool table setup
  • local, INI-backed named parameters and numbered parameters
  • O-word subroutines
  • program-end modal reset
  • canonical runtime edge calls

Negative fixture coverage includes:

  • zero-feed G1
  • arc radius mismatch
  • zero-radius arc
  • cutter compensation plane-change rejection
  • G53 incremental-mode rejection
  • read-only named parameter writes
  • read-only numbered parameter writes
  • missing tool
  • missing tool length offset

The native baseline compares those negative fixtures with upstream rs274 -g for expected error text and absent canonical-event constraints.

Machine baseline is still limited to standalone interpreter, trajectory planner, LinuxCNC identity/trivial kinematics, LinuxCNC 5axiskins XYZBCW bridge-mill probing, LinuxCNC TRT xyzac/xyzbc probing, and vendored LinuxCNC five-axis sample machine assets for M428, M429, and M430 switchkins remaps, including LinuxCNC interp_remap.cc descriptor parsing for TRT NGC remaps. Full standalone execution of those remaps still needs LinuxCNC O-word remap dispatch and HAL synchronization boundaries connected.