humanmade / humanmade/tachyon

Support for colour grading using LUTs

Open
#67 3 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.