@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.
- package/css/backgrounds.css +63 -0
- package/css/index.css +8 -0
- package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.d.ts +145 -0
- package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.d.ts.map +1 -0
- package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.js +124 -0
- package/dist/backgrounds/autumn-drift/domain/constants/autumn-constants.js.map +1 -0
- package/dist/backgrounds/autumn-drift/domain/models/autumn-models.d.ts +39 -0
- package/dist/backgrounds/autumn-drift/domain/models/autumn-models.d.ts.map +1 -0
- package/dist/backgrounds/autumn-drift/domain/models/autumn-models.js +4 -0
- package/dist/backgrounds/autumn-drift/domain/models/autumn-models.js.map +1 -0
- package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.d.ts +40 -0
- package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.js +136 -0
- package/dist/backgrounds/autumn-drift/services/AutumnDriftBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/autumn-drift/services/LeafSystem.d.ts +11 -0
- package/dist/backgrounds/autumn-drift/services/LeafSystem.d.ts.map +1 -0
- package/dist/backgrounds/autumn-drift/services/LeafSystem.js +302 -0
- package/dist/backgrounds/autumn-drift/services/LeafSystem.js.map +1 -0
- package/dist/backgrounds/autumn-drift/services/WindSystem.d.ts +10 -0
- package/dist/backgrounds/autumn-drift/services/WindSystem.d.ts.map +1 -0
- package/dist/backgrounds/autumn-drift/services/WindSystem.js +100 -0
- package/dist/backgrounds/autumn-drift/services/WindSystem.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.d.ts +332 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.js +315 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/cherry-blossom-constants.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.d.ts +82 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.js +153 -0
- package/dist/backgrounds/cherry-blossom/domain/constants/time-of-day-presets.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.d.ts +37 -0
- package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.js +5 -0
- package/dist/backgrounds/cherry-blossom/domain/models/cherry-blossom-models.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.d.ts +100 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.js +259 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.d.ts +17 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.js +632 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomPetalSystem.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.d.ts +30 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.js +139 -0
- package/dist/backgrounds/cherry-blossom/services/CherryBlossomWindSystem.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.d.ts +30 -0
- package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.js +141 -0
- package/dist/backgrounds/cherry-blossom/services/environment/CherryStarSystem.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.d.ts +22 -0
- package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.js +172 -0
- package/dist/backgrounds/cherry-blossom/services/environment/LanternSystem.js.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.d.ts +26 -0
- package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.d.ts.map +1 -0
- package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.js +144 -0
- package/dist/backgrounds/cherry-blossom/services/environment/TreeSilhouetteSystem.js.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.d.ts +338 -0
- package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.js +473 -0
- package/dist/backgrounds/deep-ocean/domain/constants/fish-constants.js.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/debug-config.d.ts +22 -0
- package/dist/backgrounds/deep-ocean/domain/debug-config.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/debug-config.js +26 -0
- package/dist/backgrounds/deep-ocean/domain/debug-config.js.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.d.ts +518 -0
- package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.js +36 -0
- package/dist/backgrounds/deep-ocean/domain/models/DeepOceanModels.js.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.d.ts +124 -0
- package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.js +8 -0
- package/dist/backgrounds/deep-ocean/domain/types/fish-personality-types.js.map +1 -0
- package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.d.ts +47 -0
- package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.js +125 -0
- package/dist/backgrounds/deep-ocean/physics/BodyOutlineCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/physics/SpineChain.d.ts +97 -0
- package/dist/backgrounds/deep-ocean/physics/SpineChain.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/physics/SpineChain.js +215 -0
- package/dist/backgrounds/deep-ocean/physics/SpineChain.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.d.ts +94 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.js +273 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanBackgroundOrchestrator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.d.ts +43 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.js +88 -0
- package/dist/backgrounds/deep-ocean/services/DeepOceanServiceFactory.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.d.ts +24 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubblePhysics.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.d.ts +11 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IBubbleRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.d.ts +46 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IColorCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.d.ts +60 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishAnimator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.d.ts +21 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishBodyRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.d.ts +61 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishDecisionMaker.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.d.ts +34 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishEffectRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.d.ts +24 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFaceRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.d.ts +21 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFactory.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.d.ts +35 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFinRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.d.ts +18 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishFlockingCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.d.ts +38 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHomeZoneHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.d.ts +101 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishHuntingHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.d.ts +55 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishInteractionHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.d.ts +44 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMoodManager.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.d.ts +31 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishMovementController.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.d.ts +23 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPatternRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.d.ts +31 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPersonalityGenerator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.d.ts +33 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishPropulsionCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.d.ts +55 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRareBehaviorHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.d.ts +11 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.d.ts +40 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpineController.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.d.ts +40 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.js +7 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishSpriteManager.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.d.ts +22 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishVisualUpdater.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.d.ts +36 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IFishWobbleAnimator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.d.ts +20 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IGradientRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.d.ts +24 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishAnimator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.d.ts +11 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IJellyfishRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.d.ts +32 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.d.ts +16 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/ILightRayRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.d.ts +11 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.d.ts +28 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.js +2 -0
- package/dist/backgrounds/deep-ocean/services/contracts/IParticleSystem.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.d.ts +22 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.js +303 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubblePhysics.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.d.ts +43 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.js +218 -0
- package/dist/backgrounds/deep-ocean/services/implementations/BubbleRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.d.ts +17 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.js +96 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ColorCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.d.ts +47 -0
- package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.js +132 -0
- package/dist/backgrounds/deep-ocean/services/implementations/DeepOceanPerformanceMonitor.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.d.ts +76 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.js +293 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishAnimator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.d.ts +27 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.js +152 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishBodyRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.d.ts +54 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.js +358 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.d.ts +26 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.js +184 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.d.ts +17 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.js +184 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.d.ts +25 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.js +436 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFactory.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.d.ts +19 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.js +224 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFinRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.d.ts +20 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.js +159 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishFlockingCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.d.ts +22 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.js +88 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHomeZoneHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.d.ts +43 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.js +340 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishHuntingHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.d.ts +32 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.js +272 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishInteractionHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.d.ts +25 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.js +241 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMoodManager.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.d.ts +50 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.js +319 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishMovementController.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.d.ts +59 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.js +472 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPatternRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.d.ts +16 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.js +110 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPersonalityGenerator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.d.ts +29 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.js +109 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishPropulsionCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.d.ts +30 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.js +254 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRareBehaviorHandler.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.d.ts +50 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.js +288 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.d.ts +27 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.js +574 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishRendererLegacy.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.d.ts +31 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.js +165 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpineController.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.d.ts +23 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.js +161 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishSpriteManager.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.d.ts +20 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.js +185 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.d.ts +16 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.js +274 -0
- package/dist/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.d.ts +31 -0
- package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.js +208 -0
- package/dist/backgrounds/deep-ocean/services/implementations/GradientRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.d.ts +38 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.js +411 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishAnimator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.d.ts +84 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.js +521 -0
- package/dist/backgrounds/deep-ocean/services/implementations/JellyfishRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.d.ts +16 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.js +217 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayCalculator.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.d.ts +41 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.js +216 -0
- package/dist/backgrounds/deep-ocean/services/implementations/LightRayRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.d.ts +6 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.js +14 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleRenderer.js.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.d.ts +11 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.d.ts.map +1 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.js +66 -0
- package/dist/backgrounds/deep-ocean/services/implementations/ParticleSystem.js.map +1 -0
- package/dist/backgrounds/ember-glow/domain/constants/ember-constants.d.ts +206 -0
- package/dist/backgrounds/ember-glow/domain/constants/ember-constants.d.ts.map +1 -0
- package/dist/backgrounds/ember-glow/domain/constants/ember-constants.js +251 -0
- package/dist/backgrounds/ember-glow/domain/constants/ember-constants.js.map +1 -0
- package/dist/backgrounds/ember-glow/domain/models/ember-models.d.ts +108 -0
- package/dist/backgrounds/ember-glow/domain/models/ember-models.d.ts.map +1 -0
- package/dist/backgrounds/ember-glow/domain/models/ember-models.js +5 -0
- package/dist/backgrounds/ember-glow/domain/models/ember-models.js.map +1 -0
- package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.d.ts +71 -0
- package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.js +325 -0
- package/dist/backgrounds/ember-glow/services/EmberGlowBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/ember-glow/services/coal-bed-system.d.ts +49 -0
- package/dist/backgrounds/ember-glow/services/coal-bed-system.d.ts.map +1 -0
- package/dist/backgrounds/ember-glow/services/coal-bed-system.js +191 -0
- package/dist/backgrounds/ember-glow/services/coal-bed-system.js.map +1 -0
- package/dist/backgrounds/ember-glow/services/ember-system.d.ts +85 -0
- package/dist/backgrounds/ember-glow/services/ember-system.d.ts.map +1 -0
- package/dist/backgrounds/ember-glow/services/ember-system.js +438 -0
- package/dist/backgrounds/ember-glow/services/ember-system.js.map +1 -0
- package/dist/backgrounds/ember-glow/services/smoke-system.d.ts +41 -0
- package/dist/backgrounds/ember-glow/services/smoke-system.d.ts.map +1 -0
- package/dist/backgrounds/ember-glow/services/smoke-system.js +181 -0
- package/dist/backgrounds/ember-glow/services/smoke-system.js.map +1 -0
- package/dist/backgrounds/ember-glow/services/spark-system.d.ts +47 -0
- package/dist/backgrounds/ember-glow/services/spark-system.d.ts.map +1 -0
- package/dist/backgrounds/ember-glow/services/spark-system.js +261 -0
- package/dist/backgrounds/ember-glow/services/spark-system.js.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.d.ts +130 -0
- package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.js +140 -0
- package/dist/backgrounds/firefly-forest/domain/constants/firefly-constants.js.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.d.ts +44 -0
- package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.js +295 -0
- package/dist/backgrounds/firefly-forest/domain/constants/tree-silhouette-constants.js.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/models/firefly-models.d.ts +22 -0
- package/dist/backgrounds/firefly-forest/domain/models/firefly-models.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/models/firefly-models.js +2 -0
- package/dist/backgrounds/firefly-forest/domain/models/firefly-models.js.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.d.ts +115 -0
- package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.js +7 -0
- package/dist/backgrounds/firefly-forest/domain/models/tree-silhouette-models.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.d.ts +23 -0
- package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.js +208 -0
- package/dist/backgrounds/firefly-forest/services/AmbientParticleSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/CampfireSystem.d.ts +24 -0
- package/dist/backgrounds/firefly-forest/services/CampfireSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/CampfireSystem.js +287 -0
- package/dist/backgrounds/firefly-forest/services/CampfireSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.d.ts +146 -0
- package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.js +660 -0
- package/dist/backgrounds/firefly-forest/services/FireflyForestBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/FireflySystem.d.ts +15 -0
- package/dist/backgrounds/firefly-forest/services/FireflySystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/FireflySystem.js +303 -0
- package/dist/backgrounds/firefly-forest/services/FireflySystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.d.ts +251 -0
- package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.js +486 -0
- package/dist/backgrounds/firefly-forest/services/ProceduralForestSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.d.ts +31 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.js +191 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteImageLoader.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.d.ts +47 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.js +241 -0
- package/dist/backgrounds/firefly-forest/services/TreeSilhouetteSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.d.ts +155 -0
- package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.js +339 -0
- package/dist/backgrounds/firefly-forest/services/ambient/EasterEggSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.d.ts +93 -0
- package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.js +263 -0
- package/dist/backgrounds/firefly-forest/services/animation/WindAnimator.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.d.ts +135 -0
- package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.js +286 -0
- package/dist/backgrounds/firefly-forest/services/atmosphere/AtmosphericFogSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.d.ts +116 -0
- package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.js +299 -0
- package/dist/backgrounds/firefly-forest/services/composition/ParallaxForestComposer.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.d.ts +112 -0
- package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.js +303 -0
- package/dist/backgrounds/firefly-forest/services/ground/GroundLayerSystem.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.d.ts +44 -0
- package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.js +143 -0
- package/dist/backgrounds/firefly-forest/services/noise/PerlinNoise.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.d.ts +50 -0
- package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.js +396 -0
- package/dist/backgrounds/firefly-forest/services/rendering/ForestCanvasRenderer.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/BareTree.d.ts +63 -0
- package/dist/backgrounds/firefly-forest/services/trees/BareTree.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/BareTree.js +215 -0
- package/dist/backgrounds/firefly-forest/services/trees/BareTree.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.d.ts +34 -0
- package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.js +89 -0
- package/dist/backgrounds/firefly-forest/services/trees/EcologicalPatternProvider.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.d.ts +74 -0
- package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.js +274 -0
- package/dist/backgrounds/firefly-forest/services/trees/FoliageNoiseGenerator.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.d.ts +75 -0
- package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.js +290 -0
- package/dist/backgrounds/firefly-forest/services/trees/SpaceColonizationTree.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.d.ts +78 -0
- package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.js +273 -0
- package/dist/backgrounds/firefly-forest/services/trees/StochasticConiferTree.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.d.ts +25 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.js +136 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeGenerator.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.d.ts +31 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.js +136 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreePlacementResolver.js.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.d.ts +34 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.d.ts.map +1 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.js +111 -0
- package/dist/backgrounds/firefly-forest/services/trees/TreeSilhouetteRenderer.js.map +1 -0
- package/dist/backgrounds/night-sky/constants.d.ts +271 -0
- package/dist/backgrounds/night-sky/constants.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/constants.js +233 -0
- package/dist/backgrounds/night-sky/constants.js.map +1 -0
- package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.d.ts +245 -0
- package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.js +273 -0
- package/dist/backgrounds/night-sky/domain/constants/night-sky-constants.js.map +1 -0
- package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.d.ts +11 -0
- package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.js +3 -0
- package/dist/backgrounds/night-sky/domain/models/NightSkyConfigModels.js.map +1 -0
- package/dist/backgrounds/night-sky/domain/models/night-sky-models.d.ts +277 -0
- package/dist/backgrounds/night-sky/domain/models/night-sky-models.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/domain/models/night-sky-models.js +3 -0
- package/dist/backgrounds/night-sky/domain/models/night-sky-models.js.map +1 -0
- package/dist/backgrounds/night-sky/domain/types/night-sky-types.d.ts +11 -0
- package/dist/backgrounds/night-sky/domain/types/night-sky-types.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/domain/types/night-sky-types.js +3 -0
- package/dist/backgrounds/night-sky/domain/types/night-sky-types.js.map +1 -0
- package/dist/backgrounds/night-sky/services/AuroraSystem.d.ts +28 -0
- package/dist/backgrounds/night-sky/services/AuroraSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/AuroraSystem.js +236 -0
- package/dist/backgrounds/night-sky/services/AuroraSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/CometSystem.d.ts +82 -0
- package/dist/backgrounds/night-sky/services/CometSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/CometSystem.js +375 -0
- package/dist/backgrounds/night-sky/services/CometSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/ConstellationSystem.d.ts +20 -0
- package/dist/backgrounds/night-sky/services/ConstellationSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/ConstellationSystem.js +69 -0
- package/dist/backgrounds/night-sky/services/ConstellationSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.d.ts +37 -0
- package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.js +279 -0
- package/dist/backgrounds/night-sky/services/MilkyWayParticleSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/MilkyWaySystem.d.ts +118 -0
- package/dist/backgrounds/night-sky/services/MilkyWaySystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/MilkyWaySystem.js +458 -0
- package/dist/backgrounds/night-sky/services/MilkyWaySystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/NebulaSystem.d.ts +63 -0
- package/dist/backgrounds/night-sky/services/NebulaSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/NebulaSystem.js +358 -0
- package/dist/backgrounds/night-sky/services/NebulaSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.d.ts +152 -0
- package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.js +451 -0
- package/dist/backgrounds/night-sky/services/NightSkyBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.d.ts +44 -0
- package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.js +63 -0
- package/dist/backgrounds/night-sky/services/NightSkyServiceFactory.js.map +1 -0
- package/dist/backgrounds/night-sky/services/ParallaxStarSystem.d.ts +73 -0
- package/dist/backgrounds/night-sky/services/ParallaxStarSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/ParallaxStarSystem.js +446 -0
- package/dist/backgrounds/night-sky/services/ParallaxStarSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.d.ts +27 -0
- package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.js +220 -0
- package/dist/backgrounds/night-sky/services/ProceduralNebulaSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/SpaceshipSystem.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/SpaceshipSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/SpaceshipSystem.js +71 -0
- package/dist/backgrounds/night-sky/services/SpaceshipSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/UFOSystem.d.ts +229 -0
- package/dist/backgrounds/night-sky/services/UFOSystem.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/UFOSystem.js +949 -0
- package/dist/backgrounds/night-sky/services/UFOSystem.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.d.ts +40 -0
- package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.js +2 -0
- package/dist/backgrounds/night-sky/services/contracts/INightSkyCalculationService.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.d.ts +17 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.js +8 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.d.ts +65 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.js +8 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOBehaviorRunner.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.d.ts +42 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.js +5 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFODecisionMaker.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.d.ts +35 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.js +8 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOEntranceAnimator.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.d.ts +36 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.js +8 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOExitAnimator.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.js +5 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOFactory.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.d.ts +41 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.js +8 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOInteractionHandler.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.d.ts +39 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.js +8 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMoodManager.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.d.ts +54 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.js +5 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOMovementController.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.d.ts +43 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.js +9 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOParticleRenderer.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.d.ts +43 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.js +8 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFORenderer.js.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.d.ts +31 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.js +9 -0
- package/dist/backgrounds/night-sky/services/contracts/IUFOStarScanner.js.map +1 -0
- package/dist/backgrounds/night-sky/services/domain/ufo-types.d.ts +240 -0
- package/dist/backgrounds/night-sky/services/domain/ufo-types.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/domain/ufo-types.js +8 -0
- package/dist/backgrounds/night-sky/services/domain/ufo-types.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.d.ts +56 -0
- package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.js +188 -0
- package/dist/backgrounds/night-sky/services/implementations/NightSkyCalculationService.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.d.ts +47 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.js +118 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOBehaviorRunner.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.d.ts +12 -0
- package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.js +58 -0
- package/dist/backgrounds/night-sky/services/implementations/UFODecisionMaker.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.d.ts +11 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.js +70 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOEntranceAnimator.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.d.ts +11 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.js +74 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOExitAnimator.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOFactory.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOFactory.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOFactory.js +174 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOFactory.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.d.ts +28 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.js +137 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOInteractionHandler.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.js +179 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMoodManager.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.d.ts +25 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.js +172 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOMovementController.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.d.ts +20 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.js +193 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOParticleRenderer.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFORenderer.d.ts +24 -0
- package/dist/backgrounds/night-sky/services/implementations/UFORenderer.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFORenderer.js +215 -0
- package/dist/backgrounds/night-sky/services/implementations/UFORenderer.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.d.ts +16 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.js +92 -0
- package/dist/backgrounds/night-sky/services/implementations/UFOStarScanner.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.js +83 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CelebratingBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.d.ts +14 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.js +94 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/ChasingBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.js +126 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/CommunicatingBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.js +128 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/FollowingBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.d.ts +14 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.js +47 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GivingUpBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.d.ts +19 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.js +146 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/GroundInvestigationBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.d.ts +19 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.js +127 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/NappingBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.js +100 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PanickingBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.js +116 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PeekabooBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.js +101 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/PhotographingBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.js +113 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SampleCollectionBehavior.js.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.d.ts +18 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.d.ts.map +1 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.js +123 -0
- package/dist/backgrounds/night-sky/services/implementations/behaviors/SurfingBehavior.js.map +1 -0
- package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.d.ts +79 -0
- package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.js +203 -0
- package/dist/backgrounds/rainbow/domain/constants/rainbow-constants.js.map +1 -0
- package/dist/backgrounds/rainbow/domain/models/rainbow-models.d.ts +158 -0
- package/dist/backgrounds/rainbow/domain/models/rainbow-models.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/domain/models/rainbow-models.js +2 -0
- package/dist/backgrounds/rainbow/domain/models/rainbow-models.js.map +1 -0
- package/dist/backgrounds/rainbow/services/PrideHeartsSystem.d.ts +46 -0
- package/dist/backgrounds/rainbow/services/PrideHeartsSystem.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/services/PrideHeartsSystem.js +138 -0
- package/dist/backgrounds/rainbow/services/PrideHeartsSystem.js.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.d.ts +91 -0
- package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.js +239 -0
- package/dist/backgrounds/rainbow/services/RainbowBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowBokehSystem.d.ts +46 -0
- package/dist/backgrounds/rainbow/services/RainbowBokehSystem.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowBokehSystem.js +127 -0
- package/dist/backgrounds/rainbow/services/RainbowBokehSystem.js.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowGradientSystem.d.ts +51 -0
- package/dist/backgrounds/rainbow/services/RainbowGradientSystem.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowGradientSystem.js +149 -0
- package/dist/backgrounds/rainbow/services/RainbowGradientSystem.js.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.d.ts +38 -0
- package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.js +99 -0
- package/dist/backgrounds/rainbow/services/RainbowShimmerSystem.js.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.d.ts +42 -0
- package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.d.ts.map +1 -0
- package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.js +126 -0
- package/dist/backgrounds/rainbow/services/RainbowSparkleSystem.js.map +1 -0
- package/dist/backgrounds/simple/services/GradientGeneratorService.d.ts +33 -0
- package/dist/backgrounds/simple/services/GradientGeneratorService.d.ts.map +1 -0
- package/dist/backgrounds/simple/services/GradientGeneratorService.js +135 -0
- package/dist/backgrounds/simple/services/GradientGeneratorService.js.map +1 -0
- package/dist/backgrounds/simple/services/SimpleBackgroundSystem.d.ts +60 -0
- package/dist/backgrounds/simple/services/SimpleBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/simple/services/SimpleBackgroundSystem.js +103 -0
- package/dist/backgrounds/simple/services/SimpleBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.d.ts +31 -0
- package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.d.ts.map +1 -0
- package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.js +36 -0
- package/dist/backgrounds/snowfall/domain/constants/snowfall-constants.js.map +1 -0
- package/dist/backgrounds/snowfall/domain/models/snowfall-models.d.ts +51 -0
- package/dist/backgrounds/snowfall/domain/models/snowfall-models.d.ts.map +1 -0
- package/dist/backgrounds/snowfall/domain/models/snowfall-models.js +3 -0
- package/dist/backgrounds/snowfall/domain/models/snowfall-models.js.map +1 -0
- package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.d.ts +41 -0
- package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.d.ts.map +1 -0
- package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.js +110 -0
- package/dist/backgrounds/snowfall/services/SnowfallBackgroundSystem.js.map +1 -0
- package/dist/backgrounds/snowfall/services/SnowflakeSystem.d.ts +10 -0
- package/dist/backgrounds/snowfall/services/SnowflakeSystem.d.ts.map +1 -0
- package/dist/backgrounds/snowfall/services/SnowflakeSystem.js +201 -0
- package/dist/backgrounds/snowfall/services/SnowflakeSystem.js.map +1 -0
- package/dist/card/domain/background-card-constants.d.ts +17 -0
- package/dist/card/domain/background-card-constants.d.ts.map +1 -0
- package/dist/card/domain/background-card-constants.js +112 -0
- package/dist/card/domain/background-card-constants.js.map +1 -0
- package/dist/card/domain/background-card-types.d.ts +21 -0
- package/dist/card/domain/background-card-types.d.ts.map +1 -0
- package/dist/card/domain/background-card-types.js +5 -0
- package/dist/card/domain/background-card-types.js.map +1 -0
- package/dist/card/effects/cursor-glow-effect.d.ts +23 -0
- package/dist/card/effects/cursor-glow-effect.d.ts.map +1 -0
- package/dist/card/effects/cursor-glow-effect.js +55 -0
- package/dist/card/effects/cursor-glow-effect.js.map +1 -0
- package/dist/card/effects/spring.d.ts +25 -0
- package/dist/card/effects/spring.d.ts.map +1 -0
- package/dist/card/effects/spring.js +77 -0
- package/dist/card/effects/spring.js.map +1 -0
- package/dist/card/effects/tilt-effect.d.ts +24 -0
- package/dist/card/effects/tilt-effect.d.ts.map +1 -0
- package/dist/card/effects/tilt-effect.js +89 -0
- package/dist/card/effects/tilt-effect.js.map +1 -0
- package/dist/card/element/background-card-element.d.ts +57 -0
- package/dist/card/element/background-card-element.d.ts.map +1 -0
- package/dist/card/element/background-card-element.js +267 -0
- package/dist/card/element/background-card-element.js.map +1 -0
- package/dist/card/element/background-card-styles.d.ts +9 -0
- package/dist/card/element/background-card-styles.d.ts.map +1 -0
- package/dist/card/element/background-card-styles.js +221 -0
- package/dist/card/element/background-card-styles.js.map +1 -0
- package/dist/card.d.ts +20 -0
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +19 -0
- package/dist/card.js.map +1 -0
- package/dist/core/contracts/IBackgroundConfigurationService.d.ts +46 -0
- package/dist/core/contracts/IBackgroundConfigurationService.d.ts.map +1 -0
- package/dist/core/contracts/IBackgroundConfigurationService.js +5 -0
- package/dist/core/contracts/IBackgroundConfigurationService.js.map +1 -0
- package/dist/core/contracts/IBackgroundController.d.ts +122 -0
- package/dist/core/contracts/IBackgroundController.d.ts.map +1 -0
- package/dist/core/contracts/IBackgroundController.js +27 -0
- package/dist/core/contracts/IBackgroundController.js.map +1 -0
- package/dist/core/contracts/IBackgroundRenderingService.d.ts +19 -0
- package/dist/core/contracts/IBackgroundRenderingService.d.ts.map +1 -0
- package/dist/core/contracts/IBackgroundRenderingService.js +5 -0
- package/dist/core/contracts/IBackgroundRenderingService.js.map +1 -0
- package/dist/core/contracts/IBackgroundSystem.d.ts +45 -0
- package/dist/core/contracts/IBackgroundSystem.d.ts.map +1 -0
- package/dist/core/contracts/IBackgroundSystem.js +8 -0
- package/dist/core/contracts/IBackgroundSystem.js.map +1 -0
- package/dist/core/contracts/IGeoLocationProvider.d.ts +28 -0
- package/dist/core/contracts/IGeoLocationProvider.d.ts.map +1 -0
- package/dist/core/contracts/IGeoLocationProvider.js +24 -0
- package/dist/core/contracts/IGeoLocationProvider.js.map +1 -0
- package/dist/core/domain/constants.d.ts +60 -0
- package/dist/core/domain/constants.d.ts.map +1 -0
- package/dist/core/domain/constants.js +107 -0
- package/dist/core/domain/constants.js.map +1 -0
- package/dist/core/domain/enums.d.ts +23 -0
- package/dist/core/domain/enums.d.ts.map +1 -0
- package/dist/core/domain/enums.js +27 -0
- package/dist/core/domain/enums.js.map +1 -0
- package/dist/core/domain/models.d.ts +41 -0
- package/dist/core/domain/models.d.ts.map +1 -0
- package/dist/core/domain/models.js +5 -0
- package/dist/core/domain/models.js.map +1 -0
- package/dist/core/domain/types.d.ts +49 -0
- package/dist/core/domain/types.d.ts.map +1 -0
- package/dist/core/domain/types.js +5 -0
- package/dist/core/domain/types.js.map +1 -0
- package/dist/core/services/AdaptiveQualityManager.d.ts +74 -0
- package/dist/core/services/AdaptiveQualityManager.d.ts.map +1 -0
- package/dist/core/services/AdaptiveQualityManager.js +190 -0
- package/dist/core/services/AdaptiveQualityManager.js.map +1 -0
- package/dist/core/services/BackgroundConfigurationService.d.ts +49 -0
- package/dist/core/services/BackgroundConfigurationService.d.ts.map +1 -0
- package/dist/core/services/BackgroundConfigurationService.js +139 -0
- package/dist/core/services/BackgroundConfigurationService.js.map +1 -0
- package/dist/core/services/BackgroundController.d.ts +95 -0
- package/dist/core/services/BackgroundController.d.ts.map +1 -0
- package/dist/core/services/BackgroundController.js +526 -0
- package/dist/core/services/BackgroundController.js.map +1 -0
- package/dist/core/services/BackgroundFactory.d.ts +27 -0
- package/dist/core/services/BackgroundFactory.d.ts.map +1 -0
- package/dist/core/services/BackgroundFactory.js +164 -0
- package/dist/core/services/BackgroundFactory.js.map +1 -0
- package/dist/core/services/BackgroundRenderingService.d.ts +14 -0
- package/dist/core/services/BackgroundRenderingService.d.ts.map +1 -0
- package/dist/core/services/BackgroundRenderingService.js +47 -0
- package/dist/core/services/BackgroundRenderingService.js.map +1 -0
- package/dist/core/services/MoonRenderer.d.ts +78 -0
- package/dist/core/services/MoonRenderer.d.ts.map +1 -0
- package/dist/core/services/MoonRenderer.js +463 -0
- package/dist/core/services/MoonRenderer.js.map +1 -0
- package/dist/core/services/ServiceFactory.d.ts +39 -0
- package/dist/core/services/ServiceFactory.d.ts.map +1 -0
- package/dist/core/services/ServiceFactory.js +70 -0
- package/dist/core/services/ServiceFactory.js.map +1 -0
- package/dist/core/services/ShootingStarSystem.d.ts +39 -0
- package/dist/core/services/ShootingStarSystem.d.ts.map +1 -0
- package/dist/core/services/ShootingStarSystem.js +144 -0
- package/dist/core/services/ShootingStarSystem.js.map +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- 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":"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"}
|
|
@@ -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"}
|