forked from cloudhead/rx
-
Notifications
You must be signed in to change notification settings - Fork 0
Modern pixel editor implemented in rust
License
klotzambein/rx
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
██╗████╗██╗██╗ ╚███╔██║╚███╔╝ ██╔╝══╝██╔██╗ ██║ ██╔╝ ██╗ ╚═╝ ╚═╝ ╚═╝ `rx` is a modern pixel editor implemented in rust. Designed with great care and love with pixel artists and animators in mind. OVERVIEW `rx` is an extensible, modern and minimalist pixel editor implemented in rust[0]. It's designed to have as little UI as possible, and instead takes inspiration from vi's[1] modal nature and command mode. Compared to other pixel editors, rx aims to be smaller, yet more configurable and extendable. `rx` takes a different approach when it comes to animation as well, which is done with *strips*. See the screenshots/ folder to get an idea of what this looks like. [0]: https://rust-lang.org [1]: https://en.wikipedia.org/wiki/Vi GOALS * Minimal UI. Clean aesthetics. * Everything that should be controlled by the keyboard, is. * Extensible and scriptable with a simple command-based language. * Familiar to anyone with vi(m) knowledge. * Snappy. No perceptible input lag when painting. All commands run in < 16ms. * Optimized for advanced users. No hand-holding. vi-like philosophy. * Small, hackable codebase. At most 10 KLOC with only a handful of direct dependencies. * First-class Linux support. FEATURES * Built-in sprite animation support, with live preview. * Work with multiple files simultaneously. * Extensible command system. * Text-based configuration. * Built using modern graphics. * HiDPI display support. * UI scaling. * Undo/redo any edit. * PNG support. * Animated GIF output. * Multi-brush. * (Coming soon: Layers) * (Coming soon: Visual mode) * (Coming soon: Workspaces) PLATFORM SUPPORT * Linux (vulkan) [GOOD] * macOS (metal) [GOOD] * Windows (dx11/dx12) [UNTESTED] BUILD DEPENDENCIES * rust & cargo (https://www.rust-lang.org/tools/install) INSTALLATION Before proceeding, make sure the build dependencies have been installed. Then, run: $ cargo install --git https://github.com/cloudhead/rx --locked --features <backend> where <backend> is one of 'vulkan', 'metal', 'dx11' or 'dx12'. See the PLATFORM SUPPORT section for which feature to enable on your platform. This will download `rx` and install it under `~/.cargo/bin/rx`. If you prefer a different install location, you can specify it via the `--root <prefix>` flag, where <prefix> is for example '/usr/local'. CONFIGURATION Linux Create a config folder for rx in your XDG configuration directory: $ mkdir -p ~/.config/rx and copy the default configuration and palettes from the `config/` directory of this project to it. You can then edit `init.rx` to configure rx. USAGE After installing, simply run `rx` from a shell or application launcher. You can then use the :help command to show the default set of key mappings and commands. Common commands: :e <path..> Edit path(s) :w Write/save view :q Quit view :slice <n> Slice view into <n> frames :source <path> Source an rx script (eg. a palette) :f/resize <w> <h> Resize frames For example, to create a 32x32 sprite with 4 frames: 1. Open `rx`. 2. Type `:f/resize 32 32`. 3. Press <return> three times to create a total of four frames. 4. Zoom in/out with `.` and `,`. 5. Draw something great! 6. Type `:w animation.png` to save it. SUPPORT If you find this project useful, consider supporting it by sending ₿ (Bitcoin) to the following address: 1MpF7p9A8LJabZn7ehHpGbLcN5PCXRdGqm LICENSE This software is licensed under the GPL. See the LICENSE file for more details. COPYRIGHT (c) 2019 Alexis Sellier <self@cloudhead.io>
About
Modern pixel editor implemented in rust
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Rust 99.3%
- Other 0.7%