/** * Ocean Service Factory * * Creates and caches all Ocean-specific services including * physics, animation, and rendering subsystems with their * full dependency trees wired up correctly. */ import type { IBubblePhysics } from "./contracts/IBubblePhysics.js"; import type { IParticleSystem } from "./contracts/IParticleSystem.js"; import type { ILightRayCalculator } from "./contracts/ILightRayCalculator.js"; import type { IFishAnimator } from "./contracts/IFishAnimator.js"; import type { IJellyfishAnimator } from "./contracts/IJellyfishAnimator.js"; import type { IGradientRenderer } from "./contracts/IGradientRenderer.js"; import type { ILightRayRenderer } from "./contracts/ILightRayRenderer.js"; import type { IBubbleRenderer } from "./contracts/IBubbleRenderer.js"; import type { IParticleRenderer } from "./contracts/IParticleRenderer.js"; import type { IFishRenderer } from "./contracts/IFishRenderer.js"; import type { IJellyfishRenderer } from "./contracts/IJellyfishRenderer.js"; /** * Container for all Ocean services */ export interface OceanServices { bubblePhysics: IBubblePhysics; particleSystem: IParticleSystem; lightRayCalculator: ILightRayCalculator; fishAnimator: IFishAnimator; jellyfishAnimator: IJellyfishAnimator; gradientRenderer: IGradientRenderer; lightRayRenderer: ILightRayRenderer; bubbleRenderer: IBubbleRenderer; particleRenderer: IParticleRenderer; fishRenderer: IFishRenderer; jellyfishRenderer: IJellyfishRenderer; } /** * Get or create all Ocean services */ export declare function getOceanServices(): OceanServices; /** * Reset cached services (for testing) */ export declare function resetOceanServices(): void; //# sourceMappingURL=OceanServiceFactory.d.ts.map