| Plan a sheet for an image tool (aspect, grid, guide, prompt) | plan_guide.py --frames N --cycle run --output-dir <new>; attach guide.png, paste prompt.txt. Fixed scale and feet line: make_anchor_layout.py; empty safe frame: make_layout_guide.py |
| Check a raw sheet before slicing | sheet_qc.py spill --input <sheet> --rows R --cols C --output-dir <new>; crossing parts mean regenerate with more margin or slice by ownership, never a largest-component filter |
| Key, slice and register a sheet | generate2dsprite.py process --input <sheet> --target asset --mode <mode> --rows R --cols C --output-dir <new> --strict-qc (geometry v2; processing.md) |
| Pixel art drawn at M source px per art px | process --resampler nearest --logical-pixel M --pixel-scale N (whole scales only) |
| Jumps, bob or recoil on one registration point | process --scale-strategy registered (or --anchor-px X,Y) |
| One character's scale across actions | process --write-scale-profile <p.json> on the grounded reference, then --scale-profile <p.json> --max-profile-scale-drift 0.08 |
| Canvas does not divide into the grid; other row order | process --grid-rounding nearest or --pad-to-grid; --direction-order down,up,left,right (modes.md) |
| Identity, NEAR/FAR alternation, drift, baselines | sheet_qc.py frames --sheet <sheet> --rows R --cols C --cycle run --output-dir <new>; a duplicated half-cycle means regenerate the second half. On code-drawn frames (art_source=code) identity_residual and torso_drift are advisory |
| Game size on one canvas and root, never clamped | scale_frames.py --frames <pngs> --root-lock torso-x --row-baseline --emit-clips --ticks N --output-dir <new>; later actions add --profile <first>/scale-frames.json --action-padding L,T,R,B |
| Clips with timing, events, transitions | build_animation_clips.py --manifest clips.json --output-dir <new>; read the lints and review/ (frames-and-clips.md) |
| Whole frames or a scene loop (no keying) | assemble_frames.py (--key chroma, --slice ownership; --loop-overlap K --ambient for ambient loops only) |
| Shared palette, locks, variants, flicker (pixel finish) | palette_tool.py build, apply, lock, quantize-seq, variants, luts; strict logical grid: pixel_reduce.py (palette-and-pixels.md) |
| Engine export | export_engine.py --clips <animation-clips.json> --target all --output-dir <new>; Sprite3D: --target godot-sprite3d --world-height <units> (engine-export.md) |
| Play clips in a game (gait, hit-stop, transitions) | runtime-integration.md |
| Code-drawn sprites, rigs or FX, only on request | codeart2d render_pixelspec.py, rig_animate.py or fx_build.py with --build-clips (never process), then export_engine.py; disclose them as code-drawn |