LukyVj / GSS
git clone https://github.com/LukyVj/GSS.git
v0.0.6 · 13d ago
❴ ● ❵ GSS — GPU Style Sheets. A CSS-like language for 3D scenes: selectors, the cascade, nesting, keyframes and transitions, compiled into one raymarching shader for WebGPU and WebGL2. No Three.js, no meshes. Playground, VS Code extension, and a <gss-scene> tag for any page.
+5
stars, 24h · #5,768
+~16
stars, 7 days · #9,085
+116
stars, 30 days · #6,228
116
★ total · +16% this week
6
forks · 0 open issues
Star history (as recorded here)
LanguageTypeScript
LicenseApache-2.0
Created2026-09-29 (23d ago)
Last push1d ago
Watchers1
OwnerUser
GitHub topics
Links
- GitHub: github.com/LukyVj/GSS
- Homepage: https://www.gss-lang.dev
- Releases · Issues · Hacker News mentions
README excerpt
Style sheets for the GPU. 3D scenes written in CSS, compiled into a single shader for WebGL2 and WebGPU. Website · Playground · Reference --- GSS (GPU Style Sheets) is a 3D language for people who already speak CSS. Declare shapes in a `@scene`, style them with selectors, and the compiler turns it all into one raymarched shader. No Three.js, no meshes. [code] ## Documentation - Getting started: why GSS, and your first scene. - Installation: a tag, npm or Vite; WebGPU, TypeScript and the editor. - Every page: each at-rule, selector, shape, property and function, with examples. The same pages, with every example to edit live: gss-lang.dev/docs. ## What it can do - **Selectors and the cascade**: classes, ids, combinators, `:hover`, `:has()`, `:nth-child()`, nesting. - **Shapes**: `cube`, `sphere`, `torus`, `cylinder`, `cone`, `capsule`, `path`, `prism`, `lathe` and more. - **Materials**: `matte()`, `metal()`, `glass()`, `jelly()`, `emissive()`, `iridescent()`, and textures. - **Motion**: `@keyframes`, `transition`, scroll-driven animations, `offset-path`. - **Values**: `calc()`, `var()`, `@property`, `random()` and the CSS color functions. - **Effects**: gradients, noise, masks, blur, bloom and grain. - **The scene**: floor, background, lights, fog, shadows and an orbit camera. - **Responsive**: `@media`, `light-dark()` and `if()`. ## Install **A tag**, no build step: [code] **npm**: [code] [code] **Vite**, compiled at build time: [code] WebGPU, TypeScript and the editor: see Installation. ## Tools - **Playground**: a live editor, errors under their line, the generated GLSL and WGSL, export to Shadertoy. - **Reference**: searchable, one live example per entry. - **VS Code**: highlighting, formatting and snippets. `code --install-extension lukyvj.gss-language` ## Status 0.0.6, early: the syntax may still change. See the changelog. ## Contribute Bugs and ideas: issues or @GSS_lang. Pull requests are welcome. [code] Before a pull request, read the contributing guide: where things live, and which branch to start from. ## License Apache 2.0.