44[ ![ CI] ( https://github.com/Hexeption/FastPack/actions/workflows/ci.yml/badge.svg )] ( https://github.com/Hexeption/FastPack/actions/workflows/ci.yml )
55[ ![ rustc 1.85+] ( https://img.shields.io/badge/rustc-1.85%2B-orange.svg )] ( https://www.rust-lang.org )
66
7- Texture atlas packer written in Rust. Native GUI as the primary interface, plus a full CLI and TUI . Designed as an open-source replacement for TexturePacker.
7+ Texture atlas packer written in Rust. Ships as a Tauri desktop app and a headless CLI. Designed as an open-source replacement for TexturePacker.
88
99<img width =" 800 " height =" 889 " alt =" wDwJf1hcLi " src =" https://github.com/user-attachments/assets/215867c4-0fd8-44a4-8255-a943a4ec42c1 " />
1010
@@ -19,37 +19,37 @@ Texture atlas packer written in Rust. Native GUI as the primary interface, plus
1919- Multi-resolution scale variants with per-variant suffix
2020
2121** Export**
22- - JSON Hash, JSON Array, Phaser 3, PixiJS
23- - PNG (oxipng lossless), JPEG (mozjpeg), WebP, lossy PNG (imagequant)
22+ - Data formats: JSON Hash, JSON Array, Phaser 3, PixiJS
23+ - Texture formats: PNG (oxipng lossless), JPEG (mozjpeg), WebP, DXT1 (BC1), DXT5 (BC3)
24+ - Pixel formats: RGBA8888, RGB888, RGB565, RGBA4444, RGBA5551, Alpha8 — Floyd-Steinberg dithering for sub-8-bit formats
2425
25- ** GUI **
26+ ** Desktop app **
2627- Real-time atlas preview
2728- Collapsible sprite tree with thumbnail previews
2829- Watch mode — repacks on file change
2930- ` .fpsheet ` project files (TOML)
31+ - Nine-patch and pivot editors per sprite
32+ - Drag-and-drop folders and project files
3033- Multi-language UI
3134
3235## Install
3336
34- Download the installer for your platform from the [ releases page] ( https://github.com/Hexeption/FastPack/releases ) :
37+ Download the desktop app for your platform from the [ releases page] ( https://github.com/Hexeption/FastPack/releases ) :
3538
36- - ** Windows** — ` fastpack-windows-x86_64.msi `
39+ - ** Windows** — ` fastpack-windows-x86_64-setup.exe `
3740- ** macOS (Apple Silicon)** — ` fastpack-macos-aarch64.dmg `
3841- ** macOS (Intel)** — ` fastpack-macos-x86_64.dmg `
39- - ** Linux** — ` fastpack-linux-x86_64.tar.gz `
42+ - ** Linux** — ` fastpack-linux-x86_64.AppImage `
4043
41- Or install from crates.io:
44+ Or install the CLI from crates.io:
4245
4346``` sh
4447cargo install fastpack
4548```
4649
47- ## Usage
50+ ## CLI Usage
4851
4952``` sh
50- # Open the GUI (default when no subcommand is given)
51- fastpack
52-
5353# Pack a directory of sprites
5454fastpack pack sprites/ --output output/
5555
@@ -58,7 +58,8 @@ fastpack pack sprites/ --output output/ \
5858 --max-width 2048 --max-height 2048 \
5959 --trim-mode trim \
6060 --data-format phaser3 \
61- --allow-rotation
61+ --allow-rotation \
62+ --multipack
6263
6364# Load settings from a project file
6465fastpack pack --project atlas.fpsheet
@@ -73,6 +74,8 @@ fastpack split atlas.png atlas.json --output-dir sprites/
7374fastpack init --output atlas.fpsheet
7475```
7576
77+ Run ` fastpack <subcommand> --help ` for the full flag list.
78+
7679## Project File
7780
7881Settings live in a ` .fpsheet ` TOML file:
@@ -132,6 +135,8 @@ filter = "**/*.png"
132135
133136Requires Rust 1.85+.
134137
138+ ** CLI only:**
139+
135140``` sh
136141git clone https://github.com/Hexeption/FastPack
137142cd FastPack
@@ -140,6 +145,17 @@ cargo build --release -p fastpack
140145
141146The binary is at ` target/release/fastpack ` .
142147
148+ ** Desktop app:**
149+
150+ The Tauri app also requires Node.js and pnpm. From the ` crates/fastpack-tauri ` directory:
151+
152+ ``` sh
153+ pnpm install
154+ pnpm tauri build
155+ ```
156+
157+ The installer is placed under ` src-tauri/target/release/bundle/ ` .
158+
143159## License
144160
145161Licensed under [ MIT] ( LICENSE ) .
0 commit comments