Reality Layer Runtime / Berlin Field Preview

Beyond

The world has layers.

Beyond loads activatable Reality Layers exactly where they exist: Drops, Quests, Places, and partner objects rendered as Spatial Objects in one server-authoritative runtime.

01

Layer API

Social is only the first Layer. First-party Drops use the same public API external partners get: 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.partner.venue scene.enter
  • com.partner.creaturehunt interaction.ack
  • com.beyond.nearby object.updated
  • com.beyond.debug layer.published

02

Spatial Objects

Drops, Quests, brand moments, and navigation arrows 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.