Skip to main content
Glama

gameforge_compile_sprite_atlas

Compile PNG sprite frames into aligned, palette-quantized diffuse, normal, and paper-doll overlay atlases plus JSON metadata for game engines. Strips AI alpha halos and locks feet to the Foot Pivot.

Instructions

Decode loose PNG frames natively in Node.js (zero external CLI required!), strip semi-transparent AI alpha halos, optionally quantize colors in perceptual CIE Lab* space to the Project Style Bible .gpl palette, auto-align lowest foot pixels to the locked Foot Pivot, and stitch real <char>_<clip>_atlas.png + <char>_<clip>_normal_atlas.png + Paper-Doll overlay atlases + <char>_<clip>_atlas.json!

Input Schema

NameRequiredDescriptionDefault
clip_nameYes
frames_dirNo
project_idYes
character_idYes
auto_align_foot_pivotNoEliminate frame-to-frame vertical floating (default true)
bayer_dither_strengthNoOptional 4x4 Bayer pixel dither 0..32 (default 0)
quantize_to_style_paletteNoSnap colors in CIELAB space to Style Bible (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden, and it does disclose meaningful behavior: native Node PNG decoding (no external CLI), destructive-ish pixel rewriting (alpha halo stripping), CIELAB quantization to a `.gpl` palette defaulting on, and the exact set of files written. It omits overwrite behavior for existing atlases, what happens when the palette or Foot Pivot is missing, and any failure/validation modes — gaps that matter for a multi-file write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single information-dense run-on sentence that buries the primary action (stitching the atlas) at the end behind decoding and halo-stripping detail. The exclamation marks and marketing phrasing ('zero external CLI required!', trailing '!') waste space on selling rather than selecting the tool, though the core clauses are not padded with repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description usefully enumerates the concrete output artifacts, which partly substitutes for the missing output schema, and it covers the three main processing stages. For a 7-parameter, multi-file-write tool with no annotations and no output schema, however, it should also state prerequisites, input expectations for `frames_dir`, and side effects on pre-existing atlas files.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 43% (3 of 7 params documented), so the description must compensate. It does add real meaning for `quantize_to_style_palette` (CIELAB, .gpl Style Bible source) and `auto_align_foot_pivot` (locked Foot Pivot), and implies `frames_dir`, but leaves `bayer_dither_strength`, `clip_name`, `project_id`, and `character_id` entirely unexplained beyond their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb chain and resource — decode PNG frames, align, and stitch `<char>_<clip>_atlas.png`, `_normal_atlas.png`, overlay atlases, and `.json`. An agent can tell this compiles a sprite atlas from loose frames, distinct from siblings like `gameforge_synthesize_procedural_frames` or `gameforge_build_complete_character_slice`, though it never explicitly contrasts itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains what the pipeline does step-by-step but gives no when-to-use guidance, no prerequisites (e.g., must the Style Bible be locked first, must `frames_dir` already contain renders?), and no mention of when to prefer a sibling such as `gameforge_build_complete_character_slice`.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.