An extensible pixel editor written in Rust
source link: https://www.tuicool.com/articles/a2myaum
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
██╗████╗██╗██╗ ╚███╔██║╚███╔╝ ██╔╝══╝██╔██╗ ██║ ██╔╝ ██╗ ╚═╝ ╚═╝ ╚═╝
v0.2.0 alpha
a modern and extensible pixel editor implemented in rust
rx is an extensible, modern and minimalist pixel editor and animator 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*.
[1]: https://en.wikipedia.org/wiki/ViGOALS
- * Minimal UI. Clean aesthetics. No clutter.
- * 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. All commands run in < 16ms.
- * Optimized for advanced users. vi-like philosophy.
- * Small, hackable codebase. At most 10 KLOC.
- * First-class Linux support.
- * CPU & memory efficient.
FEATURES
- * Built-in sprite animation support, with live preview.
- * Work with multiple files simultaneously.
- * Extensible command system.
- * Text-based configuration.
- * HiDPI display support.
- * Undo/redo support.
- * Color palette support.
- * PNG support.
- * Animated GIF support.
- * Multi-brush / synchronous editing.
- * Symmetry brush mode.
- * Brush filtering a.k.a "pixel-perfect" mode.
- * Coming soon: Layers.
- * Coming soon: Visual mode.
- * Coming soon: Workspaces.
REQUIREMENTS
Linux
On Linux, Vulkan support is required. The drivers can be installed for example withapt install mesa-vulkan-drivers
on debian-based systems. macOS
On macOS, Metal support is required. This usually requires installing Xcode and the Xcode Command Line Tools .Windows
On Windows, Vulkan support is required.DOWNLOAD
Disclaimer: this is alpha software, use at your own risk!
On Linux, the simplest way to get rx is to download the AppImage from here:
Then make it executable with eg. chmod +x
, rename it to rx
and move it somewhere in your PATH
.
For macOS and Windows, see the following section.
BUILD FROM SOURCE
You'll need cargo and rust to build rx from source. For more detailed instructions, see the README .Linux
$ cargo install --git https://github.com/cloudhead/rx --tag v0.2.0 --locked --features vulkan
macOS
$ cargo install --git https://github.com/cloudhead/rx --tag v0.2.0 --locked --features metal
Windows
$ cargo install --git https://github.com/cloudhead/rx --tag v0.2.0 --locked --features vulkan
The default installed palette issweetie16.palette. Other palettes are also availablehere, and you can create your own.
USAGE
After installing, simply run rx
from a shell or application launcher.
You can then use the :help
command to show the current set of key mappings
and commands.
Common commands:
:help Display help :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
CONFIGURATION
Configuring rx involves editing the init.rx script, which is found in a platform-dependent location. On Linux, this is in the XDG config directory, eg. ~/.config/rx/init.rx , while on macOS this is in the ~/Library/Preferences folder. written.
To get the exact location of the config directory, enter :echo config/dir from inside rx .
CONTRIBUTE
The source code is available at github.com/cloudhead/rx . rx is free software .SUPPORT
If you find this project useful and want to support its continued maintenance, consider sending ₿ (Bitcoin) to the following address with a memo indicating your name, to be added to the contributors list:
1MpF7p9A8LJabZn7ehHpGbLcN5PCXRdGqm
TROUBLESHOOTING
If something ain't working like it's supposed to, there are various things you can do to debug the problem:
-
1. Run rx
with verbose logging, by using the
-v
command-line flag. This will log errors from the underlying libraries that are usually suppressed. You can increase the verbosity further by using-vv
. -
2. Try the winit
backend, by building rx
with eg.
--features winit,vulkan
.
Otherwise, see the following BUGS section.
BUGS
If you encounter a bug, please open an issue on the tracker or send an email to [email protected].
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK