Skip to main content
Glama

flatten_landscape_in_box

Destructive

Sets every heightmap vertex inside a world-space box to one absolute height so bases, roads, or building pads sit flat. Use target_z or raw height; blend edges after.

Instructions

Level the terrain under a footprint: snap every heightmap vertex inside a world-space box to ONE absolute height, so a base, road or building pad sits flat. Give the height either as target_z in world units (converted using the landscape scale) or as a raw uint16 target_height (0..65535, where 32768 is the midpoint). Absolute, unlike set_landscape_height_in_box which adds a delta; follow with smooth_landscape_in_box to blend the hard rim it leaves. vertices_modified = 0 means the box never touched the terrain.

Returns: { landscape_actor_name: string, target_height: int, applied: bool, vertices_modified: int, region_width: int, region_height: int, region: [int] }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
centerNoOptional [x, y, z] box center (alternative to box_min/box_max)
extentNoOptional [x, y, z] box half-extents (alternative to box_min/box_max)
box_maxNoOptional [x, y, z] world-space box maximum
box_minNoOptional [x, y, z] world-space box minimum
target_zNoOptional target world Z, converted to uint16 using landscape scale
target_heightNoOptional uint16 heightmap value 0 to 65535
landscape_actor_nameNoOptional landscape actor name, defaults to first found

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4/5.0
Behavior1/5

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

Annotations declare idempotentHint=false, but the description states the operation snaps vertices to ONE absolute height and contrasts it with a delta-adding sibling. Setting an absolute height is inherently idempotent, so the description contradicts the annotation. Per rubric, this is an annotation contradiction and scores 1.

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

Conciseness4/5

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

Front-loaded with purpose, then height specification, sibling differences, and return behavior. Every sentence carries information, though the embedded return object makes it slightly dense. Overall well-structured and appropriately sized for a complex mutation tool.

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

Completeness5/5

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

Covers purpose, parameter semantics, side effects (hard rim), success indicator (vertices_modified=0), and return fields despite no output schema. For a destructive landscape mutation with seven optional parameters, this is complete enough for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying the either/or choice between target_z and target_height and by specifying the uint16 midpoint (32768), which is not in the schema. It does not add meaning to the box-definition parameters, which are already well described.

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

Purpose5/5

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

States a specific verb ('level/flatten') and resource ('heightmap vertices inside a world-space box'), and explicitly distinguishes from siblings set_landscape_height_in_box and smooth_landscape_in_box. An agent can identify the operation and its scope without opening the schema.

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

Usage Guidelines5/5

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

Explicitly says when to use it (making flat bases, roads, or building pads), names the alternative set_landscape_height_in_box for relative changes, and instructs to follow with smooth_landscape_in_box to blend the hard rim. Provides clear when-to-use, when-not-to-use, and follow-up guidance.

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

Deploy Server

Other Tools