### Godot version

4.0.2

### System information

Ubuntu 22.04.1 LTS

### Issue description

![image](https://github.com/godotengine/godot/assets/85438892/4bd89bb0-f4d9-4aa9-8846-0a728e97e1bc)

Notice how the hue is on the blue color, but the saturation is insists on remaining red.

If I change the saturation a little bit, the correct value will apply. But if I adjust the value or the alpha, the blue hue will be punched out and become red again.

### Steps to reproduce

Go to a ColorPicker in the editor (say, the modulate property of Node2D), open the color picker, and copy the above configuration in the HSV tab.

### Minimal reproduction project

N/A
shader_type canvas_item;
void fragment() {
	float x = UV.x - 0.5;
	float y = UV.y - 0.5;
	float a = atan(y, x);
	x += 0.001;
	y += 0.001;
	float b = float(sqrt(x * x + y * y) < 0.5) * float(sqrt(x * x + y * y) > 0.42);
	x -= 0.002;
	float b2 = float(sqrt(x * x + y * y) < 0.5) * float(sqrt(x * x + y * y) > 0.42);
	y -= 0.002;
	float b3 = float(sqrt(x * x + y * y) < 0.5) * float(sqrt(x * x + y * y) > 0.42);
	x += 0.002;
	float b4 = float(sqrt(x * x + y * y) < 0.5) * float(sqrt(x * x + y * y) > 0.42);
	COLOR = vec4(clamp((abs(fract(((a - TAU) / TAU) + vec3(3.0, 2.0, 1.0) / 3.0) * 6.0 - 3.0) - 1.0), 0.0, 1.0), (b + b2 + b3 + b4) / 4.00);
}
)");
	circle_shader.instantiate();
	circle_shader->set_code(R"(
// ColorPicker circle shader.
shader_type canvas_item;
uniform float v = 1.0;
void fragment() {
	float x = UV.x - 0.5;
	float y = UV.y - 0.5;
	float a = atan(y, x);
	x += 0.001;
	y += 0.001;
	float b = float(sqrt(x * x + y * y) < 0.5);
	x -= 0.002;