Skip to main content
Glama

Create feedback network

create_feedback_network

Create a feedback-based visual system in TouchDesigner: a seed's output is transformed and fed back each frame, producing evolving, hypnotic visuals.

Instructions

Build a feedback-based visual system: a seed feeds a loop that is transformed (blur/displace/etc.) and fed back each frame. Creates a new baseCOMP under parent_path holding the seed, a Feedback TOP, a 'maximum' Composite, the transform chain, a Level decay node, an optional GLSL colorize pass, and a Null output (the Feedback TOP samples the Level node to close the loop). Great for evolving, hypnotic visuals. Exposes a live 'Feedback' decay knob. Returns a summary plus a JSON block with the container path, created node paths, the output path, exposed controls, any node errors, warnings, and an inline preview image. Use this for a general feedback look with a chosen seed type and an ordered chain of effects; for the specific infinite-zoom/rotate spiral (with Zoom/Rotate/HueShift/Decay knobs) use create_feedback_tunnel instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorsNoUp to two hex colors ('#rrggbb') used to colorize the otherwise-grayscale output via a final GLSL gradient (one color = black→color, two = color0→color1). Omit to leave it grayscale.
seed_typeNoWhat feeds the loop each frame: 'noise' (monochrome Noise TOP), 'shape' (Circle TOP), 'image'/'video' (Movie File In TOP), 'webcam' (Video Device In TOP — may prompt for camera permission), or 'glsl' (a generative shader). Default 'noise'.noise
parent_pathNoParent network where the feedback container is created (default '/project1')./project1
feedback_gainNoLoop decay multiplier (0–1) applied via a Level TOP's brightness1: how much of the fed-back frame survives each cycle. Higher = longer-lived, more saturated trails; default 0.95.
expose_controlsNoWhen true (default), expose a live 'Feedback' knob on the system container, bound to the loop's decay.
transformationsNoTOP effects applied in order inside the loop each frame (blur, displace, edge, level, hsv_adjust, transform, mirror, tile, luma_blur). Default ['blur','displace','level'].
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses the created node structure, the feedback loop mechanism ('Feedback TOP samples the Level node to close the loop'), the exposed 'Feedback' knob, and the full return payload (summary, JSON block with paths, errors, warnings, preview image). It adds substantial context about side effects and output.

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?

The description is front-loaded with the core purpose, followed by concise implementation details, use-case context, and an explicit alternative. Every sentence provides useful information without padding, making it appropriately sized for a tool with this complexity.

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?

Given the tool's complexity (6 params, multi-node creation, feedback loop), the description is complete: it explains what is built, how the loop works, what the user gets back, and when to choose this over the similar sibling. The output schema is not present, but the description enumerates the return block contents, filling that gap.

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?

The input schema already covers all 6 parameters with rich descriptions (100% coverage), so the baseline is 3. The description adds conceptual meaning by explaining how the parameters fit into the feedback loop (e.g., 'transformations' as an ordered chain, feedback_gain as 'loop decay multiplier'), which goes beyond individual parameter documentation.

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 begins with a clear verb+resource: 'Build a feedback-based visual system' and details exactly what it creates (baseCOMP with seed, Feedback TOP, Composite, transform chain, Level decay, optional GLSL pass, Null output). It also explicitly distinguishes itself from the sibling tool create_feedback_tunnel, making the purpose unambiguous.

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?

The final sentence provides explicit usage guidance: 'Use this for a general feedback look with a chosen seed type and an ordered chain of effects; for the specific infinite-zoom/rotate spiral ... use create_feedback_tunnel instead.' This clearly states when to use this tool and when to use an alternative.

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/lucasmaher-hash/touch-designer-mcp'

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