Skip to main content
Glama

Create POP lines pointcloud (Plexus)

create_pop_lines_pointcloud

Generate a Plexus-style line-web in TouchDesigner from a point cloud, linking nearest points into lines with adjustable density, spin, and color modes.

Instructions

Plexus-style line-web visual built on the POP family. A POP point cloud (auto-generated or sourced) is fed to a Neighbor POP that fills a per-point Nebr array attribute with closest-neighbor indices. A Script SOP converts that index list into deduplicated line primitives, rendered as a Geometry COMP through a Render TOP to a Null TOP — the classic Plexus look without third-party plugins. auto_pattern: 'noise' (default) = pointgeneratorPOP + noisePOP; 'sphere' = spherePOP; 'grid' = gridPOP. count is hard-capped at 8192 (CPU O(N·k) line emission). color_mode: flat | by_distance (warm→cool gradient) | by_neighbor_count (isolation ramp). Exposes live controls: MaxDistance, MaxNeighbors, Spin, PointSize, LineAlpha. POPs are Experimental — par names and Nebr array-attribute survival through poptoSOP are probe-first unverified; result carries extra.unverified.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoContainer base name; final path uses TD auto-suffix.pop_lines
spinNoY-axis degrees/sec spin of the whole field via Transform POP ry expression.
colorNoLine color used directly in flat mode, as warm endpoint in by_distance, as dense endpoint in by_neighbor_count.
countNoApprox point count when auto-generating. Hard-capped at 8192 (line emission is O(N·k) on CPU).
max_linesNoHard cap on emitted line primitives in the Script SOP (after dedupe).
color_modeNoDrives Cd attribute on the SOP. flat = single color; by_distance = per-line gradient; by_neighbor_count = per-point ramp on isolation.flat
line_alphaNoConstant MAT alpha; < 1 lets lines additively glow.
point_sizeNoOptional point overlay size rendered in addition to lines. 0 hides points.
resolutionNoRender TOP resolution [width, height].
parent_pathNoParent network for the system container./project1
source_pathNoIf set, must point to an existing POP/SOP that produces a point cloud. When omitted, a point cloud is auto-generated per auto_pattern.
auto_patternNoUsed only when source_path is undefined. noise = pointgeneratorPOP + noisePOP; sphere = spherePOP; grid = gridPOP.noise
max_distanceNoRadius (POP world units) the Neighbor POP searches for neighbors. Drives Plexus density.
max_neighborsNoPer-point neighbor cap (neighborPOP.maxneighbors). Higher = denser web.
expose_controlsNoSkip control panel exposure when false.
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, which aligns with creating a new visual. The description adds valuable behavioral context: POPs are Experimental, par names and Nebr attribute survival are unverified, count is hard-capped at 8192 with O(N·k) CPU cost, and result carries extra.unverified. This goes beyond the annotations

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 dense yet well-structured: it front-loads the core purpose, then walks through the pipeline, enumerates options, and ends with critical caveats. Every clause provides useful information without redundancy, appropriate for a tool with 15 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 tool's complexity and lack of output schema, the description covers purpose, pipeline, parameter semantics, and caveats comprehensively. It does not explicitly state what the tool returns (e.g., the created container's path), which is a minor gap for an agent expecting an output. Overall, it is highly complete for selection and invocation.

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

Parameters5/5

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

Schema coverage is 100%, yet the description adds substantial meaning: auto_pattern options are paired with specific POP nodes, color_mode is explained semantically, and inter-parameter relationships are clarified (e.g., auto_pattern only used when source_path undefined, max_distance drives density). This exceeds the baseline of 3.

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 states this tool creates a Plexus-style line-web visual built on the POP family, with a specific pipeline (POP point cloud → Neighbor POP → Script SOP → Geometry COMP → Render TOP → Null TOP). It is a specific verb+resource+style, distinguishing it from other create_* siblings like create_pop_field or create_point_cloud.

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

Usage Guidelines3/5

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

The description implies usage by explaining the Plexus effect, auto_pattern options, and the caveat about POPs being experimental. However, it does not explicitly state when to use this tool versus alternatives (e.g., create_pop_particle_system, create_vector_lines) or when not to use it.

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