Launching today
GSS - GPU Style Sheets
Write 3D scenes in CSS, compiled to one GPU shader
10 followers
Write 3D scenes in CSS, compiled to one GPU shader
10 followers
GSS is a 3D language for people who already speak CSS. Declare shapes in a @scene, style them with selectors, the cascade, custom properties, and @keyframes, and the compiler turns it all into a single raymarching shader (GLSL for WebGL2, WGSL for WebGPU). No Three.js, no meshes, no UVs. Drop a tag on any page, or try it live in the playground. Open source, Apache 2.0.












































really cool! Curious how far you plan to push the CSS metaphor, like could I just drop a <gss-scene> into an existing Tailwind site and have it pick up my design tokens?
@louislecat Thanks for asking! I've seen online that some community members already plan to give a try to a "TailwindGSS" project!
But yeah, ideally, on a future version, if you get a file containing your design tokens, they could be usable directly within your .gss file.
> How far you plan to push the CSS metaphor
As far as possible, however, there's one thing to keep in mind: I'd rather avoid confusing people. Especially newcomers in the CSS space. So I need to proceed with care while making the project and syntax evolve!
Just insanely impressive!
@samdotb Thank you, Samuel. Really glad you like it.
The community seems to like it as well; I've put a lot of love and effort into it. I've rebranded numerous times; it was first called VSL - Visual Style Language, then CSL - Cascading Shader Language, and finally ended up with GSS!
My first attempts especially failed, then I sat down for real, defining the base of the AST, the compiler, and the decisions to take to make this language a reality, and I've co-worked with Claude to push this idea to its current state!
As for why it exists, I've always been bugged by the fact that I wanted to write shaders & 3D scenes. GLSL is a language I simply cannot wrap my head around, and sometimes I felt like using ThreeJS for a small shader rendering was way too much.
So I'm happy that I've finally found the best way (for me, and apparently others) to write my 3D scenes with a syntax I can read and apprehend much better!
Please let me know what you think and if you have any feedback!