# Crunch Command line image manipulation, set up a pipeline once and run it against all of your assets ## Usage Crunch takes an image and applies a transformation to it. But what if you want to do **two** transformations? Or transform more than one image at a time? Pipelines! The main value of Crunch is reproducible image processing, as defined by a [pipeline toml]() file. Basic CLI usage: ```shell Command line asset manipulation, set up a pipeline once and run it against all of your files Usage: crunch <COMMAND> Commands: rotate Rotate an image clockwise by the given degree extrude Take each tile in an image and expand its borders by a given amount. Optionally fill with nearby pixels instead of empty space palette Create a palette file containing every distinct colour from the input image scale Resize an image by a scale factor flip Flip an image along one or more axis remap Convert the colour space of an image to that of a given palette file pipeline Execute a predefined pipeline reduce Limit the number of colours by quantity or threshold split Take a spritesheet and split into individual sprites, skipping empty space help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version ``` ## Downloads - [Latest Linux Version](https://lab.lcr.gr/microhacks/crunch/-/jobs/artifacts/trunk/raw/target/release/crunch?job=build-linux) - [Latest Windows Version](https://lab.lcr.gr/microhacks/crunch/-/jobs/artifacts/trunk/raw/target/x86_64-pc-windows-gnu/crunch.exe?job=build-windows) ## Build From Source You can simply download this repository and run `cargo build --release` to get a binary for your system. Using `--release` mode is required in all situations, as the time taken to run a command with the debug build is _several_ orders of magnitude higher. If you use the `.local/bin` pattern for non-sudo userspace programs, you can use the included build script to simplify things. Otherwise, follow the below instructions: **Simple Script** - Clone this repository - Run `sh source-install.sh` **Manual** - Clone this repository - Run `cargo build --release` - Optionally, `strip` the binary - Copy `target/release/crunch` to a folder located in your `$PATH`