Convert a user-facing dolly amplitude in PERCENT to the fraction the control
itself holds (15 → 0.15), and back.
The unit split is deliberate. The GUI number controller renders a raw value
with no unit formatting, so a stored fraction would show as 0.15 under a
label promising percent — hence everything user-facing (the settings key, the
zarr attribute, the Python field) carries percent in its NAME, while the
math holds a fraction. These two helpers are the only places the factor of
100 appears, so the conversion cannot be half-applied at one of the three
seams that cross the boundary (control construction, the live setter, and
the read-back in syncCurrentState).
Convert a user-facing dolly amplitude in PERCENT to the fraction the control itself holds (15 → 0.15), and back.
The unit split is deliberate. The GUI number controller renders a raw value with no unit formatting, so a stored fraction would show as
0.15under a label promising percent — hence everything user-facing (the settings key, the zarr attribute, the Python field) carriespercentin its NAME, while the math holds a fraction. These two helpers are the only places the factor of 100 appears, so the conversion cannot be half-applied at one of the three seams that cross the boundary (control construction, the live setter, and the read-back insyncCurrentState).