Skip to content

Web Editor Export

github-actions edited this page Jul 12, 2026 · 5 revisions

Web editor · Step 3: 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.

The export page

① Codec

Which vanilla data channels carry the payload — and therefore each tile's byte budget:

Label Budget/tile Notes
carpet+banners+shade (default) 15,482 B banners fill before shade
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 8,176 B pure platform
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.

Banner-only codec selected — note the changed stats columns

Lossy AV1 (animations only)

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.

Animated export

② Identify

  • 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).

③ Encrypt

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.

Two password slots added

Mux (multi-tile)

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.

The 3D schematic viewer

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:

The 3D schematic preview

④ Export

⬇ 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.

Clone this wiki locally