@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,358 @@
|
|
|
1
|
+
import { BEHAVIOR_CONFIG, BEHAVIOR_TRANSITION_PROBABILITY, SPECIES_BEHAVIOR_MODIFIERS, DEPTH_TRANSITION, SPECIES_VERTICAL_PREFERENCES, } from "../../domain/constants/fish-constants.js";
|
|
2
|
+
/**
|
|
3
|
+
* FishDecisionMaker - Personality and mood-influenced behavior decisions
|
|
4
|
+
*
|
|
5
|
+
* Modifies behavior transition probabilities based on:
|
|
6
|
+
* - Personality traits (boldness, curiosity, activity, sociability)
|
|
7
|
+
* - Current mood (alert, playful, tired, etc.)
|
|
8
|
+
* - Environmental context (nearby fish, edge proximity)
|
|
9
|
+
*/
|
|
10
|
+
export class FishDecisionMaker {
|
|
11
|
+
decideNextBehavior(ctx) {
|
|
12
|
+
const { fish, nearbyFish, dimensions } = ctx;
|
|
13
|
+
// CRITICAL: Force flee behavior when being hunted
|
|
14
|
+
// This overrides ALL other decision making
|
|
15
|
+
if (fish.isBeingHunted && fish.behavior === "fleeing") {
|
|
16
|
+
return {
|
|
17
|
+
behavior: "fleeing",
|
|
18
|
+
speedMultiplier: 1.5,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// Force hunting behaviors for predators actively hunting
|
|
22
|
+
if (fish.huntState === "stalking" || fish.huntState === "chasing") {
|
|
23
|
+
return {
|
|
24
|
+
behavior: fish.huntState,
|
|
25
|
+
speedMultiplier: fish.huntState === "chasing" ? 2.0 : 0.6,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const weights = this.getTransitionWeights(fish);
|
|
29
|
+
// Check for mood-driven overrides
|
|
30
|
+
const moodDecision = this.checkMoodOverrides(fish, nearbyFish);
|
|
31
|
+
if (moodDecision)
|
|
32
|
+
return moodDecision;
|
|
33
|
+
// Calculate edge proximity
|
|
34
|
+
const edgeProximity = this.getEdgeProximity(fish, dimensions);
|
|
35
|
+
// Weighted random selection - include all behaviors
|
|
36
|
+
const totalWeight = weights.turn +
|
|
37
|
+
weights.dart +
|
|
38
|
+
weights.cruise +
|
|
39
|
+
weights.school +
|
|
40
|
+
weights.passing +
|
|
41
|
+
weights.ascending +
|
|
42
|
+
weights.descending +
|
|
43
|
+
weights.approaching +
|
|
44
|
+
weights.receding;
|
|
45
|
+
let roll = Math.random() * totalWeight;
|
|
46
|
+
// Edge proximity strongly influences turning
|
|
47
|
+
if (edgeProximity > 0.7) {
|
|
48
|
+
return this.createTurnDecision(fish, dimensions);
|
|
49
|
+
}
|
|
50
|
+
// Turn check (increased weight near edges)
|
|
51
|
+
const adjustedTurnWeight = weights.turn * (1 + edgeProximity * 4);
|
|
52
|
+
if (roll < adjustedTurnWeight) {
|
|
53
|
+
return this.createTurnDecision(fish, dimensions);
|
|
54
|
+
}
|
|
55
|
+
roll -= adjustedTurnWeight;
|
|
56
|
+
// Dart check (startled behavior)
|
|
57
|
+
if (roll < weights.dart) {
|
|
58
|
+
return this.createDartDecision(fish);
|
|
59
|
+
}
|
|
60
|
+
roll -= weights.dart;
|
|
61
|
+
// Passing check (fast direct swimmers)
|
|
62
|
+
if (roll < weights.passing) {
|
|
63
|
+
return this.createPassingDecision(fish);
|
|
64
|
+
}
|
|
65
|
+
roll -= weights.passing;
|
|
66
|
+
// Ascending check (vertical exploration upward)
|
|
67
|
+
if (roll < weights.ascending) {
|
|
68
|
+
return this.createAscendingDecision(fish, dimensions);
|
|
69
|
+
}
|
|
70
|
+
roll -= weights.ascending;
|
|
71
|
+
// Descending check (vertical exploration downward)
|
|
72
|
+
if (roll < weights.descending) {
|
|
73
|
+
return this.createDescendingDecision(fish, dimensions);
|
|
74
|
+
}
|
|
75
|
+
roll -= weights.descending;
|
|
76
|
+
// Approaching check (z-axis toward camera)
|
|
77
|
+
if (roll < weights.approaching) {
|
|
78
|
+
return this.createApproachingDecision(fish);
|
|
79
|
+
}
|
|
80
|
+
roll -= weights.approaching;
|
|
81
|
+
// Receding check (z-axis away from camera)
|
|
82
|
+
if (roll < weights.receding) {
|
|
83
|
+
return this.createRecedingDecision(fish);
|
|
84
|
+
}
|
|
85
|
+
roll -= weights.receding;
|
|
86
|
+
// School check (if near other fish and sociable)
|
|
87
|
+
if (roll < weights.school && nearbyFish.length > 0) {
|
|
88
|
+
return this.createSchoolDecision(fish);
|
|
89
|
+
}
|
|
90
|
+
// Default: continue cruising
|
|
91
|
+
return this.createCruiseDecision(fish);
|
|
92
|
+
}
|
|
93
|
+
getTransitionWeights(fish) {
|
|
94
|
+
const personality = fish.personality;
|
|
95
|
+
const mood = fish.mood ?? "calm";
|
|
96
|
+
const species = fish.species;
|
|
97
|
+
// Base weights from constants
|
|
98
|
+
let turn = BEHAVIOR_TRANSITION_PROBABILITY.turn;
|
|
99
|
+
let dart = BEHAVIOR_TRANSITION_PROBABILITY.dart;
|
|
100
|
+
let passing = BEHAVIOR_TRANSITION_PROBABILITY.passing;
|
|
101
|
+
let ascending = BEHAVIOR_TRANSITION_PROBABILITY.ascending;
|
|
102
|
+
let descending = BEHAVIOR_TRANSITION_PROBABILITY.descending;
|
|
103
|
+
let approaching = BEHAVIOR_TRANSITION_PROBABILITY.approaching;
|
|
104
|
+
let receding = BEHAVIOR_TRANSITION_PROBABILITY.receding;
|
|
105
|
+
let cruise = 0.5; // Base cruising weight
|
|
106
|
+
let school = 0.18;
|
|
107
|
+
// Apply species-specific modifiers
|
|
108
|
+
const speciesModifiers = SPECIES_BEHAVIOR_MODIFIERS[species] ?? {};
|
|
109
|
+
if (speciesModifiers.passing)
|
|
110
|
+
passing *= speciesModifiers.passing;
|
|
111
|
+
if (speciesModifiers.dart)
|
|
112
|
+
dart *= speciesModifiers.dart;
|
|
113
|
+
if (speciesModifiers.ascending)
|
|
114
|
+
ascending *= speciesModifiers.ascending;
|
|
115
|
+
if (speciesModifiers.descending)
|
|
116
|
+
descending *= speciesModifiers.descending;
|
|
117
|
+
if (speciesModifiers.approaching)
|
|
118
|
+
approaching *= speciesModifiers.approaching;
|
|
119
|
+
if (speciesModifiers.receding)
|
|
120
|
+
receding *= speciesModifiers.receding;
|
|
121
|
+
// Apply species vertical preferences (deep fish descend more, tropical ascend more)
|
|
122
|
+
const verticalPref = SPECIES_VERTICAL_PREFERENCES[species];
|
|
123
|
+
ascending *= verticalPref.ascendingMod;
|
|
124
|
+
descending *= verticalPref.descendingMod;
|
|
125
|
+
// Additional feedback: if fish is outside preferred zone, increase tendency to return
|
|
126
|
+
if (fish.preferredVerticalPosition !== undefined) {
|
|
127
|
+
const bandHeight = fish.depthBand.max - fish.depthBand.min;
|
|
128
|
+
const currentFraction = (fish.baseY - fish.depthBand.min) / bandHeight;
|
|
129
|
+
const prefFraction = fish.preferredVerticalPosition;
|
|
130
|
+
const displacement = currentFraction - prefFraction;
|
|
131
|
+
const displacementStrength = Math.abs(displacement) * verticalPref.zoneAffinity * 2;
|
|
132
|
+
if (displacement > 0.15) {
|
|
133
|
+
// Too low (high Y = bottom) - boost ascending to go back up
|
|
134
|
+
ascending *= 1 + displacementStrength;
|
|
135
|
+
descending *= 1 - displacementStrength * 0.5;
|
|
136
|
+
}
|
|
137
|
+
else if (displacement < -0.15) {
|
|
138
|
+
// Too high (low Y = top) - boost descending to go back down
|
|
139
|
+
descending *= 1 + displacementStrength;
|
|
140
|
+
ascending *= 1 - displacementStrength * 0.5;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (personality) {
|
|
144
|
+
// Curiosity increases turning (exploring) and vertical exploration
|
|
145
|
+
turn *= 0.6 + personality.curiosity * 0.8;
|
|
146
|
+
ascending *= 0.7 + personality.curiosity * 0.6;
|
|
147
|
+
descending *= 0.7 + personality.curiosity * 0.6;
|
|
148
|
+
// Low boldness increases darting (easily startled)
|
|
149
|
+
dart *= 1.5 - personality.boldness;
|
|
150
|
+
// High boldness increases passing (confident fast swimming)
|
|
151
|
+
passing *= 0.5 + personality.boldness * 1.0;
|
|
152
|
+
// High sociability increases schooling
|
|
153
|
+
school *= 0.5 + personality.sociability * 1.0;
|
|
154
|
+
// High activity reduces cruising and increases all active behaviors
|
|
155
|
+
cruise *= 1.2 - personality.activity * 0.4;
|
|
156
|
+
passing *= 0.8 + personality.activity * 0.4;
|
|
157
|
+
}
|
|
158
|
+
// Mood modifiers
|
|
159
|
+
switch (mood) {
|
|
160
|
+
case "alert":
|
|
161
|
+
dart *= 2.0; // More likely to dart when alert
|
|
162
|
+
turn *= 1.5; // More erratic
|
|
163
|
+
passing *= 0.5; // Less likely to do calm fast pass
|
|
164
|
+
break;
|
|
165
|
+
case "playful":
|
|
166
|
+
turn *= 1.5; // More direction changes
|
|
167
|
+
dart *= 0.5; // Less startled, more intentional
|
|
168
|
+
ascending *= 1.5; // More vertical exploration
|
|
169
|
+
descending *= 1.5;
|
|
170
|
+
break;
|
|
171
|
+
case "tired":
|
|
172
|
+
cruise *= 2.0; // Just keep swimming slowly
|
|
173
|
+
turn *= 0.5;
|
|
174
|
+
dart *= 0.3;
|
|
175
|
+
passing *= 0.1; // Too tired to pass
|
|
176
|
+
ascending *= 0.3;
|
|
177
|
+
descending *= 0.5; // Might drift down
|
|
178
|
+
break;
|
|
179
|
+
case "social":
|
|
180
|
+
school *= 2.0; // Much more likely to school
|
|
181
|
+
passing *= 0.5; // Stay with the group
|
|
182
|
+
break;
|
|
183
|
+
case "curious":
|
|
184
|
+
turn *= 1.3; // Looking around more
|
|
185
|
+
ascending *= 1.4; // Exploring all dimensions
|
|
186
|
+
descending *= 1.4;
|
|
187
|
+
approaching *= 1.5; // Coming closer to investigate
|
|
188
|
+
break;
|
|
189
|
+
case "hungry":
|
|
190
|
+
// Hungry fish are more exploratory
|
|
191
|
+
ascending *= 1.2;
|
|
192
|
+
descending *= 1.2;
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
// Depth-based adjustments
|
|
196
|
+
// Fish near z limits are more likely to move the other direction
|
|
197
|
+
if (fish.z <= 0.2) {
|
|
198
|
+
receding *= 1.5; // More likely to swim away from camera
|
|
199
|
+
approaching *= 0.3; // Already close
|
|
200
|
+
}
|
|
201
|
+
else if (fish.z >= 0.8) {
|
|
202
|
+
approaching *= 1.5; // More likely to swim toward camera
|
|
203
|
+
receding *= 0.3; // Already far
|
|
204
|
+
}
|
|
205
|
+
// Vertical position adjustments
|
|
206
|
+
const dimensions = { height: fish.depthBand.max - fish.depthBand.min + 100 };
|
|
207
|
+
const relativeY = (fish.baseY - fish.depthBand.min) / (fish.depthBand.max - fish.depthBand.min);
|
|
208
|
+
if (relativeY < 0.3) {
|
|
209
|
+
descending *= 1.5; // Near top, more likely to descend
|
|
210
|
+
ascending *= 0.5;
|
|
211
|
+
}
|
|
212
|
+
else if (relativeY > 0.7) {
|
|
213
|
+
ascending *= 1.5; // Near bottom, more likely to ascend
|
|
214
|
+
descending *= 0.5;
|
|
215
|
+
}
|
|
216
|
+
return { turn, dart, cruise, school, passing, ascending, descending, approaching, receding };
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Check if mood should override normal decision making
|
|
220
|
+
*/
|
|
221
|
+
checkMoodOverrides(fish, _nearbyFish) {
|
|
222
|
+
const mood = fish.mood;
|
|
223
|
+
// Tired fish should mostly cruise slowly
|
|
224
|
+
if (mood === "tired" && Math.random() < 0.8) {
|
|
225
|
+
return {
|
|
226
|
+
behavior: "cruising",
|
|
227
|
+
speedMultiplier: 0.4,
|
|
228
|
+
triggerWobble: "tired_drift",
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
// Alert fish might dart
|
|
232
|
+
if (mood === "alert" && Math.random() < 0.4) {
|
|
233
|
+
return {
|
|
234
|
+
behavior: "darting",
|
|
235
|
+
speedMultiplier: 1.5,
|
|
236
|
+
triggerWobble: "startled_dart",
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
// Playful fish do random things
|
|
240
|
+
if (mood === "playful" && Math.random() < 0.3) {
|
|
241
|
+
const behaviors = ["turning", "darting", "cruising"];
|
|
242
|
+
return {
|
|
243
|
+
behavior: behaviors[Math.floor(Math.random() * behaviors.length)],
|
|
244
|
+
speedMultiplier: 1.2,
|
|
245
|
+
triggerWobble: "playful_wiggle",
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
createTurnDecision(fish, dimensions) {
|
|
251
|
+
// Determine turn direction based on edge proximity
|
|
252
|
+
const distToRight = dimensions.width - fish.x;
|
|
253
|
+
const distToLeft = fish.x;
|
|
254
|
+
const targetDirection = distToRight < distToLeft ? -1 : 1;
|
|
255
|
+
return {
|
|
256
|
+
behavior: "turning",
|
|
257
|
+
targetDirection,
|
|
258
|
+
triggerWobble: fish.mood === "curious" ? "curious_tilt" : undefined,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
createDartDecision(fish) {
|
|
262
|
+
const speedRange = BEHAVIOR_CONFIG.darting.speedMultiplier;
|
|
263
|
+
const speedMultiplier = speedRange[0] + Math.random() * (speedRange[1] - speedRange[0]);
|
|
264
|
+
return {
|
|
265
|
+
behavior: "darting",
|
|
266
|
+
speedMultiplier,
|
|
267
|
+
triggerWobble: "startled_dart",
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
createSchoolDecision(fish) {
|
|
271
|
+
return {
|
|
272
|
+
behavior: "schooling",
|
|
273
|
+
triggerWobble: fish.mood === "social" ? "social_shimmer" : undefined,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
createCruiseDecision(_fish) {
|
|
277
|
+
return {
|
|
278
|
+
behavior: "cruising",
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Fast direct swimming - fish zooms across screen in a straight line
|
|
283
|
+
*/
|
|
284
|
+
createPassingDecision(fish) {
|
|
285
|
+
const speedRange = BEHAVIOR_CONFIG.passing.speedMultiplier;
|
|
286
|
+
const speedMultiplier = speedRange[0] + Math.random() * (speedRange[1] - speedRange[0]);
|
|
287
|
+
return {
|
|
288
|
+
behavior: "passing",
|
|
289
|
+
speedMultiplier,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Ascending - fish swims upward exploring vertical space
|
|
294
|
+
*/
|
|
295
|
+
createAscendingDecision(fish, dimensions) {
|
|
296
|
+
// Target a point above current position
|
|
297
|
+
const verticalRange = BEHAVIOR_CONFIG.ascending.verticalSpeed;
|
|
298
|
+
const duration = BEHAVIOR_CONFIG.ascending.duration;
|
|
299
|
+
const avgDuration = (duration[0] + duration[1]) / 2;
|
|
300
|
+
const avgSpeed = (verticalRange[0] + verticalRange[1]) / 2;
|
|
301
|
+
const targetY = Math.max(dimensions.height * 0.05, fish.baseY - avgSpeed * avgDuration);
|
|
302
|
+
return {
|
|
303
|
+
behavior: "ascending",
|
|
304
|
+
targetY,
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Descending - fish swims downward exploring vertical space
|
|
309
|
+
*/
|
|
310
|
+
createDescendingDecision(fish, dimensions) {
|
|
311
|
+
// Target a point below current position
|
|
312
|
+
const verticalRange = BEHAVIOR_CONFIG.descending.verticalSpeed;
|
|
313
|
+
const duration = BEHAVIOR_CONFIG.descending.duration;
|
|
314
|
+
const avgDuration = (duration[0] + duration[1]) / 2;
|
|
315
|
+
const avgSpeed = Math.abs((verticalRange[0] + verticalRange[1]) / 2);
|
|
316
|
+
const targetY = Math.min(dimensions.height * 0.95, fish.baseY + avgSpeed * avgDuration);
|
|
317
|
+
return {
|
|
318
|
+
behavior: "descending",
|
|
319
|
+
targetY,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Approaching - fish swims toward camera (z decreasing)
|
|
324
|
+
*/
|
|
325
|
+
createApproachingDecision(fish) {
|
|
326
|
+
const zChange = BEHAVIOR_CONFIG.approaching.zChange;
|
|
327
|
+
const targetZ = Math.max(DEPTH_TRANSITION.minZ, fish.z + zChange[0] + Math.random() * (zChange[1] - zChange[0]));
|
|
328
|
+
return {
|
|
329
|
+
behavior: "approaching",
|
|
330
|
+
targetZ,
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Receding - fish swims away from camera (z increasing)
|
|
335
|
+
*/
|
|
336
|
+
createRecedingDecision(fish) {
|
|
337
|
+
const zChange = BEHAVIOR_CONFIG.receding.zChange;
|
|
338
|
+
const targetZ = Math.min(DEPTH_TRANSITION.maxZ, fish.z + zChange[0] + Math.random() * (zChange[1] - zChange[0]));
|
|
339
|
+
return {
|
|
340
|
+
behavior: "receding",
|
|
341
|
+
targetZ,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
getEdgeProximity(fish, dimensions) {
|
|
345
|
+
const warningZone = dimensions.width * 0.15;
|
|
346
|
+
if (fish.direction === 1) {
|
|
347
|
+
const distToEdge = dimensions.width - fish.x;
|
|
348
|
+
if (distToEdge < warningZone)
|
|
349
|
+
return 1 - distToEdge / warningZone;
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
if (fish.x < warningZone)
|
|
353
|
+
return 1 - fish.x / warningZone;
|
|
354
|
+
}
|
|
355
|
+
return 0;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=FishDecisionMaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishDecisionMaker.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishDecisionMaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IFishEffectRenderer } from "../contracts/IFishEffectRenderer.js";
|
|
2
|
+
import type { IColorCalculator } from "../contracts/IColorCalculator.js";
|
|
3
|
+
import type { FishMarineLife } from "../../domain/models/DeepOceanModels.js";
|
|
4
|
+
import type { SpineChain } from "../../physics/SpineChain.js";
|
|
5
|
+
import type { Point } from "../../physics/BodyOutlineCalculator.js";
|
|
6
|
+
/**
|
|
7
|
+
* Renders visual effects for fish (wake trails, bioluminescence).
|
|
8
|
+
* Extracted from FishRenderer to follow single-responsibility principle.
|
|
9
|
+
*/
|
|
10
|
+
export declare class FishEffectRenderer implements IFishEffectRenderer {
|
|
11
|
+
private colorCalc;
|
|
12
|
+
private bodyOutlineCalculator;
|
|
13
|
+
private readonly GLOW_CONFIG;
|
|
14
|
+
constructor(colorCalc: IColorCalculator);
|
|
15
|
+
drawWakeTrail(ctx: CanvasRenderingContext2D, fish: FishMarineLife): void;
|
|
16
|
+
drawSpineBioluminescenceGlow(ctx: CanvasRenderingContext2D, fish: FishMarineLife, outline: {
|
|
17
|
+
leftPoints: Point[];
|
|
18
|
+
rightPoints: Point[];
|
|
19
|
+
headPoint: Point;
|
|
20
|
+
tailPoint: Point;
|
|
21
|
+
}): void;
|
|
22
|
+
drawSpineBioluminescenceSpots(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void;
|
|
23
|
+
drawBioluminescenceGlow(ctx: CanvasRenderingContext2D, fish: FishMarineLife, len: number, height: number): void;
|
|
24
|
+
drawBioluminescenceSpots(ctx: CanvasRenderingContext2D, fish: FishMarineLife, len: number, height: number): void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=FishEffectRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishEffectRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAGpE;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAUhD,OAAO,CAAC,SAAS;IAT7B,OAAO,CAAC,qBAAqB,CAA+B;IAG5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI1B;gBAEkB,SAAS,EAAE,gBAAgB;IAE/C,aAAa,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAwCxE,4BAA4B,CAC1B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE;QAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,KAAK,CAAA;KAAE,GACzF,IAAI;IA6CP,6BAA6B,CAC3B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,GAChB,IAAI;IA0EP,uBAAuB,CACrB,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,IAAI;IA8BP,wBAAwB,CACtB,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,IAAI;CA4CR"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { BodyOutlineCalculator } from "../../physics/BodyOutlineCalculator.js";
|
|
2
|
+
/**
|
|
3
|
+
* Renders visual effects for fish (wake trails, bioluminescence).
|
|
4
|
+
* Extracted from FishRenderer to follow single-responsibility principle.
|
|
5
|
+
*/
|
|
6
|
+
export class FishEffectRenderer {
|
|
7
|
+
colorCalc;
|
|
8
|
+
bodyOutlineCalculator = new BodyOutlineCalculator();
|
|
9
|
+
// Legacy glow configuration for Bezier fish
|
|
10
|
+
GLOW_CONFIG = {
|
|
11
|
+
spotCount: 5,
|
|
12
|
+
spotSize: [0.02, 0.05],
|
|
13
|
+
colors: ["#00fff7", "#7b68ee", "#00ced1"],
|
|
14
|
+
};
|
|
15
|
+
constructor(colorCalc) {
|
|
16
|
+
this.colorCalc = colorCalc;
|
|
17
|
+
}
|
|
18
|
+
drawWakeTrail(ctx, fish) {
|
|
19
|
+
if (fish.wakeTrail.length === 0)
|
|
20
|
+
return;
|
|
21
|
+
ctx.save();
|
|
22
|
+
// Wake is in world space, need to undo fish transform
|
|
23
|
+
ctx.scale(fish.direction, 1);
|
|
24
|
+
ctx.rotate(-fish.rotation);
|
|
25
|
+
ctx.translate(-fish.x, -fish.y);
|
|
26
|
+
for (const particle of fish.wakeTrail) {
|
|
27
|
+
if (particle.opacity <= 0)
|
|
28
|
+
continue;
|
|
29
|
+
const gradient = ctx.createRadialGradient(particle.x, particle.y, 0, particle.x, particle.y, particle.size);
|
|
30
|
+
gradient.addColorStop(0, `rgba(180, 220, 255, ${particle.opacity * 0.4})`);
|
|
31
|
+
gradient.addColorStop(0.5, `rgba(180, 220, 255, ${particle.opacity * 0.2})`);
|
|
32
|
+
gradient.addColorStop(1, "rgba(180, 220, 255, 0)");
|
|
33
|
+
ctx.fillStyle = gradient;
|
|
34
|
+
ctx.beginPath();
|
|
35
|
+
ctx.arc(particle.x, particle.y, particle.size, 0, Math.PI * 2);
|
|
36
|
+
ctx.fill();
|
|
37
|
+
}
|
|
38
|
+
ctx.restore();
|
|
39
|
+
}
|
|
40
|
+
drawSpineBioluminescenceGlow(ctx, fish, outline) {
|
|
41
|
+
const centerX = (outline.headPoint.x + outline.tailPoint.x) / 2;
|
|
42
|
+
const centerY = (outline.headPoint.y + outline.tailPoint.y) / 2;
|
|
43
|
+
// Pulsing glow intensity
|
|
44
|
+
const pulseIntensity = fish.glowIntensity * (0.7 + Math.sin(fish.glowPhase * 2) * 0.3);
|
|
45
|
+
// Layer 1: Large outer glow
|
|
46
|
+
const outerRadius = Math.max(fish.bodyLength, fish.bodyHeight) * 1.2;
|
|
47
|
+
const rgb = this.colorCalc.hexToRgb(fish.colors.accent);
|
|
48
|
+
const outerGradient = ctx.createRadialGradient(centerX, centerY, 0, centerX, centerY, outerRadius);
|
|
49
|
+
outerGradient.addColorStop(0, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${pulseIntensity * 0.5})`);
|
|
50
|
+
outerGradient.addColorStop(0.3, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${pulseIntensity * 0.25})`);
|
|
51
|
+
outerGradient.addColorStop(0.6, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${pulseIntensity * 0.1})`);
|
|
52
|
+
outerGradient.addColorStop(1, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, 0)`);
|
|
53
|
+
ctx.fillStyle = outerGradient;
|
|
54
|
+
ctx.beginPath();
|
|
55
|
+
ctx.arc(centerX, centerY, outerRadius, 0, Math.PI * 2);
|
|
56
|
+
ctx.fill();
|
|
57
|
+
// Layer 2: Inner intense glow
|
|
58
|
+
const innerRadius = Math.max(fish.bodyLength, fish.bodyHeight) * 0.5;
|
|
59
|
+
const innerGradient = ctx.createRadialGradient(centerX, centerY, 0, centerX, centerY, innerRadius);
|
|
60
|
+
innerGradient.addColorStop(0, `rgba(255, 255, 255, ${pulseIntensity * 0.4})`);
|
|
61
|
+
innerGradient.addColorStop(0.3, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${pulseIntensity * 0.6})`);
|
|
62
|
+
innerGradient.addColorStop(1, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, 0)`);
|
|
63
|
+
ctx.fillStyle = innerGradient;
|
|
64
|
+
ctx.beginPath();
|
|
65
|
+
ctx.arc(centerX, centerY, innerRadius, 0, Math.PI * 2);
|
|
66
|
+
ctx.fill();
|
|
67
|
+
// Layer 3: Edge glow along body outline
|
|
68
|
+
ctx.save();
|
|
69
|
+
ctx.shadowColor = fish.colors.accent;
|
|
70
|
+
ctx.shadowBlur = 15 * pulseIntensity;
|
|
71
|
+
ctx.strokeStyle = this.colorCalc.adjustAlpha(fish.colors.accent, pulseIntensity * 0.5);
|
|
72
|
+
ctx.lineWidth = 3;
|
|
73
|
+
this.bodyOutlineCalculator.drawBodyPath(ctx, outline);
|
|
74
|
+
ctx.stroke();
|
|
75
|
+
ctx.restore();
|
|
76
|
+
}
|
|
77
|
+
drawSpineBioluminescenceSpots(ctx, fish, spine) {
|
|
78
|
+
// More spots, more variety
|
|
79
|
+
const spotCount = 8;
|
|
80
|
+
const colors = ["#00fff7", "#7b68ee", "#00ced1", "#ff00ff", "#00ff88"];
|
|
81
|
+
ctx.save();
|
|
82
|
+
for (let i = 0; i < spotCount; i++) {
|
|
83
|
+
const t = (i + 0.5) / (spotCount);
|
|
84
|
+
const pos = spine.getPositionAt(t);
|
|
85
|
+
// Offset spots from centerline
|
|
86
|
+
const perpAngle = pos.angle - Math.PI / 2;
|
|
87
|
+
const offsetDir = (i % 2 === 0) ? 1 : -1;
|
|
88
|
+
const offsetAmount = pos.width * 0.3 * offsetDir;
|
|
89
|
+
const spotX = pos.x + Math.cos(perpAngle) * offsetAmount;
|
|
90
|
+
const spotY = pos.y + Math.sin(perpAngle) * offsetAmount;
|
|
91
|
+
// Cascading pulse effect
|
|
92
|
+
const spotPhase = fish.glowPhase + i * 0.4;
|
|
93
|
+
const spotIntensity = fish.glowIntensity * (0.6 + Math.sin(spotPhase) * 0.4);
|
|
94
|
+
const spotSize = fish.bodyHeight * (0.04 + Math.sin(spotPhase * 0.5) * 0.02);
|
|
95
|
+
const color = colors[i % colors.length];
|
|
96
|
+
const rgb = this.colorCalc.hexToRgb(color);
|
|
97
|
+
// Outer glow
|
|
98
|
+
const outerGradient = ctx.createRadialGradient(spotX, spotY, 0, spotX, spotY, spotSize * 2);
|
|
99
|
+
outerGradient.addColorStop(0, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${spotIntensity})`);
|
|
100
|
+
outerGradient.addColorStop(0.4, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${spotIntensity * 0.5})`);
|
|
101
|
+
outerGradient.addColorStop(1, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, 0)`);
|
|
102
|
+
ctx.fillStyle = outerGradient;
|
|
103
|
+
ctx.beginPath();
|
|
104
|
+
ctx.arc(spotX, spotY, spotSize * 2, 0, Math.PI * 2);
|
|
105
|
+
ctx.fill();
|
|
106
|
+
// Bright center
|
|
107
|
+
const centerGradient = ctx.createRadialGradient(spotX, spotY, 0, spotX, spotY, spotSize * 0.5);
|
|
108
|
+
centerGradient.addColorStop(0, `rgba(255, 255, 255, ${spotIntensity})`);
|
|
109
|
+
centerGradient.addColorStop(1, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${spotIntensity * 0.8})`);
|
|
110
|
+
ctx.fillStyle = centerGradient;
|
|
111
|
+
ctx.beginPath();
|
|
112
|
+
ctx.arc(spotX, spotY, spotSize * 0.5, 0, Math.PI * 2);
|
|
113
|
+
ctx.fill();
|
|
114
|
+
}
|
|
115
|
+
// Add glowing "antenna" lure for anglerfish effect
|
|
116
|
+
const headPos = spine.getPositionAt(0.05);
|
|
117
|
+
const lurePhase = fish.glowPhase * 1.5;
|
|
118
|
+
const lureIntensity = fish.glowIntensity * (0.5 + Math.sin(lurePhase) * 0.5);
|
|
119
|
+
if (lureIntensity > 0.3) {
|
|
120
|
+
const lureX = headPos.x + Math.cos(headPos.angle - Math.PI / 4) * fish.bodyHeight * 0.3;
|
|
121
|
+
const lureY = headPos.y + Math.sin(headPos.angle - Math.PI / 4) * fish.bodyHeight * 0.3;
|
|
122
|
+
const lureSize = fish.bodyHeight * 0.08;
|
|
123
|
+
// Lure glow
|
|
124
|
+
const lureGradient = ctx.createRadialGradient(lureX, lureY, 0, lureX, lureY, lureSize * 3);
|
|
125
|
+
lureGradient.addColorStop(0, `rgba(255, 255, 255, ${lureIntensity})`);
|
|
126
|
+
lureGradient.addColorStop(0.2, `rgba(0, 255, 255, ${lureIntensity * 0.8})`);
|
|
127
|
+
lureGradient.addColorStop(0.5, `rgba(0, 200, 255, ${lureIntensity * 0.4})`);
|
|
128
|
+
lureGradient.addColorStop(1, "rgba(0, 150, 255, 0)");
|
|
129
|
+
ctx.fillStyle = lureGradient;
|
|
130
|
+
ctx.beginPath();
|
|
131
|
+
ctx.arc(lureX, lureY, lureSize * 3, 0, Math.PI * 2);
|
|
132
|
+
ctx.fill();
|
|
133
|
+
}
|
|
134
|
+
ctx.restore();
|
|
135
|
+
}
|
|
136
|
+
drawBioluminescenceGlow(ctx, fish, len, height) {
|
|
137
|
+
if (!fish.hasBioluminescence || fish.glowIntensity <= 0)
|
|
138
|
+
return;
|
|
139
|
+
// Ambient glow around body
|
|
140
|
+
const glowRadius = Math.max(len, height) * 0.8;
|
|
141
|
+
ctx.save();
|
|
142
|
+
const gradient = ctx.createRadialGradient(0, 0, 0, 0, 0, glowRadius);
|
|
143
|
+
const glowColor = fish.colors.accent;
|
|
144
|
+
const rgb = this.colorCalc.hexToRgb(glowColor);
|
|
145
|
+
gradient.addColorStop(0, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${fish.glowIntensity * 0.3})`);
|
|
146
|
+
gradient.addColorStop(0.5, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${fish.glowIntensity * 0.1})`);
|
|
147
|
+
gradient.addColorStop(1, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, 0)`);
|
|
148
|
+
ctx.fillStyle = gradient;
|
|
149
|
+
ctx.beginPath();
|
|
150
|
+
ctx.arc(0, 0, glowRadius, 0, Math.PI * 2);
|
|
151
|
+
ctx.fill();
|
|
152
|
+
ctx.restore();
|
|
153
|
+
}
|
|
154
|
+
drawBioluminescenceSpots(ctx, fish, len, height) {
|
|
155
|
+
if (!fish.hasBioluminescence || fish.glowIntensity <= 0)
|
|
156
|
+
return;
|
|
157
|
+
const config = this.GLOW_CONFIG;
|
|
158
|
+
ctx.save();
|
|
159
|
+
// Draw glowing spots along body
|
|
160
|
+
for (let i = 0; i < config.spotCount; i++) {
|
|
161
|
+
const t = i / (config.spotCount - 1);
|
|
162
|
+
const x = -len * 0.3 + t * len * 0.6;
|
|
163
|
+
const y = Math.sin(t * Math.PI) * height * 0.15;
|
|
164
|
+
// Pulsing intensity per spot
|
|
165
|
+
const spotPhase = fish.glowPhase + i * 0.5;
|
|
166
|
+
const spotIntensity = fish.glowIntensity * (0.5 + Math.sin(spotPhase) * 0.5);
|
|
167
|
+
if (spotIntensity < 0.1)
|
|
168
|
+
continue;
|
|
169
|
+
const spotSize = height * (config.spotSize[0] + Math.random() * (config.spotSize[1] - config.spotSize[0]));
|
|
170
|
+
const color = config.colors[i % config.colors.length];
|
|
171
|
+
const rgb = this.colorCalc.hexToRgb(color);
|
|
172
|
+
const gradient = ctx.createRadialGradient(x, y, 0, x, y, spotSize);
|
|
173
|
+
gradient.addColorStop(0, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${spotIntensity})`);
|
|
174
|
+
gradient.addColorStop(0.5, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${spotIntensity * 0.5})`);
|
|
175
|
+
gradient.addColorStop(1, `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, 0)`);
|
|
176
|
+
ctx.fillStyle = gradient;
|
|
177
|
+
ctx.beginPath();
|
|
178
|
+
ctx.arc(x, y, spotSize, 0, Math.PI * 2);
|
|
179
|
+
ctx.fill();
|
|
180
|
+
}
|
|
181
|
+
ctx.restore();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=FishEffectRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishEffectRenderer.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishEffectRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IFishFaceRenderer } from "../contracts/IFishFaceRenderer.js";
|
|
2
|
+
import type { IColorCalculator } from "../contracts/IColorCalculator.js";
|
|
3
|
+
import type { FishMarineLife } from "../../domain/models/DeepOceanModels.js";
|
|
4
|
+
import type { SpineChain } from "../../physics/SpineChain.js";
|
|
5
|
+
/**
|
|
6
|
+
* Renders fish facial features (eyes, gills).
|
|
7
|
+
* Extracted from FishRenderer to follow single-responsibility principle.
|
|
8
|
+
*/
|
|
9
|
+
export declare class FishFaceRenderer implements IFishFaceRenderer {
|
|
10
|
+
private colorCalc;
|
|
11
|
+
constructor(colorCalc: IColorCalculator);
|
|
12
|
+
drawSpineEye(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void;
|
|
13
|
+
drawSpineGill(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void;
|
|
14
|
+
drawEye(ctx: CanvasRenderingContext2D, fish: FishMarineLife, len: number, height: number): void;
|
|
15
|
+
drawGill(ctx: CanvasRenderingContext2D, fish: FishMarineLife, len: number, height: number): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=FishFaceRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishFaceRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishFaceRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAoB9D;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IAC5C,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAE/C,YAAY,CACV,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,GAChB,IAAI;IAgEP,aAAa,CACX,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,GAChB,IAAI;IAyCP,OAAO,CACL,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,IAAI;IA6EP,QAAQ,CACN,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,IAAI;CA4CR"}
|