Shadertoy To Flutter
Porte les shaders GLSL de Shadertoy dans des fichiers .frag Flutter qui compilent et se chargent réellement.
Testé · Fonctionne
Ce que fait
Convertit un shader de fragment Shadertoy collé en un fichier .frag compatible Flutter pour FragmentProgram/Impeller, en gérant la réécriture du point d'entrée, les substitutions d'uniformes iResolution/iTime/iChannel*, la classification fill-vs-wrap, et les restrictions spécifiques à Flutter/SkSL (pas de #version, pas d'initialiseurs de tableau, pas de min/max/clamp entiers). Se déclenche lorsqu'un utilisateur colle ou lie un shader Shadertoy et souhaite le faire fonctionner dans Flutter, ou a un fichier .frag qui ne compile pas en raison de constructions Shadertoy restantes.
Rapport de test
A exécuté un portage réel du shader standard Shadertoy 'hello world' cosine-palette : la ligne de base (sans compétence) a conservé une directive #version et les noms d'uniformes gl_FragCoord/iResolution/iTime, que le compilateur Impeller de Flutter rejette ou ne fait correspondre silencieusement que conformément aux propres documents de Flutter ; la sortie de la compétence a supprimé #version, ajouté l'inclusion flutter/runtime_effect.glsl, et renommé en uSize/uTime/FlutterFragCoord() conformément à ses règles de liaison documentées — une différence concrète de compilation ou non, pas seulement de style.
Testé le: 2026-07-15 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/FlutterFlow/shadertoy_to_flutter_skill mkdir -p ~/.claude/skills cp -r shadertoy_to_flutter_skill ~/.claude/skills/shadertoy-to-flutter
Commandes et exemples de prompts
/shadertoy-to-flutterPorte les shaders GLSL de Shadertoy dans des fichiers .frag Flutter qui compilent et se chargent réellement.
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Can you port this Shadertoy shader into a working Flutter fragment shader?My .frag file won't compile in Flutter, it still references iResolutionConvert this GLSL mainImage function into Flutter's FragmentProgram API