Adds the Velxio Pro subscription gate to the VS Code extension. Every
compile / run validates against `https://velxio.dev/api/pro/license/validate`
before proceeding; a 60-second in-memory cache avoids hammering the
endpoint during a tight compile/run loop. No offline mode by design —
the extension throws OfflineError on network failure rather than
caching a permission grant locally. For offline workflows users get
the desktop app (separate distribution channel).
New surface:
- `LicenseService` (src/LicenseService.ts) — secret-store-backed key
storage, validate, nonce-backed deep-link OAuth handshake,
OfflineError + EntitlementError taxonomy.
- `Velxio: Sign In` — opens velxio.dev/auth/vscode, returns
via vscode://velxio.velxio-simulator/auth.
- `Velxio: Paste License Key` — manual fallback for headless boxes.
- `Velxio: Sign Out` — clears the keychain entry.
- `Velxio: Show License Status` — plan + trial countdown modal.
- Status bar item: Sign in / Trial Nd / Pro / Trial ended with the
appropriate warning/error background colour.
- Setting `velxio.licenseApiBase` for staging overrides.
CHANGELOG.md + README.md added.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the Velxio VS Code extension skeleton with:
- Extension host: commands (Open/Compile/Run/Stop/Select Board),
WebView panel with postMessage bridge, FastAPI backend manager,
velxio.toml + diagram.json config parser, file watcher, serial
pseudo-terminal
- WebView: placeholder React app with board display and serial
monitor, ready for wiring to the real simulation engines
- Build system: esbuild for extension (94KB), Vite for webview (198KB)
- Wokwi-compatible diagram.json schema for future import support
Based on reverse-engineering of the Wokwi VS Code extension (v3.5.0).
Key differentiator: Velxio runs simulation 100% locally (avr8js/rp2040js
in WebView, QEMU for ESP32) vs Wokwi's cloud iframe approach.
Refs #4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>