mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-12 07:51:11 -05:00
ProgramReader now supports G-code user variables with a two-pass approach: first pass collects variable definitions (name = expression [inline] [global]) and evaluates them via topological sort and ExpressionEvaluator; second pass parses G-code lines with $name substitution and VariableRef tracking on motion and feedrate objects. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>