Gargantis is a protocol, realised as a pure peer-to-peer network of homogeneous browser nodes. There is no central server: every node runs essentially the same software and is ephemeral — any node may leave at any time, and the architecture assumes this. A node that happens to stay online continuously can improve availability and discovery for others, but it is not privileged and must not be depended on — the architecture must hold with none. Data is kept across the ephemeral swarm by redundancy (erasure coding) and continuous repair; durability is probabilistic, and some loss is accepted by design (see Peer-to-Peer Network).
High-level design#
A node renders a hierarchical, dynamic scene assembled from many streams contributed by many peers. It subscribes only to the parts of the scene it currently needs — typically what is visible — and stops pulling data for realm partitions that are out of view. Spatial partitioning uses a Bounding Volume Hierarchy so a node can subscribe to “what is near me” rather than “everything”.
Scene data is content-addressed and transported over Helia / IPFS (libp2p transports + pubsub), replacing the legacy notion of servers multicasting to clients. State propagation follows the append-only log model: deterministic nodes that start in the same state and consume the same ordered inputs converge to the same state.
Components#
- Peer-to-Peer Network — membership, discovery, transport
- Node — the homogeneous browser participant
- Helia and IPFS — content addressing & data plane
- Scene Composition Protocol — 3D scene transfer
- JSON-3D — the scene/event interchange format
- Structural Stream — slowly-varying structure
- Parameter Stream — quickly-varying values
- Web Stream Message Protocol — replicated-log streams
- Game Loop — per-realm simulation step
- Gargantis Scout — the browser explorer