Skip to main content
Glama

Create asemic writing

create_asemic_writing

Generates procedural asemic writing: illegible, script-like strokes in rows with adjustable slant, jitter, and pen-lift. Builds a TouchDesigner baseCOMP with controls and preview.

Instructions

Generate a page of procedural asemic writing — random-but-writing-like glyph strokes that flow left-to-right along stacked baselines but spell nothing. A Script SOP lays out rows × glyphs cells; each glyph is a short chain of strokes control points walking a noise-perturbed pen, with italic slant, per-stroke jitter, and occasional pen-lifts (lift_chance) that break marks apart. The polylines are thickened into tube ink strokes and rendered with an orthographic camera as calligraphic line art on a coloured page. Deterministic per seed. Genuinely distinct from create_growth_system (L-system branches) and create_vector_lines (image-traced contours). Creates a new baseCOMP under parent_path. Exposes Jitter, Slant, Thickness, and Seed controls. Returns a summary plus a JSON block with the container path, created node paths, output path, exposed controls, node errors, warnings, and an inline preview image.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsNoNumber of baselines (lines of writing) stacked top to bottom.
seedNoRNG seed — same seed reproduces the same page of writing.
slantNoItalic slant applied to every glyph (x-shear per unit height). 0 = upright.
glyphsNoGlyphs per row, laid left to right along the baseline.
jitterNoHow far the pen wanders vertically per stroke (fraction of the line height). 0 = flat dashes, 1 = wild scrawl.
strokesNoControl points per glyph — more strokes = more elaborate, script-like marks.
ink_colorNoStroke (ink) colour (RGB 0..1).
thicknessNoTube SOP radius for the rendered ink strokes.
backgroundNoPage / background colour (RGB 0..1).
lift_chanceNoProbability the pen lifts (breaks the polyline) between adjacent strokes, giving disconnected marks.
parent_pathNoParent network where the asemic-writing container is created (default '/project1')./project1
Behavior5/5

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

Beyond annotations (readOnly=false, openWorld=true, destructive=false), the description discloses deterministic seeding, creation of a new baseCOMP under parent_path, and the complete return structure (summary, JSON block, preview image). It also details the rendering pipeline, providing rich behavioral context without contradicting 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 dense and front-loaded with the core purpose. Technical details like 'Script SOP', 'tube ink strokes', and 'orthographic camera' are all relevant. It is slightly longer than minimal, but every sentence contributes useful information, making it appropriately sized for the 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?

With no output schema, the description compensates by enumerating the return payload (container path, node paths, output path, exposed controls, errors, warnings, preview image). It also covers creation location, exposed parameters, and rendering behavior, making it complete for an agent to decide when and how to invoke the tool.

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 the baseline is 3. The description enhances this by explaining parameter interactions (rows × glyphs layout, strokes control points, lift_chance breaking marks) and how they affect the visual result, adding value beyond the schema's isolated parameter descriptions.

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 opens with 'Generate a page of procedural asemic writing', a specific verb and resource, and elaborates on the exact output (glyphs, baselines, randomness). It explicitly distinguishes itself from create_growth_system and create_vector_lines, making its purpose unmistakable.

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 description explicitly names two sibling tools and explains how this tool differs ('Genuinely distinct from...'), giving the agent clear selection criteria. This satisfies the requirement for explicit alternatives, even if it does not list all when-not scenarios.

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