0.1.7 • Published 6 years ago

partican v0.1.7

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

Partican

A React component for a WebGL GPU Particle System organized as a series of beizer lines.

Description

A pure WebGL component where each particle belongs to a bezier line between two points. The component can contain any number of lines. The number of particles in each line is determined by the ratePerSecond property. The animation interval is assumed to be 1 second.

The component contains internal state of the previous rate. This allows the rate to be adjusted smoothly, with the previous set of particles animating out of the system before the next arrives.

Installation

Assuming you're using webpack or browserify:

npm install partican

Package comes with types built in (it's written using TypeScript).

Live demo at joewood.github.io/partican

Properties

PropDatatypeDescription
style:Style...
style.backgroundColorstringBackground Color of the canvas
style.heightnumberSize of the Graph, pixels
style.widthnumberSize of the Graph
animatebooleanAnimate Graph
particleStyleParticleStyleDefault properties applied to each line's particles
particleStyle.variationMin?numberThe minimum width of the Edge for random dispersal (default -0.01)
particleStyle.variationMax?numberThe maximum width of the Edge for random dispersal (default 0.01)
particleStyle.color?stringColor of the particle (or color at starting position)
particleStyle.endingColor?stringColor of the particle at the target position (optional, defaults to starting color)
particleStyle.roundess?numberRoundness of particle range 0..1 - 1 being circle, 0 being square
particleStyle.size?numberSize of the particles (range 1..20)

Child ParticleEdge Propertes

PropDatatypeDescription
ratePerSecondnumberHow many particles animating per second through the edge
nonrandombooleanUse regular particle points evenly dispersed on the timeline
p0, p3{x,y}Origin and terminator of the line
p1?, p2?{x,y}Cubic bezier control points (optional)
particleStyleParticleStyleDefault properties applied to each line's particles
particleStyle.variationMin?numberThe minimum width of the Edge for random dispersal (default -0.01)
particleStyle.variationMax?numberThe maximum width of the Edge for random dispersal (default 0.01)
particleStyle.color?stringColor of the particle (or color at starting position)
particleStyle.endingColor?stringColor of the particle at the target position (optional, defaults to starting color)
particleStyle.roundess?numberRoundness of particle range 0..1 - 1 being circle, 0 being square
particleStyle.size?numberSize of the particles (range 1..20)
0.1.7

6 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago