CozyECS · GPU particles

Every particle is an ECS entity with Position and Velocity. One JavaScript kernel moves them, on the CPU or as a WebGPU compute shader.

Run the kernel on
Particles
–frames per second
–main-thread ms / frame
–entities
–kernel backend
–entity memory (RAM)
–bytes per entity

–

–

Main-thread time is what the simulation costs your game loop. On the GPU the work runs in parallel and the particles are drawn straight from the kernel's buffer, so they never travel back to JavaScript.

Components
Position { x: f32, y: f32 } Velocity { vx: f32, vy: f32 }
Archetype table · Position + Velocity
–
Systems · world.update() tick 0
  1. particlesupdate–
    kernelSystem
  2. watchrender–
    reads 5 entities
  3. renderrender–
    WebGPU draw
Watched entities
entityxyspeed
Drag anywhere to pull the particles