Ten thousand in one draw call
Flocks, coasts and reefs are instanced and grown at once, rather than assembled object by object.
Hue draws · Priority three
The same maths as Hue Charts, one size up — ten thousand birds in a single draw call, coasts, reefs and skies grown live in the browser, with nothing underneath but WebGL2.
Flocks, coasts and reefs are instanced and grown at once, rather than assembled object by object.
Skies, water and terrain are computed as you watch, in the browser, with nothing underneath but WebGL2.
There is nothing to author in another tool and nothing to ship alongside. A coast, a reef or a sky is computed from a handful of parameters, so the world weighs what the code weighs.
Zero dependencies and no engine riding along. Nothing to keep in step with a framework upgrade, and nothing sitting between your scene and the GPU.
Flocks, forests and reefs are instanced, so ten thousand of a thing costs what ten of it costs. Growing a scene is not a rewrite — it is a larger number.
Geometry, light, water, weather, plants, creatures and the people among them, computed at run time from first principles. Each of the modules below is a body of maths in its own right — wave spectra, cloud optics, body proportions, gait, turf — and the surface is read from the package's own compiled types rather than described.
39 modules · 961 exported symbols
THE FRONT DOOR — deer(world), fox(world): one call, one living animal
fish, frogs, newts, reeds and lilies — the pond's own life
thirteen woodland birds, species as data
the light on a shallow floor, driven by the water's own waves
six species, each built its own way — no two clouds alike
animals GROWN from proportions — species as data
one current/wind field everything samples — leaves, kelp, fish, foam
separation/alignment/cohesion, so a school IS a school
leaves, grass, flowers — the vegetation vocabulary
skin, fur, cloth, shoes — the surface a creature wears
a nine-hole parkland course, askable by name
the small flying life, species as data
flower + grass SPECIES — the meadow, askable by name
made ways: routed, graded, draped, and walked
benches, vessels, stones — the human-made things
one place that knows how big a metre is
the sky as a composition: weather, perspective, drift
ground cover that is good at every distance
what THIS machine can draw — classify, then govern
tree SPECIES — the oak's proven recursion, species as data
serpentine lakes, their bed, their shore
ONE WEATHER: U10 in, everything derived — gusts, lean, deck wind
Modules and their exported symbols, counted from the package the TypeScript checker sees. Where the authors wrote a line about a module, it is theirs.
A world is grown, not loaded. There is no asset pipeline because there are no assets — no models, no textures, no atlases and nothing to download at run time — and nothing sits between the package and the browser's own graphics context.
Swept for every call form that would load, fetch or decode something, across the source and the shipped build alike. The detector is shown firing elsewhere in this repository before its zero here is reported.
These matches are the word fetch in the sense the sea uses it — the distance wind blows over open water — written in a note about wave physics. A call form written in a comment is a word match and not a finding, so the sweep counts the two apart and neither of them is a hit against the figures above.
The same 13 call forms fired on 24 of the 466 other files in this repository, so the zeros above come from a detector that finds something when there is something to find. 10 of the 13 are proven live that way.
The other 3 appear nowhere in this repository at all, so their zero rests on a form that has never had the chance to fire. They are named here rather than counted as proof.
It requires WebGL2
The engine asks the browser for a WebGL2 context and draws through it. There is no second renderer inside the package and nothing else between it and the graphics driver.
It says so when there is no context
Where the browser will not give one, the engine raises rather than drawing something else. What to show instead is your decision, made in your own code.
There is no fallback inside the package. It asks for a context, and where there is none it says so — the caller falls back, not the engine.
The scale
One flock, one draw call — the same mechanism that grows a chart from a seed, one size up.
And what it buys you
A scene is never a static export sitting on your page — it is live, and it can be handed new parameters and asked to regrow itself the moment they change.
Free. Then £100 a year once your organisation is over 25 people, or over £100,000 in annual turnover.
Install it and it runs on your own machines, against the GPU they already have. Nothing is metered and no call leaves your network.