@austencloud/backgrounds 0.1.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 (867) hide show
  1. package/css/backgrounds.css +63 -0
  2. package/css/index.css +8 -0
  3. package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.d.ts +145 -0
  4. package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.d.ts.map +1 -0
  5. package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.js +124 -0
  6. package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.js.map +1 -0
  7. package/dist/backgrounds/autumn-drift/domain/models/autumn-models.d.ts +39 -0
  8. package/dist/backgrounds/autumn-drift/domain/models/autumn-models.d.ts.map +1 -0
  9. package/dist/backgrounds/autumn-drift/domain/models/autumn-models.js +4 -0
  10. package/dist/backgrounds/autumn-drift/domain/models/autumn-models.js.map +1 -0
  11. package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.d.ts +40 -0
  12. package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.d.ts.map +1 -0
  13. package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.js +136 -0
  14. package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.js.map +1 -0
  15. package/dist/backgrounds/autumn-drift/services/LeafSystem.d.ts +11 -0
  16. package/dist/backgrounds/autumn-drift/services/LeafSystem.d.ts.map +1 -0
  17. package/dist/backgrounds/autumn-drift/services/LeafSystem.js +302 -0
  18. package/dist/backgrounds/autumn-drift/services/LeafSystem.js.map +1 -0
  19. package/dist/backgrounds/autumn-drift/services/WindSystem.d.ts +10 -0
  20. package/dist/backgrounds/autumn-drift/services/WindSystem.d.ts.map +1 -0
  21. package/dist/backgrounds/autumn-drift/services/WindSystem.js +100 -0
  22. package/dist/backgrounds/autumn-drift/services/WindSystem.js.map +1 -0
  23. package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.d.ts +332 -0
  24. package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.d.ts.map +1 -0
  25. package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.js +315 -0
  26. package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.js.map +1 -0
  27. package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.d.ts +82 -0
  28. package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.d.ts.map +1 -0
  29. package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.js +153 -0
  30. package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.js.map +1 -0
  31. package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.d.ts +37 -0
  32. package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.d.ts.map +1 -0
  33. package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.js +5 -0
  34. package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.js.map +1 -0
  35. package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.d.ts +100 -0
  36. package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.d.ts.map +1 -0
  37. package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.js +259 -0
  38. package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.js.map +1 -0
  39. package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.d.ts +17 -0
  40. package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.d.ts.map +1 -0
  41. package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.js +632 -0
  42. package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.js.map +1 -0
  43. package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.d.ts +30 -0
  44. package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.d.ts.map +1 -0
  45. package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.js +139 -0
  46. package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.js.map +1 -0
  47. package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.d.ts +30 -0
  48. package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.d.ts.map +1 -0
  49. package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.js +141 -0
  50. package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.js.map +1 -0
  51. package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.d.ts +22 -0
  52. package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.d.ts.map +1 -0
  53. package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.js +172 -0
  54. package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.js.map +1 -0
  55. package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.d.ts +26 -0
  56. package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.d.ts.map +1 -0
  57. package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.js +144 -0
  58. package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.js.map +1 -0
  59. package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.d.ts +338 -0
  60. package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.d.ts.map +1 -0
  61. package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.js +473 -0
  62. package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.js.map +1 -0
  63. package/dist/backgrounds/deep-ocean/domain/debug-config.d.ts +22 -0
  64. package/dist/backgrounds/deep-ocean/domain/debug-config.d.ts.map +1 -0
  65. package/dist/backgrounds/deep-ocean/domain/debug-config.js +26 -0
  66. package/dist/backgrounds/deep-ocean/domain/debug-config.js.map +1 -0
  67. package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.d.ts +518 -0
  68. package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.d.ts.map +1 -0
  69. package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.js +36 -0
  70. package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.js.map +1 -0
  71. package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.d.ts +124 -0
  72. package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.d.ts.map +1 -0
  73. package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.js +8 -0
  74. package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.js.map +1 -0
  75. package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.d.ts +47 -0
  76. package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.d.ts.map +1 -0
  77. package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.js +125 -0
  78. package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.js.map +1 -0
  79. package/dist/backgrounds/deep-ocean/physics/SpineChain.d.ts +97 -0
  80. package/dist/backgrounds/deep-ocean/physics/SpineChain.d.ts.map +1 -0
  81. package/dist/backgrounds/deep-ocean/physics/SpineChain.js +215 -0
  82. package/dist/backgrounds/deep-ocean/physics/SpineChain.js.map +1 -0
  83. package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.d.ts +94 -0
  84. package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.d.ts.map +1 -0
  85. package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.js +273 -0
  86. package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.js.map +1 -0
  87. package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.d.ts +43 -0
  88. package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.d.ts.map +1 -0
  89. package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.js +88 -0
  90. package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.js.map +1 -0
  91. package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.d.ts +24 -0
  92. package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.d.ts.map +1 -0
  93. package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.js +2 -0
  94. package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.js.map +1 -0
  95. package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.d.ts +11 -0
  96. package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.d.ts.map +1 -0
  97. package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.js +2 -0
  98. package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.js.map +1 -0
  99. package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.d.ts +46 -0
  100. package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.d.ts.map +1 -0
  101. package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.js +2 -0
  102. package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.js.map +1 -0
  103. package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.d.ts +60 -0
  104. package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.d.ts.map +1 -0
  105. package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.js +2 -0
  106. package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.js.map +1 -0
  107. package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.d.ts +21 -0
  108. package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.d.ts.map +1 -0
  109. package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.js +2 -0
  110. package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.js.map +1 -0
  111. package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.d.ts +61 -0
  112. package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.d.ts.map +1 -0
  113. package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.js +2 -0
  114. package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.js.map +1 -0
  115. package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.d.ts +34 -0
  116. package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.d.ts.map +1 -0
  117. package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.js +2 -0
  118. package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.js.map +1 -0
  119. package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.d.ts +24 -0
  120. package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.d.ts.map +1 -0
  121. package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.js +2 -0
  122. package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.js.map +1 -0
  123. package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.d.ts +21 -0
  124. package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.d.ts.map +1 -0
  125. package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.js +2 -0
  126. package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.js.map +1 -0
  127. package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.d.ts +35 -0
  128. package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.d.ts.map +1 -0
  129. package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.js +2 -0
  130. package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.js.map +1 -0
  131. package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.d.ts +18 -0
  132. package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.d.ts.map +1 -0
  133. package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.js +2 -0
  134. package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.js.map +1 -0
  135. package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.d.ts +38 -0
  136. package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.d.ts.map +1 -0
  137. package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.js +2 -0
  138. package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.js.map +1 -0
  139. package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.d.ts +101 -0
  140. package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.d.ts.map +1 -0
  141. package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.js +2 -0
  142. package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.js.map +1 -0
  143. package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.d.ts +55 -0
  144. package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.d.ts.map +1 -0
  145. package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.js +2 -0
  146. package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.js.map +1 -0
  147. package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.d.ts +44 -0
  148. package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.d.ts.map +1 -0
  149. package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.js +2 -0
  150. package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.js.map +1 -0
  151. package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.d.ts +31 -0
  152. package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.d.ts.map +1 -0
  153. package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.js +2 -0
  154. package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.js.map +1 -0
  155. package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.d.ts +23 -0
  156. package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.d.ts.map +1 -0
  157. package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.js +2 -0
  158. package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.js.map +1 -0
  159. package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.d.ts +31 -0
  160. package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.d.ts.map +1 -0
  161. package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.js +2 -0
  162. package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.js.map +1 -0
  163. package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.d.ts +33 -0
  164. package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.d.ts.map +1 -0
  165. package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.js +2 -0
  166. package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.js.map +1 -0
  167. package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.d.ts +55 -0
  168. package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.d.ts.map +1 -0
  169. package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.js +2 -0
  170. package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.js.map +1 -0
  171. package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.d.ts +11 -0
  172. package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.d.ts.map +1 -0
  173. package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.js +2 -0
  174. package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.js.map +1 -0
  175. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.d.ts +40 -0
  176. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.d.ts.map +1 -0
  177. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.js +2 -0
  178. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.js.map +1 -0
  179. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.d.ts +40 -0
  180. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.d.ts.map +1 -0
  181. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.js +7 -0
  182. package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.js.map +1 -0
  183. package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.d.ts +22 -0
  184. package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.d.ts.map +1 -0
  185. package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.js +2 -0
  186. package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.js.map +1 -0
  187. package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.d.ts +36 -0
  188. package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.d.ts.map +1 -0
  189. package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.js +2 -0
  190. package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.js.map +1 -0
  191. package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.d.ts +20 -0
  192. package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.d.ts.map +1 -0
  193. package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.js +2 -0
  194. package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.js.map +1 -0
  195. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.d.ts +24 -0
  196. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.d.ts.map +1 -0
  197. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.js +2 -0
  198. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.js.map +1 -0
  199. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.d.ts +11 -0
  200. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.d.ts.map +1 -0
  201. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.js +2 -0
  202. package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.js.map +1 -0
  203. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.d.ts +32 -0
  204. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.d.ts.map +1 -0
  205. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.js +2 -0
  206. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.js.map +1 -0
  207. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.d.ts +16 -0
  208. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.d.ts.map +1 -0
  209. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.js +2 -0
  210. package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.js.map +1 -0
  211. package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.d.ts +11 -0
  212. package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.d.ts.map +1 -0
  213. package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.js +2 -0
  214. package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.js.map +1 -0
  215. package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.d.ts +28 -0
  216. package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.d.ts.map +1 -0
  217. package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.js +2 -0
  218. package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.js.map +1 -0
  219. package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.d.ts +22 -0
  220. package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.d.ts.map +1 -0
  221. package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.js +303 -0
  222. package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.js.map +1 -0
  223. package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.d.ts +43 -0
  224. package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.d.ts.map +1 -0
  225. package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.js +218 -0
  226. package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.js.map +1 -0
  227. package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.d.ts +17 -0
  228. package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.d.ts.map +1 -0
  229. package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.js +96 -0
  230. package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.js.map +1 -0
  231. package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.d.ts +47 -0
  232. package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.d.ts.map +1 -0
  233. package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.js +132 -0
  234. package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.js.map +1 -0
  235. package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.d.ts +76 -0
  236. package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.d.ts.map +1 -0
  237. package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.js +293 -0
  238. package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.js.map +1 -0
  239. package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.d.ts +27 -0
  240. package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.d.ts.map +1 -0
  241. package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.js +152 -0
  242. package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.js.map +1 -0
  243. package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.d.ts +54 -0
  244. package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.d.ts.map +1 -0
  245. package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.js +358 -0
  246. package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.js.map +1 -0
  247. package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.d.ts +26 -0
  248. package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.d.ts.map +1 -0
  249. package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.js +184 -0
  250. package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.js.map +1 -0
  251. package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.d.ts +17 -0
  252. package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.d.ts.map +1 -0
  253. package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.js +184 -0
  254. package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.js.map +1 -0
  255. package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.d.ts +25 -0
  256. package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.d.ts.map +1 -0
  257. package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.js +436 -0
  258. package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.js.map +1 -0
  259. package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.d.ts +19 -0
  260. package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.d.ts.map +1 -0
  261. package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.js +224 -0
  262. package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.js.map +1 -0
  263. package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.d.ts +20 -0
  264. package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.d.ts.map +1 -0
  265. package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.js +159 -0
  266. package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.js.map +1 -0
  267. package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.d.ts +22 -0
  268. package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.d.ts.map +1 -0
  269. package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.js +88 -0
  270. package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.js.map +1 -0
  271. package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.d.ts +43 -0
  272. package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.d.ts.map +1 -0
  273. package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.js +340 -0
  274. package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.js.map +1 -0
  275. package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.d.ts +32 -0
  276. package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.d.ts.map +1 -0
  277. package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.js +272 -0
  278. package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.js.map +1 -0
  279. package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.d.ts +25 -0
  280. package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.d.ts.map +1 -0
  281. package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.js +241 -0
  282. package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.js.map +1 -0
  283. package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.d.ts +50 -0
  284. package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.d.ts.map +1 -0
  285. package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.js +319 -0
  286. package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.js.map +1 -0
  287. package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.d.ts +59 -0
  288. package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.d.ts.map +1 -0
  289. package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.js +472 -0
  290. package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.js.map +1 -0
  291. package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.d.ts +16 -0
  292. package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.d.ts.map +1 -0
  293. package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.js +110 -0
  294. package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.js.map +1 -0
  295. package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.d.ts +29 -0
  296. package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.d.ts.map +1 -0
  297. package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.js +109 -0
  298. package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.js.map +1 -0
  299. package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.d.ts +30 -0
  300. package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.d.ts.map +1 -0
  301. package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.js +254 -0
  302. package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.js.map +1 -0
  303. package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.d.ts +50 -0
  304. package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.d.ts.map +1 -0
  305. package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.js +288 -0
  306. package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.js.map +1 -0
  307. package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.d.ts +27 -0
  308. package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.d.ts.map +1 -0
  309. package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.js +574 -0
  310. package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.js.map +1 -0
  311. package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.d.ts +31 -0
  312. package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.d.ts.map +1 -0
  313. package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.js +165 -0
  314. package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.js.map +1 -0
  315. package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.d.ts +23 -0
  316. package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.d.ts.map +1 -0
  317. package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.js +161 -0
  318. package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.js.map +1 -0
  319. package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.d.ts +20 -0
  320. package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.d.ts.map +1 -0
  321. package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.js +185 -0
  322. package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.js.map +1 -0
  323. package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.d.ts +16 -0
  324. package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.d.ts.map +1 -0
  325. package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.js +274 -0
  326. package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.js.map +1 -0
  327. package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.d.ts +31 -0
  328. package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.d.ts.map +1 -0
  329. package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.js +208 -0
  330. package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.js.map +1 -0
  331. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.d.ts +38 -0
  332. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.d.ts.map +1 -0
  333. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.js +411 -0
  334. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.js.map +1 -0
  335. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.d.ts +84 -0
  336. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.d.ts.map +1 -0
  337. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.js +521 -0
  338. package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.js.map +1 -0
  339. package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.d.ts +16 -0
  340. package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.d.ts.map +1 -0
  341. package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.js +217 -0
  342. package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.js.map +1 -0
  343. package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.d.ts +41 -0
  344. package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.d.ts.map +1 -0
  345. package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.js +216 -0
  346. package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.js.map +1 -0
  347. package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.d.ts +6 -0
  348. package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.d.ts.map +1 -0
  349. package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.js +14 -0
  350. package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.js.map +1 -0
  351. package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.d.ts +11 -0
  352. package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.d.ts.map +1 -0
  353. package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.js +66 -0
  354. package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.js.map +1 -0
  355. package/dist/backgrounds/ember-glow/domain/constants/ember-constants.d.ts +206 -0
  356. package/dist/backgrounds/ember-glow/domain/constants/ember-constants.d.ts.map +1 -0
  357. package/dist/backgrounds/ember-glow/domain/constants/ember-constants.js +251 -0
  358. package/dist/backgrounds/ember-glow/domain/constants/ember-constants.js.map +1 -0
  359. package/dist/backgrounds/ember-glow/domain/models/ember-models.d.ts +108 -0
  360. package/dist/backgrounds/ember-glow/domain/models/ember-models.d.ts.map +1 -0
  361. package/dist/backgrounds/ember-glow/domain/models/ember-models.js +5 -0
  362. package/dist/backgrounds/ember-glow/domain/models/ember-models.js.map +1 -0
  363. package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.d.ts +71 -0
  364. package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.d.ts.map +1 -0
  365. package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.js +325 -0
  366. package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.js.map +1 -0
  367. package/dist/backgrounds/ember-glow/services/coal-bed-system.d.ts +49 -0
  368. package/dist/backgrounds/ember-glow/services/coal-bed-system.d.ts.map +1 -0
  369. package/dist/backgrounds/ember-glow/services/coal-bed-system.js +191 -0
  370. package/dist/backgrounds/ember-glow/services/coal-bed-system.js.map +1 -0
  371. package/dist/backgrounds/ember-glow/services/ember-system.d.ts +85 -0
  372. package/dist/backgrounds/ember-glow/services/ember-system.d.ts.map +1 -0
  373. package/dist/backgrounds/ember-glow/services/ember-system.js +438 -0
  374. package/dist/backgrounds/ember-glow/services/ember-system.js.map +1 -0
  375. package/dist/backgrounds/ember-glow/services/smoke-system.d.ts +41 -0
  376. package/dist/backgrounds/ember-glow/services/smoke-system.d.ts.map +1 -0
  377. package/dist/backgrounds/ember-glow/services/smoke-system.js +181 -0
  378. package/dist/backgrounds/ember-glow/services/smoke-system.js.map +1 -0
  379. package/dist/backgrounds/ember-glow/services/spark-system.d.ts +47 -0
  380. package/dist/backgrounds/ember-glow/services/spark-system.d.ts.map +1 -0
  381. package/dist/backgrounds/ember-glow/services/spark-system.js +261 -0
  382. package/dist/backgrounds/ember-glow/services/spark-system.js.map +1 -0
  383. package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.d.ts +130 -0
  384. package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.d.ts.map +1 -0
  385. package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.js +140 -0
  386. package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.js.map +1 -0
  387. package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.d.ts +44 -0
  388. package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.d.ts.map +1 -0
  389. package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.js +295 -0
  390. package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.js.map +1 -0
  391. package/dist/backgrounds/firefly-forest/domain/models/firefly-models.d.ts +22 -0
  392. package/dist/backgrounds/firefly-forest/domain/models/firefly-models.d.ts.map +1 -0
  393. package/dist/backgrounds/firefly-forest/domain/models/firefly-models.js +2 -0
  394. package/dist/backgrounds/firefly-forest/domain/models/firefly-models.js.map +1 -0
  395. package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.d.ts +115 -0
  396. package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.d.ts.map +1 -0
  397. package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.js +7 -0
  398. package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.js.map +1 -0
  399. package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.d.ts +23 -0
  400. package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.d.ts.map +1 -0
  401. package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.js +208 -0
  402. package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.js.map +1 -0
  403. package/dist/backgrounds/firefly-forest/services/CampfireSystem.d.ts +24 -0
  404. package/dist/backgrounds/firefly-forest/services/CampfireSystem.d.ts.map +1 -0
  405. package/dist/backgrounds/firefly-forest/services/CampfireSystem.js +287 -0
  406. package/dist/backgrounds/firefly-forest/services/CampfireSystem.js.map +1 -0
  407. package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.d.ts +146 -0
  408. package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.d.ts.map +1 -0
  409. package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.js +660 -0
  410. package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.js.map +1 -0
  411. package/dist/backgrounds/firefly-forest/services/FireflySystem.d.ts +15 -0
  412. package/dist/backgrounds/firefly-forest/services/FireflySystem.d.ts.map +1 -0
  413. package/dist/backgrounds/firefly-forest/services/FireflySystem.js +303 -0
  414. package/dist/backgrounds/firefly-forest/services/FireflySystem.js.map +1 -0
  415. package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.d.ts +251 -0
  416. package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.d.ts.map +1 -0
  417. package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.js +486 -0
  418. package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.js.map +1 -0
  419. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.d.ts +31 -0
  420. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.d.ts.map +1 -0
  421. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.js +191 -0
  422. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.js.map +1 -0
  423. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.d.ts +47 -0
  424. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.d.ts.map +1 -0
  425. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.js +241 -0
  426. package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.js.map +1 -0
  427. package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.d.ts +155 -0
  428. package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.d.ts.map +1 -0
  429. package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.js +339 -0
  430. package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.js.map +1 -0
  431. package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.d.ts +93 -0
  432. package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.d.ts.map +1 -0
  433. package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.js +263 -0
  434. package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.js.map +1 -0
  435. package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.d.ts +135 -0
  436. package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.d.ts.map +1 -0
  437. package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.js +286 -0
  438. package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.js.map +1 -0
  439. package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.d.ts +116 -0
  440. package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.d.ts.map +1 -0
  441. package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.js +299 -0
  442. package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.js.map +1 -0
  443. package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.d.ts +112 -0
  444. package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.d.ts.map +1 -0
  445. package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.js +303 -0
  446. package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.js.map +1 -0
  447. package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.d.ts +44 -0
  448. package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.d.ts.map +1 -0
  449. package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.js +143 -0
  450. package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.js.map +1 -0
  451. package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.d.ts +50 -0
  452. package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.d.ts.map +1 -0
  453. package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.js +396 -0
  454. package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.js.map +1 -0
  455. package/dist/backgrounds/firefly-forest/services/trees/BareTree.d.ts +63 -0
  456. package/dist/backgrounds/firefly-forest/services/trees/BareTree.d.ts.map +1 -0
  457. package/dist/backgrounds/firefly-forest/services/trees/BareTree.js +215 -0
  458. package/dist/backgrounds/firefly-forest/services/trees/BareTree.js.map +1 -0
  459. package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.d.ts +34 -0
  460. package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.d.ts.map +1 -0
  461. package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.js +89 -0
  462. package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.js.map +1 -0
  463. package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.d.ts +74 -0
  464. package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.d.ts.map +1 -0
  465. package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.js +274 -0
  466. package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.js.map +1 -0
  467. package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.d.ts +75 -0
  468. package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.d.ts.map +1 -0
  469. package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.js +290 -0
  470. package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.js.map +1 -0
  471. package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.d.ts +78 -0
  472. package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.d.ts.map +1 -0
  473. package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.js +273 -0
  474. package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.js.map +1 -0
  475. package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.d.ts +25 -0
  476. package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.d.ts.map +1 -0
  477. package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.js +136 -0
  478. package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.js.map +1 -0
  479. package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.d.ts +31 -0
  480. package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.d.ts.map +1 -0
  481. package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.js +136 -0
  482. package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.js.map +1 -0
  483. package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.d.ts +34 -0
  484. package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.d.ts.map +1 -0
  485. package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.js +111 -0
  486. package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.js.map +1 -0
  487. package/dist/backgrounds/night-sky/constants.d.ts +271 -0
  488. package/dist/backgrounds/night-sky/constants.d.ts.map +1 -0
  489. package/dist/backgrounds/night-sky/constants.js +233 -0
  490. package/dist/backgrounds/night-sky/constants.js.map +1 -0
  491. package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.d.ts +245 -0
  492. package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.d.ts.map +1 -0
  493. package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.js +273 -0
  494. package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.js.map +1 -0
  495. package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.d.ts +11 -0
  496. package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.d.ts.map +1 -0
  497. package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.js +3 -0
  498. package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.js.map +1 -0
  499. package/dist/backgrounds/night-sky/domain/models/night-sky-models.d.ts +277 -0
  500. package/dist/backgrounds/night-sky/domain/models/night-sky-models.d.ts.map +1 -0
  501. package/dist/backgrounds/night-sky/domain/models/night-sky-models.js +3 -0
  502. package/dist/backgrounds/night-sky/domain/models/night-sky-models.js.map +1 -0
  503. package/dist/backgrounds/night-sky/domain/types/night-sky-types.d.ts +11 -0
  504. package/dist/backgrounds/night-sky/domain/types/night-sky-types.d.ts.map +1 -0
  505. package/dist/backgrounds/night-sky/domain/types/night-sky-types.js +3 -0
  506. package/dist/backgrounds/night-sky/domain/types/night-sky-types.js.map +1 -0
  507. package/dist/backgrounds/night-sky/services/AuroraSystem.d.ts +28 -0
  508. package/dist/backgrounds/night-sky/services/AuroraSystem.d.ts.map +1 -0
  509. package/dist/backgrounds/night-sky/services/AuroraSystem.js +236 -0
  510. package/dist/backgrounds/night-sky/services/AuroraSystem.js.map +1 -0
  511. package/dist/backgrounds/night-sky/services/CometSystem.d.ts +82 -0
  512. package/dist/backgrounds/night-sky/services/CometSystem.d.ts.map +1 -0
  513. package/dist/backgrounds/night-sky/services/CometSystem.js +375 -0
  514. package/dist/backgrounds/night-sky/services/CometSystem.js.map +1 -0
  515. package/dist/backgrounds/night-sky/services/ConstellationSystem.d.ts +20 -0
  516. package/dist/backgrounds/night-sky/services/ConstellationSystem.d.ts.map +1 -0
  517. package/dist/backgrounds/night-sky/services/ConstellationSystem.js +69 -0
  518. package/dist/backgrounds/night-sky/services/ConstellationSystem.js.map +1 -0
  519. package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.d.ts +37 -0
  520. package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.d.ts.map +1 -0
  521. package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.js +279 -0
  522. package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.js.map +1 -0
  523. package/dist/backgrounds/night-sky/services/MilkyWaySystem.d.ts +118 -0
  524. package/dist/backgrounds/night-sky/services/MilkyWaySystem.d.ts.map +1 -0
  525. package/dist/backgrounds/night-sky/services/MilkyWaySystem.js +458 -0
  526. package/dist/backgrounds/night-sky/services/MilkyWaySystem.js.map +1 -0
  527. package/dist/backgrounds/night-sky/services/NebulaSystem.d.ts +63 -0
  528. package/dist/backgrounds/night-sky/services/NebulaSystem.d.ts.map +1 -0
  529. package/dist/backgrounds/night-sky/services/NebulaSystem.js +358 -0
  530. package/dist/backgrounds/night-sky/services/NebulaSystem.js.map +1 -0
  531. package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.d.ts +152 -0
  532. package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.d.ts.map +1 -0
  533. package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.js +451 -0
  534. package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.js.map +1 -0
  535. package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.d.ts +44 -0
  536. package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.d.ts.map +1 -0
  537. package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.js +63 -0
  538. package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.js.map +1 -0
  539. package/dist/backgrounds/night-sky/services/ParallaxStarSystem.d.ts +73 -0
  540. package/dist/backgrounds/night-sky/services/ParallaxStarSystem.d.ts.map +1 -0
  541. package/dist/backgrounds/night-sky/services/ParallaxStarSystem.js +446 -0
  542. package/dist/backgrounds/night-sky/services/ParallaxStarSystem.js.map +1 -0
  543. package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.d.ts +27 -0
  544. package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.d.ts.map +1 -0
  545. package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.js +220 -0
  546. package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.js.map +1 -0
  547. package/dist/backgrounds/night-sky/services/SpaceshipSystem.d.ts +18 -0
  548. package/dist/backgrounds/night-sky/services/SpaceshipSystem.d.ts.map +1 -0
  549. package/dist/backgrounds/night-sky/services/SpaceshipSystem.js +71 -0
  550. package/dist/backgrounds/night-sky/services/SpaceshipSystem.js.map +1 -0
  551. package/dist/backgrounds/night-sky/services/UFOSystem.d.ts +229 -0
  552. package/dist/backgrounds/night-sky/services/UFOSystem.d.ts.map +1 -0
  553. package/dist/backgrounds/night-sky/services/UFOSystem.js +949 -0
  554. package/dist/backgrounds/night-sky/services/UFOSystem.js.map +1 -0
  555. package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.d.ts +40 -0
  556. package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.d.ts.map +1 -0
  557. package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.js +2 -0
  558. package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.js.map +1 -0
  559. package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.d.ts +17 -0
  560. package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.d.ts.map +1 -0
  561. package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.js +8 -0
  562. package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.js.map +1 -0
  563. package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.d.ts +65 -0
  564. package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.d.ts.map +1 -0
  565. package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.js +8 -0
  566. package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.js.map +1 -0
  567. package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.d.ts +42 -0
  568. package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.d.ts.map +1 -0
  569. package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.js +5 -0
  570. package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.js.map +1 -0
  571. package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.d.ts +35 -0
  572. package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.d.ts.map +1 -0
  573. package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.js +8 -0
  574. package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.js.map +1 -0
  575. package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.d.ts +36 -0
  576. package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.d.ts.map +1 -0
  577. package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.js +8 -0
  578. package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.js.map +1 -0
  579. package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.d.ts +18 -0
  580. package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.d.ts.map +1 -0
  581. package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.js +5 -0
  582. package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.js.map +1 -0
  583. package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.d.ts +41 -0
  584. package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.d.ts.map +1 -0
  585. package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.js +8 -0
  586. package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.js.map +1 -0
  587. package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.d.ts +39 -0
  588. package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.d.ts.map +1 -0
  589. package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.js +8 -0
  590. package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.js.map +1 -0
  591. package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.d.ts +54 -0
  592. package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.d.ts.map +1 -0
  593. package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.js +5 -0
  594. package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.js.map +1 -0
  595. package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.d.ts +43 -0
  596. package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.d.ts.map +1 -0
  597. package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.js +9 -0
  598. package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.js.map +1 -0
  599. package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.d.ts +43 -0
  600. package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.d.ts.map +1 -0
  601. package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.js +8 -0
  602. package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.js.map +1 -0
  603. package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.d.ts +31 -0
  604. package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.d.ts.map +1 -0
  605. package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.js +9 -0
  606. package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.js.map +1 -0
  607. package/dist/backgrounds/night-sky/services/domain/ufo-types.d.ts +240 -0
  608. package/dist/backgrounds/night-sky/services/domain/ufo-types.d.ts.map +1 -0
  609. package/dist/backgrounds/night-sky/services/domain/ufo-types.js +8 -0
  610. package/dist/backgrounds/night-sky/services/domain/ufo-types.js.map +1 -0
  611. package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.d.ts +56 -0
  612. package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.d.ts.map +1 -0
  613. package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.js +188 -0
  614. package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.js.map +1 -0
  615. package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.d.ts +47 -0
  616. package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.d.ts.map +1 -0
  617. package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.js +118 -0
  618. package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.js.map +1 -0
  619. package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.d.ts +12 -0
  620. package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.d.ts.map +1 -0
  621. package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.js +58 -0
  622. package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.js.map +1 -0
  623. package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.d.ts +11 -0
  624. package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.d.ts.map +1 -0
  625. package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.js +70 -0
  626. package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.js.map +1 -0
  627. package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.d.ts +11 -0
  628. package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.d.ts.map +1 -0
  629. package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.js +74 -0
  630. package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.js.map +1 -0
  631. package/dist/backgrounds/night-sky/services/implementations/UFOFactory.d.ts +18 -0
  632. package/dist/backgrounds/night-sky/services/implementations/UFOFactory.d.ts.map +1 -0
  633. package/dist/backgrounds/night-sky/services/implementations/UFOFactory.js +174 -0
  634. package/dist/backgrounds/night-sky/services/implementations/UFOFactory.js.map +1 -0
  635. package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.d.ts +28 -0
  636. package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.d.ts.map +1 -0
  637. package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.js +137 -0
  638. package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.js.map +1 -0
  639. package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.d.ts +18 -0
  640. package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.d.ts.map +1 -0
  641. package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.js +179 -0
  642. package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.js.map +1 -0
  643. package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.d.ts +25 -0
  644. package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.d.ts.map +1 -0
  645. package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.js +172 -0
  646. package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.js.map +1 -0
  647. package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.d.ts +20 -0
  648. package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.d.ts.map +1 -0
  649. package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.js +193 -0
  650. package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.js.map +1 -0
  651. package/dist/backgrounds/night-sky/services/implementations/UFORenderer.d.ts +24 -0
  652. package/dist/backgrounds/night-sky/services/implementations/UFORenderer.d.ts.map +1 -0
  653. package/dist/backgrounds/night-sky/services/implementations/UFORenderer.js +215 -0
  654. package/dist/backgrounds/night-sky/services/implementations/UFORenderer.js.map +1 -0
  655. package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.d.ts +16 -0
  656. package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.d.ts.map +1 -0
  657. package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.js +92 -0
  658. package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.js.map +1 -0
  659. package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.d.ts +18 -0
  660. package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.d.ts.map +1 -0
  661. package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.js +83 -0
  662. package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.js.map +1 -0
  663. package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.d.ts +14 -0
  664. package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.d.ts.map +1 -0
  665. package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.js +94 -0
  666. package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.js.map +1 -0
  667. package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.d.ts +18 -0
  668. package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.d.ts.map +1 -0
  669. package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.js +126 -0
  670. package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.js.map +1 -0
  671. package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.d.ts +18 -0
  672. package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.d.ts.map +1 -0
  673. package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.js +128 -0
  674. package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.js.map +1 -0
  675. package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.d.ts +14 -0
  676. package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.d.ts.map +1 -0
  677. package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.js +47 -0
  678. package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.js.map +1 -0
  679. package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.d.ts +19 -0
  680. package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.d.ts.map +1 -0
  681. package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.js +146 -0
  682. package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.js.map +1 -0
  683. package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.d.ts +19 -0
  684. package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.d.ts.map +1 -0
  685. package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.js +127 -0
  686. package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.js.map +1 -0
  687. package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.d.ts +18 -0
  688. package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.d.ts.map +1 -0
  689. package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.js +100 -0
  690. package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.js.map +1 -0
  691. package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.d.ts +18 -0
  692. package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.d.ts.map +1 -0
  693. package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.js +116 -0
  694. package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.js.map +1 -0
  695. package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.d.ts +18 -0
  696. package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.d.ts.map +1 -0
  697. package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.js +101 -0
  698. package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.js.map +1 -0
  699. package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.d.ts +18 -0
  700. package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.d.ts.map +1 -0
  701. package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.js +113 -0
  702. package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.js.map +1 -0
  703. package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.d.ts +18 -0
  704. package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.d.ts.map +1 -0
  705. package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.js +123 -0
  706. package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.js.map +1 -0
  707. package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.d.ts +79 -0
  708. package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.d.ts.map +1 -0
  709. package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.js +203 -0
  710. package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.js.map +1 -0
  711. package/dist/backgrounds/rainbow/domain/models/rainbow-models.d.ts +158 -0
  712. package/dist/backgrounds/rainbow/domain/models/rainbow-models.d.ts.map +1 -0
  713. package/dist/backgrounds/rainbow/domain/models/rainbow-models.js +2 -0
  714. package/dist/backgrounds/rainbow/domain/models/rainbow-models.js.map +1 -0
  715. package/dist/backgrounds/rainbow/services/PrideHeartsSystem.d.ts +46 -0
  716. package/dist/backgrounds/rainbow/services/PrideHeartsSystem.d.ts.map +1 -0
  717. package/dist/backgrounds/rainbow/services/PrideHeartsSystem.js +138 -0
  718. package/dist/backgrounds/rainbow/services/PrideHeartsSystem.js.map +1 -0
  719. package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.d.ts +91 -0
  720. package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.d.ts.map +1 -0
  721. package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.js +239 -0
  722. package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.js.map +1 -0
  723. package/dist/backgrounds/rainbow/services/RainbowBokehSystem.d.ts +46 -0
  724. package/dist/backgrounds/rainbow/services/RainbowBokehSystem.d.ts.map +1 -0
  725. package/dist/backgrounds/rainbow/services/RainbowBokehSystem.js +127 -0
  726. package/dist/backgrounds/rainbow/services/RainbowBokehSystem.js.map +1 -0
  727. package/dist/backgrounds/rainbow/services/RainbowGradientSystem.d.ts +51 -0
  728. package/dist/backgrounds/rainbow/services/RainbowGradientSystem.d.ts.map +1 -0
  729. package/dist/backgrounds/rainbow/services/RainbowGradientSystem.js +149 -0
  730. package/dist/backgrounds/rainbow/services/RainbowGradientSystem.js.map +1 -0
  731. package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.d.ts +38 -0
  732. package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.d.ts.map +1 -0
  733. package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.js +99 -0
  734. package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.js.map +1 -0
  735. package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.d.ts +42 -0
  736. package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.d.ts.map +1 -0
  737. package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.js +126 -0
  738. package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.js.map +1 -0
  739. package/dist/backgrounds/simple/services/GradientGeneratorService.d.ts +33 -0
  740. package/dist/backgrounds/simple/services/GradientGeneratorService.d.ts.map +1 -0
  741. package/dist/backgrounds/simple/services/GradientGeneratorService.js +135 -0
  742. package/dist/backgrounds/simple/services/GradientGeneratorService.js.map +1 -0
  743. package/dist/backgrounds/simple/services/SimpleBackgroundSystem.d.ts +60 -0
  744. package/dist/backgrounds/simple/services/SimpleBackgroundSystem.d.ts.map +1 -0
  745. package/dist/backgrounds/simple/services/SimpleBackgroundSystem.js +103 -0
  746. package/dist/backgrounds/simple/services/SimpleBackgroundSystem.js.map +1 -0
  747. package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.d.ts +31 -0
  748. package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.d.ts.map +1 -0
  749. package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.js +36 -0
  750. package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.js.map +1 -0
  751. package/dist/backgrounds/snowfall/domain/models/snowfall-models.d.ts +51 -0
  752. package/dist/backgrounds/snowfall/domain/models/snowfall-models.d.ts.map +1 -0
  753. package/dist/backgrounds/snowfall/domain/models/snowfall-models.js +3 -0
  754. package/dist/backgrounds/snowfall/domain/models/snowfall-models.js.map +1 -0
  755. package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.d.ts +41 -0
  756. package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.d.ts.map +1 -0
  757. package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.js +110 -0
  758. package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.js.map +1 -0
  759. package/dist/backgrounds/snowfall/services/SnowflakeSystem.d.ts +10 -0
  760. package/dist/backgrounds/snowfall/services/SnowflakeSystem.d.ts.map +1 -0
  761. package/dist/backgrounds/snowfall/services/SnowflakeSystem.js +201 -0
  762. package/dist/backgrounds/snowfall/services/SnowflakeSystem.js.map +1 -0
  763. package/dist/card/domain/background-card-constants.d.ts +17 -0
  764. package/dist/card/domain/background-card-constants.d.ts.map +1 -0
  765. package/dist/card/domain/background-card-constants.js +112 -0
  766. package/dist/card/domain/background-card-constants.js.map +1 -0
  767. package/dist/card/domain/background-card-types.d.ts +21 -0
  768. package/dist/card/domain/background-card-types.d.ts.map +1 -0
  769. package/dist/card/domain/background-card-types.js +5 -0
  770. package/dist/card/domain/background-card-types.js.map +1 -0
  771. package/dist/card/effects/cursor-glow-effect.d.ts +23 -0
  772. package/dist/card/effects/cursor-glow-effect.d.ts.map +1 -0
  773. package/dist/card/effects/cursor-glow-effect.js +55 -0
  774. package/dist/card/effects/cursor-glow-effect.js.map +1 -0
  775. package/dist/card/effects/spring.d.ts +25 -0
  776. package/dist/card/effects/spring.d.ts.map +1 -0
  777. package/dist/card/effects/spring.js +77 -0
  778. package/dist/card/effects/spring.js.map +1 -0
  779. package/dist/card/effects/tilt-effect.d.ts +24 -0
  780. package/dist/card/effects/tilt-effect.d.ts.map +1 -0
  781. package/dist/card/effects/tilt-effect.js +89 -0
  782. package/dist/card/effects/tilt-effect.js.map +1 -0
  783. package/dist/card/element/background-card-element.d.ts +57 -0
  784. package/dist/card/element/background-card-element.d.ts.map +1 -0
  785. package/dist/card/element/background-card-element.js +267 -0
  786. package/dist/card/element/background-card-element.js.map +1 -0
  787. package/dist/card/element/background-card-styles.d.ts +9 -0
  788. package/dist/card/element/background-card-styles.d.ts.map +1 -0
  789. package/dist/card/element/background-card-styles.js +221 -0
  790. package/dist/card/element/background-card-styles.js.map +1 -0
  791. package/dist/card.d.ts +20 -0
  792. package/dist/card.d.ts.map +1 -0
  793. package/dist/card.js +19 -0
  794. package/dist/card.js.map +1 -0
  795. package/dist/core/contracts/IBackgroundConfigurationService.d.ts +46 -0
  796. package/dist/core/contracts/IBackgroundConfigurationService.d.ts.map +1 -0
  797. package/dist/core/contracts/IBackgroundConfigurationService.js +5 -0
  798. package/dist/core/contracts/IBackgroundConfigurationService.js.map +1 -0
  799. package/dist/core/contracts/IBackgroundController.d.ts +122 -0
  800. package/dist/core/contracts/IBackgroundController.d.ts.map +1 -0
  801. package/dist/core/contracts/IBackgroundController.js +27 -0
  802. package/dist/core/contracts/IBackgroundController.js.map +1 -0
  803. package/dist/core/contracts/IBackgroundRenderingService.d.ts +19 -0
  804. package/dist/core/contracts/IBackgroundRenderingService.d.ts.map +1 -0
  805. package/dist/core/contracts/IBackgroundRenderingService.js +5 -0
  806. package/dist/core/contracts/IBackgroundRenderingService.js.map +1 -0
  807. package/dist/core/contracts/IBackgroundSystem.d.ts +45 -0
  808. package/dist/core/contracts/IBackgroundSystem.d.ts.map +1 -0
  809. package/dist/core/contracts/IBackgroundSystem.js +8 -0
  810. package/dist/core/contracts/IBackgroundSystem.js.map +1 -0
  811. package/dist/core/contracts/IGeoLocationProvider.d.ts +28 -0
  812. package/dist/core/contracts/IGeoLocationProvider.d.ts.map +1 -0
  813. package/dist/core/contracts/IGeoLocationProvider.js +24 -0
  814. package/dist/core/contracts/IGeoLocationProvider.js.map +1 -0
  815. package/dist/core/domain/constants.d.ts +60 -0
  816. package/dist/core/domain/constants.d.ts.map +1 -0
  817. package/dist/core/domain/constants.js +107 -0
  818. package/dist/core/domain/constants.js.map +1 -0
  819. package/dist/core/domain/enums.d.ts +23 -0
  820. package/dist/core/domain/enums.d.ts.map +1 -0
  821. package/dist/core/domain/enums.js +27 -0
  822. package/dist/core/domain/enums.js.map +1 -0
  823. package/dist/core/domain/models.d.ts +41 -0
  824. package/dist/core/domain/models.d.ts.map +1 -0
  825. package/dist/core/domain/models.js +5 -0
  826. package/dist/core/domain/models.js.map +1 -0
  827. package/dist/core/domain/types.d.ts +49 -0
  828. package/dist/core/domain/types.d.ts.map +1 -0
  829. package/dist/core/domain/types.js +5 -0
  830. package/dist/core/domain/types.js.map +1 -0
  831. package/dist/core/services/AdaptiveQualityManager.d.ts +74 -0
  832. package/dist/core/services/AdaptiveQualityManager.d.ts.map +1 -0
  833. package/dist/core/services/AdaptiveQualityManager.js +190 -0
  834. package/dist/core/services/AdaptiveQualityManager.js.map +1 -0
  835. package/dist/core/services/BackgroundConfigurationService.d.ts +49 -0
  836. package/dist/core/services/BackgroundConfigurationService.d.ts.map +1 -0
  837. package/dist/core/services/BackgroundConfigurationService.js +139 -0
  838. package/dist/core/services/BackgroundConfigurationService.js.map +1 -0
  839. package/dist/core/services/BackgroundController.d.ts +95 -0
  840. package/dist/core/services/BackgroundController.d.ts.map +1 -0
  841. package/dist/core/services/BackgroundController.js +526 -0
  842. package/dist/core/services/BackgroundController.js.map +1 -0
  843. package/dist/core/services/BackgroundFactory.d.ts +27 -0
  844. package/dist/core/services/BackgroundFactory.d.ts.map +1 -0
  845. package/dist/core/services/BackgroundFactory.js +164 -0
  846. package/dist/core/services/BackgroundFactory.js.map +1 -0
  847. package/dist/core/services/BackgroundRenderingService.d.ts +14 -0
  848. package/dist/core/services/BackgroundRenderingService.d.ts.map +1 -0
  849. package/dist/core/services/BackgroundRenderingService.js +47 -0
  850. package/dist/core/services/BackgroundRenderingService.js.map +1 -0
  851. package/dist/core/services/MoonRenderer.d.ts +78 -0
  852. package/dist/core/services/MoonRenderer.d.ts.map +1 -0
  853. package/dist/core/services/MoonRenderer.js +463 -0
  854. package/dist/core/services/MoonRenderer.js.map +1 -0
  855. package/dist/core/services/ServiceFactory.d.ts +39 -0
  856. package/dist/core/services/ServiceFactory.d.ts.map +1 -0
  857. package/dist/core/services/ServiceFactory.js +70 -0
  858. package/dist/core/services/ServiceFactory.js.map +1 -0
  859. package/dist/core/services/ShootingStarSystem.d.ts +39 -0
  860. package/dist/core/services/ShootingStarSystem.d.ts.map +1 -0
  861. package/dist/core/services/ShootingStarSystem.js +144 -0
  862. package/dist/core/services/ShootingStarSystem.js.map +1 -0
  863. package/dist/index.d.ts +53 -0
  864. package/dist/index.d.ts.map +1 -0
  865. package/dist/index.js +37 -0
  866. package/dist/index.js.map +1 -0
  867. package/package.json +54 -0
@@ -0,0 +1,272 @@
1
+ import { FishWobbleAnimator } from "./FishWobbleAnimator.js";
2
+ /**
3
+ * Configuration for fish interaction detection
4
+ */
5
+ const INTERACTION_CONFIG = {
6
+ /** Distance threshold for interaction detection (pixels) */
7
+ proximityRadius: 55,
8
+ /** Vertical distance threshold (fish at very different depths don't interact) */
9
+ verticalThreshold: 40,
10
+ /** Z-depth difference threshold (fish far apart in depth don't interact) */
11
+ depthThreshold: 0.3,
12
+ /** Cooldown between interactions for each fish (seconds) */
13
+ cooldownDuration: 2.5,
14
+ /** Minimum speed difference to trigger yield behavior */
15
+ yieldSpeedDifference: 15,
16
+ /** Speed reduction for yielding fish */
17
+ yieldSpeedMultiplier: 0.6,
18
+ /** Duration of yield speed reduction (seconds) */
19
+ yieldDuration: 0.4,
20
+ /** Maximum vertical nudge for avoidance (pixels) */
21
+ maxVerticalNudge: 8,
22
+ /** Probability thresholds for different interaction types */
23
+ probabilities: {
24
+ /** Base chance of passing greeting (modified by sociability) */
25
+ passingGreeting: 0.35,
26
+ /** Base chance of yield behavior (modified by boldness difference) */
27
+ yield: 0.25,
28
+ /** Base chance of social approach (modified by sociability) */
29
+ socialApproach: 0.2,
30
+ /** Base chance of shy avoidance (modified by inverse sociability) */
31
+ shyAvoidance: 0.3,
32
+ },
33
+ };
34
+ /**
35
+ * FishInteractionHandler - Detects and handles micro-interactions between fish
36
+ *
37
+ * Creates emergent social behaviors when fish pass close to each other:
38
+ * - Passing greetings (social fish shimmy at each other)
39
+ * - Yield behavior (timid fish slow down for bold ones)
40
+ * - Social approach (social fish veer toward neighbors)
41
+ * - Shy avoidance (asocial fish veer away from neighbors)
42
+ */
43
+ export class FishInteractionHandler {
44
+ wobbleAnimator;
45
+ /** Cooldown timers per fish (using fish reference as key via WeakMap) */
46
+ cooldowns = new WeakMap();
47
+ /** Track processed pairs this frame to avoid duplicate interactions */
48
+ processedPairs = new Set();
49
+ /** Temporary speed modifiers (fish -> {multiplier, remaining}) */
50
+ speedModifiers = new WeakMap();
51
+ constructor(wobbleAnimator = new FishWobbleAnimator()) {
52
+ this.wobbleAnimator = wobbleAnimator;
53
+ }
54
+ processInteractions(fish, deltaSeconds) {
55
+ const results = [];
56
+ this.processedPairs.clear();
57
+ // Update cooldowns
58
+ this.updateCooldowns(fish, deltaSeconds);
59
+ // Update and apply temporary speed modifiers
60
+ this.updateSpeedModifiers(fish, deltaSeconds);
61
+ // Check each pair of fish for potential interactions
62
+ for (let i = 0; i < fish.length; i++) {
63
+ const fishA = fish[i];
64
+ // Skip fish that are currently wobbling (let animation finish)
65
+ if (this.wobbleAnimator.isWobbling(fishA))
66
+ continue;
67
+ for (let j = i + 1; j < fish.length; j++) {
68
+ const fishB = fish[j];
69
+ // Skip if either fish is on cooldown
70
+ if (this.isOnCooldown(fishA) || this.isOnCooldown(fishB))
71
+ continue;
72
+ // Skip if B is wobbling
73
+ if (this.wobbleAnimator.isWobbling(fishB))
74
+ continue;
75
+ // Check if fish are close enough to interact
76
+ if (!this.areInProximity(fishA, fishB))
77
+ continue;
78
+ // Determine and create interaction
79
+ const interaction = this.determineInteraction(fishA, fishB);
80
+ if (interaction) {
81
+ results.push(interaction);
82
+ // Set cooldowns for both fish
83
+ this.setCooldown(fishA);
84
+ this.setCooldown(fishB);
85
+ }
86
+ }
87
+ }
88
+ return results;
89
+ }
90
+ applyInteraction(result) {
91
+ const { fish, other, type, triggerWobble, speedModifier, verticalNudge } = result;
92
+ // Trigger wobble animation
93
+ if (triggerWobble) {
94
+ this.wobbleAnimator.triggerWobble(fish, triggerWobble, 0.7);
95
+ }
96
+ // Apply temporary speed modifier
97
+ if (speedModifier !== undefined && speedModifier !== 1) {
98
+ this.speedModifiers.set(fish, {
99
+ multiplier: speedModifier,
100
+ remaining: INTERACTION_CONFIG.yieldDuration,
101
+ });
102
+ }
103
+ // Apply vertical nudge (avoidance/approach)
104
+ if (verticalNudge) {
105
+ fish.baseY += verticalNudge;
106
+ fish.y += verticalNudge;
107
+ }
108
+ // For passing greetings, also trigger wobble on the other fish
109
+ if (type === "passing_greeting" && other.personality) {
110
+ const otherSociability = other.personality.sociability ?? 0.5;
111
+ // Other fish responds if they're also social
112
+ if (Math.random() < otherSociability) {
113
+ this.wobbleAnimator.triggerWobble(other, "social_shimmer", 0.5);
114
+ }
115
+ }
116
+ }
117
+ isOnCooldown(fish) {
118
+ const remaining = this.cooldowns.get(fish);
119
+ return remaining !== undefined && remaining > 0;
120
+ }
121
+ // ============================================================================
122
+ // PRIVATE METHODS
123
+ // ============================================================================
124
+ updateCooldowns(fish, deltaSeconds) {
125
+ for (const f of fish) {
126
+ const remaining = this.cooldowns.get(f);
127
+ if (remaining !== undefined && remaining > 0) {
128
+ this.cooldowns.set(f, remaining - deltaSeconds);
129
+ }
130
+ }
131
+ }
132
+ updateSpeedModifiers(fish, deltaSeconds) {
133
+ for (const f of fish) {
134
+ const modifier = this.speedModifiers.get(f);
135
+ if (modifier) {
136
+ modifier.remaining -= deltaSeconds;
137
+ if (modifier.remaining <= 0) {
138
+ // Remove modifier, restore speed
139
+ this.speedModifiers.delete(f);
140
+ }
141
+ else {
142
+ // Apply modifier to current speed
143
+ // We modify the current speed, not baseSpeed, for temporary effect
144
+ f.speed = f.baseSpeed * modifier.multiplier;
145
+ }
146
+ }
147
+ }
148
+ }
149
+ setCooldown(fish) {
150
+ // Add some randomness to cooldown to prevent synchronized behaviors
151
+ const cooldown = INTERACTION_CONFIG.cooldownDuration * (0.8 + Math.random() * 0.4);
152
+ this.cooldowns.set(fish, cooldown);
153
+ }
154
+ areInProximity(fishA, fishB) {
155
+ // Horizontal distance
156
+ const dx = Math.abs(fishA.x - fishB.x);
157
+ if (dx > INTERACTION_CONFIG.proximityRadius)
158
+ return false;
159
+ // Vertical distance
160
+ const dy = Math.abs(fishA.y - fishB.y);
161
+ if (dy > INTERACTION_CONFIG.verticalThreshold)
162
+ return false;
163
+ // Z-depth distance (fish at very different depths don't interact)
164
+ const dz = Math.abs(fishA.z - fishB.z);
165
+ if (dz > INTERACTION_CONFIG.depthThreshold)
166
+ return false;
167
+ return true;
168
+ }
169
+ determineInteraction(fishA, fishB) {
170
+ const personalityA = fishA.personality ?? this.defaultPersonality();
171
+ const personalityB = fishB.personality ?? this.defaultPersonality();
172
+ // Determine if fish are passing each other (moving in opposite directions)
173
+ const arePassing = fishA.direction !== fishB.direction;
174
+ // Determine if one fish is overtaking another (same direction, different speeds)
175
+ const areOvertaking = fishA.direction === fishB.direction &&
176
+ Math.abs(fishA.speed - fishB.speed) > INTERACTION_CONFIG.yieldSpeedDifference;
177
+ // Calculate relevant personality differences
178
+ const boldnessDiff = personalityA.boldness - personalityB.boldness;
179
+ const avgSociability = (personalityA.sociability + personalityB.sociability) / 2;
180
+ const minSociability = Math.min(personalityA.sociability, personalityB.sociability);
181
+ // Roll for each interaction type and pick the first that triggers
182
+ const roll = Math.random();
183
+ // 1. PASSING GREETING - Social fish acknowledge each other when passing
184
+ if (arePassing && avgSociability > 0.4) {
185
+ const greetingChance = INTERACTION_CONFIG.probabilities.passingGreeting * avgSociability;
186
+ if (roll < greetingChance) {
187
+ // The more social fish initiates
188
+ const initiator = personalityA.sociability >= personalityB.sociability ? fishA : fishB;
189
+ const other = initiator === fishA ? fishB : fishA;
190
+ return {
191
+ type: "passing_greeting",
192
+ fish: initiator,
193
+ other,
194
+ triggerWobble: "social_shimmer",
195
+ };
196
+ }
197
+ }
198
+ // 2. YIELD - Less bold fish slows for bolder fish when paths cross
199
+ if ((arePassing || areOvertaking) && Math.abs(boldnessDiff) > 0.25) {
200
+ const yieldChance = INTERACTION_CONFIG.probabilities.yield * Math.abs(boldnessDiff);
201
+ if (roll < yieldChance) {
202
+ // The less bold fish yields
203
+ const yielder = boldnessDiff < 0 ? fishA : fishB;
204
+ const dominant = yielder === fishA ? fishB : fishA;
205
+ return {
206
+ type: "yield",
207
+ fish: yielder,
208
+ other: dominant,
209
+ speedModifier: INTERACTION_CONFIG.yieldSpeedMultiplier,
210
+ // Subtle head bob when yielding
211
+ triggerWobble: "curious_tilt",
212
+ };
213
+ }
214
+ }
215
+ // 3. SOCIAL APPROACH - Very social fish veer toward neighbors
216
+ if (avgSociability > 0.65) {
217
+ const approachChance = INTERACTION_CONFIG.probabilities.socialApproach *
218
+ (avgSociability - 0.4);
219
+ if (roll < approachChance) {
220
+ // The more social fish approaches
221
+ const approacher = personalityA.sociability >= personalityB.sociability ? fishA : fishB;
222
+ const target = approacher === fishA ? fishB : fishA;
223
+ // Calculate nudge direction (toward the other fish)
224
+ const nudgeDirection = target.y > approacher.y ? 1 : -1;
225
+ const nudgeAmount = nudgeDirection *
226
+ INTERACTION_CONFIG.maxVerticalNudge *
227
+ approacher.personality.sociability;
228
+ return {
229
+ type: "social_approach",
230
+ fish: approacher,
231
+ other: target,
232
+ verticalNudge: nudgeAmount,
233
+ triggerWobble: "playful_wiggle",
234
+ };
235
+ }
236
+ }
237
+ // 4. SHY AVOIDANCE - Asocial fish veer away from neighbors
238
+ if (minSociability < 0.35) {
239
+ const shySociability = Math.min(personalityA.sociability, personalityB.sociability);
240
+ const avoidanceChance = INTERACTION_CONFIG.probabilities.shyAvoidance *
241
+ (1 - shySociability);
242
+ if (roll < avoidanceChance) {
243
+ // The less social fish avoids
244
+ const avoider = personalityA.sociability <= personalityB.sociability ? fishA : fishB;
245
+ const avoided = avoider === fishA ? fishB : fishA;
246
+ // Calculate nudge direction (away from the other fish)
247
+ const nudgeDirection = avoided.y > avoider.y ? -1 : 1;
248
+ const nudgeAmount = nudgeDirection *
249
+ INTERACTION_CONFIG.maxVerticalNudge *
250
+ (1 - avoider.personality.sociability);
251
+ return {
252
+ type: "shy_avoidance",
253
+ fish: avoider,
254
+ other: avoided,
255
+ verticalNudge: nudgeAmount,
256
+ // Startled reaction for very shy fish
257
+ triggerWobble: avoider.personality.boldness < 0.3 ? "startled_dart" : undefined,
258
+ };
259
+ }
260
+ }
261
+ return null;
262
+ }
263
+ defaultPersonality() {
264
+ return {
265
+ boldness: 0.5,
266
+ sociability: 0.5,
267
+ activity: 0.5,
268
+ curiosity: 0.5,
269
+ };
270
+ }
271
+ }
272
+ //# sourceMappingURL=FishInteractionHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FishInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { FishMarineLife } from "../../domain/models/DeepOceanModels.js";
2
+ import type { FishMood, MoodVisuals } from "../../domain/types/fish-personality-types.js";
3
+ import type { IFishMoodManager } from "../contracts/IFishMoodManager.js";
4
+ /**
5
+ * FishMoodManager - Manages emotional state transitions for fish
6
+ *
7
+ * Handles mood decay, energy/hunger metabolism, stimulus responses,
8
+ * and provides visual modifiers for rendering.
9
+ */
10
+ export declare class FishMoodManager implements IFishMoodManager {
11
+ private static DEBUG_MOOD;
12
+ updateMood(fish: FishMarineLife, deltaSeconds: number): void;
13
+ getMoodVisuals(fish: FishMarineLife): MoodVisuals;
14
+ setMood(fish: FishMarineLife, mood: FishMood): void;
15
+ markStimulus(fish: FishMarineLife, type: "food" | "threat" | "friend" | "novelty"): void;
16
+ shouldTransitionBehavior(fish: FishMarineLife): boolean;
17
+ private updateMetabolism;
18
+ private checkAutomaticTransitions;
19
+ private decayMood;
20
+ /**
21
+ * Get the mood to decay to (allows step-down transitions)
22
+ */
23
+ private getDecayMood;
24
+ }
25
+ //# sourceMappingURL=FishMoodManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FishMoodManager.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishMoodManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AASzE;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAEtD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAS;IAElC,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAoC5D,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW;IAKjD,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAKnD,YAAY,CACV,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAC7C,IAAI;IAmDP,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;IAqBvD,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,yBAAyB;IAqDjC,OAAO,CAAC,SAAS;IAwBjB;;OAEG;IACH,OAAO,CAAC,YAAY;CAoCrB"}
@@ -0,0 +1,241 @@
1
+ import { MOOD_DECAY_RATES, MOOD_VISUALS, MOOD_THRESHOLDS, STIMULUS_EFFECTS, METABOLISM_RATES, } from "../../domain/constants/fish-constants.js";
2
+ /**
3
+ * FishMoodManager - Manages emotional state transitions for fish
4
+ *
5
+ * Handles mood decay, energy/hunger metabolism, stimulus responses,
6
+ * and provides visual modifiers for rendering.
7
+ */
8
+ export class FishMoodManager {
9
+ // Debug: Track mood changes (enable for debugging mood issues)
10
+ static DEBUG_MOOD = false;
11
+ updateMood(fish, deltaSeconds) {
12
+ // Initialize if needed
13
+ if (fish.mood === undefined)
14
+ fish.mood = "calm";
15
+ if (fish.moodTimer === undefined)
16
+ fish.moodTimer = 0;
17
+ if (fish.energy === undefined)
18
+ fish.energy = 0.8;
19
+ if (fish.hunger === undefined)
20
+ fish.hunger = 0.2;
21
+ if (fish.lastStimulusTime === undefined)
22
+ fish.lastStimulusTime = 0;
23
+ // Check if mood was manually set recently (from Fish Behavior Lab)
24
+ // If so, skip ALL automatic mood processing for 5 seconds
25
+ const manualSetAt = fish._manualMoodSetAt;
26
+ if (manualSetAt) {
27
+ const elapsed = performance.now() - manualSetAt;
28
+ if (elapsed < 5000) {
29
+ // Only update timers, don't change mood
30
+ fish.moodTimer += deltaSeconds;
31
+ fish.lastStimulusTime += deltaSeconds;
32
+ this.updateMetabolism(fish, deltaSeconds);
33
+ return;
34
+ }
35
+ }
36
+ // Update metabolism
37
+ this.updateMetabolism(fish, deltaSeconds);
38
+ // Update mood timer
39
+ fish.moodTimer += deltaSeconds;
40
+ fish.lastStimulusTime += deltaSeconds;
41
+ // Check for automatic mood transitions based on state
42
+ this.checkAutomaticTransitions(fish);
43
+ // Decay current mood toward calm
44
+ this.decayMood(fish, deltaSeconds);
45
+ }
46
+ getMoodVisuals(fish) {
47
+ const mood = fish.mood ?? "calm";
48
+ return MOOD_VISUALS[mood];
49
+ }
50
+ setMood(fish, mood) {
51
+ fish.mood = mood;
52
+ fish.moodTimer = 0;
53
+ }
54
+ markStimulus(fish, type) {
55
+ const effect = STIMULUS_EFFECTS[type];
56
+ // Reset stimulus timer
57
+ fish.lastStimulusTime = 0;
58
+ // Apply energy cost
59
+ if (fish.energy !== undefined) {
60
+ fish.energy = Math.max(0, fish.energy - effect.energyCost);
61
+ }
62
+ // Apply hunger effect
63
+ if (fish.hunger !== undefined) {
64
+ fish.hunger = Math.max(0, Math.min(1, fish.hunger + effect.hungerEffect));
65
+ }
66
+ // Personality affects how fish respond to stimuli
67
+ const personality = fish.personality;
68
+ if (personality) {
69
+ // Bold fish don't get as startled by threats
70
+ if (type === "threat" && personality.boldness > 0.7) {
71
+ // High boldness: might become curious instead of alert
72
+ if (Math.random() < personality.boldness - 0.5) {
73
+ this.setMood(fish, "curious");
74
+ return;
75
+ }
76
+ }
77
+ // Shy fish don't approach friends as readily
78
+ if (type === "friend" && personality.sociability < 0.3) {
79
+ // Low sociability: might stay calm instead of social
80
+ if (Math.random() > personality.sociability + 0.2) {
81
+ return; // No mood change
82
+ }
83
+ }
84
+ // High curiosity fish get more excited by novelty
85
+ if (type === "novelty" && personality.curiosity > 0.7) {
86
+ this.setMood(fish, "curious");
87
+ // Might trigger wobble
88
+ fish.wobbleType = "curious_tilt";
89
+ fish.wobbleTimer = 0.6; // Match WOBBLE_CONFIGS duration
90
+ fish.wobbleIntensity = 1;
91
+ return;
92
+ }
93
+ }
94
+ // Default: apply the stimulus mood
95
+ this.setMood(fish, effect.mood);
96
+ }
97
+ shouldTransitionBehavior(fish) {
98
+ const mood = fish.mood ?? "calm";
99
+ // Alert fish should consider fleeing
100
+ if (mood === "alert")
101
+ return true;
102
+ // Hungry fish should consider feeding
103
+ if (mood === "hungry" && (fish.hunger ?? 0) > 0.6)
104
+ return true;
105
+ // Tired fish should consider resting
106
+ if (mood === "tired")
107
+ return true;
108
+ // Social fish should consider approaching others
109
+ if (mood === "social")
110
+ return true;
111
+ // Playful fish change behavior more often
112
+ if (mood === "playful")
113
+ return Math.random() < 0.3;
114
+ return false;
115
+ }
116
+ updateMetabolism(fish, deltaSeconds) {
117
+ // Energy drain
118
+ let energyDrain = METABOLISM_RATES.energyDrain;
119
+ // Faster movement drains more energy
120
+ if (fish.speed > fish.baseSpeed * 1.5) {
121
+ energyDrain *= METABOLISM_RATES.fastMovementDrain;
122
+ }
123
+ // Activity personality affects drain
124
+ if (fish.personality?.activity) {
125
+ // High activity fish burn energy faster but also recover faster
126
+ energyDrain *= 0.8 + fish.personality.activity * 0.4;
127
+ }
128
+ // Resting recovers energy (behavior check would be better but mood is proxy)
129
+ if (fish.mood === "tired" && fish.speed < fish.baseSpeed * 0.5) {
130
+ fish.energy = Math.min(1, (fish.energy ?? 0) + METABOLISM_RATES.restRecovery * deltaSeconds);
131
+ }
132
+ else {
133
+ fish.energy = Math.max(0, (fish.energy ?? 0) - energyDrain * deltaSeconds);
134
+ }
135
+ // Hunger increases over time
136
+ fish.hunger = Math.min(1, (fish.hunger ?? 0) + METABOLISM_RATES.hungerIncrease * deltaSeconds);
137
+ }
138
+ checkAutomaticTransitions(fish) {
139
+ const energy = fish.energy ?? 0.8;
140
+ const hunger = fish.hunger ?? 0;
141
+ const currentMood = fish.mood ?? "calm";
142
+ const moodTimer = fish.moodTimer ?? 0;
143
+ // Don't override moods that were just set (within 2 seconds)
144
+ // This allows manual mood changes from the lab to persist
145
+ if (moodTimer < 2 && currentMood !== "calm") {
146
+ if (FishMoodManager.DEBUG_MOOD) {
147
+ // Only log occasionally to avoid spam
148
+ if (Math.random() < 0.01) {
149
+ console.log(`🛡️ GUARD PROTECTED: ${currentMood} (timer: ${moodTimer.toFixed(3)})`);
150
+ }
151
+ }
152
+ return;
153
+ }
154
+ // Tired overrides most moods when energy is very low
155
+ if (energy < MOOD_THRESHOLDS.tiredEnergy && currentMood !== "alert") {
156
+ if (currentMood !== "tired") {
157
+ this.setMood(fish, "tired");
158
+ // Trigger tired wobble
159
+ fish.wobbleType = "tired_drift";
160
+ fish.wobbleTimer = 1.2; // Match WOBBLE_CONFIGS duration
161
+ fish.wobbleIntensity = 1;
162
+ }
163
+ return;
164
+ }
165
+ // Hungry mood when hunger is high
166
+ if (hunger > MOOD_THRESHOLDS.hungryLevel && currentMood === "calm") {
167
+ this.setMood(fish, "hungry");
168
+ return;
169
+ }
170
+ // Spontaneous playfulness (if enough energy and right personality)
171
+ if (currentMood === "calm" &&
172
+ energy > MOOD_THRESHOLDS.playfulMinEnergy &&
173
+ fish.personality?.activity &&
174
+ fish.personality.activity > 0.6) {
175
+ // Higher activity = more likely to become playful spontaneously
176
+ if (Math.random() < 0.001 * fish.personality.activity) {
177
+ this.setMood(fish, "playful");
178
+ fish.wobbleType = "playful_wiggle";
179
+ fish.wobbleTimer = 0.8; // Match WOBBLE_CONFIGS duration
180
+ fish.wobbleIntensity = 1;
181
+ }
182
+ }
183
+ }
184
+ decayMood(fish, deltaSeconds) {
185
+ const mood = fish.mood ?? "calm";
186
+ if (mood === "calm")
187
+ return; // Already at baseline
188
+ const decayRate = MOOD_DECAY_RATES[mood];
189
+ const moodTimer = fish.moodTimer ?? 0;
190
+ // Minimum time before decay can start (gives manual changes time to be observed)
191
+ const minMoodDuration = Math.max(3, 1 / decayRate);
192
+ // Check if mood should decay back to calm
193
+ // Decay probability increases with time and decay rate
194
+ const decayChance = decayRate * deltaSeconds;
195
+ if (moodTimer > minMoodDuration && Math.random() < decayChance) {
196
+ // Check if there's a natural "step down" mood
197
+ const nextMood = this.getDecayMood(mood, fish);
198
+ if (FishMoodManager.DEBUG_MOOD) {
199
+ console.log(`📉 DECAY: ${mood} → ${nextMood} (timer: ${moodTimer.toFixed(2)}, minDuration: ${minMoodDuration.toFixed(2)})`);
200
+ }
201
+ this.setMood(fish, nextMood);
202
+ }
203
+ }
204
+ /**
205
+ * Get the mood to decay to (allows step-down transitions)
206
+ */
207
+ getDecayMood(currentMood, fish) {
208
+ // Most moods decay to calm
209
+ // But some have intermediate states
210
+ switch (currentMood) {
211
+ case "alert":
212
+ // Alert can decay to curious (still watchful) then calm
213
+ if ((fish.moodTimer ?? 0) < 3)
214
+ return "curious";
215
+ return "calm";
216
+ case "playful":
217
+ // Playful can decay to calm, or tired if low energy
218
+ if ((fish.energy ?? 1) < 0.4)
219
+ return "tired";
220
+ return "calm";
221
+ case "social":
222
+ // Social decays to calm
223
+ return "calm";
224
+ case "hungry":
225
+ // Hungry persists until fed, but can decay if hunger drops
226
+ if ((fish.hunger ?? 0) < 0.5)
227
+ return "calm";
228
+ return "hungry"; // Stay hungry
229
+ case "tired":
230
+ // Tired persists until energy recovers
231
+ if ((fish.energy ?? 0) > 0.5)
232
+ return "calm";
233
+ return "tired"; // Stay tired
234
+ case "curious":
235
+ return "calm";
236
+ default:
237
+ return "calm";
238
+ }
239
+ }
240
+ }
241
+ //# sourceMappingURL=FishMoodManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FishMoodManager.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishMoodManager.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0CAA0C,CAAC;AAElD;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAC1B,+DAA+D;IACvD,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAElC,UAAU,CAAC,IAAoB,EAAE,YAAoB;QACnD,uBAAuB;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAChD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACjD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAEnE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,WAAW,GAAI,IAAsC,CAAC,gBAAgB,CAAC;QAC7E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;YAChD,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;gBACnB,wCAAwC;gBACxC,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,IAAI,YAAY,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE1C,oBAAoB;QACpB,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;QAC/B,IAAI,CAAC,gBAAgB,IAAI,YAAY,CAAC;QAEtC,sDAAsD;QACtD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAErC,iCAAiC;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,IAAoB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QACjC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,IAAoB,EAAE,IAAc;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,YAAY,CACV,IAAoB,EACpB,IAA8C;QAE9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEtC,uBAAuB;QACvB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAE1B,oBAAoB;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,kDAAkD;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,6CAA6C;YAC7C,IAAI,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC;gBACpD,uDAAuD;gBACvD,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,IAAI,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;gBACvD,qDAAqD;gBACrD,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;oBAClD,OAAO,CAAC,iBAAiB;gBAC3B,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9B,uBAAuB;gBACvB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,gCAAgC;gBACxD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,wBAAwB,CAAC,IAAoB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QAEjC,qCAAqC;QACrC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAElC,sCAAsC;QACtC,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QAE/D,qCAAqC;QACrC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAElC,iDAAiD;QACjD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEnC,0CAA0C;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAEnD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,gBAAgB,CAAC,IAAoB,EAAE,YAAoB;QACjE,eAAe;QACf,IAAI,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAE/C,qCAAqC;QACrC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YACtC,WAAW,IAAI,gBAAgB,CAAC,iBAAiB,CAAC;QACpD,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;YAC/B,gEAAgE;YAChE,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC;QACvD,CAAC;QAED,6EAA6E;QAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,gBAAgB,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;QAC7E,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,gBAAgB,CAAC,cAAc,GAAG,YAAY,CAAC,CAAC;IACjG,CAAC;IAEO,yBAAyB,CAAC,IAAoB;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAChC,MAAM,WAAW,GAAa,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAEtC,6DAA6D;QAC7D,0DAA0D;QAC1D,IAAI,SAAS,GAAG,CAAC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC5C,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;gBAC/B,sCAAsC;gBACtC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,YAAY,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,GAAG,eAAe,CAAC,WAAW,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACpE,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5B,uBAAuB;gBACvB,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;gBAChC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,gCAAgC;gBACxD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,GAAG,eAAe,CAAC,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,IACE,WAAW,KAAK,MAAM;YACtB,MAAM,GAAG,eAAe,CAAC,gBAAgB;YACzC,IAAI,CAAC,WAAW,EAAE,QAAQ;YAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,EAC/B,CAAC;YACD,gEAAgE;YAChE,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;gBACnC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,gCAAgC;gBACxD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,IAAoB,EAAE,YAAoB;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QACjC,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,sBAAsB;QAEnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAEtC,iFAAiF;QACjF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;QAEnD,0CAA0C;QAC1C,uDAAuD;QACvD,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;QAE7C,IAAI,SAAS,GAAG,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YAC/D,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,QAAQ,YAAY,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9H,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,WAAqB,EAAE,IAAoB;QAC9D,2BAA2B;QAC3B,oCAAoC;QAEpC,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,wDAAwD;gBACxD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAChD,OAAO,MAAM,CAAC;YAEhB,KAAK,SAAS;gBACZ,oDAAoD;gBACpD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG;oBAAE,OAAO,OAAO,CAAC;gBAC7C,OAAO,MAAM,CAAC;YAEhB,KAAK,QAAQ;gBACX,wBAAwB;gBACxB,OAAO,MAAM,CAAC;YAEhB,KAAK,QAAQ;gBACX,2DAA2D;gBAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG;oBAAE,OAAO,MAAM,CAAC;gBAC5C,OAAO,QAAQ,CAAC,CAAC,cAAc;YAEjC,KAAK,OAAO;gBACV,uCAAuC;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG;oBAAE,OAAO,MAAM,CAAC;gBAC5C,OAAO,OAAO,CAAC,CAAC,aAAa;YAE/B,KAAK,SAAS;gBACZ,OAAO,MAAM,CAAC;YAEhB;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { Dimensions } from "../../../../core/domain/types.js";
2
+ import type { FishMarineLife } from "../../domain/models/DeepOceanModels.js";
3
+ import type { IFishMovementController } from "../contracts/IFishMovementController.js";
4
+ import type { IFishDecisionMaker } from "../contracts/IFishDecisionMaker.js";
5
+ /**
6
+ * FishMovementController - Manages fish behavior state machine and movement
7
+ *
8
+ * Handles behavior transitions (cruising, turning, darting, schooling),
9
+ * applies movement based on current behavior, and manages edge awareness.
10
+ * Now supports personality-influenced decisions via FishDecisionMaker.
11
+ */
12
+ export declare class FishMovementController implements IFishMovementController {
13
+ private decisionMaker;
14
+ constructor(decisionMaker?: IFishDecisionMaker);
15
+ applyBehavior(fish: FishMarineLife, deltaSeconds: number, frameMultiplier: number, dimensions: Dimensions): void;
16
+ /**
17
+ * Updates the fish's z-axis position by lerping toward targetZ.
18
+ * Called every frame to smoothly animate depth changes.
19
+ */
20
+ updateDepth(fish: FishMarineLife, frameMultiplier: number): void;
21
+ transitionBehavior(fish: FishMarineLife, dimensions: Dimensions, nearbyFish?: FishMarineLife[], animationTime?: number): void;
22
+ isOffScreen(fish: FishMarineLife, dimensions: Dimensions): boolean;
23
+ getEdgeProximity(fish: FishMarineLife, dimensions: Dimensions): number;
24
+ private applyCruising;
25
+ private applyTurning;
26
+ /**
27
+ * Natural fish C-start escape response with three phases:
28
+ * 1. COIL - body tenses, slows down briefly (preparatory)
29
+ * 2. BURST - explosive acceleration (propulsive)
30
+ * 3. RECOVERY - gradual easeOutExpo deceleration
31
+ */
32
+ private applyDarting;
33
+ /**
34
+ * Fast direct swimming - no bobbing, straight line, streamlined posture.
35
+ * Creates variety with fish that zoom across the screen.
36
+ */
37
+ private applyPassing;
38
+ /**
39
+ * Ascending - swimming upward with vertical focus.
40
+ * Fish browses toward the surface with angled body rotation.
41
+ */
42
+ private applyAscending;
43
+ /**
44
+ * Descending - swimming downward with vertical focus.
45
+ * Fish browses toward the depths with angled body rotation.
46
+ */
47
+ private applyDescending;
48
+ private randomInRange;
49
+ }
50
+ //# sourceMappingURL=FishMovementController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FishMovementController.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishMovementController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAS7E;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,uBAAuB;IACpE,OAAO,CAAC,aAAa,CAAqB;gBAE9B,aAAa,CAAC,EAAE,kBAAkB;IAG9C,aAAa,CACX,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,UAAU,GACrB,IAAI;IA6CP;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAQhE,kBAAkB,CAChB,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,UAAU,EACtB,UAAU,GAAE,cAAc,EAAO,EACjC,aAAa,GAAE,MAAU,GACxB,IAAI;IAoIP,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IAKlE,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM;IActE,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,YAAY;IAYpB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAwDpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsBtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,aAAa;CAKtB"}