xra1

RFC 0004: Relation types + runtime semantics

Summary

SPEC v1.0 declares four relation types — parent-of, wire-binds, reacts-to-audio, tracks — but does not fully specify runtime semantics. This RFC pins the semantics + reference-implementation expectations so every v1.0-conformant runtime exhibits the same observable behavior.

Motivation

The pre-launch read-through 2026-04-22 (pre-launch audit, kept private) flagged that the SPEC’s “normative source of truth = running Portals runtime” claim is inconsistent with these four relation-type names appearing in runtime C# / TS code 0 times. Either:

Option (b) chosen. This RFC is the queue entry.

Relation semantics (normative draft)

Type Meaning Semantics at render time
parent-of Entity from is the transform parent of entity to Renderer MAY reparent to’s transform under from; at minimum must preserve the relation on round-trip
wire-binds Output property of from drives an input property of to (Portals Wire System) Runtime with Wire support invokes the reactive binding; runtime without MAY log + preserve
reacts-to-audio Entity to reacts to audio source from (amplitude, bands) Runtime with audio + VFX Graph bindings applies audio properties; others preserve
tracks Entity to tracks position/rotation of from (e.g. face / hand anchor) Runtime with tracking support applies the tracking; others preserve

Reference implementation plan

Parking lot

Acceptance criteria

References