Clamps are physical fixtures that differ between machines, but one global
clamps.json served every machine, so a plasma table and a fiber laser could
not have different rails.
- MachineConfig.Clamps holds each machine's rail in the machine's units,
edited on a new Clamps tab in Tools > Machine Configuration.
- New and BOM import give a nest the rail of the machine they assign;
Nest > Clamps loads and saves the nest's machine's clamps. Each nest keeps
its own copy, so machine edits never move existing nests' clamps.
- At startup, while no machine has clamps, the legacy clamps.json (or the
server's shared copy) is copied once into the default or only machine;
with several machines and no default the user picks one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The flat ten-row list squeezed the quadrant picker to 120x28 and gave no
hint of units or where the defaults are saved. Group the fields (General,
Plate Size, Quadrant, Spacing), lay the edge spacings out around a plate,
show in/mm suffixes, and convert the values when the units switch so a
48 in plate does not silently become 48 mm.
The footer says whether Save writes to this PC or the shared nest server,
and Save is disabled while the shared copy is read-only instead of
failing after the click.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>