tile_asset_builder assembles one tile asset (TileAsset) from a sheet image or
frame list. Static tiles, animations, multi-cell stamps, and auto/rule tiles can all
live inside the same asset. Double-click the node to open its dedicated editor.
Input pins
| Pin | Type | Purpose |
|---|---|---|
image |
Image | Sheet image to slice (offset/margin/spacing set in the editor) |
sprite_sheet |
SpriteSheet | Existing sheet; its grid initializes the slice recipe |
images |
List | Animation frames (bundle them with list_create) |
rule_tile_asset |
RuleTileAsset | Auto/rule tiles made with autotile_from_template, rule_set_preset, etc. |
base_asset |
TileAsset | Start from an existing asset and edit/extend it |
1. Bulk-slice a sheet (static tiles)
- Connect a sheet to
image(orsprite_sheet) - In the "Sheet & slicing" section set cell width/height, start offset, margin, spacing. A grid overlay preview shows exactly where cells are cut
- Enable "Register whole sheet" to register every cell (or uncheck it to register only selected cells) as static tiles — no per-cell wiring
- "Transparent cells" lets you exclude fully transparent cells (empty sheet slots)
Each registered cell becomes a brush with the stable ID brush_<prefix>_<index>.
Palettes and maps reference brushes by these IDs, so avoid changing them later.
2. Add animations
Two ways:
- From selected cells: select cells on the sheet in order and press "Add from selection"
- From the images input: build a frame list with
list_create(item type: Image), connect it toimages, and press "Add from images input". Frames must be exactly the asset's cell size
Putting an existing static brush ID into "Target brush ID" swaps that brush's visual
to the animation while keeping its palette slot. Leave it empty to create a new
brush named brush_anim_<animation id>. Frame duration (ms) and looping are configurable;
the default phase mode keeps all cells in sync (global).
3. Create multi-cell stamps
Select several cells (e.g. a 2×2 house) and press "Create stamp from selection" — they become one stamp brush that places all cells with a single click on the map. The individual member cells are hidden (internal) so they don't clutter the palette.
4. Import auto/rule tiles
Connect an auto/rule tile asset to rule_tile_asset and enable
"Import connected rule tile asset". Its rules join the asset as a rule brush; painting
that brush on a map picks tiles automatically from neighbors
(see Painting maps).
Imported IDs are derived deterministically from content, so re-importing the same
source never breaks references.
5. Save — tile_asset_save
Connect the tile_asset output to tile_asset_save and choose a .pxntile path and
save mode. The saved .pxntile is self-contained (images embedded) — it loads with
tile_asset_load even after the original input nodes are gone.
Save under the library (user_data/library/user/tiles/) to make the asset appear in
the palette editor's library pane (→ Library & packs).
Common mistakes
- Wrong frame size:
imagesframes must match the cell size exactly - Changing the cell size later: breaks palettes/maps referencing the asset — decide it first
- Changing the bulk prefix later: changes brush IDs and orphans existing references
Working sample
docs/ai/samples/tile_studio_demo.ppl (shipped as ai/samples/) contains a complete
example: grass sheet slicing + water animation + house stamp + road auto-tile import.