Description
Tested versions
v4.4.1.stable.official [49a5bc7]
v4.5.dev4.official [209a446]
System information
Godot v4.5.dev4 - macOS Sequoia (15.3.2) - Multi-window, 2 monitors - Metal (Forward+) - integrated Apple M2 (Apple8) - Apple M2 (8 threads)
Issue description
The fields in Snap Settings don't interpret the values the same way inspector properties do. I think it would be nice to unify this.
Also the snap settings accept any arbitrary text with no feedback. This is most noticeable when I mistakenly type a comma instead of a dot as a decimal separator. Inspector fields handle this gracefully (I love it).
I would expect the fields to interpret the expression, like the inspector fields would. Or at least zero out the fields instead of keeping the invalid values ("a" for rotation snap) there.
Link to the Snap Settings in source code, they are all plain LineEdits.
Steps to reproduce
Open the Snap Settings dialog in 3D > Transform (top bar) > Configure Snap... and try inputting an invalid value into the fields (all three fields act the same)
Some examples:
0,1
-->0
, because comma is not interpreted as a decimal separator and zero is the first number.5+5
-->5
, similar to above - the expression isn't evaluateda
-->0
, I'm guessing the fallback for invalid number parse is zero. This is correct, but I'd expect the field to reflect that.-1
-->1
, this one behaves correctly. I'd expect it to turn into a1
in the dialog though.
Also the invalid values (like the letter a
) stay in the dialog fields when it's closed and opened again. I'd expect the fields it to reflect the interpreted values - if not now, then surely after closing and opening.
Minimal reproduction project (MRP)
No setup needed, this is an editor bug