CYBRVILLAIN .PLANGREEN / NORMAL

05.26.2026

cybrvillain:~$ cat neon_chain_fixes_and_improvements.plan
Neon Chain - Fixes and Improvements

Fixes

  • Fixed AdMob plugin missing causing silent failure — AdManager now prints a loud error with exact steps to resolve (install plugin, enable it, rebuild with Custom Build) and does nothing further
  • Fixed options slider label and percentage text shifting layout when percentage value changed width — percentage column now uses a fixed left edge based on the widest value ("100%")
  • Fixed hit rects not matching slider visuals — _layout_options_panel and _draw_options_overlay now use identical track calculations so dragging registers correctly across the full drawn track

Improvements

  • Built full production ad architecture — AdConfig.gd, AdManager.gd, AdCoordinator.gd, PromoBannerManager.gd, AdFooterSlot.gd, RewardedAdButton.gd, and AUTOLOAD_SETUP.md
  • AdConfig.gd is the single source of truth for all ad unit IDs — Google test IDs and production IDs are clearly separated with a single USE_TEST_ADS switch
  • AdManager.gd handles only real AdMob ads — banner and rewarded lifecycle, plugin wiring, and signals — never substitutes house promos for rewarded ads
  • PromoBannerManager.gd handles only house promos (CybrThugs, Shadow Swag, Lonely Ranch Games) — rotation timer, texture loading, tap-to-URL, and dark placeholder fallback on missing assets
  • AdCoordinator.gd owns the banner slot-switching decision — counter-based ratio via HOUSE_PROMO_EVERY_N_BANNERS constant, prevents unnecessary banner destroy/recreate churn
  • Rewarded ad rewards are mode-aware via top-level constants — REWARD_ARCADE_LIVES = 1 and REWARD_TIMED_SECONDS = 30 — carried by the rewarded_ad_earned(type, value) signal
  • Added AdDiagnostics.gd scene — prints plugin presence, AdConfig, AdManager, AdCoordinator, and PromoBannerManager status to console for quick setup verification
  • Increased MUSIC and SFX label and percentage text size by 25% in the options overlay and adjusted slider track bounds to fit cleanly between the text without overlap or clipping
  • Increased gap_back from 52px to 82px for more breathing room above the BACK button
  • Reduced pad_bottom to remove excess space below the BACK button
  • Slider track now spans from the right edge of the label to a fixed right column, keeping the percentage value at a stable position regardless of the number shown
Neon Chain