.changelog/3393.md
CompanionControllerCapable protocol — New PVCoreBridge protocol that emulator cores adopt to receive Companion Controller axis and button events directly; includes preferredCompanionLayoutID for per-game layout selectionTrackballGameRegistry — Thread-safe registry (mirrors MouseGameRegistry) that identifies Atari 2600 trackball titles by MD5 hash or title keyword so the trackball overlay is only shown for compatible gamesPVEmulatorViewController+CompanionController — PVUI extension that detects CompanionControllerCapable cores, subscribes to the companion input router via Combine, and forwards trackball deltas and button edge events on gesture and button edge updatesCompanionLayoutFactory trackball routing — Factory now maps "com.provenance.atari2600.trackball" layout ID to TrackballLayout; all other Atari 2600 games continue to use the generic layout