Back to Provenance

3586

.changelog/3586.md

3.3.11.4 KB
Original Source

Added

  • SharedCheatStore — Actor-backed persistent store that reads/writes cheat codes to the App Group container (via PVAppGroupId), enabling cheat sharing between the main Provenance app, companion app, and extensions.
  • CheatQRCodeGenerator — CoreImage pipeline that renders any SharedCheatEntry as a scannable QR code via a compact provenance-cheat://v1 URL scheme; includes a from(qrURLString:) round-trip decoder.
  • CheatExportView — SwiftUI sheet (iOS) showing a large QR code, raw code text, one-tap Copy button (copies [Format] code to clipboard), and a ShareLink for sharing the QR image via the system sheet.
  • Export swipe action in iOSCheatsView — Swipe left on any cheat row to reveal the Export button, which opens CheatExportView for that cheat.
  • CheatsTabView (Companion) — New Cheats tab in the Provenance Companion app reads the App Group shared-cheats.json and displays all exported cheats; guarded behind the cheatLibrary IAP paywall.
  • Cheat Library IAP — New StoreKit 2 product org.provenance-emu.companion.iap.cheat-library added to the companion app product catalogue; DriverStoreManager.hasAccess(to:) used for entitlement gating.
  • CPDI bridgeSharedCheatEntry gains init(cheat:systemName:) and asDomainCheat(game:core:file:) for bidirectional conversion with the Cheats domain entity.