An extensible pixel art editor.
Notice: This application is still in very early stages, lacks basic features, lacks a manual, and is generally very not-fun to use. Please refer to this incomprehensible roadmap.
Pixylene should run on Linux, Windows & MacOS but has only been tested on Linux & Windows
- Cargo is required to manage dependencies
git clone https://github.com/bhavyakukkar/pixylene.git
cd pixylene
There are 4 targets available:
# runs in the terminal using `crossterm`
# preferred editor
make tui
# runs in the browser in the form of `wasm`
make web
# runs in a standalone window using `minifb`
make gui
# runs in any stream
# preferred if you want to pipe pixylene into some other program like ./examples/cli.py
make cli
- Lua can be enabled in any of the targets except Web by prefixing the command like so:
LUA=lua make tui
LUA=lua make gui
LUA=lua make cli
tui
,gui
&cli
will be built totarget/release/
as pixylenetui, pixylenegui, pixylenecli respectivelyweb
will be built and packaged right inpixylene-ui/
where it can be served using an HTTP/S server
cd pixylene-ui
python -m http.server 6969
mybrowser localhost:6969/
# start the editor
pixylenetui
# start with a new project with default dimensions and true canvas
pixylenetui new
# start with a new project with 16x16 true canvas
pixylenetui new 16 16
# start with a new project with 16x16 indexed canvas
pixylenetui new 16 16 -i
# start with a new project from a png
pixylenetui import test.png
# start with a new project from a png downscaled to 32x32
pixylenetui import test.png 32 32
# start with a saved canvas file (plaintext)
pixylenetui canvas ~/canvas.json
# start with a saved project file (binary)
pixylenetui project ~/project.pixylene
Pixylene is configured in 2 different ways:
- Custom Actions can be written using Pixylene's Lua API.
- The file containing these custom actions must be named
actions.lua
and located in your platform-specific configuration directory - Examples
- The Lua reference API can be generated using tealr_doc_gen:
# make sure tealr_doc_gen is installed globally
#cargo install tealr_doc_gen
make lua-docs
- The documentation pages will be built to assets/docs/pixylene-lua/pages
- Static Configuration of the editor, including all keybindings & modes, can be written in TOML.
- The config file must be named
config.toml
and located in your platform-specific configuration directory - Example