--- name: new title: Create a sprite document description: Create a new Aseprite document with the right canvas size, colour mode, palette and layer structure, so later work does not have to fight the setup. Use when starting fresh rather than editing an existing sprite. --- # Create a sprite document Set-up mistakes are expensive to undo: a canvas that is the wrong size means redrawing, and a palette chosen after the art means repainting. Get these four things right and the rest of the work is drawing. ## Procedure 1. **`preflight`.** Stop if not ready. 2. **Create the canvas.** ``` sprite_manage op="new" width=32 height=32 colorMode="rgb" ``` - Use **RGB** unless the user wants hard palette enforcement at the file level. Indexed mode makes the palette a hard constraint Aseprite itself enforces — good for a strict retro target, awkward for iteration. - Size to the game's grid if there is one: a 16×16 tile game wants character sprites that are a multiple of 16 in at least one dimension. - Leave headroom. A 32×32 canvas for a 28px-tall character gives room for a weapon raise or a jump squash without a later canvas resize. 3. **Set the palette before drawing.** ``` palette op="preset" preset="pico8" replace=true ``` Or build one: `palette op="ramp" base="#c04030" steps=5` per material. See `rules://01-palette-and-color`. 4. **Build the layer structure** in one batch, so it is one undo step: ``` layer batch=[ {op:"create", name:"sketch"}, {op:"create", name:"base"}, {op:"create", name:"shading"}, {op:"create", name:"outline"}, ] ``` For anything that will be animated, build the full character rig instead — see `aseprite:rig`. Splitting baked pixels apart later is real work. 5. **Save immediately**, so the user has a file and undo has an anchor: ``` sprite_manage op="save_as" path="…/knight.aseprite" ``` Ask where, or put it beside whatever project the user is working in. 6. **Confirm** what you made in one line: size, mode, palette, layers. ## Then `aseprite:draw` to block in the art. ## Related `rules://01-palette-and-color`, `rules://06-layers-and-rigging`.