// the find
mrdoob/glsl-sandbox
Shader editor and gallery.
glsl-sandbox is the long-running community gallery for writing and sharing GLSL fragment shaders in the browser, backed by a small Go server. It's for people who want to fiddle with shaders live and publish a shareable, versioned page — think Shadertoy's older, simpler cousin.
Single static Go binary with SQLite, no external services to stand up — clone, build, run. Templates and assets reload on every request in dev, so editing gallery.html or the JS is instant feedback with no rebuild step. It has actual versioning: effects track a Version field and there's a dedicated diff view (diffview.js/diff.html) to compare shader revisions, which most shader playgrounds skip entirely. Release process is real — goreleaser plus a GitHub Actions workflow producing binaries, not just a raw go build.
All the frontend dependencies (jquery.js, codemirror.js, lzma.js) are vendored directly into the repo instead of pulled through any package manager, so there's no way to bump or audit them short of manually replacing files. Tests only exist on the Go side (store, thumb) — nothing covers the actual editor or gallery JS, which is most of the user-facing surface. SQLite is the only storage option with no documented backup or migration story, which is fine for a single hobby instance but a real risk if you're running this for a community. The README covers building and running the server but says nothing about how the shader compilation/preview pipeline works or how thumbnails get generated, so extending the editor itself means reading source cold.