Packages
Ten importable packages behind creator logic — collision, pathfinding, turn order, tracks and the rest. Each one has an API reference generated from its own source.
- 10 packages
- 147 documented items
- All at 0.1.0
Status: in development. This tier compiles and runs, but it is not yet reachable from the Creator Studio — you cannot publish a game with it today.
What these are
Creator logic runs as deterministic simulation code, and these ten packages are the parts of that job nobody should write twice. They are imported by name — @tiptap/collide2d, @tiptap/grid — and each one is a single primitive rather than a genre. There is a track package and a vehicle package and no racing package, because a running race wants a track without tires.
Most of them are extractions rather than new code — the collision primitives, the projectile pool, the turn timer and the rest already ran in the built-in modules and were moved out intact, with golden checksums holding them to it. Two are new: broadphase, because narrow phase is O(n²) and that gates anything with two hundred monsters in it, and grid, because a mutable tile bitmask is what makes destructible terrain possible at all.
The catalogue
Each link opens that package’s full API reference. The one-line summaries are the packages’ own; the item counts are read from the generated pages when this page is built, so they are whatever those pages actually document.
@tiptap/math7 documented itemsThe arithmetic everything else stands on.@tiptap/collide2d34 documented itemsThe 2D collision primitives.@tiptap/broadphase9 documented itemsWhich pairs are worth testing properly.@tiptap/projectiles7 documented itemsA fixed-capacity pool with time to live.@tiptap/actors13 documented itemsHealth, damage, resources, respawn timers, teams.@tiptap/platform11 documented itemsMoving platforms, and the arithmetic that makes them agree on every client.@tiptap/vehicle6 documented itemsContact between two things that point where they are going.@tiptap/track31 documented itemsA course, with nothing driving on it.@tiptap/turns7 documented itemsWhose go it is, and what happens when they stop taking it.@tiptap/grid22 documented itemsTile maps, and the things you can only do once terrain is data.
An undocumented public function does not appear on any of these pages, and so is not in any count above. That is deliberate: a bare signature under a heading makes a page look complete while telling a reader nothing, so a missing item is reported as a gap in the package rather than filled in with boilerplate.
Why there are two URLs for every package
Every package is published at both a moving address and a pinned one:
# whatever ships today
/packages/grid/latest.md
# this exact version, forever
/packages/grid/0.1.0.mdA game pins the packages it imports, and a pin has to keep meaning what it meant. If a game was built against [email protected] then 3.1’s reference must still exist and still be correct after 3.2 ships — the same immutability the published game code already has. So an old pin resolves to an old page, and a reader following a link from here gets the current one.
Right now every package is at 0.1.0 — they take one workspace version between them — and every pinned page is still byte-identical to its latest.md. They stop being identical the first time anything ships.
Nobody writes these pages
Package documentation is API reference, not prose. Every signature and every description on those ten pages is read straight out of the doc comment sitting beside the code in the crate, by scripts/gen-package-reference.mts. No human edits them, and there is no second copy of a signature anywhere for the first one to drift away from.
That rule is why this page has no signatures on it either, and why the counts and versions above are read out of the generated pages rather than typed. Everything you need to call a function lives on the package’s own reference — this index only helps you work out which one to open.
If you are an agent
These are ten separate documents on purpose. A game that imports two packages has no use for the other eight, and pulling the whole catalogue into a context window costs the room the game itself needs. Read this index, decide which packages the game actually uses, and fetch only those latest.md files.

