Skip to content

Releases: ozwaldorf/lutgen-rs

v0.11.0

06 Sep 16:39
bc9a7b3
Compare
Choose a tag to compare

CLI & Palette Overhauls

Builtin Palettes

If possible, please verify any palettes you use!

  • Palettes are now scraped from a few new sources with (theoretically) more accuracy. All palettes are deduplicated with -base16 -terminal-sexy and -gogh suffixes removed.
  • Added Swamp & Swamp-Light by @masroof-maindak in #23

CLI

Custom Palette Support

Custom palettes can be added to $LUTGEN_DIR or <CONFIG DIR>/lutgen, for example:

  • Linux: /home/alice/.config/lutgen
  • macOS: /Users/Alice/Library/Application Support/lutgen
  • Windows: C:\Users\Alice\AppData\Roaming\lutgen

Names are case-insensitive and parsed from the file stem, minus any file extensions. For example, ~/.config/lutgen/My-palette.txt would be avalable to use as my-palette.

Custom palettes work anywhere a builtin palette would, ie lutgen apply -p my-palette

Migrated from clap -> bpaf

  • explicit separation between different algorithms adjacent arguments (ie, --gaussian-sampling --mean 0 --std-dev 20 --iters 128)
  • flag aliases everywhere, due to context aware parsing of algorithm args preventing conflicts
  • subcommand aliases (ie apply/a, generate/g, patch/p)
  • Improved dynamic completions for files, palettes, and args
  • Improved helptexts and added man page (man 1 lutgen)

Other Changes

  • single file default output behavior restored (ie myimage-gruvbox.png). This now has a optional flag -d which can restore enabling directory output mode for single files (ie gruvbox/myimage.png)
  • Improved lut caching eliminates false hits and ensures cache paths are unique to the individual colors (ie luts cached via lutgen apply -c ...)
  • Palettes can be extended with custom colors by using them simultaneously
  • Guess image types by @drainpixie in #21

New Contributors

Special thanks

Thanks to @pacak for all the help in resolving the edge cases in bpaf ❤️

Full Changelog: v0.10.1...v0.11.0

v0.10.1

14 May 13:31
59da03d
Compare
Choose a tag to compare

Library

  • fix: skip over creation of the tree on small palette by @qti3e in #18

CLI

  • feat: patch subcommand for text files, supporting #ABCDEF, rgb(4, 2, 0), and rgba(0, 1, 2, 0.5)
  • feat: support 3 color hex codes in cli args (ie, #000)
  • refactor: all spinners now print in stderr (to allow patch command's output to be easily piped from stdout)
  • fix: output path logic

New Contributors

  • @qti3e made their first contribution in #18

Full Changelog: v0.10.0...v0.10.1

v0.10.0

15 Mar 23:17
1e74ee2
Compare
Choose a tag to compare

CLI (breaking change)

  • All default outputs for single files will now match the behavior of multi file operations. The output path will be stored in a directory named by the palette, unless otherwise specified.
  • The default shape parameter for GaussianRBF, the default interpolation algorithm, is now 128

Library

  • Simple benchmarks
  • Performance: refactor for kiddo v4
  • Performance: optimize identity::generate
  • Performance: enable fat lto, allow loop vectorization during build

Palettes

New Contributors

Full Changelog: v0.9.0...v0.10.0

v0.9.0

12 Oct 16:19
a0b1c38
Compare
Choose a tag to compare

Library

  • Internal refactors, moved typed rbf algorithms into a macro implementation (yay meta programming!).

CLI

  • Added --preserve flag for all rbf algorithms, which will preserve the original images luminocity values, after interpolation.
    • This allows for combining --lum 0 --preserve to ignore all luminocity when interpolating, and to use the original images luminocity instead, for some really nice results.

Palettes

  • Fixed Oxocarbon colors
  • Added Carburetor palettes (regular, cool, and warm)
  • Added Biscuit Dark & Biscuit Light palettes (#8)
  • Added Mountain Fuji palette (#9)

New Contributors

  • @tsukki9696 made their first contribution in #8
  • @hikaruisasleep made their first contribution in #9

Full Changelog: v0.8.3...v0.9.0

v0.8.3

31 Jul 15:01
7a2026b
Compare
Choose a tag to compare
  • fix interpolation (should expect squared distance)

Full Changelog: v0.8.2...v0.8.3

v0.8.2

31 Jul 03:31
ce3b0f8
Compare
Choose a tag to compare

Fixes rbf interpolation functions

Full Changelog: v0.8.1...v0.8.2

v0.8.1

29 Jul 04:55
38fab39
Compare
Choose a tag to compare

What's Changed

  • feat(cli): Apply subcommand now supports multiple images!
  • fix(palettes): Amends for a few palettes
  • feat(palettes): Added Oxocarbon. by @Mujtabaasim in #4
  • doc: Add Link to explain LUT by @coastalwhite in #5

New Contributors

Full Changelog: v0.8.0...v0.8.1

v0.8.0 - CLI Overhaul!

10 Jul 19:57
5248e77
Compare
Choose a tag to compare

What's Changed

Functionality in the cli has been moved entirely within subcommands now:

  • generate: generate a hald clut for external use
  • apply: generate or use a hald clut, and apply it to an image
  • completions: generates shell completions

This fixes issues where the completion scripts parse the subcommand as a custom color, and suggests to type the subcommand twice.

Custom colors also now need to be separated with a -- at the end of the command


Full Changelog: v0.7.0...v0.8.0

v0.7.0

08 Jul 20:45
218a7eb
Compare
Choose a tag to compare

What's Changed

  • feat: luminosity factor for all algorithms (--lum <factor>)
  • feat: generate completions for bash, zsh, fish, powershell, and elvish (--completions <shell>)
  • refactor: Gaussian Sampling now uses Oklab colorspace
  • refactor: exoquant dependency is fully removed

Full Changelog: v0.6.2...v0.7.0

v0.6.2

02 Jul 17:44
2419c0e
Compare
Choose a tag to compare

What's Changed

  • Palette refactors:
    • Gruvbox
    • Nord
    • Rose Pine
  • refactor: remove unnecessary floating-point casts by @Stonks3141 in #2

New Contributors


Full Changelog: v0.6.1...v0.6.2