# Noisemaker Noisemaker is an open source shader framework for humans and coding agents building expressive, extensible visual tools in the browser. It supports WebGL2 and WebGPU, a high-level Polymorphic DSL, declarative effect definitions, portable effect packages, external media/audio/MIDI inputs, and CDN-distributed shader bundles. Use this file as the short public map. For a fuller agent-oriented overview, read `/llms-full.txt`. ## Primary Links - [Homepage](https://noisemaker.app/): Product overview and demos. - [Shader demo](https://noisemaker.app/demo/shaders/): Interactive effect browser and DSL editor. - [Docs](https://docs.noisemaker.app/): In-house documentation root. - [Source](https://github.com/noisefactorllc/noisemaker): Noisemaker repository. ## Core Documentation - [Shader integration](https://docs.noisemaker.app/shaders/integration/): Embedding `CanvasRenderer` from the CDN or local bundles. - [Shader specs](https://docs.noisemaker.app/shaders/specs/): Effect format, Polymorphic DSL, pipeline, compiler, and effect reference. - [Pipeline spec](https://docs.noisemaker.app/shaders/pipeline/): DSL to render graph, resource allocation, and GPU dispatch. - [Language spec](https://docs.noisemaker.app/shaders/language/): Polymorphic DSL syntax and semantics. - [Effect definition spec](https://docs.noisemaker.app/shaders/effects/): Effect definitions, namespaces, tags, globals, textures, and passes. - [Release process](https://docs.noisemaker.app/releases/): CDN pinning, immutable patch releases, and release channels. ## Agent Tooling - [shade-mcp](https://github.com/noisefactorllc/shade-mcp): MCP server for effect search, source search, compile, render, metrics, parity, and structure checks. - [portable](https://github.com/noisefactorllc/portable): Portable effect package format with definition JSON, help docs, GLSL, WGSL, and viewer. ## Demos - [Noisedeck.app](https://noisedeck.app): A comprehensive UI that fully exercises Noisemaker. - [Layers](https://layers.noisefactor.io): A non-destructive layer-based image and video clip editor built on Noisemaker. - [Demos](https://demos.noisemaker.app): Noisemaker demos, ports, and source adapters. ## Notes For Agents - Polymorphic DSL is not GLSL or WGSL. - Effect paths such as `synth/noise` are not DSL function calls. - Effects should use internal textures for private state. User surfaces `o0` through `o7` belong to the composition graph. - Custom integrations can use `registerNamespace()` and the `user` namespace. - Portable effects use `definition.json`, `help.md`, GLSL, WGSL, and the Noisemaker DSL. - Validate generated shader work by compiling, rendering, checking metrics, and testing WebGL2/WebGPU parity when both backends matter.