Agents, orchestrators, and adding sound
The orchestrator landed earlier this week: an auto-buy layer that sits on top of the manager system and picks the next best business to purchase based on payoff per second. Ink management got reworked alongside it — the resource curve needed to breathe a little more at mid-game so the orchestrator wasn't just burning cash on the cheapest row.
Business rows got a proper visual pass. Each one now has an agent sprite that animates on cycle completion, which was a much bigger lift than I expected — the terminal aesthetic doesn't leave a lot of room for decorative pixels, so the sprites had to read clearly at the small row height without breaking the green-on-black palette.
Audio went in last. Bus layout, sound manager autoload, and SFX hooked into the signals GameState already emits — purchase, cycle complete, prestige. Nothing ambient yet, just reactive beeps and clicks, but it does a lot to make the loop feel responsive.
Auto-save on application close was the small fix that had the biggest day-to-day impact. Browsers closing mid-cycle without flushing state was eating runs during playtests.