---
gsd_state_version: 1.0
milestone: v3.0
milestone_name: Backglow Driver
status: executing
stopped_at: Phase 16 complete (code review iter 5, 0 critical / 1 warning / 5 info — polish only)
last_updated: "2026-04-20T00:00:00.000Z"
last_activity: 2026-04-20
progress:
  total_phases: 4
  completed_phases: 4
  total_plans: 11
  completed_plans: 11
  percent: 100
---

# Project State

## Project Reference

See: .planning/PROJECT.md (updated 2026-04-06)

**Core value:** SteamVR and OpenVR applications can detect when the Beyond 2 is on or off the user's head
**Current focus:** Phase 17 — avatar-prefab-and-reference-world

## Current Position

Phase: 17
Plan: Not started
Status: Phase 16 complete, ready for Phase 17
Last activity: 2026-04-20

## Performance Metrics

**Velocity:**

- v1.0 plans completed: 22
- v2.0 plans completed: 11

## Accumulated Context

### Decisions

Decisions are logged in PROJECT.md Key Decisions table.
Recent decisions affecting current work:

- [v3.0 research]: USB-first with Adalight binary protocol, WiFi/DDP fallback
- [v3.0 research]: Brightness ceiling (50/255 default) is non-negotiable safety requirement
- [v3.0 research]: VRChat bridge must be separate process (beyond_backglow_ctl.exe)
- [v3.0 research]: oscpp header-only library for OSC parsing (ISC license)
- [v3.0 research]: Dedicated writer thread -- serial I/O must never touch RunFrame

### Pending Todos

1. **Milestone 2.0 live IPD change and SteamVR slider** — `.planning/todos/pending/2026-03-23-milestone-2-0-live-ipd-change-and-steamvr-slider.md`

### Quick Tasks Completed

| # | Description | Date | Commit | Directory |
|---|-------------|------|--------|-----------|
| 260409-roi | Update installer for non-standard Steam installation locations | 2026-04-10 | 4b1281d | [260409-roi-update-installer-for-non-standard-steam-](./quick/260409-roi-update-installer-for-non-standard-steam-/) |

### Blockers/Concerns

- MagWLED-1 GPIO3 serial conflict: if WLED allocates GPIO3 for LED data, serial RX disabled. Validate with hardware in Phase 14.
- ESP32-C3 USB CDC baud rate framing at startup needs validation test in Phase 14.

## Session Continuity

Last session: 2026-04-19T13:48:12.369Z
Stopped at: Phase 16 context gathered
Resume file: .planning/phases/16-vrchat-osc-bridge/16-CONTEXT.md
