Skip to main content
Glama

Create interactive projection mapping

create_interactive_projection_mapping

Build an interactive projection mapping rig using a webcam and projector. Supports camera input or synthetic preview, motion detection, blob markers, and adjustable visuals with corner pin mapping and live controls.

Instructions

Build a synthetic-safe interactive projection mapping rig for a USB webcam plus projector: camera/synthetic/existing TOP input, frame-difference motion field, placeholder blob/post-it mask, cyan dot and magenta card visual TOPs, manual Corner Pin projection mapping, debug switch, live controls, and an out1 Null TOP. Defaults to source='camera' for installations, but source='synthetic' previews without camera permission. Returns output/debug paths and explicit warnings for camera, blob tracking, and physical calibration states.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoName for the generated interactive projection mapping Base COMP.interactive_projection_mapping
parent_pathNoParent COMP where the interactive projection mapping system is created./project1
sourceNoInput source: a USB camera, a self-animated synthetic TOP, or an existing TOP pulled through a Select TOP.camera
existing_top_pathNoAbsolute TOP path required when source='existing_top'.
camera_indexNoUSB/webcam device index used when source='camera'.
fallback_to_syntheticNoIf camera creation fails, build a synthetic source so the rig remains previewable.
interaction_modeNoInteraction branch to prioritize. The first slice always keeps motion available.hybrid
analysis_resolutionNoSquare working resolution for cheap motion/blob analysis.
output_widthNoProjection output width in pixels.
output_heightNoProjection output height in pixels.
particle_countNoTarget count for the cyan dot field. This MVP uses it as visual density metadata.
card_countNoTarget count for magenta card blocks. This MVP uses it as visual density metadata.
motion_sensitivityNoGain over the frame-difference motion field.
repel_radiusNoNormalized radius metadata for hand/motion repulsion.
trail_decayNoFeedback persistence for visual trails.
blob_thresholdNoThreshold used by the placeholder blob/post-it mask branch.
max_blobsNoMaximum blob slots reserved for the later marker-tracking branch.
dot_colorNoCyan dot color as #rrggbb.#8ff4f2
card_colorNoMagenta card color as #rrggbb.#ff2f9a
background_colorNoDark projected background color as #rrggbb.#05100e
projection_brightnessNoFinal Level TOP brightness before out1.
debug_viewNoWhich branch the debug switch shows initially.final
expose_controlsNoExpose live controls for calibration/debug/performance tuning.
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, and the description adds value by detailing the tool's output (returns output/debug paths and explicit warnings about camera, blob tracking, and calibration states). It discloses behavior beyond annotations, such as handling fallback to synthetic sources, but does not cover auth needs or rate limits (likely not applicable). No contradiction with annotations.

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?

The description is a single, dense paragraph that is front-loaded with key information (purpose, defaults, outputs). It avoids wasted words, but structuring as bullet points or breaking into sections could improve scannability for a tool with 23 parameters.

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

Completeness4/5

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

Given the high parameter count (23) and no output schema, the description provides a good overview of what the tool does, its defaults, and what it returns (output/debug paths and warnings). However, it lacks explicit detail on the structure of the returned paths or how the warnings are formatted, which would help an agent fully understand the result.

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 description coverage is 100%, so baseline is 3. The tool description provides a high-level summary of parameters (e.g., defaults for source, camera_index) but does not add significant meaning beyond the schema's own parameter descriptions. It lists components but not detailed parameter semantics.

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?

The description clearly specifies that the tool builds a synthetic-safe interactive projection mapping rig with detailed components (frame-difference motion field, blob mask, visual TOPs, Corner Pin mapping) and states default behavior. It distinguishes from sibling tools like 'create_projection_mapping' by emphasizing interactivity and camera/synthetic inputs.

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?

The description provides clear context: defaults to 'camera' for installations and 'synthetic' for previews without camera permission. However, it does not explicitly state when to use this tool versus alternatives like 'create_motion_reactive' or 'create_blob_reactive', nor does it include explicit when-not-to-use guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pantani/tdmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server