As a Roblox developer, it is currently impossible to perform math directly on Color3 values.
If Roblox is able to address this issue, it would improve my development experience because there would be no more need to convert Color3s to Vector3s to do simple math on Color3 values.
Color3s and Vector3s are extremely similar but Color3s lack so many of the features that Vector3s have.
I propose that Vector3 math is applied to Color3s values. Additionally, or in place the above, I propose the following methods be added:
Color3 Color3.fromVector3(Vector3 color)
Vector3 Color3:ToVector3()
These methods simply treat r as x, g as y, and b as z.
Examples:
local color = Color3.fromVector3(Vector3.new(255, 127, 0)/255) -- Orange
color = color + Color3.new(0, -0.5, 1) -- Magenta
-- Possibly?
color = color - Vector3.new(0, -0.5, 1) -- Back to orange?
color = color:ToVector3() -- 1, 0.5, 0