Files
wasm-simulator/docs/linuxcnc-kinematics-source-map.md

2.7 KiB

LinuxCNC kinematics source map

This map tracks the LinuxCNC source/configuration basis for kinematics, switchkins, RTCP, and M428/M429/M430 remap coverage. It is intentionally a source-coverage document: the manifest entries here must not become browser or application behavior by themselves.

Manifest groups

The kinematics manifest currently contains these LinuxCNC-root relative source groups:

Group Count Source coverage role
core 30 LinuxCNC kinematics and posemath C/C++ sources.
config 33 LinuxCNC switchkins INI/HAL/POSTGUI sources used by M428/M429/M430 and RTCP coverage.
remap 31 LinuxCNC M428/M429/M430 remap subroutines.
component 8 LinuxCNC halcompile component sources referenced by kinematics configs.
generated 8 LinuxCNC halcompile-generated C sources adjacent to component coverage.
header 13 LinuxCNC kinematics and posemath declarations.
metadata 34 LinuxCNC build/manpage metadata adjacent to covered kinematics sources.
asset 122 LinuxCNC INI-adjacent HAL, README, GUI, demo, PYVCP, and other source assets.
tooldata 10 LinuxCNC tool table files referenced by covered M428/M429/M430 INI files.

LinuxCNC Source Anchors

  • src/emc/kinematics/Submakefile defines the kinematics build source surface, including GENSERKINSSRCS.
  • src/emc/kinematics/kinematics.h declares kinematicsInverse() and kinematicsSwitch() for switchkins-capable modules.
  • configs/sim/axis/vismach/5axis/bridgemill/5axis.ini wires motion.switchkins-type and representative M428/M429/M430 switchkins configuration.
  • configs/sim/axis/vismach/5axis/bridgemill/remap_subs/428remap.ngc provides a representative #<kinstype> remap assignment.

Boundaries

  • asset, metadata, header, and tooldata entries are source coverage, not browser API surface.
  • Browser-side file persistence remains OPFS-only and is not expanded by this manifest.
  • Switchkins/remap generation must continue to derive M428/M429/M430 cases from LinuxCNC INI/HAL/remap sources, not from hand-authored behavior.
  • RTCP and five-axis coverage must remain tied to LinuxCNC kinematics sources, remap files, and configuration files.

Checks

Run:

./check-linuxcnc-kinematics-source-map.sh
./check-linuxcnc-inputs.sh linuxcnc-kinematics-source-files.txt --require-kinematics-complete
./check-linuxcnc-switchkins-remap-table.sh linuxcnc-kinematics-source-files.txt

check-linuxcnc-kinematics-source-map.sh keeps this document's group counts in sync with linuxcnc-kinematics-source-files.txt; the input and table checkers validate LinuxCNC source existence, directory completeness, remap kinstype notes, and switchkins/remap table generation.