Skip to content

enuzzo/prtcl

Repository files navigation

PRTCL

React Three.js TypeScript MediaPipe License

GPU-accelerated particle effects you can drop into any website. Pick a preset, twist a few sliders, copy the snippet. Elementor, Webflow, Next.js, React, plain HTML — it doesn't care. Your friends will think you understand 4D stereographic projections. You don't. Neither do I. But the particles don't know that, and they look incredible anyway.

PRTCL editor — Fractal Frequency effect with 20,000 particles

22 built-in effects across 4 categories. Real-time sliders. Bloom post-processing. Volumetric raymarching. Legacy WebGL oddities preserved in glass boxes. Fluid holographic shaders. Smooth morph transitions. Hand tracking via webcam. Audio reactivity. Adaptive quality so your GPU doesn't cry. Zero accounts, zero backend.

prtcl.es


Quick Start

git clone https://github.com/enuzzo/prtcl.git
cd prtcl && npm install
npm run dev

Open localhost:5173. That's it.

npm run build        # Production build
npm run preview      # Preview build
npx vitest run       # Tests
npx tsc -b           # Type check

How It Works

Effects are JS function bodies compiled at runtime via new Function(). Each one gets a particle index, a Vector3 target, a Color, elapsed time, and an addControl() function for declaring sliders. User code is sandboxed through static analysis, dry runs, and NaN guards before it touches the GPU.

The render loop pre-allocates everything and reads state via Zustand's getState() — zero React re-renders at 60fps. Adaptive quality scales between 5k–30k particles automatically.

Bloom is engine-level via @react-three/postprocessing — effects opt in with bloom: true. ACES tone mapping when active. Disabled on mobile. Zero overhead when off.

Custom renderers let effects break free from the particle system entirely. Inside Nebula uses volumetric raymarching on a BackSide BoxGeometry. Iridescence wraps a fluid holographic domain-warping shader on a SphereGeometry with Fresnel shading. The Spirit preserves Edan Kwan's original MIT-licensed piece through an isolated legacy Three.js renderer, because some apparitions should not be domesticated. Volumetric Flow does the same for David Li's plume, now wired into the PRTCL panel with native share support and dedicated Flow presets. All four run outside the standard particle path.

Hand tracking uses MediaPipe Hands WASM (~4MB, lazy-loaded). Open palm controls camera orbit and zoom. Disturb mode lets your hand pass through the particle cloud. The Spirit is the exception: in Control mode the camera stays put and your palm puppeteers the apparition itself, which politely returns to center when tracking drops. All inputs are smoothed. It works better than it has any right to.

Some effects now ship with curated presets inside the control panel, not just baked defaults in code. The Spirit and Axiom currently expose Default and Melito, each applying a full bundle of camera, zoom, background, particle settings, and effect controls in one click. Volumetric Flow now does the same with Bloom and Original, while still exposing direct controls for particle size, plume width, speed, turbulence, and its internal color trio. The moment you start tweaking, the preset quietly becomes Custom, because lying to artists would be rude.

The Spirit also behaves like its own little haunted subsystem: it uses an internal background color instead of the global scene backgrounds, exposes a separate palette dropdown, and splits Floor Shadow from Inner Shadow so the shadow on the ground can be art-directed independently from the self-shadowing inside the cloud.


Effects

Category Effects
Math Fractal Frequency, Hopf Fibration, 4D Clifford Torus, Electromagnetic Field, Perlin Noise, Hyperflower
Organic Nebula Organica, Inside Nebula, Cumulonimbus Storm, Fireflies, Murmuration
Text Text Wave, Text Scatter, Text Dissolve, Text Terrain
Abstract Starfield, Black Hole, Axiom, Paper Fleet, Iridescence, The Spirit, Volumetric Flow

Credits

Inspired by particles.casberry.in by CasberryIndia. Several presets adapted from community contributions.

Effect Credit License
Hopf Fibration, Black Hole, Cumulonimbus Storm, 4D Clifford Torus CasberryIndia MIT
Fractal Frequency Gabi MIT
Inside Nebula Sabo Sugi — volumetric raymarching nebula MIT
Iridescence Sabo Sugi — fluid holographic shader MIT
The Spirit Edan Kwan — original MIT-licensed effect, preserved here through an isolated legacy renderer with explicit author credit retained in the repo MIT
Volumetric Flow David Li — original volumetric particle plume, preserved through an isolated legacy WebGL renderer with native PRTCL controls layered on top MIT
Perlin Noise Victor Vergara — GLSL Perlin displacement, Perlin noise by Stefan Gustavson MIT
All other effects PRTCL Team MIT

Built with React Three Fiber, drei, postprocessing, Tweakpane, MediaPipe Hands, and the vibemilk acid-pop theme.


License

MIT — © 2026 Netmilk Studio. Use it, fork it, embed it in your client's Webflow site and charge them for it.


Built with too many lerp alpha constants and the unwavering belief that raymarching a volumetric nebula inside a particle editor is a perfectly reasonable thing to ship.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors