Generative Art Operations

SkillAI & models

Generative art programming - three.js scenes, p5.js sketches, SVG generation, GLSL shaders, procedural algorithms, and color for creative coding. Use for: generative art, creative coding, three.js, p5.js, SVG, GLSL, shader, noise, perlin, simplex, flow field, particle system, SDF, ray marching, procedural, L-system, voronoi, delaunay, cellular automata, wave function collapse, instanced mesh, post-processing, bloom, WebGL, canvas, fragment shader, vertex shader, FBM, domain warping.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Generative Art Operations skill

What this skill tells your AI

The instructions your AI receives, as published by 0xdarkmatter/claude-mods in skills/genart-ops/SKILL.md and read by ahel’s review.

Practical patterns for creative coding and generative art. Covers three.js, p5.js, SVG generation, GLSL shaders, procedural algorithms, and color theory for computational aesthetics.

Color-ops handles CSS color, accessibility, and design tokens. This skill focuses on generative/procedural color techniques (palette algorithms, shader color, gradient interpolation in perceptual space).

Application/game-scale three.js — GLTF asset pipelines, AnimationMixer, fixed-timestep game loops, physics (rapier/cannon-es), react-three-fiber, instancing/disposal at scale — is threejs-ops. This skill owns the creative/shader side of three.js.

The detailed code, technique walkthroughs, and parameter tables live in the references below. This body holds the decisions: which surface, which algorithm, which color space, in what order.

Workflow & tool selection

Pick the rendering surface first — it determines everything downstream:

GoalSurfaceReference
2D sketches, fast iteration, teachingp5.js (Canvas2D or WebGL)p5-sketches
3D scenes, camera, lighting, post-processingthree.jsthreejs-scenes
Per-pixel fields, full-screen shaders, ray marchingraw GLSL / WebGL fragmentglsl-shaders
Resolution-independent vectors, plotter/printSVGsvg-generation

Then generate content (CPU) and colorize it (perceptual space):

NeedAlgorithm familyReference
Organic texture, terrain, marblenoise (value/simplex/FBM/domain-warp)procedural-algorithms
Even point distributionPoisson diskprocedural-algorithms
Trees, fractals, self-similar curvesL-systemsprocedural-algorithms
Emergent motion/patternsflow fields / cellular automataprocedural-algorithms
Space partitioningVoronoi / Delaunay (d3-delaunay)procedural-algorithms
Tile worlds with adjacency ruleswave function collapseprocedural-algorithms
Palettes, gradients, harmoniesOKLAB / OKLCHcolor-and-palettes

Order of operations: surface → generators → color. Determinism = seeded RNG (alea) + no per-frame Math.random() inside the field/particle loop.

1. Three.js scenes

Creative/shader-side scaffolding: minimal scene + camera + renderer (ACES tone mapping, responsive resize), the 2026 THREE.Timer animation loop (auto-pauses on tab switch), OrbitControls (damping requires update() per frame), a three-point lighting rig (key/fill/rim + ambient), bloom via EffectComposer (OutputPass always last — it owns tone mapping), InstancedMesh for 10k+ particle/mass-geometry systems with per-instance color, and a custom ShaderMaterial template (uTime/uResolution/uMouse uniforms). Full code in references/threejs-scenes.md.

2. p5.js sketches

Mode selection drives everything: global (one sketch, fastest path to pixels), instance (multiple sketches per page, module isolation), WebGL (3D, lights, orbitControl). Plus custom GLSL via createShader, loadPixels/updatePixels per-pixel manipulation, and recording/export — PNG frame sequences, SVG output (p5.js-svg), and canvas-sketch for high-res Canvas2D + MP4 streaming. Full code in references/p5-sketches.md.

3. SVG generation

Resolution-independent vector output. Programmatic construction (createElementNS + XMLSerializer), the full path-command reference (M/L/H/V/C/S/Q/T/A/Z, absolute + relative), generative patterns (organic blobs via smooth closed cubic paths, line hatching), generative SVG filters (feTurbulence / feDisplacementMap / feDiffuseLighting), SMIL + CSS animation, and SVGO optimization (preserve viewBox, drop dimensions for responsive output). Full code in references/svg-generation.md.

4. GLSL shaders

The GPU fragment-shader toolbox: standalone WebGL boilerplate (fullscreen quad), common uniforms, hash/random functions, value / simplex / Worley noise, FBM, domain warping (single + double, Inigo Quilez), 2D & 3D SDF primitives, boolean / smooth / transform SDF operations, a full ray-marching template (normal estimation + lighting), and cosine-palette color blending. Full code in references/glsl-shaders.md. Several of these (noise, FBM, domain warping) have CPU/JS counterparts in procedural-algorithms — pick the surface, then reuse the math.

5. Procedural generation algorithms

CPU-side recipes in JavaScript: Perlin/simplex noise (simplex-noise + alea seeding), FBM, domain warping, ridged noise, flow fields (with particle drivers), Poisson disk sampling, L-systems (trees / Koch / Sierpinski / dragon), Conway's Game of Life, Voronoi/Delaunay via d3-delaunay (+ Lloyd relaxation), wave function collapse (simple tiled), terrain from noise octaves (+ biome classification), and seamless toroidal tiling. Full code in references/procedural-algorithms.md.

6. Color & palettes

OKLAB/OKLCH conversion (both JS and GLSL — the perceptually-uniform basis for everything here), cosine palettes (Quilez presets), OKLCH palette generators (even-hue, analogous, warm/cool), gradient interpolation in perceptual space (OKLCH with shortest-hue path, multi-stop), color cycling (phase-shifted per element), and harmony rules (complementary / analogous / triadic / split-complementary / tetradic). Full code in references/color-and-palettes.md.

Quick Reference: Noise Algorithm Comparison

AlgorithmDimensionCharacterCostUse Case
Value noiseAnyBlocky, grid artifactsCheapQuick prototypes
Perlin (gradient)AnySmooth, directionalMediumClassic terrain, clouds
SimplexAnySmooth, isotropicMediumDefault choice, fewer artifacts than Perlin
Worley (cellular)AnyCell-like, organicExpensiveStone, water, cells
FBMAnyFractal detailN * baseTerrain, clouds, organic shapes
Ridged FBMAnySharp mountain ridgesN * baseMountains, lightning
Domain warping2D+Swirling, marble-like3-9x baseMarble, smoke, alien landscapes

Quick Reference: Libraries

TaskLibraryInstall
Noisesimplex-noisenpm install simplex-noise
Seeded randomaleanpm install alea
Voronoi/Delaunayd3-delaunaynpm install d3-delaunay
3D enginethreenpm install three
2D canvasp5npm install p5
Canvas exportcanvas-sketchnpm install canvas-sketch
Video exportccapture.jsnpm install ccapture.js
SVG optimizesvgonpm install -g svgo
Colorculorinpm install culori
Shader libraryLYGIA#include from lygia.xyz

Bundled references

ReferenceLoad when
threejs-scenes.mdScaffolding a creative three.js scene — scene/camera/renderer, Timer loop, controls, lighting, bloom, InstancedMesh, ShaderMaterial
p5-sketches.mdp5.js global/instance/WebGL modes, custom shaders, pixel manipulation, recording/export
svg-generation.mdProgrammatic SVG, path commands, generative patterns, filters, animation, SVGO
glsl-shaders.mdGLSL boilerplate, hash/noise, FBM, domain warping, SDFs, ray marching, palette blending
procedural-algorithms.mdJS procedural recipes — noise, flow fields, Poisson disk, L-systems, CA, Voronoi, WFC, terrain, tiling
color-and-palettes.mdOKLAB/OKLCH conversion (JS+GLSL), palette generation, perceptual gradients, cycling, harmonies

See Also

  • color-ops - CSS color, accessibility, design tokens, palette scripts
  • javascript-ops - JS async patterns, modules, ES2024+ features
  • Book of Shaders - GLSL fundamentals
  • Shadertoy - Live shader playground
  • Inigo Quilez articles - SDF, noise, ray marching
  • LYGIA - Cross-platform shader library
  • Red Blob Games - Procedural generation algorithms

Signals

GitHub stars
36
Forks
5
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
genart-ops
Source
github.com/0xdarkmatter/claude-mods