- CargoHold gains a parallel `costs` ledger (credits/unit actually paid, or null when no cost is on file), kept aligned across add/remove/set/capacity/dropFirstNot and serialized via toJSON/fromJSON - ShopView stamps each bought bay with the trade's unit price so the console can compare exit prices against what was really paid - ShipScreenModel/ShipWindow surface per-bay costs, a total-cost hold meta line, and a "PAID" chip + reference line in the bay manifest; bays with no cost read "NO COST" instead of inventing one - GameScene passes the bay's recorded cost into scoutGood() so exit profits re-baseline against the purchase (falling back to the catalog value when absent), and restore/quest-handoff paths load null costs cleanly for legacy saves - Adds arid-shop-02 video asset and updates cargo/saves/ship-window/shop-ui tests to cover the new ledger |
||
|---|---|---|
| .. | ||
| shop | ||
| ActionBar.js | ||
| BuildWindow.js | ||
| CombatBar.js | ||
| CommsBox.js | ||
| CommsPanel.js | ||
| ConfirmOverlay.js | ||
| CreditsHud.js | ||
| CyberShape.js | ||
| DiscoveryCompass.js | ||
| ExploreBar.js | ||
| GalaxyView.js | ||
| GlitchText.js | ||
| JobBoardWindow.js | ||
| MapWindow.js | ||
| MenuButton.js | ||
| MenuSubBar.js | ||
| MineralHud.js | ||
| MiningPopup.js | ||
| PerimeterShimmer.js | ||
| QuestTrackerHud.js | ||
| QuestWindow.js | ||
| ResearchWindow.js | ||
| SavePanel.js | ||
| ShimmerCue.js | ||
| ShipWindow.js | ||
| SignalCompass.js | ||
| SlotCard.js | ||
| Toast.js | ||
| VignetteWindow.js | ||