Persistence

Base world is a function

At 1 m resolution an Earth-sized height map would have about 5·1014 samples. Ishtaria never stores it: base terrain is a pure function of (seed, position). Only deltas are stored.

Stores

Data

Store

Accounts, inventories, trades, currency ledger

PostgreSQL (with PostGIS for spatial queries)

Cell deltas, placed objects, aggregate cell state

PostgreSQL, indexed by H3 cell id (planned)

Avatars, content packs, large blobs

S3-compatible object storage, content-addressed

Current server implementation

The server connects to PostgreSQL and applies versioned SQL migrations embedded from its migrations/ directory before serving HTTP requests. World identities and imported PGM heightmap previews are persisted in the worlds and heightmaps tables. Imports are transactional; identical imports are idempotent and conflicting maps, seeds or rulesets are rejected.

The original PGM, decoded 8-bit samples and SHA-256 checksum are stored for byte-exact retrieval. This finite preview is not the full procedural planet. Accounts, the ledger, cell deltas and object storage remain unimplemented. Schema changes must be added as new migrations, not edits to applied files.

Economy ledger

Every transfer of currency or traded goods is a double-entry transaction: nothing appears or disappears without a matching entry. This is also what makes federated exchange auditable (see Items and economy across worlds).