Skip to main content

visual-aesthetics

MUST READ before building or refining rendered visual output in TouchDesigner: generative art, VJ visuals, shaders, scenes, renders, projections, or anything shown on screen. Principles, verified TD recipes, and named looks for composition, camera, lighting, value, color, contrast, motion, materials, and finishing.

Quellinformationen

Repository
dylanroscover/Embody
Letzte Quellaktivität
26. September 2026 um 06:32
Erkannte Sprache von SKILL.md
Englisch
Sterne
182
Forks
11

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
visual-aesthetics
description
MUST READ before building or refining rendered visual output in TouchDesigner: generative art, VJ visuals, shaders, scenes, renders, projections, or anything shown on screen. Principles, verified TD recipes, and named looks for composition, camera, lighting, value, color, contrast, motion, materials, and finishing.
<!-- Generated by Embody/Envoy - Do not remove this comment - sha:1f320916dae158e3 --> # Visual Aesthetics Make rendered image and motion output read clearly, intentionally and with craft: deliberate composition, camera, lighting, palette, motion and finish. This skill is about what appears on screen, not node layout. It is the working loop and the judgement; the craft behind each pass (the composition, camera, lighting, value, color, contrast, motion, materials and finishing sections with their TD parameters and starter palettes) is in `references/craft.md`, and the named looks are in `references/look-recipes.md`, both in this skill's folder (`get_guidance(topic='visual-aesthetics/craft')` without a skills folder). Read the craft file for the pass you are on; read a recipe when the brief names a look. ## When to load this skill Before building or refining any network whose purpose is visual output: generative art, VJ visuals, shaders, render scenes, projection content, UI visuals, captured TOP output. Pair it with `capture_top` to evaluate the actual result against the rubric at the end. ## Output-first: show the work in the backdrop Before building any TOP chain, create the terminal Out TOP named `out1` (positioned per the layout rules) and `set_op_flags(op_path, display=True)` on it: a TOP with its Display flag on renders as the network editor backdrop (Display > Backdrop TOPs is on by default). As soon as any stage produces pixels, wire the chain end into `out1` and keep it wired while iterating, including while replacing, inserting or bypassing intermediate nodes. The user watches progress live behind the network. The final deliverable stays terminated in `out1`; `capture_top` on `out1` is the verification pass. ## The working loop (mandatory) 1. **Write a 3-line intent brief before creating any operator**: the subject (what the eye lands on first), the mood and palette (name one from the craft file's palette table, or design one), and the motion character (calm drift, pulsing energy, mechanical precision, still). If the request does not specify, propose a brief and build to it. Assembling operators with no target look is how default-looking output happens. 2. **Build in passes, in this order**: composition and camera blocking, then lighting and value, then color, then motion, then finishing. Get each pass reading before decorating the next. Post cannot rescue a weak composition; color cannot rescue a weak value structure. 3. **Capture and judge after every pass**: `capture_top` the OUTPUT TOP and look at the frame against the brief AND the rubric below. NEVER declare a visual task done without capturing and assessing the frame; a clean network is not success, a good-looking, correct frame is. 4. **Judge motion over time, not from one still.** Let time-evolving systems SETTLE before judging (feedback and particles need dozens to hundreds of frames; an early capture misreads as empty). Verify it actually animates: capture, let real seconds pass, capture again; the frames must differ. Judge motion character across 3-5 captures spread over the cycle, including both sides of a loop wrap (the wrap must be invisible). For audio-reactive work capture at a peak AND at silence; the silence floor must still look composed. Emergent looks (feedback painting) invert the pass order: build the process, run it, judge the accumulated frame. 5. **If the captured frame is black or empty** (`Quality: FAIL`), diagnose before continuing: display and render flags on the output op; for 3D, that a camera, a light and geometry with render and display on all exist; the chain terminates in a cooking Null; no bypass flag is on; resolution is not 0; alpha or premultiply when the image seems present but invisible. 6. **Iterate with the smallest knob set**: adjust the fewest upstream controls (the fix-it map), re-capture, re-judge. ## Kill the default look TD operators at default values produce recognizable programmer art. If a capture shows one of these, fix it before building further: | Tell | Fix | |---|---| | Grey Phong on default-lit geometry | Choose a material on purpose: PBR MAT with a palette base color and roughness, or Constant MAT for graphic flats | | One white light left wherever it spawned | Build the rig: three-point, or one dramatic key plus colored fill | | Subject centered at origin, camera never moved | Choose viewpoint and lens; frame deliberately | | Raw default Noise TOP as texture or background | Shape it (`mono`, `period`, `harmon`, `exp`), grade it, then map it through a palette Lookup | | Rainbow hue-cycling (animated hue) | Lock the palette; animate value, position or scale, never hue | | One constant-speed linear rotation as the only motion | Ease it, layer it, de-sync it | | Audio amplitude wired raw to scale or brightness | Shape with Lag (fast rise, slow fall) and keep a floor | | Bloom slathered across the whole frame | Raise `bloomthreshold` until only the accent blooms | | Glowing accent in a dark void as the answer to every brief | That is its own cliche; vary the field: high-key, daylight, pastel, fog | | Everything equally sharp, bright, saturated and moving | Impose hierarchy: one subject, a calmer field | ## The passes in one screen - **Composition**: one focal point, deliberate placement (thirds by default), negative space, depth cues, no accidental tangents, composed at the delivery aspect. - **Camera**: viewpoint, lens and distance chosen together (`fov`, `lookat`, dolly not zoom); every move eased through a Filter CHOP; depth sold with overlap, fog and a Depth-driven blur. - **Lighting**: a three-point rig or one dramatic cone key, colored light, shadows on the key only, an environment light under PBR, an emissive accent the bloom can find. - **Value**: distinct darks, mids and lights that survive a Monochrome squint test; the sharpest contrast on the subject; re-checked after post. - **Color**: palette first (3-5 keys in a Ramp TOP driven by a Table DAT, applied through a Lookup TOP), dominant plus accent, one temperature, saturation mostly under 0.6, hue never animated. - **Contrast**: push 1-3 axes, leave the rest calm; figure-ground on at least one axis. - **Motion**: eased (Filter, Lag), layered like fBm (slow large drift plus fast small detail), de-synced per element, evolving in place with 4D noise, audio shaped through Lag into a bounded range with a floor, rests in the rhythm, integer-period loops. - **Materials**: palette base colors, varied roughness, per-instance jitter, low-brightness additive sprites, additive for light and `over` for solids. - **Finishing**: float pipeline and `antialias` set at render time; then grade, bloom (threshold high), tone map, optional lens, vignette, grain last, every stage at low strength; judge at full delivery resolution. ## Objective self-check rubric Use `capture_top` to grab the render, then answer these before calling it done: | Check | Pass condition | |---|---| | Focal point | One clear subject; the viewer can name where the eye lands first | | Camera | Viewpoint, lens and framing are deliberate; any camera motion is eased and purposeful | | Lighting | A key light is identifiable; the subject separates by light; ratios and colors are chosen, not defaults | | Contrast location | The strongest value, color, focus, size or motion contrast sits on the subject | | Squint test | In a Monochrome or desaturated view the frame still reads as distinct shapes | | Value range | Darks, mids and lights all present; pure black or white only where intended | | Palette | Limited hues, controlled saturation, one dominant temperature or family | | Figure-ground | The subject separates from the background on at least one axis | | Composition | Placement, crop, negative space and depth cues look intentional at the delivery aspect | | Motion | Eased, layered, de-synced; a focal motion (or focal stillness); moments of rest | | Temporal (animated work) | Judged AFTER settling, across multiple captures: frames differ, the loop wrap is invisible, the audio-silence floor still looks composed | | Finishing | Grade, bloom, vignette, grain and AA are restrained and improve clarity | | Default tells | Nothing from the table above survives in the frame | | Delivery | Judged at final resolution and aspect, and it holds frame rate per `performance.md` | ## Fix-it map | Failing check | First knobs | |---|---| | No focal point | Reframe; key and rim light on the subject; calm the field | | Flat or muddy | Level `blacklevel`/`gamma1`/`contrast`; separate value bands; add a rim light | | Colors feel random | Route everything through the palette Lookup; HSV Adjust `saturationmult` down; pick one temperature | | Spatially flat | Camera fog; overlap and scale layering; the DOF recipe; parallax via a camera move | | Motion feels robotic | Filter or Lag easing; layered noise; per-element phase offsets | | Motion feels chaotic | Fewer audio or parameter mappings; slower background; one motion contrast | | Looks like default TD | Work the default-look table top to bottom | | Polished-but-amateur finish | Re-run the finishing chain in order at lower strengths; check AA; judge at delivery resolution | If a render fails a check, adjust the smallest number of upstream controls needed to restore hierarchy, re-capture, re-judge.
Auf GitHub ansehen