Pointillist
Divisionist Tree
2600 orange, blue, and magenta dots form a tree canopy using additive pixel-splat blending; dots vibrate with staggered sine-phase for optical color mixing.
canvasheavy complexitymoderate motion
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
Worth keeping?
Votes steer what gets built next — sign in to cast one, free to read
When to use it
Dark-background hero sections, generative art displays, nature or botanical themes needing ambient motion without interactivity.
When not to
Light backgrounds (dark navy hardcoded). Low-end devices — per-frame pixel loop over 2600 dots is CPU-bound.
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Change canopy palette to cool purples and greens: set PAL indices 0-2 to [160,80,220],[120,60,200],[80,40,180] and rerun. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- dot count cap (MAX=2600)
- palette colors (PAL array)
- vibration speed (t*1.4 and t*1.7)
- canopy radius (canopyR=S*0.34)
- lobe count and positions (lobes array)
- pulse amplitude (0.62 + 0.38*Math.sin)
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- additive splat pixel buffer (img/data pattern)
- IIFE wrapper
- reduced-motion static frameStatic() fallback
- visibilitychange pause/resume
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
Known limitations
- Per-frame pixel loop over up to 2600 dots — CPU-bound on low-end mobile
- Background color hardcoded to #0d0f14 in both CSS and BG array — must change both
- No interactivity — purely autonomous
More Pointillist components
- Dot AssembleThousands of colored dots scatter from off-screen and converge to paint a pointillist sunrise scene — hill, sky, and sun disc — then dissolve and loop.
- Pointillist ShimmerUp to 2600 colored dots optically mix to paint a pointillist riverbank at dusk — sky, water, and grassy bank zones shimmer via per-dot breathing sine waves.
- Pointillist SunsetA glowing sun sets over shimmering water rendered as colored dot lattices. Sky baked once offscreen; water dots animate with sinusoidal shimmer and sparkle.
- Stipple Flow108 colored dots drift along a curling sinusoidal flow field, leaving slow translucent trails that paint a sweeping diagonal arc with divisionist…
- Density WaveA density wave sweeps left to right revealing a Divisionist sunset — sky, sun disc, and sea rendered as jittered pigment dots that optically mix at distance.
- Halftone BloomColored dots bloom radially from center, optically mixing amber, magenta, and teal into a glowing flower. Slow ripple breathes through the dot grid.