godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.35k stars 21.25k forks source link

Inconsistency when editing color pickers in debug mode #98559

Open Awfyboy opened 4 weeks ago

Awfyboy commented 4 weeks ago

Tested versions

System information

Godot v4.3.stable - Windows 10.0.22631 - Vulkan (Forward+) - integrated Intel(R) UHD Graphics 630 (Intel Corporation; 31.0.101.2114) - Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz (16 Threads)

Issue description

godot_color_picker

NOTE: the above GIF has been compressed to reduce file size, which is why it looks a little weird.

In the above GIF, I'm attempting to change the modulate property of the dotted line (which is a TextureRect node).

During debug mode, if I try to change the number via the input field, like for example typing in 0 for the alpha, confirming the change (by pressing Enter or click out of the color picker) does not update the modulate property in the game. Attempting to confirm the same color does not work regardless of any other number I type into the input field. Moreover, if I try to use the sliders to change to the value I already typed in, it also doesn't work (see how I typed in 255 but it didn't work, then tried to use the sliders to change to 255 again but it still didn't work). However, if I use my mouse to play with the sliders instead, confirming it does update the modulate property. Only values that I change to by playing with the sliders are saved and updated properly.

It appears that manually typing in numbers into the input fields on the color picker does not confirm my changes, but using the color sliders does. This behaviour is consistent with other color picker fields including shader color hints, exported color variables, color hints on nodes like ColorRect, etc. In my example, I have 'Always on Top' turned on, but the issue persists regardless of the option being on or off.

Steps to reproduce

  1. Create a new project then add in a ColorRect node to a scene. You may make it a root node as well.
  2. Save the scene and play the scene.
  3. Try changing the color by typing in any number into the input fields (like the alpha value for example) in the color picker of the Color property and press Enter. You will notice that the color will not update in debug mode.
  4. Now try using the sliders instead; change the color of the ColorRect using the sliders to some other color then press Enter. The color should now properly update in debug view.

Minimal reproduction project (MRP)

N/A

fire commented 4 weeks ago

Would you say this is a general bug?

Manually typing in numbers into the input fields does not confirm changes, but using the sliders does

Awfyboy commented 4 weeks ago

Maybe? I haven't tested this on other input fields other than color picker.