There are roughly three hundred systems and up to fourteen orbits in each. Almost none of them are in the database, and that is the design rather than a shortcut.
An orbit is generated from a seed derived from its own coordinate. 1:847:6 is always the same world, with the same lake in the same place and the same seam under the same ridge, whether or not any player has ever looked at it. Orbits cost nothing to store until somebody settles one, so the galaxy can be as large as the fiction wants and the database only holds what has been touched.
The part that had to be integer arithmetic
The server generates the same world the client draws. It has to: the server decides where a new colony’s first structures may stand, and the client draws the ground they stand on. If those two generators ever disagreed by one tile, an Extractor would be rendered on grass while mining an outcrop nobody can see.
Which rules out floating-point trigonometry in the noise. Math.sin is implementation-defined — the specification does not pin the last bits, and engines genuinely differ. A terrain hash built on it agrees between Node and Chrome, and then one tile flips in Safari, and the bug report says my Extractor produces nothing and reproduces on nobody else’s machine.
// integer arithmetic on purpose. see above.
// changing this to anything with a float in it is a
// cross-browser desync, not a refactor.
Fields, not quadrants
The first layout put forest in one corner, ore along one edge and a single lake at the bottom. That is a shape, and a shape is what a nine-tile plot needs. At sixty-one tiles it read as four stretched regions.
Surfaces are thresholded noise now, so a bigger world holds more woods and lakes rather than larger ones. Ore sits in the shoulder of the same field that makes crags, so seams are found at the edge of rough ground — which is a fact a player can learn and then use.
Measured over three hundred seeds: none fail to found a colony, and none land without ore in sight. That guarantee is what a clearing term in the noise is for, and it is the reason a new player never opens the game onto a world they cannot start on.
