-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Introduce color interpolation based on the LAB color-space #6782
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce color interpolation based on the LAB color-space #6782
Conversation
|
@tjzel @piaskowyk would appreciate a go/no-go on this |
|
Hey @d4vidi, thanks for your contribution! This looks interesting and I see no reason not to add this to Reanimated. We'll circle back to it once we start preparing 3.17.0 release. |
Super, thanks. I'm @d4vidi, BTW 😅 |
|
Haha, sorry, I'm used to doing @ and the first letter to get the OPs name, no idea where devjs1000 came from 🤭 |
|
What do you mean by include the culori library? We don't want to add any external dependencies to Reanimated if that's what you meant. |
It's cool, I often make the same mistake
I technically ripped code off the culori library in order to convert between the LAB <--> sRGB color spaces. Ideally, I'd like to be able to use the actual library itself, as a node module. |
|
Unfortunately we don't have any production-ready methods to workletize full libraries. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi! Firstly, thanks for your contribution, it's really nice and a pretty interesting feature c:
Moving on to the review, I'd be grateful if you'd comment code in the documentation related to this feature. Please mark it with a - preferably TODO - comment explaining that it would be uncommented when Reanimated including this feature comes out. I'll take care of upgrading Reanimated version in the docs and uncommenting this portion when it'll be available.
As of culori being a dependency - I strongly support what @tjzel said, we are not able to workletize full libraries yet, and culori adding and maintaining workletization of their important functions is probably a no-go. As I checked, your approach to rewriting needed functions to worklets is fine - they seem easy to maintain and we focus only on portions of the library that we require. Please include culori MIT license requests in the code as I mentioned in a review comment.
...cs-reanimated/src/components/InteractivePlayground/useInterpolateColorPlayground/Example.tsx
Outdated
Show resolved
Hide resolved
patrycjakalinska
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few more adjustments ✨
.../InteractivePlayground/useInterpolateColorPlayground/ColorProgressBar/ProgressBarSection.tsx
Show resolved
Hide resolved
...cs-reanimated/src/components/InteractivePlayground/useInterpolateColorPlayground/Example.tsx
Show resolved
Hide resolved
...docs-reanimated/src/components/InteractivePlayground/useInterpolateColorPlayground/index.tsx
Show resolved
Hide resolved
|
@patrycjakalinska So you can say I've pretty much eradicated all mentioning of OKLAB on the docs side; Replaced everything with instructional comments that start with Thanks a lot for all your time and patience! |
|
Hi @d4vidi, good to hear that, as I suspected Docusaurus is randomly not working on my side c': |
This reverts commit b2ff960.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job, thank you for your contribution! ✨ 🚀
Thanks, and thank you for actively maintaining this project. |
|
@d4vidi, currently we freezed merging for maintanance, as soon as it is open, i will run workflows and merge c: |
Got'cha. It's interesting to learn why; As a long time maintainer of other open source projects (e.g. Detox) I'm intrigued to learn more about how you manage the project. Would you mind going on DM, say on Discord, perhaps? |
|
hi @d4vidi, we soon will be ready to merge your PR, please update your branch with main and fix issues with documentation workflow run c: |
|
@patrycjakalinska done 👍🏻 |
<!-- Thanks for submitting a pull request! We appreciate you spending the time to work on these changes. Please follow the template so that the reviewers can easily understand what the code changes affect. --> ## Summary <!-- Explain the motivation for this PR. Include "Fixes #<number>" if applicable. --> In this PR, I've introduced color interpolation based on the [OKLAB](https://en.wikipedia.org/wiki/Oklab_color_space) color space. <img src="https://facelessuser.github.io/coloraide/images/oklab-3d.png" width="33%" height="33%"/> <sup>(image credit: <a href="https://facelessuser.github.io/coloraide">ColorAide</a>)</sup> ### Details OKLAB is derived from CIELAB - both considered improvements compared to RGB and HSV/L in terms of color gradient computation, as the linear interpolations over their channels results in a smoother experience. That's for 2 reasons: 1. The color space tends to better preserve light intensity across the transition (largely thanks to the L channel) 1. They minimize the inter-color transitivity **L\*a\*b\* does often yield results very similar to RGB w/ gamma correction, as in the case of the default colors on the web-site:**  Nevertheless, there are some cases where the result can be considered better. Going from red to blue, for example, LAB shows a smoother transition with less intermediate coloring (purple in this case):  Also, in yellow-to-blue, LAB better preserves lightness:  ### Things to notice * In my implementation, I've completely relied on `culori`, but had to rip their code off from it (all-the-while keeping the credit). I couldn't use it as-is, because I had no way to specify it's meant for off-loaded execution (i.e. using the `worklet` notation). **I could definitely use some advice with that** by the maintainers ❗ * In terms of user-facing API's, I've decided to name the color-space selection `LAB` (alongisde `RGB` and `HSV`), hiding the implementation details (i.e. the underlying selection of _oklab_, in particular). I believe that any future offering of other LAB spaces (e.g. CIELAB) could be introduced by allowing for LAB-specific `options`. * OKLAB is the default implementation in native Android development, offered by Jetpack Compose. ## Motivation There are potential screens in the apps we're working on where a smooth color transition could improve the user experience. We're avid users of `reanimated` and would love to be able to incorporate the best experience though it. ## Test plan <!-- Provide a minimal but complete code snippet that can be used to test out this change along with instructions how to run it and a description of the expected behavior. --> TBD
<!-- Thanks for submitting a pull request! We appreciate you spending the time to work on these changes. Please follow the template so that the reviewers can easily understand what the code changes affect. --> ## Summary <!-- Explain the motivation for this PR. Include "Fixes #<number>" if applicable. --> In this PR, I've introduced color interpolation based on the [OKLAB](https://en.wikipedia.org/wiki/Oklab_color_space) color space. <img src="https://facelessuser.github.io/coloraide/images/oklab-3d.png" width="33%" height="33%"/> <sup>(image credit: <a href="https://facelessuser.github.io/coloraide">ColorAide</a>)</sup> ### Details OKLAB is derived from CIELAB - both considered improvements compared to RGB and HSV/L in terms of color gradient computation, as the linear interpolations over their channels results in a smoother experience. That's for 2 reasons: 1. The color space tends to better preserve light intensity across the transition (largely thanks to the L channel) 1. They minimize the inter-color transitivity **L\*a\*b\* does often yield results very similar to RGB w/ gamma correction, as in the case of the default colors on the web-site:**  Nevertheless, there are some cases where the result can be considered better. Going from red to blue, for example, LAB shows a smoother transition with less intermediate coloring (purple in this case):  Also, in yellow-to-blue, LAB better preserves lightness:  ### Things to notice * In my implementation, I've completely relied on `culori`, but had to rip their code off from it (all-the-while keeping the credit). I couldn't use it as-is, because I had no way to specify it's meant for off-loaded execution (i.e. using the `worklet` notation). **I could definitely use some advice with that** by the maintainers ❗ * In terms of user-facing API's, I've decided to name the color-space selection `LAB` (alongisde `RGB` and `HSV`), hiding the implementation details (i.e. the underlying selection of _oklab_, in particular). I believe that any future offering of other LAB spaces (e.g. CIELAB) could be introduced by allowing for LAB-specific `options`. * OKLAB is the default implementation in native Android development, offered by Jetpack Compose. ## Motivation There are potential screens in the apps we're working on where a smooth color transition could improve the user experience. We're avid users of `reanimated` and would love to be able to incorporate the best experience though it. ## Test plan <!-- Provide a minimal but complete code snippet that can be used to test out this change along with instructions how to run it and a description of the expected behavior. --> TBD
…mansion#6782) <!-- Thanks for submitting a pull request! We appreciate you spending the time to work on these changes. Please follow the template so that the reviewers can easily understand what the code changes affect. --> ## Summary <!-- Explain the motivation for this PR. Include "Fixes #<number>" if applicable. --> In this PR, I've introduced color interpolation based on the [OKLAB](https://en.wikipedia.org/wiki/Oklab_color_space) color space. <img src="https://facelessuser.github.io/coloraide/images/oklab-3d.png" width="33%" height="33%"/> <sup>(image credit: <a href="https://facelessuser.github.io/coloraide">ColorAide</a>)</sup> ### Details OKLAB is derived from CIELAB - both considered improvements compared to RGB and HSV/L in terms of color gradient computation, as the linear interpolations over their channels results in a smoother experience. That's for 2 reasons: 1. The color space tends to better preserve light intensity across the transition (largely thanks to the L channel) 1. They minimize the inter-color transitivity **L\*a\*b\* does often yield results very similar to RGB w/ gamma correction, as in the case of the default colors on the web-site:**  Nevertheless, there are some cases where the result can be considered better. Going from red to blue, for example, LAB shows a smoother transition with less intermediate coloring (purple in this case):  Also, in yellow-to-blue, LAB better preserves lightness:  ### Things to notice * In my implementation, I've completely relied on `culori`, but had to rip their code off from it (all-the-while keeping the credit). I couldn't use it as-is, because I had no way to specify it's meant for off-loaded execution (i.e. using the `worklet` notation). **I could definitely use some advice with that** by the maintainers ❗ * In terms of user-facing API's, I've decided to name the color-space selection `LAB` (alongisde `RGB` and `HSV`), hiding the implementation details (i.e. the underlying selection of _oklab_, in particular). I believe that any future offering of other LAB spaces (e.g. CIELAB) could be introduced by allowing for LAB-specific `options`. * OKLAB is the default implementation in native Android development, offered by Jetpack Compose. ## Motivation There are potential screens in the apps we're working on where a smooth color transition could improve the user experience. We're avid users of `reanimated` and would love to be able to incorporate the best experience though it. ## Test plan <!-- Provide a minimal but complete code snippet that can be used to test out this change along with instructions how to run it and a description of the expected behavior. --> TBD
Bumps [axios](https://github.com/axios/axios) from 1.8.4 to 1.12.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/axios/axios/releases">axios's releases</a>.</em></p> <blockquote> <h2>Release v1.12.0</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li>adding build artifacts (<a href="https://github.com/axios/axios/commit/9ec86de257bfa33856571036279169f385ed92bd">9ec86de</a>)</li> <li>dont add dist on release (<a href="https://github.com/axios/axios/commit/a2edc3606a4f775d868a67bb3461ff18ce7ecd11">a2edc36</a>)</li> <li><strong>fetch-adapter:</strong> set correct Content-Type for Node FormData (<a href="https://redirect.github.com/axios/axios/issues/6998">#6998</a>) (<a href="https://github.com/axios/axios/commit/a9f47afbf3224d2ca987dbd8188789c7ea853c5d">a9f47af</a>)</li> <li><strong>node:</strong> enforce maxContentLength for data: URLs (<a href="https://redirect.github.com/axios/axios/issues/7011">#7011</a>) (<a href="https://github.com/axios/axios/commit/945435fc51467303768202250debb8d4ae892593">945435f</a>)</li> <li>package exports (<a href="https://redirect.github.com/axios/axios/issues/5627">#5627</a>) (<a href="https://github.com/axios/axios/commit/aa78ac23fc9036163308c0f6bd2bb885e7af3f36">aa78ac2</a>)</li> <li><strong>params:</strong> removing '[' and ']' from URL encode exclude characters (<a href="https://redirect.github.com/axios/axios/issues/3316">#3316</a>) (<a href="https://redirect.github.com/axios/axios/issues/5715">#5715</a>) (<a href="https://github.com/axios/axios/commit/6d84189349c43b1dcdd977b522610660cc4c7042">6d84189</a>)</li> <li>release pr run (<a href="https://github.com/axios/axios/commit/fd7f404488b2c4f238c2fbe635b58026a634bfd2">fd7f404</a>)</li> <li><strong>types:</strong> change the type guard on isCancel (<a href="https://redirect.github.com/axios/axios/issues/5595">#5595</a>) (<a href="https://github.com/axios/axios/commit/0dbb7fd4f61dc568498cd13a681fa7f907d6ec7e">0dbb7fd</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>adapter:</strong> surface low‑level network error details; attach original error via cause (<a href="https://redirect.github.com/axios/axios/issues/6982">#6982</a>) (<a href="https://github.com/axios/axios/commit/78b290c57c978ed2ab420b90d97350231c9e5d74">78b290c</a>)</li> <li><strong>fetch:</strong> add fetch, Request, Response env config variables for the adapter; (<a href="https://redirect.github.com/axios/axios/issues/7003">#7003</a>) (<a href="https://github.com/axios/axios/commit/c959ff29013a3bc90cde3ac7ea2d9a3f9c08974b">c959ff2</a>)</li> <li>support reviver on JSON.parse (<a href="https://redirect.github.com/axios/axios/issues/5926">#5926</a>) (<a href="https://github.com/axios/axios/commit/2a9763426e43d996fd60d01afe63fa6e1f5b4fca">2a97634</a>), closes <a href="https://redirect.github.com/axios/axios/issues/5924">#5924</a></li> <li><strong>types:</strong> extend AxiosResponse interface to include custom headers type (<a href="https://redirect.github.com/axios/axios/issues/6782">#6782</a>) (<a href="https://github.com/axios/axios/commit/7960d34eded2de66ffd30b4687f8da0e46c4903e">7960d34</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/WillianAgostini" title="+132/-16760 ([#7002](axios/axios#7002) [#5926](axios/axios#5926) [#6782](axios/axios#6782) )">Willian Agostini</a></li> <li> <a href="https://github.com/DigitalBrainJS" title="+4263/-293 ([#7006](axios/axios#7006) [#7003](axios/axios#7003) )">Dmitriy Mozgovoy</a></li> <li> <a href="https://github.com/mkhani01" title="+111/-15 ([#6982](axios/axios#6982) )">khani</a></li> <li> <a href="https://github.com/AmeerAssadi" title="+123/-0 ([#7011](axios/axios#7011) )">Ameer Assadi</a></li> <li> <a href="https://github.com/emiedonmokumo" title="+55/-35 ([#6998](axios/axios#6998) )">Emiedonmokumo Dick-Boro</a></li> <li> <a href="https://github.com/opsysdebug" title="+8/-8 ([#6980](axios/axios#6980) )">Zeroday BYTE</a></li> <li> <a href="https://github.com/jasonsaayman" title="+7/-7 ([#6985](axios/axios#6985) [#6985](axios/axios#6985) )">Jason Saayman</a></li> <li> <a href="https://github.com/HealGaren" title="+5/-7 ([#5715](axios/axios#5715) )">최예찬</a></li> <li> <a href="https://github.com/gligorkot" title="+3/-1 ([#5627](axios/axios#5627) )">Gligor Kotushevski</a></li> <li> <a href="https://github.com/adimit" title="+2/-1 ([#5595](axios/axios#5595) )">Aleksandar Dimitrov</a></li> </ul> <h2>Release v1.11.0</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li>form-data npm pakcage (<a href="https://redirect.github.com/axios/axios/issues/6970">#6970</a>) (<a href="https://github.com/axios/axios/commit/e72c193722530db538b19e5ddaaa4544d226b253">e72c193</a>)</li> <li>prevent RangeError when using large Buffers (<a href="https://redirect.github.com/axios/axios/issues/6961">#6961</a>) (<a href="https://github.com/axios/axios/commit/a2214ca1bc60540baf2c80573cea3a0ff91ba9d1">a2214ca</a>)</li> <li><strong>types:</strong> resolve type discrepancies between ESM and CJS TypeScript declaration files (<a href="https://redirect.github.com/axios/axios/issues/6956">#6956</a>) (<a href="https://github.com/axios/axios/commit/8517aa16f8d082fc1d5309c642220fa736159110">8517aa1</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/izzygld" title="+186/-93 ([#6970](axios/axios#6970) )">izzy goldman</a></li> <li> <a href="https://github.com/manishsahanidev" title="+70/-0 ([#6961](axios/axios#6961) )">Manish Sahani</a></li> <li> <a href="https://github.com/noritaka1166" title="+12/-10 ([#6938](axios/axios#6938) [#6939](axios/axios#6939) )">Noritaka Kobayashi</a></li> <li> <a href="https://github.com/jrnail23" title="+13/-2 ([#6956](axios/axios#6956) )">James Nail</a></li> <li> <a href="https://github.com/Tejaswi1305" title="+1/-1 ([#6894](axios/axios#6894) )">Tejaswi1305</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's changelog</a>.</em></p> <blockquote> <h1><a href="https://github.com/axios/axios/compare/v1.11.0...v1.12.0">1.12.0</a> (2025-09-11)</h1> <h3>Bug Fixes</h3> <ul> <li>adding build artifacts (<a href="https://github.com/axios/axios/commit/9ec86de257bfa33856571036279169f385ed92bd">9ec86de</a>)</li> <li>dont add dist on release (<a href="https://github.com/axios/axios/commit/a2edc3606a4f775d868a67bb3461ff18ce7ecd11">a2edc36</a>)</li> <li><strong>fetch-adapter:</strong> set correct Content-Type for Node FormData (<a href="https://redirect.github.com/axios/axios/issues/6998">#6998</a>) (<a href="https://github.com/axios/axios/commit/a9f47afbf3224d2ca987dbd8188789c7ea853c5d">a9f47af</a>)</li> <li><strong>node:</strong> enforce maxContentLength for data: URLs (<a href="https://redirect.github.com/axios/axios/issues/7011">#7011</a>) (<a href="https://github.com/axios/axios/commit/945435fc51467303768202250debb8d4ae892593">945435f</a>)</li> <li>package exports (<a href="https://redirect.github.com/axios/axios/issues/5627">#5627</a>) (<a href="https://github.com/axios/axios/commit/aa78ac23fc9036163308c0f6bd2bb885e7af3f36">aa78ac2</a>)</li> <li><strong>params:</strong> removing '[' and ']' from URL encode exclude characters (<a href="https://redirect.github.com/axios/axios/issues/3316">#3316</a>) (<a href="https://redirect.github.com/axios/axios/issues/5715">#5715</a>) (<a href="https://github.com/axios/axios/commit/6d84189349c43b1dcdd977b522610660cc4c7042">6d84189</a>)</li> <li>release pr run (<a href="https://github.com/axios/axios/commit/fd7f404488b2c4f238c2fbe635b58026a634bfd2">fd7f404</a>)</li> <li><strong>types:</strong> change the type guard on isCancel (<a href="https://redirect.github.com/axios/axios/issues/5595">#5595</a>) (<a href="https://github.com/axios/axios/commit/0dbb7fd4f61dc568498cd13a681fa7f907d6ec7e">0dbb7fd</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>adapter:</strong> surface low‑level network error details; attach original error via cause (<a href="https://redirect.github.com/axios/axios/issues/6982">#6982</a>) (<a href="https://github.com/axios/axios/commit/78b290c57c978ed2ab420b90d97350231c9e5d74">78b290c</a>)</li> <li><strong>fetch:</strong> add fetch, Request, Response env config variables for the adapter; (<a href="https://redirect.github.com/axios/axios/issues/7003">#7003</a>) (<a href="https://github.com/axios/axios/commit/c959ff29013a3bc90cde3ac7ea2d9a3f9c08974b">c959ff2</a>)</li> <li>support reviver on JSON.parse (<a href="https://redirect.github.com/axios/axios/issues/5926">#5926</a>) (<a href="https://github.com/axios/axios/commit/2a9763426e43d996fd60d01afe63fa6e1f5b4fca">2a97634</a>), closes <a href="https://redirect.github.com/axios/axios/issues/5924">#5924</a></li> <li><strong>types:</strong> extend AxiosResponse interface to include custom headers type (<a href="https://redirect.github.com/axios/axios/issues/6782">#6782</a>) (<a href="https://github.com/axios/axios/commit/7960d34eded2de66ffd30b4687f8da0e46c4903e">7960d34</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/WillianAgostini" title="+132/-16760 ([#7002](axios/axios#7002) [#5926](axios/axios#5926) [#6782](axios/axios#6782) )">Willian Agostini</a></li> <li> <a href="https://github.com/DigitalBrainJS" title="+4263/-293 ([#7006](axios/axios#7006) [#7003](axios/axios#7003) )">Dmitriy Mozgovoy</a></li> <li> <a href="https://github.com/mkhani01" title="+111/-15 ([#6982](axios/axios#6982) )">khani</a></li> <li> <a href="https://github.com/AmeerAssadi" title="+123/-0 ([#7011](axios/axios#7011) )">Ameer Assadi</a></li> <li> <a href="https://github.com/emiedonmokumo" title="+55/-35 ([#6998](axios/axios#6998) )">Emiedonmokumo Dick-Boro</a></li> <li> <a href="https://github.com/opsysdebug" title="+8/-8 ([#6980](axios/axios#6980) )">Zeroday BYTE</a></li> <li> <a href="https://github.com/jasonsaayman" title="+7/-7 ([#6985](axios/axios#6985) [#6985](axios/axios#6985) )">Jason Saayman</a></li> <li> <a href="https://github.com/HealGaren" title="+5/-7 ([#5715](axios/axios#5715) )">최예찬</a></li> <li> <a href="https://github.com/gligorkot" title="+3/-1 ([#5627](axios/axios#5627) )">Gligor Kotushevski</a></li> <li> <a href="https://github.com/adimit" title="+2/-1 ([#5595](axios/axios#5595) )">Aleksandar Dimitrov</a></li> </ul> <h1><a href="https://github.com/axios/axios/compare/v1.10.0...v1.11.0">1.11.0</a> (2025-07-22)</h1> <h3>Bug Fixes</h3> <ul> <li>form-data npm pakcage (<a href="https://redirect.github.com/axios/axios/issues/6970">#6970</a>) (<a href="https://github.com/axios/axios/commit/e72c193722530db538b19e5ddaaa4544d226b253">e72c193</a>)</li> <li>prevent RangeError when using large Buffers (<a href="https://redirect.github.com/axios/axios/issues/6961">#6961</a>) (<a href="https://github.com/axios/axios/commit/a2214ca1bc60540baf2c80573cea3a0ff91ba9d1">a2214ca</a>)</li> <li><strong>types:</strong> resolve type discrepancies between ESM and CJS TypeScript declaration files (<a href="https://redirect.github.com/axios/axios/issues/6956">#6956</a>) (<a href="https://github.com/axios/axios/commit/8517aa16f8d082fc1d5309c642220fa736159110">8517aa1</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/izzygld" title="+186/-93 ([#6970](axios/axios#6970) )">izzy goldman</a></li> <li> <a href="https://github.com/manishsahanidev" title="+70/-0 ([#6961](axios/axios#6961) )">Manish Sahani</a></li> <li> <a href="https://github.com/noritaka1166" title="+12/-10 ([#6938](axios/axios#6938) [#6939](axios/axios#6939) )">Noritaka Kobayashi</a></li> <li> <a href="https://github.com/jrnail23" title="+13/-2 ([#6956](axios/axios#6956) )">James Nail</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/axios/axios/commit/0d8ad6e1de0f5339e02bc262d6f0df4936974120"><code>0d8ad6e</code></a> chore(release): v1.12.0 (<a href="https://redirect.github.com/axios/axios/issues/7013">#7013</a>)</li> <li><a href="https://github.com/axios/axios/commit/fd7f404488b2c4f238c2fbe635b58026a634bfd2"><code>fd7f404</code></a> fix: release pr run</li> <li><a href="https://github.com/axios/axios/commit/a2edc3606a4f775d868a67bb3461ff18ce7ecd11"><code>a2edc36</code></a> fix: dont add dist on release</li> <li><a href="https://github.com/axios/axios/commit/9ec86de257bfa33856571036279169f385ed92bd"><code>9ec86de</code></a> fix: adding build artifacts</li> <li><a href="https://github.com/axios/axios/commit/945435fc51467303768202250debb8d4ae892593"><code>945435f</code></a> fix(node): enforce maxContentLength for data: URLs (<a href="https://redirect.github.com/axios/axios/issues/7011">#7011</a>)</li> <li><a href="https://github.com/axios/axios/commit/28e5e3016d6ed0b3ec489427e4ec00133f45ddc2"><code>28e5e30</code></a> chore(sponsor): update sponsor block (<a href="https://redirect.github.com/axios/axios/issues/7005">#7005</a>)</li> <li><a href="https://github.com/axios/axios/commit/d03f245a40ec016b190748a865cce9fe3815c903"><code>d03f245</code></a> chore(CI): fixed release info script to use npm registry instead of git as fi...</li> <li><a href="https://github.com/axios/axios/commit/a0bc91137950f36a1f6b0a2a60d11fd7f245ff0e"><code>a0bc911</code></a> chore: removing dist files from src (<a href="https://redirect.github.com/axios/axios/issues/7002">#7002</a>)</li> <li><a href="https://github.com/axios/axios/commit/c959ff29013a3bc90cde3ac7ea2d9a3f9c08974b"><code>c959ff2</code></a> feat(fetch): add fetch, Request, Response env config variables for the adapte...</li> <li><a href="https://github.com/axios/axios/commit/a9f47afbf3224d2ca987dbd8188789c7ea853c5d"><code>a9f47af</code></a> fix(fetch-adapter): set correct Content-Type for Node FormData (<a href="https://redirect.github.com/axios/axios/issues/6998">#6998</a>)</li> <li>Additional commits viewable in <a href="https://github.com/axios/axios/compare/v1.8.4...v1.12.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/software-mansion/react-native-reanimated/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [axios](https://github.com/axios/axios) from 1.8.4 to 1.12.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/axios/axios/releases">axios's releases</a>.</em></p> <blockquote> <h2>Release v1.12.2</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li><strong>fetch:</strong> use current global fetch instead of cached one when env fetch is not specified to keep MSW support; (<a href="https://redirect.github.com/axios/axios/issues/7030">#7030</a>) (<a href="https://github.com/axios/axios/commit/cf78825e1229b60d1629ad0bbc8a752ff43c3f53">cf78825</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/DigitalBrainJS" title="+247/-16 ([#7030](axios/axios#7030) [#7022](axios/axios#7022) [#7024](axios/axios#7024) )">Dmitriy Mozgovoy</a></li> <li> <a href="https://github.com/noritaka1166" title="+2/-6 ([#7028](axios/axios#7028) [#7029](axios/axios#7029) )">Noritaka Kobayashi</a></li> </ul> <h2>Release v1.12.1</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li><strong>types:</strong> fixed env config types; (<a href="https://redirect.github.com/axios/axios/issues/7020">#7020</a>) (<a href="https://github.com/axios/axios/commit/b5f26b75bdd9afa95016fb67d0cab15fc74cbf05">b5f26b7</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/DigitalBrainJS" title="+10/-4 ([#7020](axios/axios#7020) )">Dmitriy Mozgovoy</a></li> </ul> <h2>Release v1.12.0</h2> <h2>Release notes:</h2> <h3>Bug Fixes</h3> <ul> <li>adding build artifacts (<a href="https://github.com/axios/axios/commit/9ec86de257bfa33856571036279169f385ed92bd">9ec86de</a>)</li> <li>dont add dist on release (<a href="https://github.com/axios/axios/commit/a2edc3606a4f775d868a67bb3461ff18ce7ecd11">a2edc36</a>)</li> <li><strong>fetch-adapter:</strong> set correct Content-Type for Node FormData (<a href="https://redirect.github.com/axios/axios/issues/6998">#6998</a>) (<a href="https://github.com/axios/axios/commit/a9f47afbf3224d2ca987dbd8188789c7ea853c5d">a9f47af</a>)</li> <li><strong>node:</strong> enforce maxContentLength for data: URLs (<a href="https://redirect.github.com/axios/axios/issues/7011">#7011</a>) (<a href="https://github.com/axios/axios/commit/945435fc51467303768202250debb8d4ae892593">945435f</a>)</li> <li>package exports (<a href="https://redirect.github.com/axios/axios/issues/5627">#5627</a>) (<a href="https://github.com/axios/axios/commit/aa78ac23fc9036163308c0f6bd2bb885e7af3f36">aa78ac2</a>)</li> <li><strong>params:</strong> removing '[' and ']' from URL encode exclude characters (<a href="https://redirect.github.com/axios/axios/issues/3316">#3316</a>) (<a href="https://redirect.github.com/axios/axios/issues/5715">#5715</a>) (<a href="https://github.com/axios/axios/commit/6d84189349c43b1dcdd977b522610660cc4c7042">6d84189</a>)</li> <li>release pr run (<a href="https://github.com/axios/axios/commit/fd7f404488b2c4f238c2fbe635b58026a634bfd2">fd7f404</a>)</li> <li><strong>types:</strong> change the type guard on isCancel (<a href="https://redirect.github.com/axios/axios/issues/5595">#5595</a>) (<a href="https://github.com/axios/axios/commit/0dbb7fd4f61dc568498cd13a681fa7f907d6ec7e">0dbb7fd</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>adapter:</strong> surface low‑level network error details; attach original error via cause (<a href="https://redirect.github.com/axios/axios/issues/6982">#6982</a>) (<a href="https://github.com/axios/axios/commit/78b290c57c978ed2ab420b90d97350231c9e5d74">78b290c</a>)</li> <li><strong>fetch:</strong> add fetch, Request, Response env config variables for the adapter; (<a href="https://redirect.github.com/axios/axios/issues/7003">#7003</a>) (<a href="https://github.com/axios/axios/commit/c959ff29013a3bc90cde3ac7ea2d9a3f9c08974b">c959ff2</a>)</li> <li>support reviver on JSON.parse (<a href="https://redirect.github.com/axios/axios/issues/5926">#5926</a>) (<a href="https://github.com/axios/axios/commit/2a9763426e43d996fd60d01afe63fa6e1f5b4fca">2a97634</a>), closes <a href="https://redirect.github.com/axios/axios/issues/5924">#5924</a></li> <li><strong>types:</strong> extend AxiosResponse interface to include custom headers type (<a href="https://redirect.github.com/axios/axios/issues/6782">#6782</a>) (<a href="https://github.com/axios/axios/commit/7960d34eded2de66ffd30b4687f8da0e46c4903e">7960d34</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/WillianAgostini" title="+132/-16760 ([#7002](axios/axios#7002) [#5926](axios/axios#5926) [#6782](axios/axios#6782) )">Willian Agostini</a></li> <li> <a href="https://github.com/DigitalBrainJS" title="+4263/-293 ([#7006](axios/axios#7006) [#7003](axios/axios#7003) )">Dmitriy Mozgovoy</a></li> <li> <a href="https://github.com/mkhani01" title="+111/-15 ([#6982](axios/axios#6982) )">khani</a></li> <li> <a href="https://github.com/AmeerAssadi" title="+123/-0 ([#7011](axios/axios#7011) )">Ameer Assadi</a></li> <li> <a href="https://github.com/emiedonmokumo" title="+55/-35 ([#6998](axios/axios#6998) )">Emiedonmokumo Dick-Boro</a></li> <li> <a href="https://github.com/opsysdebug" title="+8/-8 ([#6980](axios/axios#6980) )">Zeroday BYTE</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/axios/axios/compare/v1.12.1...v1.12.2">1.12.2</a> (2025-09-14)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>fetch:</strong> use current global fetch instead of cached one when env fetch is not specified to keep MSW support; (<a href="https://redirect.github.com/axios/axios/issues/7030">#7030</a>) (<a href="https://github.com/axios/axios/commit/cf78825e1229b60d1629ad0bbc8a752ff43c3f53">cf78825</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/DigitalBrainJS" title="+247/-16 ([#7030](axios/axios#7030) [#7022](axios/axios#7022) [#7024](axios/axios#7024) )">Dmitriy Mozgovoy</a></li> <li> <a href="https://github.com/noritaka1166" title="+2/-6 ([#7028](axios/axios#7028) [#7029](axios/axios#7029) )">Noritaka Kobayashi</a></li> </ul> <h2><a href="https://github.com/axios/axios/compare/v1.12.0...v1.12.1">1.12.1</a> (2025-09-12)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>types:</strong> fixed env config types; (<a href="https://redirect.github.com/axios/axios/issues/7020">#7020</a>) (<a href="https://github.com/axios/axios/commit/b5f26b75bdd9afa95016fb67d0cab15fc74cbf05">b5f26b7</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/DigitalBrainJS" title="+10/-4 ([#7020](axios/axios#7020) )">Dmitriy Mozgovoy</a></li> </ul> <h1><a href="https://github.com/axios/axios/compare/v1.11.0...v1.12.0">1.12.0</a> (2025-09-11)</h1> <h3>Bug Fixes</h3> <ul> <li>adding build artifacts (<a href="https://github.com/axios/axios/commit/9ec86de257bfa33856571036279169f385ed92bd">9ec86de</a>)</li> <li>dont add dist on release (<a href="https://github.com/axios/axios/commit/a2edc3606a4f775d868a67bb3461ff18ce7ecd11">a2edc36</a>)</li> <li><strong>fetch-adapter:</strong> set correct Content-Type for Node FormData (<a href="https://redirect.github.com/axios/axios/issues/6998">#6998</a>) (<a href="https://github.com/axios/axios/commit/a9f47afbf3224d2ca987dbd8188789c7ea853c5d">a9f47af</a>)</li> <li><strong>node:</strong> enforce maxContentLength for data: URLs (<a href="https://redirect.github.com/axios/axios/issues/7011">#7011</a>) (<a href="https://github.com/axios/axios/commit/945435fc51467303768202250debb8d4ae892593">945435f</a>)</li> <li>package exports (<a href="https://redirect.github.com/axios/axios/issues/5627">#5627</a>) (<a href="https://github.com/axios/axios/commit/aa78ac23fc9036163308c0f6bd2bb885e7af3f36">aa78ac2</a>)</li> <li><strong>params:</strong> removing '[' and ']' from URL encode exclude characters (<a href="https://redirect.github.com/axios/axios/issues/3316">#3316</a>) (<a href="https://redirect.github.com/axios/axios/issues/5715">#5715</a>) (<a href="https://github.com/axios/axios/commit/6d84189349c43b1dcdd977b522610660cc4c7042">6d84189</a>)</li> <li>release pr run (<a href="https://github.com/axios/axios/commit/fd7f404488b2c4f238c2fbe635b58026a634bfd2">fd7f404</a>)</li> <li><strong>types:</strong> change the type guard on isCancel (<a href="https://redirect.github.com/axios/axios/issues/5595">#5595</a>) (<a href="https://github.com/axios/axios/commit/0dbb7fd4f61dc568498cd13a681fa7f907d6ec7e">0dbb7fd</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>adapter:</strong> surface low‑level network error details; attach original error via cause (<a href="https://redirect.github.com/axios/axios/issues/6982">#6982</a>) (<a href="https://github.com/axios/axios/commit/78b290c57c978ed2ab420b90d97350231c9e5d74">78b290c</a>)</li> <li><strong>fetch:</strong> add fetch, Request, Response env config variables for the adapter; (<a href="https://redirect.github.com/axios/axios/issues/7003">#7003</a>) (<a href="https://github.com/axios/axios/commit/c959ff29013a3bc90cde3ac7ea2d9a3f9c08974b">c959ff2</a>)</li> <li>support reviver on JSON.parse (<a href="https://redirect.github.com/axios/axios/issues/5926">#5926</a>) (<a href="https://github.com/axios/axios/commit/2a9763426e43d996fd60d01afe63fa6e1f5b4fca">2a97634</a>), closes <a href="https://redirect.github.com/axios/axios/issues/5924">#5924</a></li> <li><strong>types:</strong> extend AxiosResponse interface to include custom headers type (<a href="https://redirect.github.com/axios/axios/issues/6782">#6782</a>) (<a href="https://github.com/axios/axios/commit/7960d34eded2de66ffd30b4687f8da0e46c4903e">7960d34</a>)</li> </ul> <h3>Contributors to this release</h3> <ul> <li> <a href="https://github.com/WillianAgostini" title="+132/-16760 ([#7002](axios/axios#7002) [#5926](axios/axios#5926) [#6782](axios/axios#6782) )">Willian Agostini</a></li> <li> <a href="https://github.com/DigitalBrainJS" title="+4263/-293 ([#7006](axios/axios#7006) [#7003](axios/axios#7003) )">Dmitriy Mozgovoy</a></li> <li> <a href="https://github.com/mkhani01" title="+111/-15 ([#6982](axios/axios#6982) )">khani</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/axios/axios/commit/e5a33366d75b65f88052b230b103731eb7dcb793"><code>e5a3336</code></a> chore(release): v1.12.2 (<a href="https://redirect.github.com/axios/axios/issues/7031">#7031</a>)</li> <li><a href="https://github.com/axios/axios/commit/38726c7586c6a2583b7e7dcdce0c4fedd013055d"><code>38726c7</code></a> refactor: change if in else to else if (<a href="https://redirect.github.com/axios/axios/issues/7028">#7028</a>)</li> <li><a href="https://github.com/axios/axios/commit/cf78825e1229b60d1629ad0bbc8a752ff43c3f53"><code>cf78825</code></a> fix(fetch): use current global fetch instead of cached one when env fetch is ...</li> <li><a href="https://github.com/axios/axios/commit/c26d00f451949306f708aa78d1e9f12b9eb6ff4b"><code>c26d00f</code></a> refactor: remove redundant assignment (<a href="https://redirect.github.com/axios/axios/issues/7029">#7029</a>)</li> <li><a href="https://github.com/axios/axios/commit/9fb41a8fcd6f698ee82175c0d9e654b4b0a7081c"><code>9fb41a8</code></a> chore(ci): add local HTTP server for Karma tests; (<a href="https://redirect.github.com/axios/axios/issues/7022">#7022</a>)</li> <li><a href="https://github.com/axios/axios/commit/19f9f36850210511445c67c865466156d6d1dee2"><code>19f9f36</code></a> docs(readme): add custom fetch section; (<a href="https://redirect.github.com/axios/axios/issues/7024">#7024</a>)</li> <li><a href="https://github.com/axios/axios/commit/3cac78c2de2d1d1af0c1b4753feff16c075f01d1"><code>3cac78c</code></a> chore(release): v1.12.1 (<a href="https://redirect.github.com/axios/axios/issues/7021">#7021</a>)</li> <li><a href="https://github.com/axios/axios/commit/b5f26b75bdd9afa95016fb67d0cab15fc74cbf05"><code>b5f26b7</code></a> fix(types): fixed env config types; (<a href="https://redirect.github.com/axios/axios/issues/7020">#7020</a>)</li> <li><a href="https://github.com/axios/axios/commit/0d8ad6e1de0f5339e02bc262d6f0df4936974120"><code>0d8ad6e</code></a> chore(release): v1.12.0 (<a href="https://redirect.github.com/axios/axios/issues/7013">#7013</a>)</li> <li><a href="https://github.com/axios/axios/commit/fd7f404488b2c4f238c2fbe635b58026a634bfd2"><code>fd7f404</code></a> fix: release pr run</li> <li>Additional commits viewable in <a href="https://github.com/axios/axios/compare/v1.8.4...v1.12.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/software-mansion/react-native-reanimated/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Summary
In this PR, I've introduced color interpolation based on the OKLAB color space.

(image credit: ColorAide)Details
OKLAB is derived from CIELAB - both considered improvements compared to RGB and HSV/L in terms of color gradient computation, as the linear interpolations over their channels results in a smoother experience. That's for 2 reasons:
L*a*b* does often yield results very similar to RGB w/ gamma correction, as in the case of the default colors on the web-site:

Nevertheless, there are some cases where the result can be considered better. Going from red to blue, for example, LAB shows a smoother transition with less intermediate coloring (purple in this case):


Also, in yellow-to-blue, LAB better preserves lightness:
Things to notice
culori, but had to rip their code off from it (all-the-while keeping the credit). I couldn't use it as-is, because I had no way to specify it's meant for off-loaded execution (i.e. using theworkletnotation). I could definitely use some advice with that by the maintainers ❗LAB(alongisdeRGBandHSV), hiding the implementation details (i.e. the underlying selection of oklab, in particular). I believe that any future offering of other LAB spaces (e.g. CIELAB) could be introduced by allowing for LAB-specificoptions.Motivation
There are potential screens in the apps we're working on where a smooth color transition could improve the user experience. We're avid users of
reanimatedand would love to be able to incorporate the best experience though it.Test plan
TBD