Find the task that matches
A horizontal strip should animate in a web page
Use CSS steps(), inspect the first and last frames and loop boundary, and respect reduced motion.
Animate a sprite strip with CSS steps() →Aseprite tags should become named Phaser animations
Export the PNG/JSON pair with tag ranges and unequal durations, then inspect forward, reverse and ping-pong playback.
Turn Aseprite animation tags into Phaser animations →A resized atlas shows wrong crops in Phaser
Re-export PNG and JSON together, then compare stale coordinates with matching crops, trim offsets and logical sizes.
Scale a sprite atlas by re-exporting PNG and JSON together →A GIF needs a PNG sheet and its original timing declarations
Export complete display canvases with the controlled Pillow recipe; keep raw delays, missing timing extensions and loop declarations in a separate JSON sidecar.
Convert a GIF to a sheet and retain frame delays →Extracted GIF frames leave trails or lose restored pixels
Compare complete native canvases with a deliberately wrong persistent patch stack to locate disposal and background failures.
Why GIF frame extraction can leave trails or missing pixels →A padded tileset needs the correct native import settings
Keep content tile size, source margin and spacing separate; save/reopen the native Tiled project and inspect the visible tile IDs.
Import a padded tileset into Tiled with the right margin and spacing →An actual extruded download should work in Tiled
Import the 20×16 U04 extrusion 1 PNG with 6×4 tiles, margin 2 and spacing 4; verify the saved/reopened resources and all twelve rendered IDs.
Use an extruded tileset without treating gutters as artwork →A native tile map needs a different sheet layout
Reflow the original tiles while keeping tile identity and map content; compare native output with the unchanged source map.
Reflow a tileset without changing its tile order →A GIF needs separate ordered PNG frames
Import the original GIF through the tested Aseprite CLI and verify the complete PNG sequence and frame order.
Export every GIF display frame as PNG with Aseprite →
Keep each diagnosis separate
The Tiled tasks use native Tiled 1.12.2 save/reopen and native-size render checks. The extrusion task consumes the actual padding-tool PNG; a matching integer map does not establish GPU bleed prevention. Download the original extruded-tileset project and retain the actual tool manifest separately.
The CSS task includes a standalone HTML/CSS project. The T35/T36 Aseprite-to-Phaser tasks share an original editable source and pinned local Phaser project. T32 uses a separate original GIF and the Aseprite CLI to export complete PNG frames. Their native evidence uses the historical Aseprite 1.1.7-dev Linux CLI; T35/T36 also use Phaser 3.90.0 Canvas. These are recorded CLI workflows, not a current desktop editor walkthrough.
The GIF recipes require an existing Python environment with Pillow 12.3.0; the recorded native run used Python 3.14.8 on macOS ARM64. The sheet recipe covers ten named originals, and the disposal diagnostic accepts three named controls. These are controlled CLI recipes, not a browser GIF tool or proof of arbitrary GIF validity or player timing.
An enlarged PNG alone does not choose playback order or update atlas coordinates. Keep the exported metadata with its image, and read each task’s runtime and timing limits before applying it to another project.