-
Notifications
You must be signed in to change notification settings - Fork 0
Web Editor Export
Export encodes your composition into the exact bytes the mod will decode, shows the accounting per tile, and packages everything for the game. Four numbered steps: Codec · Identify · Encrypt · Export.

Which vanilla data channels carry the payload — and therefore each tile's byte budget:
| Label | Budget/tile | Notes |
|---|---|---|
carpet+banners+shade |
15,482 B | banners fill before shade — the maximum-capacity pick |
carpet+shade+banners |
15,482 B | shade fills before banners (fewer banners, staircase sooner) |
carpet+banners |
13,466 B | never a staircase |
carpet+shade |
10,192 B | zero banners |
carpet (default) |
8,176 B | pure platform — no banners, no staircase; most images fit here after compression |
banners |
5,290 B | no platform at all — legacy mode |
Each radio shows a live fit line ("✓ all N fit" / "⚠ M/N tiles over budget"), and the stats table breaks every tile into carpet / shade / banner bytes with a percentage bar. Full channel mechanics: Codecs & Capacity.

Animated compositions get a prominent "⚡ Lossy animation — much smaller" toggle with a quality slider (1–100, default 60). Lossless AV1 is always tried first and is usually enough; lossy is for dithered/noisy animations that refuse to compress. The panel reports the measured "% of pixels differing from the original", and since the preview runs the identical decoder the mod ships, what you see is exactly what players get. Heavy compositions (60+ frames) compute sizes on demand — the Recompute button appears whenever a setting has made the stats stale, and nothing recomputes behind your back.

- Title (≤64 chars) and Author (≤16) — embedded in the payload, shown to whoever decodes it. Both required; the author persists in your browser.
- Resalt (nonce) — randomizes the compressed bytes without changing the image. Every export gets a random nonce regardless; this checkbox forces fresh bytes on demand (the fix for stuck anvil renames).
Optional AES-256-GCM payload encryption with one key slot per password — any single password decodes. Costs ≈290 B + 76 B per password, per tile (the stats table accounts for it automatically, and encrypted tiles show a 🔒). Full guide: Encryption & Sharing.

When some tiles bust their budget and siblings have room, the mux allocator routes the overflow: the panel lists every tile's role (normal / receiver / donor), its own vs guest bytes, and the donor↔receiver routing. Blank auto-donor tiles are added if the art tiles alone can't absorb everything. Full guide: Multi-Tile & Mux.
Every carpet-codec tile gets a physical preview of its schematic — the actual carpet blocks, flat or staircase (drag = orbit, shift+drag = pan, scroll = zoom, plus a 2D mode). This is the "what am I actually building" view:

⬇ Export ZIP (suffixed "(encrypted)" / "(mux)" when active) produces:
| File | Destination |
|---|---|
loominary_state.json |
<game dir>/config/ — the payload itself |
loominary_carpet_r<row>_c<col>.litematic |
your schematics/ folder, one per tile (carpet codecs only) |
preview.png / preview.mp4
|
the exact decoded result (MP4 for animations) |
README.txt |
offline install instructions |
If any tile is still over budget, the export interrupts with an explicit warning — the art won't decode in-game until it fits — and offers the fixes (mux, higher-capacity codec, fewer colors/frames) before letting you "Export anyway".
Then head in-game: Placing your art.
Web editor · Releases · Report an issue — This wiki is generated from docs/wiki/; edit there, not here.
Getting started
The web editor
In the game
Features
Reference
Advanced