lowpoly/fx
A particle system designer with a pixel-art stage: script emitters, forces and looks, drive them with sliders and modulators, and see the IR graph and generated kernels.
In early access for subscribers until 22 November 2026. Subscribe to run it now.
Subscribe →A particle system designer with a pixel-art stage. You write systems in a small JavaScript language (emit, spawn, update, look), and lowpoly/fx lowers them into an IR graph, optimises it and compiles one JavaScript kernel per system. Sliders and modulators change values live, without recompiling.
- Systems as recipes: emitters with rates, shapes and velocity cones; forces such as buoyancy, wind, gravity and curl noise; colour ramps, size curves and low-poly meshes with glow. A recipe is any function from system to system, applied with
.use(). - Live parameters and modulators: sliders, swatches and toggles from
params(), driven by LFOs, random signals, steps, envelopes, beats, sweeps or macros. Randomize, reset, or bake the current values into the code. - See the compiler: the IR graph tab shows every node by stage, Kernels shows the generated code with hoisted uniforms, and Passes lists lower, validate, fold, fuse, dce, schedule and codegen with their timings.
- Pixel looks: pixel sizes 1, 2, 3, 4 and 6, wobble, dither and CRT effects, orbit, and speeds from ¼× to 2×, with a live particle count per system.
- An assistant: opened on the site, it asks Claude, with your own account, to edit the script for you.
Seventeen presets come with it: Campfire, Fireworks, Twister, Fountain, Snow & aurora, Arcane orb, Confetti, Day & night, Neon rain, Volcano, Deep sea, Storm, Galaxy, Murmuration, School, Mod matrix and a Starter. Built with three.js, React and htm.