@gamebob/axon-surge 0.32.0 → 0.34.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 (116) hide show
  1. package/dist/axon-surge.js +12728 -12201
  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/codex/DefaultCodex.d.ts.map +1 -1
  17. package/dist/core/GameEngineCodexInitialization.d.ts +3 -0
  18. package/dist/core/GameEngineCodexInitialization.d.ts.map +1 -0
  19. package/dist/core/GameEngineInitialization.d.ts.map +1 -1
  20. package/dist/core/GameEngineState.d.ts +24 -23
  21. package/dist/core/GameEngineState.d.ts.map +1 -1
  22. package/dist/director/InteractiveTutorial.d.ts +19 -2
  23. package/dist/director/InteractiveTutorial.d.ts.map +1 -1
  24. package/dist/director/SpawnerPatterns.d.ts +2 -2
  25. package/dist/director/SpawnerPatterns.d.ts.map +1 -1
  26. package/dist/director/TutorialMechanicsFactory.d.ts +9 -0
  27. package/dist/director/TutorialMechanicsFactory.d.ts.map +1 -0
  28. package/dist/director/TutorialPreferences.d.ts +12 -0
  29. package/dist/director/TutorialPreferences.d.ts.map +1 -0
  30. package/dist/director/TutorialSetup.d.ts +2 -2
  31. package/dist/director/TutorialSetup.d.ts.map +1 -1
  32. package/dist/director/TutorialUpdateMechanics.d.ts +2 -2
  33. package/dist/director/TutorialUpdateMechanics.d.ts.map +1 -1
  34. package/dist/director/WaveDirector.d.ts +5 -14
  35. package/dist/director/WaveDirector.d.ts.map +1 -1
  36. package/dist/director/WaveSpawnResolver.d.ts +30 -0
  37. package/dist/director/WaveSpawnResolver.d.ts.map +1 -0
  38. package/dist/entities/CoreAppearanceController.d.ts +13 -0
  39. package/dist/entities/CoreAppearanceController.d.ts.map +1 -0
  40. package/dist/entities/CoreEntity.d.ts +16 -25
  41. package/dist/entities/CoreEntity.d.ts.map +1 -1
  42. package/dist/entities/CoreIntegrityController.d.ts +15 -0
  43. package/dist/entities/CoreIntegrityController.d.ts.map +1 -0
  44. package/dist/entities/CoreMechanicController.d.ts +33 -0
  45. package/dist/entities/CoreMechanicController.d.ts.map +1 -0
  46. package/dist/entities/ExperienceOrb.d.ts +1 -6
  47. package/dist/entities/ExperienceOrb.d.ts.map +1 -1
  48. package/dist/entities/ExperienceOrbAppearance.d.ts +7 -0
  49. package/dist/entities/ExperienceOrbAppearance.d.ts.map +1 -0
  50. package/dist/entities/ExperienceOrbLifecycle.d.ts +14 -0
  51. package/dist/entities/ExperienceOrbLifecycle.d.ts.map +1 -0
  52. package/dist/i18n/locales.d.ts +19 -0
  53. package/dist/i18n/locales.d.ts.map +1 -1
  54. package/dist/input/InputEventBinder.d.ts +7 -1
  55. package/dist/input/InputEventBinder.d.ts.map +1 -1
  56. package/dist/input/InputManager.d.ts +11 -13
  57. package/dist/input/InputManager.d.ts.map +1 -1
  58. package/dist/input/PointerTracker.d.ts +20 -0
  59. package/dist/input/PointerTracker.d.ts.map +1 -0
  60. package/dist/objectives/ObjectivePersistence.d.ts +0 -1
  61. package/dist/objectives/ObjectivePersistence.d.ts.map +1 -1
  62. package/dist/objectives/ObjectiveSystem.d.ts +1 -1
  63. package/dist/objectives/ObjectiveSystem.d.ts.map +1 -1
  64. package/dist/objectives/ObjectiveSystemState.d.ts +1 -1
  65. package/dist/objectives/ObjectiveSystemState.d.ts.map +1 -1
  66. package/dist/pool/EnemyPool.d.ts +5 -1
  67. package/dist/pool/EnemyPool.d.ts.map +1 -1
  68. package/dist/powerups/DefaultPowerUps.d.ts +2 -3
  69. package/dist/powerups/DefaultPowerUps.d.ts.map +1 -1
  70. package/dist/powerups/DefaultPowerUpsDefense.d.ts +3 -0
  71. package/dist/powerups/DefaultPowerUpsDefense.d.ts.map +1 -0
  72. package/dist/powerups/DefaultPowerUpsDuration.d.ts +3 -0
  73. package/dist/powerups/DefaultPowerUpsDuration.d.ts.map +1 -0
  74. package/dist/powerups/DefaultPowerUpsMagnet.d.ts +3 -0
  75. package/dist/powerups/DefaultPowerUpsMagnet.d.ts.map +1 -0
  76. package/dist/powerups/DefaultPowerUpsPower.d.ts +3 -0
  77. package/dist/powerups/DefaultPowerUpsPower.d.ts.map +1 -0
  78. package/dist/powerups/PowerUpRegistry.d.ts +4 -4
  79. package/dist/powerups/PowerUpRegistry.d.ts.map +1 -1
  80. package/dist/powerups/PowerUpTypes.d.ts +9 -2
  81. package/dist/powerups/PowerUpTypes.d.ts.map +1 -1
  82. package/dist/progression/CoreRoster.d.ts +3 -2
  83. package/dist/progression/CoreRoster.d.ts.map +1 -1
  84. package/dist/progression/CoreRosterStorage.d.ts +3 -4
  85. package/dist/progression/CoreRosterStorage.d.ts.map +1 -1
  86. package/dist/progression/GeneticMemory.d.ts +3 -14
  87. package/dist/progression/GeneticMemory.d.ts.map +1 -1
  88. package/dist/progression/GeneticMemoryPersistence.d.ts +16 -0
  89. package/dist/progression/GeneticMemoryPersistence.d.ts.map +1 -0
  90. package/dist/progression/StoragePort.d.ts +6 -0
  91. package/dist/progression/StoragePort.d.ts.map +1 -0
  92. package/dist/render/SmasherGeometry.d.ts +14 -0
  93. package/dist/render/SmasherGeometry.d.ts.map +1 -0
  94. package/dist/render/SmasherRenderer.d.ts +1 -3
  95. package/dist/render/SmasherRenderer.d.ts.map +1 -1
  96. package/dist/ui/CodexCanvasFactories.d.ts +9 -0
  97. package/dist/ui/CodexCanvasFactories.d.ts.map +1 -0
  98. package/dist/ui/CodexOverlay.d.ts +7 -0
  99. package/dist/ui/CodexOverlay.d.ts.map +1 -1
  100. package/dist/ui/CoreRosterOverlay.d.ts +3 -0
  101. package/dist/ui/CoreRosterOverlay.d.ts.map +1 -1
  102. package/dist/ui/SettingsModal.d.ts +17 -21
  103. package/dist/ui/SettingsModal.d.ts.map +1 -1
  104. package/dist/ui/SettingsModalView.d.ts +37 -0
  105. package/dist/ui/SettingsModalView.d.ts.map +1 -0
  106. package/dist/ui/SettingsPreferences.d.ts +21 -0
  107. package/dist/ui/SettingsPreferences.d.ts.map +1 -0
  108. package/dist/ui/UiEnvironment.d.ts +6 -0
  109. package/dist/ui/UiEnvironment.d.ts.map +1 -0
  110. package/package.json +1 -1
  111. package/dist/powerups/DefaultPowerUpsPartOneA.d.ts +0 -4
  112. package/dist/powerups/DefaultPowerUpsPartOneA.d.ts.map +0 -1
  113. package/dist/powerups/DefaultPowerUpsPartOneB.d.ts +0 -4
  114. package/dist/powerups/DefaultPowerUpsPartOneB.d.ts.map +0 -1
  115. package/dist/powerups/DefaultPowerUpsPartTwo.d.ts +0 -4
  116. package/dist/powerups/DefaultPowerUpsPartTwo.d.ts.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import type { BossDefinition } from "../content/ContentTypes";
2
2
  import type { BossStartOptions } from "./BossEncounterRuntime";
3
3
  import type { EnemyType, Vector2D } from "../types/game";
4
- import { BossEncounterView } from "./BossEncounterView";
4
+ import type { BossEncounterView } from "./BossEncounterView";
5
+ import { type BossEncounterFactory } from "./BossEncounterFactory";
5
6
  export type BossPhase = "inactive" | "intro" | "tentacles" | "exposed" | "defeated";
6
7
  export interface BossTentacleSnapshot {
7
8
  readonly id: string;
@@ -52,7 +53,38 @@ export interface MutableTentacle {
52
53
  launchPulse: number;
53
54
  regenerationProgress: number;
54
55
  }
55
- export declare class BossEncounter {
56
+ export interface BossEncounterState {
57
+ definition: BossDefinition | null;
58
+ phase: BossPhase;
59
+ tentacles: MutableTentacle[];
60
+ exposureRemaining: number;
61
+ integrity: number;
62
+ maxIntegrity: number;
63
+ impactPulse: number;
64
+ introElapsed: number;
65
+ introDuration: number;
66
+ introTravelElapsed: number;
67
+ introPauseElapsed: number;
68
+ introPauseActive: boolean;
69
+ introPauseCompleted: boolean;
70
+ readonly introPreludeDuration: number;
71
+ readonly introPauseDuration: number;
72
+ launchCooldown: number;
73
+ movementTime: number;
74
+ combatEntryElapsed: number;
75
+ readonly combatEntryDuration: number;
76
+ readonly combatEntryDelay: number;
77
+ arenaWidth: number;
78
+ arenaHeight: number;
79
+ title: string;
80
+ versusLabel: string;
81
+ targetCandidates: BossTentacleTarget[];
82
+ headLaunchPulse: number;
83
+ headLaunchSide: -1 | 1;
84
+ regenerationElapsed: number;
85
+ regenerationActive: boolean;
86
+ }
87
+ export declare class BossEncounter implements BossEncounterState {
56
88
  definition: BossDefinition | null;
57
89
  phase: BossPhase;
58
90
  tentacles: MutableTentacle[];
@@ -84,6 +116,7 @@ export declare class BossEncounter {
84
116
  regenerationActive: boolean;
85
117
  readonly view: BossEncounterView;
86
118
  private readonly runtime;
119
+ constructor(factory?: BossEncounterFactory);
87
120
  start(options: BossStartOptions): void;
88
121
  start(definition: BossDefinition): void;
89
122
  reset(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BossEncounter.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BossEncounter.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { BossEncounterState } from "./BossEncounter";
2
+ import { BossEncounterRuntime } from "./BossEncounterRuntime";
3
+ import { BossEncounterView } from "./BossEncounterView";
4
+ export interface BossEncounterFactory {
5
+ createView(state: BossEncounterState): BossEncounterView;
6
+ createRuntime(state: BossEncounterState, view: BossEncounterView): BossEncounterRuntime;
7
+ }
8
+ export declare const createBossEncounterFactory: () => BossEncounterFactory;
9
+ //# sourceMappingURL=BossEncounterFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BossEncounterFactory.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;IACzD,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;CAC3F;AAED,eAAO,MAAM,0BAA0B,QAAO,oBAG5C,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { BossDefinition } from "../content/ContentTypes";
2
2
  import type { EnemyType, Vector2D } from "../types/game";
3
- import type { BossEncounter, BossLaunchRequest, BossHitResult, BossTentacleTarget } from "./BossEncounter";
3
+ import type { BossEncounterState, BossLaunchRequest, BossHitResult, BossTentacleTarget } from "./BossEncounter";
4
+ import type { BossEncounterView } from "./BossEncounterView";
4
5
  export interface BossStartOptions {
5
6
  definition: BossDefinition;
6
7
  arenaWidth?: number;
@@ -10,8 +11,9 @@ export interface BossStartOptions {
10
11
  targetCandidates?: readonly BossTentacleTarget[];
11
12
  }
12
13
  export declare class BossEncounterRuntime {
13
- readonly encounter: BossEncounter;
14
- constructor(encounter: BossEncounter);
14
+ readonly encounter: BossEncounterState;
15
+ private readonly view;
16
+ constructor(encounter: BossEncounterState, view: BossEncounterView);
15
17
  start(options: BossStartOptions): void;
16
18
  private resetState;
17
19
  private buildTentacles;
@@ -1 +1 @@
1
- {"version":3,"file":"BossEncounterRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE3G,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;AAED,qBAAa,oBAAoB;aACM,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa;IAEpD,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAK7C,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,cAAc;IAoBf,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,GAAE,QAA6B,GAAG,iBAAiB,GAAG,IAAI;IAQhG,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,0BAA0B;IAkBlC,OAAO,CAAC,mBAAmB;IAWpB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,GAAG,aAAa;IAKtF,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,OAAO;CAYlB"}
1
+ {"version":3,"file":"BossEncounterRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;AAED,qBAAa,oBAAoB;aAET,SAAS,EAAE,kBAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADL,SAAS,EAAE,kBAAkB,EAC5B,IAAI,EAAE,iBAAiB;IAGrC,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAK7C,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,cAAc;IAoBf,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,GAAE,QAA6B,GAAG,iBAAiB,GAAG,IAAI;IAQhG,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,0BAA0B;IAkBlC,OAAO,CAAC,mBAAmB;IAWpB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,GAAG,aAAa;IAKtF,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,OAAO;CAYlB"}
@@ -1,8 +1,8 @@
1
- import type { BossEncounter, BossEncounterSnapshot, BossLaunchRequest, BossTentacleTarget, MutableTentacle } from "./BossEncounter";
1
+ import type { BossEncounterState, BossEncounterSnapshot, BossLaunchRequest, BossTentacleTarget, MutableTentacle } from "./BossEncounter";
2
2
  import type { Vector2D } from "../types/game";
3
3
  export declare class BossEncounterView {
4
4
  private readonly encounter;
5
- constructor(encounter: BossEncounter);
5
+ constructor(encounter: BossEncounterState);
6
6
  getBossPosition(corePosition: Vector2D): Vector2D;
7
7
  private isEntryPosition;
8
8
  private getEntryPosition;
@@ -1 +1 @@
1
- {"version":3,"file":"BossEncounterView.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpI,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,qBAAa,iBAAiB;IACP,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAErD,eAAe,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ;IAKxD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAIhB,WAAW,CAAC,YAAY,EAAE,QAAQ,GAAG,qBAAqB,GAAG,IAAI;IAMxE,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,mBAAmB;IAIpB,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,iBAAiB;IAoBvE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAG,QAAQ;IAYxE,eAAe,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ;IASjD,qBAAqB,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAE,QAA6C,GAAG,QAAQ;IAQpH,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,QAAyB,GAAG,QAAQ;IAaxF,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,eAAe,GAAG,IAAI;IAetF,qBAAqB,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE;IASrG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYzC,aAAa,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO;CAIxD"}
1
+ {"version":3,"file":"BossEncounterView.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACzI,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,qBAAa,iBAAiB;IACP,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,kBAAkB;IAE1D,eAAe,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ;IAKxD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAIhB,WAAW,CAAC,YAAY,EAAE,QAAQ,GAAG,qBAAqB,GAAG,IAAI;IAMxE,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,mBAAmB;IAIpB,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,iBAAiB;IAoBvE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAG,QAAQ;IAYxE,eAAe,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ;IASjD,qBAAqB,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAE,QAA6C,GAAG,QAAQ;IAQpH,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,QAAyB,GAAG,QAAQ;IAaxF,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,eAAe,GAAG,IAAI;IAetF,qBAAqB,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE;IASrG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYzC,aAAa,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO;CAIxD"}
@@ -22,7 +22,7 @@ export declare class BossCodex {
22
22
  private readonly listeners;
23
23
  private readonly storage;
24
24
  private hasUnreadChanges;
25
- constructor(definitions: readonly BossCodexDefinition[], storage?: BossCodexStorage | null);
25
+ constructor(definitions: readonly BossCodexDefinition[], storage: BossCodexStorage | null);
26
26
  getEntries(): BossCodexSnapshot[];
27
27
  getEntry(id: string): BossCodexSnapshot | undefined;
28
28
  recordEncounter(id: string): void;
@@ -37,6 +37,5 @@ export declare class BossCodex {
37
37
  private load;
38
38
  private persist;
39
39
  private static readCount;
40
- private static getBrowserStorage;
41
40
  }
42
41
  //# sourceMappingURL=BossCodex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BossCodex.d.ts","sourceRoot":"","sources":["../../src/codex/BossCodex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,YAAY,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAYD,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAS;gBAEd,WAAW,EAAE,SAAS,mBAAmB,EAAE,EAAE,OAAO,GAAE,gBAAgB,GAAG,IAAoC;IAkBzH,UAAU,IAAI,iBAAiB,EAAE;IAOjC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAOnD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASjC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO5C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ/B,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQrC,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,IAAI;IAOnB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,IAAI;IAwBZ,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAOnC"}
1
+ {"version":3,"file":"BossCodex.d.ts","sourceRoot":"","sources":["../../src/codex/BossCodex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,YAAY,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAYD,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAS;gBAEd,WAAW,EAAE,SAAS,mBAAmB,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAkBzF,UAAU,IAAI,iBAAiB,EAAE;IAOjC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAOnD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASjC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO5C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ/B,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQrC,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,IAAI;IAOnB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,IAAI;IAwBZ,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,MAAM,CAAC,SAAS;CAG3B"}
@@ -6,7 +6,7 @@ export declare class Codex {
6
6
  private readonly listeners;
7
7
  private readonly storage;
8
8
  private hasUnreadChanges;
9
- constructor(definitions: readonly CodexEnemyDefinition[], storage?: CodexStorage | null);
9
+ constructor(definitions: readonly CodexEnemyDefinition[], storage: CodexStorage | null);
10
10
  getEntries(): CodexEntrySnapshot[];
11
11
  getEntry(id: string): CodexEntrySnapshot | undefined;
12
12
  hasUnread(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Codex.d.ts","sourceRoot":"","sources":["../../src/codex/Codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,kBAAkB,EAAqB,YAAY,EAAE,MAAM,cAAc,CAAC;AAG3H,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC;AAc/D,qBAAa,KAAK;IACd,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,gBAAgB,CAAS;gBAEd,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAAE,OAAO,GAAE,YAAY,GAAG,IAA0B;IAO5G,UAAU,IAAI,kBAAkB,EAAE;IAIlC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IA2BpD,SAAS,IAAI,OAAO;IAIpB,cAAc,IAAI,MAAM;IAIxB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASvC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAuB5D,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAWzD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWnD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOjC,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAK9C,WAAW,IAAI,IAAI;IAO1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,IAAI;IAgBZ,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,YAAY;CAGvB"}
1
+ {"version":3,"file":"Codex.d.ts","sourceRoot":"","sources":["../../src/codex/Codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,kBAAkB,EAAqB,YAAY,EAAE,MAAM,cAAc,CAAC;AAG3H,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC;AAc/D,qBAAa,KAAK;IACd,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,gBAAgB,CAAS;gBAEd,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAOtF,UAAU,IAAI,kBAAkB,EAAE;IAIlC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IA2BpD,SAAS,IAAI,OAAO;IAIpB,cAAc,IAAI,MAAM;IAIxB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASvC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAuB5D,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAWzD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWnD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOjC,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAK9C,WAAW,IAAI,IAAI;IAO1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,IAAI;IAgBZ,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,YAAY;CAGvB"}
@@ -15,5 +15,4 @@ export declare function readCodexSaveData(storage: CodexStorage | null): CodexSa
15
15
  export declare function buildCodexSaveData(progress: ReadonlyMap<string, CodexMutableProgress>, hasUnread: boolean): CodexSaveData;
16
16
  export declare function readCount(value: unknown): number;
17
17
  export declare function readIds(value: unknown): Set<string>;
18
- export declare function getBrowserStorage(): CodexStorage | null;
19
18
  //# sourceMappingURL=CodexStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodexStorage.d.ts","sourceRoot":"","sources":["../../src/codex/CodexStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAsB,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE7H,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,YAAY,EAAE,SAAS,iBAAiB,EAAyC,CAAC;AAE/F,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAOtH;AAmBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,aAAa,CAW7E;AAeD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,aAAa,CAazH;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAEnD;AAED,wBAAgB,iBAAiB,IAAI,YAAY,GAAG,IAAI,CAMvD"}
1
+ {"version":3,"file":"CodexStorage.d.ts","sourceRoot":"","sources":["../../src/codex/CodexStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAsB,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE7H,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,YAAY,EAAE,SAAS,iBAAiB,EAAyC,CAAC;AAE/F,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAOtH;AAmBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,aAAa,CAW7E;AAeD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,aAAa,CAazH;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAEnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultCodex.d.ts","sourceRoot":"","sources":["../../src/codex/DefaultCodex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAA+C,MAAM,cAAc,CAAC;AAsDtG,eAAO,MAAM,qBAAqB,EAAE,SAAS,oBAAoB,EAMhE,CAAC"}
1
+ {"version":3,"file":"DefaultCodex.d.ts","sourceRoot":"","sources":["../../src/codex/DefaultCodex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAA+C,MAAM,cAAc,CAAC;AA+FtG,eAAO,MAAM,qBAAqB,EAAE,SAAS,oBAAoB,EAMhE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GameEngineState } from "./GameEngineState";
2
+ export declare function initializeCodexAndMissionUi(engine: GameEngineState): void;
3
+ //# sourceMappingURL=GameEngineCodexInitialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameEngineCodexInitialization.d.ts","sourceRoot":"","sources":["../../src/core/GameEngineCodexInitialization.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAazE"}
@@ -1 +1 @@
1
- {"version":3,"file":"GameEngineInitialization.d.ts","sourceRoot":"","sources":["../../src/core/GameEngineInitialization.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAO5E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAa9F"}
1
+ {"version":3,"file":"GameEngineInitialization.d.ts","sourceRoot":"","sources":["../../src/core/GameEngineInitialization.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAiC5E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAc9F"}
@@ -1,7 +1,7 @@
1
1
  import type { EventBus } from "./EventBus";
2
2
  import type { GameLoop } from "./GameLoop";
3
3
  import type { CoreInteractionController } from "./CoreInteractionController";
4
- import { CoreEntity } from "../entities/CoreEntity";
4
+ import type { CoreEntity } from "../entities/CoreEntity";
5
5
  import type { EnemyEntity } from "../entities/EnemyEntity";
6
6
  import type { InputManager } from "../input/InputManager";
7
7
  import type { PhysicsEngine } from "../physics/PhysicsEngine";
@@ -15,32 +15,33 @@ import type { InteractiveTutorial } from "../director/InteractiveTutorial";
15
15
  import type { TutorialOverlay } from "../ui/TutorialOverlay";
16
16
  import type { ProgressBar } from "../ui/ProgressBar";
17
17
  import type { OrbitingModifierOrb } from "../powerups/OrbitingModifierOrb";
18
- import { GameConfigManager } from "../config/GameConfig";
19
- import { PowerUpRegistry } from "../powerups/PowerUpRegistry";
18
+ import type { GameConfigManager } from "../config/GameConfig";
19
+ import type { PowerUpRegistry } from "../powerups/PowerUpRegistry";
20
20
  import type { I18nService } from "../i18n/I18nService";
21
21
  import type { Theme, ThemeManager } from "../theme/ThemeManager";
22
22
  import type { EntityFactory } from "../factory/EntityFactory";
23
+ import type { ContentRegistry } from "../content/ContentRegistry";
23
24
  import type { ExperienceOrb } from "../entities/ExperienceOrb";
24
25
  import type { EcosomaOrb } from "../entities/EcosomaOrb";
25
26
  import type { PerformanceAudit } from "./PerformanceAudit";
26
- import { GeneticMemory } from "../progression/GeneticMemory";
27
- import { CoreRoster } from "../progression/CoreRoster";
27
+ import type { GeneticMemory } from "../progression/GeneticMemory";
28
+ import type { CoreRoster } from "../progression/CoreRoster";
28
29
  import type { CoreRunSummary } from "../progression/CoreProgressionTypes";
29
30
  import type { GeneticMemoryOverlay } from "../ui/GeneticMemoryOverlay";
30
31
  import type { CoreRosterOverlay } from "../ui/CoreRosterOverlay";
31
32
  import type { CoreRunSummaryOverlay } from "../ui/CoreRunSummaryOverlay";
32
- import { Codex } from "../codex/Codex";
33
+ import type { Codex } from "../codex/Codex";
33
34
  import type { CodexOverlay } from "../ui/CodexOverlay";
34
35
  import type { CodexToast } from "../ui/CodexToast";
35
36
  import type { ObjectivesOverlay } from "../ui/ObjectivesOverlay";
36
37
  import type { MissionsDrawer } from "../ui/MissionsDrawer";
37
38
  import type { ObjectiveToast } from "../ui/ObjectiveToast";
38
- import { BossCodex } from "../codex/BossCodex";
39
- import { ObjectiveSystem } from "../objectives/ObjectiveSystem";
40
- import { MissionGenerator } from "../objectives/MissionGenerator";
39
+ import type { BossCodex } from "../codex/BossCodex";
40
+ import type { ObjectiveSystem } from "../objectives/ObjectiveSystem";
41
+ import type { MissionGenerator } from "../objectives/MissionGenerator";
41
42
  import type { ObjectiveReward } from "../objectives/ObjectiveTypes";
42
- import { AreaDirector } from "../areas/AreaDirector";
43
- import { BossEncounter } from "../bosses/BossEncounter";
43
+ import type { AreaDirector } from "../areas/AreaDirector";
44
+ import type { BossEncounter } from "../bosses/BossEncounter";
44
45
  import type { BossCatalystOrb } from "../entities/BossCatalystOrb";
45
46
  import type { RepelWaveProjectile } from "../entities/RepelWaveProjectile";
46
47
  import type { GamePlatform } from "../platform/platform";
@@ -82,19 +83,19 @@ export declare abstract class GameEngineState {
82
83
  tutorialOverlay: TutorialOverlay;
83
84
  progressBar: ProgressBar;
84
85
  performanceAudit: PerformanceAudit;
85
- readonly content: import("../content/ContentRegistry").ContentRegistry;
86
+ content: ContentRegistry;
86
87
  entityFactory: EntityFactory;
87
- readonly configManager: GameConfigManager;
88
- readonly corePreview: CoreEntity;
89
- readonly powerUpRegistry: PowerUpRegistry;
90
- readonly geneticMemory: GeneticMemory;
91
- readonly coreRoster: CoreRoster;
92
- readonly codex: Codex;
93
- readonly missionGenerator: MissionGenerator;
94
- readonly bossCodex: BossCodex;
95
- readonly objectives: ObjectiveSystem;
96
- readonly areaDirector: AreaDirector;
97
- readonly bossEncounter: BossEncounter;
88
+ configManager: GameConfigManager;
89
+ corePreview: CoreEntity;
90
+ powerUpRegistry: PowerUpRegistry;
91
+ geneticMemory: GeneticMemory;
92
+ coreRoster: CoreRoster;
93
+ codex: Codex;
94
+ missionGenerator: MissionGenerator;
95
+ bossCodex: BossCodex;
96
+ objectives: ObjectiveSystem;
97
+ areaDirector: AreaDirector;
98
+ bossEncounter: BossEncounter;
98
99
  unsubscribeCodex: (() => void) | null;
99
100
  unsubscribeBossCodex: (() => void) | null;
100
101
  unsubscribeCoreRoster: (() => void) | null;
@@ -1 +1 @@
1
- {"version":3,"file":"GameEngineState.d.ts","sourceRoot":"","sources":["../../src/core/GameEngineState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameEngineState.d.ts","sourceRoot":"","sources":["../../src/core/GameEngineState.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,27 @@ import type { EntityFactory } from "../factory/EntityFactory";
3
3
  import type { TutorialDefinition } from "../content/ContentTypes";
4
4
  import type { Vector2D } from "../types/game";
5
5
  import type { Translations } from "../i18n/locales";
6
- export declare class InteractiveTutorial {
6
+ import type { TutorialPreferences } from "./TutorialPreferences";
7
+ import { type TutorialMechanicsFactory } from "./TutorialMechanicsFactory";
8
+ export interface InteractiveTutorialState {
7
9
  readonly factory: EntityFactory;
8
10
  definition: TutorialDefinition | null;
9
- constructor(factory: EntityFactory, definition?: TutorialDefinition | null);
11
+ isActive: boolean;
12
+ showWarning: boolean;
13
+ primary: EnemyEntity | null;
14
+ secondary: EnemyEntity | null;
15
+ initialPrimaryPos: Vector2D;
16
+ initialSecondaryPos: Vector2D;
17
+ readonly corePosition: Vector2D;
18
+ waveTarget: Vector2D | null;
19
+ repellentWaveElapsed: number;
20
+ isTutorialEnabled(): boolean;
21
+ }
22
+ export declare class InteractiveTutorial implements InteractiveTutorialState {
23
+ readonly factory: EntityFactory;
24
+ private readonly preferences;
25
+ definition: TutorialDefinition | null;
26
+ constructor(factory: EntityFactory, preferences: TutorialPreferences, definition?: TutorialDefinition | null, mechanicsFactory?: TutorialMechanicsFactory);
10
27
  isActive: boolean;
11
28
  showWarning: boolean;
12
29
  primary: EnemyEntity | null;
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveTutorial.d.ts","sourceRoot":"","sources":["../../src/director/InteractiveTutorial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,qBAAa,mBAAmB;aAER,OAAO,EAAE,aAAa;IAC/B,UAAU,EAAE,kBAAkB,GAAG,IAAI;gBAD5B,OAAO,EAAE,aAAa,EAC/B,UAAU,GAAE,kBAAkB,GAAG,IAAW;IAGhD,QAAQ,UAAS;IACjB,WAAW,UAAS;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IACnC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAQ;IACrC,iBAAiB,EAAE,QAAQ,CAAkB;IAC7C,mBAAmB,EAAE,QAAQ,CAAkB;IACtD,SAAgB,YAAY,EAAE,QAAQ,CAAkB;IACjD,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACnC,oBAAoB,SAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IAElE,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI;IAK1D,aAAa,IAAI,OAAO;IAIxB,iBAAiB,IAAI,OAAO;IAQ5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM1C,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC,aAAa,IAAI,QAAQ,GAAG,IAAI;IAMvC,OAAO,CAAC,oBAAoB;IAIrB,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI;IAIpD,OAAO,IAAI,CAAC,GAAG,CAAC;IAOvB,OAAO,CAAC,cAAc;IAIf,iBAAiB,IAAI,MAAM,YAAY;IAMvC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAIxE,MAAM,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAIhJ,QAAQ,IAAI,IAAI;CAQ1B"}
1
+ {"version":3,"file":"InteractiveTutorial.d.ts","sourceRoot":"","sources":["../../src/director/InteractiveTutorial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3G,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,mBAAmB,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;IAChC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,IAAI,OAAO,CAAC;CAChC;AAED,qBAAa,mBAAoB,YAAW,wBAAwB;aAE5C,OAAO,EAAE,aAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW;IACrB,UAAU,EAAE,kBAAkB,GAAG,IAAI;gBAF5B,OAAO,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,EAC1C,UAAU,GAAE,kBAAkB,GAAG,IAAW,EACnD,gBAAgB,GAAE,wBAA2D;IAM1E,QAAQ,UAAS;IACjB,WAAW,UAAS;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IACnC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAQ;IACrC,iBAAiB,EAAE,QAAQ,CAAkB;IAC7C,mBAAmB,EAAE,QAAQ,CAAkB;IACtD,SAAgB,YAAY,EAAE,QAAQ,CAAkB;IACjD,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACnC,oBAAoB,SAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsD;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEzE,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI;IAK1D,aAAa,IAAI,OAAO;IAIxB,iBAAiB,IAAI,OAAO;IAI5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC,aAAa,IAAI,QAAQ,GAAG,IAAI;IAMvC,OAAO,CAAC,oBAAoB;IAIrB,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI;IAIpD,OAAO,IAAI,CAAC,GAAG,CAAC;IAOvB,OAAO,CAAC,cAAc;IAIf,iBAAiB,IAAI,MAAM,YAAY;IAMvC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAIxE,MAAM,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAIhJ,QAAQ,IAAI,IAAI;CAQ1B"}
@@ -1,12 +1,12 @@
1
1
  import type { EnemyEntity } from "../entities/EnemyEntity";
2
- import type { EnemyPool } from "../pool/EnemyPool";
2
+ import type { EnemyPoolPort } from "../pool/EnemyPool";
3
3
  import type { EntityFactory } from "../factory/EntityFactory";
4
4
  import type { Vector2D, EnemyType } from "../types/game";
5
5
  export type VariantResolver = (enemyId: EnemyType) => string | undefined;
6
6
  export type SpawnerPatternOptions = {
7
7
  algorithmId: string;
8
8
  factory: EntityFactory;
9
- pool: EnemyPool;
9
+ pool: EnemyPoolPort;
10
10
  enemyIds: readonly EnemyType[];
11
11
  corePos: Vector2D;
12
12
  width: number;
@@ -1 +1 @@
1
- {"version":3,"file":"SpawnerPatterns.d.ts","sourceRoot":"","sources":["../../src/director/SpawnerPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAWF,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAOhC;WAEY,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAIpD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;WAc7D,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAkBjE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAiBhE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAU7D,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAgBhE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAahE,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;IASlF,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB,OAAO,CAAC,MAAM,CAAC,UAAU;IAWzB,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOlC"}
1
+ {"version":3,"file":"SpawnerPatterns.d.ts","sourceRoot":"","sources":["../../src/director/SpawnerPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAWF,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAOhC;WAEY,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAIpD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;WAc7D,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAkBjE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAiBhE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAU7D,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAgBhE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAahE,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;IASlF,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB,OAAO,CAAC,MAAM,CAAC,UAAU;IAWzB,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOlC"}
@@ -0,0 +1,9 @@
1
+ import type { InteractiveTutorialState } from "./InteractiveTutorial";
2
+ import { TutorialSetup } from "./TutorialSetup";
3
+ import { TutorialUpdateMechanics } from "./TutorialUpdateMechanics";
4
+ export interface TutorialMechanicsFactory {
5
+ createSetup(state: InteractiveTutorialState): TutorialSetup;
6
+ createUpdates(state: InteractiveTutorialState, setup: TutorialSetup): TutorialUpdateMechanics;
7
+ }
8
+ export declare const createTutorialMechanicsFactory: () => TutorialMechanicsFactory;
9
+ //# sourceMappingURL=TutorialMechanicsFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TutorialMechanicsFactory.d.ts","sourceRoot":"","sources":["../../src/director/TutorialMechanicsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACrC,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,aAAa,CAAC;IAC5D,aAAa,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,aAAa,GAAG,uBAAuB,CAAC;CACjG;AAED,eAAO,MAAM,8BAA8B,QAAO,wBAGhD,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface TutorialPreferences {
2
+ isEnabled(): boolean;
3
+ setEnabled(enabled: boolean): void;
4
+ }
5
+ export declare class BrowserTutorialPreferences implements TutorialPreferences {
6
+ private readonly storage;
7
+ constructor(storage?: Storage | null);
8
+ isEnabled(): boolean;
9
+ setEnabled(enabled: boolean): void;
10
+ private static getStorage;
11
+ }
12
+ //# sourceMappingURL=TutorialPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TutorialPreferences.d.ts","sourceRoot":"","sources":["../../src/director/TutorialPreferences.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAChC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAEtB,OAAO,GAAE,OAAO,GAAG,IAA8C;IAI7E,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,OAAO,CAAC,MAAM,CAAC,UAAU;CAO5B"}
@@ -1,10 +1,10 @@
1
1
  import type { EnemyEntity } from "../entities/EnemyEntity";
2
2
  import type { Vector2D } from "../types/game";
3
3
  import type { EnemyType } from "../types/game";
4
- import type { InteractiveTutorial } from "./InteractiveTutorial";
4
+ import type { InteractiveTutorialState } from "./InteractiveTutorial";
5
5
  export declare class TutorialSetup {
6
6
  private readonly tutorial;
7
- constructor(tutorial: InteractiveTutorial);
7
+ constructor(tutorial: InteractiveTutorialState);
8
8
  start(width: number, height: number, activeEnemies: EnemyEntity[]): void;
9
9
  private startMechanic;
10
10
  startRepellent(width: number, height: number, activeEnemies: EnemyEntity[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"TutorialSetup.d.ts","sourceRoot":"","sources":["../../src/director/TutorialSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,qBAAa,aAAa;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,mBAAmB;IAE1D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAa/E,OAAO,CAAC,aAAa;IAad,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAsBjF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAY/E,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,WAAW;IAM/E,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAI7C,YAAY,IAAI,IAAI;IAgB3B,OAAO,CAAC,aAAa;CAcxB"}
1
+ {"version":3,"file":"TutorialSetup.d.ts","sourceRoot":"","sources":["../../src/director/TutorialSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,qBAAa,aAAa;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,wBAAwB;IAE/D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAa/E,OAAO,CAAC,aAAa;IAad,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAsBjF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAY/E,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,WAAW;IAM/E,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAI7C,YAAY,IAAI,IAAI;IAgB3B,OAAO,CAAC,aAAa;CAcxB"}
@@ -1,5 +1,5 @@
1
1
  import type { EnemyEntity } from "../entities/EnemyEntity";
2
- import type { InteractiveTutorial } from "./InteractiveTutorial";
2
+ import type { InteractiveTutorialState } from "./InteractiveTutorial";
3
3
  import type { TutorialSetup } from "./TutorialSetup";
4
4
  export interface TutorialUpdateOptions {
5
5
  dt: number;
@@ -12,7 +12,7 @@ export interface TutorialUpdateOptions {
12
12
  export declare class TutorialUpdateMechanics {
13
13
  private readonly tutorial;
14
14
  private readonly setup;
15
- constructor(tutorial: InteractiveTutorial, setup: TutorialSetup);
15
+ constructor(tutorial: InteractiveTutorialState, setup: TutorialSetup);
16
16
  update(options: TutorialUpdateOptions): void;
17
17
  private ensureEnemies;
18
18
  private updateMechanic;
@@ -1 +1 @@
1
- {"version":3,"file":"TutorialUpdateMechanics.d.ts","sourceRoot":"","sources":["../../src/director/TutorialUpdateMechanics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,qBAAa,uBAAuB;IAE5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,aAAa;IAGlC,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAOnD,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;CAGxB"}
1
+ {"version":3,"file":"TutorialUpdateMechanics.d.ts","sourceRoot":"","sources":["../../src/director/TutorialUpdateMechanics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,qBAAa,uBAAuB;IAE5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,QAAQ,EAAE,wBAAwB,EAClC,KAAK,EAAE,aAAa;IAGlC,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAOnD,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;CAGxB"}
@@ -1,9 +1,9 @@
1
1
  import type { Vector2D, EnemyType } from "../types/game";
2
2
  import type { EnemyEntity } from "../entities/EnemyEntity";
3
+ import type { EnemyPoolPort } from "../pool/EnemyPool";
3
4
  import type { EntityFactory } from "../factory/EntityFactory";
4
- import type { ContentRegistry } from "../content/ContentRegistry";
5
5
  import type { AreaDefinition } from "../content/ContentTypes";
6
- import type { UnlockState } from "../progression/ProgressionTypes";
6
+ import type { WaveSpawnResolver } from "./WaveSpawnResolver";
7
7
  type WaveUpdateOptions = {
8
8
  dt: number;
9
9
  activeEnemies: EnemyEntity[];
@@ -13,16 +13,14 @@ type WaveUpdateOptions = {
13
13
  };
14
14
  export declare class WaveDirector {
15
15
  private readonly factory;
16
- private readonly content;
17
- private readonly unlockState?;
16
+ private readonly spawnResolver;
18
17
  wave: number;
19
- private pool;
18
+ private readonly pool;
20
19
  private spawnTimer;
21
20
  private waveTimer;
22
21
  private patternCooldown;
23
22
  private initialGracePeriod;
24
- private area;
25
- constructor(factory: EntityFactory, content: ContentRegistry, unlockState?: UnlockState | undefined);
23
+ constructor(factory: EntityFactory, spawnResolver: WaveSpawnResolver, pool: EnemyPoolPort);
26
24
  reset(): void;
27
25
  setArea(area: AreaDefinition | null): void;
28
26
  getAvailableEnemyIds(): ReadonlySet<EnemyType>;
@@ -36,13 +34,6 @@ export declare class WaveDirector {
36
34
  private spawnSingleEnemy;
37
35
  spawnBossMinion(origin: Vector2D, corePos: Vector2D, launchDirection?: Vector2D): EnemyEntity | null;
38
36
  private spawnPatternFormation;
39
- private getAvailableEnemyDefinitions;
40
- private getAvailablePatternEnemyIds;
41
- private getEnemyWeight;
42
- private getPatternWeight;
43
- private getVariantResolver;
44
- private selectVariantForSpawn;
45
- private selectWeightedEnemy;
46
37
  }
47
38
  export {};
48
39
  //# sourceMappingURL=WaveDirector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,KAAK,iBAAiB,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,qBAAa,YAAY;IAUjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAX1B,IAAI,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,IAAI,CAA+B;gBAGtB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,WAAW,YAAA;IAKvC,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAK1C,oBAAoB,IAAI,WAAW,CAAC,SAAS,CAAC;IAI9C,sBAAsB,IAAI,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAM9E,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,GAAG,IAAI;IACtD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;IAe7H,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,gBAAgB;IAyBjB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;IAoB3G,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,mBAAmB;CAU9B"}
1
+ {"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,KAAK,iBAAiB,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,qBAAa,YAAY;IAQjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAR3B,IAAI,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,CAAe;gBAEpB,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,iBAAiB,EACjD,IAAI,EAAE,aAAa;IAKhB,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAK1C,oBAAoB,IAAI,WAAW,CAAC,SAAS,CAAC;IAI9C,sBAAsB,IAAI,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9E,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,GAAG,IAAI;IACtD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;IAe7H,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,gBAAgB;IAejB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;IAoB3G,OAAO,CAAC,qBAAqB;CAehC"}
@@ -0,0 +1,30 @@
1
+ import type { AreaDefinition, EnemyDefinition, SpawnerPatternDefinition } from "../content/ContentTypes";
2
+ import type { ContentRegistry } from "../content/ContentRegistry";
3
+ import type { UnlockState } from "../progression/ProgressionTypes";
4
+ import type { EnemyType } from "../types/game";
5
+ import type { VariantResolver } from "./SpawnerPatterns";
6
+ export interface SelectedSpawnPattern {
7
+ readonly pattern: SpawnerPatternDefinition;
8
+ readonly enemyIds: EnemyType[];
9
+ }
10
+ export declare class WaveSpawnResolver {
11
+ private readonly content;
12
+ private readonly unlockState;
13
+ private area;
14
+ constructor(content: ContentRegistry, unlockState: UnlockState | undefined);
15
+ setArea(area: AreaDefinition | null): void;
16
+ getAvailableEnemyIds(): ReadonlySet<EnemyType>;
17
+ getBossTentacleTargets(): ReadonlyArray<{
18
+ enemyId: EnemyType;
19
+ color: string;
20
+ }>;
21
+ getAvailableEnemyDefinitions(): EnemyDefinition[];
22
+ selectWeightedEnemy(definitions?: EnemyDefinition[]): EnemyType | null;
23
+ selectPattern(): SelectedSpawnPattern | null;
24
+ getVariantResolver(): VariantResolver;
25
+ private getAvailablePatternEnemyIds;
26
+ private getEnemyWeight;
27
+ private getPatternWeight;
28
+ private selectVariantForSpawn;
29
+ }
30
+ //# sourceMappingURL=WaveSpawnResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaveSpawnResolver.d.ts","sourceRoot":"","sources":["../../src/director/WaveSpawnResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;CAClC;AAED,qBAAa,iBAAiB;IAItB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJhC,OAAO,CAAC,IAAI,CAA+B;gBAGtB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,GAAG,SAAS;IAGlD,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAI1C,oBAAoB,IAAI,WAAW,CAAC,SAAS,CAAC;IAI9C,sBAAsB,IAAI,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAM9E,4BAA4B,IAAI,eAAe,EAAE;IASjD,mBAAmB,CAAC,WAAW,GAAE,eAAe,EAAwC,GAAG,SAAS,GAAG,IAAI;IAW3G,aAAa,IAAI,oBAAoB,GAAG,IAAI;IAe5C,kBAAkB,IAAI,eAAe;IAI5C,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,qBAAqB;CAWhC"}
@@ -0,0 +1,13 @@
1
+ export interface CoreRgbColor {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ }
6
+ export declare class CoreAppearanceController {
7
+ color: CoreRgbColor;
8
+ readonly powerUpColors: string[];
9
+ absorbPowerUpColor(hexColor: string, weight: number): void;
10
+ getColorHex(): string;
11
+ reset(): void;
12
+ }
13
+ //# sourceMappingURL=CoreAppearanceController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreAppearanceController.d.ts","sourceRoot":"","sources":["../../src/entities/CoreAppearanceController.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,wBAAwB;IAC1B,KAAK,EAAE,YAAY,CAA4B;IACtD,SAAgB,aAAa,EAAE,MAAM,EAAE,CAAM;IAEtC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB1D,WAAW,IAAI,MAAM;IAKrB,KAAK,IAAI,IAAI;CAIvB"}