@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,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fish Personality & Mood System Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the personality traits, mood states, and visual expression types
|
|
5
|
+
* that give each fish individual character and behavior.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Individual personality traits (0-1 scale)
|
|
9
|
+
* These are fixed at spawn and influence behavior probabilities
|
|
10
|
+
*/
|
|
11
|
+
export interface FishPersonality {
|
|
12
|
+
/**
|
|
13
|
+
* Boldness: How willing to approach threats/stimuli
|
|
14
|
+
* Low = shy, cautious, flees easily
|
|
15
|
+
* High = brave, investigates, stands ground
|
|
16
|
+
*/
|
|
17
|
+
boldness: number;
|
|
18
|
+
/**
|
|
19
|
+
* Sociability: Preference for being near other fish
|
|
20
|
+
* Low = solitary, avoids schools
|
|
21
|
+
* High = seeks company, joins schools readily
|
|
22
|
+
*/
|
|
23
|
+
sociability: number;
|
|
24
|
+
/**
|
|
25
|
+
* Activity: Base energy level and movement intensity
|
|
26
|
+
* Low = slow, lazy, rests often
|
|
27
|
+
* High = energetic, fast, always moving
|
|
28
|
+
*/
|
|
29
|
+
activity: number;
|
|
30
|
+
/**
|
|
31
|
+
* Curiosity: Interest in novel stimuli
|
|
32
|
+
* Low = ignores changes, predictable paths
|
|
33
|
+
* High = investigates, browses, changes direction often
|
|
34
|
+
*/
|
|
35
|
+
curiosity: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Fish mood states - transient emotional states that affect behavior
|
|
39
|
+
* Moods decay over time back to 'calm'
|
|
40
|
+
*/
|
|
41
|
+
export type FishMood = "calm" | "curious" | "alert" | "playful" | "hungry" | "tired" | "social";
|
|
42
|
+
/**
|
|
43
|
+
* Visual modifiers applied based on current mood
|
|
44
|
+
* These affect how the fish is rendered
|
|
45
|
+
*/
|
|
46
|
+
export interface MoodVisuals {
|
|
47
|
+
/** Fin flutter frequency multiplier (1.0 = normal) */
|
|
48
|
+
finFrequency: number;
|
|
49
|
+
/** Tail beat intensity multiplier (1.0 = normal) */
|
|
50
|
+
tailIntensity: number;
|
|
51
|
+
/** Bioluminescence pulse intensity (0 = none, 1 = max) */
|
|
52
|
+
glowPulse: number;
|
|
53
|
+
/** Color saturation multiplier (1.0 = normal) */
|
|
54
|
+
colorSaturation: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Configuration for mood decay and thresholds
|
|
58
|
+
*/
|
|
59
|
+
export interface MoodConfig {
|
|
60
|
+
/** How quickly this mood decays back to calm (per second) */
|
|
61
|
+
decayRate: number;
|
|
62
|
+
/** Visual modifiers for this mood */
|
|
63
|
+
visuals: MoodVisuals;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Wobble animation types for expressing personality/mood
|
|
67
|
+
* Like UFO wobbles, these are brief expressive animations
|
|
68
|
+
*/
|
|
69
|
+
export type FishWobbleType = "none" | "curious_tilt" | "startled_dart" | "playful_wiggle" | "tired_drift" | "feeding_lunge" | "social_shimmer" | "barrel_roll" | "freeze" | "double_take" | "happy_flip" | "sync_pulse";
|
|
70
|
+
/**
|
|
71
|
+
* Wobble animation state
|
|
72
|
+
*/
|
|
73
|
+
export interface WobbleState {
|
|
74
|
+
type: FishWobbleType;
|
|
75
|
+
timer: number;
|
|
76
|
+
intensity: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Offset values produced by wobble animation
|
|
80
|
+
*/
|
|
81
|
+
export interface WobbleOffset {
|
|
82
|
+
rotation: number;
|
|
83
|
+
scaleX: number;
|
|
84
|
+
scaleY: number;
|
|
85
|
+
offsetX: number;
|
|
86
|
+
offsetY: number;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Modifiers to behavior probabilities based on personality
|
|
90
|
+
*/
|
|
91
|
+
export interface BehaviorModifiers {
|
|
92
|
+
/** Multiplier for turn probability */
|
|
93
|
+
turnChance: number;
|
|
94
|
+
/** Multiplier for dart/startle probability */
|
|
95
|
+
dartChance: number;
|
|
96
|
+
/** Multiplier for joining school probability */
|
|
97
|
+
schoolChance: number;
|
|
98
|
+
/** Multiplier for exploring behavior */
|
|
99
|
+
browseChance: number;
|
|
100
|
+
/** Multiplier for resting behavior */
|
|
101
|
+
restChance: number;
|
|
102
|
+
/** Multiplier for feeding behavior */
|
|
103
|
+
feedChance: number;
|
|
104
|
+
/** Base speed multiplier */
|
|
105
|
+
speedMultiplier: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Range type for personality trait generation
|
|
109
|
+
*/
|
|
110
|
+
export type TraitRange = [min: number, max: number];
|
|
111
|
+
/**
|
|
112
|
+
* Species-specific personality trait ranges
|
|
113
|
+
*/
|
|
114
|
+
export interface SpeciesPersonalityConfig {
|
|
115
|
+
boldness: TraitRange;
|
|
116
|
+
sociability: TraitRange;
|
|
117
|
+
activity: TraitRange;
|
|
118
|
+
curiosity: TraitRange;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Extended fish behaviors beyond the basic cruise/turn/dart
|
|
122
|
+
*/
|
|
123
|
+
export type ExtendedFishBehavior = "cruising" | "turning" | "darting" | "schooling" | "feeding" | "resting" | "exploring" | "fleeing" | "socializing";
|
|
124
|
+
//# sourceMappingURL=fish-personality-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fish-personality-types.d.ts","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/domain/types/fish-personality-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,SAAS,GACT,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IAErB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAElB,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,OAAO,EAAE,WAAW,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,gBAAgB,GAEhB,aAAa,GACb,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IAEnB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IAErB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B,UAAU,GACV,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fish-personality-types.js","sourceRoot":"","sources":["../../../../../src/backgrounds/deep-ocean/domain/types/fish-personality-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BodyOutlineCalculator - Computes body outline from spine chain
|
|
3
|
+
*
|
|
4
|
+
* Uses parametric equations to generate left/right boundaries
|
|
5
|
+
* perpendicular to spine direction at each joint.
|
|
6
|
+
*/
|
|
7
|
+
import type { SpineChain } from "./SpineChain.js";
|
|
8
|
+
export interface Point {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
}
|
|
12
|
+
export interface BodyOutline {
|
|
13
|
+
leftPoints: Point[];
|
|
14
|
+
rightPoints: Point[];
|
|
15
|
+
headPoint: Point;
|
|
16
|
+
tailPoint: Point;
|
|
17
|
+
}
|
|
18
|
+
export declare class BodyOutlineCalculator {
|
|
19
|
+
/**
|
|
20
|
+
* Calculate body outline from spine chain
|
|
21
|
+
* Creates smooth left and right boundaries based on joint positions and widths
|
|
22
|
+
*/
|
|
23
|
+
calculateOutline(spine: SpineChain): BodyOutline;
|
|
24
|
+
/**
|
|
25
|
+
* Draw smooth body path through outline points
|
|
26
|
+
* Uses quadratic curves for organic appearance
|
|
27
|
+
*/
|
|
28
|
+
drawBodyPath(ctx: CanvasRenderingContext2D, outline: BodyOutline): void;
|
|
29
|
+
/**
|
|
30
|
+
* Draw a smooth curve through points using quadratic beziers
|
|
31
|
+
*/
|
|
32
|
+
private drawSmoothCurve;
|
|
33
|
+
/**
|
|
34
|
+
* Get point along outline for fin attachment
|
|
35
|
+
* @param outline - Body outline
|
|
36
|
+
* @param t - Position from 0 (head) to 1 (tail)
|
|
37
|
+
* @param side - 'left' or 'right' side
|
|
38
|
+
*/
|
|
39
|
+
getAttachmentPoint(outline: BodyOutline, t: number, side: "left" | "right"): Point;
|
|
40
|
+
/**
|
|
41
|
+
* Get center point along spine for eye/gill placement
|
|
42
|
+
*/
|
|
43
|
+
getCenterPoint(spine: SpineChain, t: number): Point & {
|
|
44
|
+
angle: number;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=BodyOutlineCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BodyOutlineCalculator.d.ts","sourceRoot":"","sources":["../../../../src/backgrounds/deep-ocean/physics/BodyOutlineCalculator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,qBAAa,qBAAqB;IAChC;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW;IA+BhD;;;OAGG;IACH,YAAY,CACV,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,WAAW,GACnB,IAAI;IA8CP;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;OAKG;IACH,kBAAkB,CAChB,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,GAAG,OAAO,GACrB,KAAK;IAuBR;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;CAIxE"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BodyOutlineCalculator - Computes body outline from spine chain
|
|
3
|
+
*
|
|
4
|
+
* Uses parametric equations to generate left/right boundaries
|
|
5
|
+
* perpendicular to spine direction at each joint.
|
|
6
|
+
*/
|
|
7
|
+
export class BodyOutlineCalculator {
|
|
8
|
+
/**
|
|
9
|
+
* Calculate body outline from spine chain
|
|
10
|
+
* Creates smooth left and right boundaries based on joint positions and widths
|
|
11
|
+
*/
|
|
12
|
+
calculateOutline(spine) {
|
|
13
|
+
const leftPoints = [];
|
|
14
|
+
const rightPoints = [];
|
|
15
|
+
for (const joint of spine.joints) {
|
|
16
|
+
const perpAngle = joint.angle + Math.PI / 2;
|
|
17
|
+
// Left boundary (perpendicular to direction)
|
|
18
|
+
leftPoints.push({
|
|
19
|
+
x: joint.x + joint.width * Math.cos(perpAngle),
|
|
20
|
+
y: joint.y + joint.width * Math.sin(perpAngle),
|
|
21
|
+
});
|
|
22
|
+
// Right boundary (opposite perpendicular)
|
|
23
|
+
rightPoints.push({
|
|
24
|
+
x: joint.x - joint.width * Math.cos(perpAngle),
|
|
25
|
+
y: joint.y - joint.width * Math.sin(perpAngle),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const head = spine.joints[0];
|
|
29
|
+
const tail = spine.joints[spine.joints.length - 1];
|
|
30
|
+
return {
|
|
31
|
+
leftPoints,
|
|
32
|
+
rightPoints,
|
|
33
|
+
headPoint: head ? { x: head.x, y: head.y } : { x: 0, y: 0 },
|
|
34
|
+
tailPoint: tail ? { x: tail.x, y: tail.y } : { x: 0, y: 0 },
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Draw smooth body path through outline points
|
|
39
|
+
* Uses quadratic curves for organic appearance
|
|
40
|
+
*/
|
|
41
|
+
drawBodyPath(ctx, outline) {
|
|
42
|
+
const { leftPoints, rightPoints } = outline;
|
|
43
|
+
if (leftPoints.length < 2)
|
|
44
|
+
return;
|
|
45
|
+
ctx.beginPath();
|
|
46
|
+
// Start at head (first left point)
|
|
47
|
+
const startPoint = leftPoints[0];
|
|
48
|
+
ctx.moveTo(startPoint.x, startPoint.y);
|
|
49
|
+
// Draw left side (head to tail)
|
|
50
|
+
this.drawSmoothCurve(ctx, leftPoints);
|
|
51
|
+
// Connect to tail point
|
|
52
|
+
const tailLeft = leftPoints[leftPoints.length - 1];
|
|
53
|
+
const tailRight = rightPoints[rightPoints.length - 1];
|
|
54
|
+
const tailCenter = outline.tailPoint;
|
|
55
|
+
// Rounded tail cap
|
|
56
|
+
ctx.quadraticCurveTo(tailCenter.x + (tailCenter.x - outline.headPoint.x) * 0.1, tailCenter.y + (tailCenter.y - outline.headPoint.y) * 0.1, tailRight.x, tailRight.y);
|
|
57
|
+
// Draw right side (tail to head) - reversed
|
|
58
|
+
const reversedRight = [...rightPoints].reverse();
|
|
59
|
+
this.drawSmoothCurve(ctx, reversedRight);
|
|
60
|
+
// Connect back to start with rounded head
|
|
61
|
+
const headLeft = leftPoints[0];
|
|
62
|
+
const headRight = rightPoints[0];
|
|
63
|
+
const headCenter = outline.headPoint;
|
|
64
|
+
ctx.quadraticCurveTo(headCenter.x + (headCenter.x - outline.tailPoint.x) * 0.15, headCenter.y, headLeft.x, headLeft.y);
|
|
65
|
+
ctx.closePath();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Draw a smooth curve through points using quadratic beziers
|
|
69
|
+
*/
|
|
70
|
+
drawSmoothCurve(ctx, points) {
|
|
71
|
+
if (points.length < 2)
|
|
72
|
+
return;
|
|
73
|
+
for (let i = 1; i < points.length; i++) {
|
|
74
|
+
const prev = points[i - 1];
|
|
75
|
+
const curr = points[i];
|
|
76
|
+
// Use midpoint as control point for smooth curves
|
|
77
|
+
const midX = (prev.x + curr.x) / 2;
|
|
78
|
+
const midY = (prev.y + curr.y) / 2;
|
|
79
|
+
if (i === 1) {
|
|
80
|
+
// First segment - line to midpoint
|
|
81
|
+
ctx.lineTo(midX, midY);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// Subsequent segments - curve through previous point to midpoint
|
|
85
|
+
ctx.quadraticCurveTo(prev.x, prev.y, midX, midY);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Final segment to last point
|
|
89
|
+
const last = points[points.length - 1];
|
|
90
|
+
ctx.lineTo(last.x, last.y);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get point along outline for fin attachment
|
|
94
|
+
* @param outline - Body outline
|
|
95
|
+
* @param t - Position from 0 (head) to 1 (tail)
|
|
96
|
+
* @param side - 'left' or 'right' side
|
|
97
|
+
*/
|
|
98
|
+
getAttachmentPoint(outline, t, side) {
|
|
99
|
+
const points = side === "left" ? outline.leftPoints : outline.rightPoints;
|
|
100
|
+
if (points.length === 0) {
|
|
101
|
+
return { x: 0, y: 0 };
|
|
102
|
+
}
|
|
103
|
+
if (t <= 0)
|
|
104
|
+
return points[0];
|
|
105
|
+
if (t >= 1)
|
|
106
|
+
return points[points.length - 1];
|
|
107
|
+
const index = t * (points.length - 1);
|
|
108
|
+
const i = Math.floor(index);
|
|
109
|
+
const localT = index - i;
|
|
110
|
+
const curr = points[i];
|
|
111
|
+
const next = points[i + 1] ?? curr;
|
|
112
|
+
return {
|
|
113
|
+
x: curr.x + (next.x - curr.x) * localT,
|
|
114
|
+
y: curr.y + (next.y - curr.y) * localT,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get center point along spine for eye/gill placement
|
|
119
|
+
*/
|
|
120
|
+
getCenterPoint(spine, t) {
|
|
121
|
+
const pos = spine.getPositionAt(t);
|
|
122
|
+
return { x: pos.x, y: pos.y, angle: pos.angle };
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=BodyOutlineCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BodyOutlineCalculator.js","sourceRoot":"","sources":["../../../../src/backgrounds/deep-ocean/physics/BodyOutlineCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SpineChain - Core physics for procedural fish animation
|
|
3
|
+
*
|
|
4
|
+
* Based on inverse kinematics chain simulation where:
|
|
5
|
+
* - Each joint follows its predecessor
|
|
6
|
+
* - Distance constraints maintain segment lengths
|
|
7
|
+
* - Angle constraints limit bending between segments
|
|
8
|
+
* - Swimming motion emerges from tail oscillation propagating through chain
|
|
9
|
+
*
|
|
10
|
+
* References:
|
|
11
|
+
* - FABRIK algorithm: http://www.andreasaristidou.com/FABRIK.html
|
|
12
|
+
* - argonaut procedural animation: https://github.com/argonautcode/animal-proc-anim
|
|
13
|
+
*/
|
|
14
|
+
export interface SpineJoint {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
angle: number;
|
|
18
|
+
width: number;
|
|
19
|
+
segmentLength: number;
|
|
20
|
+
}
|
|
21
|
+
export interface SpineConfig {
|
|
22
|
+
jointCount: number;
|
|
23
|
+
widthProfile: number[];
|
|
24
|
+
angleConstraint: number;
|
|
25
|
+
segmentLength: number;
|
|
26
|
+
}
|
|
27
|
+
export declare class SpineChain {
|
|
28
|
+
joints: SpineJoint[];
|
|
29
|
+
angleConstraint: number;
|
|
30
|
+
constructor(config: SpineConfig, startX: number, startY: number, direction: 1 | -1);
|
|
31
|
+
/**
|
|
32
|
+
* Update spine positions - head moves to target, body follows
|
|
33
|
+
* Uses forward reaching: each joint pulls toward its predecessor
|
|
34
|
+
*/
|
|
35
|
+
update(targetX: number, targetY: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* Apply swimming wave through entire spine
|
|
38
|
+
* Creates natural S-curve motion that propagates from tail to head
|
|
39
|
+
* @param amplitude - Max swing at tail (decreases toward head)
|
|
40
|
+
* @param phase - Current phase of oscillation (0-2PI)
|
|
41
|
+
*/
|
|
42
|
+
applyTailOscillation(amplitude: number, phase: number): void;
|
|
43
|
+
/**
|
|
44
|
+
* Get position along spine using parametric interpolation
|
|
45
|
+
* @param t - Position from 0 (head) to 1 (tail)
|
|
46
|
+
*/
|
|
47
|
+
getPositionAt(t: number): {
|
|
48
|
+
x: number;
|
|
49
|
+
y: number;
|
|
50
|
+
angle: number;
|
|
51
|
+
width: number;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Get curvature at a specific joint (angle difference from previous)
|
|
55
|
+
* Used for fin deflection
|
|
56
|
+
*/
|
|
57
|
+
getCurvatureAt(jointIndex: number): number;
|
|
58
|
+
/**
|
|
59
|
+
* Get the head position
|
|
60
|
+
*/
|
|
61
|
+
get head(): {
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Get the tail position
|
|
67
|
+
*/
|
|
68
|
+
get tail(): {
|
|
69
|
+
x: number;
|
|
70
|
+
y: number;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Get head angle (fish's facing direction)
|
|
74
|
+
*/
|
|
75
|
+
get headAngle(): number;
|
|
76
|
+
/**
|
|
77
|
+
* Constrain an angle to be within angleConstraint of reference
|
|
78
|
+
*/
|
|
79
|
+
private constrainAngle;
|
|
80
|
+
/**
|
|
81
|
+
* Normalize angle to -PI to PI range
|
|
82
|
+
*/
|
|
83
|
+
private normalizeAngle;
|
|
84
|
+
/**
|
|
85
|
+
* Interpolate between two angles, handling wraparound
|
|
86
|
+
*/
|
|
87
|
+
private lerpAngle;
|
|
88
|
+
/**
|
|
89
|
+
* Set body widths from a profile array (for species variation)
|
|
90
|
+
*/
|
|
91
|
+
setWidthProfile(profile: number[], maxWidth: number): void;
|
|
92
|
+
/**
|
|
93
|
+
* Get total length of spine
|
|
94
|
+
*/
|
|
95
|
+
get totalLength(): number;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=SpineChain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpineChain.d.ts","sourceRoot":"","sources":["../../../../src/backgrounds/deep-ocean/physics/SpineChain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,UAAU;IACrB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAqBlF;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAwC9C;;;;;OAKG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmC5D;;;OAGG;IACH,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAgChF;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAW1C;;OAEG;IACH,IAAI,IAAI,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAGnC;IAED;;OAEG;IACH,IAAI,IAAI,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAGnC;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM1D;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAMxB;CACF"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SpineChain - Core physics for procedural fish animation
|
|
3
|
+
*
|
|
4
|
+
* Based on inverse kinematics chain simulation where:
|
|
5
|
+
* - Each joint follows its predecessor
|
|
6
|
+
* - Distance constraints maintain segment lengths
|
|
7
|
+
* - Angle constraints limit bending between segments
|
|
8
|
+
* - Swimming motion emerges from tail oscillation propagating through chain
|
|
9
|
+
*
|
|
10
|
+
* References:
|
|
11
|
+
* - FABRIK algorithm: http://www.andreasaristidou.com/FABRIK.html
|
|
12
|
+
* - argonaut procedural animation: https://github.com/argonautcode/animal-proc-anim
|
|
13
|
+
*/
|
|
14
|
+
export class SpineChain {
|
|
15
|
+
joints;
|
|
16
|
+
angleConstraint;
|
|
17
|
+
constructor(config, startX, startY, direction) {
|
|
18
|
+
this.angleConstraint = config.angleConstraint;
|
|
19
|
+
this.joints = [];
|
|
20
|
+
// Initialize joints in a straight line
|
|
21
|
+
const baseAngle = direction === 1 ? 0 : Math.PI; // Face right or left
|
|
22
|
+
for (let i = 0; i < config.jointCount; i++) {
|
|
23
|
+
const t = i / (config.jointCount - 1);
|
|
24
|
+
const width = config.widthProfile[i] ?? 0.5;
|
|
25
|
+
this.joints.push({
|
|
26
|
+
x: startX - i * config.segmentLength * direction,
|
|
27
|
+
y: startY,
|
|
28
|
+
angle: baseAngle,
|
|
29
|
+
width,
|
|
30
|
+
segmentLength: config.segmentLength,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Update spine positions - head moves to target, body follows
|
|
36
|
+
* Uses forward reaching: each joint pulls toward its predecessor
|
|
37
|
+
*/
|
|
38
|
+
update(targetX, targetY) {
|
|
39
|
+
if (this.joints.length === 0)
|
|
40
|
+
return;
|
|
41
|
+
const head = this.joints[0];
|
|
42
|
+
// Move head toward target
|
|
43
|
+
head.x = targetX;
|
|
44
|
+
head.y = targetY;
|
|
45
|
+
// Calculate head angle from movement direction
|
|
46
|
+
if (this.joints.length > 1) {
|
|
47
|
+
const second = this.joints[1];
|
|
48
|
+
head.angle = Math.atan2(head.y - second.y, head.x - second.x);
|
|
49
|
+
}
|
|
50
|
+
// Each subsequent joint follows the one ahead (forward reaching)
|
|
51
|
+
for (let i = 1; i < this.joints.length; i++) {
|
|
52
|
+
const prev = this.joints[i - 1];
|
|
53
|
+
const curr = this.joints[i];
|
|
54
|
+
// Compute direction from curr to prev
|
|
55
|
+
const dx = prev.x - curr.x;
|
|
56
|
+
const dy = prev.y - curr.y;
|
|
57
|
+
const distance = Math.sqrt(dx * dx + dy * dy);
|
|
58
|
+
if (distance > 0) {
|
|
59
|
+
// Calculate angle toward previous joint
|
|
60
|
+
let targetAngle = Math.atan2(dy, dx);
|
|
61
|
+
// Apply angle constraint relative to previous joint's angle
|
|
62
|
+
targetAngle = this.constrainAngle(targetAngle, prev.angle);
|
|
63
|
+
curr.angle = targetAngle;
|
|
64
|
+
// Position joint at correct distance from previous
|
|
65
|
+
curr.x = prev.x - Math.cos(curr.angle) * curr.segmentLength;
|
|
66
|
+
curr.y = prev.y - Math.sin(curr.angle) * curr.segmentLength;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Apply swimming wave through entire spine
|
|
72
|
+
* Creates natural S-curve motion that propagates from tail to head
|
|
73
|
+
* @param amplitude - Max swing at tail (decreases toward head)
|
|
74
|
+
* @param phase - Current phase of oscillation (0-2PI)
|
|
75
|
+
*/
|
|
76
|
+
applyTailOscillation(amplitude, phase) {
|
|
77
|
+
if (this.joints.length < 3)
|
|
78
|
+
return;
|
|
79
|
+
// Store original positions for smooth interpolation
|
|
80
|
+
const basePositions = this.joints.map(j => ({ x: j.x, y: j.y, angle: j.angle }));
|
|
81
|
+
// Apply wave to each joint with:
|
|
82
|
+
// - Increasing amplitude toward tail
|
|
83
|
+
// - Phase delay between segments (wave propagation)
|
|
84
|
+
for (let i = 1; i < this.joints.length; i++) {
|
|
85
|
+
const joint = this.joints[i];
|
|
86
|
+
const prev = this.joints[i - 1];
|
|
87
|
+
// Wave influence increases toward tail (0 at head, 1 at tail)
|
|
88
|
+
const t = i / (this.joints.length - 1);
|
|
89
|
+
const waveInfluence = t * t; // Quadratic for more natural motion
|
|
90
|
+
// Phase delay creates wave propagation (tail leads, head follows)
|
|
91
|
+
const phaseDelay = t * 1.2; // Radians of delay per segment
|
|
92
|
+
const localPhase = phase - phaseDelay;
|
|
93
|
+
// Calculate perpendicular offset
|
|
94
|
+
const perpAngle = prev.angle + Math.PI / 2;
|
|
95
|
+
const offset = Math.sin(localPhase) * amplitude * waveInfluence;
|
|
96
|
+
// Apply offset perpendicular to spine direction
|
|
97
|
+
joint.x = basePositions[i].x + Math.cos(perpAngle) * offset;
|
|
98
|
+
joint.y = basePositions[i].y + Math.sin(perpAngle) * offset;
|
|
99
|
+
// Adjust angle based on offset direction (creates natural curve)
|
|
100
|
+
const angleAdjust = Math.cos(localPhase) * 0.15 * waveInfluence;
|
|
101
|
+
joint.angle = basePositions[i].angle + angleAdjust;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get position along spine using parametric interpolation
|
|
106
|
+
* @param t - Position from 0 (head) to 1 (tail)
|
|
107
|
+
*/
|
|
108
|
+
getPositionAt(t) {
|
|
109
|
+
if (this.joints.length === 0) {
|
|
110
|
+
return { x: 0, y: 0, angle: 0, width: 0 };
|
|
111
|
+
}
|
|
112
|
+
if (t <= 0) {
|
|
113
|
+
const head = this.joints[0];
|
|
114
|
+
return { x: head.x, y: head.y, angle: head.angle, width: head.width };
|
|
115
|
+
}
|
|
116
|
+
if (t >= 1) {
|
|
117
|
+
const tail = this.joints[this.joints.length - 1];
|
|
118
|
+
return { x: tail.x, y: tail.y, angle: tail.angle, width: tail.width };
|
|
119
|
+
}
|
|
120
|
+
// Find which segment we're on
|
|
121
|
+
const segmentIndex = t * (this.joints.length - 1);
|
|
122
|
+
const i = Math.floor(segmentIndex);
|
|
123
|
+
const localT = segmentIndex - i;
|
|
124
|
+
const curr = this.joints[i];
|
|
125
|
+
const next = this.joints[i + 1];
|
|
126
|
+
// Linear interpolation between joints
|
|
127
|
+
return {
|
|
128
|
+
x: curr.x + (next.x - curr.x) * localT,
|
|
129
|
+
y: curr.y + (next.y - curr.y) * localT,
|
|
130
|
+
angle: this.lerpAngle(curr.angle, next.angle, localT),
|
|
131
|
+
width: curr.width + (next.width - curr.width) * localT,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get curvature at a specific joint (angle difference from previous)
|
|
136
|
+
* Used for fin deflection
|
|
137
|
+
*/
|
|
138
|
+
getCurvatureAt(jointIndex) {
|
|
139
|
+
if (jointIndex <= 0 || jointIndex >= this.joints.length) {
|
|
140
|
+
return 0;
|
|
141
|
+
}
|
|
142
|
+
const prev = this.joints[jointIndex - 1];
|
|
143
|
+
const curr = this.joints[jointIndex];
|
|
144
|
+
return this.normalizeAngle(curr.angle - prev.angle);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get the head position
|
|
148
|
+
*/
|
|
149
|
+
get head() {
|
|
150
|
+
const h = this.joints[0];
|
|
151
|
+
return h ? { x: h.x, y: h.y } : { x: 0, y: 0 };
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get the tail position
|
|
155
|
+
*/
|
|
156
|
+
get tail() {
|
|
157
|
+
const t = this.joints[this.joints.length - 1];
|
|
158
|
+
return t ? { x: t.x, y: t.y } : { x: 0, y: 0 };
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get head angle (fish's facing direction)
|
|
162
|
+
*/
|
|
163
|
+
get headAngle() {
|
|
164
|
+
return this.joints[0]?.angle ?? 0;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Constrain an angle to be within angleConstraint of reference
|
|
168
|
+
*/
|
|
169
|
+
constrainAngle(angle, referenceAngle) {
|
|
170
|
+
let diff = this.normalizeAngle(angle - referenceAngle);
|
|
171
|
+
if (diff > this.angleConstraint) {
|
|
172
|
+
diff = this.angleConstraint;
|
|
173
|
+
}
|
|
174
|
+
else if (diff < -this.angleConstraint) {
|
|
175
|
+
diff = -this.angleConstraint;
|
|
176
|
+
}
|
|
177
|
+
return referenceAngle + diff;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Normalize angle to -PI to PI range
|
|
181
|
+
*/
|
|
182
|
+
normalizeAngle(angle) {
|
|
183
|
+
while (angle > Math.PI)
|
|
184
|
+
angle -= Math.PI * 2;
|
|
185
|
+
while (angle < -Math.PI)
|
|
186
|
+
angle += Math.PI * 2;
|
|
187
|
+
return angle;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Interpolate between two angles, handling wraparound
|
|
191
|
+
*/
|
|
192
|
+
lerpAngle(a, b, t) {
|
|
193
|
+
let diff = this.normalizeAngle(b - a);
|
|
194
|
+
return a + diff * t;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Set body widths from a profile array (for species variation)
|
|
198
|
+
*/
|
|
199
|
+
setWidthProfile(profile, maxWidth) {
|
|
200
|
+
for (let i = 0; i < this.joints.length && i < profile.length; i++) {
|
|
201
|
+
this.joints[i].width = (profile[i] ?? 0.5) * maxWidth;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get total length of spine
|
|
206
|
+
*/
|
|
207
|
+
get totalLength() {
|
|
208
|
+
let length = 0;
|
|
209
|
+
for (let i = 1; i < this.joints.length; i++) {
|
|
210
|
+
length += this.joints[i].segmentLength;
|
|
211
|
+
}
|
|
212
|
+
return length;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=SpineChain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpineChain.js","sourceRoot":"","sources":["../../../../src/backgrounds/deep-ocean/physics/SpineChain.ts"],"names":[],"mappings":"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"}
|