The Scene Composition Protocol (SCP) specifies how a 3D scene is transferred between nodes over the peer-to-peer network and assembled into the Scene Hierarchy a node renders.

Model#

A world is modeled as a hierarchy. Each level has its own coordinate system and a transform mapping a contained coordinate system into its container. Parameters may carry higher-order derivatives — e.g. a point’s position may also specify velocity and acceleration so motion can be extrapolated between updates.

Core element classes (the Gargontology defines the full schema):

  • Point / Vertex
  • Line, Curve, Polygon
  • Mesh
  • Image
  • Affine Transform (position, rotation, scale)
  • Rotation

Transport#

SCP is carried by two stream kinds — a Structural Stream for slowly-varying structure and a Parameter Stream for quickly-varying values — both expressed in JSON-3D and delivered over the Web Stream Message Protocol using log semantics on Helia / IPFS pubsub.

See also#