Skip to main content

ADR-004: Overlay Process Isolation

Status

Accepted

Context

VR overlays need to be reliable and resilient. A crash in one overlay should not affect others or the main dashboard. We need process isolation with efficient communication.

Decision

Each overlay runs in its own process with:

  • Shared memory IPC for frame data
  • Process monitoring and automatic restart
  • Resource isolation and limits
  • Independent failure domains

Consequences

Positive

  • Crash isolation - one overlay failure doesn't affect others
  • Better security through process boundaries
  • Easier debugging of individual overlays
  • Can use different runtimes/languages per overlay

Negative

  • Higher memory overhead
  • IPC complexity
  • Process management complexity
  • Need health monitoring infrastructure

Implementation

  • Process manager in main dashboard
  • Health monitoring via IPC heartbeats
  • Automatic restart with exponential backoff
  • See Overlay Process IPC