- tune.py: reject reversed/flat per-eye ranges and keep the previous config; recommend wink assist;
readiness check before recording; skip malformed trace lines
- module: invalid steamframe-config.json is not applied (last good config kept, configError reported);
neutral eyes when no source is fresh; trace written with invariant culture
- setup: sandbox mode leaves real SteamVR settings and firewall alone; block rules handled separately;
headset target only counts connected adapters
- headset-setup.sh: build a pinned, reviewed frameeyeosc revision and move existing checkouts to it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
VRCFaceTracking's Module Registry page crashes the app (WinUI 0xc000027b) when an
installed module's module.json has no DownloadUrl/ModulePageUrl. Reproduced with UI
Automation and confirmed by removing/restoring only those two fields.
- common.ps1: Write-ModuleJson writes every field, no BOM
- setup.ps1: repairs an incomplete or outdated module.json on existing installs
- version 0.2.1; README troubleshooting row; CLAUDE.md pitfall
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- module: works if only one of UDP 9015/9020 can be opened; logs state changes only (capped);
trace is opt-in; writes a status file; reports when another module owns eye tracking
- scripts/setup.ps1: idempotent installer with dry run, uninstall and optional headset setup
- scripts/doctor.ps1: health check with a spoken summary
- Start Here.cmd menu; tune.py calibrate (spoken, one step); package.ps1 release zip
- README: quick start and troubleshooting first
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>