# 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 - position parameters - canned cycles - coordinate offsets - feed and motion control modes - probe semantics - spindle-synchronized threading and rigid tap - NURBS G5 and G6 - spindle orient - tool semantics and tool table setup - named 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 - 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, and LinuxCNC identity/trivial kinematics probes. Non-trivial kinematics and 5-axis machine baselines remain future work.