Skip to content

feat: add G64 command support for LinuxCNC, Fanuc, and Haas dialects - #154

Merged
misiekhardcore merged 1 commit into
mainfrom
feat/g64-command-support
Jun 2, 2026
Merged

misiekhardcore merged 1 commit into
mainfrom
feat/g64-command-support

Conversation

@misiekhardcore

Copy link
Copy Markdown
Contributor

Description

Adds G64 command definitions (hover documentation and auto-completions) to the LinuxCNC, Fanuc, and Haas dialect databases. G64 was previously only defined for the Siemens dialect.

Type of Change

  • New feature (non-breaking change which adds functionality)

Related Issues

N/A

Changes Made

  • LinuxCNC (LinuxcncGCodeCommandDatabase.ts): Added G64 as Path Blending mode with optional P (path deviation tolerance) and Q (naive cam detector tolerance) parameters — the standard LinuxCNC path blending command
  • Fanuc (FanucGCodeCommandDatabase.ts): Added G64 as Cutting Mode (no deceleration at block boundaries) — the standard Fanuc path control mode, no parameters
  • Haas (HaasGCodeCommandDatabase.ts): Added G64 as Cutting Mode — Fanuc-compatible, no parameters
  • CHANGELOG.md: Added entry under [Unreleased] → Added

Testing

  • All existing tests pass (npm test — 1389 tests, 83 suites, all green)
  • Build succeeds (npm run build)
  • New tests added for new functionality — not applicable; database entries are pure data with no branching logic, consistent with all other command entries in the database

Checklist

  • Code follows the project's style guidelines
  • Self-review completed
  • Documentation updated (CHANGELOG)
  • No new warnings generated
  • Type checking passes (npm run typecheck via build)
  • Build succeeds (npm run build)

Additional Notes

Each dialect's G64 description explains the behavioural difference from the other modes (G61 exact stop, G63 tapping) so reviewers unfamiliar with CNC can understand the intent without consulting external docs.

G64 was only defined for Siemens. This adds hover documentation and
completion support for G64 in the remaining three dialects:
- LinuxCNC: Path Blending with optional P (tolerance) and Q (naive cam) parameters
- Fanuc: Cutting Mode (no deceleration at block boundaries, no parameters)
- Haas: Cutting Mode (Fanuc-compatible, no parameters)
@misiekhardcore
misiekhardcore merged commit bb50667 into main Jun 2, 2026
7 of 8 checks passed
@misiekhardcore
misiekhardcore deleted the feat/g64-command-support branch June 2, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant