Skip to main content
  • Binding occurs at session.open; a non-shared embodiment already bound elsewhere yields AWP_EMBODIMENT_UNAVAILABLE. [AWP-EMB-001]
  • On session close or reconnect-window expiry, the world MUST release the embodiment after it has entered its declared safe state (safety_policy.safe_state.behavior, e.g. hold, safe_stop, park). Safe-state entry itself is triggered earlier, by the watchdog (AWP-SAF-003/004), not by window expiry; release is the last step. [AWP-EMB-002]
  • Transfer. Worlds MAY support handoff: the receiving session calls session.open with takeover: true and a transfer token minted by the current holder via session.transfer. In-flight actions transition to preempted. [AWP-EMB-003]
  • Observer sessions. A session with no embodiment binds observation grants only; action submission returns AWP_FORBIDDEN. [AWP-EMB-004]
  • Multiple embodiments per session are permitted when they share a multi_bind_group in the manifest; session.open then names them in embodiments (instead of embodiment) and every action submission carries embodiment_id. Binding embodiments from different groups in one session MUST be rejected with AWP_EMBODIMENT_UNAVAILABLE. [AWP-EMB-005]