Repository navigation
Pre
Pre-release
Pre-release
What's Changed
- feat: Add feature list modal to main menu by @DaFum in #385
- Update Main Menu button layout for Feature List by @DaFum in #386
- CodeRabbit Generated Unit Tests: Add unit tests by @coderabbitai[bot] in #387
- ⚡ Bolt: Memoize decorative SVG components in BrutalistUI by @DaFum in #390
- 🎨 Palette: Add explicit type="button" to interactive components by @DaFum in #389
- Refactor duplicate code and remove unused exports by @DaFum in #388
- chore(scripts): remove obsolete // FIX comment from analyze-duplicates.js by @DaFum in #391
- 🧪 test: Add missing error test for safeStorageOperation by @DaFum in #392
- 🧪 [testing improvement] Cover checkHit missing edge cases by @DaFum in #393
- 🧪 [testing improvement description] by @DaFum in #394
- 🧪 [testing improvement] Add tests for calculateAccuracy in gigStats by @DaFum in #395
- 🧪 Add missing error test for useArrivalLogic's handleArrivalSequence by @DaFum in #396
- 🧪 Add comprehensive tests for
canAffordby @DaFum in #397 - 🧪 [Testing Improvement] Add edge case tests for getUnlocks parsing by @DaFum in #398
- 🧪 Add tests for gameConstants.js by @DaFum in #399
- 🧪 [Testing Improvement] Add Tests for playerReducer.js by @DaFum in #400
- ⚡ Optimize string template resolution in EventEngine by @DaFum in #401
- 🧪 Add song leaderboard API integration tests by @DaFum in #402
- feat: hydrate unlocks in initialState and integrate ADD_UNLOCK action by @DaFum in #403
- feat: Extend leaderboards with new stats by @DaFum in #405
- feat: enhance quest system and UI by @DaFum in #404
- Fix ui translations, UI bug fixes, and quest event issues by @DaFum in #406
- fix: localize PostGig quests and harden save/load & quest UI by @DaFum in #407
- Persist and normalize save data, hydrate on load, and trigger autosave at gig transitions by @DaFum in #408
- Guard against empty-instance clusters in duplicate analysis by @DaFum in #409
- ⚡ Optimize relationship event conditions with for...in loops by @DaFum in #410
- 🔒 fix: insecure fallback to Math.random in secureRandom by @DaFum in #411
- 🧹 Remove unused React import in BrutalistUI by @DaFum in #412
- 🎨 Palette: Add accessibility attributes to IndustrialChecklist buttons by @DaFum in #413
- Fix UI localization strings, API returns, and tests by @DaFum in #414
- ⚡ Bolt: Single-pass optimization for parseSongNotes array processing by @DaFum in #415
- ⚡ Optimize event selection with O(1) Set lookups by @DaFum in #416
- Improve Robustness of Duplicate Code Analysis by @DaFum in #417
- 🔒 [security fix] Use secure UUIDs for heckler projectile IDs by @DaFum in #418
- 🧪 [testing] Add tests for StatBox component by @DaFum in #419
- ⚡ [Performance] Optimize event category validation lookup by @DaFum in #420
- Verify edge case for conflicting character traits by @DaFum in #421
- ⚡ Optimize SONGS_DB note processing loop by @DaFum in #422
- ⚡ Optimize redundant array includes checks in standardChatter.js by @DaFum in #423
- ⚡ Optimize array includes checks in standardChatter conditions by @DaFum in #424
- ⚡ perf: optimize case-insensitive object key lookup in resolveTemplateString by @DaFum in #425
- Replace placeholder asset for PR Manager Contract by @DaFum in #426
- ⚡ Optimize ALLOWED_SCENES lookup in systemReducer by @DaFum in #427
- Fix: guard against zero displayable instances in clusters by @DaFum in #428
- 🧹 Add IconCoin to QuestsModal by @DaFum in #429
- Integrate pending TODOs by @DaFum in #433
- fix: enforce economy bounds and rhythm game state stability by @DaFum in #434
- Update Outdated Documentation Files by @DaFum in #430
- build(deps): bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #436
- build(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #437
- build(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #438
- build(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #439
- Fix audio playback errors and improve data validation by @DaFum in #435
- chore: bump pinned dependency versions (framer-motion, tone, tailwind, eslint, i18next, lucide-react, postcss, etc.) by @DaFum in #450
- perf(core): Resolve state rendering, audio memory, and engine loop bottlenecks by @DaFum in #451
- Fix Critical Input Spam and Error Boundary issues by @DaFum in #454
- perf(core): Optimize Rendering, Audio & Engine Loops by @DaFum in #455
- Fix test setup, error handling, and component issues by @DaFum in #456
- Fix multiple critical, medium and testing issues by @DaFum in #459
- feat: track per-song leaderboard stats by @DaFum in #460
- ⚡ Bolt: Optimize max note time calculation in rhythm game audio by @DaFum in #462
- 🎨 Palette: Improve VolumeSlider keyboard navigation by @DaFum in #461
- style: format chatter conditions and resolve lints by @DaFum in #463
- 🧪 [Testing Improvement] 19 Components and Hooks by @DaFum in #464
- feat: implement Kabelsalat pre-gig minigame by @DaFum in #465
- fix: Kabelsalat state safety, i18n support, and test coverage by @DaFum in #467
- fix: resolve quests not saving to state and restrict multiple active quests by @DaFum in #468
- ⚡ Optimize Cable Lookups in KabelsalatScene by @DaFum in #469
- 🧪 Add tests for GameError by @DaFum in #470
- Cleanup Duplicate Cluster Display Logic Comments by @DaFum in #471
- chore(deps): bump framer-motion from 12.34.5 to 12.35.0 by @dependabot[bot] in #466
- ⚡ [performance] Optimize song lookups in PreGig setlist rendering loop by @DaFum in #472
- Remove outdated operator precedence comment from loader test by @DaFum in #473
- test(useRoadieLogic): replace lastMoveTime manual hack with proper mock timers by @DaFum in #474
- ⚡ Optimize
toastsarray processing insystemReducerby @DaFum in #475 - ⚡ Optimize Map Node Collision Avoidance Loop in MapGenerator by @DaFum in #476
- ⚡ Bolt: Memoize BlockMeter to eliminate wasted renders by @DaFum in #478
- 🎨 Palette: Add dynamic ARIA label to BrutalSlot button by @DaFum in #479
- Add streak breaker for Pre-Gig minigames by @DaFum in #477
- refactor: enforce state whitelist pattern and a11y standards by @DaFum in #481
- 🧪 Comprehensive test coverage improvements for utility functions by @DaFum in #480
- chore(deps): bump react-i18next from 16.5.4 to 16.5.5 by @dependabot[bot] in #482
- Fix ESLint warnings and errors across source and tests by @DaFum in #483
- ⚡ Optimize O(N*M) setlist lookup in PreGig scene by @DaFum in #484
- 🧹 Code Health: Refactor handleError function complexity by @DaFum in #485
- 🧹 Refactor calculateGigFinancials logic into distinct helper functions by @DaFum in #486
- 🧹 Refactor
processEffectswitch statement to dispatch map by @DaFum in #487 - 🧹 refactor playAudioForSong function for better code health by @DaFum in #488
- Fix Lint Warnings and Dependency Arrays by @DaFum in #489
- refactor: address PR review feedback on UI, logic, and constants by @DaFum in #491
- Fix audio engine error handling and reputation bounds by @DaFum in #490
- Fix state mutations, validation gaps, and prototype pollution vectors by @DaFum in #492
- fix(bandhq): translate regional reputation names by @DaFum in #493
- 🧹 replace console.error with logger in ToastOverlay by @DaFum in #495
- ⚡ Remove Blocking Artificial Delay in MainMenu.jsx by @DaFum in #494
- perf: optimize high-frequency game loops to reduce GC pressure by @DaFum in #496
- fix: translateLocation no-op and venueBlacklist storage by @DaFum in #497
- Fix: Code Safety and Compatibility bugs across Travel Logic, UI Toasts, and State Reducers by @DaFum in #498
- test: fix failing text expectations and improve test stability by @DaFum in #499
- ⚡ Bolt: React.memo() on SVG Icons to prevent unnecessary re-renders by @DaFum in #500
- 🎨 Palette: [Accessibility] Improve GigModifierButton keyboard and screen reader support by @DaFum in #502
- Fix: Standardize Location Format for Chatter Conditions by @DaFum in #503
- fix: resolve failing text expectations and improve test stability by @DaFum in #501
- test: fix matchers, act wrappers, and centralized mocks by @DaFum in #504
- 🧹 refactor: remove unused parameter in useRhythmGameLogic hook by @DaFum in #505
- 🧹 Refactor: Replace console.error with logger in PostGig by @DaFum in #506
- ⚡ Precalculate texture hash for Roadie minigame traffic by @DaFum in #507
- ⚡ Optimize map venue iteration with reduce by @DaFum in #508
- ⚡ perf: Optimize createPersistedState object construction by @DaFum in #509
- ⚡ optimize relationship events check loop by @DaFum in #510
- ⚡ Optimize EffectManager O(N) Lookup by @DaFum in #511
- ⚡ optimize proceedToTour in MainMenu by @DaFum in #513
- 🧹 refactor: extract sub-routines in generateMap by @DaFum in #514
- fix: resolve tone.js test mocks and unused vars by @DaFum in #515
- test(reducers): add missing unit tests for core state reducers by @DaFum in #516
- fix: mapGenerator private method calls build syntax error by @DaFum in #518
- fix(reducers): prevent scene reset on complete travel error by @DaFum in #519
- 🔒 fix: prevent unbounded payload size DoS before trim in leaderboard APIs by @DaFum in #521
- ⚡ perf: Optimize character lookup transversals in simulationUtils by @DaFum in #522
- 🔒 fix: sanitize error payload sent via fetch in reportErrorRemote by @DaFum in #523
- ⚡ [Performance] Consolidate redundant character lookups in simulationUtils by @DaFum in #524
- 🔒 fix(api): patch unbounded payload size in leaderboard stats update by @DaFum in #525
- ⚡ Optimize
postOptions.jsarray trait lookups by @DaFum in #526 - ⚡ perf(event-engine): optimize resolveTemplateString with WeakMap cache by @DaFum in #527
- fix: apply architect improvements for state and conventions by @DaFum in #528
- fix: address i18n, UI, and hook issues flagged in review by @DaFum in #529
- CodeRabbit Generated Unit Tests: Add unit tests for PR changes by @coderabbitai[bot] in #531
- Refactor
standardChatter.jsto strictly use i18n keys by @DaFum in #530 - Fix chatterData test setups and CHATTER_DB conditions by @DaFum in #537
- test: add comprehensive test coverage for StageControllers and ambient audio by @DaFum in #538
- fix: resolve PR feedback issues across utilities and UI components by @DaFum in #539
- test: fix undefined state overrides in chatterData tests by @DaFum in #540
- feat: Upgrade project foundation, adaptive AI, and pipeline verifier by @DaFum in #541
- test(ambient): fix unused param linting and improve mockStopAudio/async races by @DaFum in #542
- CodeRabbit Generated Unit Tests: Add generated unit tests for PR changes by @coderabbitai[bot] in #545
- Refactor heckler logic and fix PixiStageController bugs by @DaFum in #543
- CodeRabbit Generated Unit Tests: Add unit tests for PR changes by @coderabbitai[bot] in #544
- ⚡ optimize object iteration in gameStateUtils by @DaFum in #546
- 🔒 Secure JSON parsing and translation in ToastOverlay by @DaFum in #547
- 🧪 [test] add coverage for safeDispose exception handling by @DaFum in #548
- Fix false positives in ambient.test.js race condition tests by @DaFum in #549
- 📝 Add docstrings to
jules-refactor-game-phases-constants-8650505921056953926by @coderabbitai[bot] in #551 - 🧹 Centralize game phase constants and refactor usage by @DaFum in #550
- fix: allow performance tutorial in practice mode and enforce game constants by @DaFum in #552
- chore(data): rephrase comments to avoid false-positive TODOs by @DaFum in #553
- chore: update softlock comment to avoid false positive task creation by @DaFum in #554
- chore(tests): rephrase comment to prevent false positive bug flag by @DaFum in #555
- Refactor: Extract String Duplication in ChatterOverlay by @DaFum in #556
- fix(i18n): localize hardcoded toast strings in rhythm game scoring by @DaFum in #557
- Add i18next-parser for automated translation extraction by @DaFum in #558
- 🎨 Palette: Add semantic ARIA attributes to BlockMeter for screen readers by @DaFum in #559
- ⚡ Bolt: Optimize gearCount calculation with O(1) Map lookup by @DaFum in #560
- refactor(i18n): optimize translation side-effect stability by @DaFum in #561
- fix: restore player identity in new tour and expand test coverage by @DaFum in #565
- refactor: optimize
handleLoadcallback dependencies in MainMenu by @DaFum in #562 - fix(chatter): correct scrambled English venue string mappings by @DaFum in #563
- refactor: standardize state bounds and fix economy logic by @DaFum in #566
- fix(i18n): resolve 'credits' key object collision in German locale by @DaFum in #567
- CodeRabbit Generated Unit Tests: Add unit tests for PR changes by @coderabbitai[bot] in #569
- test: Add missing actionTypes test and fix Credits test translation key by @DaFum in #570
- fix(i18n): remove empty plural locale fallbacks for keyboardHint and seconds by @DaFum in #572
- fix(i18n): update SetlistTab variables and clean parser config by @DaFum in #571
- i18n: add localization guidance and convert travel/arrival/post‑gig strings to translation lookups by @DaFum in #575
- Localize travel/arrival/post-gig toasts and add en/de UI strings by @DaFum in #574
- fix: localize remaining PostGig phase headings and loading text by @DaFum in #576
- fix(i18n): preserve dot-notation during extraction by @DaFum in #568
- PostGig: add phase-specific default title and make locale tests robust to flat keys by @DaFum in #578
- ⚡ Bolt: Optimize
calculateSocialGrowthplatform lookup to O(1) by @DaFum in #577 - CodeRabbit Generated Unit Tests: Add unit tests for PR changes by @coderabbitai[bot] in #579
- chore(i18n): rerun parser and set pluralSeparator to false by @DaFum in #580
- Add extensive unit tests and missing-tests inventories for scenes, hooks, and data by @DaFum in #582
- 🎨 Palette: [UX improvement] Add aria-label to VoidDecryptor button by @DaFum in #581
- Flatten decryptor aria keys and improve screen reader accessibility by @DaFum in #583
- fix: redact error telemetry payload by @DaFum in #584
- fix(eventEngine): guard handler lookup against prototype collisions by @DaFum in #585
- fix: preserve venue i18n location keys when loading saves by @DaFum in #586
- fix: restore city-specific chatter for normalized locations by @DaFum in #587
- Fix migratePlayerLocation string replacement logic by @DaFum in #588
- 🧪 [testing improvement] Add songs data validation tests by @DaFum in #589
- ⚡ Optimize checkSoftlock with single-pass .some() by @DaFum in #590
- 🧹 remove unused variables in socialReducer by @DaFum in #591
- Resolve Relationship Mechanics TODO by @DaFum in #592
- ⚡ Cache member traits in relationship updates by @DaFum in #593
- ⚡ perf: Optimize ambient MIDI lookup with O(1) Map by @DaFum in #594
- 🧹 Refactor KabelsalatScene to improve code health by @DaFum in #595
- 🧹 refactor: Extract PostGig state and logic into custom hook by @DaFum in #596
- CodeRabbit Generated Unit Tests: Add generated unit tests by @coderabbitai[bot] in #597
- Refactor code quality and cleanup logic across multiple modules by @DaFum in #598
- test: fix strict text matching in KabelsalatComponents.test.jsx by @DaFum in #599
- test: fix failing tests suite across codebase by @DaFum in #600
- test: add missing tests to drumMappings by @DaFum in #603
- Update dependency docs and pre-gig layout fixes by @DaFum in #602
- 🧹 [Code Health] Extract mapGenerator neighbor candidate lookup into helper by @DaFum in #604
- 🧹 refactor: Extract duplicate inline string hashing logic to centralized utility by @DaFum in #605
- 🧹 Refactor: Extract quest addition logic to reduce nesting depth in GameState by @DaFum in #606
- Fix: Social Phase option title text visibility on hover by @DaFum in #607
- 🧪 [testing improvement] Add tests for ALLOWED_TRENDS by @DaFum in #608
- 🧹 Remove deprecated code comments in rhythmUtils.js checkHit by @DaFum in #609
- 🧪 add tests for platforms data by @DaFum in #610
- 🧪 Add generic property validation test for characters data by @DaFum in #611
- 🧹 chore: remove unused _trend variable from socialReducer by @DaFum in #612
- 🧪 test: add unit tests for stage utils by @DaFum in #613
- 🧪 test: add IntroVideo component tests by @DaFum in #614
- 🧪 [Testing Improvement] Add robust data integrity tests for venues by @DaFum in #615
- 🧪 test: add comprehensive test suite for useRhythmGameInput by @DaFum in #616
- 🧪 test: add coverage for minigame constants by @DaFum in #617
- 🧪 test: improve brand deals schema coverage by @DaFum in #618
- 🧪 [test] add unit tests for postOptions data by @DaFum in #619
- 🧪 test: add error coverage for DealsPhase deal acceptance by @DaFum in #620
- 🧪 Add systemReducer unit tests by @DaFum in #621
- 🧪 test: improve test coverage for eventEngine error handler by @DaFum in #622
- 🧪 test: improve ErrorHandler test coverage and fallback assertions by @DaFum in #623
- 🔒 fix(security): reduce max playerName length to 100 in stats API by @DaFum in #624
- 🧪 test: improve eventEngine error handling test coverage by @DaFum in #625
- fix: resolve all lint warnings and test errors by @DaFum in #626
- ⚡ Optimize random member selection in post options by @DaFum in #627
- 🔒 [security fix] Implement secure randomness for chatter IDs by @DaFum in #628
- 🧪 Add SPECIAL_EVENTS structural integrity tests by @DaFum in #629
- 🎨 Palette: Add focus indicator to VolumeSlider for keyboard navigation by @DaFum in #630
- Fix failing test and test warnings in UI tests by @DaFum in #632
- ⚡ Bolt: Optimize Rhythm Game Hot Paths by @DaFum in #631
- 🔒 [security fix] Use secure randomness for ID generation in Kabelsalat by @DaFum in #633
- ⚡ Optimize trait and member lookups in traitUtils by @DaFum in #634
- 🧪 [testing improvement] Enhance clearTransportEvent edge case coverage by @DaFum in #635
- ⚡ Optimize postOptions member trait cache by @DaFum in #636
- ⚡ [performance improvement description] by @DaFum in #637
- ⚡ [perf] optimize HecklerOverlay nested array loop to O(1) Set lookup by @DaFum in #638
- ⚡ [performance improvement: O(1) key map lookup in useGigInput] by @DaFum in #639
- ⚡ [performance] O(1) EffectManager oldest effect resolution by @DaFum in #640
- ⚡ Optimize MapGenerator pickRandomSubset with partial shuffle by @DaFum in #641
- fix(ui): enable mobile touch scrolling for leaderboards by @DaFum in #642
- fix: resolve all ESLint warnings and errors by @DaFum in #643
- fix: Enable touch and desktop scrolling on leaderboards by @DaFum in #644
- test: enhance test coverage across missing components by @DaFum in #645
- 🎨 Palette: Add tooltips to icon-only HUD buttons by @DaFum in #646
- ⚡ Wrap UI components in React.memo in BrutalistUI.jsx by @DaFum in #647
- fix: guard influencer collaboration against null entries by @DaFum in #648
- fix: guard PostGig social option generation/resolution failures by @DaFum in #650
- fix: preserve zero-valued relationship scores by @DaFum in #649
- fix: ActionButton focus regression by @DaFum in #651
- 🔧 [Architecture & Balance] State Bounds Enforcement and Tailwind v4 Stabilization by @DaFum in #652
- test: Add unit tests for previously untested modules and scenes by @DaFum in #654
- fix: comprehensive post-gig logic and UI fixes by @DaFum in #653
- fix(social): Use influencer display name instead of internal ID in success text by @DaFum in #655
- 🎨 Palette: Add Tooltips to icon-only game controls by @DaFum in #656
- fix: test suite failures by @DaFum in #657
- ⚡ [performance] Optimize secureRandom via typed array batching by @DaFum in #658
- fix: improve tooltip accessibility and clean up redundant code by @DaFum in #659
- 🧹 [localize unused gigReducer exports] by @DaFum in #662
- 🧪 [test ShopItem component] by @DaFum in #663
- ⚡ Optimize song lookups with O(1) Map by @DaFum in #661
- fix: ui, game logic fallback, and test data issues by @DaFum in #660
- 🧹 [code health fix] fix lint errors and format codebase by @DaFum in #664
- ⚡ [performance improvement] optimize affordable influencers filtering in postOptions by @DaFum in #665
- 🧪 test: improve codebase unit test coverage by @DaFum in #666
- 🔐 [security fix] enforce strict positive bounds on quest fame rewards by @DaFum in #667
- 🧪 test: implement missing endGig test in GameState by @DaFum in #671
- fix: Architectural fixes to Redux constraints, rhythm game lifecycles, and economy bounds by @DaFum in #669
- 🧹 [code health: synchronize agent instructions] Update documentation commands to pnpm and append knowledge base by @DaFum in #670
- fix(tests): resolve falsely passing POST_GIG test and remove stateRef dependency by @DaFum in #672
- refactor(core): enforce strict React/PIXI.js lifecycles and Brutalist UI constraints by @DaFum in #673
- ✨ [feature] Prevent consecutive gigs at same location & add Band HQ button by @DaFum in #677
- 🧪 [testing improvement] Add missing coverage for brandDeals and special events by @DaFum in #674
- ⚡ [performance improvement] optimize scene transitions and E2E flow by @DaFum in #676
- 🔐 [security fix description] State Ledger Security & Performance Audit by @DaFum in #678
- ⚡ [performance improvement] O(N) array allocation removal & A11y refactor by @DaFum in #679
- docs: enforce neurotoxic documentation standards with mermaid diagrams and react 19 syntax by @DaFum in #675
- Fix several issues across tests, minigames, and utilities by @DaFum in #680
- 📝 Add docstrings to
fix-branddeals-and-minigames-2602861597624246286by @coderabbitai[bot] in #681 - CodeRabbit Generated Unit Tests: Add unit tests for PR changes by @coderabbitai[bot] in #682
- ⚡ [performance] Optimize and secure social engine logic by @DaFum in #684
- 🎨 Palette: Add keyboard focus visible styles to GlitchButton by @DaFum in #683
- ⚡ Bolt: Optimize member lookup in checkTraitUnlocks by @DaFum in #685
- ✨ feat: The Contraband Stash by @DaFum in #686
- fix: Address PR feedback regarding i18n, stale closures, and logic bounds by @DaFum in #687
- chore(deps): bump @vercel/speed-insights from 1.3.1 to 2.0.0 by @dependabot[bot] in #693
- chore(deps): bump react-i18next from 16.5.6 to 16.5.8 by @dependabot[bot] in #688
- chore(deps): bump pixi.js from 8.16.0 to 8.17.0 by @dependabot[bot] in #689
- chore(deps): bump lint-staged from 16.3.2 to 16.3.3 by @dependabot[bot] in #692
- chore(deps): bump @vitest/coverage-v8 from 4.0.18 to 4.1.0 by @dependabot[bot] in #691
- chore(deps): bump framer-motion from 12.35.1 to 12.36.0 by @dependabot[bot] in #694
- chore(deps): bump i18next from 25.8.14 to 25.8.18 by @dependabot[bot] in #695
- fix: Resolve contraband item data corruption, logic errors, and i18n regressions by @DaFum in #701
- fix: Resolve contraband item data corruption, logic errors, and i18n regressions by @DaFum in #702
- 🔒 Replace Math.random with secureRandom in useGigEffects by @DaFum in #703
- ⚡ Optimize HecklerOverlay loop iteration to reduce GC churn by @DaFum in #704
- 🧪 Comprehensive tests for Kabelsalat HardwareProps by @DaFum in #705
- 🧹 resolve leaked timeouts in ChatterOverlay by @DaFum in #706
- ⚡ Optimize socialEngine: reduce array allocations in generatePostOptions by @DaFum in #707
- 🧹 Simplify DetailedStatsTab rendering logic by @DaFum in #708
- Fix Contraband System Stack Enforcement, Duration Tracking, and UI i18n by @DaFum in #709
- fix: stabilize reducers and ensure state purity by @DaFum in #710
- fix: decouple reducers, fix rng rarity drop bug, and safeguard item buffs by @DaFum in #711
- feat: Expand contraband item mechanics with random drops, stacking, applyOnAdd and durations by @DaFum in #698
- 🧹 Refactor: Resolve PR test logic and UI nitpicks by @DaFum in #712
- test: add missing tests for shared ui and data events by @DaFum in #713
- 🎨 Palette: Add images for contraband stash by @DaFum in #714
- 🎨 Palette: Update to Tailwind v4 Death-Metal Theme & Glitch Effects by @DaFum in #715
- CodeRabbit Generated Unit Tests: Generate unit tests for PR changes by @coderabbitai[bot] in #716
- Fix save validation logic and error localization by @DaFum in #719
- refactor: enforce crypto.randomUUID() for unique IDs by @DaFum in #718
- Secure deserialization pipeline with strict schema bounds and prototype pollution guard by @DaFum in #717
- Fix save version migration, integers, test bounds, and error localization by @DaFum in #720
- 🎨 Palette: Add focus states and richer color palette integration by @DaFum in #721
- ⚡ Bolt: Optimize generatePostOptions array allocations by @DaFum in #722
- feat(social): add zealotry mechanic by @DaFum in #723
- ⚡ [performance improvement] fix save validation and optimize social engine by @DaFum in #724
- fix: Resolve social zealotry engine bugs and add missing i18n keys by @DaFum in #725
- ✨ [feature expansion] Integrate generated images into social and brand deals by @DaFum in #726
- fix: remove duplicate translation keys and restore intended stash keys by @DaFum in #728
- refactor: stabilize test environment and apply economic scaling tweaks by @DaFum in #729
- feat: implement underground void clinic feature by @DaFum in #727
- Rebalance game difficulty and economy costs by @DaFum in #731
- Update dependency versions and documentation links by @DaFum in #732
- 🧹 [code health improvement description] Fix lint errors, fix tests, format codebase, and integrate DealsPhase image generation by @DaFum in #733
- 🧪 Add tests for midiUrlMap in audio assets by @DaFum in #734
- 🎨 Palette: Fix accessibility for BrutalToggle components by @DaFum in #735
- Fix UI toasts, kabelsalat fallback, and button labels by @DaFum in #739
- ⚡ Optimize gear count loop by removing Object.entries by @DaFum in #738
- ✨ [feature] Pirate Radio Broadcast System by @DaFum in #737
- fix(state): refine bankruptcy triggers and load migration logic by @DaFum in #741
- fix: Pirate Radio bugs and Toast architectural fixes by @DaFum in #742
- 🧹 [MapNode] Extract inline onKeyDown event handler by @DaFum in #743
- 🧹 [Refactor ReportPhase] Reduce Cyclomatic Complexity by @DaFum in #744
- 🧹 [code health improvement] Refactor LaneManager update to reduce cyclomatic complexity by @DaFum in #745
- 🧹 [code health improvement] Refactor PixiStageController to reduce complexity and function length by @DaFum in #746
- 🧹 [reduce cyclomatic complexity in SocialPhase] by @DaFum in #747
- 🧹 [code health: refactor BaseStageController.js to reduce cyclomatic complexity] by @DaFum in #748
- 🧹 [code health improvement] Refactor HecklerOverlay animation loop to reduce cyclomatic complexity by @DaFum in #749
- 🧪 [Add tests for pickRandomSubset utility] by @DaFum in #750
- 🧹 Refactor: Extract components to reduce GigHUD complexity by @DaFum in #751
- 🧹 [code health improvement] Extract DealCard component to reduce nesting complexity by @DaFum in #752
- ⚡ [performance improvement: map generator GC reduction] by @DaFum in #753
- 🧪 [testing improvement] Add missing tests for action creators by @DaFum in #754
- 🧹 [code health improvement description] Address PR review feedback by @DaFum in #755
- 🎨 Palette: [Mobile Optimizations] Optimize Clinic, Radio, and Stash Views by @DaFum in #756
- 🎨 Palette: [Overworld collapsible menu] by @DaFum in #757
- fix: resolve Pirate Radio "Transmit" button not working by @DaFum in #758
- ⚡ [performance improvement] O(1) Venue Lookups in Travel Logic by @DaFum in #759
- ⚡ [performance improvement description] Optimize quest completion array traversal by @DaFum in #760
- ⚡ [performance] Optimize RoadieStageController asset loading with concurrent execution by @DaFum in #761
- ⚡ [performance improvement description] by @DaFum in #762
- ⚡ [performance improvement] optimize useClinicLogic member lookup by @DaFum in #763
- ⚡ Performance: Memoize ambient MIDI metadata lookups by @DaFum in #764
- ⚡ [performance improvement] Use pre-calculated length instead of O(n) filter for venue pools by @DaFum in #765
- ⚡ [performance improvement] Optimize backward pass connection lookup by @DaFum in #766
- 🧹 [code health improvement] refactor loadTexture to reduce cyclomatic complexity by @DaFum in #767
- 🧹 [code health] Extract deeply nested UI in SocialPhase by @DaFum in #768
- 🧹 [code health improvement: Reduce NoteManager.update cyclomatic complexity] by @DaFum in #769
- 🧹 [code health improvement] Extract
SideEffectsPreviewto reduce deep nesting by @DaFum in #770 - 🧹 [code health improvement] Reduce cyclomatic complexity in EffectManager by @DaFum in #771
- 🧹 [code health] Reduce cyclomatic complexity in LaneManager.init() by @DaFum in #772
- 🧹 [code health improvement] Refactor BaseStageController to reduce cyclomatic complexity by @DaFum in #773
- 🧹 [code health improvement] Refactor ChatterOverlay to reduce cyclomatic complexity by @DaFum in #774
- 🧹 [code health] Extract deeply nested logic in MapNode by @DaFum in #775
- 🧪 test: add useClinicLogic tests by @DaFum in #776
- 🧪 [testing improvement useContrabandStash] add unit tests for useContrabandStash hook by @DaFum in #777
- 🧪 [testing improvement usePirateRadio] by @DaFum in #778
- 🧹 [Extract deeply nested style derivation in TutorialManager] by @DaFum in #779
- chore(deps): bump undici from 7.22.0 to 7.24.3 by @dependabot[bot] in #780
- 🧹 [code health improvement] Fix nitpicks and address minor test divergence by @DaFum in #781
- 🧹 fix: resolve lint warnings and duplicate test names by @DaFum in #782
- ⚡ Bolt: Optimize Intl.NumberFormat instantiation overhead by @DaFum in #783
- ⚡ [optimize venue chatter lookup] by @DaFum in #784
- 🧪 [add unit tests for GigModifierButton] by @DaFum in #785
- 🎨 Palette: Add semantic label to player name input by @DaFum in #786
- build: bump vite to 8.0.0 by @DaFum in #787
- ⚡ Bolt: cache home and finale venues in MapGenerator by @DaFum in #788
- ⚡ Bolt: optimize pending event lookup by @DaFum in #789
- ⚡ Bolt: Optimize band stash using O(1) object lookups by @DaFum in #790
- ⚡ Bolt: Optimize contraband addition check in minigameReducer by @DaFum in #791
- build: increase Vite chunk size warning limit to 600kB by @DaFum in #792
- Fix code health issues: mapGenerator, prototype pollution, O(1) lookups and Pixi imports by @DaFum in #793
- Fix bug and finish trait i18n by @DaFum in #794
- Fix event outcome visibility and applied delta logic by @DaFum in #797
- Fix text shadowing in EventModal options and clean up state handling by @DaFum in #799
- ✨ Feature: Explicit Event Effects in Outcome Modals by @DaFum in #795
- ⚡ Bolt: [performance] Optimize getRandomChatter array allocations by @DaFum in #798
- 🎨 Palette: Add keyboard focus ring to PauseButton by @DaFum in #800
- Fix missing tests by @DaFum in #796
- 🧪 add unit tests for StatsOverlay component by @DaFum in #801
- fix: address PR feedback across EventModal, utils, chatter, and tests by @DaFum in #802
- ⚡ Bolt: optimize trait lookup in DetailedStatsTab by @DaFum in #804
- 🔒 [security fix] Use secureRandom for chatter delay and speaker selection by @DaFum in #803
- fix: address review nitpicks for tests, security, and React warnings by @DaFum in #805
- CodeRabbit Generated Unit Tests: Add generated unit tests by @coderabbitai[bot] in #812
- ⚡ Bolt: Optimize handleFailQuests array iterations by @DaFum in #807
- ⚡ Bolt: Optimize Object iteration in validateSocial by @DaFum in #808
- ⚡ Optimize contraband effect array iteration in systemReducer by @DaFum in #809
- Fix code review findings by @DaFum in #810
- Add To-Do comments to all .js and .jsx files in src/ by @DaFum in #811
- refactor: code review and code health improvements by @DaFum in #813
- 🔒 [security fix] Fix insecure random in Kabelsalat Sockets Shuffle by @DaFum in #814
- 🔒 [security fix: tourbus insecure random ID generation] by @DaFum in #815
- 🔒 Fix insecure Note Jitter RNG Initialization by @DaFum in #816
- 🔒 Fix insecure randomness in CrowdManager by @DaFum in #817
- 🔒 [Security] Replace insecure Math.random() with secureRandom() by @DaFum in #818
- 🔒 [security fix] Sanitize toast.options to prevent UI injection and prototype pollution by @DaFum in #819
- 🔒 fix: secure random usage in ChatterOverlay by @DaFum in #820
- 🔒 Fix insecure Math.random usage in Social Engine Chatter by @DaFum in #821
- feat: improve event consequences and UI visibility by @DaFum in #823
- 🧹 Code Health: Centralize State Clamping Utilities by @DaFum in #822
- style(SocialPhase): update social media option background opacity by @DaFum in #824
- fix: strengthen RNG handling and input sanitization consistency by @DaFum in #825
- test: add missing tests for useArrivalLogic by @DaFum in #826
- 🔒 [security fix description] / Code Health: Various fixes and refactors by @DaFum in #827
- test: Add missing unit tests for utility and UI components by @DaFum in #828
- 🔒 Fix insecure influencer post option roll by @DaFum in #829
- 🔒 [security fix] Use secureRandom for crisis trigger condition by @DaFum in #832
- 🔒 Security: Use secureRandom in useGigEffects fallback by @DaFum in #830
- 🔒 Fix insecure randomness in Tourbus minigame obstacle generation by @DaFum in #831
- Rebalance financial events and venue payouts with percentage-based costs by @DaFum in #833
- Fix event engine percentage_resource clamping and refactor crisis events by @DaFum in #834
- 📝 Add docstrings to
jules-event-engine-fixes-5200398530359114778by @coderabbitai[bot] in #836 - 🎨 Palette: Enhance ToggleSwitch accessibility with aria-labelledby by @DaFum in #835
- fix: address event cooldown issues and ToggleSwitch accessibility by @DaFum in #837
- 🧹 refactor(MainMenu): Extract modals into separate components to improve code health by @DaFum in #842
- 🧪 [testing improvement] Add coverage for audio setup by @DaFum in #838
- ⚡ perf: Optimize Redundant Array Creation in Game State Delta Calculation by @DaFum in #839
- 🧹 Remove unused CONTRABAND_DB export by @DaFum in #840
- 🧹 Extract
renderScenelogic intoSceneRoutercomponent by @DaFum in #841 - 🧹 refactor: Extract validation logic from handleLoadGame into helper functions by @DaFum in #843
- 🧹 Extract duplicate texture loading logic to
loadTexturesutility by @DaFum in #844 - Add Vitest UI runner, fix texture loader and venue migration, and expand audio/perf tests by @DaFum in #845
- Add comprehensive skill documentation for golden-path tests and game improvements by @DaFum in #847
- Migrate skills to .agents, adopt pnpm/Node 22.13.0, add agent interfaces and update SKILL docs by @DaFum in #848
- 🔒 State Safety Improvements: Bound enforcement for resources by @DaFum in #846
- Add comprehensive golden path cycle tests for game systems by @DaFum in #849
- Fix corrupted text and incorrect assertions in documentation by @DaFum in #850
- Add computeWorkerCount util, update test runner scripts, and adjust unit tests (clinic & chatter) by @DaFum in #853
- docs(skills): tighten triggers and QA guidance across .agents/skills SKILL.md files by @DaFum in #857
- Test: Add missing utility test coverage by @DaFum in #856
- perf(test): optimize global test runners with adaptive parallelism by @DaFum in #858
- Introduce Node test runner, cap Vitest workers, and refactor App tests by @DaFum in #851
- Expand repo-guardrails-generator skill with comprehensive workflow and examples by @DaFum in #859
- Enhance skill-creator documentation and add session startup hook by @DaFum in #860
- 🧹 [code health improvement] Resolve devin review configuration and testing warnings by @DaFum in #862
- Improve test coverage and input validation across test suites by @DaFum in #861
- test: resolve React warnings and improve validation accuracy in tests by @DaFum in #864
- 🧹 Refactor to extract duplicated logic to reusable functions and hooks by @DaFum in #863
- style: format entire codebase using Prettier by @DaFum in #866
- ⚡ Optimize hashString array traversal in string utilities by @DaFum in #870
- CodeRabbit Generated Unit Tests: Add generated unit tests by @coderabbitai[bot] in #872
- ⚡ Cache Pixi color tokens in CrowdManager by @DaFum in #865
- ⚡ [Performance] Replace Object.keys() with for...in in resolveTemplateString by @DaFum in #867
- ⚡ Optimize venue caching in MapGenerator by @DaFum in #868
- ⚡ Optimize HecklerOverlay array traversal in requestAnimationFrame loop by @DaFum in #869
- ⚡ Performance: Avoid Object.entries allocation in state reducers by @DaFum in #873
- Add game balance simulation runner, docs and generated reports by @DaFum in #874
- ⚡ Bolt: Cache Pixi color tokens in StageControllers to eliminate per-frame parsing overhead by @DaFum in #875
- 🎨 Palette: Add keyboard focus states to tutorial buttons by @DaFum in #876
- 🧹 Code Health: Fix linting warnings and clean up unused variables by @DaFum in #877
- feat: balance economy snowball and enforce harmony consequences by @DaFum in #878
- ⚡ optimize socket shuffling in Kabelsalat minigame by @DaFum in #880
- 🧹 validate crisis events and add tests (#1234) by @DaFum in #881
- 🧪 add edge case tests for clampVanFuel by @DaFum in #882
- 🧹 remove dead code comments in mapGenerator.js by @DaFum in #883
- ⚡ Optimize cable disconnection logic in Kabelsalat by @DaFum in #884
- 🧪 [testing improvement] improve coverage for selectionUtils.js by @DaFum in #885
- 🔒 Secure Randomness for Audio and Gameplay by @DaFum in #886
- fix: address code review feedback across various systems by @DaFum in #887
- fix(eventValidator): improve validation checks and error handling by @DaFum in #888
- ⚡ Bolt: Cache Pixi color tokens in RoadieStageController by @DaFum in #890
- ⚡ [performance] Optimize carSprites cleanup loop to reduce GC pressure by @DaFum in #891
- 🎨 Palette: Semantic
<kbd>tags and ARIA label for ControlsHint by @DaFum in #889 - 🧹 [Refactor DealsPhaseComponent to reduce complexity] by @DaFum in #892
- ⚡ Replace for...in loop with Object.entries for performance by @DaFum in #893
- ⚡ [performance] Optimize car sprite cleanup iterator in RoadieStageController by @DaFum in #894
- 🧹 [Code Health] Simplify handleUseContraband logic in bandReducer by @DaFum in #895
- ⚡ Optimize EffectManager dispose method to avoid iterator allocations by @DaFum in #896
- 🧹 [code health improvement] Refactor TutorialManager component with useTutorial hook by @DaFum in #897
- 🧹 Code Health: Address code review findings by @DaFum in #898
- 🧪 Bolt: Consolidate React component test renders for execution speed by @DaFum in #899
- Consolidate Harmony Cancellation Logic and Fame Penalty by @DaFum in #911
- 🧪 [testing improvement] Add edge case tests for translateContextKeys utility by @DaFum in #913
- ⚡ Bolt: optimize RoadieStageController loops by @DaFum in #912
- 🔒 fix: potential DOM XSS via unvalidated URL in UplinkButton by @DaFum in #914
- chore(deps): update all project dependencies and docs by @DaFum in #915
- chore(deps): bump jsdom from 28.1.0 to 29.0.0 by @dependabot[bot] in #906
- chore: add flatted dependency by @DaFum in #916
- fix(ui): prevent UplinkButton flex items from shrinking by @DaFum in #917
- ⚡ Bolt: [performance improvement] PreGig selected song set creation by @DaFum in #919
- ⚡ [performance] optimize Map construction in useClinicLogic by @DaFum in #921
- ⚡ Bolt: [performance improvement] Optimize array filtering in ChatterOverlay by @DaFum in #922
- ⚡ Bolt: [performance improvement] Optimize array filtering in RoadieStageController by @DaFum in #923
- ⚡ Bolt: [performance improvement] Optimize
loadTexturesmapping loop by @DaFum in #924 - 🧹 [code health improvement] Fix direct state mutation in useKabelsalatState by @DaFum in #925
- ⚡ Bolt: [performance improvement] Optimize useGigEffects chaosStyle generation by @DaFum in #927
- ⚡ Bolt: [performance improvement] optimize Overworld node mapping by @DaFum in #920
- fix: trait text rendering fallback in UI by @DaFum in #918
- ⚡ Bolt: [performance improvement] Optimize socialEngine trend matching by @DaFum in #926
- fix: flatten traits locales to fix translation lookup by @DaFum in #929
- 🧪 test: Add missing test files for UI components and propTypes by @DaFum in #928
- 🧪 Add tests for numberUtils edge cases by @DaFum in #930
- ⚡ [Performance] Eliminate intermediate array allocation in activeTraitIds useMemo by @DaFum in #931
- 🧪 test: Add missing test cases for translationContextKeys by @DaFum in #932
- 🧪 [testing improvement] Add missing edge case tests for trait logic checks by @DaFum in #933
- 🧪 [testing improvement] Cover validateCrisisEvent by @DaFum in #934
- 🧪 [testing improvement] Add missing error path tests for composite effects in validateCrisisEvent by @DaFum in #935
- 🧪 Optimize Node test async execution and prevent memory leaks by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/936
- 🔒 [Fix XSS vulnerability in i18n interpolation] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/937
- 🧪 [testing] apply Nexus optimizations and async documentation to API tests by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/939
- style: Apply formatting diffs requested by user by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/938
- ⚡ [performance improvement] Node.js Test Suite Optimization by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/940
- ⚡ Optimize Node.js test suite velocity and remove synchronous bottlenecks by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/941
- chore: resolve codebase lint warnings and errors by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/942
- ⚡ Bolt: Optimize CHAR_MAP initialization in DetailedStatsTab by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/943
- 🎨 Palette: Add screen reader announcements to Game Over overlay by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/944
- ⚡ Bolt: [optimize locale test I/O by converting synchronous fs operations to async Promise.all pipelines] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/945
- 🧹 Code Health: remove unused ASYNC_INIT_TIMEOUT_MS variable in tests by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/946
- 🧹 Code Health: Remove unused ASYNC_INIT_TIMEOUT_MS by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/947
- ⚡ Bolt: optimize applyEventDelta member updates by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/948
- 🧪 Add data schema validation for SPECIAL_EVENTS by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/950
- Chaos Tour Fix: Unified cancellation check and PreGig stability by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/949
- ⚡ Bolt: Optimize clinicReducer array find lookup by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/955
- ⚡ Bolt: Optimize cross-posting array allocations by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/952
- ⚡ Bolt: Optimize eventEngine.resolveChoice member skill checks by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/953
- ⚡ Bolt: Optimize map generation by flattening forEach loops by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/954
- ⚡ Bolt: Replace for...in iteration with Object.keys in gameStateUtils by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/956
- fix: address mega lint script failures by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/957
- 🧹 [code health: Refactor TourbusStageController update method] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/960
- 🧹 Extract NoteSpritePool from NoteManager by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/959
- 🧹 Extract sub-components from KabelsalatScene to fix overly long function by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/958
- 🧹 [code health improvement] Refactor LaneManager rendering logic by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/963
- 🧹 Extract EffectTextureManager to resolve overly long class by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/962
- 🧹 [code health: Overworld.jsx] extract large render blocks into dedicated components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/961
- 🧹 Code Health: Extract tooltip from MapNode by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/964
- 🧹 refactor: Extract methods to reduce CrowdManager complexity by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/966
- 🧹 [Code Health] Refactor DealCard to reduce complexity by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/967
- 🧹 Code Health: Extract RoadieRunScene UI components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/968
- 🧹 [code health improvement] Refactor RoadieStageController update method into smaller helper methods by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/969
- 🧹 Extract PreGig UI components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/970
- 🧹 [Code Health] Refactor GameOver scene into maintainable UI sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/971
- 🧹 Code Health: Extract SideEffectsSummary to simplify CompletePhase by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/972
- 🧹 Code Health: Refactor NegotiationModal buttons by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/973
- ⚡ Optimize string template context caching by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/974
- 🧹 [Code Health] Extract deal negotiation logic from DealsPhase by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/975
- 🧹 Code Health: Extract chatter logic from ChatterOverlay into custom hook by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/976
- 🧹 [Extract Pixi App Teardown Logic] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/965
- ⚡ Performance refactor: Proper Set usage in Event Engine by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/977
- 🧹 Code Health: [Extract withTimeout utility] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/978
- feat(skills): add playwright-screenshot skill with scripts and references by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/980
- feat(skills): improve playwright-screenshot skill with agent workflow and bug fixes by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/981
- feat(skills): improve playwright-screenshot skill coverage and reliability by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/982
- feat: add alternative screenshot capture for INTRO and MENU scenes by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/983
- improvement: enhance playwright-screenshot skill resilience and validation by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/985
- 🎨 Palette: Add explicit focus states to RoadieControls buttons by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/984
- ⚡ Bolt: Optimize simulation loop and PixiJS filters array allocation by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/986
- Feat: Implement Underground Merch Press by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/987
- ⚡ Bolt: Optimize simulation loops, post-gig filters, and PixiJS filte… by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/997
- 🔒 [security improvement: Math.random removal & API rate limiting] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/988
- 🧪 [testing improvement: i18n configuration initialization] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/989
- 🔒 [security fix] Add rate limiting to leaderboard updates by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/990
- ⚡ Bolt: Optimize Map iteration in RoadieStageController cleanup by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/991
- 🧹 [code health: refactor SettingsPanel] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/992
- 🧹 [remove unused variable in DealsPhase.jsx] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/993
- 🧪 [testing improvement: isForbiddenKey] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/996
- ⚡ [performance improvement: O(1) trait lookup] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/994
- 🧹 Refactor trait handling and normalization by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/998
- fix: add missing propTypes across UI components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1000
- 🧹 [code health improvement] Replace truthiness checks with Object.hasOwn and optimize trait mapping by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/999
- 🧹 [code health: PropTypes validation] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1001
- 🧹 [code health improvement] Extract IntroVideo sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1003
- 🧹 [code health improvement] Extract complex UI sub-components into standalone files for TourbusScene by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1004
- 🧹 [refactor] Extract MainMenu UI sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1005
- 🧹 [code health: extract ConnectionPath from ConnectionPaths] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1006
- fix: UI styling tokenization and component robustness improvements by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1007
- 🧹 [code health improvement] Resolve Simulation State Mutation and Update PostGig Tests by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1011
- 🧪 [testing improvement: Add missing coverage] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1008
- 🧹 [code health improvement] Extract Gig UI components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1009
- 🎨 Palette: [UX improvement] Add ARIA radio roles to SetlistSelector by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1012
- ⚡ Bolt: optimize TourbusStageController memory allocation by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1013
- Rebalance game economy and fix trait data structure by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1016
- 🧪 [testing improvement: fix failing tests and scripts] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1015
- 🎨 Palette: Fix z-index semantics for gig overlays by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1014
- Fix game balancing simulation logic and test suite assertions by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1017
- 🧹 Code Health: Resolve linter warnings and enforce state safety boundaries by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1018
- fix(simulation): use object map for assigning member traits by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1010
- fix: address simulation logic and balance review comments by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1019
- ⚡ Bolt: O(1) lookup for gig events in virality calculation by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1021
- refactor: extract pure game logic functions in useRoadieLogic by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1022
- 🎨 Palette: [refactor] Extract SocketGraphics and PlugGraphics sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1023
- refactor(kabelsalat): extract UI sub-components into standalone files by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1024
- refactor(audio): extract rhythm game logic for testability by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1020
- refactor: Extract SocketList and CableList sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1025
- Refactor: Extract CableItem from CableList by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1026
- ⚡ Bolt: Optimize grudge holder relationship check by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1027
- Refactor: Extract UI sub-components from PostGig phases by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1028
- 🎨 Palette: Extract Kabelsalat Header sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1029
- 🎨 Palette: Extract UI sub-components from Credits.jsx by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1030
- 🎨 Palette: Extract PreGig UI Components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1031
- 🎨 Palette: Extract Kabelsalat Overlays into sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1032
- Refactor: Extract Clinic UI Sub-Components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1033
- fix(simulationUtils): explicitly initialize activeEffects array by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1034
- ⚡ Bolt: optimize standardChatter condition array traversal by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1035
- ⚡ Bolt: Optimize CableList rendering by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1036
- 🎨 Palette: Extract Kabelsalat UI sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1037
- Fix PR review findings across benchmark, engine logic, and SVG components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1040
- Fix benchmark structural issues, unused imports, and React.memo warnings by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1038
- fix: address PR feedback and stabilize code by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1047
- ⚡ Bolt: Optimize error handler context serialization by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1039
- 🎨 Palette: Add focus visible styles to map nodes for keyboard accessibility by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1041
- 🧪 Implement tests and improve robustness for clampNonNegative by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1042
- ⚡ Optimize traits map data structure in DetailedStatsTab by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1045
- Refactor useTravelLogic Hook by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1046
- fix: resolve UI test failure in Credits and format codebase by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1048
- refactor: Extract pure logic from complex hooks to utilities by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1049
- test: add missing unit tests for credit subcomponents by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1050
- fix(logic): address logic edge cases and purity by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1051
- ⚡ [performance] Use Set for hqUpgrades lookup in simulation loop by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1052
- refactor: extract Settings.jsx UI sub-components by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1054
- ⚡ Optimize fetchGenImageAsObjectUrl with object URL caching by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1053
- Refactor useRhythmGameState by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1055
- ⚡ Bolt: Replace Object.values().some() with for...in loop by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1056
- 🎨 Palette: Add keyboard focus rings to Volume Sliders by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1057
- fix: resolve lint warnings and test timeouts by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1060
- fix: resolve data integrity and reducer complexity issues by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1059
- fix: restore instant application of stamina and mood items by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1061
- refactor(arrival): extract pure logic from useArrivalLogic hook by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1064
- refactor: reduce useGigInput cognitive complexity by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1062
- refactor(clinic): extract logic from useClinicLogic into pure utility functions by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1063
- refactor(hooks): extract usePostGigLogic state mutations to postGigUtils.js by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1066
- fix: resolve nitpicks in gigInputUtils and clinicLogicUtils by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1065
- ⚡ Bolt: [performance improvement] Reduce function allocation in quest lookups by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1067
- 🎨 Palette: Add ARIA roles to AudioLockedOverlay by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1068
- fix: clinic heal toast deltas & postGig parameters by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1069
- refactor: useLeaderboardSync pure functions by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1070
- refactor: address nitpick comments on quests and accessibility by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1071
- refactor: extract pirate radio logic to utils by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1072
- refactor: simplify useContrabandStash hook by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1073
- Refactor
useAudioControlfor better testability by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1074 - refactor: simplify useBandHQModal and decouple from business logic by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1075
- fix: resolve leaderboard sync dependencies, pirate broadcast fail-open bug, and audio hooks memoization by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1076
- ⚡ Bolt: [performance improvement] Consolidate React test suites to minimize render overhead by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1077
- refactor: update createSyncPayload to accept primitives by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1078
- ⚡ Bolt: Node.js Test Suite Velocity and Resource Optimization by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1079
- refactor: slim CLAUDE.md from 99 to 22 lines via @AGENTS.md import by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1080
- chore(deps): bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in https://github.com/DaFum/neurotoxic-game/pull/1082
- ⚡ Bolt: [performance improvement] Apply strict game bounds on stat modifiers by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1081
- 🎨 Palette: [UX improvement] Add disabled state tooltips to Clinic buttons by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1083
- refactor: reduce useRhythmGameInput cognitive complexity by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1084
- refactor(hooks): extract buildQuestsProps from useQuestsModal by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1085
- Refactor useRhythmGameAudio to reduce cognitive complexity by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1086
- refactor: Extract pure scoring logic from useRhythmGameScoring by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1087
- Refactor useGigEffects for better testability and reduced complexity by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1088
- refactor: extract pure functions from useRhythmGameLogic by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1089
- refactor: implement rhythm game and UI hook fixes from nitpicks by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1096
- chore(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in https://github.com/DaFum/neurotoxic-game/pull/1090
- ⚡ Bolt: Add React.memo to SVG icons in QuestsModal by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1097
- chore(deps): bump vite from 8.0.1 to 8.0.3 by @dependabot[bot] in https://github.com/DaFum/neurotoxic-game/pull/1091
- chore(deps): bump lucide-react from 0.577.0 to 1.7.0 by @dependabot[bot] in https://github.com/DaFum/neurotoxic-game/pull/1092
- chore(deps): bump i18next from 25.8.20 to 25.10.10 by @dependabot[bot] in https://github.com/DaFum/neurotoxic-game/pull/1093
- chore(deps): bump eslint from 10.0.3 to 10.1.0 by @dependabot[bot] in https://github.com/DaFum/neurotoxic-game/pull/1094
- chore(deps): bump yaml from 2.8.2 to 2.8.3 by @dependabot[bot] in https://github.com/DaFum/neurotoxic-game/pull/1095
- 🧹 [code health] architectural improvements and refactoring by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1098
- 🎨 Palette: Add explicit focus rings to Brutalist toggles and slots by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1099
- ⚡ Bolt: Optimize sanitizeContextValue in errorHandler by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1100
- ✨ feat: [Void Trader] add black market tab to Band HQ by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1102
- 🔒 [security fix description] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1101
- ⚡ Bolt: replace array methods with for loops for performance by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1104
- 🧹 [fix state in effect warning] by @DaFum in https://github.com/DaFum/neurotoxic-game/pull/1105
Full Changelog: Refine...Pre