@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,165 @@
|
|
|
1
|
+
import { SPINE_CONFIGS, SWIM_PARAMS } from "../../domain/models/DeepOceanModels.js";
|
|
2
|
+
import { SpineChain } from "../../physics/SpineChain.js";
|
|
3
|
+
import { FishPropulsionCalculator, smoothSpeed } from "./FishPropulsionCalculator.js";
|
|
4
|
+
import { fishDebugConfig } from "../../domain/debug-config.js";
|
|
5
|
+
/**
|
|
6
|
+
* FishSpineController - Manages spine chain physics for organic swimming
|
|
7
|
+
*
|
|
8
|
+
* Handles spine chain lifecycle (create, update, remove) and synchronizes
|
|
9
|
+
* physics state back to fish entities for rendering. Now includes propulsion
|
|
10
|
+
* calculation to connect tail motion with forward movement.
|
|
11
|
+
*/
|
|
12
|
+
export class FishSpineController {
|
|
13
|
+
spineChains = new Map();
|
|
14
|
+
propulsionCalculator;
|
|
15
|
+
constructor(propulsionCalculator) {
|
|
16
|
+
this.propulsionCalculator = propulsionCalculator ?? new FishPropulsionCalculator();
|
|
17
|
+
}
|
|
18
|
+
initializeSpineChain(fish) {
|
|
19
|
+
if (!fish.useSpineChain)
|
|
20
|
+
return;
|
|
21
|
+
const spineConfig = SPINE_CONFIGS[fish.species];
|
|
22
|
+
const swimParams = SWIM_PARAMS[fish.species];
|
|
23
|
+
// Calculate segment length based on body length
|
|
24
|
+
const segmentLength = fish.bodyLength / (spineConfig.jointCount - 1);
|
|
25
|
+
// Create spine chain
|
|
26
|
+
const spine = new SpineChain({ ...spineConfig, segmentLength }, fish.x, fish.y, fish.direction);
|
|
27
|
+
// Set width profile scaled to body height
|
|
28
|
+
const maxWidth = fish.bodyHeight / 2;
|
|
29
|
+
spine.setWidthProfile(spineConfig.widthProfile, maxWidth);
|
|
30
|
+
// Store spine chain reference
|
|
31
|
+
this.spineChains.set(fish, spine);
|
|
32
|
+
// Set spine properties on fish for rendering
|
|
33
|
+
fish.spineConfig = spineConfig;
|
|
34
|
+
fish.spineJoints = spine.joints.map((j) => ({ ...j }));
|
|
35
|
+
fish.swimPhase = Math.random() * Math.PI * 2;
|
|
36
|
+
fish.tailAmplitude = swimParams.tailAmplitude * (fish.bodyHeight / 20);
|
|
37
|
+
fish.swimSpeed = swimParams.swimSpeed;
|
|
38
|
+
// Create spine-attached fins
|
|
39
|
+
fish.spineFins = this.createSpineFins(fish.species, spineConfig.jointCount);
|
|
40
|
+
}
|
|
41
|
+
updatePropulsion(fish, deltaSeconds) {
|
|
42
|
+
// DEBUG: Skip propulsion if disabled via toggle
|
|
43
|
+
if (!fishDebugConfig.enablePropulsion) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
// Only apply propulsion to spine-chain fish
|
|
47
|
+
if (!fish.useSpineChain || fish.swimPhase === undefined) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Calculate target speed from tail thrust
|
|
51
|
+
const targetSpeed = this.propulsionCalculator.calculateTargetSpeed(fish);
|
|
52
|
+
// Smoothly interpolate toward target speed (prevents jerky changes)
|
|
53
|
+
fish.speed = smoothSpeed(fish.speed, targetSpeed, deltaSeconds);
|
|
54
|
+
}
|
|
55
|
+
updateSpineChain(fish, deltaSeconds, frameMultiplier) {
|
|
56
|
+
const spine = this.spineChains.get(fish);
|
|
57
|
+
if (!spine || !fish.swimPhase || !fish.tailAmplitude || !fish.swimSpeed) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Update swim phase (drives tail oscillation)
|
|
61
|
+
const speedRatio = fish.speed / fish.baseSpeed;
|
|
62
|
+
fish.swimPhase += fish.swimSpeed * speedRatio * frameMultiplier;
|
|
63
|
+
// Head target is where the movement controller already placed the fish
|
|
64
|
+
// DO NOT add velocity again - applyCruising/applyBehavior already moved fish.x
|
|
65
|
+
const headTargetX = fish.x;
|
|
66
|
+
const bob = Math.sin(fish.animationPhase) * fish.bobAmplitude;
|
|
67
|
+
const headTargetY = fish.baseY + bob;
|
|
68
|
+
// Apply tail oscillation (DEBUG: can be disabled via toggle)
|
|
69
|
+
if (fishDebugConfig.enableTailOscillation) {
|
|
70
|
+
spine.applyTailOscillation(fish.tailAmplitude * speedRatio, fish.swimPhase);
|
|
71
|
+
}
|
|
72
|
+
// Update spine chain (head follows target, body follows head)
|
|
73
|
+
spine.update(headTargetX, headTargetY);
|
|
74
|
+
// Sync fish position with spine head (should be very close, small adjustment from tail physics)
|
|
75
|
+
fish.x = spine.head.x;
|
|
76
|
+
fish.y = spine.head.y;
|
|
77
|
+
// Update rotation from spine head angle
|
|
78
|
+
fish.rotation = spine.headAngle;
|
|
79
|
+
if (fish.direction === -1) {
|
|
80
|
+
fish.rotation += Math.PI;
|
|
81
|
+
}
|
|
82
|
+
// Copy spine joint data back to fish for rendering
|
|
83
|
+
fish.spineJoints = spine.joints.map((j) => ({ ...j }));
|
|
84
|
+
}
|
|
85
|
+
getSpineChain(fish) {
|
|
86
|
+
return this.spineChains.get(fish);
|
|
87
|
+
}
|
|
88
|
+
removeSpineChain(fish) {
|
|
89
|
+
this.spineChains.delete(fish);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Reposition a fish's spine chain to match updated fish.x/y
|
|
93
|
+
* Call this after manually moving a fish's position
|
|
94
|
+
*/
|
|
95
|
+
repositionSpineChain(fish, dx, dy) {
|
|
96
|
+
const spine = this.spineChains.get(fish);
|
|
97
|
+
if (!spine)
|
|
98
|
+
return;
|
|
99
|
+
// Move all joints in the physics spine chain
|
|
100
|
+
for (const joint of spine.joints) {
|
|
101
|
+
joint.x += dx;
|
|
102
|
+
joint.y += dy;
|
|
103
|
+
}
|
|
104
|
+
// Update fish.spineJoints to match
|
|
105
|
+
fish.spineJoints = spine.joints.map((j) => ({ ...j }));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create fins attached to spine segments
|
|
109
|
+
*/
|
|
110
|
+
createSpineFins(species, jointCount) {
|
|
111
|
+
const fins = [];
|
|
112
|
+
// Dorsal fin (top, around segment 2-3)
|
|
113
|
+
fins.push({
|
|
114
|
+
attachmentSegment: Math.floor(jointCount * 0.25),
|
|
115
|
+
attachmentSide: "top",
|
|
116
|
+
baseAngle: -Math.PI / 2,
|
|
117
|
+
length: species === "tropical" ? 0.35 : 0.25,
|
|
118
|
+
width: 0.15,
|
|
119
|
+
segments: 5,
|
|
120
|
+
curvatureResponse: 0.5,
|
|
121
|
+
});
|
|
122
|
+
// Pectoral fins (sides, around segment 1-2)
|
|
123
|
+
const pectoralSegment = Math.floor(jointCount * 0.15);
|
|
124
|
+
fins.push({
|
|
125
|
+
attachmentSegment: pectoralSegment,
|
|
126
|
+
attachmentSide: "left",
|
|
127
|
+
baseAngle: -Math.PI / 4,
|
|
128
|
+
length: species === "tropical" ? 0.25 : 0.15,
|
|
129
|
+
width: 0.12,
|
|
130
|
+
segments: 4,
|
|
131
|
+
curvatureResponse: 0.8,
|
|
132
|
+
});
|
|
133
|
+
fins.push({
|
|
134
|
+
attachmentSegment: pectoralSegment,
|
|
135
|
+
attachmentSide: "right",
|
|
136
|
+
baseAngle: Math.PI / 4,
|
|
137
|
+
length: species === "tropical" ? 0.25 : 0.15,
|
|
138
|
+
width: 0.12,
|
|
139
|
+
segments: 4,
|
|
140
|
+
curvatureResponse: 0.8,
|
|
141
|
+
});
|
|
142
|
+
// Pelvic fins (bottom, around segment 3-4)
|
|
143
|
+
fins.push({
|
|
144
|
+
attachmentSegment: Math.floor(jointCount * 0.4),
|
|
145
|
+
attachmentSide: "bottom",
|
|
146
|
+
baseAngle: Math.PI / 2.5,
|
|
147
|
+
length: 0.12,
|
|
148
|
+
width: 0.08,
|
|
149
|
+
segments: 3,
|
|
150
|
+
curvatureResponse: 0.3,
|
|
151
|
+
});
|
|
152
|
+
// Anal fin (bottom, around segment 5-6)
|
|
153
|
+
fins.push({
|
|
154
|
+
attachmentSegment: Math.floor(jointCount * 0.65),
|
|
155
|
+
attachmentSide: "bottom",
|
|
156
|
+
baseAngle: Math.PI / 2.2,
|
|
157
|
+
length: 0.15,
|
|
158
|
+
width: 0.08,
|
|
159
|
+
segments: 4,
|
|
160
|
+
curvatureResponse: 0.4,
|
|
161
|
+
});
|
|
162
|
+
return fins;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=FishSpineController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishSpineController.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishSpineController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IFishSpriteManager, PreRenderedSprite } from "../contracts/IFishSpriteManager.js";
|
|
2
|
+
export declare class FishSpriteManager implements IFishSpriteManager {
|
|
3
|
+
private readonly baseSprites;
|
|
4
|
+
private readonly colorVariants;
|
|
5
|
+
/** Pre-rendered sprites (base + variants), ready for immediate drawing */
|
|
6
|
+
private preRenderedSprites;
|
|
7
|
+
/** Raw image cache for base sprites */
|
|
8
|
+
private baseImageCache;
|
|
9
|
+
private ready;
|
|
10
|
+
preloadSprites(): Promise<void>;
|
|
11
|
+
private loadBaseImages;
|
|
12
|
+
private preRenderAllVariants;
|
|
13
|
+
/**
|
|
14
|
+
* Create a pre-rendered canvas with hue rotation applied once.
|
|
15
|
+
* Uses OffscreenCanvas when available for better performance.
|
|
16
|
+
*/
|
|
17
|
+
private createPreRenderedCanvas;
|
|
18
|
+
getRandomSpriteEntry(): PreRenderedSprite | undefined;
|
|
19
|
+
getAnyLoadedSpriteEntry(): PreRenderedSprite | undefined;
|
|
20
|
+
getMarineLifeColor(type: "fish" | "jellyfish"): string;
|
|
21
|
+
isReady(): boolean;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=FishSpriteManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishSpriteManager.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishSpriteManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAe5C,qBAAa,iBAAkB,YAAW,kBAAkB;IAE1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAQ1B;IAGF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAQ5B;IAEF,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB,CAA2B;IAErD,uCAAuC;IACvC,OAAO,CAAC,cAAc,CAAuC;IAE7D,OAAO,CAAC,KAAK,CAAS;IAEhB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;YAcvB,cAAc;IAsB5B,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA8C/B,oBAAoB,IAAI,iBAAiB,GAAG,SAAS;IASrD,uBAAuB,IAAI,iBAAiB,GAAG,SAAS;IAIxD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM;IAyBtD,OAAO,IAAI,OAAO;CAGnB"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
export class FishSpriteManager {
|
|
2
|
+
// Base sprites from Kenney pack
|
|
3
|
+
baseSprites = [
|
|
4
|
+
{ name: "Blue", path: "/assets/background/fish/kenney/fish_blue.png" },
|
|
5
|
+
{ name: "Orange", path: "/assets/background/fish/kenney/fish_orange.png" },
|
|
6
|
+
{ name: "Green", path: "/assets/background/fish/kenney/fish_green.png" },
|
|
7
|
+
{
|
|
8
|
+
name: "Grey Long",
|
|
9
|
+
path: "/assets/background/fish/kenney/fish_grey_long_a.png",
|
|
10
|
+
},
|
|
11
|
+
];
|
|
12
|
+
// Color variants (pre-rendered at load time, not runtime)
|
|
13
|
+
colorVariants = [
|
|
14
|
+
{ baseName: "Blue", hueRotate: 30, variantName: "Teal" },
|
|
15
|
+
{ baseName: "Blue", hueRotate: 270, variantName: "Purple" },
|
|
16
|
+
{ baseName: "Orange", hueRotate: -30, variantName: "Gold" },
|
|
17
|
+
{ baseName: "Orange", hueRotate: 330, variantName: "Coral" },
|
|
18
|
+
{ baseName: "Green", hueRotate: -60, variantName: "Cyan" },
|
|
19
|
+
{ baseName: "Green", hueRotate: 60, variantName: "Lime" },
|
|
20
|
+
{ baseName: "Grey Long", hueRotate: 200, variantName: "Deep Blue Long" },
|
|
21
|
+
];
|
|
22
|
+
/** Pre-rendered sprites (base + variants), ready for immediate drawing */
|
|
23
|
+
preRenderedSprites = [];
|
|
24
|
+
/** Raw image cache for base sprites */
|
|
25
|
+
baseImageCache = new Map();
|
|
26
|
+
ready = false;
|
|
27
|
+
async preloadSprites() {
|
|
28
|
+
if (typeof window === "undefined") {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// Step 1: Load all base images
|
|
32
|
+
await this.loadBaseImages();
|
|
33
|
+
// Step 2: Pre-render all variants to offscreen canvases
|
|
34
|
+
this.preRenderAllVariants();
|
|
35
|
+
this.ready = true;
|
|
36
|
+
}
|
|
37
|
+
async loadBaseImages() {
|
|
38
|
+
const loadPromises = this.baseSprites.map((sprite) => {
|
|
39
|
+
return new Promise((resolve, reject) => {
|
|
40
|
+
const image = new Image();
|
|
41
|
+
image.onload = () => {
|
|
42
|
+
this.baseImageCache.set(sprite.name, image);
|
|
43
|
+
resolve();
|
|
44
|
+
};
|
|
45
|
+
image.onerror = (error) => {
|
|
46
|
+
console.warn(`Failed to load fish sprite: ${sprite.path}`);
|
|
47
|
+
reject(error);
|
|
48
|
+
};
|
|
49
|
+
image.src = sprite.path;
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
await Promise.all(loadPromises);
|
|
53
|
+
}
|
|
54
|
+
preRenderAllVariants() {
|
|
55
|
+
this.preRenderedSprites = [];
|
|
56
|
+
// Add base sprites (no hue rotation)
|
|
57
|
+
for (const sprite of this.baseSprites) {
|
|
58
|
+
const image = this.baseImageCache.get(sprite.name);
|
|
59
|
+
if (!image)
|
|
60
|
+
continue;
|
|
61
|
+
const canvas = this.createPreRenderedCanvas(image, 0);
|
|
62
|
+
this.preRenderedSprites.push({
|
|
63
|
+
sprite,
|
|
64
|
+
canvas,
|
|
65
|
+
width: image.naturalWidth,
|
|
66
|
+
height: image.naturalHeight,
|
|
67
|
+
hueRotate: 0,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// Add color variants (pre-rendered with hue rotation)
|
|
71
|
+
for (const variant of this.colorVariants) {
|
|
72
|
+
const image = this.baseImageCache.get(variant.baseName);
|
|
73
|
+
if (!image)
|
|
74
|
+
continue;
|
|
75
|
+
const canvas = this.createPreRenderedCanvas(image, variant.hueRotate);
|
|
76
|
+
this.preRenderedSprites.push({
|
|
77
|
+
sprite: { name: variant.variantName, path: "" },
|
|
78
|
+
canvas,
|
|
79
|
+
width: image.naturalWidth,
|
|
80
|
+
height: image.naturalHeight,
|
|
81
|
+
hueRotate: variant.hueRotate,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Create a pre-rendered canvas with hue rotation applied once.
|
|
87
|
+
* Uses OffscreenCanvas when available for better performance.
|
|
88
|
+
*/
|
|
89
|
+
createPreRenderedCanvas(image, hueRotate) {
|
|
90
|
+
const width = image.naturalWidth;
|
|
91
|
+
const height = image.naturalHeight;
|
|
92
|
+
// Prefer OffscreenCanvas for better memory management
|
|
93
|
+
let canvas;
|
|
94
|
+
let ctx;
|
|
95
|
+
if (typeof OffscreenCanvas !== "undefined") {
|
|
96
|
+
canvas = new OffscreenCanvas(width, height);
|
|
97
|
+
ctx = canvas.getContext("2d");
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
canvas = document.createElement("canvas");
|
|
101
|
+
canvas.width = width;
|
|
102
|
+
canvas.height = height;
|
|
103
|
+
ctx = canvas.getContext("2d");
|
|
104
|
+
}
|
|
105
|
+
if (!ctx) {
|
|
106
|
+
// Fallback to regular canvas if context fails
|
|
107
|
+
const fallback = document.createElement("canvas");
|
|
108
|
+
fallback.width = width;
|
|
109
|
+
fallback.height = height;
|
|
110
|
+
const fbCtx = fallback.getContext("2d");
|
|
111
|
+
if (fbCtx) {
|
|
112
|
+
fbCtx.drawImage(image, 0, 0);
|
|
113
|
+
}
|
|
114
|
+
return fallback;
|
|
115
|
+
}
|
|
116
|
+
// Apply hue rotation filter and draw
|
|
117
|
+
if (hueRotate !== 0) {
|
|
118
|
+
ctx.filter = `hue-rotate(${hueRotate}deg)`;
|
|
119
|
+
}
|
|
120
|
+
ctx.drawImage(image, 0, 0);
|
|
121
|
+
ctx.filter = "none";
|
|
122
|
+
return canvas;
|
|
123
|
+
}
|
|
124
|
+
getRandomSpriteEntry() {
|
|
125
|
+
if (this.preRenderedSprites.length === 0) {
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
const index = Math.floor(Math.random() * this.preRenderedSprites.length);
|
|
129
|
+
return this.preRenderedSprites[index];
|
|
130
|
+
}
|
|
131
|
+
getAnyLoadedSpriteEntry() {
|
|
132
|
+
return this.preRenderedSprites[0];
|
|
133
|
+
}
|
|
134
|
+
getMarineLifeColor(type) {
|
|
135
|
+
if (type === "fish") {
|
|
136
|
+
const colors = [
|
|
137
|
+
"#3d7a8c",
|
|
138
|
+
"#4a8fa3",
|
|
139
|
+
"#548da0",
|
|
140
|
+
"#4b8599",
|
|
141
|
+
"#5a9cb5",
|
|
142
|
+
"#6ba8c2",
|
|
143
|
+
];
|
|
144
|
+
return colors[Math.floor(Math.random() * colors.length)] || "#3d7a8c";
|
|
145
|
+
}
|
|
146
|
+
// Jellyfish in soft purples, pinks, and blues
|
|
147
|
+
const colors = [
|
|
148
|
+
"#7d5a7a",
|
|
149
|
+
"#8b6d88",
|
|
150
|
+
"#946f91",
|
|
151
|
+
"#866783",
|
|
152
|
+
"#6b7a9d",
|
|
153
|
+
"#8a7db5",
|
|
154
|
+
];
|
|
155
|
+
return colors[Math.floor(Math.random() * colors.length)] || "#7d5a7a";
|
|
156
|
+
}
|
|
157
|
+
isReady() {
|
|
158
|
+
return this.ready && this.preRenderedSprites.length > 0;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=FishSpriteManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishSpriteManager.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishSpriteManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { FishMarineLife } from "../../domain/models/DeepOceanModels.js";
|
|
2
|
+
import type { IFishVisualUpdater } from "../contracts/IFishVisualUpdater.js";
|
|
3
|
+
/**
|
|
4
|
+
* FishVisualUpdater - Handles visual animations for fish
|
|
5
|
+
*
|
|
6
|
+
* Manages fin physics, body flex, wake trails, bioluminescence,
|
|
7
|
+
* and other visual effects that don't affect movement logic.
|
|
8
|
+
*/
|
|
9
|
+
export declare class FishVisualUpdater implements IFishVisualUpdater {
|
|
10
|
+
updateVisuals(fish: FishMarineLife, frameMultiplier: number, animationTime: number): void;
|
|
11
|
+
updateBodyFlex(fish: FishMarineLife, frameMultiplier: number): void;
|
|
12
|
+
updateFinPhysics(fish: FishMarineLife, frameMultiplier: number): void;
|
|
13
|
+
private updateVisualPhases;
|
|
14
|
+
private updateSingleFin;
|
|
15
|
+
private updateTailFin;
|
|
16
|
+
private updateWakeTrail;
|
|
17
|
+
private updateBioluminescence;
|
|
18
|
+
private randomInRange;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=FishVisualUpdater.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishVisualUpdater.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AA4C7E;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,aAAa,CACX,IAAI,EAAE,cAAc,EACpB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GACpB,IAAI;IAaP,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAgBnE,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IA8DrE,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fin physics configuration
|
|
3
|
+
*/
|
|
4
|
+
const FIN_PHYSICS = {
|
|
5
|
+
stiffness: 0.15,
|
|
6
|
+
damping: 0.85,
|
|
7
|
+
accelerationResponse: 0.3,
|
|
8
|
+
turnResponse: 0.5,
|
|
9
|
+
idleWave: {
|
|
10
|
+
amplitude: 0.08,
|
|
11
|
+
speed: 0.02,
|
|
12
|
+
},
|
|
13
|
+
tail: {
|
|
14
|
+
waveSpeed: 0.12,
|
|
15
|
+
waveAmplitude: 0.25,
|
|
16
|
+
forkSpread: 0.15,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Wake trail configuration
|
|
21
|
+
*/
|
|
22
|
+
const WAKE_CONFIG = {
|
|
23
|
+
spawnInterval: 0.08,
|
|
24
|
+
particleCount: 8,
|
|
25
|
+
sizeRange: [2, 6],
|
|
26
|
+
lifetime: 1.2,
|
|
27
|
+
fadeStart: 0.5,
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Body flex configuration
|
|
31
|
+
*/
|
|
32
|
+
const BODY_FLEX = {
|
|
33
|
+
swimSpeed: 0.08,
|
|
34
|
+
amplitude: {
|
|
35
|
+
cruising: 0.15,
|
|
36
|
+
darting: 0.25,
|
|
37
|
+
turning: 0.3,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* FishVisualUpdater - Handles visual animations for fish
|
|
42
|
+
*
|
|
43
|
+
* Manages fin physics, body flex, wake trails, bioluminescence,
|
|
44
|
+
* and other visual effects that don't affect movement logic.
|
|
45
|
+
*/
|
|
46
|
+
export class FishVisualUpdater {
|
|
47
|
+
updateVisuals(fish, frameMultiplier, animationTime) {
|
|
48
|
+
// Core visual animations
|
|
49
|
+
this.updateVisualPhases(fish, frameMultiplier);
|
|
50
|
+
// Wake trail
|
|
51
|
+
this.updateWakeTrail(fish, 0.016 * frameMultiplier, animationTime);
|
|
52
|
+
// Bioluminescence
|
|
53
|
+
if (fish.hasBioluminescence) {
|
|
54
|
+
this.updateBioluminescence(fish, frameMultiplier);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
updateBodyFlex(fish, frameMultiplier) {
|
|
58
|
+
const speedRatio = fish.speed / fish.baseSpeed;
|
|
59
|
+
fish.bodyFlexPhase += BODY_FLEX.swimSpeed * speedRatio * frameMultiplier;
|
|
60
|
+
switch (fish.behavior) {
|
|
61
|
+
case "darting":
|
|
62
|
+
fish.bodyFlexAmount = BODY_FLEX.amplitude.darting;
|
|
63
|
+
break;
|
|
64
|
+
case "turning":
|
|
65
|
+
fish.bodyFlexAmount = BODY_FLEX.amplitude.turning;
|
|
66
|
+
break;
|
|
67
|
+
default:
|
|
68
|
+
fish.bodyFlexAmount = BODY_FLEX.amplitude.cruising;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
updateFinPhysics(fish, frameMultiplier) {
|
|
72
|
+
let speedRatio = fish.speed / fish.baseSpeed;
|
|
73
|
+
// Tropical fish get nervous (faster fin movement) when too deep
|
|
74
|
+
// They're out of their comfort zone in the darker waters
|
|
75
|
+
if (fish.species === "tropical" && fish.preferredVerticalPosition !== undefined) {
|
|
76
|
+
const bandHeight = fish.depthBand.max - fish.depthBand.min;
|
|
77
|
+
const currentFraction = (fish.baseY - fish.depthBand.min) / bandHeight;
|
|
78
|
+
const depthDiscomfort = Math.max(0, currentFraction - 0.6);
|
|
79
|
+
speedRatio *= 1 + depthDiscomfort * 0.5; // Up to 20% faster fins when deep
|
|
80
|
+
}
|
|
81
|
+
const isTurning = fish.behavior === "turning";
|
|
82
|
+
const isDarting = fish.behavior === "darting";
|
|
83
|
+
const baseResponse = isTurning
|
|
84
|
+
? FIN_PHYSICS.turnResponse
|
|
85
|
+
: isDarting
|
|
86
|
+
? FIN_PHYSICS.accelerationResponse * 1.5
|
|
87
|
+
: FIN_PHYSICS.accelerationResponse;
|
|
88
|
+
// Idle wave animation
|
|
89
|
+
const idleWave = Math.sin(fish.animationPhase * FIN_PHYSICS.idleWave.speed * 60) *
|
|
90
|
+
FIN_PHYSICS.idleWave.amplitude;
|
|
91
|
+
// Update each fin with spring physics
|
|
92
|
+
this.updateSingleFin(fish.dorsalFin, idleWave * 0.5, baseResponse, frameMultiplier);
|
|
93
|
+
this.updateSingleFin(fish.pectoralFinTop, -idleWave * 0.8 + (speedRatio - 1) * 0.2, baseResponse, frameMultiplier);
|
|
94
|
+
this.updateSingleFin(fish.pectoralFinBottom, idleWave * 0.8 + (speedRatio - 1) * 0.2, baseResponse, frameMultiplier);
|
|
95
|
+
this.updateSingleFin(fish.pelvicFin, idleWave * 0.4, baseResponse * 0.5, frameMultiplier);
|
|
96
|
+
this.updateSingleFin(fish.analFin, idleWave * 0.3, baseResponse * 0.5, frameMultiplier);
|
|
97
|
+
// Tail has more complex motion
|
|
98
|
+
this.updateTailFin(fish, speedRatio, frameMultiplier);
|
|
99
|
+
}
|
|
100
|
+
updateVisualPhases(fish, frameMultiplier) {
|
|
101
|
+
// Animation phase (for bobbing, etc)
|
|
102
|
+
fish.animationPhase += fish.bobSpeed * frameMultiplier;
|
|
103
|
+
// Scale shimmer
|
|
104
|
+
fish.scalePhase += fish.scaleSpeed * frameMultiplier;
|
|
105
|
+
// Gill breathing
|
|
106
|
+
fish.gillPhase += fish.gillSpeed * frameMultiplier;
|
|
107
|
+
// Tail phase (legacy + additional animation)
|
|
108
|
+
fish.tailPhase = fish.tailFin.wavePhase;
|
|
109
|
+
// Rotation based on vertical drift
|
|
110
|
+
if (fish.behavior === "cruising" || fish.behavior === "schooling") {
|
|
111
|
+
const targetRotation = fish.verticalDrift * 0.02 * fish.direction;
|
|
112
|
+
fish.rotation += (targetRotation - fish.rotation) * 0.1;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
updateSingleFin(fin, targetOffset, _response, frameMultiplier) {
|
|
116
|
+
fin.targetAngle = targetOffset;
|
|
117
|
+
const displacement = fin.targetAngle - fin.angle;
|
|
118
|
+
const springForce = displacement * FIN_PHYSICS.stiffness;
|
|
119
|
+
fin.velocity += springForce * frameMultiplier;
|
|
120
|
+
fin.velocity *= FIN_PHYSICS.damping;
|
|
121
|
+
fin.angle += fin.velocity * frameMultiplier;
|
|
122
|
+
}
|
|
123
|
+
updateTailFin(fish, speedRatio, frameMultiplier) {
|
|
124
|
+
const tail = fish.tailFin;
|
|
125
|
+
tail.wavePhase += FIN_PHYSICS.tail.waveSpeed * speedRatio * frameMultiplier;
|
|
126
|
+
const swimAngle = Math.sin(tail.wavePhase) * tail.waveAmplitude * speedRatio;
|
|
127
|
+
tail.targetAngle = swimAngle;
|
|
128
|
+
const displacement = tail.targetAngle - tail.angle;
|
|
129
|
+
const springForce = displacement * FIN_PHYSICS.stiffness * 1.5;
|
|
130
|
+
tail.velocity += springForce * frameMultiplier;
|
|
131
|
+
tail.velocity *= FIN_PHYSICS.damping;
|
|
132
|
+
tail.angle += tail.velocity * frameMultiplier;
|
|
133
|
+
tail.forkAngle =
|
|
134
|
+
0.3 + speedRatio * FIN_PHYSICS.tail.forkSpread + Math.abs(swimAngle) * 0.1;
|
|
135
|
+
}
|
|
136
|
+
updateWakeTrail(fish, deltaSeconds, animationTime) {
|
|
137
|
+
// Age existing particles
|
|
138
|
+
for (let i = fish.wakeTrail.length - 1; i >= 0; i--) {
|
|
139
|
+
const particle = fish.wakeTrail[i];
|
|
140
|
+
particle.age += deltaSeconds / WAKE_CONFIG.lifetime;
|
|
141
|
+
if (particle.age > WAKE_CONFIG.fadeStart) {
|
|
142
|
+
particle.opacity =
|
|
143
|
+
1 -
|
|
144
|
+
(particle.age - WAKE_CONFIG.fadeStart) / (1 - WAKE_CONFIG.fadeStart);
|
|
145
|
+
}
|
|
146
|
+
if (particle.age >= 1) {
|
|
147
|
+
fish.wakeTrail.splice(i, 1);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Spawn new particles
|
|
151
|
+
if (animationTime - fish.lastWakeSpawn > WAKE_CONFIG.spawnInterval &&
|
|
152
|
+
fish.wakeTrail.length < WAKE_CONFIG.particleCount) {
|
|
153
|
+
const speedRatio = fish.speed / fish.baseSpeed;
|
|
154
|
+
if (speedRatio > 0.5) {
|
|
155
|
+
const tailX = fish.x - fish.direction * fish.bodyLength * 0.4;
|
|
156
|
+
const particle = {
|
|
157
|
+
x: tailX + (Math.random() - 0.5) * fish.bodyHeight * 0.3,
|
|
158
|
+
y: fish.y + (Math.random() - 0.5) * fish.bodyHeight * 0.3,
|
|
159
|
+
age: 0,
|
|
160
|
+
size: this.randomInRange(WAKE_CONFIG.sizeRange) * speedRatio,
|
|
161
|
+
opacity: 0.3 + speedRatio * 0.3,
|
|
162
|
+
};
|
|
163
|
+
fish.wakeTrail.push(particle);
|
|
164
|
+
fish.lastWakeSpawn = animationTime;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
updateBioluminescence(fish, frameMultiplier) {
|
|
169
|
+
fish.glowPhase += 0.02 * frameMultiplier;
|
|
170
|
+
let pulse = 0.5 + Math.sin(fish.glowPhase) * 0.3;
|
|
171
|
+
const burst = Math.random() < 0.002 ? 0.5 : 0;
|
|
172
|
+
// Deep fish glow brighter when ascending into lighter water
|
|
173
|
+
// They're "seeking warmth" - bioluminescence responds to light gradient
|
|
174
|
+
if (fish.species === "deep" && fish.behavior === "ascending") {
|
|
175
|
+
const bandHeight = fish.depthBand.max - fish.depthBand.min;
|
|
176
|
+
const verticalProgress = 1 - (fish.baseY - fish.depthBand.min) / bandHeight;
|
|
177
|
+
pulse += verticalProgress * 0.3; // Up to 30% brighter at top
|
|
178
|
+
}
|
|
179
|
+
fish.glowIntensity = Math.min(1, pulse + burst);
|
|
180
|
+
}
|
|
181
|
+
randomInRange(range) {
|
|
182
|
+
return range[0] + Math.random() * (range[1] - range[0]);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=FishVisualUpdater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishVisualUpdater.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishVisualUpdater.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FishMarineLife } from "../../domain/models/DeepOceanModels.js";
|
|
2
|
+
import type { WobbleOffset } from "../../domain/types/fish-personality-types.js";
|
|
3
|
+
import type { IFishWobbleAnimator } from "../contracts/IFishWobbleAnimator.js";
|
|
4
|
+
/**
|
|
5
|
+
* FishWobbleAnimator - Produces expressive wobble animations
|
|
6
|
+
*
|
|
7
|
+
* Each wobble type creates a unique visual expression through
|
|
8
|
+
* rotation, scale, and position offsets that decay over time.
|
|
9
|
+
*/
|
|
10
|
+
export declare class FishWobbleAnimator implements IFishWobbleAnimator {
|
|
11
|
+
updateWobble(fish: FishMarineLife, deltaSeconds: number): void;
|
|
12
|
+
getWobbleOffset(fish: FishMarineLife): WobbleOffset;
|
|
13
|
+
triggerWobble(fish: FishMarineLife, wobbleType: FishMarineLife["wobbleType"], intensity?: number): void;
|
|
14
|
+
isWobbling(fish: FishMarineLife): boolean;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=FishWobbleAnimator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FishWobbleAnimator.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/services/implementations/FishWobbleAnimator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,8CAA8C,CAAC;AACjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAuM/E;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IA+B9D,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY;IAiFnD,aAAa,CACX,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,EACxC,SAAS,GAAE,MAAU,GACpB,IAAI;IAWP,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;CAO1C"}
|