Repository navigation
Description
Part of the worlds design program: #5955. Wave-2 follow-up from the prior-art research (Lane B item 41); parent topic issue: #5970. Research source: workspace/scratch/worlds-capabilities-brief-2026-11-04/prior-art-research.md.
Scope
GLSL fragment shaders in the Shadertoy format (mainImage(fragColor, fragCoord) + iChannel inputs) are the de facto portable shader unit; WGSL is the emerging WebGPU counterpart. No cross-engine standard exists — so worlds should treat shaders as data in a named format with declared inputs, gated by the cost-ranking system (sibling follow-up under #5955), not as code in the world language. This also answers #5970's open question — do user shaders go through the user-function compile/trust pipeline? — with: no; they are data assets with a declared input surface, and their effect is bounded by the presentation layer.
- Format v1: Shadertoy-compatible GLSL unit + declared inputs (which asset parts it may read/transform).
- WGSL track: when it lands, a second format name, not a conversion promise.
- Licensing hooks: a shader upload carries the standard license tag (licensing children of id: design program: worlds — advanced Roc libraries, capabilities, permissions, dynamic user functions, licensing (2026-11-04 brief) #5955). Note the cautionary precedent from the licensing research: Shadertoy's own default for user shaders is CC BY-NC-SA 3.0 — defaults become the de facto license of the whole corpus.
Done looks like
A format spec (unit shape, input declarations, format registry) the presentation layer can implement.
Activity
developing-today commentedon Nov 5, 2026
CODE-1679
47 remaining items
dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off