product · the libraries

The libraries.

two packages, one idea — light, grown from maths

Generative Charts hands your data back as a chart that draws itself alive. Generative Engine takes the same maths all the way to whole living 3D scenes. Both are zero dependencies, both grow everything from maths rather than loading it — no textures, no models, no asset pipeline — and chart code runs on the engine unchanged. Free for personal, charity and small-business use.

the library · generative charts

Generative Charts.

hand it your data — it grows the chart

Give the library your numbers and it draws the chart alive — bars rise, lines sweep in, the ring opens. Inside one small package there are two renderers: a lightweight one that runs on anything, and a GPU one that goes richer — and the library picks for you, chart by chart, falling back gracefully so your page never breaks. The data, the labels, the clicks and live feeds are all handled. Free for personal, charity and small-business use.

Learn more — view the API →

what it does

Your data in; a living chart out.

the capabilities

  • Write the chart once — the same short recipe runs on either renderer; toggle 2D ↔ 3D live on any example below.
  • It picks for itself — the library checks what the browser can do, keeps a sensible budget, and quietly drops to the lightweight renderer when it must. A failed chart never takes your page down.
  • Live data built in — point a chart at a feed and it moves with it, smoothly.
  • Labels, axes, clicks — handled — your data in; a finished, interactive chart out.
  • Fast by design — it holds 60fps and trims its own quality before anything ever stutters. Our own maths means nothing loads, streams or bloats.
  • Zero dependencies — one small file. Nothing else to install, audit or update.
  • Poster frames — every chart window paints its own first frame as a still at page load, the live chart building only when watched: the placeholder-image pattern, built in.

under the hood

The hard parts, simply bypassed.

additive light on black — the maths does the work

  • No z-buffer — additive light on black commutes, so draw order can't lie; the depth machinery (most of what a renderer is) goes.
  • No transparency sorting — order-independent transparency, the classic engine nightmare, simply doesn't exist.
  • No bloom pass — overlapping light is bright on its own, for free.
  • No textures, no models, no asset pipeline — every chart is grown from maths, so nothing loads or streams.
  • No 3D-text engine — labels ride a synced 2D overlay.
  • No deferred lighting, no scene graph, no quality presets — a few per-pixel lights, re-declared each frame.

the collections

Pick a room.

19 businesses, six charts each — and one room beyond charts

Every collection is example code — short recipes you copy and make your own, each on both engines with live 2D/3D toggles, orbit, and copy-code. Start with Beyond Charts to see the engine off its leash: live streaming data and a street map that drives itself.

live · the engine off its leash

Beyond Charts

Not everything the engine grows has axes. A live metrics chart moving with its feed, a street map with a car that drives itself — and a laser light show that dances to music. Start here.

6 charts · both engines

Business & Finance

Trend line, columns, allocation ring, a cash-bridge waterfall, a treemap breakdown and a KPI dial.

6 charts · both engines

Science & Research

Scatter, error bars, surface, histogram, network and contours — four a flat library can't draw at all.

6 charts · both engines

Marketing & Growth

Conversion funnel, retention heatmap, a stage-breakdown treemap, traffic line, weekly columns and a conversion dial.

6 charts · both engines

Retail & E-commerce

Treemap, waterfall, category columns, channel donut, bullet vs plan and a revenue trend.

6 charts · both engines

Health & Medicine

Vitals waveform, box plot, distribution, cohort heatmap, risk dial and a vitals band.

6 charts · both engines

Sports & Performance

Radar profile, a 3D shot map, an attribute-spread box, form line, attribute columns and a form dial.

6 charts · both engines

Geography & Ocean

Relief map, choropleth, flow arcs, wind rose, contours and a city network — the set flat libraries give up on.

6 charts · both engines

Operations & Logistics

Gantt timeline, calendar heatmap, a cost-variance waterfall, throughput columns, a trend line and a capacity bullet.

6 charts · both engines

Energy & Climate

Generation-mix area, a climate field in contours, a mix ring, a demand heatmap, source columns and a capacity dial.

6 charts · both engines

Real Estate

Price map, listings-vs-sales trend, monthly volume, price-vs-size scatter, property mix and a sell-through dial.

6 charts · both engines

Education

Subject radar, grade distribution, score-spread box, attendance heatmap, graduation dial and subject columns.

6 charts · both engines

Government & Public Data

Budget treemap, population map, deficit-bridge waterfall, a spending heatmap, spending lines and an approval dial.

6 charts · both engines

Agriculture

Yield trend, yield map, crop-mix ring, rainfall contours, harvest columns and a land-use dial.

6 charts · both engines

Media & Streaming

Streams area, engagement funnel, retention heatmap, views-vs-completion scatter, completion dial and weekly columns.

6 charts · both engines

Transport

Volume area, hub-to-hub route map, modal-split ring, congestion heatmap, a hub network and an on-time dial.

6 charts · both engines

Demographics

A dot world map, the age-sex pyramid, age distribution, urban-rural ring, median-age dial and an income spread.

6 charts · both engines

Web Analytics

A world hits map, traffic area, sources ring, a source-mix treemap, weekly-hits columns and a conversion dial.

6 charts · both engines

Insurance

Premiums-vs-claims trend, loss-ratio dial, claims-mix ring, exposure map, claim-severity box and monthly columns.

6 charts · both engines

Telecom

Traffic area, churn dial, plan-mix ring, network topology, usage heatmap and a traffic-flow map.

the library · generative engine

Generative Engine.

from charts to whole living scenes

Everything Generative Charts knows, grown up into a real 3D engine. Build whole scenes the way you'd build a chart: hills from a spreadsheet, a city block from footprints, a molecule from a list of atoms — each a few lines of code — lit with real light and shadow, finished with a cinematic glow, and alive: forms breathe, bodies orbit, tissue pulses. Still zero dependencies, and chart code runs here unchanged. Free for personal, charity and small-business use.

Learn more — view the API →

what it does

Everything a scene needs, in a line.

the capabilities

  • Real light — shadows fall where they should, highlights glint, and the whole frame gets a cinematic finish (glow, soft shading, a filmic grade) — not a CSS filter.
  • Shapes in a line — hills from your data, tubes along a path, spheres, turned profiles, extruded footprints — the geometry library builds them, smooth shading included.
  • Ribbons — strokes with real width that live inside the scene: paths, trails, beams, waves.
  • Motion for free — blend one shape into another, move whole groups — the heavy lifting happens on the GPU, so nothing stutters.
  • Crowds of thousands — build one tree, one bird, one blade of grass and the GPU draws ten thousand: each swaying to its own wind, or flying in a murmuration that splits and merges.
  • Real water — the scene reflects in it, waves and all: birds overhead, trees on the bank, lights at dusk.
  • Figures that walk — skeletons grown from code: people, animals, your own rigs — knees, wings and tails moving on real joints.
  • Fly it — free-flight controls when a scene deserves exploring: drag to look, scroll to fly.
  • A living skin — blood, pulse and light-through-tissue, for when your subject is alive.
  • Zero dependencies — one package; the browser is the whole runtime.
  • Charts port forward — the engine speaks the charts API, so your chart recipes run here as-is.
  • Objectives — give a scene a goal and it drives itself there; a live meter tells you what's moving and when it has settled.
  • Collision control — flag a mesh collider: true and the world knows where it is: bounce off it, probe it, cast a beam that stops at the first thing it touches. Colliders ride their group transforms.
  • Poster frames — every window paints its own first frame as a still at page load, and the animation starts only when watched: the placeholder-image pattern, built in.

under the hood

The real machinery, in pure maths.

no textures, no asset pipeline

  • A real depth buffer — occlusion exact, always on, for solids and light alike.
  • An HDR post chain — the frame renders to a floating-point target: bloom, SSAO, a filmic tone map, FXAA. Opt-in flags, not defaults you fight.
  • Hardware-PCF shadow maps — real depth textures with comparison sampling; soft penumbrae for free.
  • GGX specular + procedural micro-relief — material response and surface grain computed in the shader — no textures, no normal maps, no asset pipeline.
  • Morphs & transforms in the vertex stage — the CPU never re-builds a vertex; motion is free.
  • Instanced animation in the vertex stage — per-instance wind phase and whole flight paths evaluated from time alone; crowds cost the CPU nothing.
  • A reflected second scene pass — real planar reflections clipped at the water plane, sampled through a wave-displaced fresnel surface.
  • Rigid skinning — one bone per vertex, matrices composed on the CPU (16 per figure), applied in the shader — scene, shadows and reflections alike.
  • Depth of field & motion blur — CoC gather from the real depth buffer; camera blur by depth reprojection into the previous frame.
  • Screen-space ribbon expansion — true pixel-width strokes, feathered in the shader.
  • WebGL2 · GLSL ES 3.00 · zero dependencies — no scene graph, no quality presets, one small package.

the showcases

Eight scenes, one idea each.

every capability, close enough to read

Each scene shows one thing the engine does, with the camera close enough to see it working: a moon gate weaving its own lattice, a ribbon dragon and its pearl, four hundred sky lanterns over real water, ink mountains in fog, a skeleton walking its lantern across a bridge, a ten-thousand-bird flock, and a universe you fly. Drag to orbit; go full screen. Everything is grown from code — no model files, no textures, no asset pipeline.

showcase 1 of 8

The moon gate.

Qing window-makers had an algorithm three centuries before code: split the biggest pane, again and again, until no two cells match. Here it runs as real recursion — sixty splits of a moon gate, every crack a depth-tested ribbon with true pixel width, the whole lattice casting a real shadow into the courtyard. Drag to orbit; the window sways as if hung.

冰裂纹 — cracked-ice lattice, grown by one rule

showcase 2 of 8

The dragon and the pearl.

The dragon chases the pearl, as it has on temple walls for a thousand years. The whole serpent is drawn fresh every frame — fourteen tapering ribbon strokes along a moving spine, golden at the head, ember at the tail — while the pearl pulses at the centre of the circle. Immediate-mode ribbons: geometry that exists only for the frame that needs it.

龙戏珠 — a serpent of per-frame ribbons

showcase 3 of 8

The lantern festival.

Four hundred paper lanterns, one lathe profile, one instanced draw — each rising on its own sway phase, each a warm point in the bloom, the whole festival reflected in real water below. The GPU carries every bob and flicker; the CPU sleeps.

天灯 — four hundred sky lanterns over water

showcase 4 of 8

The ink mountains.

Shan shui with a heightfield: ridge behind ridge dissolving into fog the engine computes per-fragment, a still lake at the valley floor, a lathe-turned pagoda keeping watch, and mist that drifts because a grow() hook says so. Atmosphere is not a texture — it is distance, honestly rendered.

山水 — ridges into fog, a pagoda on the spur

showcase 5 of 8

The night walk.

The skeletal walker, given somewhere to go: across a stone bridge over still water, carrying their own lantern — a real point light that moves with the figure, swings with the pace, and comes back in the reflection. Eleven bones bending in the vertex stage, shadows and water included.

a skeleton, a bridge, a lantern that travels

showcase 6 of 8

The murmuration.

Nothing but the flock: ten thousand birds in three lobes that split and merge, every orbit and every wingbeat computed in the vertex stage from time alone.

ten thousand birds, pure sky

showcase 7 of 8

Collision control.

New in 1.9.0 — collision control: the three stones register their bounding spheres with one flag (collider: true). Forty motes fall under gravity and collide() hands each one its contact normal to bounce off; the sweeping beam is rayHit() — it ends exactly where the world gets in its way.

rain that bounces, a beam that stops

showcase 8 of 8

The universe of universes.

The dreamer's cosmology, drawn live. At the centre, the dark that is held and never crossed — a black hole with its accretion fire. Around it, nine realms: each a bubble-universe born from a prompt (the prompt still floats above it), each with its own stars, its own hue, its own heart, all falling around the same gravity — the inner realms fast, the outer ones slow, as gravity insists. Drag to look, scroll to fly, W/A/S/D to move. Visit a realm; read its prompt on approach.

fly it — nine realms born from prompts, orbiting the dark

keep going

Now build yours.

the whole surface, door by door

You've just used the entire engine. Every door it has, one line each: the API reference — and the package is one install away: generative-engine on npm.