Support for colour grading using LUTs
- Dominant language
- TypeScript
- Stars
- 295
- Forks
- 4
- Avg merge
- 15d 7h
- Merged PRs (30d)
- 1
Description
It's not a super common use-case but when images from multiple sources are brought together they can make a design look somewhat "off".
It's possible for Tachyon to support colour grading using `.cube` files typically used with programs like Lightroom to apply transformations across multiple images to normalise the colourspace and luminance etc.
After a bit of research we could potentially use the following libraries:
* https://www.npmjs.com/package/apply-cube-lut
* https://www.npmjs.com/package/get-pixels
* https://www.npmjs.com/package/save-pixels
The trickier part of this is how to get or specify the `.cube` file to be used. The most flexible way would be to fetch it from a URL specified in a query param and cache it strongly but initial image loads could be super slow with this method.
We'd also want to ensure that the `.cube` file was coming from the same domain as the original image request. Shouldn't be too hard but would need to check very carefully how that's handled when using nginx rewrites to pipe requests to a tachyon service within a network.
Contributor guide
Assessment
This issue has not been assessed yet.