import { GpuShaderDefinition } from '../../gpu/porters'; import { transformPosition, transformColor } from '../../utilities/transformations'; import { ColorStop } from '../../utilities/colorStops'; 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 plastic 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 plastic shape (1 = default size) * * Accepts a number between 0.1 and 3. * @default 1 */ scale: number; /** * Rotation of the plastic shape in degrees * * Accepts a number between 0 and 360. * @default 0 */ rotation: number; /** * Body color at the start of the gradient * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#f5f5f7" */ colorA: Parameters[0]; /** * Body color at the end of the gradient * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#d9dade" */ colorB: Parameters[0]; stops: ColorStop[] | null; /** * Direction of the body color gradient in degrees * * Accepts a number between 0 and 360. * @default 90 */ gradientAngle: number; /** * Color space for gradient color interpolation * * Accepts one of the predefined option values. * @default "linear" */ colorSpace: string; /** * Direction the studio key light comes from, in degrees * * Accepts a number between 0 and 360. * @default 315 */ lightAngle: number; /** * Diffuse shading contrast — how strongly the body darkens away from the light * * Accepts a number between 0 and 1. * @default 0.35 */ shading: number; /** * Surface roughness — 0 = polished gloss with crisp mirror reflections, 1 = matte satin * * Accepts a number between 0 and 1. * @default 0.12 */ roughness: number; /** * Strength of the environment reflections and specular highlights * * Accepts a number between 0 and 2. * @default 1 */ reflectivity: number; /** * Surface crumple — irregular dents that break reflections into hard organic shapes, like blown or vacuum-formed plastic * * Accepts a number between 0 and 1. * @default 0.25 */ crumple: number; /** * Size of the crumple dents — higher = smaller, denser dents * * Accepts a number between 0.5 and 10. * @default 1 */ crumpleScale: number; /** * How much of the surface is crumpled — 0 = pristine, 0.5 = patches of crumple, 1 = fully crumpled * * Accepts a number between 0 and 1. * @default 1 */ crumpleCoverage: number; /** * Random seed — re-rolls the crumple pattern for reflection variety * * Accepts a number between 0 and 100. * @default 0 */ seed: number; /** * Speed of the environment drift — the studio reflections slowly orbit the surface. 0 pauses. * * Accepts a number between 0 and 4. * @default 1 */ speed: number; /** * Fresnel rim light intensity on grazing surfaces * * Accepts a number between 0 and 1. * @default 0.25 */ rim: number; /** * Color of the fresnel rim light * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#ffffff" */ rimColor: Parameters[0]; /** * Puffiness — how far the rounded bevel reaches inward from the edge before the surface flattens * * Accepts a number between 0.05 and 1. * @default 0.5 */ thickness: 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