Current extruder position, tracked by trackE and reset by G92
Width of extruded material, in millimeters, for paths created from here
on, or undefined until slicer metadata announces one.
Whether the axes have been homed (G28).
Height of the extruded line, in millimeters, for paths created from here
on, or undefined until slicer metadata announces one.
Shift between the logical G-code coordinates and the physical position,
created by G92: physical = logical + positionShift.
G92 gives the current position new coordinates without moving the
printhead. The state keeps tracking the physical position in x/y/z,
so move handlers add this shift to incoming X/Y/Z parameters to translate
them back into physical space. Mirrors Marlin's position_shift, and is
kept separate from future home offsets (M206/M428) so the two can compose.
E is deliberately not part of the shift: as in Marlin, G92 E sets the
extruder position (e) directly.
Whether E parameters are relative distances (M83) rather than absolute extruder positions (M82).
Currently active tool
Current units (millimeters or inches)
Current X position, or undefined until the axis is homed (G28)
Current Y position, or undefined until the axis is homed (G28)
Current Z position, or undefined until the axis is homed (G28)
StaticinitialGets a new State instance with default initial values
New State with an un-homed (unknown) position, e=0, tool=0, units='mm'
Represents the current state of the print job
Remarks
Tracks the current position, extrusion state, active tool, and units