Reality Layer Runtime / Berlin Field Preview

Beyond

The world has layers.

Leave Drops in real places and find the ones others left: text, images, and video rendered as Spatial Objects in one server-authoritative runtime.

01

Layer API

Drops are Spatial Objects of the Social Layer, built on one generic Layer model: manifest in, Spatial Objects out.

{
  "id": "com.beyond.social",
  "schema": "beyond.layer.manifest.v1",
  "objects": "spatial_objects",
  "capabilities": ["location:coarse"],
  "interaction": "server_ack"
}
  • com.beyond.social drop.created
  • com.beyond.social scene.enter
  • com.beyond.social interaction.ack
  • com.beyond.social object.updated
  • com.beyond.social layer.published

02

Spatial Objects

Text, image, and video Drops all live in one generic spatial model. No per-use-case tables, ever.

  • anchor.geo
  • anchor.plane
  • asset.glb
  • component.tap
  • status.approved

03

Scene Query

The runtime asks for a Scene around the viewer. The backend filters by status, distance, capabilities, and moderation before anything renders.

  • layer.status
  • object.status
  • distance.h3
  • capability
  • moderation
  • visibility
  • scene.fetch 24ms
  • filter.status ok
  • compose 12 obj
  • render 60fps

04

Server Ack

Clients report interactions; the backend or Layer server decides state. captured = true never originates on the client.

05

Capability Broker

Layers never touch camera, ARKit, or location directly. Declared, approved grants hand out minimized data — nothing more.

06

Kill Switch

Every Layer and object carries a status. Killed Layers vanish from the next Scene fetch and are pushed out over realtime.