/// file: public/assets/js/modules/home-diamond/constants.js

/** Three.js build loaded from CDN (must match home-diamond-hero). */
export const THREE_MOD = 'https://unpkg.com/three@0.160.0/build/three.module.js';

/** Base gem scale (matches legacy hero proportions). */
export const GEM_BASE_SCALE = 1.35 * 0.3;
/** Balanced tear-drop: not vase-wide, not blade-thin. */
export const GEM_WIDTH_FACTOR = 1.06;
export const GEM_OVERALL_BOOST = 1.4;
export const GEM_SIZE_MULT = 1.3;
/** Slight vertical bias — premium suspended droplet. */
export const GEM_HEIGHT_FACTOR = 1.2;

export const SHARD_COUNT = 18;
export const SHARD_LIFE_SEC = 0.95;

/** Procedural crystal (deterministic). */
export const CRYSTAL_SEED = 0x5a3e7c91;
export const CRYSTAL_RING_COUNT = 18;
export const CRYSTAL_SEGMENTS = 10;
export const CRYSTAL_RADIUS_JITTER = 0.026;
export const CRYSTAL_Y_JITTER = 0.006;
export const CRYSTAL_TWIST_JITTER = 0.028;

/** Intro: scale-in (seconds). */
export const INTRO_DURATION_SEC = 0.78;

/** Idle motion — slow, minimal, premium. */
export const IDLE_ROT_Y_SPEED = 0.02;
export const IDLE_ROT_Y_WOBBLE = 0.01;
export const IDLE_BOB_AMP = 0.008;
export const IDLE_BREATHE_AMP = 0.006;

/** Smoothed pointer → mesh rotation (max radians at pointer extremes). */
export const PARALLAX_ROT_Y_MAX = 0.26;
export const PARALLAX_ROT_X_MAX = 0.16;
export const PARALLAX_ROT_Z_MAX = 0.1;
export const PARALLAX_CAM_X_MAX = 0.032;
export const PARALLAX_CAM_Y_MAX = 0.022;

/** Pointer smoother (1/sec — higher = snappier). */
export const POINTER_SMOOTH_SPEED = 4.2;
export const POINTER_RETURN_SPEED = 2.4;

/** Camera — silhouette-forward framing */
export const CAMERA_FOV = 40;
export const CAMERA_Z = 3.78;
export const CAMERA_Y_OFFSET = -0.03;
export const MESH_Y_OFFSET = 0.035;

/** Renderer */
export const RENDERER_EXPOSURE = 1.09;
export const CLEAR_COLOR_HEX = 0x03060c;
export const CLEAR_ALPHA = 0;

/** Post-processing: chromatic + vignette (disabled on narrow viewports). */
export const POST_DISABLE_MAX_WIDTH = 768;
export const CHROMATIC_PX = 0.00115;
export const CHROMATIC_EDGE_MUL = 1.35;
export const VIGNETTE_STRENGTH = 0.3;
export const VIGNETTE_RADIUS = 0.72;

/** Black obsidian / smoked crystal — not blue glass, not chrome */
export const MAT_COLOR = 0x060708;
export const MAT_ATTENUATION = 0x141820;
export const MAT_ROUGHNESS = 0.32;
export const MAT_METALNESS = 0.02;
export const MAT_TRANSMISSION = 0.055;
export const MAT_THICKNESS = 0.32;
export const MAT_IOR = 1.52;
export const MAT_ENV_INTENSITY = 0.88;
export const MAT_CLEARCOAT = 0.22;
export const MAT_CLEARCOAT_ROUGH = 0.22;
export const MAT_SPECULAR_INTENSITY = 0.78;
export const MAT_DISPERSION = 0.003;
