import { GpuShaderDefinition } from '../../gpu/porters'; import { transformPosition, transformColor } from '../../utilities/transformations'; import { BoundingBoxOrigin } from '../../types'; export interface ComponentProps { /** * Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre. * * @default "center" */ origin: BoundingBoxOrigin; /** * Center position of the water shape * * Accepts `{ x, y }` objects with values from 0 to 1, or CSS positions like `top center`. * @default {"x":0.5,"y":0.5} */ center: Parameters[0]; /** * Scale of the water shape (1 = default size) * * Accepts a number between 0.1 and 3. * @default 1 */ scale: number; /** * Rotation of the water shape in degrees * * Accepts a number between 0 and 360. * @default 0 */ rotation: number; /** * The colour the water saturates toward with depth * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#00bfeb" */ waterColor: Parameters[0]; /** * How much of the reflected sky transmits through the body * * Accepts a number between 0 and 1. * @default 0.4 */ clarity: number; /** * How quickly the water darkens and saturates toward its colour with thickness * * Accepts a number between 0 and 8. * @default 5 */ depth: number; /** * Brightness of the thin shallow water at the edges — high fades the rim to light translucent water, low keeps the edges close to the deep water colour * * Accepts a number between 0 and 1. * @default 0.5 */ shallows: number; /** * Height of the wind-driven waves — the depth of the folds that bend the reflection * * Accepts a number between 0 and 1.5. * @default 0.8 */ choppiness: number; /** * Scale of the wave fronts — higher = smaller, busier ripples * * Accepts a number between 0.5 and 8. * @default 3.5 */ waveScale: number; /** * Swirl of the flow — domain-warps the wave fronts into curling eddies * * Accepts a number between 0 and 1.5. * @default 0.6 */ swirl: number; /** * Speed of the rolling waves. 0 pauses the surface. * * Accepts a number between 0 and 4. * @default 0.5 */ speed: number; /** * Intensity of the light caustics bubbling up through the body — bright veins of focused light churning inside the water * * Accepts a number between 0 and 2. * @default 0.15 */ caustics: number; /** * Size of the caustic veins — higher = finer, busier light patterns inside the body * * Accepts a number between 1 and 20. * @default 6 */ causticScale: number; /** * Strength of the reflected sky across the surface * * Accepts a number between 0 and 2. * @default 2 */ reflection: number; /** * Rotates the reflected sky — spins where the bright sky and sun fall * * Accepts a number between 0 and 360. * @default 0 */ envRotation: number; /** * Tightness of the sun glint and reflected sun * * Accepts a number between 0 and 1. * @default 0.1 */ sharpness: number; /** * Direction of the sun, in degrees — drives the glint and where the sun reflects * * Accepts a number between 0 and 360. * @default 30 */ lightAngle: number; /** * White foam breaking on the wave crests and along the shoreline edge * * Accepts a number between 0 and 1. * @default 0.3 */ foam: number; /** * Softness of the shape boundary edge * * Accepts a number between 0 and 1. * @default 0.05 */ edgeSoftness: number; /** * Serialized shape configuration (JSON) * * @default "DEFAULT_SHAPE_CONFIG" */ shape: string | Record; /** * URL to a pre-generated SDF .bin file * * @default "" */ shapeSdfUrl: string; /** * Active SDF shape type * * @default "" */ shapeType: string; } export declare const componentDefinition: GpuShaderDefinition; export default componentDefinition; //# sourceMappingURL=index.d.ts.map