Xose 757616f344 Regenerado: los dos aprendizajes del port de Van Gogh Sunset
1. 'Con los mandos a cero, como el original' significa PARECERSE al original,
   no dejar los numeros a cero.
2. Una medida suelta de fps no ordena dos shaders parecidos: el mismo shader dio
   13.7 y 10.1 en dos sesiones.

Generado con generar-agente-portable.py. No editar aqui.
2026-09-06 04:08:01 +02:00
2026-09-05 16:43:37 +02:00
2026-09-05 16:43:37 +02:00
2026-09-05 16:43:37 +02:00

agent-recur

Un subagent de Claude Code especialitzat en r_e_c_u_r, el sampler de vídeo DIY sobre Raspberry Pi de cyberboy666, i la skill que porta el procediment per adaptar shaders de Shadertoy al seu format.

Del Medialab Terata, Calafou.

Quin problema resol

Shadertoy corre GLSL ES 3.00; r_e_c_u_r corre GLSL ES 1.00 sobre una VideoCore IV. Traduir els noms dels uniforms es despatxa en deu minuts; el que costa és tota la resta, i gairebé res d'això dona un error. Un shader mal portat compila, enllaça, s'executa i pinta una pantalla verda, o negra, o s'encalla, sense ni un sol avís ni a la màquina ni a la interfície.

El que hi ha aquí és el resultat de portar sis shaders amb l'aparell al davant, mesurant en comptes de suposar. Cada regla porta el mètode amb què es va comprovar i, quan existeix, el número.

Instal·lació

Copiar les dues carpetes al teu projecte:

cp -r .claude/agents/recur.md      EL-TEU-PROJECTE/.claude/agents/
cp -r .claude/skills/shadertoy-recur EL-TEU-PROJECTE/.claude/skills/

I la resta del repositori on el vulguis tenir a mà: la skill busca docs/, plantilles/ i check_port.py en rutes relatives a l'arrel del paquet.

Després, a Claude Code, s'invoca amb @recur. La skill es carrega sola en aquell subagent, i també es pot invocar a mà amb /shadertoy-recur en qualsevol conversa.

Què hi ha

.claude/agents/recur.md El subagent: què pregunta abans de començar, com verifica, què no dona mai per suposat
.claude/skills/shadertoy-recur/ El procediment de conversió i el catàleg de paranys
docs/conversion-guide.*.md La guia de port: taula d'equivalències, allò que ES 1.00 no té, rendiment
docs/recur-shader-reference.*.md Com funciona el sistema de shaders: la cadena r_e_c_u_r → c_o_n_j_u_r → ofxVideoArtTools, els uniforms, el temps
docs/l-aparell.md El verificat sobre la màquina: GPU, precisió, límits, ritme de fotogrames
check_port.py Revisor automàtic d'un .frag. Sense dependències més enllà de Python 3
plantilles/ Esquelets 0/1/2-input i dos diagnòstics que contesten a l'aparell allò que no es pot llegir al codi
instrumentacio/ Envoltori per mesurar fotogrames per segon a la mateixa Pi

Llengües

La documentació és en anglès i català. L'anglès és la font; si difereixen, mana l'anglès. El català és la llengua del medialab i la de tot el que publiquem a git.terata.org.

Dues excepcions conscients, totes dues per no trencar res que ja funciona:

  • Els comentaris dels .frag van sense accents. No és una badada: el controlador de la Pi rebutja els bytes no-ASCII fins i tot dins de comentaris, i un shader amb un accent dona pantalla verda sense cap missatge d'error. Passa el mateix a les seccions de la documentació copiades literalment d'aquests fitxers.
  • check_port.py parla anglès i castellà (--lang en|es), encara no català. Els seus missatges són etiquetes curtes ([BREAKS], [MISSING], [CHECK]) i traduir-les voldria dir tocar el codi del revisor, cosa que es farà a part.

Sobre quin aparell està mesurat

Tot el verificat ve d'una Raspberry Pi 3B+ amb la imatge recur2_0_2 precompilada per cyberboy666: VideoCore IV, OpenGL ES 2.0, sortida a 720x480, amb el topall de 30 fps que posa c_o_n_j_u_r per programari.

Cyberboy publica també una 2.1.0 que no hem comprovat. Si la fas servir i et funciona, posa't en contacte amb les companyes del Medialab Terata [www.terata.org].

Els límits que hi ha aquí són d'aquella combinació concreta, no de r_e_c_u_r en abstracte. En una altra placa caldria tornar a mesurar-los, i plantilles/ porta els diagnòstics per fer-ho.

Com es manté

Aquest repositori es genera, no s'edita a mà. La font viu al repositori de treball del medialab i aquí hi arriba amb les rutes i les atribucions adaptades, mitjançant un script que a més avisa si se li ha escapat cap referència local. Si edites aquí, ho perdràs a la generació següent: els arranjaments i les propostes, millor per correu o issue.

Llicència

GPL-3.0, com r_e_c_u_r. Vegeu LICENSE.

Els shaders portats no són aquí: cadascun té la llicència del seu autor original —Shadertoy publica per defecte sota CC BY-NC-SA 3.0, incompatible amb la GPL— i això es tracta cas per cas.

S
Description
Agent especialitzat en transformar shaders de Shadertoy per a fer servir amb r_e_c_u_r
Readme GPL-3.0 381 KiB
Languages
Python 70.6%
GLSL 17.3%
Shell 6.9%
C 5.2%