Non-destructive layers, 9 blend modes, full undo history, and a plugin API
that lets you drop .py files
to extend everything — tools, filters, actions.
Export per-layer PNGs with a manifest.json ready for your engine.
// Core Features
Designed for game asset pipelines from the ground up — Layered gives you the tools pros expect without the bloat.
Per-layer opacity, visibility toggles, and reordering. Original pixel data is never destroyed — every operation is fully reversible. Reorder, rename, duplicate, and group with ease.
Every brush stroke, filter, and layer operation is tracked and browsable in the side panel. Jump to any prior state instantly — not just one step back.
Export a flattened composite or every layer as its own PNG with a manifest.json carrying offsets, blend modes, and visibility — drop straight into any engine.
Drop a .py file into Plugins/ to add tools, filters, or menu actions. Plugins run sandboxed — crashes get logged and isolated, the editor stays alive.
Brush, eraser, fill bucket, line, rectangle, ellipse, color picker, and text — paint assets from scratch or retouch imports with a full suite of familiar tools.
Work on several files simultaneously in tabbed projects. Each project carries its full layer stack, history, and settings independently.
// Blending
All blend modes operate on premultiplied RGBA arrays via NumPy in app/blending.py — fast, composable, and inspectable.
// Plugin Ecosystem
Layered ships with a full library of production-ready filters and actions. Use them as-is or read the source as a template.
// Plugin API
Drop a .py file in Plugins/ and subclass Plugin.
Declare typed settings and the host auto-builds a dialog. Plugins run in isolation — one crash can't take down the editor.
Add a new toolbox button via ctx.register_tool()
Appear in the Filters menu via ctx.register_filter()
Live in the Plugins menu via ctx.register_action()
// Changelog
Latest changes pulled live from GitHub.
// Quick Start
No config files, no account — just clone, install, and run.
git clone https://github.com/NightHawkHSI/Layered.git
or grab the prebuilt Windows EXE from Releases.
Requires Python 3.9+ and pip install -r requirements.txt.
Needs PyQt6, Pillow & NumPy.
Run python main.py and start building. Drop plugins into Plugins/ anytime.
Requires Python 3.9+ · PyQt6 ≥ 6.6 · Pillow ≥ 10.0 · NumPy ≥ 1.26