Receitas de prompt
Copie, troque as palavras e deixe do seu jeito. Estão agrupadas pelo que você quer criar. Depois de qualquer build, você sempre pode dizer "me mostre um preview" e então ajustar: "mais quente", "mais devagar", "mais contraste", "adicione um glitch".
Como descrever
Descreva o resultado e a sensação, não os nós. "Um túnel lento, hipnótico e azul-profundo" funciona melhor do que nomear operadores. A IA escolhe os operadores.
A mídia desta página fica reservada para o resultado visual ou a superfície performável que o prompt cria. Se o prompt gera relatório, config, README ou health check, ele fica só em texto em vez de mostrar uma ilustração decorativa do comando. Não anexe um clipe até ele ter sido capturado da saída do TouchDesigner que o prompt produziu via tdmcp.
Starters de receita (receitas first-party validadas)
Use estes quando quiser começar por uma receita first-party validada e só depois pedir uma passada criativa. São bons para workshop e ensaio porque partem de redes checadas por schema, não de topologia inventada do zero.
"Aplique
audio_reactive_basic, use um tom de teste se o mic não estiver disponível, e me mostre o caminho do Null de áudio dirigindo a cor de saída."
Uma cadeia compacta de audio-in / spectrum / RMS com Null CHOP estável. A cor da saída TOP já está ligada ao nível RMS por expressões, então o quadro pulsa com o áudio de imediato.
"Aplique
keyframe_animation_basic, adicione cinco keyframes legíveis de câmera ou objeto e exponha um controle Speed para eu ensaiar o movimento sem abrir o grafo."
O starter com Animation COMP coloca movimento declarativo primeiro: você autoria os canais no Animation Editor do TD e usa o CHOP resultante para guiar o look.
"Aplique
pose_skeleton_standalonecom a tabela interna de landmarks, renderize juntas como pontos brilhantes e ossos, e deixe notas para trocar por uma fonte de pose ao vivo depois."
Um renderizador de pose sem câmera: landmarks estáticos alimentam um skeleton em Script SOP, útil para testar o look antes de existir fonte MediaPipe ou Kinect.
"Aplique
particle_system_basic, faça o emissor subir como cinza e exponha BirthRate, Lifetime e ForceY como os primeiros controles performáveis."
Um starter com Particle SOP, câmera, luz, material point-sprite e Null de saída. Simples para ensinar, completo o bastante para tocar ao vivo.
"Aplique
feedback_network_basic, ajuste blur e decay para virar um túnel recursivo de alto contraste e mantenha a rede mínima para eu aprender o loop."
Seed de noise, composite feedback, blur, level decay e Null de saída: a menor rede de feedback performável que ainda se comporta como instrumento visual.
"Aplique
glsl_shader_basic, deixe o plasma inline editável e exponha uTime, uScale, uColorA e uColorB para eu combinar com a paleta do show."
Uma receita minúscula de GLSL TOP para trabalho shader-first. Ela cai como rede válida e mantém o source perto para ensino ou remix rápido.
"Aplique
kinetic_text_audio_reactive, escreva uma palavra gigante de cue e depois ligue a expressão de brightness ao canal de grave do analyze."
Text TOP com cadeia transform / level ao lado de um analisador de grave. A receita deixa a expressão de áudio manual explícita em vez de escondê-la em dados inválidos.
"Aplique
decks_layer_mixer, deixe os decks A e B com cores claramente diferentes, então adicione uma nota de Cross e gain por deck para o VJ."
A receita de decks first-party é um esqueleto pequeno de mixer: duas fontes, dois gains, um bus composite e uma saída program estável.
"Aplique
depth_displacement_post, use o depth map sintético para deformar um ramp, então finalize com blur e level grade para parecer um post pass real."
Uma pilha depth/displace/post sem hardware, boa para ensaiar looks de profundidade antes de existir câmera depth ou mapa gerado.
"Aplique
kinetic_text_path_follow, coloque o título do show num caminho circular e me diga exatamente quais expressões preciso ligar depois do import."
Um template de ligação manual para tipo seguindo caminho: CHOPs sin/cos determinísticos guiam o movimento enquanto a receita continua válida no schema.
"Aplique
optical_flow_particles, roteie o movimento da câmera para o drift das partículas e deixe a saída pronta para um feedback de trails."
Vídeo ao vivo vira campo de optical-flow e empurra partículas. É a receita camera-reactive para usar quando o movimento do corpo deve deixar rastros visíveis.
"Aplique
atemporal_bodytrack_glitch_timelineneste clipe vertical: comece limpo, deixe glitches verdes curtos entrarem como bug de câmera, volte ao normal entre os filtros e use o tracker vermelho só como pontos pequenos, linhas e rastros -- sem círculos grandes."
Um template reutilizável de bug-timeline: filmagem limpa, saltos atemporais verdes, respiros normais e um branch vermelho de body tracking que parece object tracking, não decoração circular. Anime SceneMode para performar o edit e adicione ticks / ruído de glitch apenas enquanto um branch filtrado estiver ativo.
"Aplique
mediapipe_face_overlay, escureça a webcam por baixo, tinja os pontos de landmark e deixe o overlay fácil de trocar do demo para o adaptador de face ao vivo."
Uma receita de face overlay que espelha o setup novo de face tracking: webcam, CHOP de landmarks, dots instanciados, render e composite.
"Aplique
scene_timeline_demo, monte três cenas óbvias e exponha play, rate e fade para eu demonstrar timing de cue em um minuto."
Um demo de três cenas guiado por timer que ensina raciocínio de show-clock sem exigir um setlist runner completo.
"Aplique
scene_3d_basic, coloque uma esfera sob câmera e luz, então ligue RotateY a uma rampa de tempo depois do import."
A menor cena 3D renderizável: geometria, câmera, luz, Render TOP e Null. Boa base para exercícios de material, instancing e audio-reactive.
"Aplique
video_synth_oscillator, faça um synth de cor com oscilador Lissajous e mantenha uFreqX / uFreqY / uColor expostos para ajuste ao vivo."
Um starter de video synth procedural, sem filmagem: um GLSL TOP desenha uma curva de oscilador brilhante com controles seguros para show.
"Aplique
kinetic_text_standalone, faça a palavra respirar com LFO e deixe os bindings pós-import documentados para um iniciante terminar."
Uma receita de kinetic type sem áudio para title cards, contagens regressivas e labels de cue quando audio-reactivity ainda não é necessária.
As receitas twin do v0.13 espelham ferramentas de orquestração mais novas com redes checadas por schema e validadas por live cook. Elas ficam só em texto aqui até cada vídeo ser capturado do out1 real depois de rodar o prompt pelo tdmcp.
"Aplique
color_grade_basicem uma rampa de teste limpa, deixe com cara de grade teal e âmbar de madrugada, e exponha Brightness, Gamma, Contrast, Saturation e Hue para eu trocar por footage do venue depois."
Uma rampa horizontal alimenta estágios Level e HSV Adjust, terminando em um out1 estável. A receita expõe controles de grade que você pode ensaiar offline e depois trocar por uma fonte real via Select TOP. É a twin validada de create_color_grade, útil quando você precisa de uma cadeia de colorista antes do clip real estar pronto.
"Aplique
transition_dissolve, deixe as fontes A e B obviamente diferentes, e mantenha um controle Progress para eu ensaiar o crossfade antes de ligar decks reais."
Duas fontes internas se misturam por um Cross TOP com um único knob Progress de 0..1. É o menor ensaio seguro de transição A/B: suficiente para praticar o fader e depois substituir as fontes de teste por Select TOPs dos decks reais.
"Aplique
text_overlay_lower_third, escreva um lower third legível para a vocalista sobre o fundo de demo, e deixe a camada de texto fácil de trocar para o program feed."
Um Text TOP é composto sobre um fundo sintético e termina em out1. Parâmetros de texto e fonte ficam visíveis para titulação ao vivo ou binding posterior, então o overlay pode sair do lower third de demo para o program output real sem mudar a forma da receita.
"Aplique
layer_stack_blend, crie três camadas de ensaio com cores e blend modes diferentes, e exponha a opacidade de cada uma para eu praticar uma mixagem ao vivo pequena."
Fontes de noise, rampa e constant empilham de baixo para cima por estágios Level e Composite. A opacidade por camada fica exposta, fazendo da receita uma mini mesa de camadas legível antes de o show usar entradas reais.
"Aplique
strobe_flashcom uma taxa moderada de ensaio, mantenha Rate e Duty visíveis, e me avise antes de eu subir para uma faixa insegura para fotossensibilidade."
Um Constant TOP pisca por um Level TOP guiado por expressão de LFO. Rate e Duty ficam performáveis, e o aviso de segurança importa porque isso é uma saída piscante real, não um preview decorativo.
"Aplique
test_pattern_grid, faça uma grade de alinhamento de projetor com oito divisões, e rotule de um jeito claro para a equipe identificar o output de longe."
Um GLSL TOP autossuficiente desenha uma grade de calibração terminando em out1. Use para foco, alinhamento de mapping e checagens rápidas de output antes da arte entrar ao vivo.
"Aplique
datamosh_feedback_echo, deixe o smear recursivo crescer por alguns frames, e exponha Decay para eu tocar a trilha de codec quebrado ao vivo."
Noise animado alimenta um loop limitado de Feedback / Composite / Level. O visual recursivo se desenvolve ao longo de vários frames processados pelo cook, então peça um preview com atraso quando for capturar o resultado.
"Aplique
chrome_blobs, faça o metal líquido se mover devagar sobre um fundo escuro de estúdio, e me diga qual binding deuTimeeu preciso depois do import para reflexos em movimento."
Noise vira metaballs suavizadas e um passe GLSL de chrome. A receita é válida offline, com uma nota de binding manual de uTime para reflexos animados: um look reprodutível de bumper Y2K, não um shader colado uma vez.
"Aplique
displacement_warp_noise, use o modulador de noise animado para fazer a rampa ondular como miragem de calor, e deixe Amount e Speed prontos para um clip real depois."
Uma rampa é distorcida em UV por noise em movimento através de um Displace TOP. É um caminho seguro de ensaio offline para warps líquidos sobre footage real, com os controles ao vivo prontos antes da fonte chegar.
"Aplique
luma_keyer, use a rampa como matte de luminância visível sobre um fundo de noise em movimento, e exponha Threshold e Softness para eu ajustar uma fonte real depois."
Uma fonte de rampa, fundo de noise, matte por Level e Matte TOP tornam a key visível sem footage externo. É a twin de ensaio do luma key antes de uma câmera ou movie source real entrar na cadeia.
Generativo & abstrato
"Crie um túnel de feedback a partir de ruído com blur e displace, adicione bloom e me mostre um preview."
Uma rede de feedback de alto contraste (blur + displace + bloom), ajustada como showpiece em vez de uma demonstração técnica simples.
"Faça um padrão de reação-difusão em evolução, em verdes e pretos, lento e orgânico."
Padrão estilo reação-difusão na GPU, com contraste mais forte e cor pronta para palco, não uma simulação de laboratório chapada.
"Construa uma paisagem de ruído fluida em 3D com uma câmera orbitando."
Um terreno 3D deslocado por ruído.
"Me dê um visual de atrator estranho Lorenz com partículas brilhantes no preto, engrossado como tubo e evoluindo só enquanto a timeline toca."
create_strange_attractor integra ODEs Lorenz / Aizawa / Halvorsen num buffer rolante de Script CHOP, renderiza a trilha como geometria SOP e pode engrossar a linha com Tube SOP para virar um caminho 3D real.
"Me dê um visual de sintetizador de vídeo analógico dos anos 70 — padrões de interferência suaves e scanlines rolando em verde-azulado elétrico e rosa."
Padrões procedurais de lissajous / interferência / scanline animados ao longo do tempo com controles de frequência e cor — uma lavagem de osciloscópio estilo Rutt-Etra autossuficiente, sem precisar de nenhuma filmagem.
"Construa um túnel fractal por raymarching que eu possa atravessar voando, ciano brilhante no preto, com um botão de Velocidade."
Uma cena de campo de distância com sinal (SDF) renderizada inteiramente num GLSL TOP — um túnel infinito que você atravessa voando, com controles de Velocidade da câmera e de cor. Sem nós de geometria, só matemática.
"Construa um campo SDF programável com uma esfera subtraindo uma caixa e uma união suave de torus, ciano-para-magenta, com controles vivos de CameraZ / StepCount / Rotate."
create_sdf_field é o raymarcher CSG mais novo: componha primitivas esfera / caixa / torus com union, intersect, subtract e smooth blend, então performe o campo com controles SDF expostos em vez de editar shader no meio do show.
"Esculpa um blob de metaball macio e morfando em 3D que respira devagar, superfície iridescente num palco escuro."
Uma escultura SDF estilo Shader Park (esferas e ruído mesclados) compilada num GLSL TOP, com controles de Velocidade de morph e de superfície — volumes orgânicos, tipo argila, que pulsam e se fundem.
"Use estas três imagens de moodboard — oceano enevoado, cobre oxidado e luz fria de catedral — e construa um sistema generativo compatível com post-FX."
moodboard_to_system lê de 1 a 6 imagens, extrai intenção de paleta / movimento / gerador com o LLM configurado (ou fallback determinístico) e dispara um sistema Layer-1 compatível, com pós-processamento.
"Faça crescer um sistema orgânico de galhos a partir de um único caule, verde musgo no preto, e deixe a taxa de crescimento reagir à música."
Um gerador de L-system / turtle-growth engrossado como geometria SOP renderizável, com controles de gerações, ângulo de galho, passo e espessura — útil para vinhas, raízes, circuitos e line-art viva.
"Empacote os seis clássicos generativos canônicos — túnel de feedback, barras de espectro, paisagem de ruído, galáxia de partículas, reaction-diffusion e glitch de webcam — como um bundle portátil de receitas para importar em outra máquina."
generative_classics_pack começa como uma lista read-only de receitas internas disponíveis, então pode escrever um JSON compatível com import_recipe_bundle. É o export rápido de "clássicos confiáveis" para workshops, instalações novas e rigs offline.
"Me puxe para um túnel de feedback infinito com zoom da minha webcam, deixando rastros e girando, magenta profundo."
Um loop de feedback de zoom infinito dedicado (zoom + rotação + decay) semeado a partir de qualquer fonte, com botões de Zoom / Giro / Rastro — o clássico túnel de "cair dentro da tela".
"Preencha o quadro com uma simulação de fluido de tinta em tempo real, ciano e magenta, com splats de áudio no bumbo mas auto-LFO quando não houver mic ligado."
create_fluid_sim constrói a pilha de advection / pressão / vorticity / dye em GLSL TOPs, expõe controles de viscosidade / dissipação / splat e consegue se autoanimar antes de você ligar uma fonte ao vivo.
"Transforme este poster em milhares de partículas que explodem no drop e depois voltam como mola para formar a imagem original."
image_to_particles amostra os pixels da fonte como posições e cores de repouso, e usa um loop de partículas na GPU para a imagem dissolver, espalhar e se recompor no tempo da música.
"Esculpe uma catedral de esferas fundidas e anéis de toroide em pura matemática SDF, iluminada por dentro de violeta, e me dê um botão de Camera-Z pra voar pra dentro."
Um único GLSL TOP faz raymarch de uma árvore CSG (union / subtract / smooth-blend de primitivas esfera + caixa + torus) com controles ao vivo de CameraZ, StepCount, Speed, ColorA / ColorB e Background. A saída é um sólido infinitamente detalhado por onde você voa sem instanciar nenhum SOP.
"Monte uma paisagem 3D ondulada a partir de ruído — colinas de verdade vistas de frente, vales em verde-musgo subindo até picos claros, um lago translúcido e calmo cortando o relevo, e névoa de distância dissolvendo as colinas distantes no céu. Deixe o terreno derivar devagar para nunca ficar parado, e me dê um botão de Altura e de Zoom."
create_terrain desloca um Grid SOP subdividido no eixo Z por um heightmap de Noise ao vivo num vertex MAT GLSL — geometria 2.5D de verdade, sombreada por elevação do baixo ao alto, com plano d'água translúcido opcional e fade de névoa por distância de câmera. Height / Drift / WaterLevel / Zoom ficam expostos, então é terreno deslocado real com um lago, não um plano de ruído chapado.
"Preencha o quadro com páginas de uma caligrafia inexistente — linhas de um alfabeto que não existe, fluindo da esquerda para a direita como escrita de verdade, com hastes e levantadas de caneta, desenhado como traços de tinta caligráfica limpos sobre uma página clara."
create_asemic_writing dispõe fileiras de glifos num Script SOP, cada um uma cadeia curta de traços caminhada por ruído com fluxo de baseline, hastes ascendentes / descendentes e levantadas ocasionais de caneta, tubada e renderizada ortograficamente como line-art. Nada é traçado de uma fonte — é escrita convincente num idioma que nunca foi projetado.
"Me dê o clássico visual Schotter — uma grade organizada de quadrados no topo que vai ficando cada vez mais bêbada em direção à base, tombando e se espalhando. Coloque toda essa descida ao caos em um único botão que eu possa automatizar."
controlled_disorder_grid desenha uma grade rows×cols de quadrados num único GLSL TOP, onde um botão disorder (0 = grade perfeita → 1 = caos total) escala jitter de posição, rotação e escala por célula, cada um hasheado do índice da célula para ficar estável e reproduzível. É o "Schotter" de Georg Nees (1968) como um parâmetro ao vivo automatizável, inteiramente procedural.
Toolkit RayTK (SDF por node-graph)
O RayTK (t3kt/raytk) é o toolkit de raymarching / signed-distance-field da comunidade. Estes prompts constroem um node-graph RayTK editável (primitivas SDF → combine → material → câmera → renderer) a partir dos masters de operador (ROP) reais do RayTK — o complemento node-graph-native ao create_raymarch_scene em GLSL autossuficiente acima. RayTK é um pacote externo: as ferramentas exigem ele staged + carregado antes, e o RayTK 0.46 precisa do TouchDesigner 2025.30770+ (fixe build-045 para builds 2023.x). Os vídeos abaixo foram capturados de um graph vivo no TouchDesigner 2025.32820 com RayTK 0.46 carregado; num build local novo, qualquer coisa que você ainda não cozinhou ao vivo deve continuar como UNVERIFIED-pending-td. Sem o toolkit, as ferramentas fazem fail-forward com a mensagem "stage & load RayTK first" em vez de um render falso.
"Verifique se meu build do TouchDesigner roda o RayTK mais recente, depois faça o stage do toolkit para eu usar os operadores dele."
tdmcp-agent manage_packages --params '{"action":"doctor","package_id":"raytk"}'
tdmcp-agent manage_packages --params '{"action":"install","package_id":"raytk","dry_run":false,"yes":true}'manage_packages doctor raytk lê o build ao vivo do TD e reporta o version gate (ok no 2025.30770+, um warning nomeando o build necessário caso contrário), depois install faz o stage do .tox em ~/.tdmcp/packages. Ele nunca roda scripts de terceiros — carregue o .tox staged no TouchDesigner antes de construir uma cena.
"Construa uma cena de raymarch RayTK de verdade — uma esfera unida a um box, com material e uma luz — como um node graph que eu posso continuar editando."
tdmcp-agent raytk-scene --params '{"sdf_primitive":"sphereSdf","union_with":"boxSdf","material":true,"add_camera":true,"add_light":true}'create_raytk_scene copia os masters de ROP reais do RayTK (sphereSdf, boxSdf, simpleUnion, basicMat, pointLight, raymarchRender3D) e conecta a cadeia renderizável mínima, terminando num Null TOP. Como são operadores ao vivo, você pode continuar ajustando a rede à mão depois — diferente do caminho GLSL monolítico. O renderer compila o shader numa thread em segundo plano, então o primeiro preview pode ser pré-compilação; faça um cook-wait ao vivo antes de confiar no frame.
"Faça um segundo estudo RayTK por node graph com um torus SDF unido a um box-frame SDF, material magenta e uma luz, para eu inspecionar a cadeia ROP e continuar editando os operadores."
tdmcp-agent raytk-scene --params '{"sdf_primitive":"torusSdf","union_with":"boxFrameSdf","material":true,"add_camera":true,"add_light":true}'Isto ainda é um graph RayTK, não um shader standalone: torusSdf, boxFrameSdf, simpleUnion, basicMat, lookAtCamera, pointLight e raymarchRender3D são copiados do pacote RayTK carregado, e o TOP final é capturado depois de um cook-wait ao vivo.
"Adicione um combine de smooth-union à minha cena RayTK e puxe a esfera existente para dentro dele, para eu começar a mesclar mais formas."
tdmcp-agent raytk-op --params '{"op_type":"simpleUnion","category":"combine","parent_path":"/project1/raytk_scene_sphereSdf","connect_from":"/project1/raytk_scene_sphereSdf/sdf_primary","input_index":0}'create_raytk_op instancia qualquer ROP RayTK isolado pelo nome e conecta um op existente numa das entradas tipadas 0-based do op novo (origem → op novo) — aqui a esfera da cena vira a entrada 0 do simpleUnion. O master path, dependente da instalação, é probado ao vivo, nunca hardcoded, e chamadas repetidas se auto-posicionam à direita dos irmãos existentes. (Câmeras e luzes são ligadas direto no renderer pelos flags add_camera / add_light do create_raytk_scene — essa direção é op-novo → renderer, não coberta por este wire origem → op-novo.) Explore a taxonomia completa de operadores pelo recurso de catálogo tdmcp://raytk/operators.
"Construa um estudo RayTK de expression graph: esfera mais box entrando num union, material, câmera e luz, tudo disposto como ROPs editáveis para eu continuar expandindo a árvore SDF à mão."
tdmcp-agent raytk-expr-graph --params '{"preset":"sphere_union_box","add_material":true,"add_camera":true,"add_light":true}'raytk_expr_graph_builder é a superfície de graph maior: aceita presets ou nodes / edges explícitos, copia os masters RayTK necessários ao vivo, conecta índices de entrada tipados, posiciona os ROPs copiados de forma determinística e expõe o renderer selecionado por out1. Trate o primeiro render local como UNVERIFIED-raytk-render até o .tox do RayTK estar carregado e o shader ter cozinhado no TouchDesigner.
Estudos artísticos & instalações
Estes prompts são para artistas visuais primeiro: loops de galeria, imagens de palco, estudos de câmera, transformações com cara de impressão e peças de instalação.
"Faça uma murmuração de 4.000 agentes minúsculos respirando como um bando, com botões Separation / Alignment / Cohesion para eu performar devagar."
create_particle_flock é a superfície de boids: um sistema comportamental na GPU em que a imagem não é um efeito de partículas colado por cima, mas uma multidão em movimento com regras sociais próprias. Bom para bandos, cardumes, campos de pessoas e movimento ambiente de galeria.
"Construa uma galáxia de partículas com curl-noise: centenas de milhares de pontos orbitando em braços suaves, reagindo devagar ao movimento da sala."
create_gpu_particle_field é o campo de alta contagem para névoa, estrelas, cinza, plâncton e poeira. Peça reactivity:"motion" quando uma câmera deve energizar o drift sem transformar a peça num efeito literal de webcam.
"Transforme o performer num recorte preto com aro ciano/magenta e use essa máscara para revelar um mundo generativo atrás dele."
create_depth_silhouette dá uma matte limpa para instalações: fonte sintética no ensaio, câmera/depth source no local, controles de blur/threshold/invert para ajustar a borda e uma máscara de saída pronta para composição.
"Rastreie quatro blobs brilhantes da câmera e deixe cada um puxar um campo de cor, como visitantes movendo lanternas pela projeção."
create_blob_reactive transforma pontos de luz, mãos ou objetos rastreados em canais como blob0_x, blob0_y e blob0_size. Use em instalações participativas onde corpos controlam a obra sem ninguém segurar um controlador.
"Rotoscope esta fonte em linhas vetoriais fluindo: congele um frame, trace os contornos e mantenha um botão de pulse para eu capturar um novo desenho ao vivo."
create_vector_lines é uma ponte entre vídeo e desenho: prepara uma máscara, congela, traça como geometria SOP editável e depois renderiza ou exporta. Útil para estudos de plotter, rotoscope ao vivo, testes de contorno para laser e fluxos de impressão.
"Faça uma tapeçaria de cellular automata, azul e âmbar, com regras que pareçam pixels tecidos crescendo pela parede."
create_generative_art aceita cellular_automata como estudo promptável. Funciona especialmente bem quando o artista quer um tecido vivo, não um efeito de câmera nem um visual musical.
"Preencha a projeção do chão com trilhas de slime-mold: caminhos luminosos procuram, se sobrepõem, desaparecem e deixam memória de tinta molhada."
create_simulation com type:"slime" entrega trilhas decaindo e movimento de busca. Fica entre reaction-diffusion e fluid sim: menos diagrama científico, mais rastro vivo.
"Gere uma paleta harmônica contida a partir de um tom azul-esverdeado, construa uma faixa de gradiente e use isso como fonte de cor para o próximo visual."
create_palette não é só encanamento utilitário: é ferramenta de direção de arte. Use regras de harmonia para definir primeiro o mundo visual, depois alimente grade, partículas, cor de SDF, tipografia ou projection mapping com esses swatches.
"Crie traços de fitas fluindo a partir de um vector field, como caligrafia de tinta em longa exposição se movendo sobre preto."
create_generative_art com flow_field é a versão promptável de movimento em linhas: boa para rastros caligráficos, mapas de corrente, desenhos de vento e estudos de movimento sem dados externos.
"Faça um relevo escultórico a partir de uma imagem: uma superfície iluminada de lado que sobe e desce como peça de parede de galeria, não um filtro de vídeo plano."
create_depth_displacement transforma brilho ou profundidade em forma 2.5D real, com luz e controles de câmera orbitável. Use quando a imagem deve virar objeto.
Reativo a áudio
"Construa um espectro radial que floresce no grave e solta faíscas cromáticas nos agudos."
O que você recebe: uma cadeia de análise (espectro + nível + batida) alimentando um visual, geralmente com um botão de Sensibilidade. Veja a nota sobre permissão de microfone no macOS, ou peça um tom de teste em vez do mic enquanto experimenta.
"Construa uma bola 3D de espinhos que se projetam para fora no grave e brilham nos agudos — mostre o preview num beat de teste."
Uma geometria 3D renderizada cujo deslocamento, escala e rotação são ligados a bandas de áudio ao vivo (grave / médio / agudo) com um botão de Sensibilidade — um sólido espinhento e respirante que dança com a faixa. Usa uma fonte sintética, então dá preview sem permissão do mic.
"Faça sidechain desta camada com o bumbo para ela abaixar e voltar pulsando a cada batida, como um compressor."
Um seguidor de envelope com ataque/release e gate/duck — faça sidechain da opacidade ou do brilho de uma camada com o bumbo para ela pulsar no tempo, indo além de um simples Lag de suavização. O "pump de sidechain" que todo produtor de eletrônica conhece, aplicado a um visual.
"Divida esta faixa em cor por classe de nota, flashes de transiente e uma estrutura lenta de energia, então conecte cada fluxo a uma parte diferente do visual."
Três caminhos novos de análise musical: create_chroma_reactive expõe 12 canais de classe de nota, create_transient_reactive separa percussão de sustain, e create_energy_structure detecta build / drop / breakdown com limiares adaptativos.
"Escute esta faixa de referência, extraia fingerprint de tempo / brilho / densidade de ataques / dinâmica, e escolha automaticamente um sistema visual compatível."
audio_fingerprint_to_visual amostra áudio, classifica o fingerprint e dispara um gerador ajustado, como glitch, caleidoscópio, feedback, partículas na GPU ou geometria reativa a áudio. Use dry_run primeiro quando quiser inspecionar a escolha.
"Divida o feed do DJ em quatro bandas limpas, roteie sub para displacement, médios para pulso de cor e agudos para densidade de faíscas, então conecte as mesmas bandas ao meu GLSL TOP como uniforms
uBass,uMideuHigh."
Use create_band_router quando uma entrada de áudio precisa virar canais de controle legíveis band0..bandN, depois create_audio_glsl_uniforms quando esses canais devem guiar uniforms do shader diretamente. O resultado não é só "reativo a áudio": é um barramento de modulação nomeado e inspecionável que quem escreve shader consegue ajustar sem reescrever GLSL a cada mudança.
MIDI & instrumentos
"Faça cada nota do meu teclado MIDI disparar um estouro de cor diferente — e me deixe testar sem plugar nada."
Mapeia notas MIDI recebidas para canais reativos por nota (um flash ou estouro por altura), com uma fonte de notas sintética embutida, então dá preview e você pode ensaiar o look antes do equipamento estar conectado.
Reativo a câmera & movimento
A contraparte da reatividade ao áudio — guie um visual pelo movimento ou pelo brilho na frente da sua webcam.
"Faça um visual que reage ao movimento na frente da minha webcam, e dê preview."
"Controle a quantidade de feedback pelo tanto de movimento que a câmera vê."
"Reaja ao brilho da sala — aumente o bloom quando acenderem as luzes."
O que você recebe: uma cadeia de análise expondo canais de movimento e brilho mais um botão de Sensibilidade. Como o mic, a câmera ao vivo dispara o popup de permissão do macOS — ou peça uma fonte sintética de teste para experimentar sem câmera.
"Analise o movimento deste clip como optical flow, suavize e use o campo vetorial para controlar um liquid displacement warp — use o clip Mosaic embutido se minha câmera ainda não estiver pronta."
create_optical_flow monta um campo de movimento com TOPs nativos a partir do frame atual versus o anterior, com controles de Sensitivity / Smoothing / Blur. Ele emite um TOP de flow RG-packed que pode modular displacement, partículas ou qualquer cadeia de movimento guiada por TOP.
"Trace minha silhueta ao vivo em um único contorno limpo — tire o preenchimento e a cor, só o contorno em movimento do meu corpo desenhado como uma linha vetorial nítida que me acompanha."
create_blob_trace encadeia fonte → mono → blur → threshold (máscara de blob) → borda opcional → Trace SOP (máscara em polilinha) → render wireframe. O padrão é um blob sintético animado, então dá preview sem dispositivo; use source:"camera" para traçar a webcam ao vivo (pode pedir permissão de câmera no macOS). O blob da câmera vira line-art vetorial em movimento, não uma imagem filtrada.
"Faça o mouse pintar — um ponto brilhante que arrasta um rastro luminoso sobre um campo de feedback que se dissipa, por onde eu mover o ponteiro, para eu pintar luz com o dedo durante o show."
create_pointer_reactive alimenta u/v/velocidade/botão de um Mouse In CHOP (com ganho de sensibilidade) num campo de feedback demo onde um ponto brilhante deixa rastro por cima de um buffer que decai. Os canais do ponteiro ficam expostos para ligar em qualquer outra coisa. Ponteiro único (Mouse In); multitouch real precisa de uma fonte Panel COMP, que a ferramenta reporta como aviso.
"Divida o quadro da câmera em alguns hotspots invisíveis e me avise quando alguém se mexer dentro de cada um — como sensores que eu posso ligar para disparar visuais quando as pessoas entram em partes diferentes do espaço."
create_interaction_zones calcula movimento por frame (mono → diferença com o frame anterior), faz a média dentro de cada retângulo normalizado que você define e aplica threshold com dwell num canal de gatilho zoneK_state (0/1) por zona. O padrão é uma fonte sintética animada, então cozinha offline; uso real aponta source_path para um TOP de câmera. São tripwires de instalação com on/off limpo por zona.
Body tracking (webcam, sem hardware extra)
Rastreamento de corpo inteiro por uma webcam comum, via o plugin gratuito MediaPipe (instale uma vez com tdmcp install mediapipe-touchdesigner).
"Configure body tracking pela minha webcam e mostre o esqueleto."
"Faça fitas brilhantes seguirem meus pulsos e ombros, deixando rastros neon longos enquanto eu me movo — use uma pose sintética no preview se a câmera ainda não estiver pronta."
"Controle a intensidade do visual pelo quanto meu corpo está se mexendo."
O que você recebe: o engine MediaPipe carregado + um adaptador que emite um CHOP de pose com 33 landmarks (tx/ty/tz/confidence), então um esqueleto ao vivo, trilhas de fita ou um visual reativo à câmera. Mantenha a timeline do TD tocando (o plugin captura por um browser embutido que só roda com a timeline ativa) e permita a câmera se o macOS pedir. Sem webcam agora? Peça uma fonte de pose sintética para montar e pré-visualizar o look offline.
"Renderize meu body tracking como um feed ControlNet limpo estilo OpenPose: fundo preto, membros coloridos, confidence gate e um sender NDI chamado controlnet_pose."
create_pose_controlnet_driver transforma o mesmo CHOP de 33 landmarks numa saída TOP OpenPose-COCO com controles de JointRadius, LimbThickness, ConfidenceGate e Mirror. Deixe interno para ComfyUI / StreamDiffusion local, ou publique por NDI / Syphon-Spout quando outra máquina precisar do feed de pose.
Face, mãos & segmentação
"Configure MediaPipe face tracking, centralize os landmarks na ponta do nariz e use o CHOP de face para guiar uma máscara brilhante e highlights nos olhos."
setup_face_tracking carrega o engine MediaPipe instalado e emite um CHOP com 468 landmarks (ou 478 com íris), centralizado no nariz, pronto para bind de parâmetros ou visualização de dados.
"Rastreie as duas mãos em coordenadas de mundo, detecte gestos de palma aberta / pinça e conecte a altura da mão direita ao feedback amount."
setup_hand_tracking reutiliza o mesmo engine MediaPipe e emite max_hands × 21 samples com canais tx / ty / tz / confidence / handedness. Use coordinate_space:'world' quando a profundidade do gesto importar.
"Segmente o performer da webcam, aplique feather de 4 px na máscara, publique uma alpha matte limpa e um TOP person RGBA pré-keyado para composição."
setup_segmentation ativa o caminho de selfie-segmentation do MediaPipe e publica um Null TOP de máscara mais uma saída opcional person_rgba, então mattes de corpo podem alimentar keyers, silhuetas, partículas ou troca de fundo.
"Olha o movimento da minha câmera e empurra 20.000 partículas brilhantes com ele — deixa rastros por onde eu me mexo."
Um campo vetorial de optical-flow em CPU (blur / mono / cache / composite-subtract / feedback) emite um TOP de fluxo RG-packed, que é conectado direto num campo de partículas na GPU como displacement. O resultado pinta rastros de movimento visíveis seguindo o corpo em tempo real, sem CUDA, sem hardware extra.
"Rastreia os pontos do meu rosto e costura uma máscara wireframe brilhante sobre as feições, com a webcam escurecida embaixo."
Adaptador MediaPipe ENGINE one-shot publica um CHOP de 468 landmarks (ou 478 com íris). A receita instancia pontos / linhas em cada landmark, compõe sobre uma câmera escurecida por levelTOP e expõe controles de Tint e Dim.
"Usa minha mão na câmera como um pad XY — pinça pra confirmar — e mapeia pro Decay e Hue do visual atual."
CHOP de 21 landmarks da mão (coordenadas de mundo) alimenta um XY pad cujo X/Y vem da ponta do indicador; a distância polegar↔indicador habilita um evento de "confirm" que trava os valores XY atuais nos parâmetros-alvo. Vira um controlador que você veste na mão.
"Me recorta do meu quarto com segmentação selfie e me coloca dentro de uma nebulosa raymarched lenta, como se eu tivesse entrado num portal."
A selfie-segmentation do MediaPipe publica uma máscara alpha limpa mais um TOP RGBA person_rgba pré-keyado. Composto sobre um fundo raymarched, o artista parece estar dentro da cena gerada, com bordas de matte suaves em tempo real.
Partículas & 3D
"Construa um campo denso de blocos 3D instanciados que respira com uma onda de ruído e deixa rastro neon de profundidade enquanto a câmera orbita."
Uma cena de geometria instanciada mais densa, com profundidade, variação de cor e movimento vivo, boa como base para áudio, câmera ou modulação de timeline.
O que você recebe: um sistema de partículas ou geometria com botões de Arrasto / Turbulência / Gravidade / Vida para moldar o movimento.
"Mostre uma esfera metálica polida numa mesa giratória com iluminação de estúdio realista e reflexos suaves."
Uma cena 3D baseada em física (material PBR + iluminação de ambiente + Render TOP) com controles de rugosidade/metalicidade e um botão de giro — um render de estúdio convincente de uma primitiva, não um cubo chapado padrão do TD.
"Faça uma nuvem de pontos de uma esfera flutuando devagar, pontinhos brilhantes que cintilam, no preto profundo."
Um render de nuvem de pontos de uma superfície amostrada (esfera/grade/modelo) como milhares de pontos na GPU com controles de tamanho/jitter e deriva — um brilho volumétrico parecido com uma constelação.
"Empurre a imagem da minha webcam para um relevo 3D, onde as áreas claras saltam em direção à câmera, iluminadas de lado."
Um plano deslocado em geometria 2.5D real por um mapa de profundidade/luminância via um estágio de vértice GLSL MAT, com controle de Quantidade de profundidade e iluminação — sua imagem vira um terreno esculpido e iluminado de lado.
"Renderize uma cena 3D com sombras de oclusão de ambiente e use a profundidade dela para empurrar outra imagem em relevo — e eu não tenho câmera de profundidade."
Um render 3D multi-passe (Render + passe de SSAO) que também emite uma saída de profundidade sintética, que então alimenta o depth-displacement/silhueta — 3D com sombras de contato mais um mapa de profundidade fabricado por software.
"Adicione passes cinematográficos de pós 3D a esta cena: sombras SSAO de contato, um pouco de SSR, profundidade de campo rasa e motion blur nos movimentos rápidos."
post_passes_3d é a cadeia dedicada para acabamento 3D com depth/normal/velocity; apply_post_processing redireciona pedidos de SSAO / SSR / DOF / motion-blur para ela em vez de fingir que esses passes funcionam num TOP chapado.
"Monte um rig de geometria estilo POP com torus, duas subdivisões, noise displacement animado e controles ao vivo de RotateY / NoiseAmount, pronto para renderizar."
create_pop_geometry envolve uma cadeia primitiva → transform → subdivide opcional → noise → material SOP num rig completo de render. Use quando você quer um objeto 3D editável, não apenas um shader fingindo ser geometria.
"Monte uma tempestade de partículas POP onde 40.000 pontos nascem de uma nuvem-semente, atravessam um campo de força por textura e deixam um rastro brilhante de feedback."
create_pop_particle_system monta o instrumento POP renderizado: point-generator de semente, Particle POP, Feedback POP, força por lookup-texture, visualização de campo opcional e Render TOP de saída. EmissionRate, Lifetime e FeedbackGain ficam expostos para tocar a tempestade em vez de congelar o resultado.
"Faça crescer um organismo POP tipo coral: acreção densa para fora, movimento guiado por ruído, decaimento lento e controles de growth rate, threshold e feedback."
create_pop_growth é o preset orgânico em POP: modos dendritic, coral e lichen com controles de GrowthRate, Decay, Threshold e FeedbackGain. Use quando o look deve parecer acreção, fungo, coral ou fibra ramificada em vez de partículas comuns.
"Faça uma nuvem de pontos plexus girando devagar: 1.000 pontos, conecte só vizinhos próximos, degrade linhas pela distância e deixe pontinhos por cima."
create_pop_lines_pointcloud roda um Neighbor POP sobre uma nuvem de pontos gerada ou externa, emite linhas deduplicadas via Script SOP e renderiza a teia com controles de MaxDistance, MaxNeighbors, MaxLines, Spin e PointSize. É o look plexus sem escrever o loop de vizinhança à mão.
"Use minha máscara de segmentação como campo de profundidade e espalhe 25.000 pontos ao redor do meu corpo, coloridos por profundidade perto/longe e girando devagar em 3D."
create_depth_pop_field aceita um TOP de profundidade/máscara existente ou sobe uma cadeia de segmentação, então usa lookup-texture POPs, jitter e proxy de displacement para transformar a máscara num campo espacial de pontos renderizado. DepthScale, PointSize e Spin fazem a câmera plana se comportar como volume de palco.
"Carregue este scan .splat como cena Gaussian Splat, conecte na minha câmera de órbita, gere 1080p e exponha o caminho do asset e a referência da câmera no wrapper."
create_gaussian_splat_scene envolve o TDGS.tox quando ele está instalado, valida assets .ply / .splat, conecta uma câmera opcional e promove controles de SplatAssetPath, CameraRef e OutputRes. Se o TDGS estiver ausente, falha rápido com instrução de instalação em vez de travar o TouchDesigner.
"Estime profundidade a partir deste feed 2D de câmera, mantenha o depth map cozinhando e use isso como fonte para um visual de relevo/displacement."
create_depth_from_2d carrega o TDDepthAnything quando disponível, conecta um TOP de origem, configura modelo/resolução e devolve um Null TOP depth_out vivo com frame cooker. A saída pode alimentar create_depth_pop_field, displacement, silhuetas ou qualquer cadeia depth-aware sem câmera de profundidade.
"Crie um volume de nebulosa lento: 24 fatias empilhadas, paleta roxo-magenta, alta densidade, pouca turbulência e controles ao vivo de densidade e color map."
create_volumetric_field simula volume com noise 3D animado, displacement opcional, pilha de fatias em Cache TOP e acumulação GLSL Beer-Lambert. Density, Turbulence e ColorMap transformam isso em fumaça, nebulosa, brasa, gelo, tóxico ou mono.
"Transforme este feed de câmera numa cidade voxel isométrica: brilho controla a altura das torres, a cor da fonte pinta cada bloco e eu ganho controles de HeightScale e RotateY."
create_voxel_stack amostra um TOP em canais de instância, mescla barramentos de posição, altura, escala e cor, e instancia box geometry por uma câmera isométrica ou de perspectiva. É footage plano virando campo performável de cubos, não um filtro 2D pixelado.
"Transforme este retrato num estudo de nuvem de pontos pontilhada: pontos quentes sobre preto, luminância controlando densidade, jitter aleatório sutil e uma órbita lenta de câmera como uma impressão se dissolvendo no espaço."
create_stipple_pointcloud converte luminância de TOP em densidade POP e renderiza milhares de pontos pequenos com controles de DotSize, JitterAmount e CameraRotate. Fica entre gravura e partículas 3D: mais tátil que halftone, mais leve que uma simulação completa de fluido ou partículas.
Vídeo & câmera
"Passe minha webcam por detecção de bordas, um RGB split e um loop de feedback para um visual glitchado."
O look de glitch / VHS — scanlines, RGB split e datamosh (mostrado sobre uma fonte sintética em vez de uma webcam ao vivo).
"Pegue minha webcam e deixe com cara de fita VHS velha e degradada."
"Monte dois decks de vídeo com um crossfader grande para eu misturar dois clipes como um DJ."
Decks A/B mesclados por um crossfader mestre (Cross TOP) com ganho por deck; cada deck puxa uma fonte TOP ou uma fonte de teste embutida — o equivalente visual de uma mesa de DJ.
"Monte um mixer VJ de quatro decks: câmera, loops, camada generativa e vinheta de logo, cada um com ganho e FX-send, mais um seletor de hard-cut para transições ao vivo."
create_decks agora tem modo N-channel: 2-8 decks, ganho por deck, FX send por deck, mix contínuo de programa e um barramento de transition-cut. Use o prompt A/B antigo para crossfader simples; use decks[] quando o rig já estiver parecendo um mixer VJ de verdade.
"Coloque waveform, RGB parade e vectorscope ao lado deste feed de câmera para eu ajustar a grade antes da abertura do show."
create_video_scopes monta uma superfície de monitoramento estilo broadcast para uma fonte TOP: painéis de waveform, parade e vectorscope que mostram problemas de cor / exposição antes de eles virarem problema no projetor.
"Adicione um histogram scope de luminância a este feed de câmera com 128 bins, escala log e traço verde-fósforo para eu enxergar pretos esmagados antes do projetor."
create_histogram_scope transforma um TOP num painel de histograma com preview, usando uma passada GLSL de bins, normalização TOP-to-CHOP e traço renderizado. Pode rodar a partir de padrão de teste, arquivo, TOP existente ou device ao vivo.
"Extrai as cores dominantes do meu clipe principal e usa elas pra seedar um color grade combinando pro resto do show."
extract_palette amostra o preview do TOP via get_preview e roda k-means determinístico nos pixels RGB decodificados, devolvendo swatches hex ponderados. Esses swatches alimentam diretamente alvos de lift / gamma / gain em create_color_grade.
"Transforme a câmera num espelho de IA com prompt de água etérea, mostre a câmera crua no painel de controle e envie a saída gerada por Syphon/Spout quando estiver pronta."
create_ai_mirror envolve entrada de câmera, sintética ou TOP existente pelo StreamDiffusionTD com controles de Prompt, Negative Prompt, Strength e CFG, mais preview opcional da câmera. A saída pode ficar interna ou ir para Syphon-Spout / NDI, e a falta do TOX de StreamDiffusion vira aviso amigável com o esqueleto ainda montado.
"Monte meu rack de ingest ao vivo: uma fonte segura de screen-grab para ensaio, um media bin de loops vindo de uma pasta e um chroma keyer que possa alternar entre câmera e cartão de teste antes do show."
create_live_source, create_media_bin e create_keyer são o trio prático de entrada de vídeo: um normaliza feeds ao vivo, outro varre uma pasta em clipes alternáveis e o terceiro compõe footage keyado sobre um fundo. Câmera, NDI, Syphon/Spout e streams continuam gated por plataforma/permissão, então o prompt deve pedir warnings e caminhos out1 estáveis antes de ligar no mix do show.
Texto & títulos
"Monte um hit de lyric com alpha seguro: pisque a palavra 'DROP' enorme no beat e faça ela sumir limpa entre os golpes por cima do visual rodando."
create_kinetic_text em mode: "flash" cria Text TOP, LFO, gate de alpha e composite opcional por cima de um TOP de entrada. O detalhe importante para show: o texto fica transparente entre os hits em vez de piscar preto.
"Faça um lower third pulsando para a vocalista: nome da artista, label do palco e um indicador pequeno de beat, composto por cima do program feed."
Use create_text_overlay para uma camada title-safe e troque para create_kinetic_text em mode: "pulse" quando o lower third deve respirar com a música em vez de ficar chapado.
"Crie um ticker de setlist no rodapé da saída: seção atual, próximo cue, lado do palco e nota da artista, em loop infinito."
create_text_crawl com mode: "crawl_horizontal" é a camada de ticker para texto contínuo, contagens, notas de stage manager e mensagens de status de instalação.
"Role os créditos finais para cima sobre a cena ambiente final, com fade lento no topo e na base do quadro."
A mesma ferramenta create_text_crawl em mode: "roll_vertical" resolve créditos multi-linha, statements de artista e texto de parede de galeria. Use \n para manter cada linha editável.
"Revele um manifesto curto caractere por caractere antes da instalação abrir: 'NO PREVIEW / NO PANIC / BUILD THE LIGHT / THEN PERFORM IT'."
create_text_crawl também expõe mode: "typewriter" para reveals caractere a caractere. Ele está marcado como experimental na documentação da ferramenta, então use para ensaio ou docs gerados e valide a expressão do Text TOP no build de TouchDesigner alvo antes do show.
"Faça o nome do meu festival em letras 3D extrudadas grossas de cromo, girando devagar com um holofote."
create_text_3d monta Text SOP -> Extrude SOP -> material -> Camera/Light/Render como uma cena de título autocontida, com controles ao vivo de Spin e Depth.
"Transforme a palavra 'NOISE' em geometria SOP, adicione point noise e renderize como uma escultura tipográfica deformada em vez de um card chapado."
create_pop_geometry com primitive: "text" e text_string coloca o texto dentro do pipeline de geometria. Adicione noise_amount quando o título deve parecer um objeto vivo, não uma legenda.
"Gere um padrão de alinhamento de projetor com label OUTPUT 02 / LEFT para a equipe identificar a superfície física de longe."
create_test_pattern consegue desenhar grids de calibração, crosshairs, números de saída e labels. Ele entra em Texto & títulos porque esses labels são a tipografia que mantém a instalação compreensível durante a montagem.
"Mapeie meus pads MIDI para palavras: KICK, BASS, SNARE, VOX, CLAP e PAD devem piscar quando o canal de nota correspondente disparar."
Combine create_midi_note_reactive com create_kinetic_text quando a tipografia deve responder a eventos de nota individuais em vez de um nível global de áudio.
"Coloque o título 'DEEP FIELD' num caminho circular e deixe as letras orbitarem ao redor do centro antes da cena principal começar."
Aplique a receita kinetic_text_path_follow quando o título precisa seguir um caminho: bugs orbitais, logos circulares de show, labels se movendo em torno de esculturas e loops de wayfinding.
"Transforme a palavra LUMEN em letras 3D sólidas e biseladas flutuando no escuro, iluminadas como metal polido e girando devagar — sem geometria renderizada, só os caracteres esculpidos na luz."
create_sdf_text trata a máscara de um Text TOP como uma laje SDF extrudada e faz raymarch dela num único GLSL TOP — as letras aparecem como volumes iluminados e biselados, com profundidade ajustável e rotação opcional. Sem extrusão de mesh de fonte, sem atlas SDF externo: tipografia volumétrica saindo de uma string simples numa única passada de shader.
"Grave um timecode correndo no canto superior da minha saída, e me dê um modo de contagem regressiva até zero para a abertura antes do set começar."
add_timecode_overlay compõe um Text TOP cozinhando ao vivo (HH:MM:SS:FF) por cima de um TOP de entrada, com modos clock (tempo desde o início do projeto), count_up (a partir do zero) e count_down (de target_seconds, travado em 00:00:00:00). O FPS é sondado ao vivo — é um timecode/contagem gravado nos pixels, indispensável para ensaios e vinhetas de abertura, não só um sinal de sync.
O que você recebe: um kit performável de tipografia: hits de lyric com alpha, lower thirds pulsando, ticker crawls, créditos rolando, reveals typewriter, texto 3D extrudado, geometria tipográfica com noise, labels de projetor, palavras disparadas por MIDI e títulos seguindo paths.
Performance ao vivo & controle
"Adicione botões de feedback, zoom, giro e blur para eu tocar isto ao vivo."
"Anime o botão de giro com um LFO lento."
"Crie um relógio de tempo a 128 BPM e sincronize o movimento à batida."
"Faça bridge do Ableton Live para o TouchDesigner: clips, tracks, transporte e macros de device como canais CHOP nomeados, com fallback OSC se o TDAbleton não estiver instalado."
setup_tdableton procura primeiro o componente Palette e depois cai para um OSC In simples, então o mesmo patch de show consegue ensaiar mesmo sem setup perfeito de estúdio.
"Monte um holograma futurista de mão: um cubo ciano transparente com scanlines violetas flutuando acima da minha palma aberta. Comece com o preview sintético de duas mãos, exponha controles de Size, FloatHeight, Glow e PinchScale, e faça uma pinça da outra mão aumentar o cubo e intensificar o brilho."
create_hand_hologram monta o visual completo e aninha create_hand_gesture_bus dentro dele. O bus estabiliza a âncora da palma, mantém a palma ativa travada quando a mão de controle entra no frame, e publica pinch_power, light_gain e audio_level para o mesmo tracking depois guiar lasers, partículas ou áudio.
"Monte um controlador de gestos pelo celular na porta 9982: X/Y multitouch para feedback e hue, inclinação para roll da câmera e shake como gatilho de flash seguro para panic. Me dê a URL e os nomes dos canais CHOP antes de eu fazer bind."
create_phone_gesture serve uma página local do próprio TouchDesigner e publica canais de touch, tilt, gyro e shake por Script CHOP. Sensores de movimento no iOS precisam de toque explícito de permissão no navegador e muitas vezes HTTPS, então isso entra primeiro como superfície de ensaio; só depois vira controle de show, quando as faixas dos canais já foram observadas.
"Transforme minhas mãos na webcam em um controlador de Ableton Auto Filter com quatro canais via TDAbleton, sem AbletonMCP. Use rastreamento de mãos do MediaPipe, monte um overlay de esqueleto com estrelinhas nas juntas, publique
mapper_sendpara quemap1seja a pinça esquerda,map2a pinça direita,map3a rotação do punho esquerdo emap4a rotação do punho direito, então diagnostique o roteamento doTDA_Mapperantes de eu mapear os quatro slots no Ableton."
create_hand_ableton_mapper monta o lado TouchDesigner do controlador performático e diagnose_tdableton_mapper confere caminho do mapper, CHOP de entrada, Reorder, bypasses e ranges. O caminho de runtime é TouchDesigner -> TDA_Mapper do TDAbleton -> parâmetros mapeados de Auto Filter ou macros de rack no Ableton; AbletonMCP não é necessário.
"Monte um rig de ensaio de harpa de parede com Kinect em modo sintético: 16 zonas musicais pela parede, 128 linhas laser sutis, flashes âmbar de pluck, pontos de mão em debug e controles expostos de calibração, decay de áudio e reverb para eu testar a peça antes de conectar o Kinect."
create_kinect_wall_harp monta o instrumento de parede como um COMP no TD: linhas projetadas da harpa, saídas de debug de depth / mask / mãos, barramentos CHOP de mão e pluck, além de uma cadeia interna de áudio sine/reverb. Use source:"synthetic" ou mantenha fallback_to_synthetic:true para ensaio; só adicione vídeo no cookbook depois de capturar o output_top real do TouchDesigner.
"Monte uma camada de controle performável para este look: quatro moduladores travados no tempo chamados breathe, shimmer, wobble e random_hold, um XY pad para blur/hue e um look bank com slots ambient, chorus e blackout-safe mais um botão de morph A/B."
create_modulators, create_xy_pad e create_look_bank transformam um patch gerado em instrumento: modulação CHOP nomeada, controle direto em dois eixos e looks salvos que podem saltar, quantizar ou morfar. Use quando o visual já funciona e o próximo problema é repetir os controles sob pressão de show.
"Monte dois cues — 'intro' e 'drop' — entre os quais eu possa transicionar."
"Deixe eu controlar os botões principais pelo meu celular."
"Mapeie o primeiro fader do meu controlador MIDI para o botão de Sensibilidade."
"Indo ao vivo agora — ligue o perform mode para nada engasgar no meio do show."
set_perform_mode agora prefere o endpoint hardened POST /api/perform e devolve um snapshot tipado dizendo se o store da raiz, o perform mode da UI e o perform mode do projeto foram realmente ligados. Ainda faz fallback em bridges antigas, mas o caminho de show vira uma chamada REST real.
"Monte uma grade de botões estilo Ableton para eu disparar meus looks salvos ao vivo, um toque cada."
Uma grade de botões que disparam cues (reaproveitando o motor de recall/morph do manage_cue) — toque numa célula para pular ou morfar para uma cena salva, abrível no modo Perform como uma superfície de toque.
"Faça uma grade de 16 passos que dispara um strobe nas batidas fortes e um efeito nas fracas, travada no meu tempo."
Uma grade de passos por compasso/batida que dispara um parâmetro ou cue por passo ativo — a contraparte determinística e programável do auto-VJ; ligue e desligue passos para compor um padrão repetido travado no relógio.
"Monte um sequenciador probabilístico onde calm quase sempre deriva para shimmer, shimmer às vezes salta para um estouro de glitch, e blackout só acontece em drops raros."
Um sequenciador de passos Markov para estados de show: a cada batida ele amostra a tabela de transições ponderadas, emite state e trigger, e guia cues ou parâmetros sem repetir um loop fixo.
"Monte uma timeline de três cenas para um set a 128 BPM: intro é um túnel de feedback, drop é uma bola de espinhos reativa ao áudio, breakdown é uma correção de cor cinematográfica. Deixe scrubbable e mantenha os ids dos slots do setlist."
Uma timeline mestra de show: cenas viram blocos sobre um playhead de Timer CHOP, recalls de cue caem nas fronteiras das cenas e ferramentas seguintes conseguem manter as referências de slot do setlist em cada cena.
"Escaneie esta pasta de loops e monte um auto-montage quantizado na batida, que embaralha clipes a cada compasso com meio segundo de crossfade."
Um seletor automático de media-bin: clipes/imagens alimentam um Switch TOP, um relógio de compasso/batida/intervalo avança o índice, e modos shuffle/random/weighted evitam deixar o mesmo clipe tempo demais.
"Crie um sequenciador Euclidiano com 5 batidas em 16 passos e conecte os hits a um strobe, um estouro de glitch e a quantidade de preset-morph."
Ritmo estilo Bjorklund para visuais — pulsos esparsos e musicais que disparam cues, parâmetros ou scripts em vez de um metrônomo simples.
"Misture quatro looks salvos com um único botão Morph, com pesos para eu ficar no meio entre neon ciano e âmbar quente durante o breakdown."
Um blend real entre N presets: em vez de saltar de um cue para outro, estados de parâmetros salvos viram pesos numa tabela de morph que você pode automatizar, mapear em MIDI ou guiar por uma timeline de cenas.
"Grave minha varredura de cutoff do filtro por quatro compassos, então faça loop como uma automation lane para eu tirar as mãos durante o drop."
create_automation_lane amostra um parâmetro-alvo num buffer em fase com o compasso e depois toca isso de volta por um Lookup CHOP. Chame a mesma lane em modo record ou loop para armar, capturar e tocar movimentos reutilizáveis de botão.
"Grave meu CHOP do controlador manual por oito compassos, faça loop do melhor take e toque de volta como fonte de modulação reutilizável."
create_chop_recorder transforma qualquer fluxo CHOP (OSC, MIDI, feature de áudio, pose ou controle customizado) numa superfície de captura / playback / loop, então um gesto ao vivo vira parte do rig em vez de sumir depois do ensaio.
"No compasso 32 dispare o cue do drop, no compasso 64 inicie o auto-montage e no fim da faixa congele a saída até eu limpar."
O que você recebe: uma primitiva de scheduler baseada em timers/segmentos nomeados. Use para callbacks temporizados pequenos, ou coloque create_scene_timeline por cima quando quiser um arranjador de música scrubbable.
"Monte um dashboard de celular com botões de cue para intro/drop/break, dois faders mestres, uma faixa VU ao vivo e botões grandes de Blackout / Freeze para recuperação de emergência."
Um cockpit único de performance servido pelo TouchDesigner: disparo de cues, faders, leitura ao vivo e controles de panic numa página para celular/laptop. Use apenas numa rede confiável.
"Atualize o stage dashboard para layout v2: VU estéreo, BPM vindo de
/project1/tempo_null, marcadores de timeline de cue vindos do meu setlist e uma barra PANIC fixa com toque de confirmação."
create_stage_dashboard com layout:"v2" mantém compatibilidade com o dashboard original e adiciona leitura de front-of-house: VU estéreo, BPM, overlay de FPS / cook, faixa de timeline de cues e uma superfície de panic em duas etapas.
"Rode um dry-run do AI show director: permita um cue de intro de banda pré-aprovado, coloque um pedido de fog de três segundos na fila de aprovação do operador, e bloqueie um pedido de blackout."
tdmcp-agent show-director é uma superfície de política, não um gatilho perigoso de hardware. Ele valida intents estruturadas de show, retorna decisões allow / approval / block, mantém fila de aprovação e audit log, e marca todo plano de ação como dry-run-only até um caminho humano/de operador resolver aquilo.
"Antes da banda entrar, arme a cena Soundcraft pré-declarada
band_a_intropelo AI Show Director. Coloque na fila de aprovação, amarre o hash do catálogo e mostre o plano dry-run sem contatar o mixer."
arm_mixer_scene é separado de arm_effect: só um scene_id pré-declarado no catálogo entra na fila de aprovação, a aprovação revalida o hash do catálogo atual e o adapter dry-run devolve hardware_changed:false. A saída útil é o plano revisado pelo operador e o estado de auditoria, não uma ilustração decorativa de mixer.
"Trave o show em timecode OSC de entrada, siga a timeline quadro a quadro e pule para cues nomeados se o rótulo de timecode disser chorus ou blackout."
sync_timecode conecta MTC / LTC / OSC timecode a um CHOP normalizado e pode guiar a timeline do TD. Combine com control_timeline_transport para comandos explícitos de play, pause, seek, rate e cue.
"Agende a instalação do lobby: iniciar a cena ocean todo dia útil às 09:00, trocar para o set dusk às 18:00 e rodar um dry-run do agendamento primeiro."
tdmcp-agent schedule é o companheiro cron-lite para instalações sem operador. Ele usa agendamento por relógio de parede com timezone, pode fazer dry-run e pode disparar comandos, cues ou setlists.
"Grave as próximas chamadas MCP como uma macro chamada soundcheck, então rode de novo na segunda máquina depois que a rede do palco estiver online."
Use macro_recorder para capturar uma macro JSON portátil e run_macro_script para reproduzi-la depois. O lado CLI também consegue fazer fanout de um comando para vários agentes remotos quando várias máquinas TD precisam do mesmo setup.
"Planeja um set de 20 minutos atravessando minhas três cenas em modo dry-run — me mostra o que o diretor de IA vai fazer antes de tocar em qualquer coisa."
A camada de política do AI Show Director avalia cada chamada de ferramenta de show em modo dry-run e devolve a ação planejada + justificativa (qual cena, qual transição, quando), então o artista pré-visualiza um set autônomo antes de encostar na bridge. Aprove, edite ou rejeite antes do show rodar.
"Me dá um dashboard de FOH com VU estéreo, BPM ao vivo do meu detector de tempo, overlay de FPS, faixa da próxima cue e uma barra PANIC fixa."
layout:"v2" adiciona um par VU estéreo, leitura de BPM alimentada por um Null CHOP de detect_tempo, overlay de FPS / cook-time / frame, faixa de timeline de cues vinda de um array de pares de compose_cue_list e uma barra PANIC com toque de confirmação — sem quebrar o dashboard v1 byte por byte.
"Pula minha timeline pra cue do refrão, coloca rate 1.25 e dá play — pelo caminho REST rápido, não por exec de Python."
O novo endpoint POST /api/transport lida com play / pause / seek / cue / rate sem executePythonScript. A ferramenta prefere o endpoint via tryEndpoint e cai para exec apenas em bridges antigas. Latência mais baixa, amigável a bridge hardenada.
"Adiciona uma corrente de segurança kill/dimmer na saída master com fade de 2 segundos e um botão Emergency de pânico que eu posso apertar pelo celular."
create_safety_blackout_chain envolve o TOP de programa com um Level/dim controlado por um Null CHOP safety_dim (0 = aceso, 1 = preto total), um fade de 2 segundos controlado por Speed, e um toggle Panic exposto. Faça bind do safety_dim a um fader do celular com bind_to_channel, ou ligue um botão "dead-man" físico ao Panic. Funciona offline e é seguro instalar em uma bridge com TDMCP_BRIDGE_ALLOW_EXEC=0.
"Monta um setlist cronometrado que cicla por três cenas — intro 30s, drop 60s, outro 45s — com crossfades de 2 segundos e um HUD mostrando agora/próximo/restante."
create_setlist_runner instala um Timer CHOP com um segmento por cena, um bus de crossfade e um Text TOP HUD lendo agora/próximo/segundos restantes. O Parameter Execute DAT param_engine escuta Play/Row/Skip/Prev para você sobrescrever a programação ao vivo — pausar numa cena, pular adiante ou voltar sem reescrever o timer.
"Envolve minha entrada NDI num watchdog que troca automaticamente pra um MP4 pré-renderizado se a câmera cair, com crossfade de 250ms e um toggle de recuperação fixo."
create_show_failover roda um Info CHOP na fonte ao vivo e observa o delta de total_cooks — quando ele para de subir, o watchdog roteia um Switch TOP pro MoviefileIn de backup num crossfade de 250ms. O toggle sticky_recover impede o ping-pong quando o NDI pisca, então o show não fica estroboscópico numa câmera instável.
"Liga minha pose corporal ao visual: quando eu levanto a mão direita o caleidoscópio gira, quando eu abro os braços o bloom dobra de intensidade."
Encadeie setup_body_tracking (fonte de pose MediaPipe) em create_pose_reactive para obter canais CHOP nomeados por articulação e gestos derivados (right_hand_up, arms_open, lean_left). Mapeie esses canais para a rotação do caleidoscópio e o nível do bloom — a pose vira uma superfície de controle, sem MIDI.
"Cria o meu reativo, mas usa o novo gate de transiente pra palmas dispararem um strobe, e dá um duck no bloom em cada bumbo tipo sidechain compressor."
create_audio_reactive agora aceita transient_gate:true (+ transient_threshold, transient_hold_ms) e sidechain_duck:true (+ duck_depth, duck_release_ms) para adicionar buses de gate e duck à mesma rede. Os defaults continuam desligados, então containers reativos existentes ficam byte-idênticos — opte por dentro só quando quiser os buses novos.
"Enfileire meus cues de strobe e logo quando eu apertar o botão, mas só dispare no próximo limite de frase de 16 compassos para o drop cair musicalmente."
create_phrase_locked_cue_engine observa um CHOP de cue pendente, coloca pulsos numa fila e trava o disparo contra um Beat CHOP local de frase. O Null CHOP de saída emite o trigger quantizado musicalmente, enquanto PhraseLength, Active, Flush e QueueDepth dão controle ao operador sobre a fila.
"Monte um deck de VJ inteiro e jogável de uma vez — dois decks com crossfader, faders na tela para o crossfade e o volume de cada deck, e mapeie tudo pro meu controlador MIDI para eu mixar na mão agora mesmo."
scaffold_vj_deck compõe um mixer de decks A/B com crossfader, uma superfície de faders na tela (crossfade + ganho por deck) e uma superfície MIDI-In cujos canais já estão ligados aos mesmos parâmetros — um único container de UI cabeado e jogável. É o caminho mais rápido de "nada" até "consigo performar", com o MIDI já mapeado a partir de uma frase.
"Mantenha um diário do meu set — cada vez que eu fizer uma jogada grande, registre com horário e o nome da seção, para eu ter um setlist e anotações para reler depois."
narrate_set acrescenta linhas com horário (e seção + cue opcionais) a um log de sessão em markdown local (~/.tdmcp/narration-<data>.md); mode:"recall" lê as últimas N linhas de volta. A IA deixa um setlist/diário escrito de toda a performance para você reler depois — um log append-only de decisões, não um snapshot único. Combina com o prompt auto_vj_director.
Saída & mapeamento
"Mande o visual final para uma janela em tela cheia no meu segundo monitor."
"Envie isto via NDI para eu usar no OBS."
"Faça corner-pin disto num projetor e me deixe arrastar os cantos."
Uma fonte distorcida por um corner-pin (keystone) — arraste os quatro cantos para alinhar com uma parede, tela ou objeto.
"Grave a saída em um arquivo de vídeo por 30 segundos."
"Inspecione a GPU e os displays conectados, então me diga qual plano de saída é seguro para este rig de projetores."
"Faça bridge deste TOP por shared memory para a máquina Unreal, e receba de volta um fluxo CHOP de controle vindo do processo de luz."
"Monte uma pipeline de fixtures DMX para oito barras RGBW via Art-Net universo 1, com canais de dimmer, cor e strobe expostos."
create_dmx_fixture_pipeline organiza perfis de fixture, padding de slots DMX e um DMX Out CHOP para Art-Net ou sACN. Ele deve mostrar sobreposições, warnings acima do canal 512 e nomes exatos dos canais antes de qualquer coisa ir ao vivo; saída de fixture é hardware, então o cookbook mantém isso como relatório de roteamento/controle verificado, não como preview falso de luz.
"Crie um arquivo inicial de config
TDMCP_*para este notebook de show, mas deixe segredos comentados e recuse sobrescrever o arquivo existente semforce."
tdmcp-agent config init imprime ou escreve toda a superfície .env que o servidor lê, com segredos de bridge/LLM comentados para preenchimento manual. É pequeno, mas torna o setup de máquinas de turnê repetível em vez de depender de memória oral.
O que você recebe: ferramentas de preparação de palco para displays, capacidade de GPU, DMX / Art-Net, IPC por shared memory e fanout multi-agente. Nesses casos de infraestrutura, a saída útil costuma ser um relatório de roteamento verificado em vez de um preview bonito.
"Põe um scope de histograma RGB+luma estilo broadcast no canto da minha saída pra eu ver se estou esmagando os pretos."
Um GLSL TOP agrupa luminância e RGB por canal, normaliza por CHOPs e renderiza as barras via Script SOP + Render TOP num Null TOP pronto pra overlay. Visual de waveform-monitor de verdade, atualizando ao vivo com o seu programa.
"Monta um ensaio com dois projetores pra AI-Controlled Party — uma parede pro visual principal, outra pras letras — e sincroniza ambos na mesma cue list."
Dois outTOPs conectados a dois displays físicos via setup_output, compartilhando um único clock de compose_cue_list pra que o overlay de letra vire em sincronia com as mudanças de cena. Espelha o harness de ensaio que a AI-Controlled Party usa para ensaios offline.
"Monte um rig de projection mapping interativo para webcam e projetor: movimento acorda partículas ciano, cards magenta flutuam pela parede, e eu consigo alternar entre final, câmera, movimento, blobs e calibração."
create_interactive_projection_mapping monta o rig de ensaio com fonte de câmera, sintética ou TOP existente, campo de movimento por diferença de frames, branch de blob-mask, saída de projection mapping com corner pin e switch de debug. Sensitivity, TrailDecay, BlobThreshold e ProjectionBrightness ficam expostos para calibração na sala.
"Envie meu TOP final como NDI chamado stage_program, mantenha inativo até eu aprovar e também crie um sender Syphon/Spout para a máquina local de captura."
create_external_io agora inclui ndi_out e syphon_spout_out junto de OSC, MIDI, DMX, Art-Net e modos de streaming. Ele conecta o TOP de origem, define os nomes de sender/source e deixa Active desligado a menos que o prompt peça para começar a transmitir.
"Monte um esqueleto de facade mapping para três projetores com edge blend horizontal, brilho por projetor, canvas de preview e curvas smoothstep."
create_facade_mapping distribui um TOP de origem em 1-8 branches de projetor, recorta cada fatia com overlap, aplica ramps de blend / branches de corner pin, cria Nulls de saída por projetor e expõe brilho mais controles de largura/curva de blend. É o esqueleto de setup antes do alinhamento físico dos projetores.
"Prepare testes fulldome sem hardware para este feed glitch gerado: faça um dome master fisheye com controles de Rotation de horizonte e FOV, então monte uma cena de teste cubemap real para eu comparar o caminho de maior fidelidade."
Use create_dome_output para uma fonte 2D equirectangular/panorâmica e create_cubemap_dome quando você tem, ou quer gerar, uma fonte cubemap real. Os dois produzem um dome master quadrado, mas geometria final, FOV e costuras precisam ser ajustados contra o dome ou simulador real; a saída útil é o caminho do TOP mapeado e os controles, não uma ilustração genérica de planetário.
"Configure algumas moving-heads que eu possa controlar via DMX, e me dê um previz 3D para ver os feixes varrerem e mudarem de cor no palco antes de encostar no rig de verdade."
create_fixture_control monta duas metades acopladas — uma cadeia DMX-out (Constant CHOPs → Merge → Null → DMX Out, um bloco movingHead8 de 8 canais por fixture) e um previz 3D de cada cabeça com um feixe cônico cujo pan/tilt/cor seguem os valores DMX. Controle de luz DMX real e um previz de feixes ao vivo de um prompt só; a saída física precisa de interface DMX, mas o previz funciona offline.
"Conecte o TouchDesigner para controlar o Synesthesia via OSC — configure os endereços exatos que ele espera, para minha análise de grave e energia irem direto para as cenas dele sem gambiarra."
create_synesthesia_unreal_osc é um preset de OSC-out nomeado (synesthesia → /syn, porta 6448; unreal → /unreal, porta 8000): um Constant CHOP com um canal por controle já nomeado com o endereço OSC exato, ligado num OSC-Out CHOP em host:porta. Basta ligar sua análise nos canais de origem — o controle cross-app "simplesmente funciona" porque os templates de endereço já vêm preenchidos, sem digitar endereço à mão.
"Antes de abrir a casa, me dê um relatório pre-show de
/project1/show: status da bridge, erros de nós, topologia, orçamento de performance e prontidão de displays; se estiver limpo, monte uma companion surface para os controles do hero."
show_preflight_report fica read-only e devolve PASS/UNVERIFIED/WARN/FAIL em vez de um visual. create_companion_surface então embrulha um COMP escolhido com controles gerados, faders/cues e o mesmo contexto de preflight, para o operador receber uma superfície tocável mais os checks que explicam se ela está pronta para uso.
"Monte o roteamento da sala de controle: uma matriz OSC para Resolume e VDMX, uma bridge de cues para QLab, controles de cut/auto do ATEM via Companion e botões de cena/gravação do OBS, mas deixe credencial e disparo ao vivo sempre explícitos."
osc_router_matrix, resolume_vdmx_output_chain, qlab_osc_bridge, atem_switcher_control e obs_stream_control criam lanes de controle e notas. São scaffolds para softwares externos reais: valide host/porta/auth na sala antes de tratar qualquer botão como live.
"Prepare playback e handoff de saída: um transport de movie/audio com Play, Loop e Speed, um loop de edição de shader para correções GLSL de última hora e um preset ProRes de review quando o look for aprovado."
clip_audio_transport constrói o player seguro para ensaio, edit_shader_live_loop edita um GLSL/Text DAT e logo inspeciona erros e preview opcional, e export_render_preset envolve record_movie com presets nomeados para review, HAP, ProRes e handoff estilo NotchLC.
"Prepare os scaffolds de calibração do venue: dois lanes de projetor com corner-pin e level, mais um tracker LiDAR sintético de chão para eu ensaiar zonas antes do sensor real chegar."
projector_calibration_wizard e lidar_floor_tracker separam de propósito scaffold offline de verdade física. O graph pode ser construído e inspecionado agora; alinhamento de projetor e tracking de sensor real continuam UNVERIFIED até validação nas saídas e hardwares reais.
"Importe esta cena Blender para um scaffold de render PBR e coloque ao lado uma bridge guardada de Notch / TouchEngine, para eu testar asset e engine em tempo real no mesmo projeto de ensaio."
blender_scene_import cria um scaffold PBR no TD ao redor de um caminho de asset adjacente ao .blend, ou uma primitiva fallback. notch_touchengine_bridge adiciona o placeholder guardado de Notch TOP / Engine COMP e notas; licença/runtime continuam passo ao vivo do operador, não algo que o cookbook possa fingir.
Consertar & entender
"Algo parece quebrado — confira a rede em busca de erros e conserte."
"Pegue um inline preview de
/project1/out1: me dê um thumbnail de 256 px, metadados de cook, parâmetros alterados e erros dos pais numa resposta estruturada."
get_inline_preview é a passada compacta de inspeção para agentes: uma chamada retorna thumbnail limitado, resolução / formato de pixel / stats de cook, parâmetros alterados e uma varredura de erros nos pais sem encadear várias ferramentas de preview e erro.
"Explique o que esta rede está fazendo, passo a passo."
"Leia os modos de parâmetro de todos os nós importantes em
/project1/heronuma chamada batch, então me diga quais parâmetros são expressão, bind ou canal exportado."
O caminho POST /api/param_modes/batch da bridge deixa agentes inspecionarem modos expression, bind, export e constant de muitos nós em uma rodada só. Ele substitui o loop antigo de vários execs quando você precisa entender por que um rig está reagindo, travado ou sobrescrito.
"Isto está lento — ache o gargalo e otimize."
"Pontue este build em paleta, movimento, complexidade, erros e performance, então sugira as menores mudanças que melhorariam o resultado."
score_build é read-only e devolve uma rubrica de 0 a 100 com sugestões determinísticas. enhance_build pode pré-visualizar ou aplicar um pequeno ciclo de melhoria permitido, então pontuar de novo para mostrar se a intervenção ajudou.
"Extraia as cinco cores dominantes de
/project1/look/out1e use-as como swatches para a próxima paleta e correção de cor."
extract_palette captura um preview TOP e roda k-means determinístico nos pixels. É read-only, então é seguro para ciclos de crítica, hand-off de paleta e prompts do tipo "faça o próximo look combinar com este".
"Pergunte ao vision copilot o que domina este TOP, se o assunto é legível do fundo da sala e qual única mudança mais melhoraria o resultado."
copilot_vision envia um TOP renderizado mais a sua pergunta ao LLM multimodal configurado. Ele complementa ferramentas determinísticas como caption_top e score_build quando você quer resposta de direção de arte, não só medições.
"Eu sei que quero
create_audio_reactive, mas só disse 'barras neon do microfone' — infira os argumentos obrigatórios ausentes pelo schema e mostre a chamada proposta."
elicit_missing_args usa o schema registrado da ferramenta mais o contexto da conversa para propor apenas os campos ausentes. É read-only e ajuda agentes a fazerem menos perguntas manuais sem inventar parâmetros inexistentes.
"Faça profile de cook cost por 60 frames e ranqueie os nós com maior chance de causar queda de frame."
"Arrume o layout para eu conseguir ler."
"Troque este
noiseTOPpor umrampTOP, mantenha o nome e os fios, preserve os parâmetros compatíveis e relate o que não pôde ser carregado."
swap_operator é a versão cuidadosa de "substitua este nó": ele tira snapshot dos fios e parâmetros, recria o tipo de operador no mesmo lugar, reconecta o que consegue e devolve parâmetros descartados/falhas explicitamente.
"Tenta consertar essa cadeia de render quebrada — mas se a contagem de erros aumentar, desfaça toda mudança que você fez."
O loop de repair agora tira snapshot de (par.path, par.mode) e (op.path, op.bypass, op.display) antes de cada passo. Se errors_after >= errors_before e não for dry-run, todo passo aplicado é revertido e o relatório carrega uma flag rolled_back: true — o agente não consegue piorar a situação. Uma passada de reparo que se desfaz sozinha, a rede de segurança que todo artista queria do "AI, conserta aí".
"Roda um auto-repair em
/project1— até três passadas, para se os erros pararem de cair e desfaz qualquer passada que piore o estado."
auto_repair_loop é o verbo "conserta tudo": ele dirige repair_network em iterações, marca errors_before/errors_after por passada, para no platô e herda o mesmo rollback de segurança. Uma chamada no lugar do ciclo manual reparar/checar/repetir.
"Antes de tocar neste patch de show, amostre
/project1/out1num grid 8x8 e me diga se ele está vivo, quais cores aparecem por alto e se vale gastar uma captura completa."
get_preview com sample_grid devolve um grid de amostras RGBA mais estatísticas min/max/mean por canal em JSON, sem codificar imagem. Use como checagem barata de "este TOP está vivo?" antes de gastar contexto com preview completo ou crítica.
Capturado ao vivo do TOP /project1/cookbook_ops_demo/sample_grid_halftone_source/out1 amostrado com sample_grid:8. O clipe mostra o output do TouchDesigner sendo amostrado; a resposta real da ferramenta é o grid RGBA e as estatísticas em JSON.
"Dispare o reset de
/project1/trails/feedback1, espere 12 frames e depois colete o preview para eu ver o burst depois que o feedback loop estabilizar."
get_preview agora aceita pre_pulses e delay_frames: pulsa um ou mais parâmetros no mesmo frame, adia a captura e depois coleta por job_id. É para looks transitórios que somem se você capturar um frame cedo demais.
Capturado ao vivo do TOP /project1/cookbook_ops_demo/preview_burst/out1 depois de disparar reset em /project1/cookbook_ops_demo/preview_burst/feedback1 e esperar 12 frames pelo tdmcp. Este clipe é o resultado do TouchDesigner, não uma ilustração do prompt.
"Antes de setar o device de entrada em
/project1/live_in/moviefilein1, leia os valores de menu e me mostre os nomes de máquina exatos que posso usar sem o TouchDesigner escolher silenciosamente o primeiro item."
get_parameter_menu busca ao vivo menuNames, menuLabels e o valor atual do menu no build de TouchDesigner rodando. Peça isso antes de setar parâmetros Menu / StrMenu; se raw exec estiver desligado, o fallback vem marcado como catálogo embutido possivelmente defasado.
"Leia as linhas 500-560 de
/project1/show/state_table, inclua o header e as cinco primeiras linhas, e me diga se algum estado de cue parece errado."
get_dat_content lê Text DATs e Table DATs em páginas: offset, limit, include_header e preview_rows impedem uma tabela enorme de cues de inundar o modelo. O resultado inclui contagem de linhas, estado de truncamento e a janela exata lida.
"Depois de montar o hero look, foque o Network Editor no novo output, no painel de controle e no composite final para eu inspecionar os nós exatos sem caçar na rede."
focus_network_editor é um movimento de UI: ele faz pan/zoom no Network Editor do TouchDesigner para enquadrar os operadores selecionados e não muda nada no grafo. É o passo de handoff depois de um build gerado, não um efeito visual.
"Arrume
/project1/herorecursivamente, mas mantenha todo DAT de shader dockado junto do nó a que pertence."
arrange_network mantém a limpeza left-to-right do fluxo de dados, e include_docked agora move DATs dockados de GLSL / callbacks pelo mesmo delta do nó dono. Use quando a rede gerada só fica legível se os DATs auxiliares viajarem junto.
"Desative
/project1/hero/old_gradepara o ensaio, mas não delete — quero poder reativar se o diretor sentir falta daquele look."
delete_td_node com mode:"bypass" liga o bypass do operador em vez de destruir o nó. É o meio-termo reversível entre deixar um operador quebrado na cadeia e apagar trabalho de show permanentemente.
"Reconstrua esta pequena cadeia de post a partir do spec salvo com auto-layout ligado, para os reruns não deixarem nós empilhados e os fios ficarem legíveis da esquerda para a direita."
rebuild_network com auto_layout:true calcula posições a partir do grafo de inputs do spec e sobrescreve coordenadas manuais velhas antes de criar os nós. É útil para round-trips de receita/spec em que a rede correta ainda precisa ficar legível no layout do TD.
"Antes de eu construir, me diga quais operadores existem de fato no TouchDesigner que estou rodando agora — sinalize qualquer coisa documentada que esta versão não consegue criar."
check_operator_availability reconcilia a base de conhecimento de operadores com a lista real de optypes criáveis no TD que está rodando, sinalizando ops descontinuados ou indisponíveis (e, opcionalmente, optypes ao vivo ainda não documentados). Pega o "esse nó não existe no meu build" antes de o build falhar — verdade de campo da instalação viva, não uma lista estática. Sobrevive a TDMCP_BRIDGE_ALLOW_EXEC=0.
"Fique de olho nos parâmetros deste nó e me avise sempre que um valor mudar — seja eu movendo à mão ou um script — para eu ver o que está mexendo no meu patch ao vivo."
watch_parameter_changes assina eventos param.changed dos parâmetros de um operador; cada mudança transmite {path, par, prev, value, frame} ao cliente como notificação de logging (coalescida para o arrasto de um slider não inundar). Telemetria ao vivo de "quem mexeu no meu parâmetro", seja mão ou script. Requer o stream de eventos do TD (TDMCP_EVENTS) ligado.
Looks reutilizáveis & handoff de show
Use estes quando o look já funciona e você quer tocar de novo, ensinar, levar para outra sala ou transformar em saída física.
"Deixe este hero look pronto para turnê: exponha controles Speed, Palette, Glow e Reset, coloque labels claros, salve como
.toxportátil e inclua uma imagem de preview para eu reconhecer antes de abrir o TouchDesigner."
As ferramentas de pacote ajudam quando servem ao artista: .tox portátil, controles visíveis, notas simples e thumbnail da saída real. O resultado é um instrumento visual para colocar no show, não um exercício de handoff técnico.
"Transforme
/project1/hero_looknum starter de workshop: preserve a rede visual, capture os controles que eu devo explicar e deixe fácil aplicar em um projeto vazio na semana que vem."
scaffold_recipe_from_network pode transformar uma subárvore TD pronta numa receita reaplicável. Para artista, a utilidade é ensino e ensaio repetíveis: reconstruir o look do zero e ajustar os controles expostos na frente das pessoas.
"Faça um mapa de uma página deste patch: thumbnail da saída final, os três controles que devo tocar ao vivo e um diagrama simples da esquerda para a direita mostrando como o sinal vira imagem."
Notas geradas só entram aqui quando parecem mapa de estúdio: o que é o look, quais controles importam, o que alimenta a saída e como está o preview atual.
"Salve este look com três variantes — ambient lenta, refrão de alta energia e blackout-safe — e marque a favorita para eu encontrar rápido no próximo ensaio."
Tags, variantes e notas de versão no vault ajudam artistas a manter uma biblioteca ao vivo organizada: a pergunta vira "qual look eu confio para este cue?", não "qual arquivo eu exportei mês passado?"
"Monte uma cadeia de controle de grave chamada
bass_energy,bass_peakebass_gate, depois me mostre onde ligar brightness, blur e pulse no visual atual."
Builders Layer-2 ficam artist-facing quando produzem fontes de modulação limpas, com nomes legíveis. Você ganha canais estáveis para performar, enquanto os detalhes CHOP continuam editáveis quando quiser aprender.
"Exporte esta escultura generativa de linhas como SVG de polilinhas para meu AxiDraw, mantendo a escala e orientação do preview para o plot parecer a versão da tela."
export_sop_to_svg lê primitivas SOP e escreve vetores prontos para plotter. É a ponte da imagem generativa ao vivo para canetas, lasers e impressão.
"Empacote este componente para eu levar ao laptop do local sem nada faltando — copie cada vídeo, fonte e LUT que ele usa para junto dele, reaponte tudo, e salve como uma pasta portátil única."
bundle_dependencies varre um COMP recursivamente atrás de referências externas, copia cada asset para <out_dir>/assets/, reescreve os parâmetros ao vivo para as cópias relativas e salva um .tox + manifesto — uma pasta movível, sem links quebrados. É o "collect + relink + save" de verdade num passo (ao contrário do make_portable_tox, que deixa os assets para trás); use rewrite_refs:false para copiar sem tocar na rede ao vivo.
"Salve este componente como uma árvore versionável para meu projeto mostrar diffs reais por nó no git em vez de um blob binário opaco."
export_externalized_tree usa COMP.saveExternalTox para escrever o componente (e, com recurse, cada COMP descendente) como seu próprio .tox em disco com externaltox reapontado — diffs por nó sob controle de versão. Transforma um projeto TD em algo que o git consegue de fato diffar, em vez de um blob binário opaco.
Autoria de shader & material
"Crie um material GLSL para esta esfera: faixas iridescentes tipo óleo, rim light suave e um uniform
uTimeque eu possa guiar pela timeline."
create_glsl_material cria o GLSL MAT mais os Text DATs auxiliares, conecta os shaders de pixel/vértice e avisa sobre armadilhas de GLSL no TouchDesigner, como fragColor ausente, colisões com o preâmbulo F1/F2 e uTime não declarado.
"Importe este sketch do Shadertoy, conecte placeholders nos iChannels se precisar, exponha controles de Speed e Mouse, e faça preview do GLSL TOP traduzido."
import_shadertoy mapeia iTime, iResolution, iMouse e iChannelN para uniforms / entradas TOP amigáveis ao TouchDesigner. Cole raw_source quando quiser manter a importação inteira offline.
"Importe este shader ISF, gere uma página limpa de parâmetros customizados a partir dos INPUTS e mantenha o GLSL editável no TouchDesigner."
import_isf_shader parseia o cabeçalho JSON do ISF e transforma entradas float / color / bool / event / long em controles TouchDesigner, então sketches de biblioteca viram redes tocáveis em vez de blocos de código colados.
"Me dê um material que faça qualquer malha ondular e inchar na GPU — empurre cada vértice pela normal com ruído 3D em movimento, para uma esfera simples virar uma bolha derretida e agitada que eu possa aplicar na minha própria geometria."
create_vertex_displacement_mat cria um GLSL MAT cujo estágio de vértice desloca cada vértice pela normal com ruído 3D procedural (ou pela luminância de um TOP amostrado), atribuído a um Geometry COMP alvo — deformação física de mesh na GPU. Sem alvo ele monta uma esfera demo para o material dar preview sozinho. Diferente dos warps de pixel 2D (create_displacement_warp / create_depth_displacement): aqui a malha real ondula e incha, e você aplica na sua própria geometria.
"Transforme este sketch de GLSL TOP num material no logo 3D, exponha Color, Speed e Fresnel, depois renderize um preview."
O que você recebe: uma etapa de autoria de shader que mantém o código editável em DATs enquanto transforma os uniforms importantes em controles tocáveis no TouchDesigner.
Efeitos e looks marcantes
"Dobre minha webcam num caleidoscópio de seis lados girando devagar, em tons de joia profundos, e me mostre um preview."
Um espelho de dobra polar em GLSL ao vivo transforma qualquer fonte numa mandala simétrica; expõe os Segmentos e um botão de rotação/Velocidade. Apontado para a webcam, faz a sala desabrochar em pétalas caleidoscópicas.
"Faça meu vídeo parecer um arquivo corrompido que borra e derrete a cada corte seco — datamosh pesado."
Um borrão de deslocamento de pixels guiado por feedback que sangra vetores de movimento entre quadros, com controles de Quantidade/Decay — o clássico look de "codec quebrado" que floresce e derrete, numa fonte de teste padrão (troque pelo seu clipe).
"Transforme isto em pontos de meio-tom âmbar quentes, como impressão de jornal antigo, e mostre o preview."
Uma tela de meio-tom em GLSL converte a imagem numa grade de pontos de tinta cujo tamanho acompanha o brilho; expõe a escala dos pontos / Ângulo / matiz. O tom âmbar mais o fundo branco-papel dão uma sensação de impressão retrô.
"Deixe esta fonte como um sonho febril de Game Boy: dither ordenado de 4 cores, pixels crocantes, threshold animado e controle Mix ao vivo."
create_dither monta dither Bayer / checker / noise / error-diffusion com quantização mono, duotone ou RGB. É um look, não só um filtro utilitário.
"Gere um campo Voronoi de vitral com sementes animadas, linhas escuras grossas e controles de paleta para Color A / Color B."
create_jfa_voronoi usa uma cadeia Jump-Flooding (seed init, passes por metade, color pass) para criar mosaicos / vitrais animados com controles ao vivo de sementes e bordas.
"Distorça esta filmagem com uma distorção líquida fluida que ondula como calor sobre o quadro inteiro."
Guia um Displace TOP a partir de um campo de ruído animado, então a fonte ondula e flui, com controles de Quantidade/Velocidade — uma distorção de calor / submersa sobre qualquer entrada.
"Transforme este feed de câmera em linhas de tinta fluindo, como um frame de videoclipe desenhado com edge tangent flow e carvão animado."
create_flow_abstraction monta o caminho ETF / FDoG painterly: fluxo coerente de linhas em vez de bordas Sobel simples, bom para looks de quadrinho, tinta e câmera gravada em metal.
"Dê a este shot um filtro Kuwahara de pintura a óleo, e me deixe alternar entre oil, pencil e watercolor durante o set."
create_npr_filter expõe o look não-fotorrealista como componente controlável; apply_post_processing também entende npr_oil, npr_pencil e npr_watercolor para cadeias rápidas.
"Dê a isto uma correção de cor cinematográfica teal-and-orange — afunde um pouco os pretos e levante as altas-luzes."
Uma correção de lift/gamma/gain + saturação/matiz (com LUT opcional) sobre qualquer fonte, expondo as rodas como botões — o look teal/laranja de Hollywood como uma camada de finalização.
"Dê a esta câmera uma correção de três rodas de verdade: sombras frias, altas-luzes quentes, um pequeno black offset e controles ao vivo de Lift/Gamma/Gain por canal."
create_color_wheels monta a superfície clássica de colorista: três Level TOPs tingidos para sombras/médios/altas, offset preto master e saturação. Use quando sliders simples de grade não forem expressivos o bastante.
"Aplique este LUT .cube ao feed de câmera, mostre um split antes/depois e caia para GLSL se OCIO não estiver disponível."
apply_lut escolhe a melhor rota disponível: OCIO quando existe, lookup por imagem para previews de LUT, ou fallback GLSL a partir de .cube parseado quando a máquina está sem dependências extras.
"Quando eu mover este slider, faça um corte com glitch do primeiro clipe para o segundo, com um estouro de ruído digital."
Uma transição A→B sobre um único botão de Progresso de 0–1 com estilos selecionáveis (dissolve / luma_wipe / slide / zoom / glitch_cut) — arraste o fader para fazer um wipe entre duas fontes no meio do show.
"Renderize minha câmera como ASCII verde-fósforo brilhante, com cor da fonte nas áreas claras e um botão Mix para voltar ao original."
create_ascii_render reduz a fonte para células, cria um atlas de glifos em Text TOP e renderiza uma grade de caracteres em GLSL. Os modos mono, source-color e two-color cobrem terminal fósforo, câmera posterizada e palco duotone.
"Faça um slit-scan vertical da dançarina: cada linha deve ser um momento diferente no tempo, 120 frames de profundidade, subindo como fitas de tempo."
create_slit_scan grava a fonte num ring buffer de Cache TOP e amostra isso em GLSL para que cada linha ou coluna venha de um frame passado diferente. O controle Depth define quanto tempo é esticado pela saída.
"Dê a este feed glitch gerado um time echo: rastros fantasmas recursivos em modo echo no verso, depois um derretimento time-displace guiado por ramp vertical no breakdown."
create_time_echo é o container mais amplo de efeitos de tempo: echo para trails recursivos por feedback, slit_scan para fatias de tempo por linha/coluna e time_displace para offsets de frame por pixel guiados por ramp ou noise TOP. Peça resolução fixa e warnings porque nomes de operador cache/time-machine variam entre builds do TD.
"Gere blobs de cromo líquido num fundo preto de estúdio, metal azulado, movimento lento e controle de Speed para aquele momento de logo Y2K."
create_chrome_blobs transforma noise animado em metaballs borrados/thresholded e sombreia tudo com um passe GLSL de chrome por environment-map falso. Tints de metal e presets de fundo tornam isso útil como vinheta de logo, não só teste de textura.
"Crie um look Gray-Scott de reaction-diffusion com cores coral, manchas tipo labirinto e controles ao vivo de Feed/Kill/Diffusion para morph biológico lento."
create_reaction_diffusion parte da receita Gray-Scott incluída, corrige os uniforms GLSL de Feed/Kill/Diffusion A/B, aplica opcionalmente um ramp de LUT e expõe os parâmetros químicos como controles performáveis.
"Pixel-sort este feed ao vivo em rastros verticais de chuva: ordene por luminância acima do threshold, descendente, 96 iterações, com Mix em 0.8."
create_pixel_sort usa um loop GLSL de odd-even sort com Feedback TOP, Switch TOP e máscara de threshold. Axis, SortBy, Direction, Threshold, Iterations e Mix ficam ao vivo para ajustar o smear estilo Asendorf em vez de colar um shader uma vez.
"Pegue meu clipe e o estilhace numa parede de vídeo 5×5 dele mesmo, cada bloco levemente deslocado e trepidando, para respirar como uma folha de contato caleidoscópica."
create_step_repeat ladrilha um TOP de origem numa grade rows×cols com gap ajustável e jitter de posição por célula. O padrão é uma fonte Noise sintética, então dá preview sozinho; aponte source_path para qualquer TOP e multiplique um clipe ao vivo numa parede de vídeo estilo folha de contato, com trepidação orgânica célula a célula — um staple de VJ numa chamada só.
Mixagem e camadas
"Empilhe quatro camadas com modos de mistura e opacidade, cada uma com mute e solo, para eu mixar um look na hora."
Um compositor de N camadas com modo de mistura + opacidade + mute/solo por camada e uma faixa de controle gerada — uma pilha de camadas estilo Photoshop/After Effects que você pode tocar.
"Monta um rig de quatro decks com FX sends por deck pra um bus de retorno compartilhado e um switch de hard cut que eu posso mesclar de volta."
O modo decks[] monta rigs de 2 a 8 decks com ganho por deck, branches de FX-send por deck num bus / retorno aditivo, um mix de programa contínuo via Cross TOP e um hard-cut Switch TOP mesclado de volta no programa com cut_mix. O mixer A/B antigo continua compatível.
Visuais orientados a dados
"Puxe o preço do BTC ao vivo de uma API web e controle a cor e a velocidade do visual pela rapidez com que ele se move."
O create_data_source puxa um feed JSON/web ao vivo para canais CHOP; o create_data_reactive mapeia esses canais nos parâmetros de um visual com remapeamento de faixa por mapeamento — a contraparte de dados da reatividade ao áudio.
"Prototipe um dashboard visual guiado por WebSocket a partir deste stream de eventos, mas rode em modo dry-run / experimental primeiro e relate erros de bridge antes de ligar no show."
create_data_source_http_ws é a ponte HTTP/WebSocket para transformar seletores JSON em canais CHOP. O corte público v0.7.0 inclui o hotfix de HTTP-poll, então o prompt já pode pedir status, seletores, nomes de canais e warnings como parte do relatório de build.
"Transforme esta planilha de vendas mensais em barras 3D animadas que crescem, com rótulos de valor."
Uma rede de visualização orientada a dados (barras/gráfico a partir de uma tabela) com um botão de Escala e uma entrada animada — um infográfico em tempo real e tocável, não um gráfico estático.
"Clone este cartãozinho uma vez por linha da minha tabela, cada um com o nome daquela linha."
Um Replicator COMP que clona um COMP de template por linha de um Table DAT, parametrizando cada clone a partir da sua linha — instanciamento orientado a dados de sub-redes inteiras, não só de geometria.
"Monte uma cadeia LLM offline com Ollama dentro do TouchDesigner: prompt DAT entrando, response DAT saindo, botão Send exposto e JSON mode pronto para notas de cue."
create_llm_chain cria um wrapper LLM baseado em webclientDAT para Ollama, OpenAI, Anthropic ou endpoint custom compatível com OpenAI. Prompt e Response DATs, canal de status e controles de provider/model/temperature/max-token ficam dentro do TD, enquanto as chaves de API são lidas por variáveis de ambiente e nunca aparecem via Node.
"Pegue este GeoJSON de um bairro e levante-o numa pequena cidade 3D — extrude cada silhueta de prédio pela altura no dado, disponha as ruas como fitas, e enquadre com uma câmera para parecer uma maquete que eu possa iluminar."
create_geo_visualization parseia uma FeatureCollection GeoJSON (Point/Line/Polygon), constrói a geometria num Script SOP, extruda cada feature de polígono/linha pela propriedade height do próprio dado e envolve tudo num Geometry COMP sob um Render TOP com câmera e luz. Dados de mapa reais viram uma maquete 3D iluminada de um prompt só; precisa de um payload GeoJSON e usa height/default_height de cada feature para a extrusão.
"Faça meus visuais reagirem a quantas pessoas a câmera vê — puxe contagens e posições de objetos do meu detector e exponha como canais que eu possa mapear para intensidade e taxa de emissão."
create_detection_reactive assina um detector externo por WebSocket (JSON {count, objects:[{x,y,w,h,score}]}) ou monta um Script CHOP ONNX em CPU, expondo contagem e posições de detecção como canais CHOP para guiar qualquer parâmetro. Detecção de objetos (pessoas, mãos, props) dirigindo visuais sem CUDA — o caminho WebSocket roda em qualquer lugar; precisa de um processo detector externo ou de um modelo ONNX seu.
Checagens de ensaio & feedback artístico
Use estes quando quiser que o tdmcp teste o trabalho como um artista testaria: consigo ver, consigo tocar, reage direito e é seguro continuar ensaiando?
"Antes do ensaio, abra meu output principal, tire um snapshot rápido do preview e me diga se está preto, em baixa resolução, congelado ou com erro."
get_inline_preview transforma "isso está vivo?" em uma checagem: thumbnail, resolução, formato de pixel, metadados de cook e erros recentes. A resposta deve vir primeiro como imagem e linguagem simples.
"Observe o analyze CHOP do grave por cinco segundos e me diga o min/max real para eu ajustar a faixa do visual antes do DJ chegar."
watch_node é útil quando lê um sinal do jeito que performer precisa: faixa real, picos, momentos quietos e se o canal está estável o bastante para ligar num look.
"Cheque o perfil de venue
clubsem mostrar segredos: o TouchDesigner está alcançável, a bridge está na porta esperada e o que eu preciso corrigir antes da abertura da casa?"
Checagem de venue/perfil só pertence ao cookbook quando responde uma pergunta de show: para qual sala estou configurado, a bridge ao vivo responde e qual ação concreta mantém o ensaio andando?
"Leia o mapa compacto de
/project1/heroe explique os controles visíveis em linguagem simples: o que muda cor, movimento, intensidade e reset?"
compact_graph_digest resume uma rede sem afogar o artista em nós: contagens, fios e parâmetros-chave viram um mapa curto do que o look sabe fazer.
"Durante o soundcheck, escute eventos de beat e onset por dez segundos e me diga se o fluxo de cues está estável o bastante para guiar cortes; não dispare nada no palco."
Observar eventos da bridge pode continuar read-only: use para provar que tempo, batida ou gesto estão chegando antes de mapear isso para mudanças visíveis.
"Me ensine TouchDesigner o suficiente para mexer neste patch com segurança: mostre o caminho do operador que devo abrir, um parâmetro para testar primeiro e um fallback se quebrar."
Recursos de aprendizado e cheatsheets ficam artist-facing quando reduzem medo no patch: um operador, um parâmetro seguro, um caminho de volta.
"Olhe para a saída atual e critique como motion designer: paleta, contraste, ritmo, legibilidade e um próximo ajuste concreto."
O copiloto local deve fechar o ciclo entre rede gerada e resultado visível: descrever o que está na tela, nomear a escolha artística mais fraca e propor uma mudança pequena para o artista aprovar.
Conhecimento TD offline & rascunhos de receita
Use estes prompts quando quiser que o agente leia conhecimento TouchDesigner embutido antes de criar nós. As tools desta seção são read-only e funcionam sem bridge TD ao vivo; qualquer cook ou checagem de projetor continua UNVERIFIED-pending-td até você rodar o rascunho contra uma instância TouchDesigner conectada.
"Antes de escolher o estágio de blur, busque operadores TOP embutidos no TouchDesigner 2023 com busca por parâmetros ligada. Mostre quais operadores expõem controles ligados a borda, raio ou feedback, e ainda não crie nós."
tdmcp-agent operators \
--params '{"query":"edge radius feedback blur","category":"TOP","version":"2023","parameter_search":true,"limit":8}'O search_operators expandido filtra por categoria, versão do TouchDesigner e metadados de parâmetros antes de o agente mexer no projeto. Use quando a pergunta é "qual operador expõe o controle de que preciso?", não só "como chama este op?".
"Estou migrando um patch de feedback de 2022 para 2024 e quero uma cadeia de trails segura para câmera. Planeje primeiro a migração de versão do TD, depois sugira uma cadeia TOP e valide antes de rascunhar a receita."
tdmcp-agent versions migration-plan \
--params '{"from_version":"2022","to_version":"2024","query":"TOP feedback camera trails"}'
tdmcp-agent operators suggest-chain \
--params '{"goal":"camera-safe feedback trails","family":"TOP","max_steps":5}'
tdmcp-agent operators validate-chain \
--params '{"chain":["Video Device In TOP","Feedback TOP","Transform TOP","Level TOP","Null TOP"],"family":"TOP"}'
tdmcp-agent recipes draft-chain \
--params '{"chain":["Video Device In TOP","Feedback TOP","Transform TOP","Level TOP","Null TOP"],"id":"camera_feedback_trails_draft","tags":["draft","feedback","migration"]}'Este é um preflight atento à versão: notas de release e registros de compatibilidade orientam a sugestão de cadeia, validate_operator_chain checa as adjacências de operadores e o rascunho de receita continua offline até um apply_recipe posterior com cook ao vivo no TD.
"Abra o pacote embutido de técnicas GLSL, inspecione uma técnica de reaction-diffusion com notas de setup e código, então gere um rascunho de receita válido no schema em modo non-strict. Deixe aplicar isso para uma passada ao vivo no TD depois."
tdmcp-agent techniques get \
--params '{"category":"glsl","technique_id":"reaction_diffusion_gs","include_code":true,"include_setup":true}'
tdmcp-agent techniques draft-recipe \
--params '{"category":"glsl","technique_id":"reaction_diffusion_gs","id":"reaction_diffusion_gs_technique_draft","strict":false}'get_technique_detail e draft_recipe_from_technique transformam pacotes embutidos de técnicas TouchDesigner em candidatos RecipeSchema sem afirmar que a rede já cozinhou. Preserve warnings e próximos passos sugeridos, então valide o rascunho no TouchDesigner antes de virar receita de show.
"Encontre o tutorial embutido para escrever um GLSL TOP, tente um rascunho de tutorial em modo de triagem non-strict e me mostre por que ele é ou não é seguro antes de aplicar qualquer coisa."
tdmcp-agent tutorials get \
--params '{"name":"write_a_glsl_top","include_content":true}'
tdmcp-agent tutorials draft-recipe \
--params '{"name":"write_a_glsl_top","strict":false,"max_steps":5}'get_tutorial recupera o texto estruturado do tutorial e os blocos de código; a tool draft_recipe_from_tutorial valida a cadeia extraída com checagens de conexões documentadas. Para o tutorial embutido write_a_glsl_top, o resultado esperado é continuar sem rascunho: a cadeia extraída de texto/TOC inclui links adjacentes sem documentação, como GLSL TOP -> GLSL Multi TOP; o relatório deve incluir undocumented_connection, omitir apply_recipe e deixar o grafo TD intocado.
"Antes de criar uma cadeia de post com feedback, compare os docs de operator de Blur TOP e Level TOP, valide
Noise TOP -> Blur TOP -> Level TOP -> Null TOP, então gere uma receita dessa cadeia sem tocar no projeto."
tdmcp-agent operators compare-docs \
--params '{"operator_a":"Blur TOP","operator_b":"Level TOP"}'
tdmcp-agent operators validate-chain \
--params '{"chain":["Noise TOP","Blur TOP","Level TOP","Null TOP"],"family":"TOP"}'
tdmcp-agent recipes draft-chain \
--params '{"chain":["Noise TOP","Blur TOP","Level TOP","Null TOP"],"id":"feedback_post_draft","tags":["draft","feedback"]}'Este é o loop seguro de "ler, comparar, validar e rascunhar": o agente explica os tradeoffs dos operadores e entrega um rascunho de receita válido no schema enquanto o grafo TouchDesigner real permanece inalterado.
"Busque tutoriais embutidos sobre fluxos CHOP, copie um id de tutorial dos resultados, tente
draft_recipe_from_tutorialem modo non-strict e, se não der para gerar uma receita, explique o motivo. Use os operadores extraídos como entrada paravalidate_operator_chaine só gere uma receita quando a cadeia corrigida não tiver erros. Trateapply_recipecomo handoff posterior, não como parte desta execução."
tdmcp-agent tutorials get \
--params '{"query":"CHOP","include_content":true,"limit":3}'
tdmcp-agent tutorials draft-recipe \
--params '{"name":"anatomy_of_a_chop","strict":false,"max_steps":5}'Esse é o modo de falha útil: um tutorial ainda pode ensinar o que o agente deve inspecionar ou validar, mesmo quando não vira uma receita segura automaticamente. draft_recipe_from_tutorial recebe um id de tutorial ou nome exato, não uma busca livre; substitua pelo id escolhido no resultado anterior.
Biblioteca criativa (Creative RAG)
O repertório criativo é um índice local opt-in de referências artísticas com licença aberta. O CLI é tdmcp creative-rag <sync|index|search>; tanto tdmcp://creative/cards/{id} quanto tdmcp://creative/search{?q,k,license,type,tags} são recursos MCP somente leitura. A RAG fornece obras de fonte, paletas, linguagem de movimento e affordances de tools; o build TouchDesigner continua acontecendo pelas tools normais do tdmcp.
"Use a Creative RAG para encontrar o card CC0 da Cleveland
The Biglin Brothers Turning the Stake. Use a própria pintura como material de origem: estique a linha d'água em trilhas horizontais, detecte bordas nos remos e corpos, e transforme isso num visual de movimento de remo com grade fria de palco."
Uma obra da RAG vira material de entrada, não uma linha de resultado: a imagem CC0 do card é remixada em um novo estudo de trilhas cinéticas usando água, ritmo dos remos e silhuetas da pintura como partitura visual.
"Busque na Creative RAG o card CC0 de retrato
Nathaniel Hurd. Crie um novo look de máscara ao vivo a partir dele: extraia uma paleta quente do retrato, pixelize o rosto em blocos, adicione contornos e faça um drift sutil de dupla exposição para backdrop performável."
O retrato recuperado dirige o look: cor, luz e estrutura do rosto viram um novo sistema de máscara/mosaico que pode ser recriado com create_palette, create_pixel_sort e passes de post-processing.
"Abra o card
Compositionde Wassily Kandinsky na Creative RAG. Use sua geometria hard-edged, a paleta de tríade primária e os affordancescreate_generative_art/create_color_gradepara construir um sistema TD geométrico novo, não uma cópia da pintura."
O card passa paleta e linguagem visual; o resultado é uma composição procedural nova com grid animado, círculos e planos de cor, mantendo a obra original como contexto de repertório em vez de algo que a RAG executa diretamente.
Busca e filtros de licença
O repertório criativo é um índice local opt-in de referências artísticas com licença aberta. O CLI é tdmcp creative-rag <sync|index|search>; tanto tdmcp://creative/cards/{id} quanto tdmcp://creative/search{?q,k,license,type,tags} são recursos MCP somente leitura. A allowlist padrão (TDMCP_RAG_LICENSE_ALLOWLIST, default CC0,PublicDomain) só barra download de binários no sync — o search continua devolvendo qualquer card do índice. Passe --license explicitamente quando precisar de garantia firme sobre o que vai reusar.
"Busque na biblioteca criativa referências kinéticas em monocromático — muito movimento, preto e branco, geométrico. Limite a CC0 + domínio público para eu poder reusar tudo que vier."
tdmcp creative-rag search "kinetic monochrome geometric" \
--license CC0,PublicDomain --k 5 --json[
{
"id": "a1b2c3d4...",
"score": 0.78,
"title": "Composition with Black Lines",
"sourceUrl": "https://www.artic.edu/...",
"license": "PublicDomain",
"type": "artwork",
"tags": ["geometric", "monochrome", "motion-study"]
},
{
"id": "e5f6a7b8...",
"score": 0.74,
"title": "Rhythm of a Russian Dance",
"sourceUrl": "https://www.rijksmuseum.nl/...",
"license": "CC0",
"type": "artwork",
"tags": ["kinetic", "dance", "geometry"]
}
]Use --json quando precisar dos ids para o próximo passo. A tabela humana é mais curta de propósito e imprime score, título, tipo/licença e source URL; o payload estruturado adiciona id, tags e outros campos do card para agentes ou scripts.
"Me mostre só obras de arquitetura com licença CC0 da biblioteca criativa."
tdmcp creative-rag search "architecture facade" \
--license CC0 --type artwork --tags architecture --k 5 --json[
{
"id": "3f4d5e6a...",
"score": 0.81,
"title": "Facade Study, Rietveld Schroder House",
"sourceUrl": "https://www.rijksmuseum.nl/...",
"license": "CC0",
"type": "artwork",
"tags": ["architecture", "de-stijl", "geometric"]
},
{
"id": "c7d8e9f0...",
"score": 0.77,
"title": "Steel Frame, Construction Series",
"sourceUrl": "https://www.clevelandart.org/...",
"license": "CC0",
"type": "artwork",
"tags": ["architecture", "structure", "grid"]
}
]--license CC0 estreita mais que o padrão (descarta PublicDomain), então o resultado é estritamente CC0. --type aceita o enum da CLI (project|artist|artwork|technique|cue_reference); use --tags (CSV) para filtros mais finos como architecture, geometric, sculpture. Todos os filtros empilham.
"Abra o card
3f4d5e6a…da biblioteca criativa e resuma a intenção do artista para eu construir uma cena no TD a partir dela."
O cliente MCP busca tdmcp://creative/cards/3f4d5e6a… (onde id = sha256(sourceUrl)) e recebe o card completo em JSON:
{
"id": "3f4d5e6a...",
"schemaVersion": 1,
"type": "artwork",
"title": "Facade Study, Rietveld Schroder House",
"sourceUrl": "https://www.rijksmuseum.nl/...",
"sourceName": "rijksmuseum",
"license": "CC0",
"body": "Frontal study of a De Stijl facade with rigid planes and window-grid rhythm.",
"tags": ["architecture", "de-stijl", "geometric", "primary-colors"],
"palette": ["#E63946", "#F1FAEE", "#1D3557", "#FFD166"],
"visualLanguage": "rigid orthogonal grid, flat planes",
"tdmcpAffordances": ["create_glsl_shader", "create_grid_layout"],
"contentHash": "sha256:..."
}A shape real do card é plana: body, palette e visualLanguage são campos opcionais de primeiro nível, type precisa ser um dos valores do enum da Creative RAG, e tdmcpAffordances é string[] com nomes de tools sugeridas (veja src/creativeRag/schema.ts). Leia o card, destile a intenção em prosa e então repasse os affordances + paleta para a tool de Layer 1 que se encaixar — por exemplo, "usa essa paleta e o visualLanguage em grade pra montar uma cena GLSL monocromática kinética". O cookbook para aqui; o build real fica para a tool de Layer 1 que os affordances indicam.
Biblioteca de projetos (Project RAG)
O repertório de projetos é o primo dev da Creative RAG: um índice local opt-in de projetos, componentes e snippets de TouchDesigner sob licença aberta — arquivos .toe/.tox e trechos de shader puxados de fontes curadas no GitHub — para que o agente possa basear um efeito em código TD real antes de escrever qualquer node novo. O CLI é tdmcp project-rag <sync|index|search>; tdmcp://project/cards/{id}, tdmcp://project/search{?q,k,license,type,operator,tags} e o novo tdmcp://project/sources são resources MCP read-only. O prompt MCP project_rag_context e a tool de copiloto project_rag_search expõem o mesmo índice para clientes LLM — ambos gated por TDMCP_RAG_ENABLED=1 && TDMCP_PROJECT_RAG_ENABLED=1.
Quando usar Project RAG vs Creative RAG
Duas RAGs, duas perguntas. A Creative RAG responde "como isso deveria parecer?" — ela traz obras, paletas e linguagem visual. A Project RAG responde "como isso é de fato construído no TD?" — ela traz networks .toe/.tox funcionais e o wiring de operators que você pode ler ou adaptar. Misturar as duas é a ideia.
"Quero montar uma peça de feedback com hand tracking. Primeiro rode o prompt
project_rag_contextcomquery: 'hand tracking mediapipe feedback'para eu ver como projetos TD reais fazem o wiring; depois escolha o de licença mais permissiva e adapte a cadeia de operators para uma network nova."
tdmcp://project/search?q=hand+tracking+mediapipe+feedback&k=5
→
0.823 MediaPipe Hand Pose Demo [project] — MIT — tdmcp://project/cards/abc123…
0.781 Real-time Hand Tracker [project] — CC-BY-4.0 — tdmcp://project/cards/def456…
0.704 Feedback Optical Flow Hands [snippet] — Apache-2.0 — tdmcp://project/cards/789abc…O prompt retorna títulos, licenças e URIs tdmcp://project/cards/{id} — não embeddings opacos. Inspecione cada card via read_resource para ver a lista completa de operators e o caminho do binário que dá para abrir no TD. Use a Creative RAG para paleta/clima; use a Project RAG para o wiring TD que faz a coisa se mover.
Buscando exemplos reais antes de codar um efeito
Quando o modelo vai gerar um efeito novo, o primeiro passo mais seguro é buscar antes de sintetizar — descobrir o que já existe, em código, sob uma licença que dá para reaproveitar.
"Vou montar uma network de trails audio-reactive. Antes de criar qualquer op, rode
tdmcp project-rag search 'audio reactive trails feedback' --license CC0,MIT,Apache-2.0 --k 5e cite os três cards do topo (título + licença + URI). Abra o de licença mais permissiva viatdmcp://project/cards/{id}e me diga quais operators ele usa. Aí a gente decide se copia, adapta ou constrói do zero."
tdmcp project-rag search "audio reactive trails feedback" \
--license CC0,MIT,Apache-2.0 --k 5O CLI espelha tdmcp creative-rag search — mesmo layout de flags, mesma história de reuso gated por licença. A diferença é que os cards aqui apontam para networks TD executáveis em vez de obras estáticas, e --operator AudioSpectrumCHOP filtra ainda mais para cards que de fato wirem um op específico. Quando a busca do lado creative volta com poucos resultados, o CLI também imprime no stderr uma dica sugerindo tdmcp project-rag search "<q>" como cross-link, então o agente pivota entre as duas bibliotecas sem perder a query.
"Hoje à noite preciso de um look rápido de organismo de neblina. Liste primeiro as fontes Project RAG configuradas via
tdmcp://project/sources— quero saber quais estão ready vs planned antes de buscar, para não caçar cards que ainda não foram indexados."
[
{ "name": "github-repo", "displayName": "GitHub seed repos", "status": "ready" },
{ "name": "github-topic", "displayName": "GitHub topic scanner", "status": "ready" },
{ "name": "matthewragan", "displayName": "Matthew Ragan", "status": "planned" }
]tdmcp://project/sources é o mapa honesto do que está indexado localmente. Uma fonte com status: "planned" significa que o adapter existe mas não está wired no seu sync atual — contexto útil quando os resultados de busca vêm mais finos do que você esperava. Combine com o prompt project_rag_context para deixar o agente raciocinar sobre cobertura antes de comprometer com um caminho de build.
Habilitando o manual do Interactive & Immersive HQ (não comercial)
Um manual inteiro de TouchDesigner está disponível como cards tutorial pesquisáveis — mas vem desligado por padrão porque sua licença é CC-BY-NC-SA-4.0 (não comercial, share-alike, atribuição obrigatória). Ative-o apenas para uso pessoal/aprendizado:
export TDMCP_PROJECT_RAG_IIHQ=1
tdmcp project-rag sync --source iihq
tdmcp project-rag search "otimizar uma rede de CHOP lenta" --type tutorial --k 3"Habilite a fonte de tutoriais IIHQ e encontre capítulos que expliquem GLSL TOPs. Cite a licença de cada card e me lembre dos termos de reuso antes de eu copiar qualquer coisa para um show comercial."
Todo card IIHQ é carimbado de forma rígida como CC-BY-NC-SA · não comercial e carrega notas de direitos dizendo para atribuir The Interactive & Immersive HQ, manter o uso não comercial e compartilhar sob a mesma licença. Apenas o texto do manual é indexado — nenhum binário .tox/.toe/exemplo é baixado (a política de licença nega binários CC-BY-NC-SA por completo). Se você está construindo para um trabalho pago, trate esses cards como leitura de referência, não como assets para distribuir.
Trabalhando a partir das suas notas (vault Obsidian)
Se você mantém um vault Obsidian conectado:
"Monte o set de hoje a partir da minha nota de setlist 'Sexta'."
"Gere um visual a partir do meu moodboard 'fundo do oceano'."
"Salve este visual como uma receita no meu vault, rode auto-tagging e registre no meu diário de shows."
"Lembre que meu estilo de show evita gradientes arco-íris chapados, prefere névoa fria, luz de borda âmbar e câmera lenta, e use essa memória no próximo look."
"Ache trabalhos anteriores no meu vault parecidos com 'catedral submersa, névoa azul, strobes lentos' e use o mais próximo como ponto de partida."
"Faça lint da minha biblioteca de receitas antes do show e me diga quais notas têm assets ausentes, ids duplicados ou operadores desconhecidos."
O que você recebe: uma biblioteca local de show, amigável a git. scaffold_vault cria as pastas iniciais, incluindo Memory/style.md; as ferramentas de salvar podem usar auto-tags determinísticas; recall_similar_work busca seus próprios looks anteriores; e lint_recipe_library pega notas ruins antes delas chegarem ao projetor.