Hassle free GLSL I've been working on a new library to compose GLSL shaders . This is part of a side project to come up with a composable and incremental way of driving WebGPU and GPUs in general. #pragma import { getColor } from 'path/to/color' void main() { gl_FragColor = getColor(); } The problem seems banal: linking together code in a pretty simple language. In theory this is a textbook computer science problem: parse the code, link the symbols, synthesize new program, done. But in practice it's very different. Explaining why feels itself like an undertaking. From the inside, GPU programming can seem perfectly sensible. But from the outside, it's impenetrable and ridiculously arcane. It's so bad I made fun of it . This might seem odd, given the existence of tools like ShaderToy: clearly GPUs are programmable, and there are several shader languages to choose from. Why is this not enough?…