import type { FishMarineLife } from "../../domain/models/OceanModels.js"; import type { SpineChain } from "../../physics/SpineChain.js"; import type { Point } from "../../physics/BodyOutlineCalculator.js"; /** * Renders fish patterns (scales, stripes, spots, iridescence, lateral line). */ export interface IFishPatternRenderer { drawSpineScalePattern(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void; drawSpineStripes(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void; drawVerticalBands(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void; drawHorizontalStripes(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void; drawSpineSpots(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void; drawSpineIridescence(ctx: CanvasRenderingContext2D, fish: FishMarineLife, outline: { leftPoints: Point[]; rightPoints: Point[]; headPoint: Point; tailPoint: Point; }): void; drawSpineLateralLine(ctx: CanvasRenderingContext2D, fish: FishMarineLife, spine: SpineChain): void; drawScalePattern(ctx: CanvasRenderingContext2D, fish: FishMarineLife, len: number, height: number): void; drawLateralLine(ctx: CanvasRenderingContext2D, fish: FishMarineLife, len: number, height: number): void; } //# sourceMappingURL=IFishPatternRenderer.d.ts.map