Ali Khaleqi Yekta
11/30/2025, 11:54 AMromainguy
11/30/2025, 6:31 PMromainguy
11/30/2025, 6:31 PMromainguy
11/30/2025, 6:32 PMromainguy
11/30/2025, 6:32 PMAli Khaleqi Yekta
12/01/2025, 6:07 AMandroidx.compose.ui.graphics.Color (src) just uses sRGB, made me doubt that maybe trying to put any wide gamut colors into display may actually render/display that color in the sRGB space regardless.Ali Khaleqi Yekta
12/01/2025, 6:07 AMThe problem though is that Canvas always converts to sRGB at the momentExactly my question!
Ali Khaleqi Yekta
12/01/2025, 6:08 AM(which is fine for oklab since the display isn’t oklab)I don't understand. What do you mean by display isn't oklab?
Ali Khaleqi Yekta
12/01/2025, 6:12 AMoklch(...) as the default way of defining colors, specially after Tailwind moved completely from rgb in v3 to oklab in v4, as, well, for many reasons, but one being that it essentially contains more vibrant colors that RGB lacks.
oklab is used to animate colors already...another perk of the oklab colorspace as the default is exactly this. No need for going back and forth between srgb and oklab. Color mixing can be most natural and color display can be more vibrant.
romainguy
12/01/2025, 6:16 AMromainguy
12/01/2025, 6:17 AMromainguy
12/01/2025, 6:17 AMromainguy
12/01/2025, 6:20 AMromainguy
12/01/2025, 6:21 AMromainguy
12/01/2025, 6:23 AMAli Khaleqi Yekta
12/01/2025, 6:41 AMromainguy
12/01/2025, 6:43 AMromainguy
12/01/2025, 6:44 AMAli Khaleqi Yekta
12/01/2025, 6:44 AMStandardizing on a single color space is not ideal btw.And may I ask for this particular point you mentioned, is it ideal for application-level design system palettes to default to oklab? I don't know much in this area, I assumed following web best practices can't be that bad.
romainguy
12/01/2025, 6:45 AMAli Khaleqi Yekta
12/01/2025, 6:46 AM(also Oklab is not perfect either and has its own issues)Oh, that's not good. So I guess there's no "pick and forget" approach to this.
romainguy
12/01/2025, 6:46 AMAli Khaleqi Yekta
12/01/2025, 6:48 AMromainguy
12/01/2025, 6:48 AMromainguy
12/01/2025, 6:49 AMAli Khaleqi Yekta
12/01/2025, 6:49 AMYou're still bound by what the render targetOh yes that's for sure, but I just wanted every choice to be good on my side. Of course we can't even guarantee the target screen would have colors at all, or if the user is not color blind, etc.
Ali Khaleqi Yekta
12/01/2025, 6:51 AMromainguy
12/01/2025, 6:55 AMromainguy
12/01/2025, 6:56 AMromainguy
12/01/2025, 6:56 AMromainguy
12/01/2025, 6:57 AMromainguy
12/01/2025, 6:57 AMromainguy
12/01/2025, 6:58 AMromainguy
12/01/2025, 6:58 AMAli Khaleqi Yekta
12/01/2025, 6:59 AMromainguy
12/01/2025, 7:01 AMAli Khaleqi Yekta
12/01/2025, 7:02 AMromainguy
12/01/2025, 7:04 AMromainguy
12/01/2025, 7:05 AMAli Khaleqi Yekta
12/01/2025, 7:08 AMThis would therefore require introducing new APIs likeAnd this is a new issue. In 2025. Over one of the most primitive things about UIs.andLong.toPlatformColorLong()Long.toComposeColorLong()
romainguy
12/01/2025, 7:12 AM