@gamebob/axon-surge 0.32.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/axon-surge.js +12456 -12282
  2. package/dist/bosses/BossEncounter.d.ts +35 -2
  3. package/dist/bosses/BossEncounter.d.ts.map +1 -1
  4. package/dist/bosses/BossEncounterFactory.d.ts +9 -0
  5. package/dist/bosses/BossEncounterFactory.d.ts.map +1 -0
  6. package/dist/bosses/BossEncounterRuntime.d.ts +5 -3
  7. package/dist/bosses/BossEncounterRuntime.d.ts.map +1 -1
  8. package/dist/bosses/BossEncounterView.d.ts +2 -2
  9. package/dist/bosses/BossEncounterView.d.ts.map +1 -1
  10. package/dist/codex/BossCodex.d.ts +1 -2
  11. package/dist/codex/BossCodex.d.ts.map +1 -1
  12. package/dist/codex/Codex.d.ts +1 -1
  13. package/dist/codex/Codex.d.ts.map +1 -1
  14. package/dist/codex/CodexStorage.d.ts +0 -1
  15. package/dist/codex/CodexStorage.d.ts.map +1 -1
  16. package/dist/core/GameEngineCodexInitialization.d.ts +3 -0
  17. package/dist/core/GameEngineCodexInitialization.d.ts.map +1 -0
  18. package/dist/core/GameEngineInitialization.d.ts.map +1 -1
  19. package/dist/core/GameEngineState.d.ts +24 -23
  20. package/dist/core/GameEngineState.d.ts.map +1 -1
  21. package/dist/director/InteractiveTutorial.d.ts +19 -2
  22. package/dist/director/InteractiveTutorial.d.ts.map +1 -1
  23. package/dist/director/SpawnerPatterns.d.ts +2 -2
  24. package/dist/director/SpawnerPatterns.d.ts.map +1 -1
  25. package/dist/director/TutorialMechanicsFactory.d.ts +9 -0
  26. package/dist/director/TutorialMechanicsFactory.d.ts.map +1 -0
  27. package/dist/director/TutorialPreferences.d.ts +12 -0
  28. package/dist/director/TutorialPreferences.d.ts.map +1 -0
  29. package/dist/director/TutorialSetup.d.ts +2 -2
  30. package/dist/director/TutorialSetup.d.ts.map +1 -1
  31. package/dist/director/TutorialUpdateMechanics.d.ts +2 -2
  32. package/dist/director/TutorialUpdateMechanics.d.ts.map +1 -1
  33. package/dist/director/WaveDirector.d.ts +5 -14
  34. package/dist/director/WaveDirector.d.ts.map +1 -1
  35. package/dist/director/WaveSpawnResolver.d.ts +30 -0
  36. package/dist/director/WaveSpawnResolver.d.ts.map +1 -0
  37. package/dist/entities/CoreAppearanceController.d.ts +13 -0
  38. package/dist/entities/CoreAppearanceController.d.ts.map +1 -0
  39. package/dist/entities/CoreEntity.d.ts +16 -25
  40. package/dist/entities/CoreEntity.d.ts.map +1 -1
  41. package/dist/entities/CoreIntegrityController.d.ts +15 -0
  42. package/dist/entities/CoreIntegrityController.d.ts.map +1 -0
  43. package/dist/entities/CoreMechanicController.d.ts +33 -0
  44. package/dist/entities/CoreMechanicController.d.ts.map +1 -0
  45. package/dist/entities/ExperienceOrb.d.ts +1 -6
  46. package/dist/entities/ExperienceOrb.d.ts.map +1 -1
  47. package/dist/entities/ExperienceOrbAppearance.d.ts +7 -0
  48. package/dist/entities/ExperienceOrbAppearance.d.ts.map +1 -0
  49. package/dist/entities/ExperienceOrbLifecycle.d.ts +14 -0
  50. package/dist/entities/ExperienceOrbLifecycle.d.ts.map +1 -0
  51. package/dist/input/InputEventBinder.d.ts +7 -1
  52. package/dist/input/InputEventBinder.d.ts.map +1 -1
  53. package/dist/input/InputManager.d.ts +11 -13
  54. package/dist/input/InputManager.d.ts.map +1 -1
  55. package/dist/input/PointerTracker.d.ts +20 -0
  56. package/dist/input/PointerTracker.d.ts.map +1 -0
  57. package/dist/objectives/ObjectivePersistence.d.ts +0 -1
  58. package/dist/objectives/ObjectivePersistence.d.ts.map +1 -1
  59. package/dist/objectives/ObjectiveSystem.d.ts +1 -1
  60. package/dist/objectives/ObjectiveSystem.d.ts.map +1 -1
  61. package/dist/objectives/ObjectiveSystemState.d.ts +1 -1
  62. package/dist/objectives/ObjectiveSystemState.d.ts.map +1 -1
  63. package/dist/pool/EnemyPool.d.ts +5 -1
  64. package/dist/pool/EnemyPool.d.ts.map +1 -1
  65. package/dist/powerups/DefaultPowerUps.d.ts +2 -3
  66. package/dist/powerups/DefaultPowerUps.d.ts.map +1 -1
  67. package/dist/powerups/DefaultPowerUpsDefense.d.ts +3 -0
  68. package/dist/powerups/DefaultPowerUpsDefense.d.ts.map +1 -0
  69. package/dist/powerups/DefaultPowerUpsDuration.d.ts +3 -0
  70. package/dist/powerups/DefaultPowerUpsDuration.d.ts.map +1 -0
  71. package/dist/powerups/DefaultPowerUpsMagnet.d.ts +3 -0
  72. package/dist/powerups/DefaultPowerUpsMagnet.d.ts.map +1 -0
  73. package/dist/powerups/DefaultPowerUpsPower.d.ts +3 -0
  74. package/dist/powerups/DefaultPowerUpsPower.d.ts.map +1 -0
  75. package/dist/powerups/PowerUpRegistry.d.ts +4 -4
  76. package/dist/powerups/PowerUpRegistry.d.ts.map +1 -1
  77. package/dist/powerups/PowerUpTypes.d.ts +9 -2
  78. package/dist/powerups/PowerUpTypes.d.ts.map +1 -1
  79. package/dist/progression/CoreRoster.d.ts +3 -2
  80. package/dist/progression/CoreRoster.d.ts.map +1 -1
  81. package/dist/progression/CoreRosterStorage.d.ts +3 -4
  82. package/dist/progression/CoreRosterStorage.d.ts.map +1 -1
  83. package/dist/progression/GeneticMemory.d.ts +3 -14
  84. package/dist/progression/GeneticMemory.d.ts.map +1 -1
  85. package/dist/progression/GeneticMemoryPersistence.d.ts +16 -0
  86. package/dist/progression/GeneticMemoryPersistence.d.ts.map +1 -0
  87. package/dist/progression/StoragePort.d.ts +6 -0
  88. package/dist/progression/StoragePort.d.ts.map +1 -0
  89. package/dist/render/SmasherGeometry.d.ts +14 -0
  90. package/dist/render/SmasherGeometry.d.ts.map +1 -0
  91. package/dist/render/SmasherRenderer.d.ts +1 -3
  92. package/dist/render/SmasherRenderer.d.ts.map +1 -1
  93. package/dist/ui/CodexCanvasFactories.d.ts +9 -0
  94. package/dist/ui/CodexCanvasFactories.d.ts.map +1 -0
  95. package/dist/ui/CodexOverlay.d.ts +7 -0
  96. package/dist/ui/CodexOverlay.d.ts.map +1 -1
  97. package/dist/ui/CoreRosterOverlay.d.ts +3 -0
  98. package/dist/ui/CoreRosterOverlay.d.ts.map +1 -1
  99. package/dist/ui/SettingsModal.d.ts +17 -21
  100. package/dist/ui/SettingsModal.d.ts.map +1 -1
  101. package/dist/ui/SettingsModalView.d.ts +37 -0
  102. package/dist/ui/SettingsModalView.d.ts.map +1 -0
  103. package/dist/ui/SettingsPreferences.d.ts +21 -0
  104. package/dist/ui/SettingsPreferences.d.ts.map +1 -0
  105. package/dist/ui/UiEnvironment.d.ts +6 -0
  106. package/dist/ui/UiEnvironment.d.ts.map +1 -0
  107. package/package.json +1 -1
  108. package/dist/powerups/DefaultPowerUpsPartOneA.d.ts +0 -4
  109. package/dist/powerups/DefaultPowerUpsPartOneA.d.ts.map +0 -1
  110. package/dist/powerups/DefaultPowerUpsPartOneB.d.ts +0 -4
  111. package/dist/powerups/DefaultPowerUpsPartOneB.d.ts.map +0 -1
  112. package/dist/powerups/DefaultPowerUpsPartTwo.d.ts +0 -4
  113. package/dist/powerups/DefaultPowerUpsPartTwo.d.ts.map +0 -1
@@ -1,35 +1,27 @@
1
1
  import type { Vector2D } from "../types/game";
2
- import type { GameConfigManager } from "../config/GameConfig";
2
+ import type { CoreConfig } from "../config/GameConfig";
3
3
  import type { CoreMechanic } from "../progression/CoreProgressionTypes";
4
+ import { type CoreRgbColor } from "./CoreAppearanceController";
4
5
  export declare class CoreEntity {
5
- private readonly configManager;
6
+ private readonly config;
6
7
  position: Vector2D;
7
8
  radius: number;
8
- integrity: number;
9
- maxIntegrity: number;
10
9
  pulsePhase: number;
11
10
  organicSeed: number;
12
- mechanic: CoreMechanic;
13
- repelDirection: Vector2D;
14
- repelHoverDirection: Vector2D;
15
- repelHoverCompression: number;
16
- repelPulse: number;
17
- smasherImpactsRemaining: number;
18
- smasherCooldownTimer: number;
19
- smasherImpactPulse: number;
20
- smasherBreakPulse: number;
21
- smasherRetractionOrigin: Vector2D | null;
22
- smasherArmColor: string;
23
- invulnerabilityTimer: number;
24
11
  maxInvulnerabilityDuration: number;
25
- customColor: {
26
- r: number;
27
- g: number;
28
- b: number;
29
- };
30
- powerUpCount: number;
31
- collectedPowerUpColors: string[];
32
- constructor(x: number, y: number, configManager: GameConfigManager);
12
+ private readonly mechanics;
13
+ private readonly appearance;
14
+ private readonly integrityController;
15
+ get customColor(): CoreRgbColor;
16
+ get powerUpCount(): number;
17
+ get collectedPowerUpColors(): readonly string[];
18
+ get integrity(): number;
19
+ get maxIntegrity(): number;
20
+ get invulnerabilityTimer(): number;
21
+ get mechanic(): CoreMechanic;
22
+ get repairProgress(): number;
23
+ get smasherImpactPulse(): number;
24
+ constructor(x: number, y: number, config: CoreConfig);
33
25
  absorbPowerUpColor(hexColor: string, weight?: number): void;
34
26
  setMechanic(mechanic: CoreMechanic): void;
35
27
  triggerRepel(direction: Vector2D): void;
@@ -46,7 +38,6 @@ export declare class CoreEntity {
46
38
  getColorHex(): string;
47
39
  update(dt: number): void;
48
40
  getMembraneRadius(angle: number): number;
49
- repairProgress: number;
50
41
  addKillRepair(): boolean;
51
42
  heal(amount?: number): boolean;
52
43
  addMaxRing(amount?: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEntity.d.ts","sourceRoot":"","sources":["../../src/entities/CoreEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,qBAAa,UAAU;IA6Bf,OAAO,CAAC,QAAQ,CAAC,aAAa;IA5B3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAK;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAc;IACpC,cAAc,EAAE,QAAQ,CAAkB;IAC1C,mBAAmB,EAAE,QAAQ,CAAkB;IAC/C,qBAAqB,EAAE,MAAM,CAAK;IAClC,UAAU,EAAE,MAAM,CAAK;IACvB,uBAAuB,EAAE,MAAM,CAAK;IACpC,oBAAoB,EAAE,MAAM,CAAK;IACjC,kBAAkB,EAAE,MAAM,CAAK;IAC/B,iBAAiB,EAAE,MAAM,CAAK;IAC9B,uBAAuB,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAChD,eAAe,EAAE,MAAM,CAAa;IAEpC,oBAAoB,EAAE,MAAM,CAAK;IACjC,0BAA0B,EAAE,MAAM,CAAC;IAEnC,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAA4B;IAC5E,YAAY,EAAE,MAAM,CAAK;IACzB,sBAAsB,EAAE,MAAM,EAAE,CAAM;gBAGzC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACQ,aAAa,EAAE,iBAAiB;IAW9C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,IAAI;IAejE,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAUvC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAcxD,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,IAAI,QAAQ;IAI7B,cAAc,IAAI,OAAO;IAIzB,oBAAoB,IAAI,OAAO;IAU/B,qBAAqB,IAAI,MAAM;IAK/B,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhE,4BAA4B,IAAI,QAAQ,GAAG,IAAI;IAW/C,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAOzB,WAAW,IAAI,MAAM;IAOrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAiBxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOxC,cAAc,EAAE,MAAM,CAAK;IAE3B,aAAa,IAAI,OAAO;IAgBxB,IAAI,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO;IASjC,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAKpC,UAAU,IAAI,OAAO;IAYrB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;CAwB3C"}
1
+ {"version":3,"file":"CoreEntity.d.ts","sourceRoot":"","sources":["../../src/entities/CoreEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGzF,qBAAa,UAAU;IA6Cf,OAAO,CAAC,QAAQ,CAAC,MAAM;IA5CpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAK;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0B;IAE9D,IAAW,WAAW,IAAI,YAAY,CAErC;IACD,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,IAAW,sBAAsB,IAAI,SAAS,MAAM,EAAE,CAErD;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAED,IAAW,QAAQ,IAAI,YAAY,CAElC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;gBAGG,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACQ,MAAM,EAAE,UAAU;IAUhC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,IAAI;IAIjE,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAIvC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAIxD,mBAAmB,IAAI,MAAM;IAI7B,iBAAiB,IAAI,QAAQ;IAI7B,cAAc,IAAI,OAAO;IAIzB,oBAAoB,IAAI,OAAO;IAI/B,qBAAqB,IAAI,MAAM;IAI/B,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIhE,4BAA4B,IAAI,QAAQ,GAAG,IAAI;IAI/C,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAOzB,WAAW,IAAI,MAAM;IAIrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOxC,aAAa,IAAI,OAAO;IAIxB,IAAI,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO;IAMjC,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAIpC,UAAU,IAAI,OAAO;IAIrB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;CAS3C"}
@@ -0,0 +1,15 @@
1
+ import type { CoreConfig } from "../config/GameConfig";
2
+ export declare class CoreIntegrityController {
3
+ private readonly config;
4
+ integrity: number;
5
+ maxIntegrity: number;
6
+ invulnerabilityTimer: number;
7
+ constructor(config: CoreConfig);
8
+ update(dt: number): void;
9
+ addKillRepair(rate: number, addRepairProgress: (amount: number) => boolean): boolean;
10
+ heal(amount: number, resetRepairProgress: () => void): boolean;
11
+ addMaxRing(amount?: number): void;
12
+ takeDamage(): boolean;
13
+ reset(): void;
14
+ }
15
+ //# sourceMappingURL=CoreIntegrityController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreIntegrityController.d.ts","sourceRoot":"","sources":["../../src/entities/CoreIntegrityController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,uBAAuB;IAKb,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,SAAK;gBAEI,MAAM,EAAE,UAAU;IAK/C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAOpF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,IAAI,GAAG,OAAO;IAO9D,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAKpC,UAAU,IAAI,OAAO;IAOrB,KAAK,IAAI,IAAI;CAKvB"}
@@ -0,0 +1,33 @@
1
+ import type { CoreConfig } from "../config/GameConfig";
2
+ import type { CoreMechanic } from "../progression/CoreProgressionTypes";
3
+ import type { Vector2D } from "../types/game";
4
+ export declare class CoreMechanicController {
5
+ private readonly config;
6
+ mechanic: CoreMechanic;
7
+ repelDirection: Vector2D;
8
+ repelHoverDirection: Vector2D;
9
+ repelHoverCompression: number;
10
+ repelPulse: number;
11
+ smasherImpactsRemaining: number;
12
+ smasherCooldownTimer: number;
13
+ smasherImpactPulse: number;
14
+ smasherBreakPulse: number;
15
+ smasherRetractionOrigin: Vector2D | null;
16
+ smasherArmColor: string;
17
+ repairProgress: number;
18
+ constructor(config: CoreConfig);
19
+ setMechanic(mechanic: CoreMechanic): void;
20
+ triggerRepel(direction: Vector2D): void;
21
+ setRepelHoverDirection(direction: Vector2D | null): void;
22
+ getRepelCompression(): number;
23
+ getRepelDirection(): Vector2D;
24
+ canSmasherGrab(): boolean;
25
+ consumeSmasherImpact(): boolean;
26
+ getSmasherArmStrength(): number;
27
+ startSmasherRetraction(origin: Vector2D, armColor: string): void;
28
+ getSmasherRetractionEndpoint(corePosition: Vector2D): Vector2D | null;
29
+ update(dt: number): void;
30
+ addRepairProgress(rate: number): boolean;
31
+ reset(): void;
32
+ }
33
+ //# sourceMappingURL=CoreMechanicController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreMechanicController.d.ts","sourceRoot":"","sources":["../../src/entities/CoreMechanicController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,qBAAa,sBAAsB;IAcZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbnC,QAAQ,EAAE,YAAY,CAAc;IACpC,cAAc,EAAE,QAAQ,CAAkB;IAC1C,mBAAmB,EAAE,QAAQ,CAAkB;IAC/C,qBAAqB,SAAK;IAC1B,UAAU,SAAK;IACf,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,SAAK;IACzB,kBAAkB,SAAK;IACvB,iBAAiB,SAAK;IACtB,uBAAuB,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAChD,eAAe,SAAa;IAC5B,cAAc,SAAK;gBAEU,MAAM,EAAE,UAAU;IAI/C,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAOvC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAWxD,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,IAAI,QAAQ;IAI7B,cAAc,IAAI,OAAO;IAIzB,oBAAoB,IAAI,OAAO;IAU/B,qBAAqB,IAAI,MAAM;IAK/B,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhE,4BAA4B,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAUrE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAYxB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQxC,KAAK,IAAI,IAAI;CAavB"}
@@ -14,9 +14,7 @@ export declare class ExperienceOrb {
14
14
  mergePulse: number;
15
15
  absorbedByCore: boolean;
16
16
  private readonly config;
17
- private mergeTarget;
18
- private mergeStartPosition;
19
- private mergeElapsed;
17
+ private readonly lifecycle;
20
18
  constructor(position: Vector2D, value?: number, config?: ExperienceConfig);
21
19
  static mergeNearby(orbs: ExperienceOrb[], mergeDistance: number): void;
22
20
  static attractNearby(orbs: ExperienceOrb[], config: ExperienceConfig, dt: number): void;
@@ -24,10 +22,7 @@ export declare class ExperienceOrb {
24
22
  mergeWith(other: ExperienceOrb): void;
25
23
  update(dt: number, corePosition: Vector2D, coreRadius: number, absorptionSpeed: number): void;
26
24
  private updateAppearance;
27
- private getTierColor;
28
- private updateMergeAnimation;
29
25
  getBaseRadius(): number;
30
26
  private beginMerge;
31
- private updateAbsorption;
32
27
  }
33
28
  //# sourceMappingURL=ExperienceOrb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExperienceOrb.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiB7D,qBAAa,aAAa;IACtB,SAAgB,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,MAAM,CAAK;IACxB,UAAU,EAAE,MAAM,CAAK;IACvB,cAAc,EAAE,OAAO,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,YAAY,CAAK;gBAEb,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,gBAA4C;WAiBzF,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;WAI/D,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIvF,eAAe,IAAI,IAAI;IAMvB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAyBrC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAsBpG,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,oBAAoB;IA6BrB,aAAa,IAAI,MAAM;IAI9B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;CAc3B"}
1
+ {"version":3,"file":"ExperienceOrb.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAmB7D,qBAAa,aAAa;IACtB,SAAgB,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,MAAM,CAAK;IACxB,UAAU,EAAE,MAAM,CAAK;IACvB,cAAc,EAAE,OAAO,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEvC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,gBAA4C;WAkBzF,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;WAI/D,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIvF,eAAe,IAAI,IAAI;IAMvB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAyBrC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAsBpG,OAAO,CAAC,gBAAgB;IAMjB,aAAa,IAAI,MAAM;IAI9B,OAAO,CAAC,UAAU;CAGrB"}
@@ -0,0 +1,7 @@
1
+ import type { ExperienceConfig } from "../config/GameConfig";
2
+ export interface ExperienceOrbAppearanceState {
3
+ readonly radius: number;
4
+ readonly color: string;
5
+ }
6
+ export declare const getExperienceOrbAppearance: (value: number, config: ExperienceConfig) => ExperienceOrbAppearanceState;
7
+ //# sourceMappingURL=ExperienceOrbAppearance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExperienceOrbAppearance.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrbAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,0BAA0B,GAAI,OAAO,MAAM,EAAE,QAAQ,gBAAgB,KAAG,4BAQpF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ExperienceConfig } from "../config/GameConfig";
2
+ import type { Vector2D } from "../types/game";
3
+ import type { ExperienceOrb } from "./ExperienceOrb";
4
+ export declare class ExperienceOrbLifecycle {
5
+ private readonly config;
6
+ private mergeTarget;
7
+ private mergeStartPosition;
8
+ private mergeElapsed;
9
+ constructor(config: ExperienceConfig);
10
+ beginMerge(orb: ExperienceOrb, target: ExperienceOrb): void;
11
+ updateMerge(orb: ExperienceOrb, dt: number): void;
12
+ updateAbsorption(orb: ExperienceOrb, corePosition: Vector2D, coreRadius: number, absorptionSpeed: number): boolean;
13
+ }
14
+ //# sourceMappingURL=ExperienceOrbLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExperienceOrbLifecycle.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrbLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,sBAAsB;IAKZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ1C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,YAAY,CAAK;gBAEW,MAAM,EAAE,gBAAgB;IAErD,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAS3D,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAyBjD,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;CAc5H"}
@@ -6,5 +6,11 @@ export type InputEventHandlers = {
6
6
  onTouchMove: (clientX: number, clientY: number) => void;
7
7
  onTouchEnd: () => void;
8
8
  };
9
- export declare const bindInputEvents: (canvas: HTMLCanvasElement, handlers: InputEventHandlers) => void;
9
+ export interface InputSurface {
10
+ readonly width: number;
11
+ readonly height: number;
12
+ getBoundingClientRect(): DOMRect;
13
+ addEventListener: HTMLCanvasElement["addEventListener"];
14
+ }
15
+ export declare const bindInputEvents: (surface: InputSurface, handlers: InputEventHandlers) => void;
10
16
  //# sourceMappingURL=InputEventBinder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputEventBinder.d.ts","sourceRoot":"","sources":["../../src/input/InputEventBinder.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,iBAAiB,EAAE,UAAU,kBAAkB,KAAG,IA2BzF,CAAC"}
1
+ {"version":3,"file":"InputEventBinder.d.ts","sourceRoot":"","sources":["../../src/input/InputEventBinder.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qBAAqB,IAAI,OAAO,CAAC;IACjC,gBAAgB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,YAAY,EAAE,UAAU,kBAAkB,KAAG,IA2BrF,CAAC"}
@@ -1,21 +1,20 @@
1
1
  import type { Vector2D } from "../types/game";
2
2
  import type { EnemyEntity } from "../entities/EnemyEntity";
3
3
  import type { OrbitingModifierOrb } from "../powerups/OrbitingModifierOrb";
4
- import type { GameConfigManager } from "../config/GameConfig";
4
+ import type { GameConfigData } from "../config/GameConfig";
5
+ import type { InputSurface } from "./InputEventBinder";
5
6
  export declare class InputManager {
6
- pointerPosition: Vector2D;
7
- isPointerDown: boolean;
8
- hasPointerPosition: boolean;
9
- lastPointerWasTouch: boolean;
10
7
  grabbedEnemy: EnemyEntity | null;
11
8
  grabbedOrb: OrbitingModifierOrb | null;
12
- dragStart: Vector2D | null;
13
- private pointerHistory;
14
- private canvas;
15
- private readonly configManager;
16
- constructor(canvas: HTMLCanvasElement, configManager: GameConfigManager);
17
- private updatePointerPos;
18
- private bindEvents;
9
+ private readonly pointer;
10
+ private readonly config;
11
+ constructor(surface: InputSurface, config: GameConfigData);
12
+ get pointerPosition(): Vector2D;
13
+ get isPointerDown(): boolean;
14
+ get hasPointerPosition(): boolean;
15
+ get lastPointerWasTouch(): boolean;
16
+ get dragStart(): Vector2D | null;
17
+ consumePointerDown(): void;
19
18
  tryGrab(enemies: EnemyEntity[], isTouch?: boolean): EnemyEntity | null;
20
19
  emitRepelWave(enemies: EnemyEntity[], origin: Vector2D, isTouch?: boolean, fallbackOrigin?: Vector2D): EnemyEntity[];
21
20
  private canGrabEnemy;
@@ -28,7 +27,6 @@ export declare class InputManager {
28
27
  forceRelease(): void;
29
28
  reset(): void;
30
29
  private calculateThrow;
31
- private getSwipeVelocity;
32
30
  private scaleVelocity;
33
31
  }
34
32
  //# sourceMappingURL=InputManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,qBAAa,YAAY;IACd,eAAe,EAAE,QAAQ,CAAkB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,kBAAkB,EAAE,OAAO,CAAS;IACpC,mBAAmB,EAAE,OAAO,CAAS;IACrC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC9C,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;gBAEtC,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;IAMvE,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,UAAU;IA+BX,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;IAsB7E,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,OAAe,EAAE,cAAc,GAAE,QAAiB,GAAG,WAAW,EAAE;IAS1I,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAYlB,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,mBAAmB,GAAG,IAAI;IAmB7F,eAAe,IAAI,WAAW,GAAG,IAAI;IAyBrC,mBAAmB,IAAI,WAAW,GAAG,IAAI;IAUzC,YAAY,IAAI,IAAI;IAgBpB,KAAK,IAAI,IAAI;IAQpB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;CAMxB"}
1
+ {"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,qBAAa,YAAY;IACd,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc;IAOzD,IAAW,eAAe,IAAI,QAAQ,CAErC;IACD,IAAW,aAAa,IAAI,OAAO,CAElC;IACD,IAAW,kBAAkB,IAAI,OAAO,CAEvC;IACD,IAAW,mBAAmB,IAAI,OAAO,CAExC;IACD,IAAW,SAAS,IAAI,QAAQ,GAAG,IAAI,CAEtC;IAEM,kBAAkB,IAAI,IAAI;IAI1B,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;IAsB7E,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,OAAe,EAAE,cAAc,GAAE,QAAiB,GAAG,WAAW,EAAE;IAQ1I,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAYlB,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,mBAAmB,GAAG,IAAI;IAmB7F,eAAe,IAAI,WAAW,GAAG,IAAI;IAoBrC,mBAAmB,IAAI,WAAW,GAAG,IAAI;IASzC,YAAY,IAAI,IAAI;IAepB,KAAK,IAAI,IAAI;IAMpB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,aAAa;CAMxB"}
@@ -0,0 +1,20 @@
1
+ import type { Vector2D } from "../types/game";
2
+ import type { InputSurface } from "./InputEventBinder";
3
+ export declare class PointerTracker {
4
+ private readonly surface;
5
+ private readonly onPositionChanged;
6
+ position: Vector2D;
7
+ isDown: boolean;
8
+ hasPosition: boolean;
9
+ lastWasTouch: boolean;
10
+ dragStart: Vector2D | null;
11
+ private pointerHistory;
12
+ constructor(surface: InputSurface, onPositionChanged: (position: Vector2D) => void);
13
+ resetHistory(): void;
14
+ getSwipeVelocity(): Vector2D;
15
+ clearInteractionState(): void;
16
+ reset(): void;
17
+ private bindEvents;
18
+ private updatePosition;
19
+ }
20
+ //# sourceMappingURL=PointerTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointerTracker.d.ts","sourceRoot":"","sources":["../../src/input/PointerTracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQvD,qBAAa,cAAc;IAUnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAV/B,QAAQ,EAAE,QAAQ,CAAkB;IACpC,MAAM,UAAS;IACf,WAAW,UAAS;IACpB,YAAY,UAAS;IACrB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;gBAGxB,OAAO,EAAE,YAAY,EACrB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IAK7D,YAAY,IAAI,IAAI;IAIpB,gBAAgB,IAAI,QAAQ;IAQ5B,qBAAqB,IAAI,IAAI;IAK7B,KAAK,IAAI,IAAI;IAKpB,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,cAAc;CAczB"}
@@ -14,6 +14,5 @@ export declare function buildObjectiveSaveData(input: {
14
14
  unlockedRewardIds: readonly string[];
15
15
  }): ObjectiveSaveData;
16
16
  export declare function readInteger(value: unknown): number;
17
- export declare function getBrowserStorage(): ObjectiveStorage | null;
18
17
  export declare function progressRecord(progress: ReadonlyMap<string, ObjectiveProgress>): Record<string, ObjectiveProgress>;
19
18
  //# sourceMappingURL=ObjectivePersistence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectivePersistence.d.ts","sourceRoot":"","sources":["../../src/objectives/ObjectivePersistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGxI,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,oBAAoB,GAAG,oBAAoB,CAQpG;AAWD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAWrH;AAgCD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC1C,uBAAuB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtD,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACxD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC1D,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAAG,iBAAiB,CAapB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAElD;AAoCD,wBAAgB,iBAAiB,IAAI,gBAAgB,GAAG,IAAI,CAM3D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAElH"}
1
+ {"version":3,"file":"ObjectivePersistence.d.ts","sourceRoot":"","sources":["../../src/objectives/ObjectivePersistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGxI,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,oBAAoB,GAAG,oBAAoB,CAQpG;AAWD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAWrH;AAgCD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC1C,uBAAuB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtD,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACxD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC1D,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAAG,iBAAiB,CAapB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAElD;AAoCD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAElH"}
@@ -1,7 +1,7 @@
1
1
  import type { ObjectiveDefinitions, ObjectiveEvent, ObjectiveKind, ObjectiveListener, ObjectiveRewardApplier, ObjectiveStorage } from "./ObjectiveTypes";
2
2
  import { ObjectiveSystemState } from "./ObjectiveSystemState";
3
3
  export declare class ObjectiveSystem extends ObjectiveSystemState {
4
- constructor(definitions: ObjectiveDefinitions, storage?: ObjectiveStorage | null, rewardApplier?: ObjectiveRewardApplier | null);
4
+ constructor(definitions: ObjectiveDefinitions, storage: ObjectiveStorage | null, rewardApplier?: ObjectiveRewardApplier | null);
5
5
  record(event: ObjectiveEvent): void;
6
6
  claim(kind: ObjectiveKind, id: string): boolean;
7
7
  debugComplete(kind: ObjectiveKind, id: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectiveSystem.d.ts","sourceRoot":"","sources":["../../src/objectives/ObjectiveSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKR,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,iBAAiB,EAEjB,sBAAsB,EACtB,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA2BtF,qBAAa,eAAgB,SAAQ,oBAAoB;gBAClC,WAAW,EAAE,oBAAoB,EAAE,OAAO,GAAE,gBAAgB,GAAG,IAA0B,EAAE,aAAa,GAAE,sBAAsB,GAAG,IAAW;IAI1J,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IASnC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAa/C,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAevD,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAKzD,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;CAKhC"}
1
+ {"version":3,"file":"ObjectiveSystem.d.ts","sourceRoot":"","sources":["../../src/objectives/ObjectiveSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKR,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,iBAAiB,EAEjB,sBAAsB,EACtB,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA0BtF,qBAAa,eAAgB,SAAQ,oBAAoB;gBAClC,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAAE,aAAa,GAAE,sBAAsB,GAAG,IAAW;IAIpI,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IASnC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAa/C,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAevD,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAKzD,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;CAKhC"}
@@ -13,7 +13,7 @@ export declare abstract class ObjectiveSystemState {
13
13
  protected missionRerolls: number;
14
14
  protected activeChallengeId: string | null;
15
15
  protected unlockedRewardIds: Set<string>;
16
- protected constructor(definitions: ObjectiveDefinitions, storage?: ObjectiveStorage | null, rewardApplier?: ObjectiveRewardApplier | null);
16
+ protected constructor(definitions: ObjectiveDefinitions, storage: ObjectiveStorage | null, rewardApplier?: ObjectiveRewardApplier | null);
17
17
  getSnapshots(kind?: ObjectiveKind): ObjectiveSnapshot[];
18
18
  getSnapshot(kind: ObjectiveKind, id: string): ObjectiveSnapshot;
19
19
  installMission(definition: MissionDefinition, assignedAt?: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectiveSystemState.d.ts","sourceRoot":"","sources":["../../src/objectives/ObjectiveSystemState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,sBAAsB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAa9F,eAAO,MAAM,sBAAsB,QAAO,iBAKxC,CAAC;AAwBH,8BAAsB,oBAAoB;IACtC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,iCAAwC;IAC7E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,SAAS,eAAoB,eAAe,KAAK,IAAI,EAAI;IAC5E,SAAS,CAAC,QAAQ,CAAC,QAAQ,qDAA4D;IACvF,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACrC,SAAS,CAAC,iBAAiB,SAAK;IAChC,SAAS,CAAC,cAAc,SAAK;IAC7B,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,iBAAiB,cAAqB;IAChD,SAAS,aAAa,WAAW,EAAE,oBAAoB,EAAE,OAAO,GAAE,gBAAgB,GAAG,IAA0B,EAAE,aAAa,GAAE,sBAAsB,GAAG,IAAW;IAc7J,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,iBAAiB,EAAE;IAIvD,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAoB/D,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,GAAE,MAAmB,GAAG,IAAI;IAQpF,gBAAgB,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO;IAInD,aAAa,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO;IAM/E,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAG1C,kBAAkB,IAAI,iBAAiB,GAAG,SAAS;IAGnD,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKtD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAG3C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IASnD,qBAAqB,IAAI,IAAI;IAWpC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,sBAAsB,EAAE;IAGhF,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,sBAAsB;IAKhF,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAKpD,SAAS,CAAC,OAAO,IAAI,IAAI;IAmBzB,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAG/C,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,YAAY;CAYvB"}
1
+ {"version":3,"file":"ObjectiveSystemState.d.ts","sourceRoot":"","sources":["../../src/objectives/ObjectiveSystemState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,sBAAsB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAa9F,eAAO,MAAM,sBAAsB,QAAO,iBAKxC,CAAC;AAwBH,8BAAsB,oBAAoB;IACtC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,iCAAwC;IAC7E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,SAAS,eAAoB,eAAe,KAAK,IAAI,EAAI;IAC5E,SAAS,CAAC,QAAQ,CAAC,QAAQ,qDAA4D;IACvF,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACrC,SAAS,CAAC,iBAAiB,SAAK;IAChC,SAAS,CAAC,cAAc,SAAK;IAC7B,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,iBAAiB,cAAqB;IAChD,SAAS,aAAa,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAAE,aAAa,GAAE,sBAAsB,GAAG,IAAW;IAcvI,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,iBAAiB,EAAE;IAIvD,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAoB/D,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,GAAE,MAAmB,GAAG,IAAI;IAQpF,gBAAgB,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO;IAInD,aAAa,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO;IAM/E,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAG1C,kBAAkB,IAAI,iBAAiB,GAAG,SAAS;IAGnD,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKtD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAG3C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IASnD,qBAAqB,IAAI,IAAI;IAWpC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,sBAAsB,EAAE;IAGhF,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,sBAAsB;IAKhF,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAKpD,SAAS,CAAC,OAAO,IAAI,IAAI;IAmBzB,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAG/C,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,YAAY;CAYvB"}
@@ -1,5 +1,9 @@
1
1
  import { EnemyEntity } from "../entities/EnemyEntity";
2
- export declare class EnemyPool {
2
+ export interface EnemyPoolPort {
3
+ get(): EnemyEntity;
4
+ resetAll(): void;
5
+ }
6
+ export declare class EnemyPool implements EnemyPoolPort {
3
7
  private pool;
4
8
  constructor(capacity?: number);
5
9
  get(): EnemyEntity;
@@ -1 +1 @@
1
- {"version":3,"file":"EnemyPool.d.ts","sourceRoot":"","sources":["../../src/pool/EnemyPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBAAa,SAAS;IAClB,OAAO,CAAC,IAAI,CAAqB;gBAErB,QAAQ,GAAE,MAAY;IAO3B,GAAG,IAAI,WAAW;IAalB,QAAQ,IAAI,IAAI;CAK1B"}
1
+ {"version":3,"file":"EnemyPool.d.ts","sourceRoot":"","sources":["../../src/pool/EnemyPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC1B,GAAG,IAAI,WAAW,CAAC;IACnB,QAAQ,IAAI,IAAI,CAAC;CACpB;AAED,qBAAa,SAAU,YAAW,aAAa;IAC3C,OAAO,CAAC,IAAI,CAAqB;gBAErB,QAAQ,GAAE,MAAY;IAO3B,GAAG,IAAI,WAAW;IAalB,QAAQ,IAAI,IAAI;CAK1B"}
@@ -1,4 +1,3 @@
1
- import type { PowerUpDefinition } from "./PowerUpTypes";
2
- import type { GameConfigManager } from "../config/GameConfig";
3
- export declare const createDefaultPowerUps: (configManager: GameConfigManager) => PowerUpDefinition[];
1
+ import type { PowerUpConfigPort, PowerUpDefinition } from "./PowerUpTypes";
2
+ export declare const createDefaultPowerUps: (configPort: PowerUpConfigPort) => PowerUpDefinition[];
4
3
  //# sourceMappingURL=DefaultPowerUps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultPowerUps.d.ts","sourceRoot":"","sources":["../../src/powerups/DefaultPowerUps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,eAAO,MAAM,qBAAqB,GAAI,eAAe,iBAAiB,KAAG,iBAAiB,EAIzF,CAAC"}
1
+ {"version":3,"file":"DefaultPowerUps.d.ts","sourceRoot":"","sources":["../../src/powerups/DefaultPowerUps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAM3E,eAAO,MAAM,qBAAqB,GAAI,YAAY,iBAAiB,KAAG,iBAAiB,EAKtF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PowerUpConfigPort, PowerUpDefinition } from "./PowerUpTypes";
2
+ export declare const createDefensePowerUps: (config: PowerUpConfigPort) => PowerUpDefinition[];
3
+ //# sourceMappingURL=DefaultPowerUpsDefense.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPowerUpsDefense.d.ts","sourceRoot":"","sources":["../../src/powerups/DefaultPowerUpsDefense.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAmE3E,eAAO,MAAM,qBAAqB,GAAI,QAAQ,iBAAiB,KAAG,iBAAiB,EAAyH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PowerUpConfigPort, PowerUpDefinition } from "./PowerUpTypes";
2
+ export declare const createDurationPowerUps: (config: PowerUpConfigPort) => PowerUpDefinition[];
3
+ //# sourceMappingURL=DefaultPowerUpsDuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPowerUpsDuration.d.ts","sourceRoot":"","sources":["../../src/powerups/DefaultPowerUpsDuration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA8C3E,eAAO,MAAM,sBAAsB,GAAI,QAAQ,iBAAiB,KAAG,iBAAiB,EAAiE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PowerUpConfigPort, PowerUpDefinition } from "./PowerUpTypes";
2
+ export declare const createMagnetPowerUps: (config: PowerUpConfigPort) => PowerUpDefinition[];
3
+ //# sourceMappingURL=DefaultPowerUpsMagnet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPowerUpsMagnet.d.ts","sourceRoot":"","sources":["../../src/powerups/DefaultPowerUpsMagnet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAgC3E,eAAO,MAAM,oBAAoB,GAAI,QAAQ,iBAAiB,KAAG,iBAAiB,EAAgE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PowerUpConfigPort, PowerUpDefinition } from "./PowerUpTypes";
2
+ export declare const createPowerPowerUps: (config: PowerUpConfigPort) => PowerUpDefinition[];
3
+ //# sourceMappingURL=DefaultPowerUpsPower.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPowerUpsPower.d.ts","sourceRoot":"","sources":["../../src/powerups/DefaultPowerUpsPower.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA0K3E,eAAO,MAAM,mBAAmB,GAAI,QAAQ,iBAAiB,KAAG,iBAAiB,EAUhF,CAAC"}
@@ -1,13 +1,13 @@
1
- import type { PowerUpDefinition } from "./PowerUpTypes";
2
- import type { GameConfigManager } from "../config/GameConfig";
1
+ import type { PowerUpConfigPort, PowerUpDefinition } from "./PowerUpTypes";
3
2
  import type { UnlockState } from "../progression/ProgressionTypes";
4
3
  import type { EnemyType } from "../types/game";
4
+ export type PowerUpDefinitionFactory = (configPort: PowerUpConfigPort) => PowerUpDefinition[];
5
5
  export declare class PowerUpRegistry {
6
- private readonly configManager;
6
+ private readonly configPort;
7
7
  private readonly registry;
8
8
  private defaultsRegistered;
9
9
  private readonly defaultPowerUps;
10
- constructor(configManager: GameConfigManager);
10
+ constructor(configPort: PowerUpConfigPort, defaultPowerUpFactory: PowerUpDefinitionFactory);
11
11
  private getDefinitions;
12
12
  getAll(): PowerUpDefinition[];
13
13
  getRandomOptions(count?: number, unlockState?: UnlockState, availableEnemyIds?: ReadonlySet<EnemyType>, coreId?: string): PowerUpDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"PowerUpRegistry.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,qBAAa,eAAe;IAKL,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyD;IAClF,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;gBAElB,aAAa,EAAE,iBAAiB;IAIpE,OAAO,CAAC,cAAc;IAQf,MAAM,IAAI,iBAAiB,EAAE;IAI7B,gBAAgB,CAAC,KAAK,GAAE,MAAU,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAkBvJ,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAaf,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;CAIvD"}
1
+ {"version":3,"file":"PowerUpRegistry.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,iBAAiB,KAAK,iBAAiB,EAAE,CAAC;AAE9F,qBAAa,eAAe;IAMpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyD;IAClF,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;gBAGjC,UAAU,EAAE,iBAAiB,EAC9C,qBAAqB,EAAE,wBAAwB;IAKnD,OAAO,CAAC,cAAc;IAQf,MAAM,IAAI,iBAAiB,EAAE;IAI7B,gBAAgB,CAAC,KAAK,GAAE,MAAU,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAkBvJ,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAaf,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;CAIvD"}
@@ -1,7 +1,14 @@
1
1
  import type { Translations } from "../i18n/locales";
2
2
  import type { GameConfigData } from "../config/GameConfig";
3
- import type { CoreEntity } from "../entities/CoreEntity";
4
3
  import type { EnemyType } from "../types/game";
4
+ export interface PowerUpConfigPort {
5
+ getConfig(): GameConfigData;
6
+ updateConfig(partial: Partial<GameConfigData>): void;
7
+ addCoreRing(amount?: number): void;
8
+ }
9
+ export interface PowerUpCorePort {
10
+ addMaxRing(amount?: number): void;
11
+ }
5
12
  export type PowerUpRarity = "common" | "rare" | "epic" | "legendary";
6
13
  export type PowerUpCategory = "radius" | "duration" | "power" | "defense" | "magnet";
7
14
  export interface PowerUpDefinition {
@@ -16,7 +23,7 @@ export interface PowerUpDefinition {
16
23
  readonly coreIds?: readonly string[];
17
24
  requiredUnlockId?: string;
18
25
  requiredEnemyId?: EnemyType;
19
- apply: (core?: CoreEntity) => void;
26
+ apply: (core?: PowerUpCorePort) => void;
20
27
  isAvailable?: (context: {
21
28
  config: GameConfigData;
22
29
  }) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PowerUpTypes.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,YAAY,CAAC;IAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,KAAK,OAAO,CAAC;CAClE;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAKvD,CAAC"}
1
+ {"version":3,"file":"PowerUpTypes.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAC9B,SAAS,IAAI,cAAc,CAAC;IAC5B,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACrD,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,YAAY,CAAC;IAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,KAAK,OAAO,CAAC;CAClE;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAKvD,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { GeneticMemory, GeneticMemoryStorage } from "./GeneticMemory";
1
+ import type { GeneticMemory } from "./GeneticMemory";
2
+ import type { StoragePort } from "./StoragePort";
2
3
  import type { CoreDefinition, CoreRunSummary, CoreSkillEventId, CoreSnapshot, CoreRosterState } from "./CoreProgressionTypes";
3
4
  export interface CoreEcosomaWallet {
4
5
  getBalance(): number;
@@ -14,7 +15,7 @@ export declare class CoreRoster {
14
15
  private selectedCoreId;
15
16
  private runSkillPoints;
16
17
  private runCoreId;
17
- constructor(definitions: readonly CoreDefinition[], wallet: GeneticMemory | CoreEcosomaWallet, storage?: GeneticMemoryStorage | null);
18
+ constructor(definitions: readonly CoreDefinition[], wallet: GeneticMemory | CoreEcosomaWallet, storage: StoragePort | null);
18
19
  getSelectedCoreId(): string;
19
20
  getSelectedCore(): CoreSnapshot;
20
21
  getSnapshots(): CoreSnapshot[];
@@ -1 +1 @@
1
- {"version":3,"file":"CoreRoster.d.ts","sourceRoot":"","sources":["../../src/progression/CoreRoster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAe,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI/J,MAAM,WAAW,iBAAiB;IAC9B,UAAU,IAAI,MAAM,CAAC;IACrB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAuB;gBAErB,WAAW,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,iBAAiB,EAAE,OAAO,GAAE,oBAAoB,GAAG,IAA0B;IAWzJ,iBAAiB,IAAI,MAAM;IAI3B,eAAe,IAAI,YAAY;IAI/B,YAAY,IAAI,YAAY,EAAE;IAI9B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY;IAarC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe;IAOrC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAU/B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAajC,QAAQ,IAAI,IAAI;IAKhB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAOpE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IA4BlD,wBAAwB,CAAC,MAAM,GAAE,MAA4B,GAAG,MAAM,EAAE;IAKxE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,4BAA4B;CAKvC"}
1
+ {"version":3,"file":"CoreRoster.d.ts","sourceRoot":"","sources":["../../src/progression/CoreRoster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAe,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI/J,MAAM,WAAW,iBAAiB;IAC9B,UAAU,IAAI,MAAM,CAAC;IACrB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAuB;gBAErB,WAAW,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAW1H,iBAAiB,IAAI,MAAM;IAI3B,eAAe,IAAI,YAAY;IAI/B,YAAY,IAAI,YAAY,EAAE;IAI9B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY;IAarC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe;IAOrC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAU/B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAajC,QAAQ,IAAI,IAAI;IAKhB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAOpE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IA4BlD,wBAAwB,CAAC,MAAM,GAAE,MAA4B,GAAG,MAAM,EAAE;IAKxE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,4BAA4B;CAKvC"}
@@ -1,9 +1,8 @@
1
- import type { GeneticMemoryStorage } from "./GeneticMemory";
1
+ import type { StoragePort } from "./StoragePort";
2
2
  import type { CoreRosterSaveData } from "./CoreProgressionTypes";
3
3
  export declare const CORE_ROSTER_STORAGE_KEY = "axon_surge_core_roster";
4
4
  export declare const CURRENT_CORE_ROSTER_SAVE_VERSION = 2;
5
- export declare function readCoreRosterData(storage: GeneticMemoryStorage | null, firstDefinitionId: string): CoreRosterSaveData;
6
- export declare function persistCoreRosterData(storage: GeneticMemoryStorage | null, data: CoreRosterSaveData): void;
7
- export declare function getBrowserStorage(): GeneticMemoryStorage | null;
5
+ export declare function readCoreRosterData(storage: StoragePort | null, firstDefinitionId: string): CoreRosterSaveData;
6
+ export declare function persistCoreRosterData(storage: StoragePort | null, data: CoreRosterSaveData): void;
8
7
  export declare function normalizeCoreInteger(value: unknown): number;
9
8
  //# sourceMappingURL=CoreRosterStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoreRosterStorage.d.ts","sourceRoot":"","sources":["../../src/progression/CoreRosterStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,EAAE,iBAAiB,EAAE,MAAM,GAAG,kBAAkB,CAiBtH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAK1G;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,GAAG,IAAI,CAM/D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE3D"}
1
+ {"version":3,"file":"CoreRosterStorage.d.ts","sourceRoot":"","sources":["../../src/progression/CoreRosterStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,iBAAiB,EAAE,MAAM,GAAG,kBAAkB,CAiB7G;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAKjG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE3D"}
@@ -1,19 +1,16 @@
1
1
  import type { GeneticMemoryNodeDefinition, GeneticPassiveEffectId, GeneticNodeState, UnlockState } from "./ProgressionTypes";
2
+ import type { GeneticMemoryPersistence } from "./GeneticMemoryPersistence";
2
3
  export interface GeneticMemoryNodeSnapshot extends GeneticMemoryNodeDefinition {
3
4
  readonly state: GeneticNodeState;
4
5
  }
5
- export interface GeneticMemoryStorage {
6
- getItem(key: string): string | null;
7
- setItem(key: string, value: string): void;
8
- }
9
6
  export declare class GeneticMemory implements UnlockState {
10
7
  private readonly definitions;
11
- private readonly storage;
8
+ private readonly persistence;
12
9
  private readonly listeners;
13
10
  private ecosoma;
14
11
  private unlockedIds;
15
12
  private lastAcquiredNodeId;
16
- constructor(definitions: readonly GeneticMemoryNodeDefinition[], storage?: GeneticMemoryStorage | null);
13
+ constructor(definitions: readonly GeneticMemoryNodeDefinition[], persistence: GeneticMemoryPersistence);
17
14
  getBalance(): number;
18
15
  collectEcosoma(amount?: number): void;
19
16
  spendEcosoma(amount: number): boolean;
@@ -28,17 +25,9 @@ export declare class GeneticMemory implements UnlockState {
28
25
  subscribe(listener: () => void): () => void;
29
26
  private requireNode;
30
27
  private load;
31
- private readStoredData;
32
28
  private static createDefinitions;
33
29
  private static validatePrerequisites;
34
- private static emptySave;
35
- private static parseStoredData;
36
- private static readVersion;
37
- private static readEcosoma;
38
- private static readUnlockedIds;
39
- private static readLastAcquiredNodeId;
40
30
  private persist;
41
31
  private notify;
42
- private static getBrowserStorage;
43
32
  }
44
33
  //# sourceMappingURL=GeneticMemory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneticMemory.d.ts","sourceRoot":"","sources":["../../src/progression/GeneticMemory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,gBAAgB,EAAuB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAElJ,MAAM,WAAW,yBAA0B,SAAQ,2BAA2B;IAC1E,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAKD,qBAAa,aAAc,YAAW,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,kBAAkB,CAAuB;gBAE9B,WAAW,EAAE,SAAS,2BAA2B,EAAE,EAAE,OAAO,GAAE,oBAAoB,GAAG,IAAwC;IAOzI,UAAU,IAAI,MAAM;IAIpB,cAAc,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IASxC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUrC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQtC,qBAAqB,IAAI,MAAM,GAAG,SAAS;IAQ3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAI5D,yBAAyB,IAAI,sBAAsB,EAAE;IAIrD,QAAQ,IAAI,yBAAyB,EAAE;IAOvC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAS1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAa7B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,IAAI;IAiBZ,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAchC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,OAAO,CAAC,MAAM,CAAC,eAAe;IAa9B,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B,OAAO,CAAC,MAAM,CAAC,WAAW;IAK1B,OAAO,CAAC,MAAM,CAAC,eAAe;IAK9B,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAIrC,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAOnC"}
1
+ {"version":3,"file":"GeneticMemory.d.ts","sourceRoot":"","sources":["../../src/progression/GeneticMemory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7H,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,WAAW,yBAA0B,SAAQ,2BAA2B;IAC1E,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;CACpC;AAED,qBAAa,aAAc,YAAW,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,kBAAkB,CAAuB;gBAE9B,WAAW,EAAE,SAAS,2BAA2B,EAAE,EAAE,WAAW,EAAE,wBAAwB;IAOtG,UAAU,IAAI,MAAM;IAIpB,cAAc,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IASxC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUrC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQtC,qBAAqB,IAAI,MAAM,GAAG,SAAS;IAQ3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAI5D,yBAAyB,IAAI,sBAAsB,EAAE;IAIrD,QAAQ,IAAI,yBAAyB,EAAE;IAOvC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAS1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAa7B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,IAAI;IAiBZ,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAchC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;CAGjB"}