Files
cnc_wams/wasm-port/docs/scope-and-baseline.md
wangdequan 657eecfcc3 按规划继续工作
结论:新增 namedparam_ini_semantics 夹具,将本地命名参数和 _ini[...] 查询纳入 upstream rs274 -i 基线,并接入 Node WASM 与浏览器 INI-aware 解释器 smoke;HAL 查询继续保留在 standalone adapter 边界。
2026-06-08 12:18:02 +08:00

72 lines
2.1 KiB
Markdown

# 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
Machine baseline is still limited to standalone interpreter, trajectory
planner, LinuxCNC identity/trivial kinematics, LinuxCNC `5axiskins` XYZBCW
bridge-mill probing, and LinuxCNC TRT `xyzac`/`xyzbc` probing. Additional
non-trivial kinematics and fuller machine baselines remain future work.