Skip to main content

ADR-009: Hot Reload for Plugins

Status

Accepted

Context

Developers need rapid iteration without restarting VR session.

Decision

Implement hot reload for both native and WASM plugins.

Consequences

Positive

  • Better developer experience
  • No VR interruption
  • Faster iteration

Negative

  • Complex state management
  • Potential instability

Alternatives Considered

  1. Restart required: Poor UX
  2. WASM-only hot reload: Limits native plugins

Implementation

Plugins expose a state serialization interface. On reload:

  1. Serialize current state
  2. Unload old plugin
  3. Load new plugin version
  4. Deserialize state
  5. Resume operation

File watching triggers automatic reloads in development mode.