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 crystal 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 crystal shape (1 = default size) * * Accepts a number between 0.1 and 3. * @default 1 */ scale: number; /** * Rotation of the crystal shape in degrees * * Accepts a number between 0 and 360. * @default 0 */ rotation: number; /** * How strongly the crystal refracts content beneath * * Accepts a number within the specified range. */ refraction: number; /** * Prismatic rainbow dispersion — splits light into spectral colors * * Accepts a number within the specified range. * @default 0.5 */ dispersion: number; /** * Symmetry order — how many times the facet pattern repeats around the center * * Accepts a number between 3 and 24. * @default 5 */ facets: number; /** * Softness of the crystal boundary edge * * Accepts a number within the specified range. * @default 0 */ edgeSoftness: number; /** * Magnification of content seen through the crystal * * Accepts a number between 0.5 and 3. * @default 1.5 */ innerZoom: number; /** * Cut out alpha outside the crystal shape * * Accepts a boolean value (`true` or `false`). * @default false */ cutout: boolean; /** * Light direction angle in degrees * * @default 270 */ lightAngle: number; /** * Additive brightness on light-facing facets — never darkens * * Accepts a number between 0 and 2. * @default 0.5 */ highlights: number; /** * Darkening on shadow-facing facets — never brightens * * Accepts a number between 0 and 1. * @default 0.3 */ shadows: number; /** * Overall crystal brightness — higher values push facets toward brilliant white * * Accepts a number between 0.5 and 3. * @default 1.2 */ brightness: number; /** * Fresnel rim glow intensity around the crystal boundary * * Accepts a number within the specified range. * @default 0.05 */ fresnel: number; /** * Accepts a number within the specified range. * @default 1 */ fresnelSoftness: number; fresnelColor: Parameters[0]; /** * Crystal body tint color * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#e8e0ff" */ tintColor: Parameters[0]; /** * How much tint color is applied to the crystal interior * * Accepts a number between 0 and 1. * @default 0 */ tintIntensity: number; /** * Preserve original brightness when tinting * * Accepts a boolean value (`true` or `false`). * @default true */ tintPreserveLuminosity: boolean; /** * 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