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 nebula 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 nebula shape (1 = default size) * * @default 1 */ scale: number; /** * Rotation of the nebula shape in degrees * * Accepts a number between 0 and 360. * @default 0 */ rotation: number; /** * The hot colour the densest gas cores glow with — the embedded newborn stars * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#ffd9b0" */ coreColor: Parameters[0]; /** * The main emission colour of the gas body — H-alpha rose by default * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#ff5e7a" */ gasColor: Parameters[0]; /** * The colour of the thin outer veils and the deep-space background behind the gas * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#3a5bdb" */ veilColor: Parameters[0]; /** * Color space the veil → gas → core ramps blend in * * Accepts one of the predefined option values. * @default "oklab" */ colorSpace: string; /** * Optical density of the gas — how strongly clouds occlude the stars and gas behind them * * @default 1 */ density: number; /** * How hollowed-out the nebula is — 0 fills the volume with cloud banks, high carves large dark voids between them * * @default 0 */ cavity: number; /** * Cold dark dust lanes threading the gas — absorb-only tendrils that redden the clouds and stars behind them * * @default 0.55 */ dust: number; /** * Feature size of the gas — higher = finer, busier cloud detail * * @default 0.4 */ gasScale: number; /** * Turbulent folding of the clouds — 0 = smooth drifting banks, 1 = heavily churned billows * * @default 0.6 */ billow: number; /** * Hot emission bloom of the dense cores * * @default 0 */ glow: number; /** * Random seed — pans the gas field to a different region of noise space for a new cloud composition * * @default 0 */ seed: number; /** * Brightness of the star fields drifting at depth behind and inside the gas * * @default 0.07 */ stars: number; /** * Density of the star fields — higher = smaller, busier stars * * @default 1 */ starScale: number; /** * Intensity of the star twinkle (0 = steady stars, 1 = full shimmer) * * @default 0.35 */ twinkle: number; /** * How strongly the curved glass walls bend the interior seen near the edges * */ refraction: number; /** * Strength of the studio softboxes reflected in the polished glass surface * * @default 0.7 */ environment: number; /** * Sharp key-light glint on the glass * * @default 1.15 */ highlight: number; highlightSoftness: number; /** * Direction of the key light and reflected studio, in degrees * */ lightAngle: number; edgeSoftness: number; /** * Speed of the slowly churning gas and twinkling stars. 0 freezes the nebula. * * Accepts a number between 0 and 4. * @default 0.3 */ speed: 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