Skip to main content
Glama

Opentoonz Exposure

opentoonz_exposure

Time a level's drawings on the xsheet by holding each for N frames, using either one hold for all drawings or per-drawing values.

Instructions

Time a level's drawings on the xsheet by holding each one for N frames.

exposures is either a single hold for every drawing ([3] = hold all on 3s) or one hold per drawing in order ([2, 4, 1]). Rows are contiguous, and the scene's frame count follows what is placed. The level must already be in the scene (see opentoonz_import_images_as_level).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
levelYes
sceneYes
columnNo
exposuresYes
start_rowNo
workspaceYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that resulting rows are contiguous and that the scene's frame count follows what is placed, which is real consequence information. It does not say whether existing exposure/column content is overwritten, whether the change is persisted to disk, or what happens to prior timing on the level.

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

Conciseness5/5

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

Four tight sentences that each earn their place: purpose, exposures semantics with examples, layout/frame-count consequences, and prerequisite. The core behavior is front-loaded and the examples are compact rather than verbose.

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?

An output schema exists, so return values need not be described. For a 6-parameter mutating tool with zero schema description coverage and no annotations, the description covers the critical exposures semantics but omits column and start_row semantics and any statement about overwrite/persistence behavior, leaving meaningful gaps.

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 0%, so the description must compensate. It does this well for the hardest parameter, exposures, explaining single-value vs per-drawing arrays with concrete examples ([3] vs [2, 4, 1]), and it ties level/scene to the 'already in the scene' prerequisite. However, column and start_row receive no explanation at all, leaving a substantive portion of the 6 parameters undocumented in both schema and description.

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 states a specific verb and resource: 'Time a level's drawings on the xsheet by holding each one for N frames.' An agent can immediately tell this is exposure/timing assignment, distinct from a generic cell-setter. It does not, however, explicitly contrast itself with the nearby opentoonz_set_cells, leaving sibling differentiation implicit.

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

Usage Guidelines4/5

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

It gives a clear prerequisite for use: the level must already be in the scene, and it routes the agent to opentoonz_import_images_as_level to satisfy that precondition. No alternatives or when-not-to-use conditions are stated, so it stops short of full routing guidance.

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