r3d-icons 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -0
- package/dist/index.cjs +32 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1130 -0
- package/dist/index.d.ts +1130 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/SharedWrapper.tsx","../src/utils/webgl.ts","../src/components/Fallback2D.tsx","../src/components/DatabaseIcon/DatabaseIcon.tsx","../src/components/CloudIcon/CloudIcon.tsx","../src/components/CpuIcon/CpuIcon.tsx","../src/components/NetworkIcon/NetworkIcon.tsx","../src/components/GearIcon/GearIcon.tsx","../src/components/FacebookIcon/FacebookIcon.tsx","../src/components/AnchorIcon/AnchorIcon.tsx","../src/components/DiamondIcon/DiamondIcon.tsx","../src/components/FilterIcon/FilterIcon.tsx","../src/components/PipelineIcon/PipelineIcon.tsx","../src/components/RefreshIcon/RefreshIcon.tsx","../src/components/WebhookIcon/WebhookIcon.tsx","../src/components/PlusIcon/PlusIcon.tsx","../src/components/MinusIcon/MinusIcon.tsx","../src/components/CloseIcon/CloseIcon.tsx","../src/components/InfoIcon/InfoIcon.tsx","../src/components/AlertCircleIcon/AlertCircleIcon.tsx","../src/components/RocketIcon/RocketIcon.tsx","../src/components/FlashIcon/FlashIcon.tsx","../src/components/ShieldIcon/ShieldIcon.tsx","../src/components/FolderIcon/FolderIcon.tsx","../src/components/MailIcon/MailIcon.tsx","../src/components/WalletIcon/WalletIcon.tsx","../src/components/CalendarIcon/CalendarIcon.tsx","../src/components/DollarIcon/DollarIcon.tsx","../src/components/ThumbUpIcon/ThumbUpIcon.tsx","../src/components/HeartIcon/HeartIcon.tsx","../src/components/ChatIcon/ChatIcon.tsx","../src/components/KeyIcon/KeyIcon.tsx","../src/components/StarIcon/StarIcon.tsx","../src/components/CartIcon/CartIcon.tsx","../src/components/MusicIcon/MusicIcon.tsx","../src/components/GamepadIcon/GamepadIcon.tsx","../src/components/BellIcon/BellIcon.tsx","../src/components/SunIcon/SunIcon.tsx","../src/components/BulbIcon/BulbIcon.tsx","../src/components/CameraIcon/CameraIcon.tsx","../src/components/ClockIcon/ClockIcon.tsx","../src/components/TrophyIcon/TrophyIcon.tsx","../src/components/LockIcon/LockIcon.tsx","../src/components/MapPinIcon/MapPinIcon.tsx","../src/components/CreditCardIcon/CreditCardIcon.tsx","../src/components/WifiIcon/WifiIcon.tsx","../src/components/SearchIcon/SearchIcon.tsx","../src/components/HomeIcon/HomeIcon.tsx","../src/components/TrashIcon/TrashIcon.tsx","../src/components/UserIcon/UserIcon.tsx","../src/components/PlayIcon/PlayIcon.tsx","../src/components/GiftIcon/GiftIcon.tsx","../src/components/GlobeIcon/GlobeIcon.tsx","../src/components/BagIcon/BagIcon.tsx","../src/components/CompassIcon/CompassIcon.tsx","../src/components/SendIcon/SendIcon.tsx","../src/components/TargetIcon/TargetIcon.tsx","../src/components/EditIcon/EditIcon.tsx","../src/components/PhoneIcon/PhoneIcon.tsx","../src/components/BookIcon/BookIcon.tsx","../src/components/LinkIcon/LinkIcon.tsx","../src/components/CrownIcon/CrownIcon.tsx","../src/components/PinIcon/PinIcon.tsx","../src/components/FlagIcon/FlagIcon.tsx","../src/components/BriefcaseIcon/BriefcaseIcon.tsx","../src/components/EyeIcon/EyeIcon.tsx","../src/components/TagIcon/TagIcon.tsx","../src/components/CoffeeIcon/CoffeeIcon.tsx","../src/components/ShareIcon/ShareIcon.tsx","../src/components/LayersIcon/LayersIcon.tsx","../src/components/SparklesIcon/SparklesIcon.tsx","../src/components/MegaphoneIcon/MegaphoneIcon.tsx","../src/components/DownloadIcon/DownloadIcon.tsx","../src/components/UploadIcon/UploadIcon.tsx","../src/components/MonitorIcon/MonitorIcon.tsx","../src/components/KeyboardIcon/KeyboardIcon.tsx","../src/components/MouseIcon/MouseIcon.tsx","../src/components/HardDriveIcon/HardDriveIcon.tsx","../src/components/GlassmorphismIcon/GlassmorphismIcon.tsx","../src/components/GithubIcon/GithubIcon.tsx","../src/components/TwitterIcon/TwitterIcon.tsx","../src/components/GoogleIcon/GoogleIcon.tsx","../src/components/RouterIcon/RouterIcon.tsx","../src/components/ServerIcon/ServerIcon.tsx","../src/components/WrenchIcon/WrenchIcon.tsx","../src/components/BoltIcon/BoltIcon.tsx","../src/components/SmileIcon/SmileIcon.tsx","../src/components/FrownIcon/FrownIcon.tsx","../src/components/HeartEyesIcon/HeartEyesIcon.tsx","../src/components/HammerIcon/HammerIcon.tsx","../src/components/ScrewdriverIcon/ScrewdriverIcon.tsx","../src/components/NutIcon/NutIcon.tsx","../src/components/PrinterIcon/PrinterIcon.tsx","../src/components/SpeakerIcon/SpeakerIcon.tsx","../src/components/EthernetIcon/EthernetIcon.tsx","../src/components/SatelliteIcon/SatelliteIcon.tsx","../src/components/CodeIcon/CodeIcon.tsx","../src/components/TerminalIcon/TerminalIcon.tsx","../src/components/GitIcon/GitIcon.tsx","../src/components/FigmaIcon/FigmaIcon.tsx","../src/components/BarChartIcon/BarChartIcon.tsx","../src/components/CheckIcon/CheckIcon.tsx","../src/components/ContainerIcon/ContainerIcon.tsx","../src/components/ShieldCheckIcon/ShieldCheckIcon.tsx","../src/components/ReactIcon/ReactIcon.tsx","../src/components/NodeIcon/NodeIcon.tsx","../src/components/BugIcon/BugIcon.tsx","../src/components/FlaskIcon/FlaskIcon.tsx","../src/components/PieChartIcon/PieChartIcon.tsx","../src/components/FlameIcon/FlameIcon.tsx","../src/components/ActivityIcon/ActivityIcon.tsx","../src/components/GraduationCapIcon/GraduationCapIcon.tsx","../src/components/TrendingUpIcon/TrendingUpIcon.tsx","../src/components/InstagramIcon/InstagramIcon.tsx","../src/components/PackageIcon/PackageIcon.tsx","../src/components/AirplaneIcon/AirplaneIcon.tsx","../src/components/BatteryIcon/BatteryIcon.tsx","../src/components/VideoIcon/VideoIcon.tsx","../src/components/MicrophoneIcon/MicrophoneIcon.tsx","../src/components/SlidersIcon/SlidersIcon.tsx","../src/components/MapIcon/MapIcon.tsx","../src/components/UmbrellaIcon/UmbrellaIcon.tsx","../src/components/ScissorsIcon/ScissorsIcon.tsx","../src/components/UnlockIcon/UnlockIcon.tsx","../src/components/ArchiveIcon/ArchiveIcon.tsx","../src/components/ShieldAlertIcon/ShieldAlertIcon.tsx","../src/components/EyeOffIcon/EyeOffIcon.tsx","../src/components/UserPlusIcon/UserPlusIcon.tsx","../src/components/TrendingDownIcon/TrendingDownIcon.tsx","../src/components/CopyIcon/CopyIcon.tsx","../src/components/GaugeIcon/GaugeIcon.tsx","../src/components/MagnetIcon/MagnetIcon.tsx","../src/components/StackIcon/StackIcon.tsx","../src/components/WorkflowIcon/WorkflowIcon.tsx","../src/components/TopologyIcon/TopologyIcon.tsx","../src/components/FileIcon/FileIcon.tsx","../src/components/HeadphonesIcon/HeadphonesIcon.tsx","../src/components/MoonIcon/MoonIcon.tsx","../src/components/PaperclipIcon/PaperclipIcon.tsx","../src/components/BookmarkIcon/BookmarkIcon.tsx","../src/components/CloudLightningIcon/CloudLightningIcon.tsx","../src/components/FolderOpenIcon/FolderOpenIcon.tsx","../src/components/VolumeIcon/VolumeIcon.tsx","../src/components/BellOffIcon/BellOffIcon.tsx","../src/components/SunMoonIcon/SunMoonIcon.tsx","../src/components/PistonIcon/PistonIcon.tsx","../src/components/SpringIcon/SpringIcon.tsx","../src/components/AnvilIcon/AnvilIcon.tsx","../src/components/HookIcon/HookIcon.tsx","../src/components/TurbineIcon/TurbineIcon.tsx","../src/components/PliersIcon/PliersIcon.tsx","../src/components/DrillIcon/DrillIcon.tsx","../src/components/HacksawIcon/HacksawIcon.tsx","../src/components/TapeMeasureIcon/TapeMeasureIcon.tsx","../src/components/CaliperIcon/CaliperIcon.tsx","../src/components/SpiritLevelIcon/SpiritLevelIcon.tsx","../src/components/SledgehammerIcon/SledgehammerIcon.tsx","../src/components/PhoneMobileIcon/PhoneMobileIcon.tsx","../src/components/TabletIcon/TabletIcon.tsx","../src/components/LaptopIcon/LaptopIcon.tsx","../src/components/SmartWatchIcon/SmartWatchIcon.tsx","../src/components/RouterWifiIcon/RouterWifiIcon.tsx","../src/components/ServerRackIcon/ServerRackIcon.tsx","../src/components/HardDriveExternalIcon/HardDriveExternalIcon.tsx","../src/components/WebcamIcon/WebcamIcon.tsx","../src/components/ChiselIcon/ChiselIcon.tsx","../src/components/CrowbarIcon/CrowbarIcon.tsx","../src/components/FunnelIcon/FunnelIcon.tsx","../src/components/OilCanIcon/OilCanIcon.tsx","../src/components/BearingIcon/BearingIcon.tsx","../src/components/PulleyIcon/PulleyIcon.tsx","../src/components/SprocketIcon/SprocketIcon.tsx","../src/components/ProjectorIcon/ProjectorIcon.tsx","../src/components/GameConsoleIcon/GameConsoleIcon.tsx","../src/components/VRHeadsetIcon/VRHeadsetIcon.tsx","../src/components/SmartSpeakerIcon/SmartSpeakerIcon.tsx","../src/components/PowerBankIcon/PowerBankIcon.tsx","../src/components/UsbDriveIcon/UsbDriveIcon.tsx","../src/components/MotherboardIcon/MotherboardIcon.tsx","../src/components/RamStickIcon/RamStickIcon.tsx","../src/components/CrankIcon/CrankIcon.tsx","../src/components/CamshaftIcon/CamshaftIcon.tsx","../src/components/DriveShaftIcon/DriveShaftIcon.tsx","../src/components/ValveIcon/ValveIcon.tsx","../src/components/PropellerIcon/PropellerIcon.tsx","../src/components/HelicopterRotorIcon/HelicopterRotorIcon.tsx","../src/components/HydraulicJackIcon/HydraulicJackIcon.tsx","../src/components/GpuIcon/GpuIcon.tsx","../src/components/PowerSupplyIcon/PowerSupplyIcon.tsx","../src/components/NetworkSwitchIcon/NetworkSwitchIcon.tsx","../src/components/SmartPlugIcon/SmartPlugIcon.tsx","../src/components/SmartBulbIcon/SmartBulbIcon.tsx","../src/components/SecurityCameraIcon/SecurityCameraIcon.tsx","../src/components/SmartLockIcon/SmartLockIcon.tsx","../src/components/ThermostatIcon/ThermostatIcon.tsx","../src/components/GClampIcon/GClampIcon.tsx","../src/components/ViceIcon/ViceIcon.tsx","../src/components/GreaseGunIcon/GreaseGunIcon.tsx","../src/components/GearboxIcon/GearboxIcon.tsx","../src/components/DifferentialIcon/DifferentialIcon.tsx","../src/components/SuspensionIcon/SuspensionIcon.tsx","../src/components/WindlassIcon/WindlassIcon.tsx","../src/components/EarbudsIcon/EarbudsIcon.tsx","../src/components/SmartRingIcon/SmartRingIcon.tsx","../src/components/DrawingTabletIcon/DrawingTabletIcon.tsx","../src/components/BarcodeScannerIcon/BarcodeScannerIcon.tsx","../src/components/POSRegisterIcon/POSRegisterIcon.tsx","../src/components/CalculatorIcon/CalculatorIcon.tsx","../src/components/RemoteControlIcon/RemoteControlIcon.tsx","../src/components/SoundbarIcon/SoundbarIcon.tsx","../src/components/JackhammerIcon/JackhammerIcon.tsx","../src/components/SolderingIronIcon/SolderingIronIcon.tsx","../src/components/BlowtorchIcon/BlowtorchIcon.tsx","../src/components/WheelbarrowIcon/WheelbarrowIcon.tsx","../src/components/PlumbBobIcon/PlumbBobIcon.tsx","../src/components/ShearsIcon/ShearsIcon.tsx","../src/components/WireStripperIcon/WireStripperIcon.tsx","../src/components/PipeWrenchIcon/PipeWrenchIcon.tsx","../src/components/FloppyDiskIcon/FloppyDiskIcon.tsx","../src/components/TapeCassetteIcon/TapeCassetteIcon.tsx","../src/components/CompactDiscIcon/CompactDiscIcon.tsx","../src/components/TvIcon/TvIcon.tsx","../src/components/RadioIcon/RadioIcon.tsx","../src/components/WalkieTalkieIcon/WalkieTalkieIcon.tsx","../src/components/HeadsetIcon/HeadsetIcon.tsx","../src/components/FishIcon/FishIcon.tsx","../src/components/ButterflyIcon/ButterflyIcon.tsx","../src/components/BirdIcon/BirdIcon.tsx","../src/components/CatIcon/CatIcon.tsx","../src/components/DogIcon/DogIcon.tsx","../src/components/RabbitIcon/RabbitIcon.tsx","../src/components/ElephantIcon/ElephantIcon.tsx","../src/components/OwlIcon/OwlIcon.tsx","../src/components/TurtleIcon/TurtleIcon.tsx","../src/components/DolphinIcon/DolphinIcon.tsx","../src/components/RoseIcon/RoseIcon.tsx","../src/components/SunflowerIcon/SunflowerIcon.tsx","../src/components/TulipIcon/TulipIcon.tsx","../src/components/LotusIcon/LotusIcon.tsx","../src/components/DaisyIcon/DaisyIcon.tsx","../src/components/HibiscusIcon/HibiscusIcon.tsx","../src/components/OrchidIcon/OrchidIcon.tsx","../src/components/LilyIcon/LilyIcon.tsx","../src/components/CactusIcon/CactusIcon.tsx","../src/components/LavenderIcon/LavenderIcon.tsx","../src/components/LetterIcon/LetterIcon.tsx","../src/components/LetterIcon/letters.tsx"],"sourcesContent":["import { useRef, useState, useEffect } from \"react\";\nimport { Canvas, useFrame } from \"@react-three/fiber\";\nimport { OrbitControls, Float, Environment } from \"@react-three/drei\";\nimport * as THREE from \"three\";\nimport { IconProps, MaterialConfig, IconPreset, IconAngle } from \"../types\";\nimport { isWebGLAvailable } from \"../utils/webgl\";\nimport { Fallback2D } from \"./Fallback2D\";\n\n// Helper to resolve material configurations from presets\nexport function getMaterialConfig(\n preset: IconPreset = \"glass\",\n baseColor?: string,\n theme: \"light\" | \"dark\" = \"dark\",\n accentColor?: string\n): MaterialConfig {\n const defaultColors: Record<IconPreset, string> = {\n glass: \"#6366f1\",\n metal: \"#cbd5e1\", // Silver\n clay: \"#f43f5e\", // Rose\n hologram: \"#a855f7\", // Violet\n gold: \"#d4af37\", // Gold\n silver: \"#e2e8f0\", // Silver\n glassmorphism: theme === \"dark\" ? \"#ffffff\" : \"#64748b\", // Frosted Glass\n carbon: \"#27272a\", // Carbon slate\n wood: \"#d97706\" // Wood\n };\n\n const color = baseColor || defaultColors[preset];\n const accent = accentColor || \"#ec4899\"; // Default pink glow\n\n switch (preset) {\n case \"glassmorphism\":\n return {\n roughness: 0.05,\n metalness: 0.05,\n transmission: 0.96,\n thickness: 1.5,\n clearcoat: 1.0,\n clearcoatRoughness: 0.05,\n ior: 1.5,\n color,\n emissive: theme === \"dark\" ? \"#18181b\" : \"#e4e4e7\",\n emissiveIntensity: 0.2\n };\n case \"carbon\":\n return {\n roughness: 0.45,\n metalness: 0.1,\n transmission: 0,\n thickness: 0,\n clearcoat: 0.6,\n clearcoatRoughness: 0.15,\n ior: 1.55,\n color,\n emissive: \"#000000\",\n emissiveIntensity: 0\n };\n case \"wood\":\n return {\n roughness: 0.85,\n metalness: 0,\n transmission: 0,\n thickness: 0,\n clearcoat: 0.0,\n clearcoatRoughness: 0,\n ior: 1.3,\n color,\n emissive: \"#000000\",\n emissiveIntensity: 0\n };\n case \"gold\":\n return {\n roughness: 0.12,\n metalness: 0.98,\n transmission: 0,\n thickness: 0,\n clearcoat: 1.0,\n clearcoatRoughness: 0.05,\n ior: 1.6,\n color,\n emissive: theme === \"dark\" ? \"#221100\" : \"#000000\",\n emissiveIntensity: theme === \"dark\" ? 0.25 : 0\n };\n case \"silver\":\n return {\n roughness: 0.12,\n metalness: 0.98,\n transmission: 0,\n thickness: 0,\n clearcoat: 1.0,\n clearcoatRoughness: 0.05,\n ior: 1.5,\n color,\n emissive: theme === \"dark\" ? \"#111111\" : \"#000000\",\n emissiveIntensity: theme === \"dark\" ? 0.2 : 0\n };\n case \"metal\":\n return {\n roughness: 0.15,\n metalness: 0.95,\n transmission: 0,\n thickness: 0,\n clearcoat: 0.8,\n clearcoatRoughness: 0.1,\n ior: 1.5,\n color,\n emissive: \"#000000\",\n emissiveIntensity: 0\n };\n case \"clay\":\n return {\n roughness: 0.9,\n metalness: 0.05,\n transmission: 0,\n thickness: 0,\n clearcoat: 0,\n clearcoatRoughness: 0,\n ior: 1.3,\n color,\n emissive: \"#000000\",\n emissiveIntensity: 0\n };\n case \"hologram\":\n return {\n roughness: 0.25,\n metalness: 0.3,\n transmission: 0.4,\n thickness: 0.6,\n clearcoat: 1.0,\n clearcoatRoughness: 0.15,\n ior: 1.45,\n color,\n emissive: accent,\n emissiveIntensity: theme === \"dark\" ? 0.75 : 0.4\n };\n case \"glass\":\n default:\n return {\n roughness: 0.1,\n metalness: 0.1,\n transmission: 0.9,\n thickness: 1.2,\n clearcoat: 1.0,\n clearcoatRoughness: 0.05,\n ior: 1.5,\n color,\n emissive: theme === \"dark\" ? color : \"#000000\",\n emissiveIntensity: theme === \"dark\" ? 0.3 : 0\n };\n }\n}\n\n// Lighting component that responds to light/dark themes\nconst StudioLights: React.FC<{ theme: \"light\" | \"dark\" }> = ({ theme }) => {\n const isDark = theme === \"dark\";\n\n return (\n <>\n <ambientLight\n intensity={isDark ? 0.4 : 0.7}\n color={isDark ? \"#3f3f46\" : \"#ffffff\"}\n />\n\n <directionalLight\n position={[5, 10, 5]}\n intensity={isDark ? 1.5 : 1.2}\n color={isDark ? \"#ffffff\" : \"#fbfbfb\"}\n castShadow\n shadow-mapSize={[1024, 1024]}\n />\n\n <pointLight\n position={[-5, 5, -5]}\n intensity={isDark ? 0.8 : 0.4}\n color={isDark ? \"#818cf8\" : \"#d1d5db\"}\n />\n\n <spotLight\n position={[0, 15, 2]}\n angle={0.3}\n penumbra={1}\n intensity={isDark ? 1.0 : 0.6}\n color={isDark ? \"#c084fc\" : \"#fff\"}\n />\n </>\n );\n};\n\n// Internal staging mesh handling animations and hovers\nconst IconScene: React.FC<{\n children: (mat: MaterialConfig) => React.ReactNode;\n preset: IconPreset;\n angle: IconAngle;\n color?: string;\n accentColor?: string;\n spinSpeed: number;\n floatHeight: number;\n theme: \"light\" | \"dark\";\n interactive: boolean;\n customMaterial?: Partial<MaterialConfig>;\n}> = ({\n children,\n preset,\n angle,\n color,\n accentColor,\n spinSpeed,\n floatHeight,\n theme,\n interactive,\n customMaterial\n}) => {\n const groupRef = useRef<THREE.Group>(null);\n const meshRef = useRef<THREE.Group>(null);\n const [hovered, setHovered] = useState(false);\n\n // Compute material configs\n const matConfig = getMaterialConfig(preset, color, theme, accentColor);\n const mergedMatConfig = { ...matConfig, ...customMaterial };\n\n useFrame((state) => {\n if (!groupRef.current) return;\n\n const t = state.clock.getElapsedTime();\n\n // Constant rotation\n groupRef.current.rotation.y = t * 0.3 * spinSpeed;\n\n // Hover scale interpolation (smooth lerping)\n const targetScale = hovered && interactive ? 1.15 : 1.0;\n groupRef.current.scale.lerp(new THREE.Vector3(targetScale, targetScale, targetScale), 0.15);\n\n // Mouse tracking tilt effect (3D parallax)\n if (meshRef.current) {\n if (hovered && interactive) {\n const targetX = (-state.pointer.y * Math.PI) / 8; // Pitch\n const targetY = (state.pointer.x * Math.PI) / 8; // Yaw\n meshRef.current.rotation.x = THREE.MathUtils.lerp(meshRef.current.rotation.x, targetX, 0.1);\n meshRef.current.rotation.y = THREE.MathUtils.lerp(meshRef.current.rotation.y, targetY, 0.1);\n } else {\n meshRef.current.rotation.x = THREE.MathUtils.lerp(meshRef.current.rotation.x, 0, 0.1);\n meshRef.current.rotation.y = THREE.MathUtils.lerp(meshRef.current.rotation.y, 0, 0.1);\n }\n }\n });\n\n const angleRotations: Record<IconAngle, [number, number, number]> = {\n front: [0, 0, 0],\n perspective: [0.25, -0.35, 0],\n tilted: [0.25, -0.25, 0.25]\n };\n\n return (\n <group\n ref={groupRef}\n onPointerOver={() => interactive && setHovered(true)}\n onPointerOut={() => interactive && setHovered(false)}\n >\n <group ref={meshRef}>\n <group rotation={angleRotations[angle]}>\n <Float\n speed={1.5 * spinSpeed}\n rotationIntensity={0.2}\n floatIntensity={1.0 * floatHeight}\n >\n {children(mergedMatConfig)}\n </Float>\n </group>\n </group>\n </group>\n );\n };\n\nexport function SharedWrapper({\n preset = \"glass\",\n angle = \"perspective\",\n variant = \"3d\",\n color,\n accentColor,\n spinSpeed = 1.0,\n floatHeight = 1.0,\n theme = \"dark\",\n interactive = true,\n size,\n fallback2d,\n iconId,\n canvas = true,\n customMaterial,\n children,\n ...props\n}: IconProps & {\n fallback2d?: React.ReactNode;\n iconId?: string;\n customMaterial?: Partial<MaterialConfig>;\n children: (mat: MaterialConfig) => React.ReactNode;\n}) {\n const sizeStyle = size !== undefined\n ? { width: typeof size === \"number\" ? `${size}px` : size, height: typeof size === \"number\" ? `${size}px` : size }\n : { width: \"100%\", height: \"100%\" };\n\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const use2d = variant === \"2d\" || !isWebGLAvailable() || !mounted;\n\n if (use2d) {\n return (\n <div\n style={{\n ...sizeStyle,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"relative\"\n }}\n {...props}\n >\n <div style={{ width: \"85%\", height: \"85%\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n {fallback2d || (iconId ? (\n <Fallback2D id={iconId} color={color} theme={theme} preset={preset} />\n ) : (\n <div style={{ color: color || \"#6366f1\", fontStyle: \"italic\", fontSize: \"11px\" }}>3D Icon</div>\n ))}\n </div>\n </div>\n );\n }\n\n if (!canvas) {\n return (\n <IconScene\n preset={preset}\n angle={angle}\n color={color}\n accentColor={accentColor}\n spinSpeed={spinSpeed}\n floatHeight={floatHeight}\n theme={theme}\n interactive={interactive}\n customMaterial={customMaterial}\n >\n {children}\n </IconScene>\n );\n }\n\n return (\n <div style={{ ...sizeStyle, position: \"relative\" }} {...props}>\n <Canvas\n camera={{ position: [0, 0, interactive ? 4.5 : 3.0], fov: 45 }}\n gl={{ antialias: true, alpha: true, preserveDrawingBuffer: true }}\n shadows\n >\n <StudioLights theme={theme} />\n <Environment preset=\"city\" />\n\n <IconScene\n preset={preset}\n angle={angle}\n color={color}\n accentColor={accentColor}\n spinSpeed={spinSpeed}\n floatHeight={floatHeight}\n theme={theme}\n interactive={interactive}\n customMaterial={customMaterial}\n >\n {children}\n </IconScene>\n\n <OrbitControls\n enableZoom={false}\n enablePan={false}\n makeDefault\n />\n </Canvas>\n </div>\n );\n}\n","let _isWebGLAvailable: boolean | null = null;\n\nexport function isWebGLAvailable(): boolean {\n if (_isWebGLAvailable !== null) return _isWebGLAvailable;\n \n if (typeof window === \"undefined\") {\n return false;\n }\n \n try {\n const canvas = document.createElement(\"canvas\");\n _isWebGLAvailable = !!(\n window.WebGLRenderingContext &&\n (canvas.getContext(\"webgl\") || canvas.getContext(\"experimental-webgl\"))\n );\n } catch (e) {\n _isWebGLAvailable = false;\n }\n \n return _isWebGLAvailable;\n}\n","import React from \"react\";\nimport { IconPreset } from \"../types\";\n\ninterface Fallback2DProps {\n id: string;\n color?: string;\n theme?: \"light\" | \"dark\";\n preset?: IconPreset;\n}\n\n// Adjust hex color brightness/tint dynamically\nconst adjustColor = (colorStr: string, percent: number) => {\n try {\n let hex = colorStr.trim();\n if (!hex.startsWith(\"#\")) return hex;\n if (hex.length === 4) {\n hex = \"#\" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];\n }\n if (hex.length !== 7) return hex;\n\n let R = parseInt(hex.substring(1, 3), 16);\n let G = parseInt(hex.substring(3, 5), 16);\n let B = parseInt(hex.substring(5, 7), 16);\n\n R = Math.min(255, Math.max(0, Math.round(R * (1 + percent))));\n G = Math.min(255, Math.max(0, Math.round(G * (1 + percent))));\n B = Math.min(255, Math.max(0, Math.round(B * (1 + percent))));\n\n const rHex = R.toString(16).padStart(2, \"0\");\n const gHex = G.toString(16).padStart(2, \"0\");\n const bHex = B.toString(16).padStart(2, \"0\");\n\n return `#${rHex}${gHex}${bHex}`;\n } catch (e) {\n return colorStr;\n }\n};\n\nconst getPremiumGradientColors = (\n preset: IconPreset = \"glass\",\n baseColor: string = \"#6366f1\",\n theme: \"light\" | \"dark\" = \"dark\"\n) => {\n const isDark = theme === \"dark\";\n const mainColor = baseColor || \"#6366f1\";\n\n switch (preset) {\n case \"glassmorphism\":\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: isDark ? \"#ffffff\" : \"#64748b\", opacity: 0.1 },\n { offset: \"100%\", color: isDark ? \"#cccccc\" : \"#475569\", opacity: 0.3 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: isDark ? \"#ffffff\" : \"#e2e8f0\", opacity: 0.95 },\n { offset: \"100%\", color: isDark ? \"#a1a1aa\" : \"#94a3b8\", opacity: 0.65 }\n ]\n },\n shadowColor: isDark ? \"rgba(0, 0, 0, 0.45)\" : \"rgba(0, 0, 0, 0.18)\",\n shadowRadius: 5,\n glowColor: isDark ? \"rgba(255, 255, 255, 0.12)\" : \"rgba(100, 116, 139, 0.06)\",\n plateBg: isDark ? \"rgba(255, 255, 255, 0.04)\" : \"rgba(255, 255, 255, 0.55)\",\n plateBorder: isDark ? \"rgba(255, 255, 255, 0.12)\" : \"rgba(100, 116, 139, 0.15)\",\n strokeWidth: 2.2\n };\n case \"gold\":\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: \"#ffe066\", opacity: 0.35 },\n { offset: \"50%\", color: \"#f59e0b\", opacity: 0.6 },\n { offset: \"100%\", color: \"#d97706\", opacity: 0.7 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: \"#fffbeb\", opacity: 1 },\n { offset: \"35%\", color: \"#fbbf24\", opacity: 1 },\n { offset: \"70%\", color: \"#d97706\", opacity: 1 },\n { offset: \"100%\", color: \"#78350f\", opacity: 1 }\n ]\n },\n shadowColor: \"rgba(120, 53, 15, 0.45)\",\n shadowRadius: 6,\n glowColor: \"rgba(245, 158, 11, 0.2)\",\n plateBg: isDark ? \"rgba(217, 119, 6, 0.04)\" : \"rgba(217, 119, 6, 0.03)\",\n plateBorder: \"rgba(217, 119, 6, 0.15)\",\n strokeWidth: 2.5\n };\n case \"silver\":\n case \"metal\":\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: \"#ffffff\", opacity: 0.3 },\n { offset: \"50%\", color: \"#e2e8f0\", opacity: 0.55 },\n { offset: \"100%\", color: \"#cbd5e1\", opacity: 0.65 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: \"#ffffff\", opacity: 1 },\n { offset: \"40%\", color: \"#e2e8f0\", opacity: 1 },\n { offset: \"80%\", color: \"#94a3b8\", opacity: 1 },\n { offset: \"100%\", color: \"#475569\", opacity: 1 }\n ]\n },\n shadowColor: \"rgba(71, 85, 105, 0.35)\",\n shadowRadius: 5,\n glowColor: \"rgba(203, 213, 225, 0.15)\",\n plateBg: isDark ? \"rgba(203, 213, 225, 0.04)\" : \"rgba(71, 85, 105, 0.03)\",\n plateBorder: \"rgba(203, 213, 225, 0.15)\",\n strokeWidth: 2.2\n };\n case \"clay\":\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: adjustColor(mainColor, 0.5), opacity: 0.75 },\n { offset: \"100%\", color: adjustColor(mainColor, -0.1), opacity: 0.95 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: adjustColor(mainColor, 0.6), opacity: 1 },\n { offset: \"100%\", color: adjustColor(mainColor, -0.3), opacity: 1 }\n ]\n },\n shadowColor: \"rgba(0, 0, 0, 0.3)\",\n shadowRadius: 6,\n glowColor: `rgba(${parseInt(mainColor.substring(1,3),16)||100}, ${parseInt(mainColor.substring(3,5),16)||100}, ${parseInt(mainColor.substring(5,7),16)||250}, 0.12)`,\n plateBg: isDark ? \"rgba(255, 255, 255, 0.03)\" : \"rgba(0, 0, 0, 0.01)\",\n plateBorder: isDark ? \"rgba(255, 255, 255, 0.08)\" : \"rgba(0, 0, 0, 0.06)\",\n strokeWidth: 2.5\n };\n case \"hologram\":\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: \"#06b6d4\", opacity: 0.35 },\n { offset: \"50%\", color: \"#a855f7\", opacity: 0.55 },\n { offset: \"100%\", color: \"#ec4899\", opacity: 0.65 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: \"#22d3ee\", opacity: 1 },\n { offset: \"50%\", color: \"#c084fc\", opacity: 1 },\n { offset: \"100%\", color: \"#f472b6\", opacity: 1 }\n ]\n },\n shadowColor: \"rgba(168, 85, 247, 0.45)\",\n shadowRadius: 6,\n glowColor: \"rgba(168, 85, 247, 0.3)\",\n plateBg: isDark ? \"rgba(168, 85, 247, 0.04)\" : \"rgba(168, 85, 247, 0.03)\",\n plateBorder: \"rgba(168, 85, 247, 0.18)\",\n strokeWidth: 2.4\n };\n case \"carbon\":\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: \"#3f3f46\", opacity: 0.8 },\n { offset: \"50%\", color: \"#27272a\", opacity: 0.9 },\n { offset: \"100%\", color: \"#09090b\", opacity: 0.98 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: \"#71717a\", opacity: 1 },\n { offset: \"50%\", color: \"#3f3f46\", opacity: 1 },\n { offset: \"100%\", color: \"#18181b\", opacity: 1 }\n ]\n },\n shadowColor: \"rgba(0, 0, 0, 0.65)\",\n shadowRadius: 6,\n glowColor: \"rgba(0, 0, 0, 0.35)\",\n plateBg: isDark ? \"rgba(39, 39, 42, 0.06)\" : \"rgba(0, 0, 0, 0.04)\",\n plateBorder: \"rgba(63, 63, 70, 0.18)\",\n strokeWidth: 2.2\n };\n case \"wood\":\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: \"#fbbf24\", opacity: 0.65 },\n { offset: \"50%\", color: \"#b45309\", opacity: 0.8 },\n { offset: \"100%\", color: \"#78350f\", opacity: 0.95 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: \"#fbbf24\", opacity: 1 },\n { offset: \"100%\", color: \"#451a03\", opacity: 1 }\n ]\n },\n shadowColor: \"rgba(69, 26, 3, 0.55)\",\n shadowRadius: 5,\n glowColor: \"rgba(180, 83, 9, 0.15)\",\n plateBg: isDark ? \"rgba(180, 83, 9, 0.04)\" : \"rgba(180, 83, 9, 0.02)\",\n plateBorder: \"rgba(180, 83, 9, 0.15)\",\n strokeWidth: 2.3\n };\n case \"glass\":\n default:\n return {\n fillGradient: {\n stops: [\n { offset: \"0%\", color: adjustColor(mainColor, 0.4), opacity: 0.25 },\n { offset: \"100%\", color: adjustColor(mainColor, -0.2), opacity: 0.55 }\n ]\n },\n strokeGradient: {\n stops: [\n { offset: \"0%\", color: adjustColor(mainColor, 0.5), opacity: 1 },\n { offset: \"100%\", color: adjustColor(mainColor, -0.3), opacity: 0.85 }\n ]\n },\n shadowColor: `rgba(${parseInt(mainColor.substring(1, 3), 16) || 99}, ${parseInt(mainColor.substring(3, 5), 16) || 102}, ${parseInt(mainColor.substring(5, 7), 16) || 241}, 0.35)`,\n shadowRadius: 5,\n glowColor: `rgba(${parseInt(mainColor.substring(1, 3), 16) || 99}, ${parseInt(mainColor.substring(3, 5), 16) || 102}, ${parseInt(mainColor.substring(5, 7), 16) || 241}, 0.2)`,\n plateBg: isDark ? \"rgba(99, 102, 241, 0.04)\" : \"rgba(99, 102, 241, 0.02)\",\n plateBorder: \"rgba(99, 102, 241, 0.15)\",\n strokeWidth: 2.2\n };\n }\n};\n\nconst makeEnhanceElement = (\n strokeGradientId: string,\n fillGradientId: string,\n shadowFilterId: string,\n baseStrokeColor: string,\n strokeWidth: number\n) => {\n const enhance = (node: React.ReactNode): React.ReactNode => {\n if (!React.isValidElement(node)) return node;\n\n const props = node.props;\n const newProps: any = { ...props };\n\n const isShape = typeof node.type === \"string\" && [\"path\", \"circle\", \"rect\", \"line\", \"polygon\", \"polyline\", \"ellipse\"].includes(node.type);\n\n if (isShape) {\n if (!props.fill || props.fill === \"none\") {\n newProps.fill = `url(#${fillGradientId})`;\n } else if (props.fill === baseStrokeColor) {\n newProps.fill = `url(#${strokeGradientId})`;\n }\n\n if (!props.stroke || props.stroke === \"none\" || props.stroke === baseStrokeColor) {\n newProps.stroke = `url(#${strokeGradientId})`;\n }\n\n if (node.type !== \"line\") {\n newProps.filter = `url(#${shadowFilterId})`;\n }\n newProps.strokeLinecap = \"round\";\n newProps.strokeLinejoin = \"round\";\n newProps.strokeWidth = props.strokeWidth ? parseFloat(props.strokeWidth) * 1.1 : strokeWidth;\n }\n\n if (props.children) {\n newProps.children = React.Children.map(props.children, enhance);\n }\n\n return React.cloneElement(node, newProps);\n };\n\n return enhance;\n};\n\nconst getRawSVG = (id: string, strokeColor: string, isDark: boolean): React.ReactElement | null => {\n // Letter icons: render bold SVG text for any \"letter-*\" id\n if (id.startsWith(\"letter-\")) {\n const letter = id.replace(\"letter-\", \"\").toUpperCase();\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" className=\"w-full h-full\">\n <text\n x=\"12\"\n y=\"18\"\n textAnchor=\"middle\"\n fontSize=\"18\"\n fontWeight=\"bold\"\n fill={strokeColor}\n fontFamily=\"Arial, Helvetica, sans-serif\"\n letterSpacing=\"-0.5\"\n >\n {letter}\n </text>\n </svg>\n );\n }\n\n // Render premium handcrafted SVG layouts for all icons\n switch (id) {\n case \"database\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\" />\n <path d=\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\" />\n <path d=\"M3 12c0 1.66 4 3 9 3s9-1.34 9-3\" />\n </svg>\n );\n case \"plus\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" />\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n </svg>\n );\n case \"minus\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n </svg>\n );\n case \"close\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n );\n case \"info\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\" />\n </svg>\n );\n case \"alertcircle\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\" />\n </svg>\n );\n case \"anchor\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"5\" r=\"3\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"22\" />\n <line x1=\"9\" y1=\"11\" x2=\"15\" y2=\"11\" />\n <path d=\"M5 12H2a10 10 0 0 0 20 0h-3\" />\n </svg>\n );\n case \"diamond\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M6 3h12l4 6-10 12L2 9z\" />\n <path d=\"M11 3 8 9l4 12 4-12-3-6\" />\n <path d=\"M2 9h20\" />\n </svg>\n );\n case \"filter\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\" />\n </svg>\n );\n case \"pipeline\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"9\" width=\"5\" height=\"6\" rx=\"1\" />\n <rect x=\"17\" y=\"9\" width=\"5\" height=\"6\" rx=\"1\" />\n <rect x=\"9.5\" y=\"9\" width=\"5\" height=\"6\" rx=\"1\" />\n <path d=\"M7 12h2.5M14.5 12H17\" />\n </svg>\n );\n case \"refresh\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3l1.2 2.8M22 12.5a10 10 0 0 1-18.8 4.2l-1.2-2.8\" />\n </svg>\n );\n case \"webhook\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"18\" cy=\"18\" r=\"3\" />\n <circle cx=\"6\" cy=\"6\" r=\"3\" />\n <path d=\"M13 6h3a2 2 0 0 1 2 2v7\" />\n <path d=\"M11 18H8a2 2 0 0 1-2-2V9\" />\n </svg>\n );\n case \"cloud\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M17.5 19A3.5 3.5 0 0 0 21 15.5c0-2.79-2.54-4.5-5-4.5-.48-1.95-1.99-3.5-4-3.5a5 5 0 0 0-5 5c-1.37 0-3 1.15-3 3a3.5 3.5 0 0 0 3.5 3.5h10z\" />\n </svg>\n );\n case \"cpu\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" />\n <rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" rx=\"1\" />\n <path d=\"M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 15h3M1 9h3M1 15h3\" />\n </svg>\n );\n case \"network\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"16\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\" />\n <rect x=\"2\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\" />\n <rect x=\"9\" y=\"2\" width=\"6\" height=\"6\" rx=\"1\" />\n <path d=\"M12 8v8M12 12H5v4M12 12h7v4\" />\n </svg>\n );\n case \"gear\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\" />\n </svg>\n );\n case \"facebook\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\" />\n </svg>\n );\n case \"rocket\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M4.5 16.5c-1.5 1.25-2.5 3.5-2.5 3.5s2.25-1 3.5-2.5M12 2C7.5 2 4.5 5 4.5 9.5c0 1.5.5 3.5 1.5 5l4.5-4.5 2 2-4.5 4.5c1.5 1 3.5 1.5 5 1.5 4.5 0 7.5-3 7.5-7.5C22 4.5 19.5 2 12 2z\" />\n <path d=\"M9 15l-5 5M15 9l.01-.01\" />\n </svg>\n );\n case \"flash\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\" />\n </svg>\n );\n case \"shield\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />\n </svg>\n );\n case \"folder\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\" />\n </svg>\n );\n case \"mail\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\" />\n <polyline points=\"22,6 12,13 2,6\" />\n </svg>\n );\n case \"wallet\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M20 12V8H6a2 2 0 0 1-2-2c0-1.1.9-2 2-2h12v4\" />\n <path d=\"M4 6v12c0 1.1.9 2 2 2h14v-4\" />\n <path d=\"M18 12a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4v-6H18z\" />\n </svg>\n );\n case \"calendar\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" />\n <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\" />\n <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\" />\n <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\" />\n </svg>\n );\n case \"dollar\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\" />\n <path d=\"M17 9H12.5a1.5 1.5 0 0 0 0 3h3a1.5 1.5 0 0 1 0 3H10\" />\n </svg>\n );\n case \"thumbup\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\" />\n </svg>\n );\n case \"heart\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\" />\n </svg>\n );\n case \"chat\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" />\n </svg>\n );\n case \"key\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3M15.5 7.5L19 4\" />\n </svg>\n );\n case \"star\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\" />\n </svg>\n );\n case \"cart\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"9\" cy=\"21\" r=\"1\" />\n <circle cx=\"20\" cy=\"21\" r=\"1\" />\n <path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\" />\n </svg>\n );\n case \"music\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M9 18V5l12-2v13\" />\n <circle cx=\"6\" cy=\"18\" r=\"3\" />\n <circle cx=\"18\" cy=\"16\" r=\"3\" />\n </svg>\n );\n case \"gamepad\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"6\" width=\"20\" height=\"12\" rx=\"3\" />\n <line x1=\"6\" y1=\"12\" x2=\"10\" y2=\"12\" />\n <line x1=\"8\" y1=\"10\" x2=\"8\" y2=\"14\" />\n <circle cx=\"15\" cy=\"12\" r=\"1\" />\n <circle cx=\"18\" cy=\"12\" r=\"1\" />\n </svg>\n );\n case \"bell\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0\" />\n </svg>\n );\n case \"sun\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\" />\n <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\" />\n <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\" />\n <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\" />\n <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\" />\n <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\" />\n <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\" />\n <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\" />\n </svg>\n );\n case \"bulb\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .5 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5\" />\n <line x1=\"9\" y1=\"18\" x2=\"15\" y2=\"18\" />\n <line x1=\"10\" y1=\"22\" x2=\"14\" y2=\"22\" />\n </svg>\n );\n case \"camera\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\" />\n <circle cx=\"12\" cy=\"13\" r=\"4\" />\n </svg>\n );\n case \"clock\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </svg>\n );\n case \"trophy\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M6 9H4.5a2.5 2.5 0 0 1 0-5H6M18 9h1.5a2.5 2.5 0 0 0 0-5H18\" />\n <path d=\"M4 22h16M10 14.66V17c0 .55-.45 1-1 1H4v2h16v-2h-5c-.55 0-1-.45-1-1v-2.34\" />\n <path d=\"M12 2a6 6 0 0 1 6 6c0 3.5-2.5 6-6 6s-6-2.5-6-6a6 6 0 0 1 6-6z\" />\n </svg>\n );\n case \"lock\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n );\n case \"mappin\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n );\n case \"creditcard\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\" />\n <line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\" />\n </svg>\n );\n case \"wifi\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M5 12.55a11 11 0 0 1 14.08 0M1.42 9a16 16 0 0 1 21.16 0M8.53 16.11a6 6 0 0 1 6.95 0M12 20h.01\" />\n </svg>\n );\n case \"search\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n );\n case \"home\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\" />\n <polyline points=\"9 22 9 12 15 12 15 22\" />\n </svg>\n );\n case \"trash\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M10 11v6M14 11v6\" />\n </svg>\n );\n case \"user\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n );\n case \"play\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"5 3 19 12 5 21 5 3\" />\n </svg>\n );\n case \"gift\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"20 12 20 22 4 22 4 12\" />\n <rect x=\"2\" y=\"7\" width=\"20\" height=\"5\" />\n <line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"7\" />\n <path d=\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\" />\n </svg>\n );\n case \"globe\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\" />\n </svg>\n );\n case \"bag\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4zM3 6h18M16 10a4 4 0 0 1-8 0\" />\n </svg>\n );\n case \"compass\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polygon points=\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\" />\n </svg>\n );\n case \"send\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\" />\n <polygon points=\"22 2 15 22 11 13 2 9 22 2\" />\n </svg>\n );\n case \"target\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <circle cx=\"12\" cy=\"12\" r=\"6\" />\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n </svg>\n );\n case \"edit\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.5 2.5a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4 9.5-9.5z\" />\n </svg>\n );\n case \"phone\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\" />\n </svg>\n );\n case \"book\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2zM22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\" />\n </svg>\n );\n case \"link\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\" />\n <path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\" />\n </svg>\n );\n case \"crown\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M2 4l3 12h14l3-12-6 7-4-7-4 7-6-7z\" />\n <path d=\"M3 20h18M21 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM14 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\" />\n </svg>\n );\n case \"pin\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"22\" />\n <path d=\"M5 17h14v-1.76a2 2 0 0 0-.44-1.24l-2.78-3.5A2 2 0 0 1 15 9.24V5a3 3 0 0 0-6 0v4.24a2 2 0 0 1-.78 1.56l-2.78 3.5a2 2 0 0 0-.44 1.24V17z\" />\n </svg>\n );\n case \"flag\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1zM4 22v-7\" />\n </svg>\n );\n case \"briefcase\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\" />\n <path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\" />\n </svg>\n );\n case \"eye\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n );\n case \"tag\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\" />\n <line x1=\"7\" y1=\"7\" x2=\"7.01\" y2=\"7\" />\n </svg>\n );\n case \"coffee\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M18 8h1a4 4 0 0 1 0 8h-1M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8zM6 1v3M10 1v3M14 1v3\" />\n </svg>\n );\n case \"share\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"18\" cy=\"5\" r=\"3\" />\n <circle cx=\"6\" cy=\"12\" r=\"3\" />\n <circle cx=\"18\" cy=\"19\" r=\"3\" />\n <line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\" />\n <line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\" />\n </svg>\n );\n case \"layers\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"12 2 2 7 12 12 22 7 12 2\" />\n <polyline points=\"2 17 12 22 22 17\" />\n <polyline points=\"2 12 12 17 22 12\" />\n </svg>\n );\n case \"sparkles\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707m0-12.728l.707.707m11.314 11.314l.707.707M12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10z\" />\n </svg>\n );\n case \"megaphone\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M11.67 20.33A9 9 0 0 1 18 14h3v-4h-3a9 9 0 0 1-6.33-6.33M4 14v-4M8 12a4 4 0 0 1-4 4V8a4 4 0 0 1 4 4z\" />\n </svg>\n );\n case \"download\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3\" />\n </svg>\n );\n case \"upload\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12\" />\n </svg>\n );\n case \"monitor\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\" />\n <line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\" />\n <line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\" />\n </svg>\n );\n case \"keyboard\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" ry=\"2\" />\n <line x1=\"6\" y1=\"8\" x2=\"6.01\" y2=\"8\" />\n <line x1=\"10\" y1=\"8\" x2=\"10.01\" y2=\"8\" />\n <line x1=\"14\" y1=\"8\" x2=\"14.01\" y2=\"8\" />\n <line x1=\"18\" y1=\"8\" x2=\"18.01\" y2=\"8\" />\n <line x1=\"6\" y1=\"12\" x2=\"6.01\" y2=\"12\" />\n <line x1=\"10\" y1=\"12\" x2=\"10.01\" y2=\"12\" />\n <line x1=\"14\" y1=\"12\" x2=\"14.01\" y2=\"12\" />\n <line x1=\"18\" y1=\"12\" x2=\"18.01\" y2=\"12\" />\n <line x1=\"7\" y1=\"16\" x2=\"17\" y2=\"16\" />\n </svg>\n );\n case \"mouse\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"7\" />\n <line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"10\" />\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\" />\n </svg>\n );\n case \"harddrive\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <circle cx=\"12\" cy=\"7\" r=\"1.5\" />\n <circle cx=\"6\" cy=\"17\" r=\"1\" />\n <circle cx=\"10\" cy=\"17\" r=\"1\" />\n </svg>\n );\n case \"glassmorphism\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n {/* Frosted card overlaying elements behind it */}\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"4\" strokeDasharray=\"3 3\" opacity=\"0.6\" />\n <circle cx=\"18\" cy=\"18\" r=\"4\" fill={strokeColor} opacity=\"0.2\" />\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\" stroke={strokeColor} strokeWidth=\"2.5\" fill={isDark ? \"#090d16\" : \"#ffffff\"} fillOpacity=\"0.6\" />\n </svg>\n );\n case \"github\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\" />\n <path d=\"M9 18c-4.51 2-5-2-7-2\" />\n </svg>\n );\n case \"twitter\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M4 4l11.733 16h4.267l-11.733 -16z\" />\n <path d=\"M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772\" />\n </svg>\n );\n case \"google\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M20.86 11a10 10 0 1 1-2.03-5.07l-3.54 3.54a5 5 0 1 0-.95 3.03H12v-5h8.86z\" />\n </svg>\n );\n case \"router\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"14\" width=\"20\" height=\"6\" rx=\"1\" />\n <path d=\"M6 14V4M18 14V4M12 14v-5\" />\n <circle cx=\"12\" cy=\"6\" r=\"1\" />\n </svg>\n );\n case \"server\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"2\" y1=\"8\" x2=\"22\" y2=\"8\" />\n <line x1=\"2\" y1=\"16\" x2=\"22\" y2=\"16\" />\n <circle cx=\"6\" cy=\"5\" r=\"1\" />\n <circle cx=\"6\" cy=\"11\" r=\"1\" />\n <circle cx=\"6\" cy=\"17\" r=\"1\" />\n </svg>\n );\n case \"wrench\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 1 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\" />\n </svg>\n );\n case \"bolt\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 2L4 7v10l8 5 8-5V7l-8-5z\" />\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\" />\n <line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\" />\n </svg>\n );\n case \"smile\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 14s1.5 2 4 2 4-2 4-2\" />\n <line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\" />\n <line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\" />\n </svg>\n );\n case \"frown\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M16 16s-1.5-2-4-2-4 2-4 2\" />\n <line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\" />\n <line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\" />\n </svg>\n );\n case \"hearteyes\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 14s1.5 2 4 2 4-2 4-2\" />\n <path d=\"M7 8.5C7 7.5 8 7 8.5 7.5c.5-.5 1.5 0 1.5 1a2 2 0 0 1-1.5 1.5C7 8.5 7 8.5 7 8.5z\" fill={strokeColor} />\n <path d=\"M14 8.5c0-1 1-1.5 1.5-1 .5-.5 1.5 0 1.5 1a2 2 0 0 1-1.5 1.5c-1.5-1.5-1.5-1.5-1.5-1.5z\" fill={strokeColor} />\n </svg>\n );\n case \"hammer\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"m15 5 6 6\" />\n <path d=\"m9 11-6 6v3h3l6-6\" />\n <path d=\"m19 3 3 3-4 4-3-3 4-4z\" />\n <path d=\"m14 8 2.5 2.5\" />\n </svg>\n );\n case \"screwdriver\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M8.5 15.5 3 21h-2v-2l5.5-5.5\" />\n <path d=\"m20.5 7.5-.7-.7a3.535 3.535 0 0 0-5 0l-.7.7a3.535 3.535 0 0 0 0 5l.7.7a3.535 3.535 0 0 0 5 0l.7-.7a3.535 3.535 0 0 0 0-5z\" />\n <path d=\"m13.5 10.5 2 2\" />\n <path d=\"m9 15 2-2\" />\n </svg>\n );\n case \"nut\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 2L4 7v10l8 5 8-5V7l-8-5z\" />\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n </svg>\n );\n case \"printer\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"6 9 6 2 18 2 18 9\" />\n <path d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\" />\n <rect x=\"6\" y=\"14\" width=\"12\" height=\"8\" rx=\"1\" fill={isDark ? \"#090d16\" : \"#ffffff\"} fillOpacity=\"0.6\" />\n </svg>\n );\n case \"speaker\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\" />\n <circle cx=\"12\" cy=\"14\" r=\"4\" />\n <circle cx=\"12\" cy=\"6\" r=\"1.5\" />\n </svg>\n );\n case \"ethernet\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"2\" width=\"12\" height=\"10\" rx=\"1\" />\n <path d=\"M10 12v6a2 2 0 0 0 2 2h0a2 2 0 0 0 2-2v-6\" />\n <path d=\"M12 20v2\" />\n <line x1=\"8\" y1=\"6\" x2=\"8\" y2=\"8\" />\n <line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"8\" />\n <line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"8\" />\n </svg>\n );\n case \"satellite\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M13 7 9 3 5 7l4 4 4-4z\" />\n <path d=\"m17 11 4 4-4 4-4-4 4-4z\" />\n <path d=\"m12 12-4 4\" />\n <path d=\"m16 16-2 2\" />\n <path d=\"M4 20a4 4 0 0 1 4-4\" />\n </svg>\n );\n case \"code\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"16 18 22 12 16 6\" />\n <polyline points=\"8 6 2 12 8 18\" />\n <line x1=\"14\" y1=\"4\" x2=\"10\" y2=\"20\" />\n </svg>\n );\n case \"terminal\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"4 17 10 11 4 5\" />\n <line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\" />\n </svg>\n );\n case \"git\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"18\" cy=\"18\" r=\"3\" />\n <circle cx=\"6\" cy=\"6\" r=\"3\" />\n <circle cx=\"6\" cy=\"18\" r=\"3\" />\n <path d=\"M18 15V9a4 4 0 0 0-4-4H9\" />\n <line x1=\"6\" y1=\"9\" x2=\"6\" y2=\"15\" />\n </svg>\n );\n case \"figma\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z\" />\n <path d=\"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z\" />\n <path d=\"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z\" />\n <path d=\"M12 9h3.5a3.5 3.5 0 1 1-3.5 3.5V9z\" />\n <path d=\"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z\" />\n </svg>\n );\n case \"barchart\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\" />\n <line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\" />\n <line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\" />\n <line x1=\"2\" y1=\"20\" x2=\"22\" y2=\"20\" />\n </svg>\n );\n case \"check\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"7 13 10 16 17 9\" />\n </svg>\n );\n case \"container\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"7\" width=\"20\" height=\"12\" rx=\"2\" />\n <path d=\"M2 10h20M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\" />\n <line x1=\"8\" y1=\"10\" x2=\"8\" y2=\"19\" />\n <line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"19\" />\n <line x1=\"16\" y1=\"10\" x2=\"16\" y2=\"19\" />\n </svg>\n );\n case \"shieldcheck\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />\n <polyline points=\"9 12 11 14 15 10\" />\n </svg>\n );\n case \"react\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" />\n <ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(60 12 12)\" />\n <ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(120 12 12)\" />\n </svg>\n );\n case \"node\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 2l8.66 5v10L12 22l-8.66-5V7L12 2z\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\" />\n <line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\" />\n </svg>\n );\n case \"bug\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect width=\"8\" height=\"14\" x=\"8\" y=\"6\" rx=\"4\" />\n <path d=\"m19 7-3 2\" />\n <path d=\"m5 7 3 2\" />\n <path d=\"m19 19-3-2\" />\n <path d=\"m5 19 3-2\" />\n <path d=\"M20 13h-4\" />\n <path d=\"M4 13h4\" />\n <path d=\"m10 4 1-2\" />\n <path d=\"m14 4-1-2\" />\n </svg>\n );\n case \"flask\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M6 3h12\" />\n <path d=\"M14 9V3\" />\n <path d=\"M10 3v6L4.2 18.6C3.5 20 4.5 22 6.1 22h11.8c1.6 0 2.6-2 1.9-3.4L14 9\" />\n </svg>\n );\n case \"piechart\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21.21 15.89A10 10 0 1 1 8 2.83\" />\n <path d=\"M22 12A10 10 0 0 0 12 2v10z\" />\n </svg>\n );\n case \"flame\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z\" />\n </svg>\n );\n case \"activity\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\" />\n </svg>\n );\n case \"graduationcap\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z\" />\n <path d=\"M6 12v5c0 2 2 3 6 3s6-1 6-3v-5\" />\n <path d=\"M21.5 12v6\" />\n </svg>\n );\n case \"trendingup\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\" />\n <polyline points=\"17 6 23 6 23 12\" />\n </svg>\n );\n case \"instagram\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"5\" ry=\"5\" />\n <path d=\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\" />\n <line x1=\"17.5\" y1=\"6.5\" x2=\"17.51\" y2=\"6.5\" />\n </svg>\n );\n case \"package\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"16.5\" y1=\"9.4\" x2=\"7.5\" y2=\"4.21\" />\n <polygon points=\"12 22.08 12 12 3 6.92 3 17.08 12 22.08\" />\n <polygon points=\"12 22.08 21 17.08 21 6.92 12 12 12 22.08\" />\n <polygon points=\"12 12 21 6.92 12 2 3 6.92 12 12\" />\n <line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"5.4\" x2=\"12\" y2=\"12\" />\n </svg>\n );\n case \"airplane\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21 16V14L13 9V3.5A1.5 1.5 0 0 0 11.5 2A1.5 1.5 0 0 0 10 3.5V9L2 14V16L10 13.5V19L8 20.5V22L11.5 21L15 22V20.5L13 19V13.5L21 16Z\" />\n </svg>\n );\n case \"battery\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"1\" y=\"6\" width=\"18\" height=\"12\" rx=\"2\" ry=\"2\" />\n <line x1=\"23\" y1=\"11\" x2=\"23\" y2=\"13\" />\n </svg>\n );\n case \"video\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M23 7l-7 5 7 5V7z\" />\n <rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\" />\n </svg>\n );\n case \"microphone\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\" />\n <path d=\"M19 10v1a7 7 0 0 1-14 0v-1\" />\n <line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" />\n <line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" />\n </svg>\n );\n case \"sliders\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\" />\n <line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\" />\n <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\" />\n <line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\" />\n <line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\" />\n <line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\" />\n <line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\" />\n <line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\" />\n </svg>\n );\n case \"map\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"3 6 9 3 15 6 21 3 21 18 15 21 9 18 3 21\" />\n <line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"18\" />\n <line x1=\"15\" y1=\"6\" x2=\"15\" y2=\"21\" />\n </svg>\n );\n case \"umbrella\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M23 12a11.02 11.02 0 0 0-22 0zm-11 0v9a2 2 0 0 0 4 0\" />\n </svg>\n );\n case \"scissors\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"6\" cy=\"6\" r=\"3\" />\n <circle cx=\"6\" cy=\"18\" r=\"3\" />\n <line x1=\"9.8\" y1=\"8.2\" x2=\"21\" y2=\"19\" />\n <line x1=\"9.8\" y1=\"15.8\" x2=\"21\" y2=\"5\" />\n </svg>\n );\n case \"unlock\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 9.9-1\" />\n </svg>\n );\n case \"archive\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"21 8 21 21 3 21 3 8\" />\n <rect x=\"1\" y=\"3\" width=\"22\" height=\"5\" />\n <line x1=\"10\" y1=\"12\" x2=\"14\" y2=\"12\" />\n </svg>\n );\n case \"shieldalert\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\" />\n </svg>\n );\n case \"eyeoff\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n );\n case \"userplus\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\" />\n <circle cx=\"8.5\" cy=\"7\" r=\"4\" />\n <line x1=\"20\" y1=\"8\" x2=\"20\" y2=\"14\" />\n <line x1=\"17\" y1=\"11\" x2=\"23\" y2=\"11\" />\n </svg>\n );\n case \"trendingdown\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polyline points=\"23 18 13.5 8.5 8.5 13.5 1 6\" />\n <polyline points=\"17 18 23 18 23 12\" />\n </svg>\n );\n case \"copy\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\" />\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" />\n </svg>\n );\n case \"gauge\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M3 18a9 9 0 1 1 18 0\" />\n <circle cx=\"12\" cy=\"14\" r=\"2\" />\n <line x1=\"12\" y1=\"14\" x2=\"16\" y2=\"9\" />\n </svg>\n );\n case \"magnet\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M5 9v3a7 7 0 0 0 14 0V9\" />\n <path d=\"M9 9v3a3 3 0 0 0 6 0V9\" />\n <line x1=\"5\" y1=\"9\" x2=\"9\" y2=\"9\" />\n <line x1=\"15\" y1=\"9\" x2=\"19\" y2=\"9\" />\n </svg>\n );\n case \"stack\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"12 2 2 7 12 12 22 7 12 2\" />\n <polyline points=\"2 12 12 17 22 12\" />\n <polyline points=\"2 17 12 22 22 17\" />\n </svg>\n );\n case \"workflow\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"9\" y=\"2\" width=\"6\" height=\"5\" rx=\"1\" />\n <rect x=\"3\" y=\"16\" width=\"6\" height=\"5\" rx=\"1\" />\n <rect x=\"15\" y=\"16\" width=\"6\" height=\"5\" rx=\"1\" />\n <path d=\"M12 7v5M12 12H6v4M12 12h6v4\" />\n </svg>\n );\n case \"topology\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <circle cx=\"12\" cy=\"4\" r=\"2\" />\n <circle cx=\"12\" cy=\"20\" r=\"2\" />\n <circle cx=\"4\" cy=\"12\" r=\"2\" />\n <circle cx=\"20\" cy=\"12\" r=\"2\" />\n <line x1=\"12\" y1=\"7\" x2=\"12\" y2=\"9\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"17\" />\n <line x1=\"7\" y1=\"12\" x2=\"9\" y2=\"12\" />\n <line x1=\"15\" y1=\"12\" x2=\"17\" y2=\"12\" />\n </svg>\n );\n case \"file\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" />\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" />\n </svg>\n );\n case \"headphones\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M3 18v-6a9 9 0 0 1 18 0v6\" />\n <path d=\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\" />\n </svg>\n );\n case \"moon\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\" />\n </svg>\n );\n case \"paperclip\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\" />\n </svg>\n );\n case \"bookmark\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\" />\n </svg>\n );\n case \"cloudlightning\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 8.58\" />\n <polyline points=\"13 11 9 17 12 17 11 23 15 17 12 17 13 11\" />\n </svg>\n );\n case \"folderopen\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M2 10h20M22 6a2 2 0 0 0-2-2H9L7 6H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V10z\" />\n </svg>\n );\n case \"volume\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" />\n <path d=\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\" />\n </svg>\n );\n case \"belloff\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M13.73 21a2 2 0 0 1-3.46 0m3.13-11A6 6 0 0 0 8 8m-2.1 0A6 6 0 0 0 6 8c0 7-3 9-3 9h12.5m2.5-3a7.48 7.48 0 0 0-.8-2\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n );\n case \"sunmoon\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9z\" />\n <path d=\"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\" />\n </svg>\n );\n case \"piston\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M6 3h12v7H6z\" />\n <path d=\"M6 5.5h12M6 8h12\" />\n <circle cx=\"12\" cy=\"8.5\" r=\"1.5\" />\n <line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"18\" />\n <circle cx=\"12\" cy=\"19.5\" r=\"2\" />\n </svg>\n );\n case \"spring\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 2v2c4 0 5 1.5 5 3s-3 2-6 2-6 1.5-6 3 3 2 6 2 6 1.5 6 3-3 2-6 2-5 1.5-5 3v2\" />\n </svg>\n );\n case \"anvil\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M3 8c-2 0-2 4 1 4h2v4a2 2 0 0 0-2 2v1h16v-1a2 2 0 0 0-2-2v-4h2c3 0 3-4 1-4H3z\" />\n </svg>\n );\n case \"hook\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"9\" y=\"2\" width=\"6\" height=\"6\" rx=\"1.5\" />\n <circle cx=\"12\" cy=\"5\" r=\"1\" />\n <path d=\"M12 8v4a3.5 3.5 0 1 1-3.5 3.5c0-1.5 1-2.5 2-3\" />\n </svg>\n );\n case \"turbine\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"9.5\" />\n <circle cx=\"12\" cy=\"12\" r=\"2.5\" />\n <path d=\"M12 12c.5-3.5 2-6 2.5-6.5S12.5 5 11 7c-.6.8-1 2.2-1 4.5\" />\n <path d=\"M12 12c-2.8-2.2-5.3-3.2-6-3s-.5 2.5 1.8 3.3c.9.3 2.3.4 4.2-.3\" />\n <path d=\"M12 12c2.3 2.8 3.3 5.3 3.5 6s-2 1.5-2.8-.8c-.3-.9-.4-2.3-.7-4.2\" />\n </svg>\n );\n case \"pliers\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\" />\n <path d=\"M9 13.5L4 21M15 13.5L20 21M10.5 10.5L8 3h3v5M13.5 10.5L16 3h-3v5\" />\n </svg>\n );\n case \"drill\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M18 4H8a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v8a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2V12h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z\" />\n <path d=\"M18 7h4M22 6v2M12 15h3\" />\n </svg>\n );\n case \"hacksaw\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M2 17h16c1.5 0 2-1 2-2V5c0-1.5-1-2-2-2H4c-1.5 0-2 .5-2 2v8M18 17l2 4M2 17l-1 2a1.5 1.5 0 0 0 1.5 1.5H5\" />\n <path d=\"M3 14h15\" />\n </svg>\n );\n case \"tapemeasure\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"3\" width=\"14\" height=\"14\" rx=\"3\" />\n <path d=\"M17 14h4v3\" />\n <path d=\"M7 17v2M12 17v2\" />\n <circle cx=\"10\" cy=\"10\" r=\"3\" />\n </svg>\n );\n case \"caliper\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M3 5h18M3 5v8M3 5v-2M8 5v5M8 5v-2\" />\n <rect x=\"9\" y=\"4\" width=\"6\" height=\"4\" rx=\"1\" />\n <path d=\"M15 5v8M15 5v-2\" />\n </svg>\n );\n case \"spiritlevel\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"6\" width=\"20\" height=\"12\" rx=\"2\" />\n <rect x=\"8\" y=\"10\" width=\"8\" height=\"4\" rx=\"1\" />\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <line x1=\"10\" y1=\"10\" x2=\"10\" y2=\"14\" />\n <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"14\" />\n </svg>\n );\n case \"sledgehammer\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"3\" width=\"12\" height=\"6\" rx=\"1.5\" />\n <path d=\"M12 9v12\" />\n <path d=\"M10 6h4\" />\n </svg>\n );\n case \"phonemobile\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"3\" />\n <circle cx=\"12\" cy=\"18\" r=\"1\" />\n <line x1=\"10\" y1=\"4\" x2=\"14\" y2=\"4\" />\n </svg>\n );\n case \"tablet\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3\" />\n <circle cx=\"12\" cy=\"18\" r=\"1\" />\n </svg>\n );\n case \"laptop\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M20 16V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12\" />\n <path d=\"M2 16h20v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2z\" />\n </svg>\n );\n case \"smartwatch\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"3\" />\n <path d=\"M9 6V2h6v4M9 18v4h6v-4\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n );\n case \"routerwifi\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"14\" width=\"20\" height=\"6\" rx=\"2\" />\n <path d=\"M5 14V3M19 14V3\" />\n <circle cx=\"6\" cy=\"17\" r=\"0.5\" />\n <circle cx=\"12\" cy=\"17\" r=\"0.5\" />\n <circle cx=\"18\" cy=\"17\" r=\"0.5\" />\n </svg>\n );\n case \"serverrack\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"2\" width=\"18\" height=\"20\" rx=\"2\" />\n <path d=\"M3 8h18M3 14h18\" />\n <circle cx=\"6\" cy=\"5\" r=\"1\" />\n <circle cx=\"6\" cy=\"11\" r=\"1\" />\n <circle cx=\"6\" cy=\"17\" r=\"1\" />\n </svg>\n );\n case \"harddriveexternal\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"5\" y=\"3\" width=\"14\" height=\"18\" rx=\"2\" />\n <path d=\"M9 18h6\" />\n <line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"12\" />\n </svg>\n );\n case \"webcam\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"10\" r=\"7\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n <path d=\"M12 17v3M8 20h8\" />\n </svg>\n );\n case \"chisel\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M10 3h4v7h-4z M12 10v4 M8 14h8v6l-4 2-4-2z\" />\n </svg>\n );\n case \"crowbar\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M4 22l14-14 M18 8a3 3 0 0 0 3-3c0-1.5-1.5-2-2.5-1L14.5 8\" />\n </svg>\n );\n case \"funnel\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M20 3H4v3l6 6v7l4 2v-9l6-6z\" />\n </svg>\n );\n case \"oilcan\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M8 8h8v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V8z M12 8V4 M12 4l8-2 M6 13a3 3 0 0 1-3-3v-2M12 4l-4 2\" />\n </svg>\n );\n case \"bearing\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <circle cx=\"12\" cy=\"12\" r=\"6\" />\n <circle cx=\"12\" cy=\"5.5\" r=\"1.5\" />\n <circle cx=\"12\" cy=\"18.5\" r=\"1.5\" />\n <circle cx=\"5.5\" cy=\"12\" r=\"1.5\" />\n <circle cx=\"18.5\" cy=\"12\" r=\"1.5\" />\n <circle cx=\"7.4\" cy=\"7.4\" r=\"1.5\" />\n <circle cx=\"16.6\" cy=\"7.4\" r=\"1.5\" />\n <circle cx=\"7.4\" cy=\"16.6\" r=\"1.5\" />\n <circle cx=\"16.6\" cy=\"16.6\" r=\"1.5\" />\n </svg>\n );\n case \"pulley\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"13\" r=\"6\" />\n <circle cx=\"12\" cy=\"13\" r=\"1.5\" />\n <path d=\"M6 13V3h12v10\" />\n <circle cx=\"12\" cy=\"3\" r=\"1\" />\n </svg>\n );\n case \"sprocket\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"7\" />\n <circle cx=\"12\" cy=\"12\" r=\"2.5\" />\n <path d=\"M12 2l1.5 2 1.5-2M12 22l-1.5-2-1.5 2M2 12l2-1.5-2-1.5M22 12l-2 1.5 2 1.5\" />\n </svg>\n );\n case \"projector\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"8\" width=\"18\" height=\"9\" rx=\"2\" />\n <circle cx=\"16\" cy=\"12.5\" r=\"3.5\" />\n <circle cx=\"16\" cy=\"12.5\" r=\"1.5\" />\n <line x1=\"6\" y1=\"11\" x2=\"10\" y2=\"11\" />\n <line x1=\"6\" y1=\"14\" x2=\"8\" y2=\"14\" />\n </svg>\n );\n case \"gameconsole\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"8\" y=\"2\" width=\"8\" height=\"20\" rx=\"1.5\" />\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\" />\n <path d=\"M6 22h12\" />\n </svg>\n );\n case \"vrheadset\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"8\" width=\"18\" height=\"8\" rx=\"3\" />\n <path d=\"M10 8c1 1.5 3 1.5 4 0\" />\n <line x1=\"6\" y1=\"12\" x2=\"18\" y2=\"12\" />\n </svg>\n );\n case \"smartspeaker\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"3\" width=\"12\" height=\"18\" rx=\"6\" />\n <ellipse cx=\"12\" cy=\"5\" rx=\"5\" ry=\"1.5\" />\n <ellipse cx=\"12\" cy=\"5\" rx=\"3\" ry=\"1\" />\n </svg>\n );\n case \"powerbank\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" />\n <circle cx=\"8\" cy=\"5\" r=\"1\" />\n <circle cx=\"12\" cy=\"5\" r=\"1\" />\n <circle cx=\"16\" cy=\"5\" r=\"1\" />\n </svg>\n );\n case \"usbdrive\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"7\" y=\"8\" width=\"10\" height=\"14\" rx=\"2\" />\n <rect x=\"9\" y=\"2\" width=\"6\" height=\"6\" />\n <circle cx=\"12\" cy=\"18\" r=\"1\" />\n </svg>\n );\n case \"motherboard\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2\" />\n <rect x=\"6\" y=\"6\" width=\"6\" height=\"6\" rx=\"1\" />\n <rect x=\"15\" y=\"6\" width=\"3\" height=\"12\" rx=\"0.5\" />\n <line x1=\"6\" y1=\"16\" x2=\"12\" y2=\"16\" />\n </svg>\n );\n case \"ramstick\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"8\" width=\"20\" height=\"8\" rx=\"1\" />\n <line x1=\"3\" y1=\"16\" x2=\"21\" y2=\"16\" />\n <rect x=\"4\" y=\"10\" width=\"2\" height=\"4\" />\n <rect x=\"8\" y=\"10\" width=\"2\" height=\"4\" />\n <rect x=\"12\" y=\"10\" width=\"2\" height=\"4\" />\n <rect x=\"16\" y=\"10\" width=\"2\" height=\"4\" />\n </svg>\n );\n case \"crank\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"6\" cy=\"18\" r=\"3\" />\n <line x1=\"8\" y1=\"16\" x2=\"16\" y2=\"8\" />\n <circle cx=\"18\" cy=\"6\" r=\"3\" />\n </svg>\n );\n case \"camshaft\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <path d=\"M6 12a3 3 0 0 1-3-3V6a3 3 0 0 1 6 0v3a3 3 0 0 1-3 3z\" />\n <path d=\"M18 12a3 3 0 0 0 3 3v3a3 3 0 0 0-6 0v-3a3 3 0 0 0 3-3z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n );\n case \"driveshaft\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <rect x=\"2\" y=\"9\" width=\"3\" height=\"6\" rx=\"1\" />\n <rect x=\"19\" y=\"9\" width=\"3\" height=\"6\" rx=\"1\" />\n <path d=\"M5 8v8M19 8v8\" />\n </svg>\n );\n case \"valve\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"8\" />\n <circle cx=\"12\" cy=\"12\" r=\"2.5\" />\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n </svg>\n );\n case \"propeller\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <path d=\"M12 10c1.5-2.5 4-3.5 4.5-2s-1.5 3.5-4.5 2z\" />\n <path d=\"M10 12c-2.5 1.5-3.5 4-2 4.5s3.5-1.5 2-4.5z\" />\n <path d=\"M12 14c-1.5 2.5-4 3.5-4.5 2s1.5-3.5 4.5-2z\" />\n <path d=\"M14 12c2.5-1.5 3.5-4 2-4.5s-3.5 1.5-2 4.5z\" />\n </svg>\n );\n case \"rotor\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <path d=\"M12 6h8M12 18H4M6 12V4M18 12v8\" />\n </svg>\n );\n case \"hydraulicjack\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"8\" width=\"10\" height=\"12\" rx=\"1\" />\n <rect x=\"9\" y=\"4\" width=\"4\" height=\"4\" rx=\"0.5\" />\n <line x1=\"3\" y1=\"20\" x2=\"21\" y2=\"20\" />\n <path d=\"M16 12h3v6h-3\" />\n </svg>\n );\n case \"gpu\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"6\" width=\"20\" height=\"12\" rx=\"2\" />\n <circle cx=\"7\" cy=\"12\" r=\"2.5\" />\n <circle cx=\"12\" cy=\"12\" r=\"2.5\" />\n <circle cx=\"17\" cy=\"12\" r=\"2.5\" />\n <line x1=\"4\" y1=\"18\" x2=\"20\" y2=\"18\" />\n </svg>\n );\n case \"powersupply\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <path d=\"M12 7v10M7 12h10\" />\n <line x1=\"17\" y1=\"6\" x2=\"19\" y2=\"6\" />\n </svg>\n );\n case \"networkswitch\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"6\" width=\"20\" height=\"12\" rx=\"2\" />\n <rect x=\"5\" y=\"9\" width=\"3\" height=\"3\" />\n <rect x=\"10\" y=\"9\" width=\"3\" height=\"3\" />\n <rect x=\"15\" y=\"9\" width=\"3\" height=\"3\" />\n <circle cx=\"19\" cy=\"10\" r=\"0.5\" />\n <circle cx=\"19\" cy=\"14\" r=\"0.5\" />\n </svg>\n );\n case \"smartplug\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"3\" width=\"12\" height=\"18\" rx=\"4\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <line x1=\"10\" y1=\"7\" x2=\"10\" y2=\"9\" />\n <line x1=\"14\" y1=\"7\" x2=\"14\" y2=\"9\" />\n </svg>\n );\n case \"smartbulb\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M15 14c1.2-1.2 2-3 2-5A5 5 0 0 0 7 9c0 2 .8 3.8 2 5h6z\" />\n <rect x=\"9\" y=\"14\" width=\"6\" height=\"4\" />\n <line x1=\"10\" y1=\"18\" x2=\"14\" y2=\"18\" />\n <line x1=\"11\" y1=\"21\" x2=\"13\" y2=\"21\" />\n </svg>\n );\n case \"securitycamera\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"6\" width=\"14\" height=\"10\" rx=\"2\" />\n <path d=\"M16 10l5-4v12l-5-4z\" />\n <path d=\"M5 21h8\" />\n <line x1=\"9\" y1=\"16\" x2=\"9\" y2=\"21\" />\n </svg>\n );\n case \"smartlock\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n <circle cx=\"12\" cy=\"15\" r=\"1\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"18\" />\n </svg>\n );\n case \"thermostat\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <circle cx=\"12\" cy=\"12\" r=\"6\" />\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"4\" />\n <line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"22\" />\n <line x1=\"2\" y1=\"12\" x2=\"4\" y2=\"12\" />\n <line x1=\"20\" y1=\"12\" x2=\"22\" y2=\"12\" />\n </svg>\n );\n case \"gclamp\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M16 8H8a4 4 0 0 0-4 4v2a4 4 0 0 0 4 4h4 M12 8v11 M10 19h4\" />\n </svg>\n );\n case \"vice\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"14\" width=\"18\" height=\"4\" rx=\"1\" />\n <rect x=\"6\" y=\"8\" width=\"5\" height=\"6\" />\n <rect x=\"13\" y=\"8\" width=\"5\" height=\"6\" />\n <line x1=\"2\" y1=\"11\" x2=\"22\" y2=\"11\" />\n </svg>\n );\n case \"greasegun\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"8\" width=\"12\" height=\"6\" rx=\"1\" />\n <path d=\"M18 11h4v2 M6 11H2 M10 8l-4-4v12\" />\n </svg>\n );\n case \"gearbox\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\" />\n <circle cx=\"8\" cy=\"12\" r=\"3\" />\n <circle cx=\"16\" cy=\"12\" r=\"4\" />\n <line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\" />\n </svg>\n );\n case \"differential\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"22\" />\n </svg>\n );\n case \"suspension\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 3v18 M7 6l5 3 5-3 M7 18l5-3 5 3\" />\n <circle cx=\"12\" cy=\"9\" r=\"2\" />\n <circle cx=\"12\" cy=\"15\" r=\"2\" />\n </svg>\n );\n case \"windlass\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"7\" width=\"12\" height=\"10\" rx=\"1\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <path d=\"M20 8l2 4-2 4\" />\n </svg>\n );\n case \"earbuds\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"5\" y=\"6\" width=\"14\" height=\"12\" rx=\"3\" />\n <circle cx=\"9\" cy=\"11\" r=\"2\" />\n <circle cx=\"15\" cy=\"11\" r=\"2\" />\n <path d=\"M9 13v3M15 13v3\" />\n </svg>\n );\n case \"smartring\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"8\" />\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <circle cx=\"12\" cy=\"5\" r=\"1\" />\n </svg>\n );\n case \"drawingtablet\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />\n <rect x=\"5\" y=\"7\" width=\"14\" height=\"10\" />\n <path d=\"M17 9l2 2-6 6-2-2z\" />\n </svg>\n );\n case \"barcodescanner\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M16 3H8L6 8h12z M10 8l-2 11h8l-2-11\" />\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\" />\n </svg>\n );\n case \"posregister\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"3\" y=\"14\" width=\"18\" height=\"7\" rx=\"1\" />\n <rect x=\"6\" y=\"4\" width=\"12\" height=\"9\" rx=\"1\" />\n <line x1=\"6\" y1=\"17\" x2=\"18\" y2=\"17\" />\n </svg>\n );\n case \"calculator\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"4\" y=\"3\" width=\"14\" height=\"18\" rx=\"2\" />\n <rect x=\"6\" y=\"5\" width=\"10\" height=\"4\" />\n <circle cx=\"8\" cy=\"12\" r=\"1\" />\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"16\" cy=\"12\" r=\"1\" />\n <circle cx=\"8\" cy=\"16\" r=\"1\" />\n <circle cx=\"12\" cy=\"16\" r=\"1\" />\n <circle cx=\"16\" cy=\"16\" r=\"1\" />\n </svg>\n );\n case \"remotecontrol\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"2\" width=\"12\" height=\"20\" rx=\"3\" />\n <circle cx=\"12\" cy=\"6\" r=\"1.5\" />\n <circle cx=\"12\" cy=\"12\" r=\"2.5\" />\n <line x1=\"9\" y1=\"17\" x2=\"15\" y2=\"17\" />\n </svg>\n );\n case \"soundbar\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"14\" width=\"20\" height=\"4\" rx=\"1\" />\n <rect x=\"15\" y=\"4\" width=\"6\" height=\"9\" rx=\"1\" />\n <circle cx=\"18\" cy=\"8.5\" r=\"2\" />\n </svg>\n );\n case \"jackhammer\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M4 4h16 M12 4v4 M8 8h8 M8 8l1 6h6l1-6 M12 14v4 M11 18h2 M12 18l-1 4\" />\n </svg>\n );\n case \"solderingiron\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M7 17l-4 4 M6 13l5 5 M10 9l8 8 M14 5l5 5 M19 5l2-2\" />\n </svg>\n );\n case \"blowtorch\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"8\" y=\"10\" width=\"8\" height=\"11\" rx=\"1\" />\n <path d=\"M12 10V7 M12 7l4-2 M16 5V3 M12 7h-3\" />\n </svg>\n );\n case \"wheelbarrow\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M2 17h6l4-7h8v3l-5 4H6l-4-4\" />\n <circle cx=\"17\" cy=\"18\" r=\"2.5\" />\n <path d=\"M6 17l-1 4 M12 14l-1 7\" />\n </svg>\n );\n case \"plumbbob\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"9\" />\n <path d=\"M12 9l-4 7 4 5 4-5-4-7z\" />\n <circle cx=\"12\" cy=\"9\" r=\"1.5\" />\n </svg>\n );\n case \"shears\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M6 6l6 6M6 18l6-6\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" />\n <path d=\"M12 12l7-5M12 12l7 5\" />\n <circle cx=\"20\" cy=\"7\" r=\"2\" />\n <circle cx=\"20\" cy=\"17\" r=\"2\" />\n </svg>\n );\n case \"wirestripper\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M6 4c0 3 2 5 6 5s6-2 6-5\" />\n <circle cx=\"12\" cy=\"9\" r=\"1.5\" />\n <path d=\"M12 9l-4 11M12 9l4 11\" />\n <path d=\"M10 14h4\" />\n </svg>\n );\n case \"pipewrench\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"9\" y=\"10\" width=\"6\" height=\"11\" rx=\"1\" />\n <path d=\"M10 10V6h6V3\" />\n <path d=\"M13 10V8\" />\n </svg>\n );\n case \"floppy\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M4 2h13l3 3v15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z\" />\n <rect x=\"6\" y=\"14\" width=\"12\" height=\"8\" />\n <rect x=\"8\" y=\"2\" width=\"8\" height=\"6\" />\n </svg>\n );\n case \"tapecassette\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />\n <circle cx=\"8\" cy=\"11\" r=\"2\" />\n <circle cx=\"16\" cy=\"11\" r=\"2\" />\n <rect x=\"6\" y=\"16\" width=\"12\" height=\"4\" />\n </svg>\n );\n case \"cd\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n );\n case \"tv\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"7\" width=\"20\" height=\"12\" rx=\"2\" />\n <path d=\"M12 19v3M7 22h10M17 2l-5 5-5-5\" />\n </svg>\n );\n case \"radio\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"2\" y=\"6\" width=\"20\" height=\"14\" rx=\"2\" />\n <circle cx=\"7\" cy=\"13\" r=\"3\" />\n <line x1=\"14\" y1=\"10\" x2=\"18\" y2=\"10\" />\n <circle cx=\"16\" cy=\"15\" r=\"1.5\" />\n <path d=\"M4 6l6-4 M19 6V3\" />\n </svg>\n );\n case \"walkietalkie\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <rect x=\"6\" y=\"7\" width=\"12\" height=\"14\" rx=\"2\" />\n <line x1=\"8\" y1=\"7\" x2=\"8\" y2=\"2\" />\n <circle cx=\"10\" cy=\"12\" r=\"1\" />\n <circle cx=\"14\" cy=\"12\" r=\"1\" />\n <line x1=\"9\" y1=\"16\" x2=\"15\" y2=\"16\" />\n </svg>\n );\n case \"headset\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M3 11c0-5 4-9 9-9s9 4 9 9\" />\n <rect x=\"2\" y=\"11\" width=\"3\" height=\"6\" rx=\"1\" />\n <rect x=\"19\" y=\"11\" width=\"3\" height=\"6\" rx=\"1\" />\n <path d=\"M3 17h3l3 4\" />\n </svg>\n );\n case \"fish\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M2 12c0-3.5 3-6 8-6 4 0 7 2 9 4.5V15.5c-2 2.5-5 4.5-9 4.5-5 0-8-2.5-8-6z M18 12c1.5-1.5 3-1.5 4-1M18 12c1.5 1.5 3 1.5 4 1 M8 9.5a1 1 0 1 0 0 2 1 1 0 1 0 0-2\" />\n </svg>\n );\n case \"butterfly\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 3v18 M12 6c-2-3-8-3-8 2 0 4 5 5 8 2 M12 6c2-3 8-3 8 2 0 4-5 5-8 2 M12 12c-2-2-8-1-8 4s5 3 8 0 M12 12c2-2 8-1 8 4s-5 3-8 0\" />\n </svg>\n );\n case \"bird\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M3 16c4 0 7-3 8-7 1 4 4 7 8 7 M11 9c1-3 3-5 6-5 1 2 1 4-1 6.5 M19 9c1-1 2-1 3 0l-3 3 M4 16c-1 2-2 4-2 6h8c-2-2-4-4-6-6z\" />\n </svg>\n );\n case \"cat\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"13\" r=\"8\" />\n <path d=\"M6 6L4 10 M18 6l2 4 M9 11.5a.5.5 0 1 0 0 1 .5.5 0 1 0 0-1 M15 11.5a.5.5 0 1 0 0 1 .5.5 0 1 0 0-1 M12 14.5l-1.5-1.5h3z M5 16h3M19 16h-3\" />\n </svg>\n );\n case \"dog\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"13\" r=\"8\" />\n <path d=\"M4 11l-1 5a1 1 0 0 0 1 1h1 M20 11l1 5a1 1 0 0 1-1 1h-1 M9 11.5a1 1 0 1 0 0 2 1 1 0 1 0 0-2 M15 11.5a1 1 0 1 0 0 2 1 1 0 1 0 0-2 M12 15a1.5 1.5 0 1 1-3 0\" />\n </svg>\n );\n case \"rabbit\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"14\" r=\"7\" />\n <path d=\"M9 7c0-2.5-.5-5-2-5s-2 2.5-2 5 M15 7c0-2.5.5-5 2-5s2 2.5 2 5 M9 12.5a.5.5 0 1 0 0 1 M15 12.5a.5.5 0 1 0 0 1 M12 14.5l-1-1h2z\" />\n </svg>\n );\n case \"elephant\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"8\" />\n <path d=\"M4 12c-2.5 0-3-2.5-3-4s2-2 3-1 M20 12c2.5 0 3-2.5 3-4s-2-2-3-1 M12 14c0 3 .5 6 3 6M10 13l-1.5 2 M14 13l1.5 2\" />\n </svg>\n );\n case \"owl\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"13\" r=\"8\" />\n <circle cx=\"8.5\" cy=\"11.5\" r=\"2.5\" />\n <circle cx=\"15.5\" cy=\"11.5\" r=\"2.5\" />\n <path d=\"M12 14l-1-1.5h2z M6 6l3 2 M18 6l-3 2\" />\n </svg>\n );\n case \"turtle\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"8\" />\n <path d=\"M12 4V2 M12 20v2 M4 12H2 M20 12h2 M6 6l-2-2 M18 18l2 2 M18 6l2-2 M6 18l-2 2\" />\n </svg>\n );\n case \"dolphin\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M22 6c-3 0-6 2-9 5s-6 5-11 5c4 0 7-1 9-3s4-5 8-7 M11.5 12l2.5-3.5 M4 16c-.5 1-1.5 2.5-2 3 M18 8.5a.5.5 0 1 0 0-1 .5.5 0 1 0 0 1\" />\n </svg>\n );\n case \"rose\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 3a5 5 0 0 1 5 5c0 4.5-5 9-5 9s-5-4.5-5-9a5 5 0 0 1 5-5z\" />\n <path d=\"M12 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\" />\n <path d=\"M12 17v5M10 20h4\" />\n <path d=\"M12 14c1.5-1.5 3-1.5 3.5-3s-.5-3-2-2.5\" />\n </svg>\n );\n case \"sunflower\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M12 2v2M12 20v2M2 12h2M20 12h2M5 5l1.5 1.5M17.5 17.5L19 19M5 19l1.5-1.5M17.5 6.5L19 5\" />\n <path d=\"M12 6a6 6 0 0 1 6 6M12 18a6 6 0 0 1-6-6\" />\n </svg>\n );\n case \"tulip\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 20V10M9 20h6\" />\n <path d=\"M12 4c-3.5 0-6 3-6 7.5S8.5 17 12 17s6-1 6-5.5S15.5 4 12 4z\" />\n <path d=\"M12 4v13M8 6c0 4 2 6.5 4 6.5s4-2.5 4-6.5\" />\n </svg>\n );\n case \"lotus\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 21c-4 0-7-3-7-7 0-4.5 7-11 7-11s7 6.5 7 11c0 4-3 7-7 7z\" />\n <path d=\"M12 10c-2.5 1.5-4 4-4 7h8c0-3-1.5-5.5-4-7z\" />\n <path d=\"M5 14c-1.5 1.5-2 3.5-1.5 5s2 1.5 3.5.5M19 14c1.5 1.5 2 3.5 1.5 5s-2 1.5-3.5.5\" />\n </svg>\n );\n case \"daisy\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M12 2v7M12 15v7M2 12h7M15 12h7M5 5l5 5M14 14l5 5M5 19l5-5M14 10l5-5\" />\n </svg>\n );\n case \"hibiscus\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 14c3.5 0 6-2 6-5.5S15.5 3 12 3 6 5 6 8.5 8.5 14 12 14z\" />\n <path d=\"M12 14c-2.5 3-2.5 6 0 7s2.5-4 0-7z\" />\n <path d=\"M12 10l5-5M17 5h1M17 5v-1\" />\n <circle cx=\"18\" cy=\"4\" r=\"1\" />\n </svg>\n );\n case \"orchid\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 3v9M7 5c1 3 3 5 5 7s4-4 5-7\" />\n <path d=\"M6 14c2-1 4 0 6 2s1 5-1 6-4-1-5-3 0-5 0-5z\" />\n <path d=\"M18 14c-2-1-4 0-6 2s-1 5 1 6 4-1 5-3 0-5 0-5z\" />\n <circle cx=\"12\" cy=\"9\" r=\"1.5\" />\n </svg>\n );\n case \"lily\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 21V10M12 10c-3-1-5-4-5-7h10c0 3-2 6-5 7z\" />\n <path d=\"M7 3c0 3.5 2 6 5 6.5s5-3 5-6.5\" />\n <path d=\"M10 13c1 1.5 3 1.5 4 0\" />\n </svg>\n );\n case \"cactus\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 3v18M8 21h8\" />\n <path d=\"M12 8c-3 0-4 1-4 4v3\" />\n <path d=\"M12 6c3 0 4 1 4 4v4\" />\n <path d=\"M6 12v2c0 1.5 1 2 2 2\" />\n <path d=\"M18 10v2c0 1.5-1 2-2 2\" />\n </svg>\n );\n case \"lavender\":\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <path d=\"M12 22V10\" />\n <path d=\"M12 10c-1.5-.5-2-1.5-2-2.5s1-1.5 2-1 2 0 2 1-1.5 2-2 2.5z\" />\n <path d=\"M12 6c-1.5-.5-2-1.5-2-2.5s1-1.5 2-1 2 0 2 1-1.5 2-2 2.5z\" />\n <path d=\"M12 14c-1.5-.5-2-1.5-2-2.5s1-1.5 2-1 2 0 2 1-1.5 2-2 2.5z\" />\n <path d=\"M12 18c-1.5-.5-2-1.5-2-2.5s1-1.5 2-1 2 0 2 1-1.5 2-2 2.5z\" />\n </svg>\n );\n\n\n\n default:\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={strokeColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"w-full h-full\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\" />\n </svg>\n );\n }\n};\n\nexport const Fallback2D: React.FC<Fallback2DProps> = ({ id, color = \"#6366f1\", theme, preset = \"glass\" }) => {\n const isDark = theme === \"dark\";\n const strokeColor = (color.toLowerCase() === \"#ffffff\" || color.toLowerCase() === \"#fff\") && !isDark ? \"#475569\" : color;\n\n const grad = getPremiumGradientColors(preset, strokeColor, theme || \"dark\");\n\n const strokeGradId = `stroke-grad-${id}`;\n const fillGradId = `fill-grad-${id}`;\n const shadowId = `shadow-${id}`;\n\n const cloner = makeEnhanceElement(strokeGradId, fillGradId, shadowId, strokeColor, grad.strokeWidth);\n\n if (id.startsWith(\"letter-\")) {\n const letter = id.replace(\"letter-\", \"\").toUpperCase();\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className=\"w-full h-full\"\n style={{ overflow: \"visible\" }}\n >\n <defs>\n <filter id={shadowId} x=\"-20%\" y=\"-20%\" width=\"140%\" height=\"140%\">\n <feDropShadow dx=\"0\" dy=\"1.5\" stdDeviation={grad.shadowRadius} floodColor={grad.shadowColor} floodOpacity={isDark ? \"0.6\" : \"0.35\"} />\n </filter>\n <linearGradient id={strokeGradId} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n {grad.strokeGradient.stops.map((stop, index) => (\n <stop key={index} offset={stop.offset} stopColor={stop.color} stopOpacity={stop.opacity ?? 1} />\n ))}\n </linearGradient>\n <linearGradient id={fillGradId} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n {grad.fillGradient.stops.map((stop, index) => (\n <stop key={index} offset={stop.offset} stopColor={stop.color} stopOpacity={stop.opacity} />\n ))}\n </linearGradient>\n <radialGradient id={`plate-bg-gradient-${id}`} cx=\"50%\" cy=\"50%\" r=\"70%\">\n <stop offset=\"0%\" stopColor={isDark ? \"#1f2937\" : \"#ffffff\"} stopOpacity={isDark ? 0.9 : 0.95} />\n <stop offset=\"100%\" stopColor={isDark ? \"#0b0f19\" : \"#f8fafc\"} stopOpacity={isDark ? 0.7 : 0.8} />\n </radialGradient>\n </defs>\n\n <circle cx=\"12\" cy=\"12\" r=\"7\" fill={grad.glowColor} style={{ filter: \"blur(3.5px)\" }} />\n\n <text\n x=\"12\"\n y=\"18.5\"\n textAnchor=\"middle\"\n fontSize=\"18.5\"\n fontWeight=\"900\"\n fill={`url(#${strokeGradId})`}\n filter={`url(#${shadowId})`}\n fontFamily=\"system-ui, -apple-system, sans-serif\"\n letterSpacing=\"-0.5\"\n >\n {letter}\n </text>\n </svg>\n );\n }\n\n const rawElement = getRawSVG(id, strokeColor, isDark);\n if (!rawElement) return null;\n\n const enhancedChildren = React.Children.map(rawElement.props.children, cloner);\n\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className=\"w-full h-full\"\n style={{ overflow: \"visible\" }}\n >\n <defs>\n <filter id={shadowId} x=\"-25%\" y=\"-25%\" width=\"150%\" height=\"150%\">\n <feDropShadow dx=\"0\" dy=\"1.8\" stdDeviation={grad.shadowRadius} floodColor={grad.shadowColor} floodOpacity={isDark ? \"0.6\" : \"0.35\"} />\n </filter>\n <linearGradient id={strokeGradId} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n {grad.strokeGradient.stops.map((stop, index) => (\n <stop key={index} offset={stop.offset} stopColor={stop.color} stopOpacity={stop.opacity ?? 1} />\n ))}\n </linearGradient>\n <linearGradient id={fillGradId} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n {grad.fillGradient.stops.map((stop, index) => (\n <stop key={index} offset={stop.offset} stopColor={stop.color} stopOpacity={stop.opacity} />\n ))}\n </linearGradient>\n </defs>\n\n {/* Ambient inner glow behind the icon */}\n <circle cx=\"12\" cy=\"12\" r=\"7\" fill={grad.glowColor} style={{ filter: \"blur(3.5px)\" }} />\n\n {/* The main icon paths group, scaled down slightly and centered to stand freely with drop shadows */}\n <g transform=\"translate(1.8, 1.8) scale(0.85)\">\n {enhancedChildren}\n </g>\n </svg>\n );\n};\n\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DatabaseIconProps } from \"./types\";\n\nexport function DatabaseIcon(props: DatabaseIconProps) {\n return (\n <SharedWrapper iconId=\"database\" {...props}>\n {(mat) => (\n <group>\n {/* Stack of 3 database disks */}\n {[0.5, 0, -0.5].map((yOffset, index) => (\n <group key={index} position={[0, yOffset, 0]}>\n {/* Main Disk Cylinder */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.9, 0.9, 0.38, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n \n {/* Accent status bulb */}\n <mesh position={[0, 0, 0.92]}>\n <sphereGeometry args={[0.07, 16, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n {/* Decorative inner metal groove */}\n <mesh position={[0, 0, 0]}>\n <cylinderGeometry args={[0.92, 0.92, 0.05, 32, 1, true]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#e4e4e7\"}\n />\n </mesh>\n </group>\n ))}\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CloudIconProps } from \"./types\";\n\nexport function CloudIcon(props: CloudIconProps) {\n return (\n <SharedWrapper iconId=\"cloud\" {...props}>\n {(mat) => (\n <group position={[0, 0.1, 0]}>\n {/* Main Central Sphere */}\n <mesh position={[0, 0.15, 0]} castShadow receiveShadow>\n <sphereGeometry args={[0.62, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Sphere */}\n <mesh position={[-0.5, -0.05, 0.05]} castShadow receiveShadow>\n <sphereGeometry args={[0.48, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Right Sphere */}\n <mesh position={[0.5, -0.08, 0.05]} castShadow receiveShadow>\n <sphereGeometry args={[0.42, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom rounded connecting box to form a flat cloud floor */}\n <mesh position={[0, -0.18, 0.02]} castShadow receiveShadow>\n <boxGeometry args={[1.0, 0.35, 0.75]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CpuIconProps } from \"./types\";\n\nexport function CpuIcon(props: CpuIconProps) {\n const pinOffsets = [-0.45, -0.15, 0.15, 0.45];\n\n return (\n <SharedWrapper iconId=\"cpu\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 6, Math.PI / 6, 0]}>\n {/* Main Board Substrate */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.4, 1.4, 0.1]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Central Die / Processor Cores */}\n <mesh position={[0, 0, 0.1]} castShadow>\n <boxGeometry args={[0.7, 0.7, 0.12]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#1e1e24\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Emissive center core ring */}\n <mesh position={[0, 0, 0.17]}>\n <cylinderGeometry args={[0.2, 0.2, 0.02, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : \"#a855f7\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : \"#a855f7\"}\n emissiveIntensity={2.0}\n />\n </mesh>\n\n {/* Top & Bottom Pins */}\n {pinOffsets.map((offset, i) => (\n <group key={`tb-${i}`}>\n {/* Top Pin */}\n <mesh position={[offset, 0.76, 0]} castShadow>\n <boxGeometry args={[0.08, 0.14, 0.05]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n {/* Bottom Pin */}\n <mesh position={[offset, -0.76, 0]} castShadow>\n <boxGeometry args={[0.08, 0.14, 0.05]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n </group>\n ))}\n\n {/* Left & Right Pins */}\n {pinOffsets.map((offset, i) => (\n <group key={`lr-${i}`}>\n {/* Left Pin */}\n <mesh position={[-0.76, offset, 0]} castShadow>\n <boxGeometry args={[0.14, 0.08, 0.05]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n {/* Right Pin */}\n <mesh position={[0.76, offset, 0]} castShadow>\n <boxGeometry args={[0.14, 0.08, 0.05]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n </group>\n ))}\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { NetworkIconProps } from \"./types\";\n\nexport function NetworkIcon(props: NetworkIconProps) {\n // Key vertex coordinates of an icosahedron of radius 0.8\n const nodes = [\n [0, 0.8, 0],\n [-0.7, 0.25, 0.4],\n [0.7, 0.25, 0.4],\n [-0.7, 0.25, -0.4],\n [0.7, 0.25, -0.4],\n [0, -0.6, 0.5],\n [0, -0.6, -0.5]\n ] as const;\n\n return (\n <SharedWrapper iconId=\"network\" {...props}>\n {(mat) => (\n <group>\n {/* Central main network hub */}\n <mesh castShadow receiveShadow>\n <sphereGeometry args={[0.42, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Interconnecting wireframe lattice cage */}\n <mesh castShadow>\n <icosahedronGeometry args={[0.8, 1]} />\n <meshBasicMaterial\n wireframe\n color={mat.color}\n transparent\n opacity={0.3}\n />\n </mesh>\n\n {/* Node hubs on major vertices */}\n {nodes.map((pos, idx) => (\n <group key={idx} position={pos}>\n {/* Outer halo */}\n <mesh castShadow>\n <sphereGeometry args={[0.11, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Emissive core dot */}\n <mesh position={[0, 0, 0]}>\n <sphereGeometry args={[0.05, 8, 8]} />\n <meshBasicMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : \"#10b981\"}\n />\n </mesh>\n </group>\n ))}\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GearIconProps } from \"./types\";\n\nexport function GearIcon(props: GearIconProps) {\n const toothCount = 8;\n const teeth = Array.from({ length: toothCount });\n const radius = 0.62;\n\n return (\n <SharedWrapper iconId=\"gear\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 4, 0, 0]}>\n {/* Central Gear Hub Body */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.6, 0.6, 0.22, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Central Axle Hole (Simulated with a dark inset cylinder) */}\n <mesh position={[0, 0.01, 0]}>\n <cylinderGeometry args={[0.22, 0.22, 0.24, 16]} />\n <meshStandardMaterial\n roughness={0.8}\n metalness={0.2}\n color={props.theme === \"dark\" ? \"#090d16\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Radiating Gear Teeth */}\n {teeth.map((_, index) => {\n const angle = (index * (Math.PI * 2)) / toothCount;\n const x = Math.cos(angle) * radius;\n const z = Math.sin(angle) * radius;\n\n return (\n <mesh\n key={index}\n position={[x, 0, z]}\n rotation={[0, -angle, 0]}\n castShadow\n receiveShadow\n >\n <boxGeometry args={[0.16, 0.22, 0.18]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n );\n })}\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { FacebookIconProps } from \"./types\";\n\nexport function FacebookIcon(props: FacebookIconProps) {\n return (\n <SharedWrapper iconId=\"facebook\" {...props}>\n {(mat) => (\n <group>\n {/* Main Rounded Box Backplate */}\n <mesh castShadow receiveShadow>\n <RoundedBox args={[1.3, 1.3, 0.28]} radius={0.2} smoothness={8}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Letter \"f\" - Vertical Stem */}\n <mesh position={[0.1, -0.15, 0.165]} castShadow>\n <boxGeometry args={[0.18, 0.85, 0.1]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.1}\n color=\"#ffffff\"\n />\n </mesh>\n\n {/* Letter \"f\" - Horizontal Crossbar */}\n <mesh position={[-0.02, 0.12, 0.165]} castShadow>\n <boxGeometry args={[0.42, 0.16, 0.1]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.1}\n color=\"#ffffff\"\n />\n </mesh>\n\n {/* Letter \"f\" - Top Hook Right Turn */}\n <mesh position={[0.22, 0.28, 0.165]} castShadow>\n <boxGeometry args={[0.3, 0.16, 0.1]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.1}\n color=\"#ffffff\"\n />\n </mesh>\n\n {/* Letter \"f\" - Top Hook Connecting Corner */}\n <mesh position={[0.19, 0.2, 0.165]} castShadow>\n <boxGeometry args={[0.18, 0.16, 0.1]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.1}\n color=\"#ffffff\"\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { AnchorIconProps } from \"./types\";\n\nexport function AnchorIcon(props: AnchorIconProps) {\n return (\n <SharedWrapper iconId=\"anchor\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Central vertical shank */}\n <mesh castShadow receiveShadow position={[0, 0.05, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.9, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Top horizontal stock / crossbar */}\n <mesh castShadow receiveShadow position={[0, 0.35, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.045, 0.045, 0.55, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Decorative stock end caps (using accent color) */}\n {[-0.275, 0.275].map((xOffset, index) => (\n <mesh key={index} position={[xOffset, 0.35, 0]}>\n <sphereGeometry args={[0.06, 16, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n ))}\n\n {/* Top shackle ring / loop */}\n <mesh castShadow receiveShadow position={[0, 0.52, 0]}>\n <torusGeometry args={[0.09, 0.03, 12, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Bottom crescent arms */}\n <mesh castShadow receiveShadow position={[0, -0.3, 0]} rotation={[0, 0, Math.PI]}>\n <torusGeometry args={[0.35, 0.055, 12, 32, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Left fluke (tip) */}\n <mesh\n castShadow\n position={[-0.35, -0.22, 0]}\n rotation={[0, 0, Math.PI / 4]}\n >\n <coneGeometry args={[0.07, 0.18, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n\n {/* Right fluke (tip) */}\n <mesh\n castShadow\n position={[0.35, -0.22, 0]}\n rotation={[0, 0, -Math.PI / 4]}\n >\n <coneGeometry args={[0.07, 0.18, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DiamondIconProps } from \"./types\";\n\nexport function DiamondIcon(props: DiamondIconProps) {\n return (\n <SharedWrapper iconId=\"diamond\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Upper Crown: Beveled cylinder tapering up. Flat facets are created using 8 segments */}\n <mesh castShadow receiveShadow position={[0, 0.125, 0]}>\n <cylinderGeometry args={[0.45, 0.75, 0.25, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5} // Diamonds are highly polished\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={2.42} // Genuine diamond IOR is 2.42!\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n flatShading={true} // Emphasize flat facets\n />\n </mesh>\n\n {/* Lower Pavilion: Cone pointing down */}\n <mesh\n castShadow\n receiveShadow\n position={[0, -0.375, 0]}\n rotation={[Math.PI, 0, 0]}\n >\n <coneGeometry args={[0.75, 0.75, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={2.42}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n flatShading={true}\n />\n </mesh>\n\n {/* Girdle: Flat metallic accent ring dividing crown and pavilion */}\n <mesh position={[0, 0, 0]}>\n <torusGeometry args={[0.76, 0.025, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n roughness={0.15}\n metalness={0.8}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FilterIconProps } from \"./types\";\n\nexport function FilterIcon(props: FilterIconProps) {\n return (\n <SharedWrapper iconId=\"filter\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Outer Funnel Cone (tapering downwards) */}\n <mesh castShadow receiveShadow position={[0, 0.2, 0]}>\n <cylinderGeometry args={[0.7, 0.35, 0.45, 32, 1, true]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n side={2} // DoubleSide so inside is rendered nicely\n />\n </mesh>\n\n {/* Funnel Spout (narrow lower tube) */}\n <mesh castShadow receiveShadow position={[0, -0.225, 0]}>\n <cylinderGeometry args={[0.1, 0.1, 0.4, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Accent-colored filter plate inside the bowl */}\n <mesh position={[0, 0.12, 0]}>\n <cylinderGeometry args={[0.39, 0.39, 0.02, 32]} />\n <meshStandardMaterial\n color={props.accentColor || \"#ec4899\"}\n roughness={0.4}\n metalness={0.7}\n transparent\n opacity={0.8}\n />\n </mesh>\n\n {/* Glowing filter grid details */}\n <mesh position={[0, 0.125, 0]}>\n <cylinderGeometry args={[0.35, 0.35, 0.025, 12, 1, true]} />\n <meshStandardMaterial\n color={props.accentColor || \"#ec4899\"}\n emissive={props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.2}\n wireframe\n />\n </mesh>\n\n {/* Droplet representing filtered output */}\n <mesh position={[0, -0.55, 0]}>\n <sphereGeometry args={[0.08, 16, 16]} />\n <meshStandardMaterial\n color={props.accentColor || \"#ec4899\"}\n emissive={props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.0}\n roughness={0.1}\n metalness={0.2}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PipelineIconProps } from \"./types\";\n\nexport function PipelineIcon(props: PipelineIconProps) {\n return (\n <SharedWrapper iconId=\"pipeline\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Main pipes */}\n {/* Segment 1: Lower horizontal pipe */}\n <mesh castShadow receiveShadow position={[-0.45, -0.2, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.06, 0.06, 0.5, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Segment 2: Vertical connecting pipe */}\n <mesh castShadow receiveShadow position={[-0.2, 0, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.4, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Segment 3: Upper horizontal pipe */}\n <mesh castShadow receiveShadow position={[0.2, 0.2, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.06, 0.06, 0.8, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Joint Elbow Spheres */}\n {/* Bottom-left elbow */}\n <mesh castShadow position={[-0.2, -0.2, 0]}>\n <sphereGeometry args={[0.08, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n color={mat.color}\n />\n </mesh>\n\n {/* Top-left elbow */}\n <mesh castShadow position={[-0.2, 0.2, 0]}>\n <sphereGeometry args={[0.08, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n color={mat.color}\n />\n </mesh>\n\n {/* End flanges/connectors (metallic rims) */}\n <mesh position={[-0.7, -0.2, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.09, 0.09, 0.04, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#27272a\" : \"#e4e4e7\"} />\n </mesh>\n\n <mesh position={[0.6, 0.2, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.09, 0.09, 0.04, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#27272a\" : \"#e4e4e7\"} />\n </mesh>\n\n {/* Valve Control Wheel */}\n <group position={[0.1, 0.2, 0.07]} rotation={[Math.PI / 2, 0, 0]}>\n {/* Valve Central Node */}\n <mesh>\n <cylinderGeometry args={[0.03, 0.03, 0.08, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#27272a\" : \"#e4e4e7\"} />\n </mesh>\n {/* Valve Outer Wheel Ring */}\n <mesh castShadow>\n <torusGeometry args={[0.15, 0.025, 8, 24]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n roughness={0.15}\n metalness={0.7}\n />\n </mesh>\n {/* Valve Spokes */}\n {[0, Math.PI / 3, (2 * Math.PI) / 3].map((angle, index) => (\n <mesh key={index} rotation={[0, angle, 0]}>\n <boxGeometry args={[0.26, 0.02, 0.02]} />\n <meshStandardMaterial color={props.accentColor || \"#10b981\"} roughness={0.3} metalness={0.6} />\n </mesh>\n ))}\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RefreshIconProps } from \"./types\";\n\nexport function RefreshIcon(props: RefreshIconProps) {\n const R = 0.48; // Torus Radius\n const arcLength = Math.PI * 0.8; // Arc covers 144 degrees\n \n // End of arc coordinates: [R * cos(144°), R * sin(144°), 0]\n // cos(144°) = -0.809, sin(144°) = 0.588\n // x = 0.48 * -0.809 = -0.388 => -0.39\n // y = 0.48 * 0.588 = 0.282 => 0.28\n const headPos: [number, number, number] = [-0.39, 0.28, 0];\n const headRot: [number, number, number] = [0, 0, arcLength];\n\n return (\n <SharedWrapper iconId=\"refresh\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Arrow 1: Top-Right Arc and Head */}\n <group>\n {/* The Arc */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[R, 0.055, 12, 32, arcLength]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* The Arrow Head */}\n <mesh castShadow position={headPos} rotation={headRot}>\n <coneGeometry args={[0.13, 0.2, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n </group>\n\n {/* Arrow 2: Bottom-Left Arc and Head (Symmetric copy rotated 180 degrees) */}\n <group rotation={[0, 0, Math.PI]}>\n {/* The Arc */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[R, 0.055, 12, 32, arcLength]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* The Arrow Head */}\n <mesh castShadow position={headPos} rotation={headRot}>\n <coneGeometry args={[0.13, 0.2, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WebhookIconProps } from \"./types\";\n\nexport function WebhookIcon(props: WebhookIconProps) {\n return (\n <SharedWrapper iconId=\"webhook\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* T-Junction Connector Pipes */}\n {/* Upper Horizontal Connector */}\n <mesh castShadow receiveShadow position={[0, 0.25, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.045, 0.045, 0.7, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Lower Vertical Connector */}\n <mesh castShadow receiveShadow position={[0, -0.05, 0]}>\n <cylinderGeometry args={[0.045, 0.045, 0.6, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* The three terminal nodes */}\n {/* Node 1: Left Input Node */}\n <mesh castShadow position={[-0.35, 0.25, 0]}>\n <sphereGeometry args={[0.13, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n color={mat.color}\n />\n </mesh>\n\n {/* Node 2: Right Input Node */}\n <mesh castShadow position={[0.35, 0.25, 0]}>\n <sphereGeometry args={[0.13, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n color={mat.color}\n />\n </mesh>\n\n {/* Node 3: Bottom Output Node */}\n <mesh castShadow position={[0, -0.35, 0]}>\n <sphereGeometry args={[0.13, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n color={mat.color}\n />\n </mesh>\n\n {/* Junction Core Sphere (Center block) */}\n <mesh position={[0, 0.25, 0]}>\n <sphereGeometry args={[0.075, 16, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#27272a\" : \"#cbd5e1\"} />\n </mesh>\n\n {/* Glowing Status Accent Bulbs on each node */}\n <mesh position={[-0.35, 0.25, 0.1]}>\n <sphereGeometry args={[0.05, 16, 16]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n <mesh position={[0.35, 0.25, 0.1]}>\n <sphereGeometry args={[0.05, 16, 16]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n <mesh position={[0, -0.35, 0.1]}>\n <sphereGeometry args={[0.05, 16, 16]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PlusIconProps } from \"./types\";\n\nexport function PlusIcon(props: PlusIconProps) {\n return (\n <SharedWrapper iconId=\"plus\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Vertical Bar */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Horizontal Bar */}\n <mesh castShadow receiveShadow rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.07, 0.07, 0.8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Center Connection Sphere */}\n <mesh position={[0, 0, 0]}>\n <sphereGeometry args={[0.082, 16, 16]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={0.5}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MinusIconProps } from \"./types\";\n\nexport function MinusIcon(props: MinusIconProps) {\n return (\n <SharedWrapper iconId=\"minus\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Single Horizontal Bar */}\n <mesh castShadow receiveShadow rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.07, 0.07, 0.8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Accent Ends */}\n {[-0.4, 0.4].map((xOffset, index) => (\n <mesh key={index} position={[xOffset, 0, 0]}>\n <sphereGeometry args={[0.07, 12, 12]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n roughness={0.2}\n metalness={0.5}\n />\n </mesh>\n ))}\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CloseIconProps } from \"./types\";\n\nexport function CloseIcon(props: CloseIconProps) {\n return (\n <SharedWrapper iconId=\"close\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Diagonal Bar 1 */}\n <mesh castShadow receiveShadow rotation={[0, 0, Math.PI / 4]}>\n <cylinderGeometry args={[0.07, 0.07, 0.85, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Diagonal Bar 2 */}\n <mesh castShadow receiveShadow rotation={[0, 0, -Math.PI / 4]}>\n <cylinderGeometry args={[0.07, 0.07, 0.85, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Center Connector sphere */}\n <mesh position={[0, 0, 0]}>\n <sphereGeometry args={[0.082, 16, 16]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={0.5}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { InfoIconProps } from \"./types\";\n\nexport function InfoIcon(props: InfoIconProps) {\n return (\n <SharedWrapper iconId=\"info\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Outer circular torus ring */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.78, 0.06, 12, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Lower vertical stem of \"i\" */}\n <mesh castShadow receiveShadow position={[0, -0.1, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.42, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Bottom decorative base plate for \"i\" */}\n <mesh position={[0, -0.3, 0]}>\n <cylinderGeometry args={[0.15, 0.15, 0.03, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n color={mat.color}\n />\n </mesh>\n\n {/* Dot of the letter \"i\" (accent-colored glowing sphere) */}\n <mesh castShadow position={[0, 0.25, 0]}>\n <sphereGeometry args={[0.09, 24, 24]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n roughness={0.15}\n metalness={0.5}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { AlertCircleIconProps } from \"./types\";\n\nexport function AlertCircleIcon(props: AlertCircleIconProps) {\n return (\n <SharedWrapper iconId=\"alertcircle\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Outer circular torus ring */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.78, 0.06, 12, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Exclamation point upper body (tapering downwards) */}\n <mesh castShadow receiveShadow position={[0, 0.08, 0]}>\n <cylinderGeometry args={[0.065, 0.035, 0.38, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Exclamation point bottom dot (accent-colored glowing sphere) */}\n <mesh castShadow position={[0, -0.22, 0]}>\n <sphereGeometry args={[0.075, 24, 24]} />\n <meshStandardMaterial\n color={props.accentColor || \"#ef4444\"}\n emissive={props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.2}\n roughness={0.15}\n metalness={0.5}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RocketIconProps } from \"./types\";\n\nexport function RocketIcon(props: RocketIconProps) {\n return (\n <SharedWrapper iconId=\"rocket\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.4, 0.2]} position={[0, -0.15, 0]}>\n {/* Main Cabin / Fuselage */}\n <mesh position={[0, 0.35, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.3, 0.3, 0.8, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Nose Cone */}\n <mesh position={[0, 0.95, 0]} castShadow>\n <coneGeometry args={[0.3, 0.4, 32]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.8}\n color=\"#ef4444\" // Bright Red Accent\n />\n </mesh>\n\n {/* Booster Tail Nozzle */}\n <mesh position={[0, -0.12, 0]} castShadow>\n <cylinderGeometry args={[0.2, 0.26, 0.15, 16]} />\n <meshStandardMaterial roughness={0.5} metalness={0.9} color=\"#18181b\" />\n </mesh>\n\n {/* Circular Portal Window */}\n <group position={[0, 0.45, 0.29]}>\n {/* Window Frame */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.12, 0.03, 8, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#d4af37\" />\n </mesh>\n {/* Window Glass */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, -0.01]}>\n <cylinderGeometry args={[0.11, 0.11, 0.02, 16]} />\n <meshPhysicalMaterial\n roughness={0.05}\n transmission={0.95}\n thickness={0.5}\n color=\"#38bdf8\"\n />\n </mesh>\n </group>\n\n {/* Stabilizer Fin 1 (Back Right) */}\n <mesh position={[0.3, 0.08, -0.15]} rotation={[0, -Math.PI / 3, 0.4]} castShadow>\n <boxGeometry args={[0.06, 0.38, 0.28]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#ef4444\" />\n </mesh>\n\n {/* Stabilizer Fin 2 (Back Left) */}\n <mesh position={[-0.3, 0.08, -0.15]} rotation={[0, Math.PI / 3, -0.4]} castShadow>\n <boxGeometry args={[0.06, 0.38, 0.28]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#ef4444\" />\n </mesh>\n\n {/* Stabilizer Fin 3 (Front Center) */}\n <mesh position={[0, 0.08, 0.3]} rotation={[0.4, 0, 0]} castShadow>\n <boxGeometry args={[0.06, 0.38, 0.28]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#ef4444\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FlashIconProps } from \"./types\";\n\nexport function FlashIcon(props: FlashIconProps) {\n return (\n <SharedWrapper iconId=\"flash\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.2, 0.15]}>\n {/* Top Zig */}\n <mesh position={[0.15, 0.42, 0]} rotation={[0, 0, -Math.PI / 8]} castShadow receiveShadow>\n <boxGeometry args={[0.3, 0.65, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Middle Connector */}\n <mesh position={[-0.04, 0.12, 0]} rotation={[0, 0, Math.PI / 6]} castShadow receiveShadow>\n <boxGeometry args={[0.26, 0.52, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Zag (Pointy) */}\n <mesh position={[-0.2, -0.28, 0]} rotation={[0, 0, -Math.PI / 10]} castShadow receiveShadow>\n <boxGeometry args={[0.22, 0.68, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ShieldIconProps } from \"./types\";\n\nexport function ShieldIcon(props: ShieldIconProps) {\n return (\n <SharedWrapper iconId=\"shield\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.2, 0.05]} position={[0, 0.1, 0]}>\n \n {/* Shield Base Plate */}\n <group>\n {/* Top curved main body */}\n <mesh castShadow receiveShadow position={[0, 0.1, 0]}>\n <boxGeometry args={[1.06, 0.72, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom pointy geometry (45-deg rotated box) */}\n <mesh castShadow receiveShadow position={[0, -0.23, 0]} rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.75, 0.75, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n {/* Central Checkmark (Emissive check symbol) */}\n <group position={[0, -0.04, 0.13]}>\n {/* Short leg */}\n <mesh position={[-0.1, -0.06, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <boxGeometry args={[0.07, 0.2, 0.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n {/* Long leg */}\n <mesh position={[0.07, 0.04, 0]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <boxGeometry args={[0.07, 0.38, 0.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Border highlight rim */}\n <group position={[0, 0, 0.01]}>\n <mesh position={[0, 0.1, 0.115]}>\n <boxGeometry args={[1.1, 0.74, 0.03]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n wireframe\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FolderIconProps } from \"./types\";\n\nexport function FolderIcon(props: FolderIconProps) {\n return (\n <SharedWrapper iconId=\"folder\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.4, 0.05]} position={[0, -0.08, 0]}>\n \n {/* Back Cover Substrate */}\n <mesh position={[0, 0, -0.12]} castShadow receiveShadow>\n <boxGeometry args={[1.3, 0.95, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Folder Tab on Back Cover */}\n <mesh position={[-0.38, 0.54, -0.12]} castShadow>\n <boxGeometry args={[0.42, 0.22, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Paper Sheet 1 (Peaking Out) */}\n <mesh position={[-0.05, 0.18, -0.04]} rotation={[0, 0, 0.05]} castShadow>\n <boxGeometry args={[1.15, 0.9, 0.04]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#f4f4f5\" />\n </mesh>\n\n {/* Paper Sheet 2 (Peaking Out) */}\n <mesh position={[0.04, 0.12, 0.02]} rotation={[0, 0, -0.04]} castShadow>\n <boxGeometry args={[1.12, 0.86, 0.04]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#e4e4e7\" />\n </mesh>\n\n {/* Front Cover (Slightly Slanted Open) */}\n <mesh position={[0, -0.04, 0.12]} rotation={[-0.08, 0, 0]} castShadow receiveShadow>\n <boxGeometry args={[1.3, 0.88, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MailIconProps } from \"./types\";\n\nexport function MailIcon(props: MailIconProps) {\n return (\n <SharedWrapper iconId=\"mail\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, -0.05, 0]}>\n \n {/* Main Envelope Body */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.4, 0.95, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Flap (Pointed Flap angled down) */}\n <mesh \n position={[0, 0.22, 0.09]} \n rotation={[-0.1, 0, Math.PI / 4]} \n castShadow\n >\n <boxGeometry args={[0.66, 0.66, 0.02]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Bottom Flap Cover */}\n <mesh position={[0, -0.24, 0.09]} castShadow>\n <boxGeometry args={[1.38, 0.48, 0.02]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Wax Sealing Stamp (Red round seal in center) */}\n <mesh position={[0, -0.08, 0.11]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.04, 16]} />\n <meshStandardMaterial\n roughness={0.3}\n metalness={0.1}\n color=\"#ef4444\" // Classic red sealing wax\n emissive=\"#b91c1c\"\n emissiveIntensity={0.2}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WalletIconProps } from \"./types\";\n\nexport function WalletIcon(props: WalletIconProps) {\n return (\n <SharedWrapper iconId=\"wallet\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, -0.05, 0]}>\n \n {/* Back Wallet Cover */}\n <mesh position={[0, 0, -0.06]} castShadow receiveShadow>\n <boxGeometry args={[1.3, 0.82, 0.1]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Credit Card 1 (peeking out) */}\n <mesh position={[-0.24, 0.38, -0.01]} rotation={[0, 0, -0.08]} castShadow>\n <boxGeometry args={[0.42, 0.32, 0.02]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#6366f1\" />\n </mesh>\n\n {/* Credit Card 2 (peeking out) */}\n <mesh position={[0.24, 0.34, -0.02]} rotation={[0, 0, 0.12]} castShadow>\n <boxGeometry args={[0.42, 0.32, 0.02]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#ef4444\" />\n </mesh>\n\n {/* Front Wallet Cover (slightly slanted forward) */}\n <mesh position={[0, -0.03, 0.08]} rotation={[-0.08, 0, 0]} castShadow receiveShadow>\n <boxGeometry args={[1.3, 0.76, 0.1]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Leather Closure Strap */}\n <mesh position={[0, 0.05, 0.12]} rotation={[-0.06, 0, 0]} castShadow>\n <boxGeometry args={[0.16, 0.28, 0.03]} />\n <meshStandardMaterial\n roughness={mat.roughness + 0.1}\n metalness={mat.metalness}\n color={mat.color}\n />\n </mesh>\n\n {/* Golden Snap Button / Clasp */}\n <mesh position={[0, -0.04, 0.145]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.045, 0.045, 0.02, 16]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color=\"#d4af37\" // Metallic Gold\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { CalendarIconProps } from \"./types\";\n\nexport function CalendarIcon(props: CalendarIconProps) {\n // 3x3 day grid offsets\n const dayOffsets = [-0.3, 0, 0.3];\n const rowOffsets = [0.08, -0.18, -0.44];\n\n return (\n <SharedWrapper iconId=\"calendar\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.3, 0.05]} position={[0, -0.05, 0]}>\n \n {/* Main Calendar Backing Board */}\n <mesh castShadow receiveShadow>\n <RoundedBox args={[1.2, 1.2, 0.16]} radius={0.12} smoothness={8}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Header Band (Red Accent) */}\n <mesh position={[0, 0.44, 0.02]} castShadow>\n <RoundedBox args={[1.2, 0.32, 0.18]} radius={0.06} smoothness={4}>\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.1}\n color=\"#ef4444\" // Crimson red header\n />\n </RoundedBox>\n </mesh>\n\n {/* Left Binder Hook/Ring */}\n <mesh position={[-0.32, 0.58, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.1, 0.028, 8, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#e2e8f0\" />\n </mesh>\n\n {/* Right Binder Hook/Ring */}\n <mesh position={[0.32, 0.58, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.1, 0.028, 8, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#e2e8f0\" />\n </mesh>\n\n {/* Day Grid Squares */}\n {rowOffsets.map((y, rowIdx) =>\n dayOffsets.map((x, colIdx) => (\n <mesh \n key={`${rowIdx}-${colIdx}`} \n position={[x, y, 0.095]} \n castShadow\n >\n <boxGeometry args={[0.16, 0.16, 0.03]} />\n <meshStandardMaterial \n roughness={0.8} \n metalness={0.1} \n color={\n rowIdx === 1 && colIdx === 1\n ? \"#3b82f6\" // Current day marked blue\n : props.theme === \"dark\" \n ? \"#1e293b\" \n : \"#cbd5e1\"\n } \n />\n </mesh>\n ))\n )}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DollarIconProps } from \"./types\";\n\nexport function DollarIcon(props: DollarIconProps) {\n return (\n <SharedWrapper iconId=\"dollar\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.4, 0.15]}>\n \n {/* Main Gold Coin Body */}\n <mesh castShadow receiveShadow rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.7, 0.7, 0.15, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Outer Raised Rim Border */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.66, 0.05, 12, 32]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color={mat.color}\n />\n </mesh>\n\n {/* Embossed Dollar Sign ($) - Vertical Strike */}\n <mesh position={[0, 0, 0.09]} castShadow>\n <boxGeometry args={[0.05, 0.72, 0.06]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#ffffff\" />\n </mesh>\n\n {/* Dollar Sign - Top Bar */}\n <mesh position={[0, 0.23, 0.09]} castShadow>\n <boxGeometry args={[0.24, 0.06, 0.06]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#ffffff\" />\n </mesh>\n\n {/* Dollar Sign - Middle Bar */}\n <mesh position={[0, 0, 0.09]} castShadow>\n <boxGeometry args={[0.24, 0.06, 0.06]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#ffffff\" />\n </mesh>\n\n {/* Dollar Sign - Bottom Bar */}\n <mesh position={[0, -0.23, 0.09]} castShadow>\n <boxGeometry args={[0.24, 0.06, 0.06]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#ffffff\" />\n </mesh>\n\n {/* Dollar Sign - Top Left Connector */}\n <mesh position={[-0.09, 0.115, 0.09]} castShadow>\n <boxGeometry args={[0.06, 0.17, 0.06]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#ffffff\" />\n </mesh>\n\n {/* Dollar Sign - Bottom Right Connector */}\n <mesh position={[0.09, -0.115, 0.09]} castShadow>\n <boxGeometry args={[0.06, 0.17, 0.06]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#ffffff\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ThumbUpIconProps } from \"./types\";\n\nexport function ThumbUpIcon(props: ThumbUpIconProps) {\n // Vertically stacked finger positions\n const fingerOffsets = [0.03, -0.09, -0.21, -0.33];\n\n return (\n <SharedWrapper iconId=\"thumbup\" {...props}>\n {(mat) => (\n <group rotation={[0.05, -0.35, 0.05]} position={[-0.05, 0.05, 0]}>\n \n {/* Sleeve Cuff (Wrist wrapper) */}\n <mesh position={[-0.45, -0.15, 0]} castShadow receiveShadow>\n <boxGeometry args={[0.3, 0.65, 0.5]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n // Cuff gets the accent color (or a nice contrast)\n color={props.accentColor || \"#f43f5e\"}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Cufflink Button */}\n <mesh position={[-0.45, -0.25, 0.26]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <sphereGeometry args={[0.055, 16, 16]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Wrist Joint (Connects cuff to palm) */}\n <mesh position={[-0.24, -0.15, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.18, 0.18, 0.15, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Palm Core */}\n <mesh position={[0.02, -0.15, 0]} castShadow receiveShadow>\n <boxGeometry args={[0.42, 0.46, 0.32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Thumb (Pointing straight up, rounded capsule) */}\n <mesh position={[-0.08, 0.22, 0]} castShadow>\n <capsuleGeometry args={[0.12, 0.35, 8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Curled Fingers (Four horizontal rounded capsules sticking out on front-right) */}\n {fingerOffsets.map((yOffset, i) => (\n <mesh \n key={i} \n position={[0.32, yOffset, 0.20]} \n rotation={[0, Math.PI / 2, 0]}\n castShadow\n >\n <capsuleGeometry args={[0.08, 0.24, 8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { useMemo } from \"react\";\nimport * as THREE from \"three\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { HeartIconProps } from \"./types\";\n\nexport function HeartIcon(props: HeartIconProps) {\n const heartShape = useMemo(() => {\n const shape = new THREE.Shape();\n // Start at top middle center\n shape.moveTo(0, 0.3);\n // Left curve\n shape.bezierCurveTo(0.2, 0.7, 0.7, 0.7, 0.7, 0.2);\n shape.bezierCurveTo(0.7, -0.2, 0.3, -0.5, 0, -0.85);\n // Right curve\n shape.bezierCurveTo(-0.3, -0.5, -0.7, -0.2, -0.7, 0.2);\n shape.bezierCurveTo(-0.7, 0.7, -0.2, 0.7, 0, 0.3);\n return shape;\n }, []);\n\n const extrudeSettings = {\n depth: 0.2,\n bevelEnabled: true,\n bevelSegments: 6,\n steps: 1,\n bevelSize: 0.08,\n bevelThickness: 0.08,\n };\n\n return (\n <SharedWrapper iconId=\"heart\" {...props}>\n {(mat) => (\n // Center the heart geometry in the viewport\n <group position={[0, 0.2, -0.1]} rotation={[0, 0, 0]}>\n <mesh castShadow receiveShadow>\n <extrudeGeometry args={[heartShape, extrudeSettings]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { useMemo } from \"react\";\nimport * as THREE from \"three\";\nimport { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { ChatIconProps } from \"./types\";\n\nexport function ChatIcon(props: ChatIconProps) {\n const bubbleShape = useMemo(() => {\n const shape = new THREE.Shape();\n shape.moveTo(-0.5, 0.4);\n shape.lineTo(0.5, 0.4);\n shape.quadraticCurveTo(0.6, 0.4, 0.6, 0.3);\n shape.lineTo(0.6, -0.2);\n shape.quadraticCurveTo(0.6, -0.3, 0.5, -0.3);\n shape.lineTo(-0.15, -0.3);\n // Tail pointing down-left\n shape.lineTo(-0.4, -0.6);\n shape.lineTo(-0.3, -0.3);\n shape.lineTo(-0.5, -0.3);\n shape.quadraticCurveTo(-0.6, -0.3, -0.6, -0.2);\n shape.lineTo(-0.6, 0.3);\n shape.quadraticCurveTo(-0.6, 0.4, -0.5, 0.4);\n return shape;\n }, []);\n\n const extrudeSettings = {\n depth: 0.16,\n bevelEnabled: true,\n bevelSegments: 5,\n steps: 1,\n bevelSize: 0.06,\n bevelThickness: 0.06,\n };\n\n return (\n <SharedWrapper iconId=\"chat\" {...props}>\n {(mat) => (\n <group position={[0, 0.1, 0]} rotation={[0.2, -0.2, 0]}>\n {/* Main Bubble Body */}\n <mesh castShadow receiveShadow position={[0, 0, -0.08]}>\n <extrudeGeometry args={[bubbleShape, extrudeSettings]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Floating Message Lines for realistic context */}\n <mesh position={[-0.05, 0.1, 0.11]} castShadow>\n <RoundedBox args={[0.55, 0.07, 0.03]} radius={0.03} smoothness={4}>\n <meshStandardMaterial \n roughness={0.4} \n metalness={0.1} \n color={props.theme === \"dark\" ? \"#f8fafc\" : \"#1e293b\"} \n />\n </RoundedBox>\n </mesh>\n\n <mesh position={[-0.15, -0.08, 0.11]} castShadow>\n <RoundedBox args={[0.35, 0.07, 0.03]} radius={0.03} smoothness={4}>\n <meshStandardMaterial \n roughness={0.4} \n metalness={0.1} \n color={props.theme === \"dark\" ? \"#f8fafc\" : \"#1e293b\"} \n />\n </RoundedBox>\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { KeyIconProps } from \"./types\";\n\nexport function KeyIcon(props: KeyIconProps) {\n return (\n <SharedWrapper iconId=\"key\" {...props}>\n {(mat) => (\n <group rotation={[0.4, 0.2, Math.PI / 4]} position={[0, 0.15, 0]}>\n {/* Key Bow / Head Ring */}\n <mesh position={[0, 0.45, 0]} castShadow receiveShadow>\n <torusGeometry args={[0.32, 0.1, 16, 64]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Shaft connecting head to bit */}\n <mesh position={[0, -0.15, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.8, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Tip of the key (Rounded end) */}\n <mesh position={[0, -0.55, 0]} castShadow receiveShadow>\n <sphereGeometry args={[0.07, 32, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Key Bitting / Tooth 1 */}\n <mesh position={[0.12, -0.3, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.18, 0.12, 0.1]} radius={0.02} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Key Bitting / Tooth 2 */}\n <mesh position={[0.1, -0.45, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.14, 0.09, 0.1]} radius={0.02} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { useMemo } from \"react\";\nimport * as THREE from \"three\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { StarIconProps } from \"./types\";\n\nexport function StarIcon(props: StarIconProps) {\n const starShape = useMemo(() => {\n const shape = new THREE.Shape();\n const spikes = 5;\n const outerRadius = 0.65;\n const innerRadius = 0.28;\n const step = Math.PI / spikes;\n \n // Start at top point\n let angle = Math.PI / 2;\n shape.moveTo(0, outerRadius);\n\n for (let i = 0; i < spikes; i++) {\n // outer point\n let x = Math.cos(angle) * outerRadius;\n let y = Math.sin(angle) * outerRadius;\n shape.lineTo(x, y);\n angle += step;\n\n // inner point\n x = Math.cos(angle) * innerRadius;\n y = Math.sin(angle) * innerRadius;\n shape.lineTo(x, y);\n angle += step;\n }\n shape.closePath();\n return shape;\n }, []);\n\n const extrudeSettings = {\n depth: 0.18,\n bevelEnabled: true,\n bevelSegments: 5,\n steps: 1,\n bevelSize: 0.06,\n bevelThickness: 0.06,\n };\n\n return (\n <SharedWrapper iconId=\"star\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0]} position={[0, 0, -0.09]}>\n <mesh castShadow receiveShadow>\n <extrudeGeometry args={[starShape, extrudeSettings]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { CartIconProps } from \"./types\";\n\nexport function CartIcon(props: CartIconProps) {\n const wheelPositions = [\n [-0.2, -0.3, -0.18],\n [0.2, -0.3, -0.18],\n [-0.2, -0.3, 0.18],\n [0.2, -0.3, 0.18]\n ] as const;\n\n return (\n <SharedWrapper iconId=\"cart\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.4, 0]} position={[0, 0.05, 0]}>\n \n {/* Basket Bottom */}\n <mesh position={[0, -0.1, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.55, 0.04, 0.4]} radius={0.02} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Basket Back Panel (Taller) */}\n <mesh position={[-0.26, 0.12, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.04, 0.4, 0.4]} radius={0.02} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Basket Front Panel */}\n <mesh position={[0.26, 0.06, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.04, 0.28, 0.4]} radius={0.02} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Basket Left Side */}\n <mesh position={[0, 0.08, 0.18]} castShadow receiveShadow>\n <RoundedBox args={[0.48, 0.32, 0.04]} radius={0.02} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Basket Right Side */}\n <mesh position={[0, 0.08, -0.18]} castShadow receiveShadow>\n <RoundedBox args={[0.48, 0.32, 0.04]} radius={0.02} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Bottom Chassis Tubes (Metallic) */}\n <mesh position={[0, -0.18, 0]} castShadow>\n <boxGeometry args={[0.5, 0.04, 0.3]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Cross Handle Bar */}\n <mesh position={[-0.32, 0.28, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.022, 0.022, 0.38, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#ef4444\" />\n </mesh>\n\n {/* 4 Wheels (Darker grey rubber with shiny steel axles) */}\n {wheelPositions.map((pos, idx) => (\n <group key={idx} position={pos}>\n <mesh castShadow>\n <sphereGeometry args={[0.07, 16, 16]} />\n <meshStandardMaterial roughness={0.8} color=\"#334155\" />\n </mesh>\n </group>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MusicIconProps } from \"./types\";\n\nexport function MusicIcon(props: MusicIconProps) {\n return (\n <SharedWrapper iconId=\"music\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0]} position={[0, -0.05, 0]}>\n \n {/* Left Note Head (Rotated Egg Shape) */}\n <group position={[-0.22, -0.3, 0]} rotation={[0.3, 0, 0.5]}>\n <mesh castShadow receiveShadow>\n <sphereGeometry args={[0.18, 32, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n {/* Right Note Head (Rotated Egg Shape) */}\n <group position={[0.18, -0.12, 0]} rotation={[0.3, 0, 0.5]}>\n <mesh castShadow receiveShadow>\n <sphereGeometry args={[0.18, 32, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n {/* Left Stem */}\n <mesh position={[-0.1, 0.1, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Right Stem */}\n <mesh position={[0.3, 0.28, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Slanted Connecting Beam */}\n <group position={[0.1, 0.59, 0]} rotation={[0, 0, 0.41]}>\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.45, 0.14, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { GamepadIconProps } from \"./types\";\n\nexport function GamepadIcon(props: GamepadIconProps) {\n return (\n <SharedWrapper iconId=\"gamepad\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Left Grip Handle */}\n <mesh position={[-0.42, -0.12, 0.02]} rotation={[0, 0, 0.5]} castShadow receiveShadow>\n <RoundedBox args={[0.22, 0.54, 0.16]} radius={0.08} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Right Grip Handle */}\n <mesh position={[0.42, -0.12, 0.02]} rotation={[0, 0, -0.5]} castShadow receiveShadow>\n <RoundedBox args={[0.22, 0.54, 0.16]} radius={0.08} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Main Controller Body Plate */}\n <mesh position={[0, 0.04, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.82, 0.44, 0.18]} radius={0.12} smoothness={5}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* D-Pad (Left Side Directional Cross) */}\n <group position={[-0.26, 0.05, 0.11]}>\n {/* Vertical Bar */}\n <mesh castShadow>\n <RoundedBox args={[0.06, 0.18, 0.05]} radius={0.015} smoothness={3}>\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#1e293b\" />\n </RoundedBox>\n </mesh>\n {/* Horizontal Bar */}\n <mesh castShadow>\n <RoundedBox args={[0.18, 0.06, 0.05]} radius={0.015} smoothness={3}>\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#1e293b\" />\n </RoundedBox>\n </mesh>\n </group>\n\n {/* 4 Action Buttons (Right Side Diamond) */}\n <group position={[0.26, 0.05, 0.11]}>\n {/* Button Y (Top) */}\n <mesh position={[0, 0.08, 0]} castShadow>\n <sphereGeometry args={[0.032, 16, 16]} />\n <meshStandardMaterial roughness={0.2} color=\"#ef4444\" /> {/* Red */}\n </mesh>\n {/* Button A (Bottom) */}\n <mesh position={[0, -0.08, 0]} castShadow>\n <sphereGeometry args={[0.032, 16, 16]} />\n <meshStandardMaterial roughness={0.2} color=\"#22c55e\" /> {/* Green */}\n </mesh>\n {/* Button X (Left) */}\n <mesh position={[-0.08, 0, 0]} castShadow>\n <sphereGeometry args={[0.032, 16, 16]} />\n <meshStandardMaterial roughness={0.2} color=\"#3b82f6\" /> {/* Blue */}\n </mesh>\n {/* Button B (Right) */}\n <mesh position={[0.08, 0, 0]} castShadow>\n <sphereGeometry args={[0.032, 16, 16]} />\n <meshStandardMaterial roughness={0.2} color=\"#eab308\" /> {/* Yellow */}\n </mesh>\n </group>\n\n {/* Left Thumbstick (Analog Stick) */}\n <group position={[-0.11, -0.08, 0.12]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.06, 16]} />\n <meshStandardMaterial roughness={0.8} color=\"#0f172a\" />\n </mesh>\n <mesh position={[0, 0.03, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.02, 16]} />\n <meshStandardMaterial roughness={0.6} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* Right Thumbstick (Analog Stick) */}\n <group position={[0.11, -0.08, 0.12]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.06, 16]} />\n <meshStandardMaterial roughness={0.8} color=\"#0f172a\" />\n </mesh>\n <mesh position={[0, 0.03, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.02, 16]} />\n <meshStandardMaterial roughness={0.6} color=\"#334155\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BellIconProps } from \"./types\";\n\nexport function BellIcon(props: BellIconProps) {\n return (\n <SharedWrapper iconId=\"bell\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.15, -0.05]} position={[0, 0, 0]}>\n \n {/* Top Loop / Crown hanger */}\n <mesh position={[0, 0.42, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.11, 0.032, 8, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Dome Top (Hemisphere) */}\n <mesh position={[0, 0.15, 0]} rotation={[0, 0, 0]} castShadow receiveShadow>\n <sphereGeometry args={[0.32, 32, 16, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Tapered Cylinder Body */}\n <mesh position={[0, -0.1, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.32, 0.45, 0.5, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bell Bottom Rim Collar */}\n <mesh position={[0, -0.33, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <torusGeometry args={[0.44, 0.05, 12, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bell Clapper Ball (contrasting orange/gold metal clapper) */}\n <mesh position={[0, -0.46, 0]} castShadow>\n <sphereGeometry args={[0.11, 24, 24]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#e2e8f0\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SunIconProps } from \"./types\";\n\nexport function SunIcon(props: SunIconProps) {\n const rayCount = 8;\n const rays = Array.from({ length: rayCount });\n const rayRadius = 0.64;\n\n return (\n <SharedWrapper iconId=\"sun\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.15, 0.05]}>\n \n {/* Central Sun Sphere */}\n <mesh castShadow receiveShadow>\n <sphereGeometry args={[0.42, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Radiating Rays */}\n {rays.map((_, index) => {\n const angle = (index * (Math.PI * 2)) / rayCount;\n const x = Math.cos(angle) * rayRadius;\n const y = Math.sin(angle) * rayRadius;\n\n return (\n <mesh\n key={index}\n position={[x, y, 0]}\n rotation={[0, 0, angle + Math.PI / 2]}\n castShadow\n receiveShadow\n >\n {/* Tapered capsule-like rays */}\n <cylinderGeometry args={[0.02, 0.048, 0.2, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n );\n })}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BulbIconProps } from \"./types\";\n\nexport function BulbIcon(props: BulbIconProps) {\n return (\n <SharedWrapper iconId=\"bulb\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0]} position={[0, 0.05, 0]}>\n \n {/* Main Top Glass Sphere */}\n <mesh position={[0, 0.22, 0]} castShadow receiveShadow>\n <sphereGeometry args={[0.44, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Neck Glass Taper */}\n <mesh position={[0, -0.06, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.38, 0.24, 0.26, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glowing Filament (U-Shape Loop) */}\n <group position={[0, 0.15, 0]}>\n <mesh castShadow>\n <torusGeometry args={[0.11, 0.02, 8, 32, Math.PI]} />\n <meshStandardMaterial roughness={0.1} metalness={0.2} color=\"#f59e0b\" emissive=\"#fbbf24\" emissiveIntensity={2.0} />\n </mesh>\n <mesh position={[-0.11, -0.1, 0]} castShadow>\n <cylinderGeometry args={[0.015, 0.015, 0.2, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.2} color=\"#f59e0b\" emissive=\"#fbbf24\" emissiveIntensity={1.0} />\n </mesh>\n <mesh position={[0.11, -0.1, 0]} castShadow>\n <cylinderGeometry args={[0.015, 0.015, 0.2, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.2} color=\"#f59e0b\" emissive=\"#fbbf24\" emissiveIntensity={1.0} />\n </mesh>\n </group>\n\n {/* Screw Base (Metal Threads) */}\n <group position={[0, -0.26, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.22, 0.22, 0.18, 24]} />\n <meshStandardMaterial roughness={0.25} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Thread Rings */}\n <mesh position={[0, 0.06, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.22, 0.03, 8, 24]} />\n <meshStandardMaterial roughness={0.25} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n <mesh position={[0, -0.02, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.22, 0.03, 8, 24]} />\n <meshStandardMaterial roughness={0.25} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n <mesh position={[0, -0.1, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.22, 0.03, 8, 24]} />\n <meshStandardMaterial roughness={0.25} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Bottom Contact Tip */}\n <mesh position={[0, -0.15, 0]} castShadow>\n <cylinderGeometry args={[0.14, 0.08, 0.06, 16]} />\n <meshStandardMaterial roughness={0.9} color=\"#334155\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { CameraIconProps } from \"./types\";\n\nexport function CameraIcon(props: CameraIconProps) {\n return (\n <SharedWrapper iconId=\"camera\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0]} position={[0, 0, 0]}>\n \n {/* Camera Body */}\n <mesh castShadow receiveShadow>\n <RoundedBox args={[1.0, 0.65, 0.38]} radius={0.1} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Lens Outer Barrel */}\n <mesh position={[0, -0.05, 0.18]} rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.26, 0.28, 0.22, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Inner Lens Glass Elements (Shiny reflection) */}\n <mesh position={[0, -0.05, 0.29]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.18, 0.18, 0.02, 24]} />\n <meshStandardMaterial roughness={0.05} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n <mesh position={[0, -0.05, 0.3]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.12, 0.12, 0.02, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.1} color=\"#38bdf8\" transparent opacity={0.6} />\n </mesh>\n\n {/* Flash Panel on Top-Left */}\n <mesh position={[-0.26, 0.38, 0.08]} castShadow>\n <RoundedBox args={[0.22, 0.12, 0.12]} radius={0.02} smoothness={3}>\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#cbd5e1\" />\n </RoundedBox>\n </mesh>\n <mesh position={[-0.26, 0.38, 0.14]} castShadow>\n <boxGeometry args={[0.16, 0.08, 0.02]} />\n <meshStandardMaterial roughness={0.1} metalness={0.1} color=\"#f8fafc\" emissive=\"#ffffff\" emissiveIntensity={1.5} />\n </mesh>\n\n {/* Shutter Button on Top-Right */}\n <mesh position={[0.28, 0.36, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.1, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#ef4444\" />\n </mesh>\n\n {/* Mode Dial Dial on Top-Center */}\n <mesh position={[0.02, 0.34, 0]} castShadow>\n <cylinderGeometry args={[0.11, 0.11, 0.06, 24]} />\n <meshStandardMaterial roughness={0.5} metalness={0.8} color=\"#475569\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ClockIconProps } from \"./types\";\n\nexport function ClockIcon(props: ClockIconProps) {\n return (\n <SharedWrapper iconId=\"clock\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0.05, 0]}>\n \n {/* Main Case (Outer Drum) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.54, 0.54, 0.2, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Clock Face Plate (white or dark matching theme) */}\n <mesh position={[0, 0, 0.065]} rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.46, 0.46, 0.08, 32]} />\n <meshStandardMaterial\n roughness={0.7}\n metalness={0.1}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#f8fafc\"}\n />\n </mesh>\n\n {/* Center Pin */}\n <mesh position={[0, 0, 0.12]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.04, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n\n {/* Hour Hand */}\n <group position={[0.08, 0.08, 0.11]} rotation={[0, 0, -0.8]}>\n <mesh castShadow>\n <boxGeometry args={[0.03, 0.22, 0.02]} />\n <meshStandardMaterial roughness={0.5} color=\"#ef4444\" />\n </mesh>\n </group>\n\n {/* Minute Hand */}\n <group position={[-0.11, 0.13, 0.11]} rotation={[0, 0, 0.7]}>\n <mesh castShadow>\n <boxGeometry args={[0.024, 0.32, 0.02]} />\n <meshStandardMaterial roughness={0.5} color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#0f172a\"} />\n </mesh>\n </group>\n\n {/* Left Top Bell Dome */}\n <group position={[-0.36, 0.44, 0]} rotation={[0, 0, 0.7]}>\n <mesh castShadow>\n <sphereGeometry args={[0.18, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n {/* Bell Post */}\n <mesh position={[0, -0.1, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.12, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Right Top Bell Dome */}\n <group position={[0.36, 0.44, 0]} rotation={[0, 0, -0.7]}>\n <mesh castShadow>\n <sphereGeometry args={[0.18, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n {/* Bell Post */}\n <mesh position={[0, -0.1, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.12, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Left Foot Leg */}\n <mesh position={[-0.26, -0.52, 0]} rotation={[0, 0, 0.4]} castShadow>\n <cylinderGeometry args={[0.04, 0.03, 0.16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Right Foot Leg */}\n <mesh position={[0.26, -0.52, 0]} rotation={[0, 0, -0.4]} castShadow>\n <cylinderGeometry args={[0.04, 0.03, 0.16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { TrophyIconProps } from \"./types\";\n\nexport function TrophyIcon(props: TrophyIconProps) {\n return (\n <SharedWrapper iconId=\"trophy\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0]} position={[0, 0.05, 0]}>\n \n {/* Main Cup Bowl */}\n <mesh position={[0, 0.14, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.42, 0.18, 0.44, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Rim Collar on Top of Bowl */}\n <mesh position={[0, 0.36, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <torusGeometry args={[0.42, 0.04, 8, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Handle Ring */}\n <mesh position={[-0.42, 0.14, 0]} rotation={[0, 0, 0.2]} castShadow receiveShadow>\n <torusGeometry args={[0.18, 0.035, 8, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Right Handle Ring */}\n <mesh position={[0.42, 0.14, 0]} rotation={[0, 0, -0.2]} castShadow receiveShadow>\n <torusGeometry args={[0.18, 0.035, 8, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Cup Stand / Stem */}\n <mesh position={[0, -0.18, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.08, 0.16, 0.22, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Base Pedestal (contrasting darker stand) */}\n <mesh position={[0, -0.36, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.42, 0.14, 0.42]} radius={0.03} smoothness={4}>\n <meshStandardMaterial \n roughness={0.7} \n metalness={0.2} \n color={props.theme === \"dark\" ? \"#1e293b\" : \"#475569\"} \n />\n </RoundedBox>\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { LockIconProps } from \"./types\";\n\nexport function LockIcon(props: LockIconProps) {\n return (\n <SharedWrapper iconId=\"lock\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.2, 0.02]} position={[0, 0.05, 0]}>\n \n {/* Padlock Shackle Loop (Shackle arch) */}\n <group position={[0, 0.16, 0]}>\n {/* Curved Arch (Half Torus) */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.28, 0.07, 16, 48, Math.PI]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n {/* Left Stem */}\n <mesh position={[-0.28, -0.15, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.3, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n {/* Right Stem */}\n <mesh position={[0.28, -0.15, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.3, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Padlock Body */}\n <mesh position={[0, -0.18, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.85, 0.58, 0.36]} radius={0.1} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Keyhole (Contrasting dark keyhole details) */}\n <group position={[0, -0.18, 0.185]}>\n {/* Top Circle */}\n <mesh castShadow>\n <cylinderGeometry args={[0.075, 0.075, 0.02, 16]} />\n <meshStandardMaterial roughness={0.7} color=\"#0f172a\" />\n </mesh>\n {/* Bottom Triangle/Slot */}\n <mesh position={[0, -0.09, 0]} castShadow>\n <boxGeometry args={[0.06, 0.12, 0.02]} />\n <meshStandardMaterial roughness={0.7} color=\"#0f172a\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MapPinIconProps } from \"./types\";\n\nexport function MapPinIcon(props: MapPinIconProps) {\n return (\n <SharedWrapper iconId=\"mappin\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0]} position={[0, 0.05, 0]}>\n \n {/* Main Pin Balloon Ring */}\n <mesh position={[0, 0.2, 0]} castShadow receiveShadow>\n <torusGeometry args={[0.26, 0.14, 16, 64]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Pin Bottom Taper (Cone pointing down) */}\n <mesh position={[0, -0.16, 0]} rotation={[Math.PI, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.02, 0.24, 0.5, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Base shadow/plate indicator (Dark ground ring) */}\n <mesh position={[0, -0.42, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.18, 0.03, 8, 32]} />\n <meshStandardMaterial roughness={0.6} color={props.theme === \"dark\" ? \"#1e293b\" : \"#64748b\"} />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { CreditCardIconProps } from \"./types\";\n\nexport function CreditCardIcon(props: CreditCardIconProps) {\n return (\n <SharedWrapper iconId=\"creditcard\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.35, 0.12]} position={[0, 0, 0]}>\n \n {/* Card Body Slab */}\n <mesh castShadow receiveShadow>\n <RoundedBox args={[1.2, 0.78, 0.08]} radius={0.05} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* SIM Card Gold Chip (Front Left) */}\n <mesh position={[-0.34, 0.12, 0.045]} castShadow>\n <RoundedBox args={[0.2, 0.16, 0.01]} radius={0.01} smoothness={2}>\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#fbbf24\" />\n </RoundedBox>\n </mesh>\n\n {/* Holographic/Dark stripe on the front bottom */}\n <mesh position={[0, -0.16, 0.045]} castShadow>\n <boxGeometry args={[1.0, 0.08, 0.01]} />\n <meshStandardMaterial roughness={0.5} color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"} />\n </mesh>\n\n {/* Brand Logo - Circle 1 (Red) */}\n <mesh position={[0.28, -0.16, 0.046]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.1, 0.1, 0.01, 24]} />\n <meshStandardMaterial roughness={0.3} color=\"#ef4444\" />\n </mesh>\n\n {/* Brand Logo - Circle 2 (Orange/Yellow) */}\n <mesh position={[0.42, -0.16, 0.046]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.1, 0.1, 0.01, 24]} />\n <meshStandardMaterial roughness={0.3} color=\"#f59e0b\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WifiIconProps } from \"./types\";\n\nexport function WifiIcon(props: WifiIconProps) {\n const arcLength = Math.PI * 2 / 3; // 120 degrees arc\n const zRotation = Math.PI / 6; // Offset to center it on the Y-axis\n\n return (\n <SharedWrapper iconId=\"wifi\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.15, 0]} position={[0, -0.1, 0]}>\n \n {/* Bottom Center Dot */}\n <mesh position={[0, -0.32, 0]} castShadow receiveShadow>\n <sphereGeometry args={[0.09, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* First Inner Arch */}\n <mesh position={[0, -0.32, 0]} rotation={[0, 0, zRotation]} castShadow receiveShadow>\n <torusGeometry args={[0.26, 0.048, 8, 48, arcLength]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Second Middle Arch */}\n <mesh position={[0, -0.32, 0]} rotation={[0, 0, zRotation]} castShadow receiveShadow>\n <torusGeometry args={[0.54, 0.048, 8, 48, arcLength]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Third Outer Arch */}\n <mesh position={[0, -0.32, 0]} rotation={[0, 0, zRotation]} castShadow receiveShadow>\n <torusGeometry args={[0.82, 0.048, 8, 48, arcLength]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SearchIconProps } from \"./types\";\n\nexport function SearchIcon(props: SearchIconProps) {\n return (\n <SharedWrapper iconId=\"search\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0]} position={[0, 0.1, 0]}>\n {/* Magnifying Glass Ring */}\n <mesh castShadow receiveShadow position={[0.12, 0.12, 0]}>\n <torusGeometry args={[0.42, 0.07, 16, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glass Lens (Inside the Ring) */}\n <mesh castShadow position={[0.12, 0.12, 0]}>\n <cylinderGeometry args={[0.4, 0.4, 0.04, 32]} />\n <meshPhysicalMaterial\n roughness={0.15}\n metalness={0.1}\n transmission={0.9}\n thickness={0.8}\n clearcoat={1.0}\n clearcoatRoughness={0.05}\n ior={1.5}\n color={props.accentColor || \"#38bdf8\"}\n emissive={props.theme === \"dark\" ? \"#1e1b4b\" : \"#000000\"}\n emissiveIntensity={0.2}\n />\n </mesh>\n\n {/* Diagonal Handle */}\n <mesh position={[-0.24, -0.24, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <cylinderGeometry args={[0.05, 0.05, 0.45, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Handle Tip (Accent Color) */}\n <mesh position={[-0.4, -0.4, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <cylinderGeometry args={[0.052, 0.052, 0.12, 16]} />\n <meshPhysicalMaterial\n roughness={0.3}\n metalness={0.6}\n color={props.accentColor || \"#f43f5e\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HomeIconProps } from \"./types\";\n\nexport function HomeIcon(props: HomeIconProps) {\n return (\n <SharedWrapper iconId=\"home\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.3, 0.05]} position={[0, -0.05, 0]}>\n {/* Main House Base */}\n <mesh castShadow receiveShadow position={[0, -0.2, 0]}>\n <boxGeometry args={[0.75, 0.6, 0.65]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Pyramidal Roof (using 4-sided Cone) */}\n <mesh position={[0, 0.35, 0]} rotation={[0, Math.PI / 4, 0]} castShadow>\n <coneGeometry args={[0.62, 0.55, 4]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={props.accentColor || \"#f43f5e\"}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Chimney */}\n <mesh position={[0.2, 0.38, -0.15]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.3, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Door */}\n <mesh position={[0, -0.32, 0.33]} castShadow>\n <boxGeometry args={[0.18, 0.34, 0.02]} />\n <meshStandardMaterial\n roughness={0.4}\n metalness={0.2}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#e4e4e7\"}\n />\n </mesh>\n\n {/* Window */}\n <mesh position={[0, 0.02, 0.33]} castShadow>\n <boxGeometry args={[0.16, 0.16, 0.02]} />\n <meshPhysicalMaterial\n roughness={0.1}\n metalness={0.1}\n transmission={0.9}\n thickness={0.5}\n color={props.accentColor || \"#eab308\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TrashIconProps } from \"./types\";\n\nexport function TrashIcon(props: TrashIconProps) {\n const ribs = [0, 60, 120, 180, 240, 300];\n\n return (\n <SharedWrapper iconId=\"trash\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.25, 0.05]} position={[0, -0.05, 0]}>\n {/* Main Tapered Trash Bin Body */}\n <mesh castShadow receiveShadow position={[0, -0.1, 0]}>\n <cylinderGeometry args={[0.38, 0.3, 0.65, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Decorative Vertical Ribs */}\n {ribs.map((deg, i) => {\n const rad = (deg * Math.PI) / 180;\n // Place ribs on the outer surface of the cylinder\n const x = Math.sin(rad) * 0.36;\n const z = Math.cos(rad) * 0.36;\n return (\n <mesh key={i} position={[x, -0.1, z]} rotation={[0, -rad, 0]} castShadow>\n <boxGeometry args={[0.03, 0.63, 0.03]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n );\n })}\n\n {/* Bin Rim Ring */}\n <mesh position={[0, 0.22, 0]} castShadow>\n <torusGeometry args={[0.375, 0.025, 8, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={props.accentColor || \"#ef4444\"}\n />\n </mesh>\n\n {/* Lid */}\n <mesh position={[0, 0.27, 0]} castShadow>\n <cylinderGeometry args={[0.4, 0.4, 0.05, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Lid Handle */}\n <mesh position={[0, 0.33, 0]} castShadow>\n <torusGeometry args={[0.07, 0.025, 8, 16, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={props.accentColor || \"#ef4444\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { UserIconProps } from \"./types\";\n\nexport function UserIcon(props: UserIconProps) {\n return (\n <SharedWrapper iconId=\"user\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.2, 0.02]} position={[0, 0, 0]}>\n {/* Head Sphere */}\n <mesh position={[0, 0.32, 0]} castShadow>\n <sphereGeometry args={[0.26, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Torso Shoulder Bust (Capsule) */}\n <mesh position={[0, -0.22, 0]} castShadow>\n <capsuleGeometry args={[0.38, 0.28, 8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Decorative Collar ring */}\n <mesh position={[0, 0.02, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.16, 0.02, 8, 24]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.7}\n color={props.accentColor || \"#10b981\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PlayIconProps } from \"./types\";\n\nexport function PlayIcon(props: PlayIconProps) {\n return (\n <SharedWrapper iconId=\"play\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.3, 0.05]} position={[0, 0, 0]}>\n {/* Circular Frame Ring */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.68, 0.06, 16, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Core Play Triangle */}\n <mesh position={[-0.08, 0, 0]} rotation={[Math.PI / 2, Math.PI / 2, 0]} castShadow>\n <coneGeometry args={[0.35, 0.56, 3]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={props.accentColor || \"#10b981\"}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Decorative Back Disk (Glass look inside the ring) */}\n <mesh position={[0, 0, -0.04]}>\n <cylinderGeometry args={[0.62, 0.62, 0.03, 32]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.1}\n transmission={0.8}\n thickness={0.4}\n color={props.accentColor || \"#10b981\"}\n opacity={0.3}\n transparent\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GiftIconProps } from \"./types\";\n\nexport function GiftIcon(props: GiftIconProps) {\n return (\n <SharedWrapper iconId=\"gift\" {...props}>\n {(mat) => (\n <group rotation={[0.12, -0.3, 0.05]} position={[0, -0.05, 0]}>\n {/* Box Base Body */}\n <mesh castShadow receiveShadow position={[0, -0.15, 0]}>\n <boxGeometry args={[0.74, 0.58, 0.74]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Lid (Top Box) */}\n <mesh position={[0, 0.2, 0]} castShadow>\n <boxGeometry args={[0.8, 0.16, 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Ribbon Stripe 1 (X Axis) */}\n <mesh position={[0, 0.02, 0]} castShadow>\n <boxGeometry args={[0.12, 0.94, 0.76]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={props.accentColor || \"#ef4444\"}\n />\n </mesh>\n\n {/* Ribbon Stripe 2 (Z Axis) */}\n <mesh position={[0, 0.02, 0]} castShadow>\n <boxGeometry args={[0.76, 0.94, 0.12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={props.accentColor || \"#ef4444\"}\n />\n </mesh>\n\n {/* Ribbon Bow Left Loop */}\n <mesh position={[0.1, 0.3, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <torusGeometry args={[0.13, 0.038, 8, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n color={props.accentColor || \"#ef4444\"}\n />\n </mesh>\n\n {/* Ribbon Bow Right Loop */}\n <mesh position={[-0.1, 0.3, 0]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <torusGeometry args={[0.13, 0.038, 8, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n color={props.accentColor || \"#ef4444\"}\n />\n </mesh>\n\n {/* Bow Center knot */}\n <mesh position={[0, 0.3, 0]} castShadow>\n <sphereGeometry args={[0.06, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n color={props.accentColor || \"#ef4444\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GlobeIconProps } from \"./types\";\n\nexport function GlobeIcon(props: GlobeIconProps) {\n return (\n <SharedWrapper iconId=\"globe\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.05]} position={[0, -0.05, 0]}>\n {/* Central Sphere (Earth) */}\n <mesh castShadow receiveShadow position={[0, 0.1, 0]}>\n <sphereGeometry args={[0.48, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Latitude Band (Tilted Ring) */}\n <mesh position={[0, 0.1, 0]} rotation={[0.3, 0.4, 0.8]} castShadow>\n <torusGeometry args={[0.55, 0.035, 8, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={props.accentColor || \"#3b82f6\"}\n />\n </mesh>\n\n {/* Longitude Band (Perpendicular Tilted Ring) */}\n <mesh position={[0, 0.1, 0]} rotation={[1.2, -0.6, 0.2]} castShadow>\n <torusGeometry args={[0.55, 0.035, 8, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={props.accentColor || \"#3b82f6\"}\n />\n </mesh>\n\n {/* Curved Stand Arm */}\n <mesh position={[-0.08, 0.08, 0]} rotation={[0, 0, Math.PI * 0.28]} castShadow>\n <torusGeometry args={[0.62, 0.045, 8, 32, Math.PI * 1.1]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Stand Axis Pin Top */}\n <mesh position={[0.13, 0.65, 0]} rotation={[0, 0, Math.PI / 6]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.1, 12]} />\n <meshStandardMaterial color=\"#475569\" metalness={0.8} />\n </mesh>\n\n {/* Stand Axis Pin Bottom */}\n <mesh position={[-0.28, -0.48, 0]} rotation={[0, 0, Math.PI / 6]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.1, 12]} />\n <meshStandardMaterial color=\"#475569\" metalness={0.8} />\n </mesh>\n\n {/* Stand Base Connector Column */}\n <mesh position={[-0.43, -0.48, 0]} rotation={[0, 0, 0.1]} castShadow>\n <cylinderGeometry args={[0.06, 0.06, 0.14, 16]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Stand Base Disk */}\n <mesh position={[-0.44, -0.55, 0]} castShadow>\n <cylinderGeometry args={[0.26, 0.28, 0.07, 24]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BagIconProps } from \"./types\";\n\nexport function BagIcon(props: BagIconProps) {\n return (\n <SharedWrapper iconId=\"bag\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.3, 0.05]} position={[0, -0.05, 0]}>\n {/* Main Bag Body (Box) */}\n <mesh castShadow receiveShadow position={[0, -0.12, 0]}>\n <boxGeometry args={[0.68, 0.58, 0.38]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Front Pocket (accent colored slice) */}\n <mesh position={[0, -0.16, 0.192]} castShadow>\n <boxGeometry args={[0.68, 0.35, 0.02]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n color={props.accentColor || \"#38bdf8\"}\n />\n </mesh>\n\n {/* Left Handle Loop */}\n <mesh position={[0, 0.22, 0.1]} rotation={[0, 0, Math.PI]} castShadow>\n <torusGeometry args={[0.16, 0.025, 8, 24, Math.PI]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Right Handle Loop */}\n <mesh position={[0, 0.22, -0.1]} rotation={[0, 0, Math.PI]} castShadow>\n <torusGeometry args={[0.16, 0.025, 8, 24, Math.PI]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function CompassIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"compass\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Compass Outer Casing Ring */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.7, 0.08, 16, 64]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.5}\n />\n </mesh>\n\n {/* Compass Top Attachment Loop */}\n <mesh position={[0, 0.8, 0]} rotation={[0, 0, 0]} castShadow>\n <torusGeometry args={[0.12, 0.04, 8, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Inner Backing Dial Plate */}\n <mesh position={[0, 0, -0.04]} rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.66, 0.66, 0.04, 32]} />\n <meshPhysicalMaterial\n roughness={Math.max(0.1, mat.roughness - 0.1)}\n metalness={Math.max(0, mat.metalness - 0.2)}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color=\"#ffffff\" // Clean white/metallic background plate for readability\n />\n </mesh>\n\n {/* Dial Face Center Pin */}\n <mesh position={[0, 0, 0.04]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.1, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* North Needle (Red) */}\n <group position={[0, 0, 0.05]} rotation={[0, 0, 0]}>\n <mesh position={[0, 0.26, 0.01]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <coneGeometry args={[0.08, 0.5, 4]} />\n <meshStandardMaterial roughness={0.3} metalness={0.2} color=\"#ef4444\" />\n </mesh>\n </group>\n\n {/* South Needle (Blue/Silver) */}\n <group position={[0, 0, 0.05]} rotation={[0, 0, Math.PI]}>\n <mesh position={[0, 0.26, 0.01]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <coneGeometry args={[0.08, 0.5, 4]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Directional Tick Markers (North, South, East, West) */}\n <mesh position={[0, 0.52, 0.02]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.08, 8]} />\n <meshStandardMaterial color=\"#ef4444\" />\n </mesh>\n <mesh position={[0, -0.52, 0.02]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.08, 8]} />\n <meshStandardMaterial color=\"#71717a\" />\n </mesh>\n <mesh position={[0.52, 0, 0.02]} rotation={[Math.PI / 2, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.08, 8]} />\n <meshStandardMaterial color=\"#71717a\" />\n </mesh>\n <mesh position={[-0.52, 0, 0.02]} rotation={[Math.PI / 2, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.08, 8]} />\n <meshStandardMaterial color=\"#71717a\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function SendIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"send\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.4, 0.2]} position={[0, 0, 0]}>\n \n {/* Central spine/keel of the paper plane */}\n <mesh castShadow receiveShadow position={[0, -0.1, 0]} rotation={[0, 0, 0]}>\n <boxGeometry args={[0.08, 0.3, 1.2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Wing Main Face (slanted outwards and up) */}\n <mesh \n position={[-0.32, 0.08, -0.1]} \n rotation={[0.1, -0.15, -0.2]} \n castShadow\n >\n <boxGeometry args={[0.6, 0.04, 1.0]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Right Wing Main Face (slanted outwards and up) */}\n <mesh \n position={[0.32, 0.08, -0.1]} \n rotation={[0.1, 0.15, 0.2]} \n castShadow\n >\n <boxGeometry args={[0.6, 0.04, 1.0]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Inner Wing Folds (forming the creased look) */}\n <mesh \n position={[-0.1, -0.02, -0.05]} \n rotation={[0, 0, -0.5]} \n castShadow\n >\n <boxGeometry args={[0.2, 0.03, 0.95]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n <mesh \n position={[0.1, -0.02, -0.05]} \n rotation={[0, 0, 0.5]} \n castShadow\n >\n <boxGeometry args={[0.2, 0.03, 0.95]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Under-Keel Triangle Fin (optional detail) */}\n <mesh position={[0, -0.22, -0.1]} rotation={[Math.PI / 4, 0, 0]} castShadow>\n <boxGeometry args={[0.04, 0.2, 0.35]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function TargetIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"target\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.4, 0.15]} position={[0, 0, 0]}>\n \n {/* Target Base / Outer Ring */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.7, 0.7, 0.08, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Middle Ring (Contrast Ring) */}\n <mesh position={[0, 0, 0.01]} rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.46, 0.46, 0.085, 32]} />\n <meshPhysicalMaterial\n roughness={Math.max(0.1, mat.roughness - 0.1)}\n metalness={Math.max(0, mat.metalness - 0.2)}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color=\"#ffffff\" // White contrasting ring\n />\n </mesh>\n\n {/* Inner Ring (Bullseye center) */}\n <mesh position={[0, 0, 0.02]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.22, 0.22, 0.09, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Arrow piercing the target */}\n <group position={[0, 0, 0.05]} rotation={[-0.4, 0.4, 0]}>\n \n {/* Arrow Shaft */}\n <mesh position={[0, 0, 0.3]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 1.2, 12]} />\n <meshStandardMaterial roughness={0.5} metalness={0.7} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Arrow Tip (embedding into the center) */}\n <mesh position={[0, 0, -0.3]} rotation={[-Math.PI / 2, 0, 0]} castShadow>\n <coneGeometry args={[0.05, 0.15, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n\n {/* Arrow Feathers / Fletching */}\n <group position={[0, 0, 0.85]}>\n {/* Top Feather */}\n <mesh position={[0, 0.08, 0]} rotation={[0, 0, 0]} castShadow>\n <boxGeometry args={[0.01, 0.12, 0.25]} />\n <meshStandardMaterial color=\"#ffffff\" roughness={0.6} />\n </mesh>\n {/* Diagonal Left Feather */}\n <mesh position={[-0.07, -0.04, 0]} rotation={[0, 0, Math.PI / 3]} castShadow>\n <boxGeometry args={[0.01, 0.12, 0.25]} />\n <meshStandardMaterial color=\"#ffffff\" roughness={0.6} />\n </mesh>\n {/* Diagonal Right Feather */}\n <mesh position={[0.07, -0.04, 0]} rotation={[0, 0, -Math.PI / 3]} castShadow>\n <boxGeometry args={[0.01, 0.12, 0.25]} />\n <meshStandardMaterial color=\"#ffffff\" roughness={0.6} />\n </mesh>\n </group>\n\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function EditIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"edit\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.4, 0.7]} position={[0, 0, 0]}>\n \n {/* Hexagonal Pencil Body */}\n <mesh castShadow receiveShadow position={[0, 0.1, 0]}>\n <cylinderGeometry args={[0.16, 0.16, 1.1, 6]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Metal Band (Ferrule) */}\n <mesh castShadow position={[0, 0.7, 0]}>\n <cylinderGeometry args={[0.17, 0.17, 0.14, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" /> {/* Gold ring */}\n </mesh>\n\n {/* Eraser */}\n <mesh castShadow position={[0, 0.84, 0]}>\n <cylinderGeometry args={[0.16, 0.16, 0.16, 16]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#fda4af\" /> {/* Soft pink eraser */}\n </mesh>\n\n {/* Sharpened Wood Cone Tip */}\n <mesh castShadow position={[0, -0.6, 0]} rotation={[Math.PI, 0, 0]}>\n <coneGeometry args={[0.16, 0.3, 16]} />\n <meshStandardMaterial roughness={0.7} metalness={0.05} color=\"#fed7aa\" /> {/* Light wood tone */}\n </mesh>\n\n {/* Graphite Lead Tip */}\n <mesh castShadow position={[0, -0.71, 0]} rotation={[Math.PI, 0, 0]}>\n <coneGeometry args={[0.06, 0.12, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#27272a\" /> {/* Charcoal graphite tip */}\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function PhoneIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"phone\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.4, 0.4]} position={[0, 0, 0]}>\n \n {/* Main Curved Handle - Middle Section */}\n <mesh castShadow receiveShadow position={[0, 0, 0]} rotation={[0, 0, 0]}>\n <cylinderGeometry args={[0.08, 0.08, 1.0, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Receiver Cup Joiner (rotated towards ear) */}\n <mesh castShadow position={[0.08, 0.44, 0.08]} rotation={[-0.4, 0, 0]}>\n <cylinderGeometry args={[0.08, 0.12, 0.2, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Top Speaker Cap */}\n <mesh castShadow position={[0.12, 0.52, 0.12]} rotation={[-0.4, 0, 0]}>\n <cylinderGeometry args={[0.22, 0.22, 0.06, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n <mesh position={[0.12, 0.55, 0.12]} rotation={[-0.4, 0, 0]}>\n <cylinderGeometry args={[0.2, 0.2, 0.02, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" /> {/* Metallic plate */}\n </mesh>\n\n {/* Bottom Microphone Cup Joiner (rotated towards mouth) */}\n <mesh castShadow position={[0.08, -0.44, 0.08]} rotation={[0.4, 0, 0]}>\n <cylinderGeometry args={[0.08, 0.12, 0.2, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Bottom Microphone Cap */}\n <mesh castShadow position={[0.12, -0.52, 0.12]} rotation={[0.4, 0, 0]}>\n <cylinderGeometry args={[0.22, 0.22, 0.06, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n <mesh position={[0.12, -0.55, 0.12]} rotation={[0.4, 0, 0]}>\n <cylinderGeometry args={[0.2, 0.2, 0.02, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" /> {/* Metallic plate */}\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function BookIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"book\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Back Cover */}\n <mesh castShadow receiveShadow position={[0, 0, -0.16]}>\n <boxGeometry args={[0.95, 1.35, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Front Cover */}\n <mesh castShadow receiveShadow position={[0, 0, 0.16]}>\n <boxGeometry args={[0.95, 1.35, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Book Spine (left side) */}\n <mesh castShadow position={[-0.47, 0, 0]} rotation={[0, 0, 0]}>\n <cylinderGeometry args={[0.2, 0.2, 1.35, 16, 1, false, Math.PI / 2, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Pages (cream-colored block inside) */}\n <mesh castShadow receiveShadow position={[0.04, 0, 0]}>\n <boxGeometry args={[0.82, 1.25, 0.26]} />\n <meshPhysicalMaterial\n roughness={0.8}\n metalness={0.05}\n color=\"#fcfcf0\" // Warm cream page color\n />\n </mesh>\n\n {/* Ribbon Bookmark (accent dangling out of the bottom) */}\n <mesh position={[0, -0.68, 0.04]} rotation={[0.1, 0, 0.1]} castShadow>\n <boxGeometry args={[0.08, 0.35, 0.02]} />\n <meshStandardMaterial roughness={0.3} metalness={0.2} color={mat.color} />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function LinkIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"link\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.4, 0.4]} position={[0, 0, 0]}>\n \n {/* First Interlocking Link */}\n <group position={[0, 0.26, 0]} rotation={[Math.PI / 4, 0, Math.PI / 4]}>\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.34, 0.1, 16, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n {/* Second Interlocking Link */}\n <group position={[0, -0.26, 0]} rotation={[Math.PI / 4, Math.PI / 2, Math.PI / 4]}>\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.34, 0.1, 16, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CrownIconProps } from \"./types\";\n\nexport function CrownIcon(props: CrownIconProps) {\n return (\n <SharedWrapper iconId=\"crown\" {...props}>\n {(mat) => {\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : (props.accentColor || \"#f59e0b\");\n return (\n <group rotation={[0.15, -0.25, 0.05]}>\n {/* Crown band base */}\n <mesh castShadow receiveShadow position={[0, -0.28, 0]}>\n <boxGeometry args={[1.5, 0.28, 0.35]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.4} />\n </mesh>\n {/* Left spike */}\n <mesh castShadow position={[-0.54, 0.22, 0]}>\n <boxGeometry args={[0.22, 0.76, 0.3]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.4} />\n </mesh>\n {/* Center spike – taller */}\n <mesh castShadow position={[0, 0.38, 0]}>\n <boxGeometry args={[0.24, 1.06, 0.3]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.6} />\n </mesh>\n {/* Right spike */}\n <mesh castShadow position={[0.54, 0.22, 0]}>\n <boxGeometry args={[0.22, 0.76, 0.3]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.4} />\n </mesh>\n {/* Gems */}\n {([-0.54, 0, 0.54] as number[]).map((x, i) => (\n <mesh key={i} position={[x, i === 1 ? 0.92 : 0.62, 0.18]}>\n <octahedronGeometry args={[0.1]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={1.2} roughness={0.05} metalness={0.2} />\n </mesh>\n ))}\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function PinIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"pin\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.2, 0.4]} position={[0, 0.1, 0]}>\n \n {/* Metal Pin Needle (extending down from bottom of handle) */}\n <mesh castShadow position={[0, -0.62, 0]}>\n <cylinderGeometry args={[0.02, 0.02, 0.6, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Needle Sharp Tip */}\n <mesh castShadow position={[0, -0.96, 0]} rotation={[Math.PI, 0, 0]}>\n <coneGeometry args={[0.02, 0.08, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Pin Handle - Bottom Flat Base Collar */}\n <mesh castShadow position={[0, -0.26, 0]}>\n <cylinderGeometry args={[0.26, 0.26, 0.1, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Pin Handle - Middle Tapered Waist */}\n <mesh castShadow position={[0, 0.08, 0]}>\n <cylinderGeometry args={[0.16, 0.24, 0.58, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Pin Handle - Top Rounded Head */}\n <mesh castShadow position={[0, 0.44, 0]}>\n <sphereGeometry args={[0.28, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function FlagIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"flag\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[-0.2, 0, 0]}>\n \n {/* Flagpole (Steel silver pole) */}\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <cylinderGeometry args={[0.022, 0.022, 1.4, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Flagpole Top Ball */}\n <mesh castShadow position={[0, 0.72, 0]}>\n <sphereGeometry args={[0.05, 16, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" /> {/* Gold top ball */}\n </mesh>\n\n {/* Flagpole Bottom Collar */}\n <mesh castShadow position={[0, -0.71, 0]}>\n <cylinderGeometry args={[0.08, 0.08, 0.04, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Waving Flag Banner - Segment 1 (closest to pole) */}\n <mesh position={[0.2, 0.3, 0.015]} rotation={[0, 0.2, 0]} castShadow>\n <boxGeometry args={[0.38, 0.46, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Waving Flag Banner - Segment 2 (middle wave) */}\n <mesh position={[0.52, 0.3, -0.025]} rotation={[0, -0.35, 0]} castShadow>\n <boxGeometry args={[0.34, 0.46, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Waving Flag Banner - Segment 3 (tail end) */}\n <mesh position={[0.8, 0.3, 0.01]} rotation={[0, 0.15, 0]} castShadow>\n <boxGeometry args={[0.26, 0.46, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function BriefcaseIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"briefcase\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, -0.05, 0]}>\n \n {/* Main Case Body */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.3, 0.9, 0.34]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Latch (Metallic Gold/Silver lock) */}\n <mesh castShadow position={[-0.32, 0.1, 0.18]} rotation={[0, 0, 0]}>\n <boxGeometry args={[0.12, 0.16, 0.06]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Right Latch (Metallic Gold/Silver lock) */}\n <mesh castShadow position={[0.32, 0.1, 0.18]} rotation={[0, 0, 0]}>\n <boxGeometry args={[0.12, 0.16, 0.06]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Center Strap (Premium accent bar) */}\n <mesh position={[0, 0, 0.18]} castShadow>\n <boxGeometry args={[0.08, 0.92, 0.02]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#27272a\" />\n </mesh>\n\n {/* Top Handle - Left Joint */}\n <mesh position={[-0.22, 0.5, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.16, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Top Handle - Right Joint */}\n <mesh position={[0.22, 0.5, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.16, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Top Handle - Grip Bar */}\n <mesh position={[0, 0.58, 0]} castShadow>\n <boxGeometry args={[0.48, 0.06, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function EyeIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"eye\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0]} position={[0, 0, 0]}>\n \n {/* Eyeball (White Sphere) */}\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <sphereGeometry args={[0.44, 32, 32]} />\n <meshStandardMaterial roughness={0.1} metalness={0.05} color=\"#fcfcfc\" />\n </mesh>\n\n {/* Iris (Colored lens) */}\n <mesh castShadow position={[0, 0, 0.32]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.22, 0.22, 0.04, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Pupil (Dark Center) */}\n <mesh position={[0, 0, 0.35]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.09, 0.09, 0.02, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#09090b\" />\n </mesh>\n\n {/* Top Eyelid (Torus segment curved down) */}\n <mesh position={[0, 0.12, 0.16]} rotation={[0.2, 0, 0]} castShadow>\n <torusGeometry args={[0.5, 0.05, 12, 32, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Eyelid (Torus segment curved up) */}\n <mesh position={[0, -0.12, 0.16]} rotation={[-0.2, 0, Math.PI]} castShadow>\n <torusGeometry args={[0.5, 0.05, 12, 32, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function TagIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"tag\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.4, 0.6]} position={[0, 0, 0]}>\n \n {/* Main Tag Body Board */}\n <mesh castShadow receiveShadow position={[0, -0.1, 0]}>\n <boxGeometry args={[0.72, 1.0, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Angled Shoulders (Tapered corners) */}\n <mesh position={[-0.24, 0.45, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <boxGeometry args={[0.2, 0.2, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n <mesh position={[0.24, 0.45, 0]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <boxGeometry args={[0.2, 0.2, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Punched Hole Ring */}\n <mesh position={[0, 0.34, 0.035]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.07, 0.02, 8, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n \n {/* Inner Dark Hole */}\n <mesh position={[0, 0.34, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.05, 0.05, 0.07, 16]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#09090b\" />\n </mesh>\n\n {/* Thread / String Loop */}\n <mesh position={[0, 0.58, 0.05]} rotation={[0, 0, 0]} castShadow>\n <torusGeometry args={[0.2, 0.015, 8, 32, Math.PI * 1.5]} />\n <meshStandardMaterial roughness={0.6} metalness={0.05} color=\"#e4e4e7\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function CoffeeIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"coffee\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, -0.1, 0]}>\n \n {/* Main Mug Cup Body */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.46, 0.46, 0.88, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Coffee Surface (Liquid inside cup) */}\n <mesh position={[0, 0.4, 0]} castShadow>\n <cylinderGeometry args={[0.42, 0.42, 0.04, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.0} color=\"#3b2314\" /> {/* Dark coffee brown */}\n </mesh>\n\n {/* Mug Handle (Side loop) */}\n <mesh position={[-0.48, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <torusGeometry args={[0.24, 0.08, 12, 32, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Steam Wave 1 */}\n <mesh position={[-0.14, 0.68, 0]} rotation={[0, 0, 0.1]} castShadow>\n <capsuleGeometry args={[0.02, 0.16, 4, 8]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#cbd5e1\" transparent opacity={0.6} />\n </mesh>\n\n {/* Steam Wave 2 (Middle) */}\n <mesh position={[0.02, 0.72, 0]} rotation={[0, 0, -0.05]} castShadow>\n <capsuleGeometry args={[0.02, 0.18, 4, 8]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#cbd5e1\" transparent opacity={0.6} />\n </mesh>\n\n {/* Steam Wave 3 */}\n <mesh position={[0.16, 0.66, 0]} rotation={[0, 0, 0.15]} castShadow>\n <capsuleGeometry args={[0.02, 0.14, 4, 8]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#cbd5e1\" transparent opacity={0.6} />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function ShareIcon(props: IconProps) {\n // Angle of diagonal connecting rods\n const angle = Math.atan2(0.45, 0.9); // ~0.4636 rad (~26.5 deg)\n const rodLength = Math.sqrt(0.45 * 0.45 + 0.9 * 0.9); // ~1.006\n\n return (\n <SharedWrapper iconId=\"share\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.3, 0]} position={[0, 0, 0]}>\n \n {/* Connecting Rod 1 (Top diagonal) */}\n <mesh position={[0, 0.225, 0]} rotation={[0, 0, -angle]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, rodLength, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Connecting Rod 2 (Bottom diagonal) */}\n <mesh position={[0, -0.225, 0]} rotation={[0, 0, angle]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, rodLength, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Left Node (Parent node) */}\n <mesh position={[-0.45, 0, 0]} castShadow>\n <sphereGeometry args={[0.22, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Right Node */}\n <mesh position={[0.45, 0.45, 0]} castShadow>\n <sphereGeometry args={[0.22, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Bottom Right Node */}\n <mesh position={[0.45, -0.45, 0]} castShadow>\n <sphereGeometry args={[0.22, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function LayersIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"layers\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.5, 0.1]} position={[0, 0, 0]}>\n \n {/* Bottom Layer */}\n <mesh position={[0, -0.28, -0.16]} castShadow receiveShadow>\n <boxGeometry args={[1.0, 0.05, 1.0]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n opacity={0.5} // slightly transparent so layering is visible\n transparent\n />\n </mesh>\n\n {/* Middle Layer */}\n <mesh position={[0, 0.0, 0.0]} castShadow receiveShadow>\n <boxGeometry args={[1.0, 0.05, 1.0]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n opacity={0.7}\n transparent\n />\n </mesh>\n\n {/* Top Layer */}\n <mesh position={[0, 0.28, 0.16]} castShadow receiveShadow>\n <boxGeometry args={[1.0, 0.05, 1.0]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps, MaterialConfig } from \"../../types\";\n\ninterface StarProps {\n mat: MaterialConfig;\n scale?: number;\n position?: [number, number, number];\n}\n\nfunction ProceduralStar({ mat, scale = 1.0, position = [0, 0, 0] }: StarProps) {\n // A 4-pointed beveled star is formed by 4 cones pointing outwards from center\n const r = 0.1 * scale;\n const h = 0.45 * scale;\n \n return (\n <group position={position}>\n {/* North spike */}\n <mesh position={[0, h / 2, 0]} rotation={[0, Math.PI / 4, 0]} castShadow>\n <coneGeometry args={[r, h, 4]} />\n <meshPhysicalMaterial {...mat} />\n </mesh>\n {/* South spike */}\n <mesh position={[0, -h / 2, 0]} rotation={[Math.PI, Math.PI / 4, 0]} castShadow>\n <coneGeometry args={[r, h, 4]} />\n <meshPhysicalMaterial {...mat} />\n </mesh>\n {/* East spike */}\n <mesh position={[h / 2, 0, 0]} rotation={[0, Math.PI / 4, -Math.PI / 2]} castShadow>\n <coneGeometry args={[r, h, 4]} />\n <meshPhysicalMaterial {...mat} />\n </mesh>\n {/* West spike */}\n <mesh position={[-h / 2, 0, 0]} rotation={[0, Math.PI / 4, Math.PI / 2]} castShadow>\n <coneGeometry args={[r, h, 4]} />\n <meshPhysicalMaterial {...mat} />\n </mesh>\n </group>\n );\n}\n\nexport function SparklesIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"sparkles\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.15]} position={[0, 0, 0]}>\n \n {/* Main Star (Center Left) */}\n <ProceduralStar mat={mat} scale={1.1} position={[-0.15, 0.05, 0]} />\n\n {/* Medium Star (Bottom Right) */}\n <ProceduralStar mat={mat} scale={0.7} position={[0.48, -0.34, 0.1]} />\n\n {/* Small Star (Top Right) */}\n <ProceduralStar mat={mat} scale={0.48} position={[0.4, 0.44, -0.1]} />\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function MegaphoneIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"megaphone\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.5, 0.2]} position={[-0.05, 0.05, 0]}>\n \n {/* Main Cone Horn Body */}\n <group position={[0.08, 0.08, 0]} rotation={[0, 0, -Math.PI / 2]}>\n <mesh castShadow receiveShadow>\n <coneGeometry args={[0.34, 0.64, 32, 1, true]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n side={2} // DoubleSide\n />\n </mesh>\n </group>\n\n {/* Front Opening Rim (Accent torus ring) */}\n <mesh position={[0.4, 0.08, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.34, 0.03, 12, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Back Cylindrical Casing/Cap */}\n <mesh position={[-0.24, 0.08, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.16, 0.16, 0.12, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[-0.3, 0.08, 0]} castShadow>\n <sphereGeometry args={[0.16, 16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Hand Grip Handle */}\n <mesh position={[-0.14, -0.28, 0]} rotation={[0, 0, 0.15]} castShadow>\n <cylinderGeometry args={[0.045, 0.045, 0.48, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Sound / Volume Waves (two small torus arcs floating in front) */}\n <mesh position={[0.62, 0.08, 0]} rotation={[0, -Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.2, 0.02, 8, 24, Math.PI / 2]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color=\"#e4e4e7\" />\n </mesh>\n <mesh position={[0.82, 0.08, 0]} rotation={[0, -Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.34, 0.02, 8, 24, Math.PI / 2]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color=\"#e4e4e7\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function DownloadIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"download\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Bottom Tray Base Plate */}\n <mesh position={[0, -0.42, 0]} castShadow receiveShadow>\n <boxGeometry args={[1.1, 0.08, 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Tray Wall */}\n <mesh position={[-0.51, -0.3, 0]} castShadow>\n <boxGeometry args={[0.08, 0.22, 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Right Tray Wall */}\n <mesh position={[0.51, -0.3, 0]} castShadow>\n <boxGeometry args={[0.08, 0.22, 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Back Tray Wall */}\n <mesh position={[0, -0.3, -0.36]} castShadow>\n <boxGeometry args={[1.1, 0.22, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Downward Arrow Shaft */}\n <mesh position={[0, 0.2, 0]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.6, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Downward Arrow Tip (Pointing Down) */}\n <mesh position={[0, -0.18, 0]} rotation={[Math.PI, Math.PI / 4, 0]} castShadow>\n <coneGeometry args={[0.26, 0.26, 4]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function UploadIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"upload\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Bottom Tray Base Plate */}\n <mesh position={[0, -0.42, 0]} castShadow receiveShadow>\n <boxGeometry args={[1.1, 0.08, 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Tray Wall */}\n <mesh position={[-0.51, -0.3, 0]} castShadow>\n <boxGeometry args={[0.08, 0.22, 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Right Tray Wall */}\n <mesh position={[0.51, -0.3, 0]} castShadow>\n <boxGeometry args={[0.08, 0.22, 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Back Tray Wall */}\n <mesh position={[0, -0.3, -0.36]} castShadow>\n <boxGeometry args={[1.1, 0.22, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Upward Arrow Shaft */}\n <mesh position={[0, -0.1, 0]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.6, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Upward Arrow Tip (Pointing Up) */}\n <mesh position={[0, 0.28, 0]} rotation={[0, Math.PI / 4, 0]} castShadow>\n <coneGeometry args={[0.26, 0.26, 4]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function MonitorIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"monitor\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0.1, 0]}>\n \n {/* Outer Screen Bezel frame */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.34, 0.82, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Inner Glossy Screen Glass */}\n <mesh position={[0, 0, 0.03]} castShadow>\n <boxGeometry args={[1.24, 0.72, 0.04]} />\n <meshStandardMaterial roughness={0.05} metalness={0.9} color=\"#18181b\" /> {/* Sleek black screen glass */}\n </mesh>\n\n {/* Monitor Stand Neck */}\n <mesh position={[0, -0.52, -0.05]} castShadow>\n <cylinderGeometry args={[0.05, 0.06, 0.24, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Stand Base Plate */}\n <mesh position={[0, -0.64, 0]} rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.24, 0.26, 0.03, 24]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function KeyboardIcon(props: IconProps) {\n // Key rows and columns coordinates\n const rows = [-0.14, 0, 0.14];\n const cols = [-0.45, -0.225, 0, 0.225, 0.45];\n\n return (\n <SharedWrapper iconId=\"keyboard\" {...props}>\n {(mat) => (\n <group rotation={[0.45, -0.25, 0.1]} position={[0, 0, 0]}>\n \n {/* Main Board Base Frame */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.3, 0.58, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Keycaps Grid (Procedurally nested) */}\n {rows.map((r, rIdx) =>\n cols.map((c, cIdx) => (\n <mesh key={`${rIdx}-${cIdx}`} position={[c, r, 0.05]} castShadow>\n <boxGeometry args={[0.13, 0.09, 0.04]} />\n <meshStandardMaterial\n roughness={0.4}\n metalness={0.1}\n color={rIdx === 1 && cIdx === 2 ? mat.color : \"#f4f4f5\"} // Center key matching accent theme\n />\n </mesh>\n ))\n )}\n\n {/* Spacebar key */}\n <mesh position={[0, -0.23, 0.05]} castShadow>\n <boxGeometry args={[0.62, 0.06, 0.04]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function MouseIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"mouse\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.3, 0.2]} position={[0, -0.05, 0]}>\n \n {/* Main Mouse Body (Capsule shape) */}\n <mesh castShadow receiveShadow>\n <capsuleGeometry args={[0.38, 0.44, 8, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left/Right Button Separation Line (Thin dark box) */}\n <mesh position={[0, 0.32, 0.22]} castShadow>\n <boxGeometry args={[0.02, 0.32, 0.14]} />\n <meshStandardMaterial roughness={0.8} color=\"#27272a\" />\n </mesh>\n\n {/* Center Scroll Wheel Cylinder */}\n <mesh position={[0, 0.22, 0.28]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.12, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" /> {/* Metallic scroll wheel */}\n </mesh>\n\n {/* Bottom Sensor Light (Glow indicator on the back bottom) */}\n <mesh position={[0, -0.4, -0.1]} castShadow>\n <sphereGeometry args={[0.06, 12, 12]} />\n <meshStandardMaterial roughness={0.1} color={mat.color} emissive={mat.color} emissiveIntensity={1.5} />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function HardDriveIcon(props: IconProps) {\n // Grid coordinates for ventilation holes on the cover\n const gridX = [-0.25, 0, 0.25];\n const gridY = [-0.3, -0.15, 0];\n\n return (\n <SharedWrapper iconId=\"harddrive\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.3, 0.15]} position={[0, 0, 0]}>\n \n {/* Main Hard Drive Metal Casing */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.9, 1.3, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Metal Accent Plate (Metallic disk cover) */}\n <mesh position={[0, 0.26, 0.09]} castShadow>\n <boxGeometry args={[0.8, 0.5, 0.04]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n \n {/* Circular Spindle detail on top plate */}\n <mesh position={[0, 0.26, 0.11]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.12, 0.12, 0.02, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n\n {/* Ventilation Grid Holes (Procedural indents) */}\n {gridY.map((y, yIdx) =>\n gridX.map((x, xIdx) => (\n <mesh key={`${yIdx}-${xIdx}`} position={[x, y, 0.09]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.03, 0.03, 0.02, 8]} />\n <meshStandardMaterial roughness={0.9} color=\"#18181b\" />\n </mesh>\n ))\n )}\n\n {/* Connection Interface Connector at the bottom */}\n <mesh position={[0, -0.66, 0]} castShadow>\n <boxGeometry args={[0.5, 0.08, 0.1]} />\n <meshStandardMaterial roughness={0.8} color=\"#27272a\" />\n </mesh>\n\n {/* Status LED 1 (Green) */}\n <mesh position={[-0.26, -0.48, 0.09]} castShadow>\n <sphereGeometry args={[0.035, 12, 12]} />\n <meshStandardMaterial roughness={0.1} color=\"#22c55e\" emissive=\"#15803d\" emissiveIntensity={1.2} />\n </mesh>\n\n {/* Status LED 2 (Orange) */}\n <mesh position={[-0.14, -0.48, 0.09]} castShadow>\n <sphereGeometry args={[0.035, 12, 12]} />\n <meshStandardMaterial roughness={0.1} color=\"#f97316\" emissive=\"#c2410c\" emissiveIntensity={1.0} />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { IconProps } from \"../../types\";\n\nexport function GlassmorphismIcon(props: IconProps) {\n return (\n <SharedWrapper iconId=\"glassmorphism\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.35, 0.1]} position={[0, 0, 0]}>\n \n {/* Background Primitive 1: Vibrant Sphere (Behind Glass) */}\n <mesh position={[-0.32, -0.18, -0.22]} castShadow receiveShadow>\n <sphereGeometry args={[0.34, 32, 32]} />\n <meshStandardMaterial roughness={0.2} color=\"#ec4899\" emissive=\"#701a75\" emissiveIntensity={0.2} /> {/* Vivid pink */}\n </mesh>\n\n {/* Background Primitive 2: Shiny Metallic Cylinder (Behind Glass) */}\n <mesh position={[0.28, 0.24, -0.28]} rotation={[Math.PI / 4, Math.PI / 6, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.16, 0.16, 0.6, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#38bdf8\" /> {/* Electric cyan */}\n </mesh>\n\n {/* Background Primitive 3: Torus Ring (Looping around behind) */}\n <mesh position={[0, 0, -0.4]} rotation={[0.4, 0.4, 0]} castShadow>\n <torusGeometry args={[0.56, 0.05, 12, 32]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#eab308\" />\n </mesh>\n\n {/* Foreground Glassmorphic Floating Panel (Refractive frosted glass card) */}\n <mesh position={[0, 0, 0.12]} castShadow receiveShadow>\n <boxGeometry args={[1.05, 1.05, 0.08]} />\n <meshPhysicalMaterial\n roughness={props.preset === \"glassmorphism\" ? 0.05 : Math.max(0.05, mat.roughness - 0.05)}\n metalness={props.preset === \"glassmorphism\" ? 0.05 : mat.metalness}\n transmission={props.preset === \"glassmorphism\" ? 0.96 : mat.transmission}\n thickness={props.preset === \"glassmorphism\" ? 1.5 : mat.thickness}\n clearcoat={props.preset === \"glassmorphism\" ? 1.0 : mat.clearcoat}\n clearcoatRoughness={0.05}\n ior={props.preset === \"glassmorphism\" ? 1.5 : mat.ior}\n color={props.preset === \"glassmorphism\" ? (props.theme === \"dark\" ? \"#ffffff\" : \"#e2e8f0\") : mat.color}\n emissive={props.preset === \"glassmorphism\" ? (props.theme === \"dark\" ? \"#e4e4e7\" : \"#a1a1aa\") : mat.emissive}\n emissiveIntensity={props.preset === \"glassmorphism\" ? 0.25 : mat.emissiveIntensity}\n transparent\n opacity={props.preset === \"glassmorphism\" ? 0.75 : 0.85}\n />\n </mesh>\n\n {/* Glass Card Border Rim (Accent overlay highlighting the glass card shape) */}\n <mesh position={[0, 0, 0.17]} castShadow>\n <boxGeometry args={[1.05, 1.05, 0.01]} />\n <meshStandardMaterial \n roughness={0.2} \n metalness={0.8} \n color={props.theme === \"dark\" ? \"#ffffff\" : \"#475569\"} \n transparent \n opacity={props.theme === \"dark\" ? 0.3 : 0.6} \n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GithubIconProps } from \"./types\";\n\nexport function GithubIcon(props: GithubIconProps) {\n return (\n <SharedWrapper iconId=\"github\" {...props}>\n {(mat) => (\n <group>\n {/* Octagonal backplate badge */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.95, 0.95, 0.14, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Stylized Cat Head Silhouette */}\n <group position={[0, 0, 0.1]}>\n {/* Center Head */}\n <mesh castShadow position={[0, 0, 0]}>\n <boxGeometry args={[0.56, 0.46, 0.08]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Left Ear */}\n <mesh castShadow position={[-0.22, 0.28, 0]} rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.18, 0.18, 0.08]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Right Ear */}\n <mesh castShadow position={[0.22, 0.28, 0]} rotation={[0, 0, -Math.PI / 4]}>\n <boxGeometry args={[0.18, 0.18, 0.08]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Tail/Bottom tentacle accents */}\n <mesh castShadow position={[0, -0.28, 0]} rotation={[0, 0, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color={props.theme === \"dark\" ? \"#27272a\" : \"#94a3b8\"} />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TwitterIconProps } from \"./types\";\n\nexport function TwitterIcon(props: TwitterIconProps) {\n return (\n <SharedWrapper iconId=\"twitter\" {...props}>\n {(mat) => (\n <group>\n {/* Rounded square backing plate */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.7, 1.7, 0.12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Intersecting X lines */}\n <group position={[0, 0, 0.09]}>\n {/* Main thick diagonal line */}\n <mesh castShadow rotation={[0, 0, 0.65]}>\n <boxGeometry args={[0.22, 1.45, 0.1]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#ffffff\" : \"#0f1419\"}\n />\n </mesh>\n\n {/* Left thin outline line */}\n <mesh castShadow position={[-0.14, 0.06, 0]} rotation={[0, 0, -0.65]}>\n <boxGeometry args={[0.07, 1.45, 0.1]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#ffffff\" : \"#0f1419\"}\n />\n </mesh>\n\n {/* Right thin outline line */}\n <mesh castShadow position={[0.14, -0.06, 0]} rotation={[0, 0, -0.65]}>\n <boxGeometry args={[0.07, 1.45, 0.1]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#ffffff\" : \"#0f1419\"}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GoogleIconProps } from \"./types\";\n\nexport function GoogleIcon(props: GoogleIconProps) {\n // Use customizer color if overridden, otherwise use Google brand blue\n const primaryColor = props.color || \"#4285f4\";\n\n return (\n <SharedWrapper iconId=\"google\" {...props}>\n {(mat) => (\n <group>\n {/* Circular backing plate */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.95, 0.95, 0.14, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Extruded Google G Emblem */}\n <group position={[0.02, 0, 0.09]} rotation={[0, 0, 0]}>\n {/* Red Upper Arc */}\n <mesh castShadow position={[0, 0, 0]} rotation={[0, 0, Math.PI / 4]}>\n <torusGeometry args={[0.46, 0.12, 16, 32, Math.PI]} />\n <meshStandardMaterial roughness={0.15} metalness={0.2} color={props.color ? primaryColor : \"#ea4335\"} />\n </mesh>\n\n {/* Green Lower Arc */}\n <mesh castShadow position={[0, 0, 0]} rotation={[0, 0, -Math.PI * 0.75]}>\n <torusGeometry args={[0.46, 0.12, 16, 32, Math.PI * 0.7]} />\n <meshStandardMaterial roughness={0.15} metalness={0.2} color={props.color ? primaryColor : \"#34a853\"} />\n </mesh>\n\n {/* Yellow Left Arc */}\n <mesh castShadow position={[0, 0, 0]} rotation={[0, 0, Math.PI * 0.8]}>\n <torusGeometry args={[0.46, 0.12, 16, 32, Math.PI * 0.4]} />\n <meshStandardMaterial roughness={0.15} metalness={0.2} color={props.color ? primaryColor : \"#fbbc05\"} />\n </mesh>\n\n {/* Blue Horizontal Bar & Right Arc */}\n <group rotation={[0, 0, 0]}>\n <mesh castShadow position={[0.22, -0.04, 0]}>\n <boxGeometry args={[0.44, 0.12, 0.08]} />\n <meshStandardMaterial roughness={0.15} metalness={0.2} color={props.color ? primaryColor : \"#4285f4\"} />\n </mesh>\n <mesh castShadow position={[0, 0, 0]} rotation={[0, 0, -Math.PI / 4]}>\n <torusGeometry args={[0.46, 0.12, 16, 32, Math.PI * 0.3]} />\n <meshStandardMaterial roughness={0.15} metalness={0.2} color={props.color ? primaryColor : \"#4285f4\"} />\n </mesh>\n </group>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RouterIconProps } from \"./types\";\n\nexport function RouterIcon(props: RouterIconProps) {\n return (\n <SharedWrapper iconId=\"router\" {...props}>\n {(mat) => (\n <group>\n {/* Main Router Casing */}\n <mesh position={[0, -0.2, 0]} castShadow receiveShadow>\n <boxGeometry args={[1.5, 0.36, 1.0]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Casing Top Slate Trim */}\n <mesh position={[0, -0.01, 0]}>\n <boxGeometry args={[1.42, 0.04, 0.92]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#e4e4e7\"}\n />\n </mesh>\n\n {/* Rear Antennas */}\n {[-0.5, 0.5].map((xOffset, index) => (\n <group key={index} position={[xOffset, 0, -0.38]} rotation={[0.15, 0, 0]}>\n {/* Antenna Hinge */}\n <mesh position={[0, 0, 0]} castShadow>\n <sphereGeometry args={[0.08, 16, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#27272a\" />\n </mesh>\n {/* Antenna Rod */}\n <mesh position={[0, 0.44, 0]} castShadow>\n <cylinderGeometry args={[0.035, 0.035, 0.88, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.7} color=\"#27272a\" />\n </mesh>\n </group>\n ))}\n\n {/* Front Indicator Lights */}\n {[-0.4, -0.1, 0.2].map((xOffset, index) => (\n <mesh key={index} position={[xOffset, -0.2, 0.51]}>\n <sphereGeometry args={[0.032, 12, 12]} />\n <meshStandardMaterial\n color={index === 2 ? \"#ef4444\" : \"#10b981\"}\n emissive={index === 2 ? \"#ef4444\" : \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n ))}\n\n {/* Floating Wi-Fi Signal Arcs */}\n <group position={[0, 0.35, 0]} rotation={[0, 0, 0]}>\n {/* Inner Signal Wave */}\n <mesh position={[0, 0, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.26, 0.04, 12, 24, Math.PI / 2]} />\n <meshStandardMaterial\n color={mat.color}\n emissive={mat.color}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Outer Signal Wave */}\n <mesh position={[0, 0.15, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.42, 0.04, 12, 24, Math.PI / 2]} />\n <meshStandardMaterial\n color={mat.color}\n emissive={mat.color}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ServerIconProps } from \"./types\";\n\nexport function ServerIcon(props: ServerIconProps) {\n const bladeOffsets = [0.44, 0, -0.44];\n\n return (\n <SharedWrapper iconId=\"server\" {...props}>\n {(mat) => (\n <group>\n {/* Server Rack Cabinet Casing */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.0, 1.7, 1.0]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.1}\n />\n </mesh>\n\n {/* Front Bezel Rim Overlay */}\n <mesh position={[0, 0, 0.02]}>\n <boxGeometry args={[0.92, 1.62, 0.98]} />\n <meshStandardMaterial\n roughness={0.3}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#e4e4e7\"}\n />\n </mesh>\n\n {/* Stacked Server Blades */}\n {bladeOffsets.map((yOffset, index) => (\n <group key={index} position={[0, yOffset, 0.5]}>\n {/* Blade Faceplate */}\n <mesh castShadow position={[0, 0, 0.01]}>\n <boxGeometry args={[0.82, 0.32, 0.03]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.85}\n color={props.theme === \"dark\" ? \"#27272a\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Status LED Lights (Power / Disk Activity) */}\n <mesh position={[-0.28, 0.05, 0.03]}>\n <sphereGeometry args={[0.035, 12, 12]} />\n <meshStandardMaterial\n color=\"#10b981\"\n emissive=\"#10b981\"\n emissiveIntensity={1.5}\n />\n </mesh>\n <mesh position={[-0.28, -0.05, 0.03]}>\n <sphereGeometry args={[0.035, 12, 12]} />\n <meshStandardMaterial\n color={index === 1 ? \"#ef4444\" : \"#3b82f6\"}\n emissive={index === 1 ? \"#ef4444\" : \"#3b82f6\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n {/* Vent slots / grid grooves */}\n {[0.02, 0.14, 0.26].map((xOffset, vIndex) => (\n <mesh key={vIndex} position={[xOffset, 0, 0.03]}>\n <boxGeometry args={[0.06, 0.18, 0.02]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#090d16\" />\n </mesh>\n ))}\n </group>\n ))}\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WrenchIconProps } from \"./types\";\n\nexport function WrenchIcon(props: WrenchIconProps) {\n return (\n <SharedWrapper iconId=\"wrench\" {...props}>\n {(mat) => (\n <group>\n <group rotation={[0, 0, -Math.PI / 8]}>\n {/* Wrench Shaft / Handle */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.16, 1.15, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Inset Handle Accent */}\n <mesh position={[0, 0, 0.02]}>\n <boxGeometry args={[0.07, 0.72, 0.06]} />\n <meshStandardMaterial\n roughness={0.4}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#e4e4e7\"}\n />\n </mesh>\n\n {/* Top Open Jaw Head */}\n <group position={[0, 0.61, 0]}>\n {/* Outer Jaw Circle base */}\n <mesh castShadow position={[0, 0, 0]}>\n <cylinderGeometry args={[0.26, 0.26, 0.11, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n color={mat.color}\n emissive={mat.emissive}\n />\n </mesh>\n {/* Jaw Cutout Block (Creates U-shape) */}\n <mesh position={[0, 0.08, 0.01]}>\n <boxGeometry args={[0.16, 0.28, 0.13]} />\n <meshStandardMaterial color={props.theme === \"dark\" ? \"#090d16\" : \"#ffffff\"} roughness={1.0} />\n </mesh>\n </group>\n\n {/* Bottom Ring Head (Box End) */}\n <group position={[0, -0.61, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <mesh castShadow>\n <torusGeometry args={[0.18, 0.07, 12, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n color={mat.color}\n emissive={mat.emissive}\n />\n </mesh>\n {/* Decorative inner cylinder for teeth details */}\n <mesh>\n <cylinderGeometry args={[0.12, 0.12, 0.08, 12, 1, true]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#27272a\" : \"#cbd5e1\"} />\n </mesh>\n </group>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BoltIconProps } from \"./types\";\n\nexport function BoltIcon(props: BoltIconProps) {\n const threadOffsets = [0.08, -0.1, -0.28, -0.46, -0.64];\n\n return (\n <SharedWrapper iconId=\"bolt\" {...props}>\n {(mat) => (\n <group>\n <group rotation={[Math.PI / 6, -Math.PI / 6, 0]}>\n {/* Hexagonal Bolt Head */}\n <mesh position={[0, 0.44, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.56, 0.56, 0.4, 6]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Bolt Shaft/Pin */}\n <mesh position={[0, -0.24, 0]} castShadow>\n <cylinderGeometry args={[0.28, 0.28, 0.96, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n color={mat.color}\n emissive={mat.emissive}\n />\n </mesh>\n\n {/* Thread Ridges */}\n {threadOffsets.map((yOffset, index) => (\n <mesh key={index} position={[0, yOffset, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.28, 0.05, 12, 24]} />\n <meshStandardMaterial\n roughness={0.25}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#27272a\" : \"#94a3b8\"}\n />\n </mesh>\n ))}\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SmileIconProps } from \"./types\";\n\nexport function SmileIcon(props: SmileIconProps) {\n return (\n <SharedWrapper iconId=\"smile\" {...props}>\n {(mat) => (\n <group>\n {/* Smiley Face Base Disk */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.9, 0.9, 0.16, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Left Eye */}\n <mesh position={[-0.28, 0.22, 0.1]} castShadow>\n <sphereGeometry args={[0.09, 16, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Right Eye */}\n <mesh position={[0.28, 0.22, 0.1]} castShadow>\n <sphereGeometry args={[0.09, 16, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Curved Smile Mouth (Torus segment) */}\n <mesh position={[0, -0.15, 0.1]} rotation={[Math.PI / 2, 0, Math.PI]} castShadow>\n <torusGeometry args={[0.34, 0.05, 12, 24, Math.PI]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#475569\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FrownIconProps } from \"./types\";\n\nexport function FrownIcon(props: FrownIconProps) {\n return (\n <SharedWrapper iconId=\"frown\" {...props}>\n {(mat) => (\n <group>\n {/* Smiley Face Base Disk */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.9, 0.9, 0.16, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Left Eye */}\n <mesh position={[-0.28, 0.22, 0.1]} castShadow>\n <sphereGeometry args={[0.09, 16, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Right Eye */}\n <mesh position={[0.28, 0.22, 0.1]} castShadow>\n <sphereGeometry args={[0.09, 16, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Down-curved Frown Mouth (Torus segment) */}\n <mesh position={[0, -0.32, 0.1]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.26, 0.05, 12, 24, Math.PI]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#475569\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HeartEyesIconProps } from \"./types\";\n\nexport function HeartEyesIcon(props: HeartEyesIconProps) {\n const renderHeartEye = (xOffset: number, yOffset: number) => (\n <group position={[xOffset, yOffset, 0.1]} rotation={[0, 0, 0]}>\n {/* Left lobe */}\n <mesh position={[-0.05, 0.04, 0]} castShadow>\n <sphereGeometry args={[0.075, 16, 16]} />\n <meshStandardMaterial roughness={0.15} color=\"#ef4444\" />\n </mesh>\n {/* Right lobe */}\n <mesh position={[0.05, 0.04, 0]} castShadow>\n <sphereGeometry args={[0.075, 16, 16]} />\n <meshStandardMaterial roughness={0.15} color=\"#ef4444\" />\n </mesh>\n {/* Downward pointing triangle cone */}\n <mesh position={[0, -0.04, 0]} rotation={[Math.PI, 0, 0]} castShadow>\n <coneGeometry args={[0.096, 0.16, 16]} />\n <meshStandardMaterial roughness={0.15} color=\"#ef4444\" />\n </mesh>\n </group>\n );\n\n return (\n <SharedWrapper iconId=\"hearteyes\" {...props}>\n {(mat) => (\n <group>\n {/* Smiley Face Base Disk */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.9, 0.9, 0.16, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Left Heart Eye */}\n {renderHeartEye(-0.28, 0.2)}\n\n {/* Right Heart Eye */}\n {renderHeartEye(0.28, 0.2)}\n\n {/* Curved Smile Mouth (Torus segment) */}\n <mesh position={[0, -0.15, 0.1]} rotation={[Math.PI / 2, 0, Math.PI]} castShadow>\n <torusGeometry args={[0.34, 0.05, 12, 24, Math.PI]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#18181b\" : \"#475569\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HammerIconProps } from \"./types\";\n\nexport function HammerIcon(props: HammerIconProps) {\n return (\n <SharedWrapper iconId=\"hammer\" {...props}>\n {(mat) => (\n <group>\n {/* Main vertical handle rotated slightly */}\n <group rotation={[0, 0, -Math.PI / 12]}>\n {/* Grip Handle */}\n <mesh castShadow receiveShadow position={[0, -0.2, 0]}>\n <cylinderGeometry args={[0.08, 0.08, 1.0, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n \n {/* Handle Grip rubber sleeve (bottom half) */}\n <mesh position={[0, -0.4, 0]}>\n <cylinderGeometry args={[0.09, 0.09, 0.5, 16]} />\n <meshStandardMaterial \n roughness={0.8} \n metalness={0.1} \n color={props.theme === \"dark\" ? \"#1e293b\" : \"#64748b\"} \n />\n </mesh>\n \n {/* Metal collar connector */}\n <mesh position={[0, 0.32, 0]}>\n <cylinderGeometry args={[0.085, 0.085, 0.08, 16]} />\n <meshStandardMaterial \n roughness={0.2} \n metalness={0.9} \n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"} \n />\n </mesh>\n\n {/* Hammer Head group */}\n <group position={[0, 0.42, 0]} rotation={[0, 0, Math.PI / 2]}>\n {/* Central connecting block */}\n <mesh castShadow>\n <boxGeometry args={[0.2, 0.22, 0.2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Striking Face Cylinder (extends left) */}\n <mesh castShadow position={[0.22, 0, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.11, 0.09, 0.24, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Claw Curved Tail (extends right) */}\n <group position={[-0.2, 0.05, 0]} rotation={[0, 0, -Math.PI / 6]}>\n {/* Upper Claw Prong */}\n <mesh castShadow position={[0, 0, 0.04]}>\n <boxGeometry args={[0.2, 0.06, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n {/* Lower Claw Prong */}\n <mesh castShadow position={[0, 0, -0.04]}>\n <boxGeometry args={[0.2, 0.06, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n </group>\n </group>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ScrewdriverIconProps } from \"./types\";\n\nexport function ScrewdriverIcon(props: ScrewdriverIconProps) {\n return (\n <SharedWrapper iconId=\"screwdriver\" {...props}>\n {(mat) => (\n <group>\n {/* Main screwdriver group angled diagonally */}\n <group rotation={[0, 0, -Math.PI / 4]}>\n {/* Grip Handle */}\n <mesh castShadow position={[0, -0.4, 0]}>\n <cylinderGeometry args={[0.15, 0.12, 0.6, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Handle top cap */}\n <mesh position={[0, -0.1, 0]}>\n <cylinderGeometry args={[0.12, 0.15, 0.08, 16]} />\n <meshStandardMaterial\n roughness={0.6}\n metalness={0.2}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#64748b\"}\n />\n </mesh>\n\n {/* Handle flutes/ridges (4 decorative vertical rails for visual texture) */}\n {[0, Math.PI / 2, Math.PI, (Math.PI * 3) / 2].map((angle, index) => (\n <group key={index} rotation={[0, angle, 0]} position={[0, -0.4, 0]}>\n <mesh position={[0.14, 0, 0]}>\n <boxGeometry args={[0.03, 0.44, 0.04]} />\n <meshStandardMaterial\n roughness={0.9}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n </group>\n ))}\n\n {/* Steel Shaft */}\n <mesh castShadow position={[0, 0.28, 0]}>\n <cylinderGeometry args={[0.04, 0.04, 0.7, 12]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.95}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Shaft to Handle Bolster neck */}\n <mesh position={[0, -0.04, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.08, 12]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#94a3b8\" : \"#334155\"}\n />\n </mesh>\n\n {/* Screwdriver Flat Tip */}\n <group position={[0, 0.63, 0]}>\n <mesh castShadow>\n <boxGeometry args={[0.08, 0.08, 0.03]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.95}\n color={props.theme === \"dark\" ? \"#94a3b8\" : \"#475569\"}\n />\n </mesh>\n <mesh position={[0, 0.03, 0]}>\n <boxGeometry args={[0.07, 0.03, 0.015]} />\n <meshStandardMaterial\n roughness={0.3}\n metalness={0.95}\n color={props.theme === \"dark\" ? \"#64748b\" : \"#334155\"}\n />\n </mesh>\n </group>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { NutIconProps } from \"./types\";\n\nexport function NutIcon(props: NutIconProps) {\n return (\n <SharedWrapper iconId=\"nut\" {...props}>\n {(mat) => (\n <group>\n {/* Hex Nut rotated to show 3D volume */}\n <group rotation={[Math.PI / 6, Math.PI / 4, 0]}>\n {/* Hexagonal body */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.55, 0.55, 0.32, 6]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Chamfered edge lines (torus around the top and bottom faces to give beveled look) */}\n <mesh position={[0, 0.16, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.48, 0.03, 8, 24]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n <mesh position={[0, -0.16, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.48, 0.03, 8, 24]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n\n {/* Threaded hole center (contrasting core) */}\n <mesh position={[0, 0, 0]}>\n <cylinderGeometry args={[0.26, 0.26, 0.34, 16]} />\n <meshStandardMaterial\n roughness={0.9}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Inner thread ridges (simulated using small toruses) */}\n {[-0.1, 0, 0.1].map((yOffset, i) => (\n <mesh key={i} position={[0, yOffset, 0]} rotation={[Math.PI / 2, 0.1, 0]}>\n <torusGeometry args={[0.25, 0.02, 6, 16]} />\n <meshStandardMaterial\n roughness={0.3}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#475569\" : \"#94a3b8\"}\n />\n </mesh>\n ))}\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PrinterIconProps } from \"./types\";\n\nexport function PrinterIcon(props: PrinterIconProps) {\n return (\n <SharedWrapper iconId=\"printer\" {...props}>\n {(mat) => (\n <group>\n {/* Angled to showcase 3D volume */}\n <group rotation={[Math.PI / 10, -Math.PI / 6, 0]}>\n {/* Main Printer Chassis/Body */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.85, 0.44, 0.65]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Scanner Lid (Top) */}\n <mesh position={[0, 0.23, 0]}>\n <boxGeometry args={[0.87, 0.04, 0.67]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Back Paper Input Tray & Input Sheet */}\n <group position={[0, 0.2, -0.22]} rotation={[-Math.PI / 8, 0, 0]}>\n {/* Paper Support Board */}\n <mesh castShadow>\n <boxGeometry args={[0.5, 0.36, 0.03]} />\n <meshStandardMaterial roughness={0.4} metalness={0.8} color={props.theme === \"dark\" ? \"#334155\" : \"#e2e8f0\"} />\n </mesh>\n {/* Feeding Sheet of Paper */}\n <mesh position={[0, 0.08, 0.02]}>\n <boxGeometry args={[0.42, 0.38, 0.01]} />\n <meshStandardMaterial roughness={0.9} color=\"#ffffff\" />\n </mesh>\n </group>\n\n {/* Front Paper Output Tray */}\n <mesh position={[0, -0.16, 0.34]}>\n <boxGeometry args={[0.54, 0.03, 0.28]} />\n <meshStandardMaterial\n roughness={0.4}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#94a3b8\"}\n />\n </mesh>\n\n {/* Printed Paper Sheet Outputting */}\n <mesh position={[0, -0.13, 0.38]}>\n <boxGeometry args={[0.4, 0.01, 0.26]} />\n <meshStandardMaterial roughness={0.9} color=\"#ffffff\" />\n </mesh>\n\n {/* Control Panel Accent (front strip) */}\n <mesh position={[0, 0.08, 0.33]} rotation={[-Math.PI / 12, 0, 0]}>\n <boxGeometry args={[0.45, 0.1, 0.02]} />\n <meshStandardMaterial\n roughness={0.8}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* LED Status Indicator Light */}\n <mesh position={[0.16, 0.08, 0.34]}>\n <sphereGeometry args={[0.022, 12, 12]} />\n <meshBasicMaterial color=\"#10b981\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SpeakerIconProps } from \"./types\";\n\nexport function SpeakerIcon(props: SpeakerIconProps) {\n return (\n <SharedWrapper iconId=\"speaker\" {...props}>\n {(mat) => (\n <group>\n {/* Angled diagonally */}\n <group rotation={[Math.PI / 12, -Math.PI / 8, 0]}>\n {/* Main Speaker Wooden/Plastic Cabinet */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.55, 0.95, 0.48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Front baffle face (inner plate) */}\n <mesh position={[0, 0, 0.245]}>\n <boxGeometry args={[0.47, 0.87, 0.02]} />\n <meshStandardMaterial\n roughness={0.7}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Top Tweeter Speaker Cone */}\n <group position={[0, 0.22, 0.26]} rotation={[Math.PI / 2, 0, 0]}>\n {/* Outer rim */}\n <mesh castShadow>\n <torusGeometry args={[0.09, 0.02, 8, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#64748b\"} />\n </mesh>\n {/* Central dust cap cone */}\n <mesh position={[0, 0.015, 0]}>\n <sphereGeometry args={[0.045, 16, 16, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshStandardMaterial roughness={0.8} color=\"#0f172a\" />\n </mesh>\n </group>\n\n {/* Bottom Woofer Speaker Cone */}\n <group position={[0, -0.16, 0.26]} rotation={[Math.PI / 2, 0, 0]}>\n {/* Outer rim */}\n <mesh castShadow>\n <torusGeometry args={[0.16, 0.03, 8, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#64748b\"} />\n </mesh>\n {/* Cone suspension surround */}\n <mesh position={[0, -0.01, 0]}>\n <cylinderGeometry args={[0.13, 0.08, 0.04, 24, 1, true]} />\n <meshStandardMaterial roughness={0.9} color={props.theme === \"dark\" ? \"#1e293b\" : \"#475569\"} />\n </mesh>\n {/* Central dust cap dome */}\n <mesh position={[0, 0.015, 0]}>\n <sphereGeometry args={[0.07, 16, 16, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshStandardMaterial roughness={0.7} color={props.theme === \"dark\" ? \"#0f172a\" : \"#090d16\"} />\n </mesh>\n </group>\n\n {/* Bass Reflex Port (Hole at the bottom) */}\n <mesh position={[0, -0.36, 0.26]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.04, 0.04, 0.02, 16]} />\n <meshStandardMaterial roughness={1.0} color=\"#020617\" />\n </mesh>\n\n {/* Sound Wave Ripple Arcs (Dynamic aesthetic effect) */}\n {[-0.1, 0.2].map((yPos, i) => (\n <group key={i} position={[0, yPos, 0.26]}>\n {/* Thin torus rings fading outward */}\n <mesh position={[0, 0, 0.08 + i * 0.04]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.22 + i * 0.1, 0.008, 6, 24, Math.PI]} />\n <meshBasicMaterial color={props.theme === \"dark\" ? \"#818cf8\" : \"#6366f1\"} transparent opacity={0.4 - i * 0.15} />\n </mesh>\n </group>\n ))}\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { EthernetIconProps } from \"./types\";\n\nexport function EthernetIcon(props: EthernetIconProps) {\n return (\n <SharedWrapper iconId=\"ethernet\" {...props}>\n {(mat) => (\n <group>\n {/* Angled to showcase plug pins and locking tab */}\n <group rotation={[Math.PI / 10, -Math.PI / 5, 0]}>\n {/* RJ45 Crystal Clear/Colored Plug Body */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.38, 0.28, 0.52]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Front gold-plated contact pins (8 small pins on front face) */}\n {Array.from({ length: 8 }).map((_, idx) => {\n const xOffset = -0.14 + idx * 0.04;\n return (\n <mesh key={idx} position={[xOffset, 0.08, 0.27]}>\n <boxGeometry args={[0.02, 0.06, 0.06]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.9}\n color=\"#d4af37\" // Always gold\n />\n </mesh>\n );\n })}\n\n {/* Plastic Locking Tab Lever (on top face) */}\n <group position={[0, 0.16, -0.06]} rotation={[Math.PI / 10, 0, 0]}>\n <mesh castShadow>\n <boxGeometry args={[0.12, 0.04, 0.32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n color={mat.color}\n emissive={mat.emissive}\n />\n </mesh>\n </group>\n\n {/* Rubber Boot Strain Relief (Back part) */}\n <mesh position={[0, 0, -0.32]}>\n <boxGeometry args={[0.32, 0.24, 0.18]} />\n <meshStandardMaterial\n roughness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#64748b\"}\n />\n </mesh>\n\n {/* Rounded Cable Extending Outwards (Back) */}\n <mesh position={[0, -0.06, -0.54]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.07, 0.07, 0.34, 12]} />\n <meshStandardMaterial\n roughness={0.9}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SatelliteIconProps } from \"./types\";\n\nexport function SatelliteIcon(props: SatelliteIconProps) {\n return (\n <SharedWrapper iconId=\"satellite\" {...props}>\n {(mat) => (\n <group>\n {/* Main group angled in space */}\n <group rotation={[Math.PI / 8, -Math.PI / 6, 0]}>\n {/* Hexagonal central satellite body */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.16, 0.16, 0.46, 6]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Left Connector Bar */}\n <mesh position={[-0.24, 0, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.02, 0.02, 0.18, 8]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"} />\n </mesh>\n {/* Left Solar Panel wing */}\n <group position={[-0.45, 0, 0]}>\n <mesh castShadow>\n <boxGeometry args={[0.38, 0.22, 0.02]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#1e1b4b\" : \"#4f46e5\"} // Dark blue solar cell\n />\n </mesh>\n {/* Solar cell divider grids */}\n <mesh position={[0, 0, 0.015]}>\n <boxGeometry args={[0.36, 0.2, 0.005]} />\n <meshStandardMaterial roughness={0.8} color=\"#000000\" wireframe />\n </mesh>\n </group>\n\n {/* Right Connector Bar */}\n <mesh position={[0.24, 0, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.02, 0.02, 0.18, 8]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"} />\n </mesh>\n {/* Right Solar Panel wing */}\n <group position={[0.45, 0, 0]}>\n <mesh castShadow>\n <boxGeometry args={[0.38, 0.22, 0.02]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#1e1b4b\" : \"#4f46e5\"}\n />\n </mesh>\n {/* Solar cell divider grids */}\n <mesh position={[0, 0, 0.015]}>\n <boxGeometry args={[0.36, 0.2, 0.005]} />\n <meshStandardMaterial roughness={0.8} color=\"#000000\" wireframe />\n </mesh>\n </group>\n\n {/* Communication Dish Antenna (extending downwards and forward) */}\n <group position={[0, -0.32, 0.14]} rotation={[Math.PI / 6, 0, 0]}>\n {/* Dish support stem */}\n <mesh position={[0, 0.08, -0.06]} rotation={[-Math.PI / 6, 0, 0]}>\n <cylinderGeometry args={[0.02, 0.02, 0.12, 8]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color={props.theme === \"dark\" ? \"#94a3b8\" : \"#cbd5e1\"} />\n </mesh>\n {/* Dish main bowl */}\n <mesh castShadow position={[0, 0, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <sphereGeometry args={[0.2, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n color={mat.color}\n emissive={mat.emissive}\n />\n </mesh>\n {/* Central receiver feed horn */}\n <mesh position={[0, 0, 0.14]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.01, 0.022, 0.14, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n </group>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CodeIconProps } from \"./types\";\n\nexport function CodeIcon(props: CodeIconProps) {\n return (\n <SharedWrapper iconId=\"code\" {...props}>\n {(mat) => (\n <group>\n {/* Angled to show 3D depth */}\n <group rotation={[Math.PI / 12, -Math.PI / 8, 0]}>\n {/* Left Bracket \"<\" */}\n <group position={[-0.42, 0, 0]}>\n {/* Top half */}\n <mesh castShadow position={[-0.08, 0.12, 0]} rotation={[0, 0, Math.PI / 6]}>\n <boxGeometry args={[0.32, 0.08, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n {/* Bottom half */}\n <mesh castShadow position={[-0.08, -0.12, 0]} rotation={[0, 0, -Math.PI / 6]}>\n <boxGeometry args={[0.32, 0.08, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n </group>\n\n {/* Right Bracket \">\" */}\n <group position={[0.42, 0, 0]}>\n {/* Top half */}\n <mesh castShadow position={[0.08, 0.12, 0]} rotation={[0, 0, -Math.PI / 6]}>\n <boxGeometry args={[0.32, 0.08, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n {/* Bottom half */}\n <mesh castShadow position={[0.08, -0.12, 0]} rotation={[0, 0, Math.PI / 6]}>\n <boxGeometry args={[0.32, 0.08, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n </group>\n\n {/* Center Slash \"/\" */}\n <mesh castShadow position={[0, 0, 0]} rotation={[0, 0, Math.PI / 10]}>\n <boxGeometry args={[0.08, 0.74, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={props.accentColor || mat.color} // Emphasize slash with accent color if present\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TerminalIconProps } from \"./types\";\n\nexport function TerminalIcon(props: TerminalIconProps) {\n return (\n <SharedWrapper iconId=\"terminal\" {...props}>\n {(mat) => (\n <group>\n {/* Angled to show 3D depth */}\n <group rotation={[Math.PI / 10, -Math.PI / 6, 0]}>\n {/* Terminal Window Board */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.9, 0.64, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Window Top Bar (Header) */}\n <mesh position={[0, 0.26, 0.01]}>\n <boxGeometry args={[0.88, 0.09, 0.08]} />\n <meshStandardMaterial\n roughness={0.6}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#94a3b8\"}\n />\n </mesh>\n\n {/* Window control buttons (Red, Yellow, Green spheres) */}\n {[-0.38, -0.31, -0.24].map((xOffset, idx) => {\n const colors = [\"#ef4444\", \"#f59e0b\", \"#10b981\"];\n return (\n <mesh key={idx} position={[xOffset, 0.26, 0.06]}>\n <sphereGeometry args={[0.024, 12, 12]} />\n <meshBasicMaterial color={colors[idx]} />\n </mesh>\n );\n })}\n\n {/* Screen Inner canvas cutout area */}\n <mesh position={[0, -0.06, 0.01]}>\n <boxGeometry args={[0.88, 0.52, 0.07]} />\n <meshStandardMaterial\n roughness={0.9}\n color={props.theme === \"dark\" ? \"#020617\" : \"#f8fafc\"}\n />\n </mesh>\n\n {/* Prompt Arrow \">\" */}\n <group position={[-0.28, 0.08, 0.05]}>\n <mesh castShadow position={[-0.04, 0.04, 0]} rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.1, 0.026, 0.02]} />\n <meshStandardMaterial roughness={0.2} color={props.accentColor || \"#10b981\"} />\n </mesh>\n <mesh castShadow position={[-0.04, -0.04, 0]} rotation={[0, 0, -Math.PI / 4]}>\n <boxGeometry args={[0.1, 0.026, 0.02]} />\n <meshStandardMaterial roughness={0.2} color={props.accentColor || \"#10b981\"} />\n </mesh>\n </group>\n\n {/* Underscore cursor \"_\" */}\n <mesh castShadow position={[-0.14, 0.02, 0.05]}>\n <boxGeometry args={[0.11, 0.024, 0.02]} />\n <meshStandardMaterial roughness={0.2} color={props.accentColor || \"#10b981\"} />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GitIconProps } from \"./types\";\n\nexport function GitIcon(props: GitIconProps) {\n return (\n <SharedWrapper iconId=\"git\" {...props}>\n {(mat) => (\n <group>\n {/* Angled square badge rotated to look like Git logo diamond */}\n <group rotation={[Math.PI / 12, -Math.PI / 8, 0]}>\n {/* Tilted diamond backing box */}\n <mesh castShadow receiveShadow rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.74, 0.74, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </mesh>\n\n {/* Git Branch Lines Group (raised slightly above the face of the backing) */}\n <group position={[0, 0, 0.05]}>\n {/* Main Vertical Trunk line */}\n <mesh position={[-0.14, 0, 0]}>\n <cylinderGeometry args={[0.024, 0.024, 0.48, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#ffffff\" />\n </mesh>\n\n {/* Branch curve line */}\n <mesh position={[0, -0.01, 0]} rotation={[0, 0, -Math.PI / 4]}>\n <cylinderGeometry args={[0.024, 0.024, 0.22, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#ffffff\" />\n </mesh>\n <mesh position={[0.08, 0.11, 0]}>\n <cylinderGeometry args={[0.024, 0.024, 0.16, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#ffffff\" />\n </mesh>\n\n {/* Bottom Trunk Node Sphere */}\n <mesh position={[-0.14, -0.24, 0]}>\n <sphereGeometry args={[0.065, 16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color={props.accentColor || \"#f43f5e\"} />\n </mesh>\n\n {/* Top Trunk Node Sphere */}\n <mesh position={[-0.14, 0.24, 0]}>\n <sphereGeometry args={[0.065, 16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color={props.accentColor || \"#f43f5e\"} />\n </mesh>\n\n {/* Branch Node Sphere */}\n <mesh position={[0.08, 0.19, 0]}>\n <sphereGeometry args={[0.065, 16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color={props.accentColor || \"#f43f5e\"} />\n </mesh>\n </group>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FigmaIconProps } from \"./types\";\n\nexport function FigmaIcon(props: FigmaIconProps) {\n return (\n <SharedWrapper iconId=\"figma\" {...props}>\n {(mat) => {\n // Resolve signature brand colors for the Glass preset, otherwise override for uniform custom presets\n const isGlass = props.preset === undefined || props.preset === \"glass\";\n const cTopLeft = isGlass ? \"#f24e1e\" : mat.color; // Orange\n const cTopRight = isGlass ? \"#ff7262\" : mat.color; // Coral/Pink\n const cMidLeft = isGlass ? \"#a259ff\" : mat.color; // Purple\n const cMidRight = isGlass ? \"#1abc9c\" : mat.color; // Blue\n const cBotLeft = isGlass ? \"#0acf83\" : mat.color; // Green\n\n return (\n <group>\n {/* Angled to show thickness in 3D */}\n <group rotation={[Math.PI / 10, -Math.PI / 8, 0]}>\n \n {/* --- TOP ROW --- */}\n {/* Top-Left: Rounded Left, Flat Right */}\n <group position={[-0.15, 0.3, 0]}>\n <mesh castShadow rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.15, 0.15, 0.08, 16, 1, false, Math.PI / 2, Math.PI]} />\n <meshPhysicalMaterial {...mat} color={cTopLeft} />\n </mesh>\n <mesh castShadow position={[0.075, 0, 0]}>\n <boxGeometry args={[0.15, 0.3, 0.08]} />\n <meshPhysicalMaterial {...mat} color={cTopLeft} />\n </mesh>\n </group>\n\n {/* Top-Right: Full Circle */}\n <mesh castShadow position={[0.15, 0.3, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.15, 0.15, 0.08, 24]} />\n <meshPhysicalMaterial {...mat} color={cTopRight} />\n </mesh>\n\n {/* --- MIDDLE ROW --- */}\n {/* Mid-Left: Rounded Left, Flat Right */}\n <group position={[-0.15, 0, 0]}>\n <mesh castShadow rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.15, 0.15, 0.08, 16, 1, false, Math.PI / 2, Math.PI]} />\n <meshPhysicalMaterial {...mat} color={cMidLeft} />\n </mesh>\n <mesh castShadow position={[0.075, 0, 0]}>\n <boxGeometry args={[0.15, 0.3, 0.08]} />\n <meshPhysicalMaterial {...mat} color={cMidLeft} />\n </mesh>\n </group>\n\n {/* Mid-Right: Full Circle */}\n <mesh castShadow position={[0.15, 0, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.15, 0.15, 0.08, 24]} />\n <meshPhysicalMaterial {...mat} color={cMidRight} />\n </mesh>\n\n {/* --- BOTTOM ROW --- */}\n {/* Bottom-Left: Rounded Right/Bottom (Teardrop shape pointing left) */}\n <group position={[-0.15, -0.3, 0]}>\n {/* Rounded half */}\n <mesh castShadow rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.15, 0.15, 0.08, 16, 1, false, -Math.PI / 2, Math.PI]} />\n <meshPhysicalMaterial {...mat} color={cBotLeft} />\n </mesh>\n {/* Extending block */}\n <mesh castShadow position={[0.075, 0, 0]}>\n <boxGeometry args={[0.15, 0.3, 0.08]} />\n <meshPhysicalMaterial {...mat} color={cBotLeft} />\n </mesh>\n {/* Bottom sharp corner tip to represent the teardrop extension */}\n <mesh castShadow position={[-0.08, -0.08, 0]} rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.12, 0.12, 0.08]} />\n <meshPhysicalMaterial {...mat} color={cBotLeft} />\n </mesh>\n </group>\n\n </group>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BarChartIconProps } from \"./types\";\n\nexport function BarChartIcon(props: BarChartIconProps) {\n return (\n <SharedWrapper iconId=\"barchart\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.25, 0.05]}>\n\n {/* Base plate */}\n <mesh castShadow receiveShadow position={[0, -0.72, 0]}>\n <boxGeometry args={[1.6, 0.07, 0.3]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Bar 1 - Short (left) */}\n <mesh castShadow receiveShadow position={[-0.52, -0.35, 0]}>\n <boxGeometry args={[0.32, 0.7, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Bar 2 - Medium (center) */}\n <mesh castShadow receiveShadow position={[0, -0.08, 0]}>\n <boxGeometry args={[0.32, 1.24, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.5}\n />\n </mesh>\n\n {/* Bar 3 - Tall (right) */}\n <mesh castShadow receiveShadow position={[0.52, 0.18, 0]}>\n <boxGeometry args={[0.32, 1.74, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.7}\n />\n </mesh>\n\n {/* Accent cap on tallest bar */}\n <mesh castShadow position={[0.52, 1.07, 0]}>\n <boxGeometry args={[0.36, 0.08, 0.34]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={0.9}\n roughness={0.2}\n metalness={0.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CheckIconProps } from \"./types\";\n\nexport function CheckIcon(props: CheckIconProps) {\n return (\n <SharedWrapper iconId=\"check\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.2, 0.05]} position={[0, 0.05, 0]}>\n\n {/* Circular backing disc */}\n <mesh castShadow receiveShadow position={[0, 0, -0.1]}>\n <cylinderGeometry args={[0.85, 0.85, 0.12, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 1.2}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Rim border ring */}\n <mesh position={[0, 0, -0.04]}>\n <torusGeometry args={[0.87, 0.055, 12, 48]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.6}\n roughness={0.2}\n metalness={0.4}\n />\n </mesh>\n\n {/* Checkmark – short left leg */}\n <mesh\n castShadow\n position={[-0.22, -0.08, 0.1]}\n rotation={[0, 0, Math.PI / 4]}\n >\n <boxGeometry args={[0.13, 0.42, 0.18]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n roughness={0.15}\n metalness={0.2}\n />\n </mesh>\n\n {/* Checkmark – long right leg */}\n <mesh\n castShadow\n position={[0.14, 0.12, 0.1]}\n rotation={[0, 0, -Math.PI / 3.2]}\n >\n <boxGeometry args={[0.13, 0.72, 0.18]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n roughness={0.15}\n metalness={0.2}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ContainerIconProps } from \"./types\";\n\nexport function ContainerIcon(props: ContainerIconProps) {\n return (\n <SharedWrapper iconId=\"container\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.35, 0.05]}>\n\n {/* Main container body */}\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <boxGeometry args={[1.6, 0.9, 0.75]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.3}\n />\n </mesh>\n\n {/* Corrugation ribs (vertical lines on body) */}\n {[-0.54, -0.27, 0, 0.27, 0.54].map((x, i) => (\n <mesh key={i} castShadow position={[x, 0, 0.38]}>\n <boxGeometry args={[0.045, 0.92, 0.06]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n roughness={0.6}\n metalness={0.4}\n />\n </mesh>\n ))}\n\n {/* Top rail */}\n <mesh castShadow position={[0, 0.47, 0]}>\n <boxGeometry args={[1.64, 0.07, 0.8]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#334155\" : \"#cbd5e1\"}\n roughness={0.4}\n metalness={0.6}\n />\n </mesh>\n\n {/* Bottom rail */}\n <mesh castShadow position={[0, -0.47, 0]}>\n <boxGeometry args={[1.64, 0.07, 0.8]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#334155\" : \"#cbd5e1\"}\n roughness={0.4}\n metalness={0.6}\n />\n </mesh>\n\n {/* Left corner post */}\n <mesh castShadow position={[-0.82, 0, 0]}>\n <boxGeometry args={[0.07, 0.95, 0.82]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#475569\" : \"#94a3b8\"}\n roughness={0.3}\n metalness={0.7}\n />\n </mesh>\n\n {/* Right corner post */}\n <mesh castShadow position={[0.82, 0, 0]}>\n <boxGeometry args={[0.07, 0.95, 0.82]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#475569\" : \"#94a3b8\"}\n roughness={0.3}\n metalness={0.7}\n />\n </mesh>\n\n {/* Door latch bar on front face */}\n <mesh castShadow position={[0.02, 0, 0.41]}>\n <boxGeometry args={[0.055, 0.82, 0.055]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissiveIntensity={0.5}\n roughness={0.2}\n metalness={0.8}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ShieldCheckIconProps } from \"./types\";\n\nexport function ShieldCheckIcon(props: ShieldCheckIconProps) {\n return (\n <SharedWrapper iconId=\"shieldcheck\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.2, 0.05]} position={[0, 0.1, 0]}>\n\n {/* Shield Base Plate – top rectangle */}\n <mesh castShadow receiveShadow position={[0, 0.1, 0]}>\n <boxGeometry args={[1.06, 0.72, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Shield bottom pointed section */}\n <mesh castShadow receiveShadow position={[0, -0.23, 0]} rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.75, 0.75, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Verified badge circle */}\n <mesh position={[0, -0.04, 0.12]}>\n <cylinderGeometry args={[0.34, 0.34, 0.04, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.5}\n roughness={0.2}\n metalness={0.3}\n />\n </mesh>\n\n {/* Checkmark – short left leg */}\n <mesh castShadow position={[-0.1, -0.07, 0.16]} rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.07, 0.2, 0.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Checkmark – long right leg */}\n <mesh castShadow position={[0.07, 0.03, 0.16]} rotation={[0, 0, -Math.PI / 4]}>\n <boxGeometry args={[0.07, 0.38, 0.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Border rim */}\n <mesh position={[0, 0.1, 0.115]}>\n <boxGeometry args={[1.1, 0.74, 0.03]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n wireframe\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ReactIconProps } from \"./types\";\n\nexport function ReactIcon(props: ReactIconProps) {\n return (\n <SharedWrapper iconId=\"react\" {...props}>\n {(mat) => {\n const orbitColor = mat.color;\n const nucleusColor = mat.emissiveIntensity > 0 ? mat.emissive : (props.color || \"#61dafb\");\n\n // Each orbital ring: a torus standing upright (in XY plane by default),\n // then rotated around Y-axis by 0°, 60°, and 120° to create the classic\n // React atom pattern when viewed from a slight angle.\n const ringMat = (\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={orbitColor}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 1.1}\n />\n );\n\n return (\n <group rotation={[0.2, -0.3, 0.05]}>\n\n {/* Central nucleus sphere */}\n <mesh castShadow position={[0, 0, 0]}>\n <sphereGeometry args={[0.19, 24, 24]} />\n <meshStandardMaterial\n color={nucleusColor}\n emissive={nucleusColor}\n emissiveIntensity={1.4}\n roughness={0.08}\n metalness={0.15}\n />\n </mesh>\n\n {/*\n Each ring is a torus in the XZ plane (lying flat),\n then we tilt them 60° apart around the Y-axis.\n To make them look elliptical from the front, we scale\n one axis of the group containing the torus.\n */}\n\n {/* Ring 1 – 0° around Y */}\n <group rotation={[0, 0, 0]} scale={[1, 0.42, 1]}>\n <mesh castShadow>\n <torusGeometry args={[0.78, 0.075, 12, 64]} />\n {ringMat}\n </mesh>\n </group>\n\n {/* Ring 2 – 60° around Y */}\n <group rotation={[0, Math.PI / 3, 0]} scale={[1, 0.42, 1]}>\n <mesh castShadow>\n <torusGeometry args={[0.78, 0.075, 12, 64]} />\n {ringMat}\n </mesh>\n </group>\n\n {/* Ring 3 – 120° around Y */}\n <group rotation={[0, (2 * Math.PI) / 3, 0]} scale={[1, 0.42, 1]}>\n <mesh castShadow>\n <torusGeometry args={[0.78, 0.075, 12, 64]} />\n {ringMat}\n </mesh>\n </group>\n\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { NodeIconProps } from \"./types\";\n\nexport function NodeIcon(props: NodeIconProps) {\n return (\n <SharedWrapper iconId=\"node\" {...props}>\n {(mat) => {\n const accentCol = mat.emissiveIntensity > 0 ? mat.emissive : (props.accentColor || \"#3c873a\");\n const faceZ = 0.22;\n\n // Leg geometry\n const legHeight = 0.72;\n const legHalfH = legHeight / 2; // 0.36\n const legX = 0.25; // x distance from center to each leg\n\n // Diagonal: must go from top of LEFT leg (-0.25, +0.36)\n // to bottom of RIGHT leg (+0.25, -0.36)\n // Center of diagonal is at (0, 0).\n // Angle from Y-axis: atan2(legX, legHalfH) gives a CCW tilt to the right → \"\\\" shape\n const diagAngle = Math.atan2(legX, legHalfH); // ≈ 34.8°\n const diagLength = Math.sqrt((legX * 2) ** 2 + legHeight ** 2); // ≈ 0.877\n\n const legMat = (\n <meshStandardMaterial\n color={accentCol}\n emissive={accentCol}\n emissiveIntensity={0.9}\n roughness={0.15}\n metalness={0.2}\n />\n );\n\n return (\n <group rotation={[0.1, -0.3, 0.05]}>\n\n {/* Hexagonal shield body – rotated so flat face points forward */}\n <mesh castShadow receiveShadow rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.82, 0.82, 0.42, 6, 1]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glowing hexagonal border rim */}\n <mesh rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.86, 0.86, 0.06, 6]} />\n <meshStandardMaterial\n color={accentCol}\n emissive={accentCol}\n emissiveIntensity={0.5}\n roughness={0.2}\n metalness={0.5}\n />\n </mesh>\n\n {/* N – left vertical leg */}\n <mesh castShadow position={[-legX, 0, faceZ]}>\n <boxGeometry args={[0.11, legHeight, 0.1]} />\n {legMat}\n </mesh>\n\n {/* N – right vertical leg */}\n <mesh castShadow position={[legX, 0, faceZ]}>\n <boxGeometry args={[0.11, legHeight, 0.1]} />\n {legMat}\n </mesh>\n\n {/*\n N – diagonal stroke.\n Positive rotation (CCW) tilts the box's top to the LEFT and bottom to the RIGHT.\n With diagAngle = atan2(legX, legHalfH) ≈ 34.8°:\n top of box → (-legX, +legHalfH) = top of left leg ✓\n bottom of box → (+legX, -legHalfH) = bottom of right leg ✓\n Result: \"\\\" diagonal = correct N shape.\n */}\n <mesh castShadow position={[0, 0, faceZ]} rotation={[0, 0, diagAngle]}>\n <boxGeometry args={[0.11, diagLength, 0.1]} />\n {legMat}\n </mesh>\n\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BugIconProps } from \"./types\";\n\nexport function BugIcon(props: BugIconProps) {\n return (\n <SharedWrapper iconId=\"bug\" {...props}>\n {(mat) => {\n const accent = props.accentColor || \"#ef4444\";\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : accent;\n return (\n <group rotation={[0.1, -0.25, 0.05]}>\n {/* Body */}\n <mesh castShadow receiveShadow position={[0, -0.05, 0]}>\n <sphereGeometry args={[0.55, 24, 16]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.5} />\n </mesh>\n {/* Head */}\n <mesh castShadow position={[0, 0.6, 0]}>\n <sphereGeometry args={[0.28, 20, 14]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.5} />\n </mesh>\n {/* Eyes */}\n {([-0.12, 0.12] as number[]).map((x, i) => (\n <mesh key={i} position={[x, 0.66, 0.2]}>\n <sphereGeometry args={[0.07, 10, 10]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={1.2} />\n </mesh>\n ))}\n {/* Antennae */}\n {([[-0.14, 0.88, 0.07, -0.35], [0.14, 0.88, 0.07, 0.35]] as number[][]).map(([x, y, z, rx], i) => (\n <mesh key={i} position={[x, y, z]} rotation={[0, 0, rx]}>\n <boxGeometry args={[0.04, 0.32, 0.04]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={0.7} />\n </mesh>\n ))}\n {/* Legs (3 per side) */}\n {([-1, 0, 1] as number[]).map((row, i) => ([-1, 1] as number[]).map((side, j) => (\n <mesh key={`${i}-${j}`} position={[side * 0.55, row * 0.22 - 0.05, 0]} rotation={[0, 0, side * 0.9]}>\n <boxGeometry args={[0.32, 0.05, 0.04]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={0.5} />\n </mesh>\n )))}\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FlaskIconProps } from \"./types\";\n\nexport function FlaskIcon(props: FlaskIconProps) {\n return (\n <SharedWrapper iconId=\"flask\" {...props}>\n {(mat) => {\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : (props.accentColor || \"#a855f7\");\n return (\n <group rotation={[0.05, -0.25, 0.04]}>\n {/* Neck / tube */}\n <mesh castShadow receiveShadow position={[0, 0.52, 0]}>\n <cylinderGeometry args={[0.18, 0.18, 0.66, 20]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.4} />\n </mesh>\n {/* Flask mouth rim */}\n <mesh castShadow position={[0, 0.88, 0]}>\n <torusGeometry args={[0.2, 0.04, 8, 32]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={0.6} roughness={0.2} metalness={0.4} />\n </mesh>\n {/* Bulb body */}\n <mesh castShadow receiveShadow position={[0, -0.22, 0]}>\n <sphereGeometry args={[0.62, 24, 16]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.5} />\n </mesh>\n {/* Liquid level inside bulb */}\n <mesh position={[0, -0.46, 0]}>\n <cylinderGeometry args={[0.44, 0.44, 0.28, 24]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={0.5} roughness={0.1} metalness={0.1} transparent opacity={0.75} />\n </mesh>\n {/* Bubble 1 */}\n <mesh position={[-0.18, -0.28, 0.3]}>\n <sphereGeometry args={[0.07, 10, 10]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={0.9} transparent opacity={0.8} />\n </mesh>\n {/* Bubble 2 */}\n <mesh position={[0.2, -0.14, 0.28]}>\n <sphereGeometry args={[0.05, 8, 8]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={0.9} transparent opacity={0.8} />\n </mesh>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PieChartIconProps } from \"./types\";\n\nexport function PieChartIcon(props: PieChartIconProps) {\n return (\n <SharedWrapper iconId=\"piechart\" {...props}>\n {(mat) => {\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : (props.accentColor || \"#ec4899\");\n // Three pie wedges approximated with cylinder geometry and clipped via rotation\n return (\n <group rotation={[0.3, -0.3, 0]}>\n {/* Base disc */}\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <cylinderGeometry args={[0.82, 0.82, 0.22, 32]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.4} />\n </mesh>\n {/* Slice 1 – large (~50%) */}\n <mesh castShadow position={[0.1, 0.14, 0]}>\n <cylinderGeometry args={[0.72, 0.72, 0.3, 32, 1, false, 0, Math.PI]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.6} />\n </mesh>\n {/* Slice 2 – medium (~30%) accent */}\n <mesh castShadow position={[-0.12, 0.14, 0.08]}>\n <cylinderGeometry args={[0.68, 0.68, 0.32, 32, 1, false, Math.PI, Math.PI * 0.6]} />\n <meshStandardMaterial color={ac} emissive={ac} emissiveIntensity={0.55} roughness={0.3} metalness={0.2} />\n </mesh>\n {/* Slice 3 – small (~20%) */}\n <mesh castShadow position={[0.06, 0.14, -0.06]}>\n <cylinderGeometry args={[0.65, 0.65, 0.28, 32, 1, false, Math.PI * 1.6, Math.PI * 0.4]} />\n <meshPhysicalMaterial roughness={mat.roughness * 1.2} metalness={mat.metalness * 0.8} transmission={mat.transmission} thickness={mat.thickness} clearcoat={mat.clearcoat} clearcoatRoughness={mat.clearcoatRoughness} ior={mat.ior} color={mat.color} emissive={mat.emissive} emissiveIntensity={mat.emissiveIntensity * 0.3} />\n </mesh>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport * as THREE from \"three\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { FlameIconProps } from \"./types\";\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndeclare global {\n interface Window {\n THREE: any;\n }\n}\n\n// Revolved Y-axis curves for the outer and inner flame shapes\nconst OUTER_PROFILE_POINTS: number[][] = [\n [0, 0.95],\n [0.03, 0.90],\n [0.08, 0.80],\n [0.15, 0.65],\n [0.24, 0.45],\n [0.34, 0.20],\n [0.42, -0.05],\n [0.46, -0.25],\n [0.42, -0.45],\n [0.32, -0.60],\n [0.18, -0.70],\n [0.08, -0.74],\n [0, -0.75]\n];\n\nconst INNER_PROFILE_POINTS: number[][] = [\n [0, 0.45],\n [0.03, 0.40],\n [0.08, 0.28],\n [0.13, 0.10],\n [0.17, -0.10],\n [0.19, -0.22],\n [0.16, -0.34],\n [0.10, -0.42],\n [0.04, -0.47],\n [0, -0.48]\n];\n\ninterface EmberData {\n mesh: any;\n speedY: number;\n seed: number;\n originalX: number;\n}\n\nexport function FlameIcon(props: FlameIconProps) {\n const outerPoints = useMemo(() => OUTER_PROFILE_POINTS.map(p => new THREE.Vector2(p[0], p[1])), []);\n const innerPoints = useMemo(() => INNER_PROFILE_POINTS.map(p => new THREE.Vector2(p[0], p[1])), []);\n const flatness = 0.65;\n\n if (props.studio) {\n return <FlameStudio {...props} />;\n }\n\n return (\n <SharedWrapper iconId=\"flame\" {...props}>\n {(mat) => (\n <group position={[0, 0.05, 0]}>\n {/* Fireplace Logs at base */}\n <group position={[0, -0.45, 0]}>\n {/* Log 1 */}\n <mesh position={[0, 0, -0.06]} rotation={[Math.PI / 2, 0, Math.PI / 4]} castShadow>\n <cylinderGeometry args={[0.05, 0.06, 0.8, 12]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#4a2810\" />\n </mesh>\n {/* Log 2 */}\n <mesh position={[0, 0, 0.06]} rotation={[Math.PI / 2, 0, -Math.PI / 4]} castShadow>\n <cylinderGeometry args={[0.05, 0.06, 0.8, 12]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#4a2810\" />\n </mesh>\n {/* Glowing Charcoal in center */}\n <mesh position={[0, 0.03, 0]} castShadow>\n <sphereGeometry args={[0.11, 12, 12]} />\n <meshStandardMaterial\n color=\"#f97316\"\n emissive=\"#f97316\"\n emissiveIntensity={1.5}\n roughness={0.5}\n />\n </mesh>\n </group>\n\n {/* Flame Layers */}\n <group position={[0, 0.1, 0]} scale={[1.1, 1.1, 1.1 * flatness]}>\n {/* Outer Flame Mesh */}\n <mesh position={[0, -0.15, 0]} castShadow receiveShadow>\n <latheGeometry args={[outerPoints, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n side={THREE.DoubleSide}\n />\n </mesh>\n\n {/* Mid Flame Mesh */}\n <mesh position={[0, -0.22, 0.03]} scale={[0.72, 0.72, 0.72]} castShadow>\n <latheGeometry args={[outerPoints, 32]} />\n <meshStandardMaterial\n color={props.accentColor || \"#ef4444\"}\n emissive={props.accentColor || \"#ef4444\"}\n emissiveIntensity={0.6}\n side={THREE.DoubleSide}\n />\n </mesh>\n\n {/* Inner Flame Core Mesh */}\n <mesh position={[0, -0.32, 0.05]} scale={[0.9, 0.9, 0.9]} castShadow>\n <latheGeometry args={[innerPoints, 32]} />\n <meshStandardMaterial\n color=\"#fbfb24\"\n emissive=\"#fbfb24\"\n emissiveIntensity={1.4}\n side={THREE.DoubleSide}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n\nfunction FlameStudio() {\n const [threeLoaded, setThreeLoaded] = useState(false);\n const [toastMessage, setToastMessage] = useState('');\n\n // Flame properties\n const [primaryColor, setPrimaryColor] = useState('#f97316'); // Outer orange\n const [accentColor, setAccentColor] = useState('#ef4444'); // Mid red\n const [coreColor, setCoreColor] = useState('#fbfb24'); // Inner gold\n const [flameStyle, setFlameStyle] = useState('glass'); // Glass, Hologram, Matte, Gold\n const [swayIntensity, setSwayIntensity] = useState(1.2);\n const [flickerSpeed, setFlickerSpeed] = useState(1.5);\n const [flatness, setFlatness] = useState(0.55); // Z-axis squish for a stylized icon look\n const [showLogs, setShowLogs] = useState(true);\n const [emberCount, setEmberCount] = useState(18);\n const [orthographic, setOrthographic] = useState(false);\n\n // Studio environments\n const [gridVisible, setGridVisible] = useState(true);\n const [lightingPreset, setLightingPreset] = useState('warm');\n const [activeTab, setActiveTab] = useState('flame');\n const [codeTab, setCodeTab] = useState('threejs');\n\n // Animation & WebGL References\n const containerRef = useRef<HTMLDivElement | null>(null);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const sceneRef = useRef<any>(null);\n const rendererRef = useRef<any>(null);\n const cameraRef = useRef<any>(null);\n const orthoCameraRef = useRef<any>(null);\n const activeCameraRef = useRef<any>(null);\n\n // Flame parts references\n const rotationGroupRef = useRef<any>(null);\n const flameGroupRef = useRef<any>(null);\n const outerFlameRef = useRef<any>(null);\n const midFlameRef = useRef<any>(null);\n const innerFlameRef = useRef<any>(null);\n const logsGroupRef = useRef<any>(null);\n const embersArrayRef = useRef<EmberData[]>([]);\n\n // Lights & helpers\n const keyLightRef = useRef<any>(null);\n const fillLightRef = useRef<any>(null);\n const coreLightRef = useRef<any>(null);\n const gridHelperRef = useRef<any>(null);\n\n // Interaction vectors\n const previousMousePosition = useRef({ x: 0, y: 0 });\n const [isDragging, setIsDragging] = useState(false);\n\n useEffect(() => {\n if (window.THREE) {\n setThreeLoaded(true);\n return;\n }\n\n let script: HTMLScriptElement | null = document.querySelector('script[src*=\"three.min.js\"]') as HTMLScriptElement | null;\n if (!script) {\n script = document.createElement('script');\n script.src = 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js';\n script.async = true;\n document.head.appendChild(script);\n }\n\n const handleLoad = () => setThreeLoaded(true);\n script.addEventListener('load', handleLoad);\n\n const capturedScript = script;\n return () => {\n capturedScript.removeEventListener('load', handleLoad);\n };\n }, []);\n\n const triggerToast = (msg: string) => {\n setToastMessage(msg);\n setTimeout(() => setToastMessage(''), 3000);\n };\n\n const copyToClipboard = (text: string, label: string) => {\n navigator.clipboard.writeText(text).then(() => {\n triggerToast(`Copied ${label} to clipboard!`);\n }).catch(() => {\n triggerToast('Failed to copy to clipboard');\n });\n };\n\n const buildLatheGeometry = (pointsData: number[][]) => {\n const THREE = window.THREE;\n if (!THREE) return null;\n const vectors = pointsData.map((p: number[]) => new THREE.Vector2(p[0], p[1]));\n return new THREE.LatheGeometry(vectors, 32);\n };\n\n useEffect(() => {\n if (!threeLoaded || !canvasRef.current || !containerRef.current) return;\n\n const THREE = window.THREE;\n const width = containerRef.current.clientWidth;\n const height = containerRef.current.clientHeight;\n\n // Create Scene\n const scene = new THREE.Scene();\n sceneRef.current = scene;\n\n // Create Perspective & Ortho Cameras\n const camera = new THREE.PerspectiveCamera(40, width / height, 0.1, 100);\n camera.position.set(0, 0.2, 5.5);\n cameraRef.current = camera;\n\n const aspect = width / height;\n const d = 2.4;\n const orthoCamera = new THREE.OrthographicCamera(-d * aspect, d * aspect, d, -d, 0.1, 100);\n orthoCamera.position.set(0, 0.2, 8);\n orthoCameraRef.current = orthoCamera;\n\n activeCameraRef.current = orthographic ? orthoCamera : camera;\n\n // Renderer setup\n const renderer = new THREE.WebGLRenderer({\n canvas: canvasRef.current,\n alpha: true,\n antialias: true,\n preserveDrawingBuffer: true,\n });\n renderer.setSize(width, height);\n renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));\n renderer.shadowMap.enabled = true;\n rendererRef.current = renderer;\n\n // Groups hierarchy\n const rotationGroup = new THREE.Group();\n const flameGroup = new THREE.Group();\n rotationGroup.add(flameGroup);\n scene.add(rotationGroup);\n rotationGroupRef.current = rotationGroup;\n flameGroupRef.current = flameGroup;\n\n // Ambient Lighting\n const ambientLight = new THREE.AmbientLight(0xffffff, 0.55);\n scene.add(ambientLight);\n\n // Directional Key Light (gives shiny edges to glass/gold)\n const keyLight = new THREE.DirectionalLight(0xffffff, 2.0);\n keyLight.position.set(5, 5, 4);\n scene.add(keyLight);\n keyLightRef.current = keyLight;\n\n // Soft fill\n const fillLight = new THREE.DirectionalLight(0xffffff, 0.8);\n fillLight.position.set(-5, -2, 2);\n scene.add(fillLight);\n fillLightRef.current = fillLight;\n\n // Internal Glow PointLight (simulating real flame illumination)\n const coreLight = new THREE.PointLight(primaryColor, 3, 8);\n coreLight.position.set(0, -0.1, 0);\n scene.add(coreLight);\n coreLightRef.current = coreLight;\n\n // Pristine Light Grid Floor\n const gridHelper = new THREE.GridHelper(10, 20, 0x06b6d4, 0xe2e8f0);\n gridHelper.position.y = -1.4;\n scene.add(gridHelper);\n gridHelperRef.current = gridHelper;\n\n const logsGroup = new THREE.Group();\n logsGroup.position.y = -0.9;\n flameGroup.add(logsGroup);\n logsGroupRef.current = logsGroup;\n\n // Dynamic fire log shapes\n const logMaterial = new THREE.MeshStandardMaterial({\n color: 0x4d2110,\n roughness: 0.9,\n metalness: 0.1,\n });\n const logGeom = new THREE.CylinderGeometry(0.08, 0.1, 1.2, 12);\n\n const log1 = new THREE.Mesh(logGeom, logMaterial);\n log1.rotation.set(Math.PI / 2, 0, Math.PI / 4);\n log1.position.set(0, 0, -0.1);\n logsGroup.add(log1);\n\n const log2 = new THREE.Mesh(logGeom, logMaterial);\n log2.rotation.set(Math.PI / 2, 0, -Math.PI / 4);\n log2.position.set(0, 0, 0.1);\n logsGroup.add(log2);\n\n // Glowing charcoal core mesh in middle of wood logs\n const charcoalGeom = new THREE.SphereGeometry(0.18, 12, 12);\n const charcoalMat = new THREE.MeshStandardMaterial({\n color: 0xea580c,\n emissive: 0xea580c,\n emissiveIntensity: 1.5,\n });\n const charcoal = new THREE.Mesh(charcoalGeom, charcoalMat);\n charcoal.position.set(0, 0.05, 0);\n logsGroup.add(charcoal);\n\n const embersGroup = new THREE.Group();\n flameGroup.add(embersGroup);\n\n const emberGeom = new THREE.SphereGeometry(0.025, 6, 6);\n const emberMat = new THREE.MeshBasicMaterial({\n color: 0xfbbf24,\n transparent: true,\n opacity: 0.9,\n });\n\n const embers: EmberData[] = [];\n for (let i = 0; i < 30; i++) {\n const mesh = new THREE.Mesh(emberGeom, emberMat);\n // Random initial distribution\n mesh.position.set(\n (Math.random() - 0.5) * 0.6,\n -0.7 + Math.random() * 1.5,\n (Math.random() - 0.5) * 0.4\n );\n embersGroup.add(mesh);\n embers.push({\n mesh: mesh,\n speedY: 0.015 + Math.random() * 0.02,\n seed: Math.random() * 100,\n originalX: mesh.position.x,\n });\n }\n embersArrayRef.current = embers;\n\n // Instantiate Flame geometries\n const outerGeom = buildLatheGeometry(OUTER_PROFILE_POINTS);\n const innerGeom = buildLatheGeometry(INNER_PROFILE_POINTS);\n\n // Dynamic Materials\n const outerMat = new THREE.MeshPhysicalMaterial({\n color: primaryColor,\n side: THREE.DoubleSide,\n transparent: true,\n });\n const midMat = new THREE.MeshStandardMaterial({\n color: accentColor,\n side: THREE.DoubleSide,\n emissive: accentColor,\n emissiveIntensity: 0.5,\n });\n const innerMat = new THREE.MeshStandardMaterial({\n color: coreColor,\n side: THREE.DoubleSide,\n emissive: coreColor,\n emissiveIntensity: 1.2,\n });\n\n // Outer Mesh\n const outerMesh = new THREE.Mesh(outerGeom, outerMat);\n outerMesh.position.set(0, -0.15, 0);\n flameGroup.add(outerMesh);\n outerFlameRef.current = outerMesh;\n\n // Mid Flame Mesh\n const midMesh = new THREE.Mesh(outerGeom, midMat);\n midMesh.scale.setScalar(0.72);\n midMesh.position.set(0, -0.22, 0.03); // Nudged slightly forward\n flameGroup.add(midMesh);\n midFlameRef.current = midMesh;\n\n // Inner Flame Core Mesh\n const innerMesh = new THREE.Mesh(innerGeom, innerMat);\n innerMesh.scale.setScalar(0.9);\n innerMesh.position.set(0, -0.32, 0.05); // Deeper inside, forward glow\n flameGroup.add(innerMesh);\n innerFlameRef.current = innerMesh;\n\n let animFrameId: number;\n const clock = new THREE.Clock();\n\n const animate = () => {\n const time = clock.getElapsedTime();\n\n // Flame flickering scale pulses\n const flickerFactor = Math.sin(time * 12 * flickerSpeed) * 0.03 + Math.cos(time * 7 * flickerSpeed) * 0.02;\n const baseScaleY = 1.0 + flickerFactor;\n const baseScaleXZ = 1.0 - (flickerFactor * 0.5);\n\n // Apply 2.5D Flattening and physics sway\n if (flameGroupRef.current) {\n // Squish Z to keep icon crisp & flat (the flatness slider offset)\n flameGroupRef.current.scale.set(baseScaleXZ, baseScaleY, baseScaleXZ * flatness);\n }\n\n // Sine wave swaying representing soft rising heat\n const swayAmount = 0.08 * swayIntensity;\n if (outerFlameRef.current) {\n outerFlameRef.current.rotation.z = Math.sin(time * 2.5 * flickerSpeed) * swayAmount;\n outerFlameRef.current.rotation.x = Math.cos(time * 1.8 * flickerSpeed) * (swayAmount * 0.6);\n }\n if (midFlameRef.current) {\n // Offset phases to create organic independent licking motion\n midFlameRef.current.rotation.z = Math.sin(time * 2.8 * flickerSpeed + 1.2) * (swayAmount * 1.1);\n midFlameRef.current.rotation.x = Math.cos(time * 2.1 * flickerSpeed + 0.8) * (swayAmount * 0.8);\n }\n if (innerFlameRef.current) {\n innerFlameRef.current.rotation.z = Math.sin(time * 3.2 * flickerSpeed + 2.4) * (swayAmount * 0.7);\n }\n\n // Animate Rising Sparks/Embers\n embersArrayRef.current.forEach((ember: EmberData, index: number) => {\n // Hide embers exceeding user count limits\n if (index >= emberCount) {\n ember.mesh.visible = false;\n return;\n }\n ember.mesh.visible = true;\n\n // Rise upward\n ember.mesh.position.y += ember.speedY * flickerSpeed;\n\n // Drifting sine wave\n const drift = Math.sin(time * 3.5 + ember.seed) * 0.012;\n ember.mesh.position.x += drift;\n\n // Slowly shrink and fade out as it reaches the top\n const heightFactor = (ember.mesh.position.y + 0.7) / 1.7; // mapped 0 to 1\n const scale = Math.max(0.01, 1.0 - heightFactor);\n ember.mesh.scale.setScalar(scale);\n\n // Reset particle back to hot base\n if (ember.mesh.position.y > 0.95 || heightFactor >= 1.0) {\n ember.mesh.position.y = -0.7;\n ember.mesh.position.x = (Math.random() - 0.5) * 0.5;\n }\n });\n\n // Animate charcoal heat intensity\n charcoalMat.emissiveIntensity = 1.3 + Math.sin(time * 5) * 0.25;\n\n // Core pointlight flicker\n if (coreLightRef.current) {\n coreLightRef.current.intensity = 2.5 + Math.sin(time * 15) * 0.6;\n }\n\n if (rendererRef.current && sceneRef.current && activeCameraRef.current) {\n rendererRef.current.render(sceneRef.current, activeCameraRef.current);\n }\n\n animFrameId = requestAnimationFrame(animate);\n };\n\n animate();\n\n const handleResize = () => {\n if (!containerRef.current || !rendererRef.current) return;\n const w = containerRef.current.clientWidth;\n const h = containerRef.current.clientHeight;\n\n rendererRef.current.setSize(w, h);\n\n if (cameraRef.current) {\n cameraRef.current.aspect = w / h;\n cameraRef.current.updateProjectionMatrix();\n }\n if (orthoCameraRef.current) {\n const activeAspect = w / h;\n orthoCameraRef.current.left = -d * activeAspect;\n orthoCameraRef.current.right = d * activeAspect;\n orthoCameraRef.current.top = d;\n orthoCameraRef.current.bottom = -d;\n orthoCameraRef.current.updateProjectionMatrix();\n }\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n cancelAnimationFrame(animFrameId);\n window.removeEventListener('resize', handleResize);\n renderer.dispose();\n outerGeom?.dispose();\n innerGeom?.dispose();\n logGeom.dispose();\n charcoalGeom.dispose();\n emberGeom.dispose();\n };\n }, [threeLoaded]);\n\n useEffect(() => {\n if (!threeLoaded || !outerFlameRef.current || !midFlameRef.current || !innerFlameRef.current) return;\n\n const pm = outerFlameRef.current.material;\n const mm = midFlameRef.current.material;\n const im = innerFlameRef.current.material;\n\n // Apply color spectrums\n pm.color.set(primaryColor);\n mm.color.set(accentColor);\n mm.emissive.set(accentColor);\n im.color.set(coreColor);\n im.emissive.set(coreColor);\n\n // Apply specific stylized material shaders\n if (flameStyle === 'glass') {\n pm.roughness = 0.08;\n pm.metalness = 0.1;\n pm.transmission = 0.88;\n pm.thickness = 1.5;\n pm.clearcoat = 1.0;\n pm.clearcoatRoughness = 0.05;\n pm.ior = 1.48;\n pm.opacity = 0.95;\n } else if (flameStyle === 'holo') {\n pm.roughness = 0.15;\n pm.metalness = 0.95;\n pm.transmission = 0.0;\n pm.clearcoat = 1.0;\n pm.clearcoatRoughness = 0.1;\n pm.ior = 1.65;\n pm.opacity = 0.8;\n // High emission shimmer\n pm.emissive = new window.THREE.Color(accentColor);\n pm.emissiveIntensity = 0.6;\n } else if (flameStyle === 'gold') {\n pm.roughness = 0.1;\n pm.metalness = 0.98;\n pm.transmission = 0.0;\n pm.clearcoat = 0.8;\n pm.clearcoatRoughness = 0.05;\n pm.opacity = 1.0;\n } else if (flameStyle === 'matte') {\n pm.roughness = 0.95;\n pm.metalness = 0.02;\n pm.transmission = 0.0;\n pm.clearcoat = 0.0;\n pm.opacity = 1.0;\n }\n }, [flameStyle, primaryColor, accentColor, coreColor, threeLoaded]);\n\n // Sync log elements visibility\n useEffect(() => {\n if (logsGroupRef.current) {\n logsGroupRef.current.visible = showLogs;\n }\n }, [showLogs]);\n\n // Sync grid visibility helper\n useEffect(() => {\n if (gridHelperRef.current) {\n gridHelperRef.current.visible = gridVisible;\n }\n }, [gridVisible]);\n\n // Sync orthographic camera selection\n useEffect(() => {\n if (!threeLoaded || !cameraRef.current || !orthoCameraRef.current) return;\n activeCameraRef.current = orthographic ? orthoCameraRef.current : cameraRef.current;\n }, [orthographic, threeLoaded]);\n\n // Dynamic Lighting preset configurations\n useEffect(() => {\n if (!threeLoaded || !keyLightRef.current || !fillLightRef.current) return;\n if (lightingPreset === 'warm') {\n keyLightRef.current.color.set('#ffd1a4');\n fillLightRef.current.color.set('#f1f5f9');\n } else if (lightingPreset === 'cool') {\n keyLightRef.current.color.set('#a4f0ff');\n fillLightRef.current.color.set('#e2e8f0');\n } else if (lightingPreset === 'magic') {\n keyLightRef.current.color.set('#f472b6');\n fillLightRef.current.color.set('#818cf8');\n }\n }, [lightingPreset, threeLoaded]);\n\n const handleMouseDown = (e: React.MouseEvent) => {\n setIsDragging(true);\n previousMousePosition.current = { x: e.clientX, y: e.clientY };\n };\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!isDragging || !rotationGroupRef.current) return;\n const deltaX = e.clientX - previousMousePosition.current.x;\n const deltaY = e.clientY - previousMousePosition.current.y;\n\n rotationGroupRef.current.rotation.y += deltaX * 0.007;\n rotationGroupRef.current.rotation.x += deltaY * 0.007;\n\n previousMousePosition.current = { x: e.clientX, y: e.clientY };\n };\n\n const handleMouseUp = () => {\n setIsDragging(false);\n };\n\n const handleTouchStart = (e: React.TouchEvent) => {\n if (e.touches.length === 1) {\n setIsDragging(true);\n previousMousePosition.current = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY,\n };\n }\n };\n\n const handleTouchMove = (e: React.TouchEvent) => {\n if (!isDragging || e.touches.length !== 1 || !rotationGroupRef.current) return;\n const deltaX = e.touches[0].clientX - previousMousePosition.current.x;\n const deltaY = e.touches[0].clientY - previousMousePosition.current.y;\n\n rotationGroupRef.current.rotation.y += deltaX * 0.007;\n rotationGroupRef.current.rotation.x += deltaY * 0.007;\n\n previousMousePosition.current = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY,\n };\n };\n\n const resetRotation = () => {\n if (rotationGroupRef.current) {\n rotationGroupRef.current.rotation.set(0, 0, 0);\n triggerToast('Reset flame visual angle');\n }\n };\n\n const downloadPng = () => {\n if (!rendererRef.current || !sceneRef.current || !activeCameraRef.current || !canvasRef.current) return;\n\n const gridWasVisible = gridHelperRef.current ? gridHelperRef.current.visible : false;\n if (gridHelperRef.current) gridHelperRef.current.visible = false;\n\n rendererRef.current.render(sceneRef.current, activeCameraRef.current);\n const dataUrl = canvasRef.current.toDataURL('image/png');\n\n if (gridHelperRef.current) gridHelperRef.current.visible = gridWasVisible;\n rendererRef.current.render(sceneRef.current, activeCameraRef.current);\n\n const link = document.createElement('a');\n link.download = `Premium-Flame-Icon-3D.png`;\n link.href = dataUrl;\n link.click();\n triggerToast('Alpha Transparent PNG Downloaded!');\n };\n\n const applySpectrumPreset = (type: string) => {\n if (type === 'classic') {\n setPrimaryColor('#f97316');\n setAccentColor('#ef4444');\n setCoreColor('#fbbf24');\n triggerToast('Applied solar flame spectrum');\n } else if (type === 'cosmic') {\n setPrimaryColor('#a855f7');\n setAccentColor('#ec4899');\n setCoreColor('#6366f1');\n triggerToast('Applied cosmic magic flame spectrum');\n } else if (type === 'frost') {\n setPrimaryColor('#06b6d4');\n setAccentColor('#3b82f6');\n setCoreColor('#a5f3fc');\n triggerToast('Applied absolute frost sapphire spectrum');\n } else if (type === 'toxic') {\n setPrimaryColor('#22c55e');\n setAccentColor('#84cc16');\n setCoreColor('#e11d48');\n triggerToast('Applied plasma nuclear green spectrum');\n }\n };\n\n const getThreeJsCode = () => {\n return `// Optimized Flame Icon Geometry utilizing Revolved Silhouette curves and non-uniform squishing for 2.5D designer aesthetics\nimport * as THREE from 'three';\n\nconst OUTER_PROFILE = [\n new THREE.Vector2(0, 0.95),\n new THREE.Vector2(0.03, 0.90),\n new THREE.Vector2(0.08, 0.80),\n new THREE.Vector2(0.15, 0.65),\n new THREE.Vector2(0.24, 0.45),\n new THREE.Vector2(0.34, 0.20),\n new THREE.Vector2(0.42, -0.05),\n new THREE.Vector2(0.46, -0.25),\n new THREE.Vector2(0.42, -0.45),\n new THREE.Vector2(0.32, -0.60),\n new THREE.Vector2(0.18, -0.70),\n new THREE.Vector2(0.08, -0.74),\n new THREE.Vector2(0, -0.75)\n];\n\nconst outerGeom = new THREE.LatheGeometry(OUTER_PROFILE, 32);\n\n// Apply custom designer flatness onto the Mesh scale (X, Y, Z * ${flatness})\nconst flameMesh = new THREE.Mesh(outerGeom, new THREE.MeshPhysicalMaterial({\n color: \"${primaryColor}\",\n roughness: 0.1,\n transmission: 0.85,\n thickness: 1.2\n}));\n\nflameMesh.scale.set(1, 1, ${flatness}); // Modern stylized flat icon look!`;\n };\n\n return (\n <div className=\"min-h-screen bg-[#f8fafc] text-slate-800 flex flex-col font-sans overflow-x-hidden selection:bg-orange-100 selection:text-orange-900\">\n\n {/* Toast systems */}\n {toastMessage && (\n <div className=\"fixed top-6 right-6 z-50 flex items-center bg-white border border-orange-200 text-orange-800 px-4 py-3 rounded-xl shadow-xl backdrop-blur-md animate-bounce\">\n <svg className=\"w-5 h-5 mr-2 stroke-current text-orange-500\" fill=\"none\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n <span className=\"text-sm font-semibold\">{toastMessage}</span>\n </div>\n )}\n\n {/* Header Panel */}\n <header className=\"border-b border-slate-200 bg-white px-6 py-4 flex flex-col sm:flex-row items-center justify-between gap-4 sticky top-0 z-40 backdrop-blur-md\">\n <div className=\"flex items-center gap-3\">\n <div className=\"p-2 bg-gradient-to-br from-orange-400 to-red-500 rounded-xl shadow-md shadow-orange-500/10\">\n <svg className=\"w-7 h-7 text-white\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.5} d=\"M17.657 18.657A8 8 0 016.343 7.343S7 9 9 10c0-2 .5-5 2.986-7C14 5 16.09 5.777 17.656 7.343A7.975 7.975 0 0120 13a7.975 7.975 0 01-2.343 5.657z\" />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.5} d=\"M9.879 16.172a3 3 0 014.242 0M9.879 16.172a3 3 0 01-4.242-4.242L12 6.343l5.657 5.657a3 3 0 01-4.242 4.242L12 12l-2.121 2.172z\" />\n </svg>\n </div>\n <div>\n <h1 className=\"text-xl font-black bg-gradient-to-r from-slate-900 to-slate-700 bg-clip-text text-transparent tracking-tight\">FLAMESTUDIO 3D</h1>\n <p className=\"text-xs text-slate-500 font-medium font-mono\">2.5D Premium Flame Component Generator</p>\n </div>\n </div>\n\n {/* Quick presets */}\n <div className=\"flex flex-wrap items-center justify-center gap-2 max-w-xl\">\n <span className=\"text-xs font-semibold text-slate-400 mr-1 uppercase tracking-wider hidden lg:inline\">Color Presets:</span>\n {[\n { id: 'classic', label: 'Solar Flame', color: '#f97316' },\n { id: 'cosmic', label: 'Cosmic Magic', color: '#a855f7' },\n { id: 'frost', label: 'Absolute Frost', color: '#06b6d4' },\n { id: 'toxic', label: 'Plasma Nuclear', color: '#22c55e' }\n ].map((preset, idx) => (\n <button\n key={idx}\n onClick={() => applySpectrumPreset(preset.id)}\n className=\"text-xs px-3 py-1.5 rounded-full border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 hover:border-slate-300 transition-all font-medium hover:scale-105 active:scale-95 duration-150 flex items-center gap-1.5 shadow-sm\"\n >\n <span className=\"w-2.5 h-2.5 rounded-full\" style={{ backgroundColor: preset.color }}></span>\n {preset.label}\n </button>\n ))}\n </div>\n </header>\n\n {/* Main Studio Viewport Grid */}\n <main className=\"flex-1 grid grid-cols-1 lg:grid-cols-12 gap-0 overflow-hidden\">\n\n {/* Left Control Panel (4 Columns) */}\n <div className=\"lg:col-span-4 border-r border-slate-200 bg-slate-50 flex flex-col overflow-y-auto max-h-[calc(100vh-73px)]\">\n <div className=\"grid grid-cols-3 border-b border-slate-200 text-center sticky top-0 bg-slate-50 z-10\">\n <button\n onClick={() => setActiveTab('flame')}\n className={`py-3 text-xs font-bold border-b-2 transition-all ${activeTab === 'flame' ? 'border-orange-500 text-orange-600 bg-white' : 'border-transparent text-slate-500 hover:text-slate-800'}`}\n >\n Flame Profile\n </button>\n <button\n onClick={() => setActiveTab('rendering')}\n className={`py-3 text-xs font-bold border-b-2 transition-all ${activeTab === 'rendering' ? 'border-orange-500 text-orange-600 bg-white' : 'border-transparent text-slate-500 hover:text-slate-800'}`}\n >\n Material & Glow\n </button>\n <button\n onClick={() => setActiveTab('physics')}\n className={`py-3 text-xs font-bold border-b-2 transition-all ${activeTab === 'physics' ? 'border-orange-500 text-orange-600 bg-white' : 'border-transparent text-slate-500 hover:text-slate-800'}`}\n >\n Sway & Physics\n </button>\n </div>\n\n <div className=\"p-6 flex-1 flex flex-col gap-6\">\n\n {activeTab === 'flame' && (\n <div className=\"space-y-6 animate-fade-in\">\n\n {/* 2D Silhouette Flattening (Designer flat-look slider) */}\n <div className=\"bg-white p-5 rounded-xl border border-slate-200 space-y-4 shadow-sm\">\n <div>\n <span className=\"block text-xs font-black uppercase text-slate-400 tracking-wider mb-1\">2.5D Flattening Offset</span>\n <span className=\"block text-[10px] text-slate-400\">Compresses Z-axis to create a beautiful flat vector style in isometric space</span>\n </div>\n <div className=\"flex items-center gap-4\">\n <input\n type=\"range\"\n min=\"0.1\"\n max=\"1.0\"\n step=\"0.05\"\n value={flatness}\n onChange={(e) => setFlatness(parseFloat(e.target.value))}\n className=\"flex-1 h-1.5 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-orange-500\"\n />\n <span className=\"text-xs font-mono font-bold bg-slate-100 px-2.5 py-1 rounded text-slate-600\">{flatness}x</span>\n </div>\n </div>\n\n {/* Custom Layer Colors */}\n <div className=\"bg-white p-5 rounded-xl border border-slate-200 space-y-4 shadow-sm\">\n <h4 className=\"text-xs font-black uppercase text-slate-400 tracking-wider mb-2\">Layer Fire Spectrum</h4>\n\n <div className=\"space-y-3\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-[11px] font-semibold text-slate-500\">Outer Envelope</span>\n <div className=\"flex items-center gap-1.5\">\n <input\n type=\"color\"\n value={primaryColor}\n onChange={(e) => setPrimaryColor(e.target.value)}\n className=\"w-8 h-8 rounded-lg cursor-pointer bg-transparent border-0\"\n />\n <span className=\"text-xs font-mono uppercase text-slate-600\">{primaryColor}</span>\n </div>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <span className=\"text-[11px] font-semibold text-slate-500\">Middle Core</span>\n <div className=\"flex items-center gap-1.5\">\n <input\n type=\"color\"\n value={accentColor}\n onChange={(e) => setAccentColor(e.target.value)}\n className=\"w-8 h-8 rounded-lg cursor-pointer bg-transparent border-0\"\n />\n <span className=\"text-xs font-mono uppercase text-slate-600\">{accentColor}</span>\n </div>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <span className=\"text-[11px] font-semibold text-slate-500\">Inner Heart</span>\n <div className=\"flex items-center gap-1.5\">\n <input\n type=\"color\"\n value={coreColor}\n onChange={(e) => setCoreColor(e.target.value)}\n className=\"w-8 h-8 rounded-lg cursor-pointer bg-transparent border-0\"\n />\n <span className=\"text-xs font-mono uppercase text-slate-600\">{coreColor}</span>\n </div>\n </div>\n </div>\n </div>\n\n {/* Dynamic Base Hearth */}\n <div className=\"flex items-center justify-between p-4 rounded-xl border border-slate-200 bg-white shadow-sm\">\n <div>\n <span className=\"text-xs font-bold text-slate-700\">Stylized Log Fuel Hearth</span>\n <span className=\"block text-[10px] text-slate-400 mt-0.5\">Appends crossed campfire firewood cylinders at base</span>\n </div>\n <button\n onClick={() => setShowLogs(!showLogs)}\n className={`relative inline-flex h-6 w-11 items-center rounded-full transition-all ${showLogs ? 'bg-orange-500' : 'bg-slate-200'}`}\n >\n <span className={`inline-block h-4 w-4 transform rounded-full bg-white transition-all ${showLogs ? 'translate-x-6' : 'translate-x-1'} shadow`} />\n </button>\n </div>\n\n </div>\n )}\n\n {activeTab === 'rendering' && (\n <div className=\"space-y-6 animate-fade-in\">\n\n {/* Advanced Material styles */}\n <div>\n <label className=\"block text-xs font-bold uppercase text-slate-400 tracking-wider mb-3\">Premium Icon Shader</label>\n <div className=\"grid grid-cols-2 gap-2\">\n {[\n { id: 'glass', label: 'Glassmorphism', desc: 'Refractive translucent glass' },\n { id: 'holo', label: 'Holographic', desc: 'Emissive shifting chrome' },\n { id: 'gold', label: 'Polished Metal', desc: 'Ultra shiny reflections' },\n { id: 'matte', label: 'Tactile Clay', desc: 'Clean, soft pastel matte' }\n ].map((style) => (\n <button\n key={style.id}\n onClick={() => setFlameStyle(style.id)}\n className={`p-3.5 rounded-xl border text-left transition-all ${flameStyle === style.id ? 'border-orange-500 bg-orange-50/50 shadow-sm' : 'border-slate-200 bg-white hover:border-slate-300'}`}\n >\n <div className={`text-xs font-bold ${flameStyle === style.id ? 'text-orange-900' : 'text-slate-800'}`}>{style.label}</div>\n <div className=\"text-[10px] text-slate-400 mt-0.5 leading-tight\">{style.desc}</div>\n </button>\n ))}\n </div>\n </div>\n\n {/* Studio Lighting Preset */}\n <div className=\"bg-white p-5 rounded-xl border border-slate-200 space-y-4 shadow-sm\">\n <h4 className=\"text-xs font-bold uppercase text-slate-500 tracking-wider\">Studio Environment Rig</h4>\n <div className=\"grid grid-cols-3 gap-2\">\n {[\n { id: 'warm', label: 'Warm Solar', glowClass: 'from-orange-400 to-red-400' },\n { id: 'cool', label: 'Cool Aurora', glowClass: 'from-cyan-400 to-blue-400' },\n { id: 'magic', label: 'Magic Nebula', glowClass: 'from-fuchsia-400 to-indigo-400' }\n ].map((preset) => (\n <button\n key={preset.id}\n onClick={() => setLightingPreset(preset.id)}\n className={`p-2 rounded-xl text-[10px] font-bold border text-left transition-all ${lightingPreset === preset.id ? 'border-orange-500 bg-orange-50/20' : 'border-slate-200 bg-white'}`}\n >\n <div className={`w-full h-1.5 rounded bg-gradient-to-r ${preset.glowClass} mb-1`} />\n {preset.label}\n </button>\n ))}\n </div>\n </div>\n\n </div>\n )}\n\n {activeTab === 'physics' && (\n <div className=\"space-y-6 animate-fade-in\">\n\n {/* Wind Sway Rates */}\n <div className=\"bg-white p-5 rounded-xl border border-slate-200 space-y-4 shadow-sm\">\n <h4 className=\"text-xs font-bold uppercase text-slate-500 tracking-wider\">Dynamic Turbulence Simulator</h4>\n\n {/* Sway offset */}\n <div>\n <div className=\"flex justify-between mb-1\">\n <span className=\"text-[10px] text-slate-400 font-bold uppercase\">Turbulence Sway Intensity</span>\n <span className=\"text-xs font-mono font-bold text-slate-700\">{swayIntensity}x</span>\n </div>\n <input\n type=\"range\"\n min=\"0\"\n max=\"3\"\n step=\"0.1\"\n value={swayIntensity}\n onChange={(e) => setSwayIntensity(parseFloat(e.target.value))}\n className=\"w-full h-1.5 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-orange-500\"\n />\n </div>\n\n {/* Flicker Speed */}\n <div>\n <div className=\"flex justify-between mb-1\">\n <span className=\"text-[10px] text-slate-400 font-bold uppercase\">Flicker Pulse Frequency</span>\n <span className=\"text-xs font-mono font-bold text-slate-700\">{flickerSpeed}Hz</span>\n </div>\n <input\n type=\"range\"\n min=\"0.2\"\n max=\"3.0\"\n step=\"0.1\"\n value={flickerSpeed}\n onChange={(e) => setFlickerSpeed(parseFloat(e.target.value))}\n className=\"w-full h-1.5 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-orange-500\"\n />\n </div>\n </div>\n\n {/* Particle Embers Count */}\n <div className=\"bg-white p-5 rounded-xl border border-slate-200 space-y-4 shadow-sm\">\n <div className=\"flex justify-between mb-1\">\n <div>\n <span className=\"text-xs font-bold text-slate-700 uppercase tracking-wider block\">Floating Heat Embers</span>\n <span className=\"text-[10px] text-slate-400\">Total volume of physical spark particles</span>\n </div>\n <span className=\"text-xs font-mono font-bold text-slate-700\">{emberCount} sparks</span>\n </div>\n <input\n type=\"range\"\n min=\"0\"\n max=\"30\"\n step=\"1\"\n value={emberCount}\n onChange={(e) => setEmberCount(parseInt(e.target.value))}\n className=\"w-full h-1.5 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-orange-500\"\n />\n </div>\n\n </div>\n )}\n\n </div>\n </div>\n\n {/* Center Main Live Viewport Panel (5 Columns) */}\n <div className=\"lg:col-span-5 border-r border-slate-200 bg-slate-100/40 flex flex-col items-center justify-center relative min-h-[450px]\">\n\n <div className=\"absolute top-4 left-4 z-10 pointer-events-none\">\n <span className=\"text-[10px] font-black tracking-widest text-orange-600 bg-orange-100 border border-orange-200 px-2 py-1 rounded-md uppercase\">VIVID ENGINE 2.5</span>\n <div className=\"text-sm font-bold text-slate-800 mt-2\">DYNAMICS FLAME <span className=\"text-xs font-normal text-slate-500\">({flameStyle})</span></div>\n <div className=\"text-[10px] text-slate-400 mt-0.5\">Drag to spin, scroll to zoom</div>\n </div>\n\n <div className=\"absolute top-4 right-4 z-10\">\n <button\n onClick={resetRotation}\n className=\"p-2 rounded-xl bg-white border border-slate-200 text-slate-600 hover:text-slate-900 hover:bg-slate-50 transition-all text-xs flex items-center gap-1 shadow-sm\"\n >\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M4 4v5h.582m15.356 2A8.001 8.001 0 1121.21 8H17\" />\n </svg>\n <span>Reset Camera</span>\n </button>\n </div>\n\n {/* WebGL Canvas Wrapper */}\n <div\n ref={containerRef}\n onMouseDown={handleMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onMouseLeave={handleMouseUp}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleMouseUp}\n className=\"w-full h-full relative cursor-grab active:cursor-grabbing overflow-hidden flex items-center justify-center bg-slate-100/30\"\n >\n {!threeLoaded && (\n <div className=\"absolute inset-0 flex flex-col items-center justify-center bg-slate-50 z-20 gap-3\">\n <div className=\"w-8 h-8 border-4 border-orange-500 border-t-transparent rounded-full animate-spin\"></div>\n <span className=\"text-xs font-semibold text-slate-500 tracking-wider\">Initializing Fluid Engine...</span>\n </div>\n )}\n <canvas ref={canvasRef} className=\"w-full h-full block z-10\" />\n </div>\n\n {/* Bottom control Overlay */}\n <div className=\"absolute bottom-4 left-4 right-4 z-10 bg-white/95 border border-slate-200 rounded-2xl p-4 shadow-lg backdrop-blur-md flex flex-wrap items-center justify-between gap-4\">\n\n <div className=\"flex items-center gap-4\">\n <div className=\"flex items-center gap-2\">\n <span className=\"text-[10px] font-bold text-slate-400 uppercase tracking-wider\">Show Helper Floor:</span>\n <button\n onClick={() => setGridVisible(!gridVisible)}\n className={`px-3 py-1.5 rounded-lg border text-xs font-bold transition-all shadow-sm ${gridVisible ? 'bg-orange-500 border-orange-400 text-white' : 'bg-white border-slate-200 text-slate-600'}`}\n >\n {gridVisible ? 'FLOOR ACTIVE' : 'HIDDEN'}\n </button>\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <span className=\"text-[10px] font-bold text-slate-400 uppercase tracking-wider\">Projection:</span>\n <button\n onClick={() => setOrthographic(!orthographic)}\n className={`px-3 py-1.5 rounded-lg border text-xs font-bold transition-all shadow-sm ${orthographic ? 'bg-orange-500 border-orange-400 text-white' : 'bg-white border-slate-200 text-slate-600'}`}\n >\n {orthographic ? 'ORTHOGRAPHIC (2D)' : 'PERSPECTIVE (3D)'}\n </button>\n </div>\n\n </div>\n\n </div>\n\n {/* Right Developer Output & Snippet studio (3 Columns) */}\n <div className=\"lg:col-span-3 bg-slate-50 flex flex-col overflow-y-auto max-h-[calc(100vh-73px)] border-l lg:border-l-0 border-slate-200\">\n\n <div className=\"border-b border-slate-200 bg-white p-4 sticky top-0 z-10\">\n <h3 className=\"text-xs font-black uppercase text-slate-500 tracking-wider\">Component Export</h3>\n <p className=\"text-[10px] text-slate-400 mt-0.5\">Capture transparent PNG assets or fetch code</p>\n </div>\n\n <div className=\"p-6 space-y-6 flex-1 flex flex-col\">\n\n {/* Static UI Glass Card component presentation */}\n <div className=\"space-y-3\">\n <span className=\"block text-xs font-bold uppercase text-slate-400 tracking-wider\">Interactive UI Presentation (Card CSS)</span>\n\n <div\n className=\"relative p-6 rounded-3xl overflow-hidden flex flex-col items-center justify-center text-center bg-white border border-slate-200/80 shadow-2xl transition-all\"\n style={{\n boxShadow: `0 10px 40px -10px ${primaryColor}22`\n }}\n >\n <div className=\"absolute inset-0 bg-gradient-to-tr from-orange-500/5 via-transparent to-red-500/5 pointer-events-none\" />\n\n {/* Flame element representational container */}\n <div className=\"w-20 h-20 rounded-2xl flex items-center justify-center border border-slate-100 shadow-inner mb-4 relative\" style={{ backgroundColor: '#fffbf9' }}>\n <span className=\"w-8 h-10 rounded-full animate-pulse transition-colors\" style={{ backgroundColor: primaryColor, clipPath: 'polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%)' }} />\n </div>\n\n <h4 className=\"text-sm font-extrabold text-slate-800 tracking-tight\">Active Flame Item</h4>\n <p className=\"text-[10px] text-slate-500 mt-1\">Ready for production dashboards</p>\n </div>\n </div>\n\n {/* Downloader action */}\n <div className=\"space-y-3\">\n <span className=\"block text-xs font-bold uppercase text-slate-400 tracking-wider\">Assets Exporter</span>\n <button\n onClick={downloadPng}\n className=\"w-full py-3 bg-gradient-to-r from-orange-400 to-red-500 hover:from-orange-500 hover:to-red-600 font-extrabold text-xs text-white uppercase tracking-widest rounded-xl hover:scale-[1.02] active:scale-[0.98] transition-all flex items-center justify-center gap-2 shadow-md shadow-orange-500/10\"\n >\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth=\"2.5\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\" />\n </svg>\n Download Alpha PNG\n </button>\n </div>\n\n {/* Code Generator tabs */}\n <div className=\"flex-1 flex flex-col min-h-[220px]\">\n <div className=\"flex border-b border-slate-200 text-[10px] font-bold uppercase tracking-wider mb-2\">\n <button\n onClick={() => setCodeTab('threejs')}\n className={`flex-1 pb-1.5 border-b-2 text-center transition-all ${codeTab === 'threejs' ? 'border-orange-500 text-orange-600 font-bold' : 'border-transparent text-slate-400'}`}\n >\n Vanilla Three.js Setup\n </button>\n </div>\n\n {/* Code Panel */}\n <div className=\"flex-1 bg-slate-900 rounded-xl border border-slate-800 relative group max-h-[180px] overflow-y-auto\">\n <pre className=\"p-4 text-[10px] font-mono text-slate-300 whitespace-pre-wrap leading-relaxed select-all\">\n {getThreeJsCode()}\n </pre>\n <button\n onClick={() => copyToClipboard(getThreeJsCode(), 'ThreeJS profile geometry source')}\n className=\"absolute top-2 right-2 p-1.5 bg-slate-800 border border-slate-700 hover:border-slate-600 text-slate-300 hover:text-white rounded-lg text-[10px] font-medium transition-all flex items-center gap-1.5 opacity-0 group-hover:opacity-100\"\n >\n <svg className=\"w-3.5 h-3.5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3\" />\n </svg>\n Copy\n </button>\n </div>\n </div>\n\n </div>\n </div>\n\n </main>\n\n {/* Footer System Specs */}\n <footer className=\"border-t border-slate-200 bg-white px-6 py-4 flex flex-col sm:flex-row items-center justify-between text-xs text-slate-400 gap-4\">\n <div className=\"flex items-center gap-6\">\n <span>Active Shader: <strong className=\"text-slate-700 font-semibold\">{flameStyle.toUpperCase()}</strong></span>\n <span>Camera aspect ratio: <strong className=\"text-slate-700 font-semibold\">{orthographic ? 'Orthogonal 2D' : 'Perspective 3D'}</strong></span>\n <span>Flattening Offset: <strong className=\"text-slate-700 font-semibold\">{flatness}x</strong></span>\n </div>\n <div className=\"flex items-center gap-1\">\n <span>Powered by</span>\n <span className=\"font-extrabold text-orange-500 tracking-wider\">WebGL + Three.js</span>\n </div>\n </footer>\n\n </div>\n );\n}","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ActivityIconProps } from \"./types\";\n\nexport function ActivityIcon(props: ActivityIconProps) {\n const radius = 0.045; // Thickness of the pulse line\n\n const segments = [\n { pos: [-0.7, 0, 0] as [number, number, number], len: 0.4, rot: -Math.PI / 2 },\n { pos: [-0.44, -0.09, 0] as [number, number, number], len: 0.216, rot: Math.atan2(-0.18, 0.12) - Math.PI / 2 },\n { pos: [-0.26, 0.27, 0] as [number, number, number], len: 0.932, rot: Math.atan2(0.9, 0.24) - Math.PI / 2 },\n { pos: [-0.02, 0.09, 0] as [number, number, number], len: 1.283, rot: Math.atan2(-1.26, 0.24) - Math.PI / 2 },\n { pos: [0.22, -0.2, 0] as [number, number, number], len: 0.721, rot: Math.atan2(0.68, 0.24) - Math.PI / 2 },\n { pos: [0.42, 0.07, 0] as [number, number, number], len: 0.213, rot: Math.atan2(-0.14, 0.16) - Math.PI / 2 },\n { pos: [0.7, 0, 0] as [number, number, number], len: 0.4, rot: -Math.PI / 2 }\n ];\n\n const joints = [\n [-0.9, 0, 0],\n [-0.5, 0, 0],\n [-0.38, -0.18, 0],\n [-0.14, 0.72, 0],\n [0.1, -0.54, 0],\n [0.34, 0.14, 0],\n [0.5, 0, 0],\n [0.9, 0, 0]\n ] as [number, number, number][];\n\n return (\n <SharedWrapper iconId=\"activity\" {...props}>\n {(mat) => {\n // High glow for pulse lines\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : (props.accentColor || \"#10b981\");\n\n return (\n <group rotation={[0.08, -0.2, 0.04]}>\n {/* The Pulse Segments */}\n {segments.map((seg, idx) => (\n <mesh\n key={`seg-${idx}`}\n position={seg.pos}\n rotation={[0, 0, seg.rot]}\n castShadow\n receiveShadow\n >\n <cylinderGeometry args={[radius, radius, seg.len, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n ))}\n\n {/* Glowing rounded joints */}\n {joints.map((joint, idx) => (\n <mesh\n key={`joint-${idx}`}\n position={joint}\n castShadow\n >\n <sphereGeometry args={[radius * 1.05, 12, 12]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={1.2}\n roughness={0.15}\n metalness={0.5}\n />\n </mesh>\n ))}\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GraduationCapIconProps } from \"./types\";\n\nexport function GraduationCapIcon(props: GraduationCapIconProps) {\n return (\n <SharedWrapper iconId=\"graduationcap\" {...props}>\n {(mat) => {\n const tasselColor = props.accentColor || \"#eab308\"; // Golden tassel by default\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : tasselColor;\n\n return (\n <group rotation={[0.15, -0.3, 0.08]}>\n {/* Skullcap / Cap Base */}\n <mesh castShadow receiveShadow position={[0, -0.06, 0]} rotation={[Math.PI, 0, 0]}>\n <sphereGeometry args={[0.35, 20, 14, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Cap Headband / Bottom Cylinder */}\n <mesh castShadow receiveShadow position={[0, -0.14, 0]}>\n <cylinderGeometry args={[0.35, 0.35, 0.16, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Mortarboard (Flat Square Diamond Top) */}\n <mesh castShadow receiveShadow position={[0, 0.14, 0]} rotation={[0, Math.PI / 4, 0]}>\n <boxGeometry args={[1.25, 0.06, 1.25]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Center Button */}\n <mesh castShadow position={[0, 0.18, 0]}>\n <cylinderGeometry args={[0.07, 0.07, 0.04, 12]} />\n <meshStandardMaterial\n color={ac}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n\n {/* Tassel String Part 1 (Draped to the side edge) */}\n <mesh\n castShadow\n position={[0.26, 0.18, 0.26]}\n rotation={[0.05, -Math.PI / 4, -0.05]}\n >\n <cylinderGeometry args={[0.015, 0.015, 0.72, 8]} />\n <meshStandardMaterial color={ac} roughness={0.3} metalness={0.4} />\n </mesh>\n\n {/* Tassel String Part 2 (Hanging down) */}\n <mesh\n castShadow\n position={[0.52, 0.04, 0.52]}\n rotation={[0.1, 0, -0.1]}\n >\n <cylinderGeometry args={[0.015, 0.015, 0.28, 8]} />\n <meshStandardMaterial color={ac} roughness={0.3} metalness={0.4} />\n </mesh>\n\n {/* Tassel Brush (Golden Fringe) */}\n <mesh castShadow position={[0.54, -0.16, 0.54]} rotation={[0.1, 0, -0.1]}>\n <coneGeometry args={[0.06, 0.18, 12]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={0.6}\n roughness={0.25}\n metalness={0.5}\n />\n </mesh>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TrendingUpIconProps } from \"./types\";\n\nexport function TrendingUpIcon(props: TrendingUpIconProps) {\n const radius = 0.05; // Line thickness\n\n const segments = [\n { pos: [-0.5, -0.4, 0] as [number, number, number], len: 0.6, rot: -Math.PI / 2 },\n { pos: [0, -0.15, 0] as [number, number, number], len: 0.64, rot: Math.atan2(0.5, 0.4) - Math.PI / 2 },\n { pos: [0.45, 0.3, 0] as [number, number, number], len: 0.64, rot: Math.atan2(0.4, 0.5) - Math.PI / 2 }\n ];\n\n const joints = [\n [-0.8, -0.4, 0],\n [-0.2, -0.4, 0],\n [0.2, 0.1, 0]\n ] as [number, number, number][];\n\n // Arrow head rotation and position details\n const arrowAngle = Math.atan2(0.4, 0.5);\n const headPos: [number, number, number] = [0.7, 0.5, 0];\n const headRot: [number, number, number] = [0, 0, arrowAngle - Math.PI / 2];\n\n return (\n <SharedWrapper iconId=\"trendingup\" {...props}>\n {(mat) => {\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : (props.accentColor || \"#10b981\");\n\n return (\n <group rotation={[0.1, -0.2, 0.05]}>\n {/* The rising trend line cylinders */}\n {segments.map((seg, idx) => (\n <mesh\n key={`seg-${idx}`}\n position={seg.pos}\n rotation={[0, 0, seg.rot]}\n castShadow\n receiveShadow\n >\n <cylinderGeometry args={[radius, radius, seg.len, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n ))}\n\n {/* Glowing joints */}\n {joints.map((joint, idx) => (\n <mesh\n key={`joint-${idx}`}\n position={joint}\n castShadow\n >\n <sphereGeometry args={[radius * 1.05, 12, 12]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={1.2}\n roughness={0.15}\n metalness={0.5}\n />\n </mesh>\n ))}\n\n {/* Arrow Head */}\n <mesh\n position={headPos}\n rotation={headRot}\n castShadow\n >\n <coneGeometry args={[0.13, 0.22, 16]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={1.2}\n roughness={0.15}\n metalness={0.5}\n />\n </mesh>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { InstagramIconProps } from \"./types\";\n\nexport function InstagramIcon(props: InstagramIconProps) {\n return (\n <SharedWrapper iconId=\"instagram\" {...props}>\n {(mat) => {\n const flashColor = \"#fbbf24\"; // golden flash dot\n\n return (\n <group rotation={[0.1, -0.2, 0.05]}>\n {/* Main Rounded Box Backplate */}\n <mesh castShadow receiveShadow>\n <RoundedBox args={[1.3, 1.3, 0.28]} radius={0.2} smoothness={8}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Camera Body Squircle Outline (White) */}\n <mesh position={[0, 0, 0.145]} castShadow>\n <RoundedBox args={[0.9, 0.9, 0.06]} radius={0.16} smoothness={8}>\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#ffffff\" />\n </RoundedBox>\n </mesh>\n\n {/* Inner Mask to hollow out the camera body */}\n <mesh position={[0, 0, 0.15]}>\n <RoundedBox args={[0.76, 0.76, 0.07]} radius={0.13} smoothness={8}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Lens Outer Circle (White) */}\n <mesh position={[0, 0, 0.18]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.22, 0.22, 0.08, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#ffffff\" />\n </mesh>\n\n {/* Lens Inner Hollow */}\n <mesh position={[0, 0, 0.185]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.15, 0.15, 0.09, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Camera Flash Dot (Golden Glow) */}\n <mesh position={[0.26, 0.26, 0.19]} castShadow>\n <sphereGeometry args={[0.06, 12, 12]} />\n <meshStandardMaterial\n color={flashColor}\n emissive={flashColor}\n emissiveIntensity={0.8}\n roughness={0.2}\n metalness={0.5}\n />\n </mesh>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PackageIconProps } from \"./types\";\n\nexport function PackageIcon(props: PackageIconProps) {\n return (\n <SharedWrapper iconId=\"package\" {...props}>\n {(mat) => {\n const tapeColor = props.accentColor || \"#38bdf8\"; // default sky blue tape\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : tapeColor;\n\n return (\n <group rotation={[0.3, -0.4, 0.1]}>\n {/* Main Cardboard Box Body */}\n <mesh castShadow receiveShadow position={[0, -0.05, 0]}>\n <boxGeometry args={[0.9, 0.85, 0.9]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Packaging Tape - Center Top Strip */}\n <mesh position={[0, 0.38, 0]} castShadow>\n <boxGeometry args={[0.16, 0.015, 0.92]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={mat.emissiveIntensity > 0 ? 0.8 : 0.2}\n roughness={0.2}\n metalness={0.5}\n />\n </mesh>\n\n {/* Packaging Tape - Front Vertical Drop */}\n <mesh position={[0, 0.28, 0.462]} castShadow>\n <boxGeometry args={[0.16, 0.2, 0.015]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={mat.emissiveIntensity > 0 ? 0.8 : 0.2}\n roughness={0.2}\n metalness={0.5}\n />\n </mesh>\n\n {/* Packaging Tape - Back Vertical Drop */}\n <mesh position={[0, 0.28, -0.462]} castShadow>\n <boxGeometry args={[0.16, 0.2, 0.015]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={mat.emissiveIntensity > 0 ? 0.8 : 0.2}\n roughness={0.2}\n metalness={0.5}\n />\n </mesh>\n\n {/* Box Side Panels / Flap Lines (Depressions for details) */}\n {/* Left side flap groove */}\n <mesh position={[-0.455, 0.1, 0]}>\n <boxGeometry args={[0.01, 0.02, 0.91]} />\n <meshStandardMaterial color={mat.color} roughness={0.9} metalness={0.1} opacity={0.4} transparent />\n </mesh>\n {/* Right side flap groove */}\n <mesh position={[0.455, 0.1, 0]}>\n <boxGeometry args={[0.01, 0.02, 0.91]} />\n <meshStandardMaterial color={mat.color} roughness={0.9} metalness={0.1} opacity={0.4} transparent />\n </mesh>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { AirplaneIconProps } from \"./types\";\n\nexport function AirplaneIcon(props: AirplaneIconProps) {\n return (\n <SharedWrapper iconId=\"airplane\" {...props}>\n {(mat) => (\n <group rotation={[0, -Math.PI / 4, 0]} position={[0, -0.05, 0]}>\n {/* Main Fuselage */}\n <mesh castShadow receiveShadow position={[0, 0, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.13, 0.11, 1.3, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Nose Cone */}\n <mesh castShadow position={[0, 0, 0.65]} rotation={[Math.PI / 2, 0, 0]}>\n <sphereGeometry args={[0.13, 32, 16, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Cockpit Window Accent */}\n <mesh position={[0, 0.06, 0.5]} rotation={[-Math.PI / 8, 0, 0]}>\n <boxGeometry args={[0.12, 0.04, 0.08]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.1}\n metalness={0.9}\n />\n </mesh>\n\n {/* Left Wing */}\n <mesh\n castShadow\n receiveShadow\n position={[-0.42, 0, 0.05]}\n rotation={[0, -Math.PI / 6, -Math.PI / 24]}\n >\n <boxGeometry args={[0.8, 0.025, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Right Wing */}\n <mesh\n castShadow\n receiveShadow\n position={[0.42, 0, 0.05]}\n rotation={[0, Math.PI / 6, Math.PI / 24]}\n >\n <boxGeometry args={[0.8, 0.025, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Left Engine */}\n <group position={[-0.32, -0.06, 0.08]} rotation={[Math.PI / 2, 0, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.045, 0.04, 0.22, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#4b5563\" />\n </mesh>\n {/* Glowing Jet Intake/Exhaust */}\n <mesh position={[0, -0.12, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.03, 0.03, 0.02, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Right Engine */}\n <group position={[0.32, -0.06, 0.08]} rotation={[Math.PI / 2, 0, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.045, 0.04, 0.22, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#4b5563\" />\n </mesh>\n {/* Glowing Jet Intake/Exhaust */}\n <mesh position={[0, -0.12, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.03, 0.03, 0.02, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Vertical Tail Fin */}\n <mesh\n castShadow\n position={[0, 0.17, -0.5]}\n rotation={[Math.PI / 10, 0, 0]}\n >\n <boxGeometry args={[0.025, 0.32, 0.18]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Left Horizontal Stabilizer */}\n <mesh\n castShadow\n position={[-0.18, 0, -0.54]}\n rotation={[0, -Math.PI / 8, -Math.PI / 24]}\n >\n <boxGeometry args={[0.3, 0.02, 0.1]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Right Horizontal Stabilizer */}\n <mesh\n castShadow\n position={[0.18, 0, -0.54]}\n rotation={[0, Math.PI / 8, Math.PI / 24]}\n >\n <boxGeometry args={[0.3, 0.02, 0.1]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BatteryIconProps } from \"./types\";\n\nexport function BatteryIcon(props: BatteryIconProps) {\n return (\n <SharedWrapper iconId=\"battery\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 6, 0.1]} position={[0, 0, 0]}>\n {/* Main Battery Casing */}\n <mesh castShadow receiveShadow position={[0, -0.05, 0]}>\n <cylinderGeometry args={[0.34, 0.34, 1.0, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Anode Terminal (Top Cap) */}\n <mesh castShadow position={[0, 0.52, 0]}>\n <cylinderGeometry args={[0.13, 0.13, 0.12, 16]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Battery Base Rim (Bottom Cap) */}\n <mesh castShadow position={[0, -0.58, 0]}>\n <cylinderGeometry args={[0.345, 0.345, 0.06, 32]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Inner Glowing Charge Bars (Rendered inside the transparent glass case) */}\n <group position={[0, -0.05, 0]}>\n {/* Charge Bar 1 (Bottom) */}\n <mesh position={[0, -0.27, 0]} castShadow>\n <cylinderGeometry args={[0.24, 0.24, 0.2, 24]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={0.8}\n roughness={0.2}\n metalness={0.3}\n />\n </mesh>\n\n {/* Charge Bar 2 (Middle) */}\n <mesh position={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.24, 0.24, 0.2, 24]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={0.8}\n roughness={0.2}\n metalness={0.3}\n />\n </mesh>\n\n {/* Charge Bar 3 (Top) */}\n <mesh position={[0, 0.27, 0]} castShadow>\n <cylinderGeometry args={[0.24, 0.24, 0.2, 24]} />\n <meshStandardMaterial\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={0.8}\n roughness={0.2}\n metalness={0.3}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { VideoIconProps } from \"./types\";\n\nexport function VideoIcon(props: VideoIconProps) {\n return (\n <SharedWrapper iconId=\"video\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 10, -Math.PI / 6, 0]} position={[0.05, 0, 0]}>\n {/* Camera Main Body */}\n <mesh castShadow receiveShadow position={[0, 0, -0.1]}>\n <boxGeometry args={[0.7, 0.65, 0.55]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Top Handle */}\n <group position={[0, 0.38, -0.15]}>\n {/* Handle Bar */}\n <mesh castShadow>\n <boxGeometry args={[0.08, 0.08, 0.45]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#4b5563\" />\n </mesh>\n {/* Front Support */}\n <mesh castShadow position={[0, -0.06, 0.16]}>\n <boxGeometry args={[0.08, 0.12, 0.06]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#4b5563\" />\n </mesh>\n {/* Back Support */}\n <mesh castShadow position={[0, -0.06, -0.16]}>\n <boxGeometry args={[0.08, 0.12, 0.06]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#4b5563\" />\n </mesh>\n </group>\n\n {/* Camera Lens Barrel */}\n <group position={[0, 0.05, 0.28]} rotation={[Math.PI / 2, 0, 0]}>\n {/* Main Outer Cylinder */}\n <mesh castShadow>\n <cylinderGeometry args={[0.22, 0.2, 0.35, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n {/* Metallic Focus Ring */}\n <mesh position={[0, 0.05, 0]}>\n <cylinderGeometry args={[0.23, 0.23, 0.06, 24]} />\n <meshStandardMaterial roughness={0.15} metalness={0.92} color=\"#9ca3af\" />\n </mesh>\n {/* Glowing Lens Glass Front */}\n <mesh position={[0, 0.18, 0]} rotation={[-Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.16, 0.16, 0.02, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Viewfinder Screen (Angled slightly open on the left side) */}\n <group position={[-0.36, 0.02, -0.05]} rotation={[0, -Math.PI / 5, 0]}>\n {/* Screen Back Cover */}\n <mesh castShadow position={[-0.04, 0, 0]}>\n <boxGeometry args={[0.06, 0.45, 0.5]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n {/* Glowing Display Panel (facing the user/camera body) */}\n <mesh position={[-0.005, 0, 0]}>\n <boxGeometry args={[0.015, 0.36, 0.42]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={0.6}\n roughness={0.1}\n metalness={0.2}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MicrophoneIconProps } from \"./types\";\n\nexport function MicrophoneIcon(props: MicrophoneIconProps) {\n return (\n <SharedWrapper iconId=\"microphone\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 8, 0]} position={[0, 0.05, 0]}>\n {/* Base Stand Plate */}\n <mesh castShadow receiveShadow position={[0, -0.68, 0]}>\n <cylinderGeometry args={[0.35, 0.38, 0.06, 32]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#4b5563\"}\n />\n </mesh>\n\n {/* Stand Vertical Stem */}\n <mesh castShadow position={[0, -0.42, 0]}>\n <cylinderGeometry args={[0.04, 0.04, 0.45, 16]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#4b5563\"}\n />\n </mesh>\n\n {/* U-Shape Mount Connector */}\n <mesh castShadow position={[0, -0.2, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.2, 0.035, 8, 32, Math.PI]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#4b5563\"}\n />\n </mesh>\n\n {/* Mount Center Joint */}\n <mesh castShadow position={[0, -0.2, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.08, 16]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#9ca3af\" : \"#374151\"}\n />\n </mesh>\n\n {/* Microphone Handle / Body */}\n <mesh castShadow position={[0, -0.05, 0]}>\n <cylinderGeometry args={[0.11, 0.08, 0.35, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Microphone Capsule Grille */}\n <group position={[0, 0.22, 0]}>\n {/* Grille Cylinder */}\n <mesh castShadow>\n <cylinderGeometry args={[0.14, 0.14, 0.24, 24]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#e2e8f0\" : \"#1f2937\"}\n />\n </mesh>\n {/* Grille Top Dome */}\n <mesh position={[0, 0.12, 0]}>\n <sphereGeometry args={[0.14, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#e2e8f0\" : \"#1f2937\"}\n />\n </mesh>\n {/* Internal Pop Filter Screen (Glowing) */}\n <mesh position={[0, 0.02, 0]}>\n <cylinderGeometry args={[0.13, 0.13, 0.22, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={0.5}\n transparent\n opacity={0.7}\n />\n </mesh>\n </group>\n\n {/* Glowing Accent Recording Band (Between Handle and Grille) */}\n <mesh position={[0, 0.1, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.12, 0.02, 8, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SlidersIconProps } from \"./types\";\n\nexport function SlidersIcon(props: SlidersIconProps) {\n const tracks = [\n { x: -0.45, y: -0.25 },\n { x: 0.0, y: 0.25 },\n { x: 0.45, y: -0.05 }\n ];\n\n return (\n <SharedWrapper iconId=\"sliders\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 10, -Math.PI / 8, 0]} position={[0, 0, 0]}>\n {tracks.map((track, idx) => (\n <group key={`track-${idx}`} position={[track.x, 0, 0]}>\n {/* Vertical Guide Rod */}\n <mesh castShadow>\n <cylinderGeometry args={[0.025, 0.025, 1.2, 16]} />\n <meshStandardMaterial\n roughness={0.25}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#6b7280\" : \"#9ca3af\"}\n />\n </mesh>\n\n {/* Top End Cap */}\n <mesh position={[0, 0.6, 0]}>\n <boxGeometry args={[0.1, 0.04, 0.06]} />\n <meshStandardMaterial\n roughness={0.25}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#4b5563\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Bottom End Cap */}\n <mesh position={[0, -0.6, 0]}>\n <boxGeometry args={[0.1, 0.04, 0.06]} />\n <meshStandardMaterial\n roughness={0.25}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#4b5563\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Slider Knob */}\n <group position={[0, track.y, 0]}>\n {/* Physical Body */}\n <mesh castShadow>\n <boxGeometry args={[0.22, 0.16, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Glowing Active Center Line Indicator */}\n <mesh position={[0, 0, 0.115]}>\n <boxGeometry args={[0.03, 0.16, 0.02]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n </group>\n ))}\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MapIconProps } from \"./types\";\n\nexport function MapIcon(props: MapIconProps) {\n // Accordion folded panel values: width=0.4, height=1.1, depth=0.03\n const w = 0.4;\n const h = 1.1;\n const d = 0.035;\n\n return (\n <SharedWrapper iconId=\"map\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 8, -Math.PI / 12, 0]} position={[0, -0.05, 0]}>\n {/* Folded Panel 1 (Left) */}\n <group position={[-0.386, 0, 0.0]} rotation={[0, -Math.PI / 12, 0]}>\n <mesh castShadow receiveShadow>\n <boxGeometry args={[w, h, d]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n {/* Route Line Segment */}\n <mesh position={[-0.05, 0.1, 0.02]} rotation={[0, 0, Math.PI / 6]}>\n <boxGeometry args={[0.2, 0.02, 0.01]} />\n <meshStandardMaterial color={props.accentColor || \"#ec4899\"} roughness={0.3} />\n </mesh>\n <mesh position={[0.02, -0.2, 0.02]} rotation={[0, 0, -Math.PI / 8]}>\n <boxGeometry args={[0.25, 0.02, 0.01]} />\n <meshStandardMaterial color={props.accentColor || \"#ec4899\"} roughness={0.3} />\n </mesh>\n </group>\n\n {/* Folded Panel 2 (Middle) */}\n <group position={[0, 0, 0.052]} rotation={[0, Math.PI / 12, 0]}>\n <mesh castShadow receiveShadow>\n <boxGeometry args={[w, h, d]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n {/* Connecting Route Line */}\n <mesh position={[-0.08, -0.05, 0.02]} rotation={[0, 0, -Math.PI / 4]}>\n <boxGeometry args={[0.18, 0.02, 0.01]} />\n <meshStandardMaterial color={props.accentColor || \"#ec4899\"} roughness={0.3} />\n </mesh>\n <mesh position={[0.05, 0.15, 0.02]} rotation={[0, 0, Math.PI / 10]}>\n <boxGeometry args={[0.22, 0.02, 0.01]} />\n <meshStandardMaterial color={props.accentColor || \"#ec4899\"} roughness={0.3} />\n </mesh>\n\n {/* Glowing Map Pin Locator */}\n <group position={[0.08, 0.25, 0.03]} rotation={[-Math.PI / 12, 0, 0]}>\n {/* Pin Base Joint */}\n <mesh castShadow>\n <cylinderGeometry args={[0.018, 0.01, 0.14, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#4b5563\" />\n </mesh>\n {/* Pin Ball Head */}\n <mesh position={[0, 0.1, 0]} castShadow>\n <sphereGeometry args={[0.085, 24, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n </group>\n\n {/* Folded Panel 3 (Right) */}\n <group position={[0.386, 0, 0.0]} rotation={[0, -Math.PI / 12, 0]}>\n <mesh castShadow receiveShadow>\n <boxGeometry args={[w, h, d]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n {/* Route Line Segment */}\n <mesh position={[-0.05, 0.2, 0.02]} rotation={[0, 0, -Math.PI / 6]}>\n <boxGeometry args={[0.15, 0.02, 0.01]} />\n <meshStandardMaterial color={props.accentColor || \"#ec4899\"} roughness={0.3} />\n </mesh>\n <mesh position={[0.04, -0.1, 0.02]} rotation={[0, 0, Math.PI / 12]}>\n <boxGeometry args={[0.22, 0.02, 0.01]} />\n <meshStandardMaterial color={props.accentColor || \"#ec4899\"} roughness={0.3} />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { UmbrellaIconProps } from \"./types\";\n\nexport function UmbrellaIcon(props: UmbrellaIconProps) {\n // Spoke tip coordinates at bottom edge of canopy (radius = 0.55)\n const canopyRadius = 0.55;\n const numSpokes = 8;\n const spokeTips = Array.from({ length: numSpokes }).map((_, i) => {\n const angle = (i * Math.PI * 2) / numSpokes;\n return {\n x: canopyRadius * Math.cos(angle),\n z: canopyRadius * Math.sin(angle)\n };\n });\n\n return (\n <SharedWrapper iconId=\"umbrella\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 10, -Math.PI / 12, 0.1]} position={[0, 0.05, 0]}>\n {/* Flipped Canopy Dome */}\n <mesh castShadow receiveShadow position={[0, 0.15, 0]} rotation={[Math.PI, 0, 0]}>\n <sphereGeometry args={[canopyRadius, 32, 16, 0, Math.PI * 2, 0, Math.PI * 0.42]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Spoke Tips (Beads at the edge of the canopy) */}\n {spokeTips.map((tip, idx) => (\n <mesh key={`tip-${idx}`} position={[tip.x, 0.15 - canopyRadius * Math.sin(Math.PI * 0.08), tip.z]} castShadow>\n <sphereGeometry args={[0.022, 12, 12]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.accentColor || \"#ec4899\"}\n />\n </mesh>\n ))}\n\n {/* Central Stem (Shaft) */}\n <mesh castShadow position={[0, -0.22, 0]}>\n <cylinderGeometry args={[0.022, 0.022, 0.85, 16]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#4b5563\"}\n />\n </mesh>\n\n {/* Top Crown Tip */}\n <mesh castShadow position={[0, 0.72, 0]}>\n <coneGeometry args={[0.045, 0.14, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* J-Hook Handle (Semicircle Torus at the bottom) */}\n <mesh castShadow position={[-0.08, -0.645, 0]} rotation={[0, 0, Math.PI]}>\n <torusGeometry args={[0.08, 0.022, 8, 24, Math.PI]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#4b5563\"}\n />\n </mesh>\n\n {/* Handle Grip Cap */}\n <mesh position={[-0.16, -0.62, 0]} castShadow>\n <sphereGeometry args={[0.03, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ScissorsIconProps } from \"./types\";\n\nexport function ScissorsIcon(props: ScissorsIconProps) {\n return (\n <SharedWrapper iconId=\"scissors\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 8, -Math.PI / 12, 0]} position={[0, 0.05, 0]}>\n {/* Central Hinge Pivot Joint */}\n <mesh castShadow position={[0, -0.05, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.055, 0.055, 0.12, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Blade A Group (Angles up-left, handle down-right) */}\n <group position={[0, -0.05, 0.02]} rotation={[0, 0, Math.PI / 12]}>\n {/* Blade Upper segment */}\n <mesh castShadow position={[0, 0.42, 0]}>\n <boxGeometry args={[0.06, 0.72, 0.022]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.1}\n />\n </mesh>\n {/* Tip detail */}\n <mesh position={[0, 0.78, 0]} rotation={[0, 0, 0]}>\n <coneGeometry args={[0.03, 0.08, 4]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n {/* Handle Stem */}\n <mesh castShadow position={[0, -0.2, 0]}>\n <cylinderGeometry args={[0.03, 0.03, 0.32, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#4b5563\" />\n </mesh>\n {/* Loop Handle */}\n <mesh castShadow position={[0, -0.38, 0]} rotation={[0, 0, 0]}>\n <torusGeometry args={[0.13, 0.032, 8, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#4b5563\" />\n </mesh>\n </group>\n\n {/* Blade B Group (Angles up-right, handle down-left) */}\n <group position={[0, -0.05, -0.02]} rotation={[0, 0, -Math.PI / 12]}>\n {/* Blade Upper segment */}\n <mesh castShadow position={[0, 0.42, 0]}>\n <boxGeometry args={[0.06, 0.72, 0.022]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.1}\n />\n </mesh>\n {/* Tip detail */}\n <mesh position={[0, 0.78, 0]} rotation={[0, 0, 0]}>\n <coneGeometry args={[0.03, 0.08, 4]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n {/* Handle Stem */}\n <mesh castShadow position={[0, -0.2, 0]}>\n <cylinderGeometry args={[0.03, 0.03, 0.32, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#4b5563\" />\n </mesh>\n {/* Loop Handle */}\n <mesh castShadow position={[0, -0.38, 0]} rotation={[0, 0, 0]}>\n <torusGeometry args={[0.13, 0.032, 8, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#4b5563\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { UnlockIconProps } from \"./types\";\n\nexport function UnlockIcon(props: UnlockIconProps) {\n return (\n <SharedWrapper iconId=\"unlock\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.2, 0.02]} position={[0, -0.05, 0]}>\n \n {/* Padlock Shackle Loop - Open & Rotated around Left Stem Pivot */}\n <group position={[-0.28, 0.32, 0]} rotation={[0, -Math.PI / 4, 0]}>\n <group position={[0.28, -0.16, 0]}>\n {/* Curved Arch (Half Torus) */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.28, 0.07, 16, 48, Math.PI]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n {/* Left Stem (Longer pivoting stem) */}\n <mesh position={[-0.28, -0.2, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.4, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n {/* Right Stem (Shorter, swung open) */}\n <mesh position={[0.28, -0.15, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.3, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n </group>\n </group>\n\n {/* Padlock Body */}\n <mesh position={[0, -0.18, 0]} castShadow receiveShadow>\n <RoundedBox args={[0.85, 0.58, 0.36]} radius={0.1} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </RoundedBox>\n </mesh>\n\n {/* Keyhole details (glowing / contrasting) */}\n <group position={[0, -0.18, 0.185]}>\n {/* Top Circle */}\n <mesh castShadow>\n <cylinderGeometry args={[0.075, 0.075, 0.02, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.7}\n />\n </mesh>\n {/* Bottom Slot */}\n <mesh position={[0, -0.09, 0]} castShadow>\n <boxGeometry args={[0.06, 0.12, 0.02]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n roughness={0.7}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { RoundedBox } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { ArchiveIconProps } from \"./types\";\n\nexport function ArchiveIcon(props: ArchiveIconProps) {\n return (\n <SharedWrapper iconId=\"archive\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 8, -Math.PI / 6, 0]} position={[0, 0.02, 0]}>\n {/* Main Cabinet Chest Box */}\n <mesh castShadow receiveShadow>\n <RoundedBox args={[0.78, 0.95, 0.65]} radius={0.06} smoothness={4}>\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </RoundedBox>\n </mesh>\n\n {/* Top Drawer Front Panel */}\n <mesh castShadow position={[0, 0.2, 0.025]}>\n <RoundedBox args={[0.7, 0.38, 0.63]} radius={0.04} smoothness={4}>\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1f2937\" : \"#cbd5e1\"}\n />\n </RoundedBox>\n </mesh>\n\n {/* Top Drawer Pull Handle */}\n <group position={[0, 0.2, 0.35]}>\n {/* Horizontal Bar */}\n <mesh castShadow rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.015, 0.015, 0.24, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n {/* Left Bracket Pin */}\n <mesh position={[-0.12, 0, -0.02]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.012, 0.012, 0.04, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#9ca3af\" />\n </mesh>\n {/* Right Bracket Pin */}\n <mesh position={[0.12, 0, -0.02]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.012, 0.012, 0.04, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#9ca3af\" />\n </mesh>\n </group>\n\n {/* Bottom Drawer Front Panel */}\n <mesh castShadow position={[0, -0.22, 0.025]}>\n <RoundedBox args={[0.7, 0.38, 0.63]} radius={0.04} smoothness={4}>\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1f2937\" : \"#cbd5e1\"}\n />\n </RoundedBox>\n </mesh>\n\n {/* Bottom Drawer Pull Handle */}\n <group position={[0, -0.22, 0.35]}>\n {/* Horizontal Bar */}\n <mesh castShadow rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.015, 0.015, 0.24, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n {/* Left Bracket Pin */}\n <mesh position={[-0.12, 0, -0.02]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.012, 0.012, 0.04, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#9ca3af\" />\n </mesh>\n {/* Right Bracket Pin */}\n <mesh position={[0.12, 0, -0.02]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.012, 0.012, 0.04, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#9ca3af\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ShieldAlertIconProps } from \"./types\";\n\nexport function ShieldAlertIcon(props: ShieldAlertIconProps) {\n return (\n <SharedWrapper iconId=\"shieldalert\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.2, 0.05]} position={[0, 0.1, 0]}>\n \n {/* Shield Base Plate */}\n <group>\n {/* Top curved main body */}\n <mesh castShadow receiveShadow position={[0, 0.1, 0]}>\n <boxGeometry args={[1.06, 0.72, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom pointy geometry (45-deg rotated box) */}\n <mesh castShadow receiveShadow position={[0, -0.23, 0]} rotation={[0, 0, Math.PI / 4]}>\n <boxGeometry args={[0.75, 0.75, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n {/* Central Exclamation Mark (Alert Symbol) */}\n <group position={[0, -0.04, 0.13]}>\n {/* Warning Bar */}\n <mesh position={[0, 0.1, 0]} castShadow>\n <boxGeometry args={[0.08, 0.26, 0.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n {/* Warning Dot */}\n <mesh position={[0, -0.12, 0]} castShadow>\n <boxGeometry args={[0.08, 0.08, 0.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Border highlight rim */}\n <group position={[0, 0, 0.01]}>\n <mesh position={[0, 0.1, 0.115]}>\n <boxGeometry args={[1.1, 0.74, 0.03]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n wireframe\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { EyeOffIconProps } from \"./types\";\n\nexport function EyeOffIcon(props: EyeOffIconProps) {\n return (\n <SharedWrapper iconId=\"eyeoff\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0]} position={[0, 0, 0]}>\n \n {/* Eyeball (White Sphere) */}\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <sphereGeometry args={[0.44, 32, 32]} />\n <meshStandardMaterial roughness={0.1} metalness={0.05} color=\"#fcfcfc\" />\n </mesh>\n\n {/* Iris (Colored lens) */}\n <mesh castShadow position={[0, 0, 0.32]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.22, 0.22, 0.04, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Pupil (Dark Center) */}\n <mesh position={[0, 0, 0.35]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.09, 0.09, 0.02, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#09090b\" />\n </mesh>\n\n {/* Top Eyelid (Torus segment curved down) */}\n <mesh position={[0, 0.12, 0.16]} rotation={[0.2, 0, 0]} castShadow>\n <torusGeometry args={[0.5, 0.05, 12, 32, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Eyelid (Torus segment curved up) */}\n <mesh position={[0, -0.12, 0.16]} rotation={[-0.2, 0, Math.PI]} castShadow>\n <torusGeometry args={[0.5, 0.05, 12, 32, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Diagonal Off Slash Bar (Glowing) */}\n <mesh position={[0, 0, 0.39]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 1.3, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { UserPlusIconProps } from \"./types\";\n\nexport function UserPlusIcon(props: UserPlusIconProps) {\n return (\n <SharedWrapper iconId=\"userplus\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.2, 0.02]} position={[0, 0, 0]}>\n {/* User Silhouette Group (Offset to the left) */}\n <group position={[-0.14, 0, 0]}>\n {/* Head Sphere */}\n <mesh position={[0, 0.32, 0]} castShadow>\n <sphereGeometry args={[0.25, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Torso Shoulder Bust (Capsule) */}\n <mesh position={[0, -0.22, 0]} castShadow>\n <capsuleGeometry args={[0.35, 0.28, 8, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Decorative Collar ring */}\n <mesh position={[0, 0.02, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.15, 0.02, 8, 24]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.7}\n color={props.accentColor || \"#ec4899\"}\n />\n </mesh>\n </group>\n\n {/* Plus Symbol (On the right side) */}\n <group position={[0.36, -0.06, 0.15]}>\n {/* Horizontal Bar */}\n <mesh castShadow rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.028, 0.028, 0.18, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n {/* Vertical Bar */}\n <mesh castShadow>\n <cylinderGeometry args={[0.028, 0.028, 0.18, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TrendingDownIconProps } from \"./types\";\n\nexport function TrendingDownIcon(props: TrendingDownIconProps) {\n const radius = 0.05; // Line thickness\n\n const segments = [\n { pos: [-0.5, 0.4, 0] as [number, number, number], len: 0.6, rot: -Math.PI / 2 },\n { pos: [0, 0.15, 0] as [number, number, number], len: 0.64, rot: Math.atan2(-0.5, 0.4) - Math.PI / 2 },\n { pos: [0.45, -0.3, 0] as [number, number, number], len: 0.64, rot: Math.atan2(-0.4, 0.5) - Math.PI / 2 }\n ];\n\n const joints = [\n [-0.8, 0.4, 0],\n [-0.2, 0.4, 0],\n [0.2, -0.1, 0]\n ] as [number, number, number][];\n\n // Arrow head rotation and position details (pointing down-right)\n const arrowAngle = Math.atan2(-0.4, 0.5);\n const headPos: [number, number, number] = [0.7, -0.5, 0];\n const headRot: [number, number, number] = [0, 0, arrowAngle - Math.PI / 2];\n\n return (\n <SharedWrapper iconId=\"trendingdown\" {...props}>\n {(mat) => {\n const ac = mat.emissiveIntensity > 0 ? mat.emissive : (props.accentColor || \"#ef4444\");\n\n return (\n <group rotation={[0.1, -0.2, 0.05]}>\n {/* The falling trend line cylinders */}\n {segments.map((seg, idx) => (\n <mesh\n key={`seg-${idx}`}\n position={seg.pos}\n rotation={[0, 0, seg.rot]}\n castShadow\n receiveShadow\n >\n <cylinderGeometry args={[radius, radius, seg.len, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n ))}\n\n {/* Glowing joints */}\n {joints.map((joint, idx) => (\n <mesh\n key={`joint-${idx}`}\n position={joint}\n castShadow\n >\n <sphereGeometry args={[radius * 1.05, 12, 12]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={1.2}\n roughness={0.15}\n metalness={0.5}\n />\n </mesh>\n ))}\n\n {/* Arrow Head */}\n <mesh\n position={headPos}\n rotation={headRot}\n castShadow\n >\n <coneGeometry args={[0.13, 0.22, 16]} />\n <meshStandardMaterial\n color={ac}\n emissive={ac}\n emissiveIntensity={1.2}\n roughness={0.15}\n metalness={0.5}\n />\n </mesh>\n </group>\n );\n }}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CopyIconProps } from \"./types\";\n\nexport function CopyIcon(props: CopyIconProps) {\n // Document Dimensions: width=0.62, height=0.82, depth=0.03\n const w = 0.62;\n const h = 0.82;\n const d = 0.03;\n\n return (\n <SharedWrapper iconId=\"copy\" {...props}>\n {(mat) => (\n <group rotation={[Math.PI / 10, -Math.PI / 10, 0]} position={[0, 0, 0]}>\n {/* Back Document Sheet */}\n <mesh castShadow receiveShadow position={[-0.12, 0.12, -0.05]}>\n <boxGeometry args={[w, h, d]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Front Document Sheet */}\n <group position={[0.12, -0.12, 0.05]}>\n <mesh castShadow receiveShadow>\n <boxGeometry args={[w, h, d]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.2}\n />\n </mesh>\n\n {/* Glowing Abstract Text Lines on Front Sheet */}\n <mesh position={[0, 0.18, 0.018]} castShadow>\n <boxGeometry args={[0.36, 0.02, 0.01]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n <mesh position={[0, 0.06, 0.018]} castShadow>\n <boxGeometry args={[0.36, 0.02, 0.01]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n <mesh position={[-0.08, -0.06, 0.018]} castShadow>\n <boxGeometry args={[0.2, 0.02, 0.01]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ec4899\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GaugeIconProps } from \"./types\";\n\nexport function GaugeIcon(props: GaugeIconProps) {\n return (\n <SharedWrapper iconId=\"gauge\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0]} position={[0, 0, 0]}>\n \n {/* Base Dial Cylinder */}\n <mesh castShadow receiveShadow rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.85, 0.85, 0.14, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Outer highlight rim */}\n <mesh castShadow position={[0, 0, 0.08]} rotation={[0, 0, 0]}>\n <torusGeometry args={[0.86, 0.04, 8, 48]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n />\n </mesh>\n\n {/* Tick marks around the gauge face */}\n <group position={[0, 0, 0.08]}>\n {[-1.2, -0.6, 0, 0.6, 1.2].map((angle, i) => (\n <group key={i} rotation={[0, 0, angle]}>\n <mesh position={[0, 0.68, 0]}>\n <boxGeometry args={[0.03, 0.12, 0.02]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#64748b\" : \"#94a3b8\"}\n />\n </mesh>\n </group>\n ))}\n </group>\n\n {/* Central needle pointer system */}\n <group position={[0, 0, 0.08]} rotation={[0, 0, -Math.PI / 4]}>\n {/* Center Cap */}\n <mesh castShadow position={[0, 0, 0.02]}>\n <sphereGeometry args={[0.12, 16, 16]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#f1f5f9\"}\n roughness={0.1}\n metalness={0.9}\n />\n </mesh>\n\n {/* Glowing needle pointer arm */}\n <mesh castShadow position={[0, 0.3, 0.01]} rotation={[0, 0, 0]}>\n <boxGeometry args={[0.04, 0.6, 0.02]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MagnetIconProps } from \"./types\";\n\nexport function MagnetIcon(props: MagnetIconProps) {\n return (\n <SharedWrapper iconId=\"magnet\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.15]} position={[0, 0.1, 0]}>\n \n {/* Horseshoe Curved Top (Half Torus) */}\n <mesh castShadow receiveShadow position={[0, 0.15, 0]} rotation={[0, 0, Math.PI]}>\n <torusGeometry args={[0.5, 0.13, 16, 48, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left North Pole Leg (Red/Accent Tip) */}\n <group position={[-0.5, -0.05, 0]}>\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.13, 0.13, 0.4, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n {/* Red pole tip */}\n <mesh castShadow position={[0, -0.28, 0]}>\n <cylinderGeometry args={[0.13, 0.13, 0.16, 32]} />\n <meshStandardMaterial\n color={props.accentColor || \"#ef4444\"}\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n </group>\n\n {/* Right South Pole Leg (Blue/Dark Tip) */}\n <group position={[0.5, -0.05, 0]}>\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.13, 0.13, 0.4, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n {/* Blue pole tip */}\n <mesh castShadow position={[0, -0.28, 0]}>\n <cylinderGeometry args={[0.13, 0.13, 0.16, 32]} />\n <meshStandardMaterial\n color=\"#3b82f6\"\n roughness={0.2}\n metalness={0.6}\n />\n </mesh>\n </group>\n\n {/* Floating Magnetic Field Loops (Force Fields) */}\n <group position={[0, -0.4, 0.12]} rotation={[Math.PI / 2.5, 0, 0]}>\n <mesh>\n <torusGeometry args={[0.42, 0.015, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.0}\n transparent\n opacity={0.7}\n />\n </mesh>\n <mesh position={[0, 0, 0.1]}>\n <torusGeometry args={[0.48, 0.012, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={0.8}\n transparent\n opacity={0.4}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { StackIconProps } from \"./types\";\n\nexport function StackIcon(props: StackIconProps) {\n return (\n <SharedWrapper iconId=\"stack\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.4, 0.1]} position={[0, 0, 0]}>\n \n {/* Stack Layers (Three horizontal beveled database plates) */}\n {[-0.45, 0, 0.45].map((yOffset, index) => (\n <group key={index} position={[0, yOffset, 0]}>\n {/* Main plate mesh */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.25, 0.18, 1.25]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Front face status LED indicator bulbs */}\n <mesh position={[-0.38, 0, 0.63]} castShadow>\n <sphereGeometry args={[0.045, 8, 8]} />\n <meshStandardMaterial\n color={index === 2 ? \"#10b981\" : \"#3b82f6\"} // top green, others blue\n emissive={index === 2 ? \"#10b981\" : \"#3b82f6\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n <mesh position={[-0.2, 0, 0.63]} castShadow>\n <sphereGeometry args={[0.045, 8, 8]} />\n <meshStandardMaterial\n color={index === 2 ? \"#10b981\" : \"#10b981\"} // green\n emissive={index === 2 ? \"#10b981\" : \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n ))}\n\n {/* Core Support corner rails (four metallic rods at the edges) */}\n {[\n [-0.56, -0.56],\n [-0.56, 0.56],\n [0.56, -0.56],\n [0.56, 0.56],\n ].map(([x, z], i) => (\n <mesh key={i} position={[x, 0, z]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 1.1, 8]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#334155\" : \"#cbd5e1\"}\n />\n </mesh>\n ))}\n\n {/* Glowing internal spacer layers (neon accents between slabs) */}\n {[-0.225, 0.225].map((y, i) => (\n <mesh key={i} position={[0, y, 0]}>\n <boxGeometry args={[1.05, 0.04, 1.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n transparent\n opacity={0.8}\n />\n </mesh>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WorkflowIconProps } from \"./types\";\n\nexport function WorkflowIcon(props: WorkflowIconProps) {\n return (\n <SharedWrapper iconId=\"workflow\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Top Root Node Box */}\n <mesh castShadow receiveShadow position={[0, 0.48, 0]}>\n <boxGeometry args={[0.56, 0.38, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Left Child Node Box */}\n <mesh castShadow receiveShadow position={[-0.48, -0.42, 0]}>\n <boxGeometry args={[0.56, 0.38, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Right Child Node Box */}\n <mesh castShadow receiveShadow position={[0.48, -0.42, 0]}>\n <boxGeometry args={[0.56, 0.38, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Connecting Rails (Glowing data lines) */}\n <group position={[0, 0, 0]}>\n {/* Vertical stem down from root */}\n <mesh position={[0, 0.14, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.32, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Horizontal branch bar */}\n <mesh position={[0, -0.04, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.96, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Left drop tube */}\n <mesh position={[-0.48, -0.15, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.22, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Right drop tube */}\n <mesh position={[0.48, -0.15, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.22, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Connection Joint Beads (Spheres) */}\n <group position={[0, 0, 0.01]}>\n {/* Center-split T-junction */}\n <mesh position={[0, -0.04, 0]} castShadow>\n <sphereGeometry args={[0.05, 12, 12]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n />\n </mesh>\n {/* Left corner elbow */}\n <mesh position={[-0.48, -0.04, 0]} castShadow>\n <sphereGeometry args={[0.05, 12, 12]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n />\n </mesh>\n {/* Right corner elbow */}\n <mesh position={[0.48, -0.04, 0]} castShadow>\n <sphereGeometry args={[0.05, 12, 12]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TopologyIconProps } from \"./types\";\n\nexport function TopologyIcon(props: TopologyIconProps) {\n return (\n <SharedWrapper iconId=\"topology\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Central Hub Node (Main system gateway) */}\n <mesh castShadow receiveShadow>\n <sphereGeometry args={[0.32, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Central Hub rim ring */}\n <mesh castShadow position={[0, 0, 0.01]}>\n <torusGeometry args={[0.33, 0.025, 8, 32]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#e2e8f0\"}\n />\n </mesh>\n\n {/* Symmetrical Spoke Rails (Orthogonal network connections) */}\n <group position={[0, 0, 0]}>\n {/* Horizontal line (X-axis connector) */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 1.1, 8]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#475569\" : \"#cbd5e1\"}\n roughness={0.4}\n metalness={0.6}\n />\n </mesh>\n {/* Vertical line (Y-axis connector) */}\n <mesh castShadow>\n <cylinderGeometry args={[0.024, 0.024, 1.1, 8]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#475569\" : \"#cbd5e1\"}\n roughness={0.4}\n metalness={0.6}\n />\n </mesh>\n </group>\n\n {/* Satellite Nodes (Four outer sub-system spheres) */}\n {[\n [0.55, 0],\n [-0.55, 0],\n [0, 0.55],\n [0, -0.55],\n ].map(([x, y], index) => (\n <mesh key={index} position={[x, y, 0]} castShadow>\n <sphereGeometry args={[0.18, 16, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n roughness={0.2}\n />\n </mesh>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FileIconProps } from \"./types\";\n\nexport function FileIcon(props: FileIconProps) {\n return (\n <SharedWrapper iconId=\"file\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Paper Sheet Card */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.85, 1.15, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Folded corner (Top-right flap overlay, rotated 45 degrees) */}\n <mesh position={[0.29, 0.44, 0.045]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <boxGeometry args={[0.26, 0.26, 0.09]} />\n <meshPhysicalMaterial\n roughness={0.2}\n metalness={0.7}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Written Document Text Lines (Glowing accent color) */}\n <group position={[0, 0, 0.045]}>\n {/* Line 1 */}\n <mesh position={[-0.05, 0.15, 0]} castShadow>\n <boxGeometry args={[0.5, 0.045, 0.01]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Line 2 */}\n <mesh position={[-0.05, -0.05, 0]} castShadow>\n <boxGeometry args={[0.5, 0.045, 0.01]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Line 3 */}\n <mesh position={[-0.15, -0.25, 0]} castShadow>\n <boxGeometry args={[0.3, 0.045, 0.01]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HeadphonesIconProps } from \"./types\";\n\nexport function HeadphonesIcon(props: HeadphonesIconProps) {\n return (\n <SharedWrapper iconId=\"headphones\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0]} position={[0, 0.1, 0]}>\n \n {/* Headband Curved Arc (Torus segment) */}\n <mesh castShadow receiveShadow position={[0, 0.08, 0]} rotation={[0, 0, 0]}>\n <torusGeometry args={[0.55, 0.045, 12, 32, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Earcup Chamber */}\n <group position={[-0.55, 0.04, 0]} rotation={[0, 0, Math.PI / 2]}>\n {/* Outer Chamber body */}\n <mesh castShadow>\n <cylinderGeometry args={[0.18, 0.18, 0.14, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Inner cushion foam ring */}\n <mesh castShadow position={[0, -0.08, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.14, 0.04, 8, 24]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#475569\"}\n roughness={0.8}\n />\n </mesh>\n {/* Outer detail grill badge */}\n <mesh position={[0, 0.075, 0]}>\n <sphereGeometry args={[0.11, 16, 8]} />\n <meshStandardMaterial\n color={props.accentColor || \"#3b82f6\"}\n roughness={0.2}\n metalness={0.7}\n />\n </mesh>\n </group>\n\n {/* Right Earcup Chamber */}\n <group position={[0.55, 0.04, 0]} rotation={[0, 0, -Math.PI / 2]}>\n {/* Outer Chamber body */}\n <mesh castShadow>\n <cylinderGeometry args={[0.18, 0.18, 0.14, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Inner cushion foam ring */}\n <mesh castShadow position={[0, -0.08, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.14, 0.04, 8, 24]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#475569\"}\n roughness={0.8}\n />\n </mesh>\n {/* Outer detail grill badge */}\n <mesh position={[0, 0.075, 0]}>\n <sphereGeometry args={[0.11, 16, 8]} />\n <meshStandardMaterial\n color={props.accentColor || \"#3b82f6\"}\n roughness={0.2}\n metalness={0.7}\n />\n </mesh>\n </group>\n\n {/* Connectors/Sliders linking band to cups */}\n {[-0.55, 0.55].map((x, i) => (\n <mesh key={i} position={[x, 0.06, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.1, 8]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#334155\" : \"#cbd5e1\"}\n />\n </mesh>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MoonIconProps } from \"./types\";\n\nexport function MoonIcon(props: MoonIconProps) {\n return (\n <SharedWrapper iconId=\"moon\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Crescent Moon Arc (Torus segment rotated) */}\n <group rotation={[0, 0, Math.PI / 2.3]}>\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.56, 0.15, 16, 48, Math.PI * 0.86]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Smooth beveled tips */}\n <mesh position={[0.56, 0.015, 0]}>\n <sphereGeometry args={[0.15, 16, 16]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n \n <mesh position={[-0.24, 0.51, 0]}>\n <sphereGeometry args={[0.15, 16, 16]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n </group>\n\n {/* Floating Neon night stars */}\n <group position={[0.3, 0, 0.12]}>\n {/* Top Star */}\n <mesh position={[0.15, 0.25, 0]} castShadow>\n <sphereGeometry args={[0.045, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n \n {/* Bottom Star */}\n <mesh position={[0.02, -0.22, 0]} castShadow>\n <sphereGeometry args={[0.035, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PaperclipIconProps } from \"./types\";\n\nexport function PaperclipIcon(props: PaperclipIconProps) {\n return (\n <SharedWrapper iconId=\"paperclip\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.3, 0.5]} position={[0, 0, 0]}>\n \n {/* Wire Straight Segments */}\n <group>\n {/* Outer Left Line */}\n <mesh position={[-0.18, 0, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.7, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={Math.max(0.8, mat.metalness)}\n color={mat.color}\n />\n </mesh>\n\n {/* Mid Stem Line */}\n <mesh position={[0, -0.05, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.7, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={Math.max(0.8, mat.metalness)}\n color={mat.color}\n />\n </mesh>\n\n {/* Inner Right Line */}\n <mesh position={[0.18, 0.05, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.5, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={Math.max(0.8, mat.metalness)}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Wire Curved Arches */}\n <group>\n {/* Top Outer Arch (connects X=-0.18 and X=0.18? No, X=-0.18 to X=0.18 is radius 0.18) */}\n <mesh position={[0, 0.35, 0]} rotation={[0, 0, 0]}>\n <torusGeometry args={[0.18, 0.03, 8, 24, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={Math.max(0.8, mat.metalness)}\n color={mat.color}\n />\n </mesh>\n\n {/* Bottom Inner Arch (connects X=-0.18 and X=0) */}\n <mesh position={[-0.09, -0.35, 0]} rotation={[0, 0, Math.PI]}>\n <torusGeometry args={[0.09, 0.03, 8, 24, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={Math.max(0.8, mat.metalness)}\n color={mat.color}\n />\n </mesh>\n\n {/* Top Inner Arch (connects X=0 and X=0.18) */}\n <mesh position={[0.09, 0.25, 0]} rotation={[0, 0, 0]}>\n <torusGeometry args={[0.09, 0.03, 8, 24, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={Math.max(0.8, mat.metalness)}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Symmetrical glowing locking band (aesthetic touch) */}\n <mesh position={[0, 0.1, 0.035]} castShadow>\n <boxGeometry args={[0.42, 0.05, 0.02]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BookmarkIconProps } from \"./types\";\n\nexport function BookmarkIcon(props: BookmarkIconProps) {\n return (\n <SharedWrapper iconId=\"bookmark\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Ribbon Tab Body */}\n <mesh castShadow receiveShadow position={[0, -0.1, 0]}>\n <boxGeometry args={[0.54, 0.95, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Hanging Mount Loop (Metal ring) */}\n <mesh castShadow position={[0, 0.42, 0]} rotation={[Math.PI / 6, 0, 0]}>\n <torusGeometry args={[0.13, 0.024, 8, 24]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Center decorative accent stripe */}\n <mesh position={[0, -0.1, 0.035]} castShadow>\n <boxGeometry args={[0.08, 0.82, 0.015]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Small metal grommet at the loop hole */}\n <mesh position={[0, 0.34, 0.01]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.045, 0.045, 0.08, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CloudLightningIconProps } from \"./types\";\n\nexport function CloudLightningIcon(props: CloudLightningIconProps) {\n return (\n <SharedWrapper iconId=\"cloudlightning\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0.05]} position={[0, 0.1, 0]}>\n \n {/* Cloud Body (Overlapping physical spheres) */}\n <group position={[0, 0.1, 0]}>\n {/* Center Sphere */}\n <mesh castShadow receiveShadow position={[0, 0.15, 0]}>\n <sphereGeometry args={[0.38, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Sphere */}\n <mesh castShadow receiveShadow position={[-0.34, 0.05, 0]}>\n <sphereGeometry args={[0.27, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n\n {/* Right Sphere */}\n <mesh castShadow receiveShadow position={[0.34, 0.08, 0]}>\n <sphereGeometry args={[0.29, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n\n {/* Flat Bottom Filler Plate */}\n <mesh castShadow receiveShadow position={[0, -0.05, 0]}>\n <boxGeometry args={[0.68, 0.24, 0.46]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Central Glowing Lightning Bolt (Accent color) */}\n <group position={[0.04, -0.06, 0.16]}>\n {/* Top diagonal segment */}\n <mesh position={[0.05, -0.16, 0]} rotation={[0, 0, -0.45]} castShadow>\n <boxGeometry args={[0.08, 0.32, 0.06]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#fbbf24\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#fbbf24\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n \n {/* Middle horizontal-skewed segment */}\n <mesh position={[-0.04, -0.28, 0]} rotation={[0, 0, 0.32]} castShadow>\n <boxGeometry args={[0.08, 0.26, 0.06]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#fbbf24\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#fbbf24\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Bottom tip segment */}\n <mesh position={[-0.08, -0.42, 0]} rotation={[0, 0, -0.2]} castShadow>\n <boxGeometry args={[0.06, 0.22, 0.06]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#fbbf24\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#fbbf24\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FolderOpenIconProps } from \"./types\";\n\nexport function FolderOpenIcon(props: FolderOpenIconProps) {\n return (\n <SharedWrapper iconId=\"folderopen\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Folder Back Plate */}\n <group position={[0, 0, -0.16]}>\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <boxGeometry args={[1.25, 0.8, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n {/* Top-left Folder Tab index */}\n <mesh castShadow position={[-0.375, 0.45, 0]}>\n <boxGeometry args={[0.5, 0.14, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Nested Document Sheets (Paper pages peeking out) */}\n <group position={[0, 0.05, -0.04]}>\n {/* Page 1 (Back page, tilted slightly left) */}\n <mesh position={[-0.03, 0.16, -0.04]} rotation={[0.08, 0, 0.04]} castShadow>\n <boxGeometry args={[1.05, 0.85, 0.025]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#e2e8f0\" : \"#ffffff\"}\n roughness={0.6}\n />\n </mesh>\n \n {/* Page 2 (Front page, tilted slightly right) */}\n <mesh position={[0.04, 0.08, 0.03]} rotation={[0.15, 0, -0.03]} castShadow>\n <boxGeometry args={[1.05, 0.85, 0.025]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#f8fafc\"}\n roughness={0.6}\n />\n </mesh>\n </group>\n\n {/* Folder Front Cover (Open cover, tilted forward) */}\n <group position={[0, -0.08, 0.16]} rotation={[0.26, 0, 0]}>\n <mesh castShadow receiveShadow>\n <boxGeometry args={[1.25, 0.8, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Front accent brand line / tab lock */}\n <mesh position={[0, 0.22, 0.03]} castShadow>\n <boxGeometry args={[0.25, 0.06, 0.025]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { VolumeIconProps } from \"./types\";\n\nexport function VolumeIcon(props: VolumeIconProps) {\n return (\n <SharedWrapper iconId=\"volume\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Speaker Casing Base (Rectangular plate) */}\n <mesh castShadow receiveShadow position={[-0.45, 0, 0]}>\n <boxGeometry args={[0.32, 0.44, 0.44]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Speaker Front Cone (Truncated cone) */}\n <mesh castShadow receiveShadow position={[-0.14, 0, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.22, 0.1, 0.38, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Speaker Center dust cap cap */}\n <mesh position={[0.05, 0, 0]} rotation={[0, 0, Math.PI / 2]}>\n <sphereGeometry args={[0.07, 16, 16]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#cbd5e1\"}\n roughness={0.2}\n metalness={0.8}\n />\n </mesh>\n\n {/* Radiating Sound Waves (Concentric glowing torus arches) */}\n <group position={[0.15, 0, 0]}>\n {/* Inner smaller wave */}\n <mesh rotation={[0, Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.32, 0.02, 8, 24, Math.PI * 0.55]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#3b82f6\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#3b82f6\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n\n {/* Outer larger wave */}\n <mesh position={[0.2, 0, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.54, 0.02, 8, 24, Math.PI * 0.55]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#3b82f6\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#3b82f6\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BellOffIconProps } from \"./types\";\n\nexport function BellOffIcon(props: BellOffIconProps) {\n return (\n <SharedWrapper iconId=\"belloff\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.25, 0.05]} position={[0, 0.1, 0]}>\n \n {/* Bell Body Group */}\n <group position={[0, 0, 0]}>\n {/* Top Loop hanger ring */}\n <mesh castShadow position={[0, 0.45, 0]}>\n <torusGeometry args={[0.11, 0.024, 8, 20]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n\n {/* Upper Dome Half Sphere */}\n <mesh castShadow receiveShadow position={[0, 0.16, 0]}>\n <sphereGeometry args={[0.38, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Main cylinder body flare */}\n <mesh castShadow receiveShadow position={[0, -0.06, 0]}>\n <cylinderGeometry args={[0.38, 0.48, 0.44, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Bottom Lip Ring (torus) */}\n <mesh castShadow position={[0, -0.28, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.48, 0.045, 8, 24]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n\n {/* Bottom Clapper sphere */}\n <mesh castShadow position={[0, -0.38, 0]}>\n <sphereGeometry args={[0.13, 16, 16]} />\n <meshStandardMaterial\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#cbd5e1\"}\n roughness={0.2}\n metalness={0.8}\n />\n </mesh>\n </group>\n\n {/* Slashed Out Diagonal Bar (Glowing disabled accent warning) */}\n <mesh position={[0, 0, 0.16]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 1.25, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#ef4444\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SunMoonIconProps } from \"./types\";\n\nexport function SunMoonIcon(props: SunMoonIconProps) {\n return (\n <SharedWrapper iconId=\"sunmoon\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Sun Half-Sphere (Left Side) */}\n <group position={[-0.15, 0, 0]}>\n <mesh castShadow receiveShadow>\n <sphereGeometry args={[0.34, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Symmetrical Sun Rays extending outwards left-side only */}\n {[-1.8, -1.2, -0.6, 0, 0.6, 1.2, 1.8].map((angle, i) => (\n <group key={i} rotation={[0, 0, angle + Math.PI]}>\n <mesh position={[0, 0.44, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.16, 8]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.7}\n color={mat.color}\n />\n </mesh>\n </group>\n ))}\n </group>\n\n {/* Moon Crescent Half (Right Side, wrapping around) */}\n <group position={[0.1, 0, 0.06]} rotation={[0, 0, -Math.PI / 2.8]}>\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.36, 0.11, 16, 48, Math.PI * 0.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Smooth beveled tips */}\n <mesh position={[0.36, 0.01, 0]}>\n <sphereGeometry args={[0.11, 16, 16]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n <mesh position={[-0.18, 0.31, 0]}>\n <sphereGeometry args={[0.11, 16, 16]} />\n <meshPhysicalMaterial roughness={mat.roughness} metalness={mat.metalness} color={mat.color} />\n </mesh>\n </group>\n\n {/* Neon mini-stars near the crescent moon (Accent glow) */}\n <group position={[0.42, 0, 0.14]}>\n {/* Top Star */}\n <mesh position={[0.08, 0.16, 0]} castShadow>\n <sphereGeometry args={[0.038, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n \n {/* Bottom Star */}\n <mesh position={[0.02, -0.16, 0]} castShadow>\n <sphereGeometry args={[0.03, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PistonIconProps } from \"./types\";\n\nexport function PistonIcon(props: PistonIconProps) {\n return (\n <SharedWrapper iconId=\"piston\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Main Piston Head / Skirt */}\n <group position={[0, 0.22, 0]}>\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.28, 0.28, 0.38, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glowing Accent Piston Ring (Top groove) */}\n <mesh position={[0, 0.08, 0]}>\n <torusGeometry args={[0.286, 0.02, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Second Piston Ring (Middle groove, dark steel) */}\n <mesh position={[0, -0.02, 0]}>\n <torusGeometry args={[0.286, 0.015, 8, 32]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#64748b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Gudgeon Pin / Wrist Pin (Horizontal rod) */}\n <mesh position={[0, -0.08, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.065, 0.065, 0.32, 16]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#94a3b8\"}\n />\n </mesh>\n </group>\n\n {/* Connecting Rod (Shaft downwards) */}\n <mesh position={[0, -0.12, 0]} castShadow>\n <boxGeometry args={[0.07, 0.38, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Crankshaft Knuckle Cap (Bottom loop) */}\n <group position={[0, -0.32, 0]}>\n {/* Loop Ring */}\n <mesh castShadow rotation={[0, 0, 0]}>\n <torusGeometry args={[0.08, 0.025, 8, 24]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n \n {/* Small Connecting Bolt Details */}\n <mesh position={[-0.1, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.06, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n <mesh position={[0.1, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.06, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SpringIconProps } from \"./types\";\n\nexport function SpringIcon(props: SpringIconProps) {\n const turns = 5;\n const spacing = 0.14;\n const helixRotation: [number, number, number] = [0.15, 0.1, 0.08];\n\n return (\n <SharedWrapper iconId=\"spring\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Spring Helical Coil Body */}\n <group>\n {Array.from({ length: turns }).map((_, index) => {\n const yPos = (index - (turns - 1) / 2) * spacing;\n return (\n <mesh\n key={index}\n castShadow\n receiveShadow\n position={[0, yPos, 0]}\n rotation={helixRotation}\n >\n <torusGeometry args={[0.22, 0.032, 10, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n );\n })}\n </group>\n\n {/* Top Hook Attachment (Accent color) */}\n <mesh\n castShadow\n position={[0, (turns / 2) * spacing, 0]}\n rotation={[Math.PI / 2, 0, Math.PI / 2]}\n >\n <torusGeometry args={[0.1, 0.024, 8, 20]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Bottom Hook Attachment (Accent color) */}\n <mesh\n castShadow\n position={[0, -((turns / 2) * spacing), 0]}\n rotation={[Math.PI / 2, 0, Math.PI / 2]}\n >\n <torusGeometry args={[0.1, 0.024, 8, 20]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { AnvilIconProps } from \"./types\";\n\nexport function AnvilIcon(props: AnvilIconProps) {\n return (\n <SharedWrapper iconId=\"anvil\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.35, 0.05]} position={[0, 0.02, 0]}>\n \n {/* Main Waist Block */}\n <mesh castShadow receiveShadow position={[0, -0.06, 0]}>\n <boxGeometry args={[0.3, 0.24, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Pointy Horn */}\n <mesh\n castShadow\n position={[-0.26, 0.04, 0]}\n rotation={[0, 0, Math.PI / 2]}\n >\n <coneGeometry args={[0.09, 0.24, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Right Rectangular Tail */}\n <mesh castShadow position={[0.22, 0.04, 0]}>\n <boxGeometry args={[0.16, 0.16, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Top Strike Deck Plate */}\n <mesh castShadow position={[0, 0.12, 0]}>\n <boxGeometry args={[0.42, 0.05, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Flared Bottom Base Feet */}\n <group position={[0, -0.24, 0]}>\n <mesh castShadow>\n <boxGeometry args={[0.44, 0.12, 0.32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Base Bevel Trim (Metal/Steel color) */}\n <mesh position={[0, 0.07, 0]} castShadow>\n <boxGeometry args={[0.34, 0.02, 0.24]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#64748b\" : \"#475569\"}\n />\n </mesh>\n </group>\n\n {/* Glowing Red-Hot Forged Metal Bar on top of Anvil (Accent color) */}\n <mesh position={[0.04, 0.17, 0]} castShadow>\n <boxGeometry args={[0.14, 0.05, 0.08]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f97316\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f97316\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HookIconProps } from \"./types\";\n\nexport function HookIcon(props: HookIconProps) {\n return (\n <SharedWrapper iconId=\"hook\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.15, 0.05]} position={[0, 0.02, 0]}>\n \n {/* Top Cable Pulley Box Block */}\n <group position={[0, 0.28, 0]}>\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.34, 0.28, 0.24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glowing Accent Warning Band across the housing */}\n <mesh position={[0, 0, 0.122]} castShadow>\n <boxGeometry args={[0.26, 0.06, 0.01]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#f59e0b\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Central Pulley Axle Bolt (Horizontal cylinder) */}\n <mesh position={[0, 0, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.045, 0.045, 0.28, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n </group>\n\n {/* Swivel Shank / Connector Collar */}\n <group position={[0, 0.1, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.05, 0.05, 0.1, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n <mesh position={[0, -0.04, 0]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.04, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n </group>\n\n {/* Heavy Lifting Crane Hook */}\n {/* Curved Hook Body (using 3/4 circle torus) */}\n <mesh\n castShadow\n position={[-0.075, -0.15, 0]}\n rotation={[0, 0, -Math.PI / 5]}\n >\n <torusGeometry args={[0.15, 0.038, 12, 32, Math.PI * 1.35]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Pointed Hook Tip (cone at the end of the torus arc) */}\n <mesh\n castShadow\n position={[0.13, -0.19, 0]}\n rotation={[0, 0, Math.PI / 3]}\n >\n <coneGeometry args={[0.037, 0.09, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Hook Suspension Ring (connecting to swivel shank) */}\n <mesh\n castShadow\n position={[0, 0.03, 0]}\n rotation={[Math.PI / 2, 0, 0]}\n >\n <torusGeometry args={[0.065, 0.02, 8, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TurbineIconProps } from \"./types\";\n\nexport function TurbineIcon(props: TurbineIconProps) {\n const blades = [0, 120, 240];\n\n return (\n <SharedWrapper iconId=\"turbine\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Outer Protective Shroud Ring */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.35, 0.024, 8, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Core Spinner Propeller Hub */}\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <sphereGeometry args={[0.09, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Central Axle Shaft */}\n <mesh position={[0, 0, -0.06]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.12, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Glowing Spinner Tip Dome (Accent color) */}\n <mesh position={[0, 0, 0.075]} castShadow>\n <sphereGeometry args={[0.045, 16, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#06b6d4\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#06b6d4\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Three Rotated & Angled Turbine Blades */}\n {blades.map((angle, index) => {\n const rad = (angle * Math.PI) / 180;\n return (\n <group key={index} rotation={[0, 0, rad]}>\n {/* Each blade is translated outward along Y and rotated locally around Y to angle the pitch */}\n <mesh\n castShadow\n receiveShadow\n position={[0, 0.19, 0.01]}\n rotation={[0, 0.45, 0]} // pitch angle\n >\n <boxGeometry args={[0.075, 0.22, 0.016]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n \n {/* Thin blade tip accents (glow) */}\n <mesh\n position={[0, 0.31, 0.01]}\n rotation={[0, 0.45, 0]}\n >\n <boxGeometry args={[0.065, 0.02, 0.018]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#06b6d4\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#06b6d4\"}\n emissiveIntensity={1.1}\n />\n </mesh>\n </group>\n );\n })}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PliersIconProps } from \"./types\";\n\nexport function PliersIcon(props: PliersIconProps) {\n return (\n <SharedWrapper iconId=\"pliers\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Central Pivot Pin (Cylinder) */}\n <mesh castShadow receiveShadow position={[0, 0.05, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.14, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Left Jaw & Right Handle (Pivoted together) */}\n <group position={[0, 0.05, 0]} rotation={[0, 0, 0.15]}>\n {/* Jaw tip (Left jaw pointing up) */}\n <mesh castShadow position={[-0.04, 0.18, 0.03]} rotation={[0, 0, -0.1]}>\n <boxGeometry args={[0.05, 0.22, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Jaw teeth grip detail */}\n <mesh position={[-0.018, 0.18, 0.03]}>\n <boxGeometry args={[0.01, 0.18, 0.04]} />\n <meshStandardMaterial roughness={0.5} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n\n {/* Right Handle (Stretches down-right) */}\n <mesh castShadow position={[0.12, -0.22, -0.03]} rotation={[0, 0, -0.18]}>\n <cylinderGeometry args={[0.03, 0.024, 0.44, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Right Handle Rubber Grip (Glowing Accent) */}\n <mesh position={[0.13, -0.26, -0.03]} rotation={[0, 0, -0.18]}>\n <cylinderGeometry args={[0.035, 0.029, 0.3, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Right Jaw & Left Handle (Pivoted together) */}\n <group position={[0, 0.05, 0]} rotation={[0, 0, -0.15]}>\n {/* Jaw tip (Right jaw pointing up) */}\n <mesh castShadow position={[0.04, 0.18, -0.03]} rotation={[0, 0, 0.1]}>\n <boxGeometry args={[0.05, 0.22, 0.05]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Left Handle (Stretches down-left) */}\n <mesh castShadow position={[-0.12, -0.22, 0.03]} rotation={[0, 0, 0.18]}>\n <cylinderGeometry args={[0.03, 0.024, 0.44, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Left Handle Rubber Grip (Glowing Accent) */}\n <mesh position={[-0.13, -0.26, 0.03]} rotation={[0, 0, 0.18]}>\n <cylinderGeometry args={[0.035, 0.029, 0.3, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DrillIconProps } from \"./types\";\n\nexport function DrillIcon(props: DrillIconProps) {\n return (\n <SharedWrapper iconId=\"drill\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Horizontal Motor Housing Barrel */}\n <mesh castShadow receiveShadow position={[-0.08, 0.16, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.13, 0.11, 0.38, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Pistol Grip Handle */}\n <mesh castShadow position={[-0.14, -0.08, 0]} rotation={[0, 0, -Math.PI / 8]}>\n <boxGeometry args={[0.08, 0.32, 0.09]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Bottom Battery Pack Block */}\n <mesh castShadow position={[-0.2, -0.25, 0]} rotation={[0, 0, -Math.PI / 8]}>\n <boxGeometry args={[0.16, 0.08, 0.12]} />\n <meshStandardMaterial\n roughness={0.3}\n metalness={0.7}\n color={props.theme === \"dark\" ? \"#475569\" : \"#334155\"}\n />\n </mesh>\n\n {/* Drill Chuck (Steel collar at front) */}\n <mesh castShadow position={[0.15, 0.16, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.085, 0.085, 0.1, 16]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.85}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Drill Bit (Thin steel rod + spiral texture representation) */}\n <group position={[0.3, 0.16, 0]}>\n <mesh castShadow rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.024, 0.024, 0.22, 8]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#94a3b8\" : \"#64748b\"}\n />\n </mesh>\n {/* Drill bit tip cone */}\n <mesh position={[0.11, 0, 0]} rotation={[0, 0, -Math.PI / 2]} castShadow>\n <coneGeometry args={[0.024, 0.05, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Glowing Trigger Switch Button (Accent color) */}\n <mesh position={[-0.08, 0.03, 0]} castShadow>\n <boxGeometry args={[0.05, 0.06, 0.04]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HacksawIconProps } from \"./types\";\n\nexport function HacksawIcon(props: HacksawIconProps) {\n return (\n <SharedWrapper iconId=\"hacksaw\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.08]} position={[0, 0, 0]}>\n \n {/* Main Hacksaw U-Frame (Segmented Steel Rods) */}\n <group>\n {/* Top Frame Rod */}\n <mesh castShadow position={[-0.05, 0.22, 0]}>\n <boxGeometry args={[0.62, 0.03, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Front vertical drop rod */}\n <mesh castShadow position={[0.25, 0.08, 0]}>\n <boxGeometry args={[0.03, 0.3, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Rear vertical drop rod */}\n <mesh castShadow position={[-0.35, 0.12, 0]}>\n <boxGeometry args={[0.03, 0.22, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Hacksaw Blade (Thin plate running horizontally at bottom) */}\n <mesh castShadow position={[-0.05, -0.05, 0]}>\n <boxGeometry args={[0.58, 0.025, 0.008]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* D-shaped Handle / Grip at the back */}\n <group position={[-0.4, 0.02, 0]}>\n {/* Main grip block */}\n <mesh castShadow>\n <boxGeometry args={[0.08, 0.24, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n \n {/* Rubber inner grip inlay (glowing accent) */}\n <mesh position={[0.02, 0, 0]}>\n <boxGeometry args={[0.02, 0.18, 0.066]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Front Blade Tension Wing Nut (Glowing Accent) */}\n <mesh position={[0.28, -0.05, 0]} rotation={[0, Math.PI / 4, 0]} castShadow>\n <torusGeometry args={[0.035, 0.012, 6, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TapeMeasureIconProps } from \"./types\";\n\nexport function TapeMeasureIcon(props: TapeMeasureIconProps) {\n return (\n <SharedWrapper iconId=\"tapemeasure\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Tape Measure Outer Case */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.48, 0.48, 0.26]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Rubberized Corner Bumpers (Protection cladding) */}\n <group>\n {/* Top Bumper */}\n <mesh position={[0, 0.23, 0]} castShadow>\n <boxGeometry args={[0.34, 0.04, 0.28]} />\n <meshStandardMaterial roughness={0.7} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n {/* Left Bumper */}\n <mesh position={[-0.23, 0, 0]} castShadow>\n <boxGeometry args={[0.04, 0.34, 0.28]} />\n <meshStandardMaterial roughness={0.7} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n </group>\n\n {/* Extended Yellow Steel Tape Blade (Extends down-right) */}\n <group position={[0.22, -0.2, 0.05]}>\n {/* Metal Tape strip */}\n <mesh castShadow position={[0.16, 0.02, 0]} rotation={[0, 0, -0.05]}>\n <boxGeometry args={[0.32, 0.015, 0.12]} />\n <meshStandardMaterial\n color=\"#facc15\" // Yellow steel tape\n roughness={0.1}\n metalness={0.7}\n />\n </mesh>\n {/* Red Tick Marks on Tape (Simulating measurements) */}\n <mesh position={[0.1, 0.03, 0.04]} rotation={[0, 0, -0.05]}>\n <boxGeometry args={[0.01, 0.005, 0.03]} />\n <meshBasicMaterial color=\"#ef4444\" />\n </mesh>\n <mesh position={[0.2, 0.03, 0.04]} rotation={[0, 0, -0.05]}>\n <boxGeometry args={[0.01, 0.005, 0.03]} />\n <meshBasicMaterial color=\"#ef4444\" />\n </mesh>\n\n {/* L-shaped Steel Tape Hook tip */}\n <mesh position={[0.32, -0.02, 0]} castShadow>\n <boxGeometry args={[0.012, 0.06, 0.14]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Front Chrome Logo Plate/Circle */}\n <mesh position={[0, 0, 0.134]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.15, 0.15, 0.01, 32]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#94a3b8\" : \"#475569\"}\n />\n </mesh>\n\n {/* Locking Slide Switch button (Glowing Accent) */}\n <mesh position={[0.12, 0.18, 0.13]} castShadow>\n <boxGeometry args={[0.06, 0.12, 0.05]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Carrying Hand Strap Loop */}\n <mesh position={[-0.24, -0.16, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <torusGeometry args={[0.08, 0.015, 8, 16, Math.PI]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#475569\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CaliperIconProps } from \"./types\";\n\nexport function CaliperIcon(props: CaliperIconProps) {\n return (\n <SharedWrapper iconId=\"caliper\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.15]} position={[0, 0, 0]}>\n \n {/* Main Caliper Beam Scale (Horizontal Ruler) */}\n <mesh castShadow receiveShadow position={[0, 0, 0]}>\n <boxGeometry args={[0.74, 0.05, 0.02]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Stationary Jaw Block (Fixed at left, X = -0.32) */}\n <group position={[-0.32, 0, 0]}>\n {/* Base mounting */}\n <mesh castShadow position={[0, 0, 0]}>\n <boxGeometry args={[0.1, 0.07, 0.024]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Lower measuring jaw (Long curved hook pointing down-right) */}\n <mesh castShadow position={[-0.02, -0.13, 0]} rotation={[0, 0, 0.2]}>\n <boxGeometry args={[0.04, 0.22, 0.022]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Upper internal jaw (Short tip pointing up-right) */}\n <mesh castShadow position={[-0.01, 0.08, 0]} rotation={[0, 0, -0.25]}>\n <boxGeometry args={[0.03, 0.1, 0.022]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Sliding Vernier Carriage (Sliding body, shifted slightly to the right, X = 0.05) */}\n <group position={[0.02, 0, 0]}>\n {/* Slider housing block */}\n <mesh castShadow position={[0, 0, 0]}>\n <boxGeometry args={[0.16, 0.075, 0.032]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Sliding Lower measuring jaw (curves down-left, meets fixed jaw) */}\n <mesh castShadow position={[-0.04, -0.13, 0]} rotation={[0, 0, -0.2]}>\n <boxGeometry args={[0.04, 0.22, 0.022]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Sliding Upper internal jaw (curves up-left) */}\n <mesh castShadow position={[-0.03, 0.08, 0]} rotation={[0, 0, 0.25]}>\n <boxGeometry args={[0.03, 0.1, 0.022]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Accent Slider Locking Thumb Screw (Top knob) */}\n <mesh position={[0, 0.07, 0]} castShadow>\n <cylinderGeometry args={[0.032, 0.032, 0.06, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Depth Rod (Very thin steel wire extending from right end) */}\n <mesh castShadow position={[0.39, -0.015, 0]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.008, 0.008, 0.12, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#94a3b8\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SpiritLevelIconProps } from \"./types\";\n\nexport function SpiritLevelIcon(props: SpiritLevelIconProps) {\n return (\n <SharedWrapper iconId=\"spiritlevel\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Level Frame (Ruler block with two viewing ports/holes) */}\n <group>\n {/* Main Bar Chassis */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.74, 0.16, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Aluminum Edge Plates (Top and bottom metal bars) */}\n <mesh position={[0, 0.082, 0]} castShadow>\n <boxGeometry args={[0.744, 0.015, 0.066]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n <mesh position={[0, -0.082, 0]} castShadow>\n <boxGeometry args={[0.744, 0.015, 0.066]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Central Horizontal Level Vial (Green glowing cylinder) */}\n <group position={[0, 0, 0.01]}>\n {/* Vial glass tube */}\n <mesh castShadow rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.034, 0.034, 0.14, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#22c55e\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#22c55e\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Vial measurement lines */}\n <mesh position={[-0.03, 0, 0.015]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.036, 0.036, 0.005, 12]} />\n <meshBasicMaterial color=\"#1e293b\" />\n </mesh>\n <mesh position={[0.03, 0, 0.015]} rotation={[0, 0, Math.PI / 2]}>\n <cylinderGeometry args={[0.036, 0.036, 0.005, 12]} />\n <meshBasicMaterial color=\"#1e293b\" />\n </mesh>\n {/* Air Bubble (Tiny cylinder/sphere shifted slightly) */}\n <mesh position={[0.006, 0, 0.012]} castShadow>\n <sphereGeometry args={[0.018, 12, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#ffffff\" />\n </mesh>\n </group>\n\n {/* Vertical Level Vial (Plumb reading, X = -0.22) */}\n <group position={[-0.22, 0, 0.01]}>\n {/* Vial glass tube */}\n <mesh castShadow>\n <cylinderGeometry args={[0.034, 0.034, 0.09, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#22c55e\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#22c55e\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Air Bubble */}\n <mesh position={[0, -0.005, 0.012]} castShadow>\n <sphereGeometry args={[0.018, 12, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#ffffff\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SledgehammerIconProps } from \"./types\";\n\nexport function SledgehammerIcon(props: SledgehammerIconProps) {\n return (\n <SharedWrapper iconId=\"sledgehammer\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, -Math.PI / 6]} position={[0, 0, 0]}>\n \n {/* Main Heavy Sledgehammer Head */}\n <group position={[0, 0.22, 0]}>\n {/* Hammer Head Block */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.34, 0.16, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Beveled Octagonal End Cap Ring (Left face) */}\n <mesh position={[-0.17, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.02, 8]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#64748b\" : \"#475569\"}\n />\n </mesh>\n \n {/* Beveled Octagonal End Cap Ring (Right face) */}\n <mesh position={[0.17, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.02, 8]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#64748b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Glowing Accent Central Energy Core (Wrapping band) */}\n <mesh position={[0, 0, 0]} castShadow>\n <boxGeometry args={[0.08, 0.166, 0.166]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Steel Handle Collar (Connector sleeve right below head) */}\n <mesh position={[0, 0.1, 0]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.08, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Long Shaft Handle (Wooden or fiberglass post stretching down) */}\n <mesh position={[0, -0.16, 0]} castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.6, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Bottom Rubber Grip (End sleeve) */}\n <mesh position={[0, -0.38, 0]} castShadow>\n <cylinderGeometry args={[0.029, 0.029, 0.18, 16]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PhoneMobileIconProps } from \"./types\";\n\nexport function PhoneMobileIcon(props: PhoneMobileIconProps) {\n return (\n <SharedWrapper iconId=\"phonemobile\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Outer Phone Casing Chassis */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.42, 0.78, 0.035]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Front Screen Display (Glass panel inset) */}\n <mesh position={[0, 0, 0.018]} castShadow>\n <boxGeometry args={[0.38, 0.74, 0.006]} />\n <meshStandardMaterial\n roughness={0.05}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Front Camera Hole Punch notch */}\n <mesh position={[0, 0.33, 0.022]} castShadow>\n <sphereGeometry args={[0.012, 12, 12]} />\n <meshBasicMaterial color=\"#1e293b\" />\n </mesh>\n\n {/* Side Volume/Power Buttons (Small rectangular tabs) */}\n <mesh position={[0.215, 0.15, 0]} castShadow>\n <boxGeometry args={[0.01, 0.08, 0.018]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[0.215, 0.04, 0]} castShadow>\n <boxGeometry args={[0.01, 0.08, 0.018]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Smart Screen Desktop UI Accent Stripe (Glowing Accent) */}\n <mesh position={[0, -0.18, 0.02]} castShadow>\n <boxGeometry args={[0.24, 0.016, 0.008]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n <mesh position={[-0.1, -0.06, 0.02]} castShadow>\n <circleGeometry args={[0.038, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n <mesh position={[0.1, -0.06, 0.02]} castShadow>\n <circleGeometry args={[0.038, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TabletIconProps } from \"./types\";\n\nexport function TabletIcon(props: TabletIconProps) {\n return (\n <SharedWrapper iconId=\"tablet\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.15, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Tablet Bezel Casing */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.72, 0.54, 0.03]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Screen Display Face */}\n <mesh position={[0, 0, 0.015]} castShadow>\n <boxGeometry args={[0.66, 0.48, 0.006]} />\n <meshStandardMaterial\n roughness={0.06}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Front camera lens circle */}\n <mesh position={[0, 0.25, 0.018]} castShadow>\n <sphereGeometry args={[0.01, 12, 12]} />\n <meshBasicMaterial color=\"#1e293b\" />\n </mesh>\n\n {/* Glowing App Grid Widgets / Screen elements (Glowing Accent) */}\n <group position={[0, 0, 0.019]}>\n {/* Widget 1 */}\n <mesh position={[-0.18, 0.1, 0]} castShadow>\n <boxGeometry args={[0.2, 0.12, 0.002]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n \n {/* Widget 2 */}\n <mesh position={[0.16, 0.1, 0]} castShadow>\n <boxGeometry args={[0.24, 0.04, 0.002]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Widget 3 */}\n <mesh position={[0.16, 0.02, 0]} castShadow>\n <boxGeometry args={[0.24, 0.04, 0.002]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { LaptopIconProps } from \"./types\";\n\nexport function LaptopIcon(props: LaptopIconProps) {\n return (\n <SharedWrapper iconId=\"laptop\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.05]} position={[0, -0.08, 0]}>\n \n {/* Main Laptop Bottom Base (Keyboard deck) */}\n <mesh castShadow receiveShadow position={[0, 0, 0.04]}>\n <boxGeometry args={[0.74, 0.028, 0.52]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Keyboard Keys Layout Plate (Slightly raised, darker) */}\n <mesh position={[0, 0.016, 0.02]} castShadow>\n <boxGeometry args={[0.62, 0.01, 0.22]} />\n <meshStandardMaterial\n roughness={0.4}\n metalness={0.6}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Trackpad (Front center notch) */}\n <mesh position={[0, 0.016, 0.2]} castShadow>\n <boxGeometry args={[0.16, 0.006, 0.1]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Angled Display Screen Panel (Rises from the hinge at the back) */}\n <group position={[0, 0.01, -0.22]} rotation={[-Math.PI / 6, 0, 0]}>\n {/* Screen Lid Back Cover */}\n <mesh castShadow position={[0, 0.24, -0.01]}>\n <boxGeometry args={[0.74, 0.48, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Glowing Screen Face (Display Panel - Glowing Accent) */}\n <mesh position={[0, 0.24, 0.005]} castShadow>\n <boxGeometry args={[0.68, 0.42, 0.008]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Screen bezel details (Top camera dot) */}\n <mesh position={[0, 0.46, 0.01]}>\n <sphereGeometry args={[0.008, 8, 8]} />\n <meshBasicMaterial color=\"#1e293b\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SmartWatchIconProps } from \"./types\";\n\nexport function SmartWatchIcon(props: SmartWatchIconProps) {\n return (\n <SharedWrapper iconId=\"smartwatch\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Watch Body Case (Metal bezel) */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.36, 0.42, 0.07]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Curved Strap Bands (Top and bottom bands wrapping down) */}\n <group>\n {/* Top Strap */}\n <mesh position={[0, 0.32, -0.06]} rotation={[0.25, 0, 0]} castShadow>\n <boxGeometry args={[0.24, 0.28, 0.024]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#334155\" />\n </mesh>\n {/* Bottom Strap */}\n <mesh position={[0, -0.32, -0.06]} rotation={[-0.25, 0, 0]} castShadow>\n <boxGeometry args={[0.24, 0.28, 0.024]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* Front Screen Display (Black glass) */}\n <mesh position={[0, 0, 0.036]} castShadow>\n <boxGeometry args={[0.3, 0.36, 0.006]} />\n <meshStandardMaterial\n roughness={0.05}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Crown Rotating Dial Button (Right edge cylinder) */}\n <mesh position={[0.19, 0.04, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.04, 16]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Glowing Smart Interface Ring/Widgets (Activity Tracker Arc - Glowing Accent) */}\n <group position={[0, 0, 0.039]}>\n {/* Outer ring representation (Torus) */}\n <mesh castShadow>\n <torusGeometry args={[0.11, 0.016, 8, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Central glowing widget dot */}\n <mesh position={[0, 0.04, 0.005]}>\n <sphereGeometry args={[0.024, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RouterWifiIconProps } from \"./types\";\n\nexport function RouterWifiIcon(props: RouterWifiIconProps) {\n return (\n <SharedWrapper iconId=\"routerwifi\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.25, 0.05]} position={[0, -0.06, 0]}>\n \n {/* Main Router Casing Base */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.62, 0.09, 0.36]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Panel Trim (Dark slate plate) */}\n <mesh position={[0, 0.046, 0]} castShadow>\n <boxGeometry args={[0.56, 0.01, 0.3]} />\n <meshStandardMaterial\n roughness={0.4}\n metalness={0.6}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Left Vertical Antenna Rod */}\n <mesh position={[-0.24, 0.22, -0.14]} rotation={[0.08, 0, 0.05]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.38, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Right Vertical Antenna Rod */}\n <mesh position={[0.24, 0.22, -0.14]} rotation={[0.08, 0, -0.05]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.38, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Front Glowing LED Status Nodes (Glowing Accent) */}\n <group position={[0, -0.01, 0.182]}>\n {/* LED 1 */}\n <mesh position={[-0.15, 0, 0]}>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n {/* LED 2 */}\n <mesh position={[-0.05, 0, 0]}>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n {/* LED 3 */}\n <mesh position={[0.05, 0, 0]}>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n {/* LED 4 (Power state, glowing red/orange) */}\n <mesh position={[0.15, 0, 0]}>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial color=\"#f97316\" emissive=\"#f97316\" emissiveIntensity={1.1} />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ServerRackIconProps } from \"./types\";\n\nexport function ServerRackIcon(props: ServerRackIconProps) {\n const slots = [-0.2, 0, 0.2];\n\n return (\n <SharedWrapper iconId=\"serverrack\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Server Cabinet Chassis */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.54, 0.74, 0.44]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Cabinet Top/Bottom Metal Plates (Structure rims) */}\n <mesh position={[0, 0.375, 0]} castShadow>\n <boxGeometry args={[0.55, 0.02, 0.45]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#475569\" />\n </mesh>\n <mesh position={[0, -0.375, 0]} castShadow>\n <boxGeometry args={[0.55, 0.02, 0.45]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#475569\" />\n </mesh>\n\n {/* Individual Server Nodes (Drawers stacked vertically) */}\n {slots.map((yOffset, index) => (\n <group key={index} position={[0, yOffset, 0.02]}>\n {/* Server Face Plate (Inset dark slab) */}\n <mesh position={[0, 0, 0.205]} castShadow>\n <boxGeometry args={[0.46, 0.14, 0.01]} />\n <meshStandardMaterial\n roughness={0.3}\n metalness={0.7}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#334155\"}\n />\n </mesh>\n\n {/* Horizontal Metal Grab Handles */}\n <mesh position={[-0.14, 0, 0.212]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.08, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[0.14, 0, 0.212]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.08, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Server Status Indicator Lights (Glowing Accent) */}\n <group position={[0.02, 0, 0.212]}>\n <mesh position={[-0.04, 0, 0]}>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n <mesh position={[0, 0, 0]}>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n <mesh position={[0.04, 0, 0]}>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n </group>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HardDriveExternalIconProps } from \"./types\";\n\nexport function HardDriveExternalIcon(props: HardDriveExternalIconProps) {\n return (\n <SharedWrapper iconId=\"harddriveexternal\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Portable Hard Drive Case */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.38, 0.58, 0.07]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Protective Rubber Side Bumpers (Corner protection sleeves) */}\n <mesh position={[-0.19, 0, 0]} castShadow>\n <boxGeometry args={[0.015, 0.54, 0.08]} />\n <meshStandardMaterial roughness={0.7} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n <mesh position={[0.19, 0, 0]} castShadow>\n <boxGeometry args={[0.015, 0.54, 0.08]} />\n <meshStandardMaterial roughness={0.7} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n\n {/* USB Type-C Connection Port (Bottom cutout) */}\n <mesh position={[0, -0.29, 0]} castShadow>\n <boxGeometry args={[0.08, 0.012, 0.03]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#475569\" />\n </mesh>\n\n {/* Front Face Textures (Cool hardware heat sink stripes) */}\n <group position={[0, 0.04, 0.036]}>\n <mesh position={[0, 0.08, 0]}>\n <boxGeometry args={[0.26, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.5} metalness={0.5} color=\"#475569\" />\n </mesh>\n <mesh position={[0, 0.02, 0]}>\n <boxGeometry args={[0.26, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.5} metalness={0.5} color=\"#475569\" />\n </mesh>\n <mesh position={[0, -0.04, 0]}>\n <boxGeometry args={[0.26, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.5} metalness={0.5} color=\"#475569\" />\n </mesh>\n </group>\n\n {/* Glowing Status LED Bar (Horizontal line at the top - Glowing Accent) */}\n <mesh position={[0, 0.22, 0.036]} castShadow>\n <boxGeometry args={[0.18, 0.016, 0.006]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WebcamIconProps } from \"./types\";\n\nexport function WebcamIcon(props: WebcamIconProps) {\n return (\n <SharedWrapper iconId=\"webcam\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Spherical Camera Head */}\n <mesh castShadow receiveShadow position={[0, 0.1, 0]}>\n <sphereGeometry args={[0.22, 32, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Camera Lens Bezel Ring (Front protruding cylinder) */}\n <mesh position={[0, 0.1, 0.16]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.11, 0.11, 0.08, 24]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#475569\" : \"#64748b\"}\n />\n </mesh>\n\n {/* Inner Glass Lens Aperture (Dark concentric circle) */}\n <mesh position={[0, 0.1, 0.202]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.01, 24]} />\n <meshStandardMaterial roughness={0.02} metalness={0.95} color=\"#0f172a\" />\n </mesh>\n\n {/* Neck Spindle Joint (Small vertical connector cylinder) */}\n <mesh position={[0, -0.1, 0]} castShadow>\n <cylinderGeometry args={[0.034, 0.034, 0.1, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Desktop Clamp Base Mount (Folded hinge support) */}\n <group position={[0, -0.22, 0]}>\n {/* Top base plate */}\n <mesh castShadow>\n <boxGeometry args={[0.26, 0.06, 0.18]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Lower clamp leg */}\n <mesh position={[0, -0.06, -0.06]} castShadow>\n <boxGeometry args={[0.26, 0.12, 0.04]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* Glowing Status Indicator Ring around the Lens (Glowing Accent) */}\n <mesh position={[0, 0.1, 0.203]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.09, 0.008, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ChiselIconProps } from \"./types\";\n\nexport function ChiselIcon(props: ChiselIconProps) {\n return (\n <SharedWrapper iconId=\"chisel\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, -Math.PI / 6]} position={[0, 0, 0]}>\n \n {/* Wooden/Plastic Handle */}\n <mesh castShadow receiveShadow position={[0, 0.16, 0]}>\n <cylinderGeometry args={[0.038, 0.038, 0.28, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Metal Strike Cap (End plate) */}\n <mesh position={[0, 0.3, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.02, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Steel Bolster Collar (Between handle and blade - Glowing Accent) */}\n <mesh position={[0, 0.01, 0]} castShadow>\n <cylinderGeometry args={[0.034, 0.034, 0.04, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Chisel Steel Tang/Neck */}\n <mesh position={[0, -0.04, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.08, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Extruded Beveled Chisel Blade */}\n <group position={[0, -0.22, 0]}>\n {/* Main Flat Blade */}\n <mesh castShadow>\n <boxGeometry args={[0.08, 0.28, 0.016]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Beveled cutting edge (Tip) */}\n <mesh position={[0, -0.15, 0.004]} rotation={[-0.3, 0, 0]} castShadow>\n <boxGeometry args={[0.08, 0.03, 0.008]} />\n <meshStandardMaterial roughness={0.08} metalness={0.95} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CrowbarIconProps } from \"./types\";\n\nexport function CrowbarIcon(props: CrowbarIconProps) {\n return (\n <SharedWrapper iconId=\"crowbar\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, -Math.PI / 8]} position={[0, 0, 0]}>\n \n {/* Main Hexagonal Steel Shaft */}\n <mesh castShadow receiveShadow position={[-0.04, -0.04, 0]}>\n <cylinderGeometry args={[0.018, 0.018, 0.54, 6]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Top Hook/Claw Curve (Half torus) */}\n <group position={[-0.1, 0.22, 0]}>\n <mesh castShadow rotation={[0, 0, Math.PI / 6]}>\n <torusGeometry args={[0.08, 0.018, 8, 16, Math.PI * 0.9]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Split prying claw tip (Glowing Accent) */}\n <mesh position={[-0.06, -0.05, 0]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <boxGeometry args={[0.038, 0.07, 0.018]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Bottom Angled Chisel Wedge Tip */}\n <mesh position={[-0.04, -0.32, 0]} rotation={[0, 0, 0.15]} castShadow>\n <coneGeometry args={[0.024, 0.06, 6]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FunnelIconProps } from \"./types\";\n\nexport function FunnelIcon(props: FunnelIconProps) {\n return (\n <SharedWrapper iconId=\"funnel\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.25, 0.05]} position={[0, 0.05, 0]}>\n \n {/* Main Upper Funnel Cone (Hollowed cone style representation) */}\n <group position={[0, 0.1, 0]}>\n {/* Outer Cone */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.28, 0.08, 0.24, 32, 1, true]} />\n <meshPhysicalMaterial\n side={2} // DoubleSide for inside rendering\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Inner fluid level plate (Glowing Accent) */}\n <mesh position={[0, -0.04, 0]}>\n <cylinderGeometry args={[0.14, 0.14, 0.01, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Top Rim Collar (Metal band) */}\n <mesh position={[0, 0.12, 0]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.282, 0.015, 8, 32]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n </group>\n\n {/* Lower Stem Spout (Outlet cylinder) */}\n <mesh castShadow position={[0, -0.12, 0]}>\n <cylinderGeometry args={[0.045, 0.038, 0.22, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Suspended Fluid Droplet at Stem Base (Glowing Accent) */}\n <mesh position={[0, -0.27, 0]} castShadow>\n <sphereGeometry args={[0.026, 16, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n\n {/* Rim Hanger Tab (Small loop ring on side) */}\n <mesh position={[0.29, 0.22, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <torusGeometry args={[0.03, 0.008, 6, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { OilCanIconProps } from \"./types\";\n\nexport function OilCanIcon(props: OilCanIconProps) {\n return (\n <SharedWrapper iconId=\"oilcan\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.05]} position={[0, -0.02, 0]}>\n \n {/* Main Can Oil Reservoir Body */}\n <group position={[0, -0.06, 0]}>\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.22, 0.22, 0.32, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Base Rim Plate (Dark trim) */}\n <mesh position={[0, -0.165, 0]}>\n <cylinderGeometry args={[0.224, 0.224, 0.015, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#334155\" />\n </mesh>\n {/* Top Dome Cap */}\n <mesh position={[0, 0.16, 0]} castShadow>\n <sphereGeometry args={[0.22, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Long Slanted Oil Spout Pipe (Angled up-right) */}\n <group position={[0.08, 0.18, 0]} rotation={[0, 0, -0.45]}>\n <mesh castShadow position={[0, 0.18, 0]}>\n <cylinderGeometry args={[0.015, 0.022, 0.34, 12]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Glowing Oil Droplet at Spout Nozzle Tip (Glowing Accent) */}\n <mesh position={[0, 0.36, 0]} castShadow>\n <sphereGeometry args={[0.024, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n\n {/* Back Carrying Loop Handle */}\n <mesh position={[-0.24, -0.06, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <torusGeometry args={[0.13, 0.02, 8, 16, Math.PI]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#475569\" />\n </mesh>\n\n {/* Thumb Pump Trigger Lever (Glowing Accent) */}\n <mesh position={[-0.12, 0.14, 0]} rotation={[0, 0, 0.55]} castShadow>\n <boxGeometry args={[0.16, 0.02, 0.04]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BearingIconProps } from \"./types\";\n\nexport function BearingIcon(props: BearingIconProps) {\n const ballCount = 8;\n const radius = 0.22;\n\n return (\n <SharedWrapper iconId=\"bearing\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.15, 0.05]} position={[0, 0, 0]}>\n \n {/* Outer Bearing Ring (Thick boundary collar) */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.31, 0.038, 8, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Inner Bearing Ring (Concentric central collar - Glowing Accent) */}\n <mesh castShadow position={[0, 0, 0]}>\n <torusGeometry args={[0.13, 0.026, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Central Mount Shaft Hole (Metal sleeve) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.104, 0.104, 0.08, 24]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Steel Balls Array (Nested in the track channel) */}\n <group>\n {Array.from({ length: ballCount }).map((_, index) => {\n const angle = (index * 2 * Math.PI) / ballCount;\n const xPos = radius * Math.cos(angle);\n const yPos = radius * Math.sin(angle);\n return (\n <mesh key={index} position={[xPos, yPos, 0]} castShadow>\n <sphereGeometry args={[0.046, 16, 16]} />\n <meshStandardMaterial\n roughness={0.05}\n metalness={0.95}\n color={props.theme === \"dark\" ? \"#f1f5f9\" : \"#cbd5e1\"}\n />\n </mesh>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PulleyIconProps } from \"./types\";\n\nexport function PulleyIcon(props: PulleyIconProps) {\n return (\n <SharedWrapper iconId=\"pulley\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main U-Frame Bracket Holder */}\n <group position={[0, 0.08, 0]}>\n {/* Top mounting block */}\n <mesh castShadow>\n <boxGeometry args={[0.28, 0.06, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Left bracket plate */}\n <mesh position={[-0.13, -0.16, 0]} castShadow>\n <boxGeometry args={[0.02, 0.36, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Right bracket plate */}\n <mesh position={[0.13, -0.16, 0]} castShadow>\n <boxGeometry args={[0.02, 0.36, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Top eyelet ring */}\n <mesh position={[0, 0.07, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.06, 0.016, 8, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Central Grooved Pulley Wheel (Cylinder + concentric outer rings) */}\n <group position={[0, -0.08, 0]}>\n {/* Core disk */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow receiveShadow>\n <cylinderGeometry args={[0.18, 0.18, 0.14, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n {/* Rim boundaries to form the groove channel */}\n <mesh position={[-0.07, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <torusGeometry args={[0.19, 0.012, 8, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[0.07, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <torusGeometry args={[0.19, 0.012, 8, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Accent Central Axle Pin (Glowing Accent) */}\n <mesh position={[0, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.042, 0.042, 0.3, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Cable / Rope segment crossing over the top of the wheel */}\n <mesh position={[0, -0.06, 0.22]} rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.44, 12]} />\n <meshStandardMaterial roughness={0.85} metalness={0.1} color=\"#d1d5db\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SprocketIconProps } from \"./types\";\n\nexport function SprocketIcon(props: SprocketIconProps) {\n const toothCount = 14;\n const radius = 0.28;\n\n return (\n <SharedWrapper iconId=\"sprocket\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Sprocket Disk Wheel */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.26, 0.26, 0.04, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Central Bore Shaft Hole (Chrome border ring) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.05, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Concentric Track Ring (Glowing Accent) */}\n <mesh position={[0, 0, 0.021]} castShadow>\n <torusGeometry args={[0.16, 0.012, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Individual Pointy/Beveled Sprocket Teeth */}\n <group>\n {Array.from({ length: toothCount }).map((_, index) => {\n const angle = (index * 2 * Math.PI) / toothCount;\n const xPos = radius * Math.cos(angle);\n const yPos = radius * Math.sin(angle);\n return (\n <mesh\n key={index}\n position={[xPos, yPos, 0]}\n rotation={[0, 0, angle + Math.PI / 2]}\n castShadow\n >\n <coneGeometry args={[0.038, 0.07, 4]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ProjectorIconProps } from \"./types\";\n\nexport function ProjectorIcon(props: ProjectorIconProps) {\n return (\n <SharedWrapper iconId=\"projector\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.25, 0.05]} position={[0, -0.04, 0]}>\n \n {/* Main Projector Body Cabinet */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.58, 0.22, 0.44]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Support Feet (Small cylinders) */}\n <mesh position={[-0.24, -0.12, 0.16]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.03, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n <mesh position={[0.24, -0.12, 0.16]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.03, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n <mesh position={[0, -0.12, -0.16]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.03, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n\n {/* Large Concentric Projector Lens (Protruding forward on the right, Z = 0.22) */}\n <group position={[0.14, 0.02, 0.22]}>\n {/* Outer Lens Sleeve */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.11, 0.11, 0.08, 24]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n {/* Inner Lens Aperture glass */}\n <mesh position={[0, 0, 0.042]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.075, 0.075, 0.01, 24]} />\n <meshStandardMaterial roughness={0.02} metalness={0.95} color=\"#0f172a\" />\n </mesh>\n\n {/* Glowing Lens Ring (Glowing Accent) */}\n <mesh position={[0, 0, 0.043]} rotation={[Math.PI / 2, 0, 0]}>\n <torusGeometry args={[0.09, 0.008, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n\n {/* Rear Cooling Vents (Linear slats on back-left) */}\n <group position={[-0.18, 0.02, -0.224]}>\n <mesh position={[0, 0.04, 0]}>\n <boxGeometry args={[0.16, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.5} metalness={0.5} color=\"#334155\" />\n </mesh>\n <mesh position={[0, 0, 0]}>\n <boxGeometry args={[0.16, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.5} metalness={0.5} color=\"#334155\" />\n </mesh>\n <mesh position={[0, -0.04, 0]}>\n <boxGeometry args={[0.16, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.5} metalness={0.5} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* Top Panel Buttons grid */}\n <group position={[-0.16, 0.112, 0.06]}>\n <mesh position={[-0.04, 0, 0]}>\n <sphereGeometry args={[0.015, 12, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#94a3b8\" />\n </mesh>\n <mesh position={[0.04, 0, 0]}>\n <sphereGeometry args={[0.015, 12, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GameConsoleIconProps } from \"./types\";\n\nexport function GameConsoleIcon(props: GameConsoleIconProps) {\n return (\n <SharedWrapper iconId=\"gameconsole\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Core Tower Structure (Upright) */}\n <mesh castShadow receiveShadow position={[0, 0.04, 0]}>\n <boxGeometry args={[0.12, 0.68, 0.4]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Wing Shell Plate (White or styled side panels) */}\n <mesh position={[-0.075, 0.04, 0.01]} rotation={[0, 0, -0.015]} castShadow>\n <boxGeometry args={[0.02, 0.7, 0.42]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Right Wing Shell Plate (Slightly offset) */}\n <mesh position={[0.075, 0.04, 0.01]} rotation={[0, 0, 0.015]} castShadow>\n <boxGeometry args={[0.02, 0.7, 0.42]} />\n <meshStandardMaterial\n roughness={0.15}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#cbd5e1\" : \"#475569\"}\n />\n </mesh>\n\n {/* Bottom Stand Mount (Flat circular base plate) */}\n <mesh position={[0, -0.31, 0.01]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.18, 0.22, 0.024, 32]} />\n <meshStandardMaterial roughness={0.5} metalness={0.5} color=\"#1e293b\" />\n </mesh>\n\n {/* Disc Drive Slot (Fine black vertical box on front edge) */}\n <mesh position={[0.04, 0.05, 0.202]} castShadow>\n <boxGeometry args={[0.008, 0.38, 0.008]} />\n <meshBasicMaterial color=\"#0f172a\" />\n </mesh>\n\n {/* Glowing Status Light Strip (Vertical stripe down the front core - Glowing Accent) */}\n <mesh position={[0, 0.05, 0.202]} castShadow>\n <boxGeometry args={[0.012, 0.52, 0.005]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { VRHeadsetIconProps } from \"./types\";\n\nexport function VRHeadsetIcon(props: VRHeadsetIconProps) {\n return (\n <SharedWrapper iconId=\"vrheadset\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Front Visor Goggles Box */}\n <mesh castShadow receiveShadow position={[0, 0, 0.08]}>\n <boxGeometry args={[0.52, 0.28, 0.22]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Front Visor Gloss Shield (Faceplate overlay) */}\n <mesh position={[0, 0, 0.192]} castShadow>\n <boxGeometry args={[0.48, 0.24, 0.01]} />\n <meshStandardMaterial\n roughness={0.02}\n metalness={0.9}\n color={props.theme === \"dark\" ? \"#0f172a\" : \"#cbd5e1\"}\n />\n </mesh>\n\n {/* Glowing Status Light Strip (Horizon visor accent - Glowing Accent) */}\n <mesh position={[0, 0, 0.198]} castShadow>\n <boxGeometry args={[0.34, 0.016, 0.006]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Soft Cushion Face Gasket (Dark backing seal) */}\n <mesh position={[0, 0, -0.04]} castShadow>\n <boxGeometry args={[0.53, 0.29, 0.03]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n\n {/* Rigid Head Strap (Sides wrapping to back, simulated with torus) */}\n <group position={[0, 0, -0.2]}>\n {/* Side strap left */}\n <mesh position={[-0.26, 0, 0.06]} rotation={[0, -0.1, 0]} castShadow>\n <boxGeometry args={[0.018, 0.06, 0.24]} />\n <meshStandardMaterial roughness={0.7} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Side strap right */}\n <mesh position={[0.26, 0, 0.06]} rotation={[0, 0.1, 0]} castShadow>\n <boxGeometry args={[0.018, 0.06, 0.24]} />\n <meshStandardMaterial roughness={0.7} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Back strap ring */}\n <mesh position={[0, 0, -0.06]} castShadow>\n <boxGeometry args={[0.24, 0.06, 0.018]} />\n <meshStandardMaterial roughness={0.7} metalness={0.2} color=\"#334155\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SmartSpeakerIconProps } from \"./types\";\n\nexport function SmartSpeakerIcon(props: SmartSpeakerIconProps) {\n return (\n <SharedWrapper iconId=\"smartspeaker\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Speaker Mesh Cabinet (Cylinder) */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.2, 0.2, 0.46, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Bottom Stand Rim (Rubber pad) */}\n <mesh position={[0, -0.235, 0]}>\n <cylinderGeometry args={[0.204, 0.204, 0.015, 24]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n\n {/* Top Matte Controls Deck (Cap plate) */}\n <mesh position={[0, 0.23, 0]} castShadow>\n <cylinderGeometry args={[0.19, 0.19, 0.01, 24]} />\n <meshStandardMaterial\n roughness={0.4}\n metalness={0.6}\n color={props.theme === \"dark\" ? \"#1e293b\" : \"#475569\"}\n />\n </mesh>\n\n {/* Voice Assistant Glowing Ring (On top of controls deck - Glowing Accent) */}\n <mesh position={[0, 0.236, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.11, 0.014, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n\n {/* Central Button Dot on top deck */}\n <mesh position={[0, 0.236, 0]} castShadow>\n <sphereGeometry args={[0.018, 12, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PowerBankIconProps } from \"./types\";\n\nexport function PowerBankIcon(props: PowerBankIconProps) {\n return (\n <SharedWrapper iconId=\"powerbank\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Power Bank Charger Brick */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.34, 0.6, 0.07]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Aluminium Side Edge Trim (Metal framing sheet) */}\n <mesh position={[0, 0, -0.036]} castShadow>\n <boxGeometry args={[0.344, 0.604, 0.01]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* USB Ports on the top face (X-axis slots, Y = 0.3) */}\n <group position={[0, 0.301, 0]} rotation={[0, 0, 0]}>\n {/* USB-A port cutout */}\n <mesh position={[-0.08, 0, 0]} castShadow>\n <boxGeometry args={[0.08, 0.008, 0.026]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#1e293b\" />\n </mesh>\n {/* USB-C port cutout */}\n <mesh position={[0.08, 0, 0]} castShadow>\n <boxGeometry args={[0.06, 0.008, 0.016]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#1e293b\" />\n </mesh>\n </group>\n\n {/* Four Small Battery Level LED Indicators (Glowing Accent) */}\n <group position={[0, 0.18, 0.036]}>\n {/* LED 1 */}\n <mesh position={[-0.09, 0, 0]}>\n <sphereGeometry args={[0.01, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n {/* LED 2 */}\n <mesh position={[-0.03, 0, 0]}>\n <sphereGeometry args={[0.01, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n {/* LED 3 */}\n <mesh position={[0.03, 0, 0]}>\n <sphereGeometry args={[0.01, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n {/* LED 4 (Empty/Unlit status dot) */}\n <mesh position={[0.09, 0, 0]}>\n <sphereGeometry args={[0.01, 8, 8]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#475569\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { UsbDriveIconProps } from \"./types\";\n\nexport function UsbDriveIcon(props: UsbDriveIconProps) {\n return (\n <SharedWrapper iconId=\"usbdrive\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.2, 0.1]} position={[0, -0.04, 0]}>\n \n {/* Main Flash Drive Plastic Body Case */}\n <mesh castShadow receiveShadow position={[0, -0.06, 0]}>\n <boxGeometry args={[0.2, 0.42, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Metal USB Plug Nose (Steel connector extending up) */}\n <group position={[0, 0.22, 0]}>\n <mesh castShadow>\n <boxGeometry args={[0.13, 0.16, 0.05]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* USB Terminal holes details */}\n <mesh position={[-0.03, 0.04, 0.026]}>\n <boxGeometry args={[0.02, 0.024, 0.005]} />\n <meshBasicMaterial color=\"#0f172a\" />\n </mesh>\n <mesh position={[0.03, 0.04, 0.026]}>\n <boxGeometry args={[0.02, 0.024, 0.005]} />\n <meshBasicMaterial color=\"#0f172a\" />\n </mesh>\n\n {/* Golden contact pads inside the plug */}\n <mesh position={[0, -0.04, 0.026]}>\n <boxGeometry args={[0.08, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n </group>\n\n {/* Glowing Keyring Strap Loop at the bottom (Glowing Accent) */}\n <mesh position={[0, -0.3, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.06, 0.016, 8, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Tiny LED activity status light */}\n <mesh position={[0, -0.16, 0.041]} castShadow>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { MotherboardIconProps } from \"./types\";\n\nexport function MotherboardIcon(props: MotherboardIconProps) {\n return (\n <SharedWrapper iconId=\"motherboard\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Main PCB Substrate Plate */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.68, 0.68, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Central CPU Socket (Raised square bezel) */}\n <group position={[-0.12, 0.12, 0.015]}>\n <mesh castShadow>\n <boxGeometry args={[0.2, 0.2, 0.025]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#1e293b\" />\n </mesh>\n {/* CPU Socket Center Core (Glowing Accent) */}\n <mesh position={[0, 0, 0.014]} castShadow>\n <boxGeometry args={[0.12, 0.12, 0.008]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Memory RAM DIMM Slots (Two vertical bars to the right of CPU) */}\n <group position={[0.16, 0.12, 0.015]}>\n {/* Slot 1 */}\n <mesh position={[-0.04, 0, 0]} castShadow>\n <boxGeometry args={[0.025, 0.26, 0.024]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#334155\" />\n </mesh>\n {/* Slot 2 */}\n <mesh position={[0.04, 0, 0]} castShadow>\n <boxGeometry args={[0.025, 0.26, 0.024]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* PCI Express Slots (Two horizontal lanes at the bottom) */}\n <group position={[-0.04, -0.18, 0.015]}>\n {/* PCIe lane 1 */}\n <mesh position={[0, 0.06, 0]} castShadow>\n <boxGeometry args={[0.42, 0.024, 0.024]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#475569\" />\n </mesh>\n {/* PCIe lane 2 */}\n <mesh position={[0, -0.06, 0]} castShadow>\n <boxGeometry args={[0.42, 0.024, 0.024]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#475569\" />\n </mesh>\n </group>\n\n {/* Sundry Motherboard Capacitors & Chip Cylinders (Tiny metal cans) */}\n <group position={[-0.2, -0.02, 0.015]}>\n <mesh position={[0, 0, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.025, 0.025, 0.05, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[0.06, -0.04, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.025, 0.025, 0.05, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[0.04, 0.06, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.04, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Chipset Heatsink Block (Dark chrome fin details) */}\n <mesh position={[0.18, -0.16, 0.02]} castShadow>\n <boxGeometry args={[0.12, 0.12, 0.035]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#1e293b\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RamStickIconProps } from \"./types\";\n\nexport function RamStickIcon(props: RamStickIconProps) {\n const chips = [-0.22, -0.07, 0.08, 0.23];\n\n return (\n <SharedWrapper iconId=\"ramstick\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.2, 0.1]} position={[0, 0, 0]}>\n \n {/* Main PCB Memory Module Board */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.74, 0.22, 0.02]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Golden Pin Connectors (Bottom strip border) */}\n <mesh position={[0, -0.104, 0.011]} castShadow>\n <boxGeometry args={[0.72, 0.015, 0.005]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#d4af37\" />\n </mesh>\n\n {/* Row of DRAM Memory Chips (Rectangular black chips) */}\n {chips.map((xOffset, index) => (\n <mesh key={index} position={[xOffset, -0.01, 0.015]} castShadow>\n <boxGeometry args={[0.08, 0.12, 0.012]} />\n <meshStandardMaterial roughness={0.4} metalness={0.4} color=\"#1e293b\" />\n </mesh>\n ))}\n\n {/* Heat Spreader Protective Armor (Metal brackets on sides) */}\n <mesh position={[0, 0, 0.01]} castShadow>\n <boxGeometry args={[0.742, 0.16, 0.008]} />\n <meshStandardMaterial\n roughness={0.2}\n metalness={0.8}\n color={props.theme === \"dark\" ? \"#475569\" : \"#64748b\"}\n />\n </mesh>\n\n {/* Glowing RGB Light Bar (Top edge diffuser line - Glowing Accent) */}\n <mesh position={[0, 0.094, 0.012]} castShadow>\n <boxGeometry args={[0.724, 0.02, 0.008]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CrankIconProps } from \"./types\";\n\nexport function CrankIcon(props: CrankIconProps) {\n return (\n <SharedWrapper iconId=\"crank\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.4, 0.1]} position={[0, 0, 0]}>\n \n {/* Main Central Pivot Axle */}\n <mesh castShadow receiveShadow position={[0, 0, -0.06]} rotation={[0, 0, 0]}>\n <cylinderGeometry args={[0.04, 0.04, 0.12, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Axle Accent Collar */}\n <mesh position={[0, 0, -0.01]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.02, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Primary Offset Web/Arm */}\n <group position={[0, 0, 0]}>\n {/* Flat Crank Arm bar */}\n <mesh castShadow position={[0, 0.11, 0.02]}>\n <boxGeometry args={[0.06, 0.28, 0.03]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Pivot Counterweight (Circular disc on axle end) */}\n <mesh castShadow position={[0, 0, 0.02]} rotation={[Math.PI / 2, 0, 0]}>\n <cylinderGeometry args={[0.07, 0.07, 0.03, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Off-Center Crank Pin */}\n <mesh castShadow position={[0, 0.22, 0.06]} rotation={[0, 0, 0]}>\n <cylinderGeometry args={[0.025, 0.025, 0.08, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Handle Grip (Rotatable sleeve mounted on crank pin) */}\n <mesh castShadow position={[0, 0.22, 0.13]} rotation={[0, 0, 0]}>\n <cylinderGeometry args={[0.038, 0.038, 0.1, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Accent Cap on Grip tip */}\n <mesh position={[0, 0.22, 0.185]} castShadow>\n <sphereGeometry args={[0.038, 16, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CamshaftIconProps } from \"./types\";\n\nexport function CamshaftIcon(props: CamshaftIconProps) {\n const lobes = [\n { pos: -0.18, rot: 0 },\n { pos: -0.06, rot: Math.PI / 2 },\n { pos: 0.06, rot: Math.PI },\n { pos: 0.18, rot: -Math.PI / 2 }\n ];\n\n return (\n <SharedWrapper iconId=\"camshaft\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.4, 0.4]} position={[0, 0, 0]}>\n \n {/* Central Camshaft Rod (Main core shaft) */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow receiveShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.54, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Core Support Journals (Thicker steel guides) */}\n {[-0.24, 0, 0.24].map((zPos, idx) => (\n <mesh key={idx} position={[zPos, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.03, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n ))}\n\n {/* Drive Gear end pulley (Glowing Accent disk) */}\n <group position={[-0.27, 0, 0]}>\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.068, 0.068, 0.024, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n <mesh rotation={[0, 0, Math.PI / 2]} position={[-0.005, 0, 0]} castShadow>\n <cylinderGeometry args={[0.052, 0.052, 0.026, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* End Nut lock pin */}\n <mesh position={[0.275, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.03, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#64748b\" />\n </mesh>\n\n {/* Cam Lobes (Eccentric oval shapes) */}\n {lobes.map((lobe, index) => (\n <group key={index} position={[lobe.pos, 0, 0]} rotation={[lobe.rot, 0, 0]}>\n {/* Concentric base circle */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.036, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Eccentric lobe nose (Offset egg-shaped box) */}\n <mesh position={[0, 0.024, 0]} rotation={[0, 0, 0]} castShadow>\n <boxGeometry args={[0.036, 0.048, 0.046]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Lobe center alignment pin (accent color) */}\n <mesh position={[0, 0.048, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.006, 0.006, 0.04, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DriveShaftIconProps } from \"./types\";\n\nexport function DriveShaftIcon(props: DriveShaftIconProps) {\n return (\n <SharedWrapper iconId=\"driveshaft\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.4, 0.4]} position={[0, 0, 0]}>\n \n {/* Main Central Tube (Drive shaft tube) */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow receiveShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.38, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Central Shaft Weld Yokes (Steel collars at ends of tube) */}\n {[-0.19, 0.19].map((xPos, idx) => (\n <mesh key={idx} position={[xPos, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.044, 0.044, 0.03, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n ))}\n\n {/* Double Universal Joints (U-Joints) */}\n \n {/* Left U-Joint Assembly */}\n <group position={[-0.24, 0, 0]}>\n {/* Yoke Bracket A (attached to shaft) */}\n <group rotation={[0, 0, 0]}>\n <mesh position={[-0.016, 0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[-0.016, -0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Glowing Spider Cross (accent colored center pivot) */}\n <group>\n {/* Vertical spider pin */}\n <mesh rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.076, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Horizontal spider pin */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.076, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Yoke Bracket B (attached to transmission end) */}\n <group rotation={[Math.PI / 2, 0, 0]}>\n <mesh position={[-0.042, 0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#64748b\" />\n </mesh>\n <mesh position={[-0.042, -0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#64748b\" />\n </mesh>\n </group>\n\n {/* Left Splined Stub Shaft */}\n <mesh position={[-0.07, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.05, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#475569\" />\n </mesh>\n </group>\n\n {/* Right U-Joint Assembly */}\n <group position={[0.24, 0, 0]} rotation={[0, Math.PI / 2, 0]}>\n {/* Yoke Bracket A (attached to shaft) */}\n <group rotation={[0, 0, Math.PI / 2]}>\n <mesh position={[-0.016, 0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[-0.016, -0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Glowing Spider Cross (accent colored center pivot) */}\n <group>\n {/* Vertical spider pin */}\n <mesh rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.076, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Horizontal spider pin */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.076, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Yoke Bracket B (attached to differential end) */}\n <group rotation={[Math.PI / 2, 0, Math.PI / 2]}>\n <mesh position={[-0.042, 0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#64748b\" />\n </mesh>\n <mesh position={[-0.042, -0.03, 0]} castShadow>\n <boxGeometry args={[0.03, 0.014, 0.038]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#64748b\" />\n </mesh>\n </group>\n\n {/* Right Splined Stub Shaft */}\n <mesh position={[-0.07, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.05, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#475569\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ValveIconProps } from \"./types\";\n\nexport function ValveIcon(props: ValveIconProps) {\n const spokeCount = 4;\n\n return (\n <SharedWrapper iconId=\"valve\" {...props}>\n {(mat) => (\n <group rotation={[0.3, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Horizontal Water Pipe (T-junction pipe) */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow receiveShadow position={[0, -0.16, 0]}>\n <cylinderGeometry args={[0.06, 0.06, 0.44, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Pipe Connection Flanges (Thick collar rings at ends) */}\n {[-0.21, 0.21].map((xPos, idx) => (\n <mesh key={idx} rotation={[0, 0, Math.PI / 2]} position={[xPos, -0.16, 0]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.02, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#334155\" />\n </mesh>\n ))}\n\n {/* Vertical Bonnet Stem Pipe (Neck base) */}\n <mesh position={[0, -0.06, 0]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.18, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Hexagonal Bonnet Packing Nut */}\n <mesh position={[0, 0.03, 0]} rotation={[0, Math.PI / 6, 0]} castShadow>\n <cylinderGeometry args={[0.054, 0.054, 0.03, 6]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Golden Threaded Valve Stem Screw (Center spindle) */}\n <mesh position={[0, 0.12, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.18, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#eab308\" />\n </mesh>\n\n {/* Main Handwheel Controller */}\n <group position={[0, 0.16, 0]}>\n {/* Outer Wheel Rim */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.18, 0.022, 12, 36]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Concentric Glowing Accent Indicator Ring */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0.005, 0]} castShadow>\n <torusGeometry args={[0.11, 0.012, 8, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Wheel Spoke Ribs */}\n {Array.from({ length: spokeCount }).map((_, index) => {\n const angle = (index * 2 * Math.PI) / spokeCount;\n return (\n <mesh\n key={index}\n position={[0, 0, 0]}\n rotation={[0, angle, Math.PI / 2]}\n castShadow\n >\n <cylinderGeometry args={[0.014, 0.014, 0.36, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n );\n })}\n\n {/* Central Hex Nut cap */}\n <mesh position={[0, 0.015, 0]} rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.02, 6]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PropellerIconProps } from \"./types\";\n\nexport function PropellerIcon(props: PropellerIconProps) {\n const bladeCount = 3;\n\n return (\n <SharedWrapper iconId=\"propeller\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Rear Drive Shaft Adapter (Steel sleeve) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, -0.1]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.16, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Central Propeller Spinner Hub (Bulbous nose cone) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.08, 0.12, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Spherical Glowing Accent Nose Cap */}\n <mesh position={[0, 0, 0.06]} castShadow>\n <sphereGeometry args={[0.07, 24, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* 3 Twisted Propeller Blades */}\n <group>\n {Array.from({ length: bladeCount }).map((_, index) => {\n const angle = (index * 2 * Math.PI) / bladeCount;\n return (\n <group key={index} rotation={[0, 0, angle]}>\n {/* Blade assembly: rotated outward and pitched */}\n <mesh\n position={[0, 0.18, 0]}\n rotation={[-0.4, 0, 0]} // Twisted pitch angle\n castShadow\n >\n <boxGeometry args={[0.13, 0.24, 0.016]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n {/* Blade reinforce spine (accent colored root support) */}\n <mesh\n position={[0, 0.09, -0.01]}\n rotation={[0, 0, 0]}\n castShadow\n >\n <boxGeometry args={[0.038, 0.08, 0.012]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.5}\n />\n </mesh>\n </group>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HelicopterRotorIconProps } from \"./types\";\n\nexport function HelicopterRotorIcon(props: HelicopterRotorIconProps) {\n const bladeCount = 4;\n\n return (\n <SharedWrapper iconId=\"rotor\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Vertical Mast/Rotor Shaft */}\n <mesh castShadow receiveShadow position={[0, -0.06, 0]}>\n <cylinderGeometry args={[0.02, 0.02, 0.28, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Lower Control Swashplate assembly (Metal collars) */}\n <group position={[0, -0.08, 0]}>\n {/* Stationary swashplate ring */}\n <mesh castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.016, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#94a3b8\" />\n </mesh>\n {/* Rotating swashplate ring (Glowing Accent) */}\n <mesh position={[0, 0.014, 0]} castShadow>\n <cylinderGeometry args={[0.072, 0.072, 0.012, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Upper Pitch Control Scissors Links (Connecting rods) */}\n <group position={[0, -0.01, 0]}>\n <mesh position={[0.036, 0, 0]} rotation={[0, 0, 0.15]} castShadow>\n <cylinderGeometry args={[0.005, 0.005, 0.08, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n <mesh position={[-0.036, 0, 0]} rotation={[0, 0, -0.15]} castShadow>\n <cylinderGeometry args={[0.005, 0.005, 0.08, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Main Rotor Hub (Pitch housing on mast end) */}\n <mesh position={[0, 0.08, 0]} castShadow>\n <cylinderGeometry args={[0.058, 0.058, 0.06, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n <mesh position={[0, 0.11, 0]} castShadow>\n <sphereGeometry args={[0.058, 16, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* 4 Pitch Horns & Rotor Blades */}\n <group position={[0, 0.08, 0]}>\n {Array.from({ length: bladeCount }).map((_, index) => {\n const angle = (index * 2 * Math.PI) / bladeCount;\n return (\n <group key={index} rotation={[0, angle, 0]}>\n {/* Pitch Horn Grip extension */}\n <mesh position={[0.046, 0.012, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.014, 0.014, 0.04, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Glowing connector pin (Accent) */}\n <mesh position={[0.07, 0.016, 0]} castShadow>\n <sphereGeometry args={[0.014, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Aerodynamic Rotor Blade */}\n <mesh\n position={[0.22, 0.02, 0]}\n rotation={[0.06, 0, 0]} // Slight blade pitch twist\n castShadow\n >\n <boxGeometry args={[0.28, 0.008, 0.038]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n </group>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HydraulicJackIconProps } from \"./types\";\n\nexport function HydraulicJackIcon(props: HydraulicJackIconProps) {\n return (\n <SharedWrapper iconId=\"hydraulicjack\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Heavy Rectangular Base Plate */}\n <mesh castShadow position={[0, -0.22, 0]}>\n <boxGeometry args={[0.24, 0.04, 0.2]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#334155\" />\n </mesh>\n\n {/* Main Hydraulic Oil Reservoir Cylinder (Bottle) */}\n <mesh castShadow receiveShadow position={[0, -0.06, 0]}>\n <cylinderGeometry args={[0.076, 0.076, 0.28, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Base Collar Ring (Glowing Accent) */}\n <mesh position={[0, -0.19, 0]} castShadow>\n <cylinderGeometry args={[0.082, 0.082, 0.02, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Top Reservoir Cap Gland */}\n <mesh position={[0, 0.09, 0]} castShadow>\n <cylinderGeometry args={[0.064, 0.07, 0.03, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n\n {/* Extensible Steel Ram Piston (Telescoping rod) */}\n <mesh position={[0, 0.16, 0]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.16, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Top Contact Saddle (Grooved cap) */}\n <mesh position={[0, 0.245, 0]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.016, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#475569\" />\n </mesh>\n\n {/* Side Manual Pump Cylinder Unit */}\n <group position={[0.078, -0.08, 0.06]}>\n {/* Pump cylinder sleeve */}\n <mesh castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.18, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Pump piston rod */}\n <mesh position={[0, 0.08, 0]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.08, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n {/* Socket link arm (Hinged bracket) */}\n <mesh position={[0, 0.12, 0.016]} rotation={[0.4, 0, 0]} castShadow>\n <boxGeometry args={[0.016, 0.02, 0.068]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Handle socket sleeve (horizontal receiver) */}\n <mesh position={[0, 0.12, 0.046]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.014, 0.014, 0.06, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Base Release Valve Screw Knob */}\n <mesh position={[-0.07, -0.18, 0.07]} rotation={[Math.PI / 2, 0.5, 0]} castShadow>\n <cylinderGeometry args={[0.022, 0.022, 0.014, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GpuIconProps } from \"./types\";\n\nexport function GpuIcon(props: GpuIconProps) {\n const fans = [-0.15, 0, 0.15];\n const fanBladeCount = 7;\n\n return (\n <SharedWrapper iconId=\"gpu\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.15]} position={[0, 0, 0]}>\n \n {/* Main Shroud Outer Cover (Premium Matte Case) */}\n <mesh castShadow receiveShadow position={[0, 0.02, 0]}>\n <boxGeometry args={[0.48, 0.24, 0.076]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* PCIe Connection Strip (Golden pins at bottom) */}\n <mesh position={[0, -0.11, 0.01]} castShadow>\n <boxGeometry args={[0.34, 0.02, 0.01]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#eab308\" />\n </mesh>\n <mesh position={[0, -0.12, 0.01]} castShadow>\n <boxGeometry args={[0.34, 0.006, 0.016]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#065f46\" />\n </mesh>\n\n {/* Side Backplate / Ports Bracket (Left silver metal bracket) */}\n <mesh position={[-0.245, 0.02, 0.002]} castShadow>\n <boxGeometry args={[0.01, 0.26, 0.06]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#94a3b8\" />\n </mesh>\n {/* Port cutouts detailing */}\n {[-0.08, -0.01, 0.06].map((yPos, idx) => (\n <mesh key={idx} position={[-0.251, yPos + 0.02, 0]} castShadow>\n <boxGeometry args={[0.004, 0.022, 0.038]} />\n <meshStandardMaterial roughness={0.3} metalness={0.95} color=\"#1e293b\" />\n </mesh>\n ))}\n\n {/* Top RGB Glowing Accent Strip (Premium brand signature light) */}\n <mesh position={[0, 0.134, 0.022]} castShadow>\n <boxGeometry args={[0.42, 0.014, 0.014]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Triple Fans Array */}\n {fans.map((xPos, fanIdx) => (\n <group key={fanIdx} position={[xPos, 0.02, 0.036]}>\n {/* Circular Fan Rim recess */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.068, 0.068, 0.01, 24]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#1e293b\" />\n </mesh>\n {/* Fan Hub Center spinner */}\n <mesh position={[0, 0, 0.008]} castShadow>\n <sphereGeometry args={[0.022, 16, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#475569\" />\n </mesh>\n {/* Glowing logo badge on hub center */}\n <mesh position={[0, 0, 0.018]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.002, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Fan Blades */}\n <group>\n {Array.from({ length: fanBladeCount }).map((_, bladeIdx) => {\n const angle = (bladeIdx * 2 * Math.PI) / fanBladeCount;\n return (\n <mesh\n key={bladeIdx}\n position={[0, 0, 0.002]}\n rotation={[0, 0, angle + fanIdx * 0.4]} // Offset rotations for organic look\n castShadow\n >\n {/* Tilted blade plane */}\n <mesh position={[0, 0.036, 0]} rotation={[0.24, 0, 0]}>\n <boxGeometry args={[0.014, 0.046, 0.003]} />\n <meshStandardMaterial roughness={0.35} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n </mesh>\n );\n })}\n </group>\n </group>\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PowerSupplyIconProps } from \"./types\";\n\nexport function PowerSupplyIcon(props: PowerSupplyIconProps) {\n const cableCount = 6;\n const grilleSpokes = 8;\n\n return (\n <SharedWrapper iconId=\"powersupply\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.35, 0.1]} position={[0, 0, 0]}>\n \n {/* Main ATX Box Case (Power Supply Chassis) */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.32, 0.32, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Rear Power Input Wall AC Receptacle */}\n <group position={[-0.162, -0.06, 0.04]}>\n {/* Input plug housing */}\n <mesh castShadow>\n <boxGeometry args={[0.008, 0.06, 0.09]} />\n <meshStandardMaterial roughness={0.3} metalness={0.9} color=\"#1e293b\" />\n </mesh>\n {/* Three male brass connection pins */}\n {[-0.02, 0, 0.02].map((zOffset, idx) => (\n <mesh key={idx} position={[-0.012, idx === 1 ? 0.016 : -0.016, zOffset]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.005, 0.005, 0.02, 8]} />\n <meshStandardMaterial roughness={0.15} metalness={0.95} color=\"#eab308\" />\n </mesh>\n ))}\n </group>\n\n {/* Rear I/O Power Rocker Switch */}\n <group position={[-0.162, 0.06, 0.04]}>\n <mesh castShadow>\n <boxGeometry args={[0.008, 0.05, 0.03]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#0f172a\" />\n </mesh>\n {/* Red illuminated rocker switch (Glowing Accent) */}\n <mesh position={[-0.006, 0, 0]} castShadow>\n <boxGeometry args={[0.008, 0.034, 0.018]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Large Side Cooling Fan Cutout */}\n <group position={[0, 0, 0.141]}>\n {/* Dark background recess */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.114, 0.114, 0.004, 24]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n {/* Glowing Ring inside Fan Grille */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, -0.002]} castShadow>\n <torusGeometry args={[0.09, 0.006, 8, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n {/* Grille Outer Wire Frame Rim */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.004]} castShadow>\n <torusGeometry args={[0.11, 0.006, 8, 24]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.004]} castShadow>\n <torusGeometry args={[0.05, 0.005, 8, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Fan Grille Radial Wire Spokes */}\n {Array.from({ length: grilleSpokes }).map((_, index) => {\n const angle = (index * 2 * Math.PI) / grilleSpokes;\n return (\n <mesh\n key={index}\n position={[0, 0, 0.004]}\n rotation={[0, 0, angle]}\n castShadow\n >\n <mesh position={[0, 0.056, 0]}>\n <boxGeometry args={[0.006, 0.11, 0.003]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </mesh>\n );\n })}\n </group>\n\n {/* Front Braided Cable Exit Sleeve */}\n <group position={[0.161, -0.06, -0.04]}>\n {/* Black rubber grommet sleeve */}\n <mesh rotation={[0, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.02, 16]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#0f172a\" />\n </mesh>\n {/* Multi-colored bundled power cables curving outwards */}\n {Array.from({ length: cableCount }).map((_, idx) => {\n const angle = (idx * 2 * Math.PI) / cableCount;\n const yOffset = 0.022 * Math.cos(angle);\n const zOffset = 0.022 * Math.sin(angle);\n // Alternate cable colors: red, yellow, orange, black\n const colors = [\"#ef4444\", \"#fbbf24\", \"#f97316\", \"#1e293b\"];\n const cableColor = colors[idx % colors.length];\n return (\n <group key={idx} position={[0.01, yOffset, zOffset]}>\n {/* Straight short cylinder sleeve segment */}\n <mesh rotation={[0, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.06, 8]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color={cableColor} />\n </mesh>\n </group>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { NetworkSwitchIconProps } from \"./types\";\n\nexport function NetworkSwitchIcon(props: NetworkSwitchIconProps) {\n const ports = [-0.14, -0.07, 0, 0.07, 0.14];\n\n return (\n <SharedWrapper iconId=\"networkswitch\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.35, 0.05]} position={[0, 0, 0]}>\n \n {/* Main 1U Rack Casing */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.46, 0.12, 0.28]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Left/Right Rack Mount Brackets (Ear wings) */}\n {[-0.235, 0.235].map((xOffset, idx) => (\n <group key={idx} position={[xOffset, 0, 0.08]}>\n <mesh castShadow>\n <boxGeometry args={[0.01, 0.14, 0.04]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n {/* Bolt mounting holes details */}\n {[-0.04, 0.04].map((yOffset, bIdx) => (\n <mesh key={bIdx} position={[xOffset < 0 ? -0.006 : 0.006, yOffset, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.006, 0.006, 0.004, 8]} />\n <meshStandardMaterial roughness={0.3} metalness={0.9} color=\"#1e293b\" />\n </mesh>\n ))}\n </group>\n ))}\n\n {/* Left Side Status LED Indicators Panel */}\n <group position={[-0.18, 0, 0.141]}>\n {/* System Power indicator (Glowing Accent) */}\n <mesh position={[-0.016, 0.016, 0]} castShadow>\n <sphereGeometry args={[0.008, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Auxiliary status indicators */}\n <mesh position={[-0.016, -0.016, 0]} castShadow>\n <sphereGeometry args={[0.007, 8, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.1} color=\"#fbbf24\" />\n </mesh>\n </group>\n\n {/* Dual Rows of RJ45 Ports (Ethernet Jacks) */}\n <group position={[0.04, 0, 0.141]}>\n {ports.map((xPos, idx) => (\n <group key={idx} position={[xPos, 0, 0]}>\n {/* Upper RJ45 Port Socket */}\n <mesh position={[0, 0.022, 0]} castShadow>\n <boxGeometry args={[0.038, 0.026, 0.01]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#0f172a\" />\n </mesh>\n <mesh position={[0, 0.022, 0.002]} castShadow>\n <boxGeometry args={[0.028, 0.018, 0.008]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Port Activity LED (Upper) */}\n <mesh position={[-0.012, 0.04, 0]} castShadow>\n <boxGeometry args={[0.006, 0.004, 0.004]} />\n <meshStandardMaterial\n color={idx % 2 === 0 ? \"#10b981\" : \"#eab308\"}\n emissive={idx % 2 === 0 ? \"#10b981\" : \"#eab308\"}\n emissiveIntensity={idx % 3 === 0 ? 1.2 : 0}\n />\n </mesh>\n\n {/* Lower RJ45 Port Socket */}\n <mesh position={[0, -0.022, 0]} castShadow>\n <boxGeometry args={[0.038, 0.026, 0.01]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#0f172a\" />\n </mesh>\n <mesh position={[0, -0.022, 0.002]} castShadow>\n <boxGeometry args={[0.028, 0.018, 0.008]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Port Activity LED (Lower) */}\n <mesh position={[0.012, -0.04, 0]} castShadow>\n <boxGeometry args={[0.006, 0.004, 0.004]} />\n <meshStandardMaterial\n color={idx % 2 === 1 ? \"#10b981\" : \"#eab308\"}\n emissive={idx % 2 === 1 ? \"#10b981\" : \"#eab308\"}\n emissiveIntensity={idx % 2 === 1 ? 1.2 : 0}\n />\n </mesh>\n </group>\n ))}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SmartPlugIconProps } from \"./types\";\n\nexport function SmartPlugIcon(props: SmartPlugIconProps) {\n return (\n <SharedWrapper iconId=\"smartplug\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Adapter Body (Rounded Capsule block) */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.13, 0.13, 0.16, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Front Receptacle Face Plate (White/grey inset disk) */}\n <mesh position={[0, 0.081, 0]} castShadow>\n <cylinderGeometry args={[0.12, 0.12, 0.006, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color=\"#f1f5f9\" />\n </mesh>\n\n {/* Dual Socket Slots (US Receptacle holes) */}\n <group position={[0, 0.083, 0]}>\n {/* Left slot */}\n <mesh position={[-0.038, 0, 0.012]} castShadow>\n <boxGeometry args={[0.012, 0.003, 0.034]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n {/* Right slot */}\n <mesh position={[0.038, 0, 0.012]} castShadow>\n <boxGeometry args={[0.012, 0.003, 0.034]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n {/* Grounding hole (D-shape at bottom) */}\n <mesh position={[0, 0, -0.038]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.004, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n </group>\n\n {/* Glowing Status Power Button (Accent Ring on bottom front face) */}\n <group position={[0, 0.083, 0]}>\n {/* Button housing ring */}\n <mesh position={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.032, 0.032, 0.004, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Center LED power symbol / button (Glowing Accent) */}\n <mesh position={[0, 0.002, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.004, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Rear Wall Plug Prongs (US type blades) */}\n <group position={[0, -0.081, 0]}>\n {/* Left prong */}\n <mesh position={[-0.038, -0.04, 0.012]} castShadow>\n <boxGeometry args={[0.01, 0.08, 0.03]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#d97706\" />\n </mesh>\n {/* Right prong */}\n <mesh position={[0.038, -0.04, 0.012]} castShadow>\n <boxGeometry args={[0.01, 0.08, 0.03]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#d97706\" />\n </mesh>\n {/* Grounding prong cylinder */}\n <mesh position={[0, -0.046, -0.038]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.09, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SmartBulbIconProps } from \"./types\";\n\nexport function SmartBulbIcon(props: SmartBulbIconProps) {\n const threads = 3;\n\n return (\n <SharedWrapper iconId=\"smartbulb\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.2, 0.05]} position={[0, 0, 0]}>\n \n {/* Bottom Screw Contact Pin (brass button at base) */}\n <mesh position={[0, -0.24, 0]} castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.016, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.9} color=\"#d97706\" />\n </mesh>\n\n {/* Metal Screw Base Threading (Concentric stacked rings) */}\n <group position={[0, -0.19, 0]}>\n {Array.from({ length: threads }).map((_, idx) => (\n <mesh key={idx} position={[0, idx * 0.024, 0]} castShadow>\n <cylinderGeometry args={[0.052, 0.052, 0.02, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n ))}\n </group>\n\n {/* Ceramic/Plastic Insulator Collar (Middle transition neck) */}\n <mesh position={[0, -0.09, 0]} castShadow>\n <cylinderGeometry args={[0.08, 0.054, 0.08, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Smart Ring / Wi-Fi band (Glowing Accent) */}\n <mesh position={[0, -0.04, 0]} castShadow>\n <cylinderGeometry args={[0.088, 0.088, 0.018, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Bulbar LED Housing (Heatsink ring base) */}\n <mesh position={[0, -0.01, 0]} castShadow>\n <cylinderGeometry args={[0.106, 0.094, 0.04, 24]} />\n <meshStandardMaterial roughness={0.25} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glass Bulb Globe (Semi-transparent / Emissive sphere) */}\n <mesh position={[0, 0.1, 0]} castShadow receiveShadow>\n <sphereGeometry args={[0.13, 24, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.5}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n ior={mat.ior}\n clearcoat={mat.clearcoat}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.8}\n />\n </mesh>\n\n {/* Glowing Inner LED COB Tower (Accent Core visible inside bulb) */}\n {mat.transmission > 0 && (\n <group position={[0, 0.08, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.06, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n <mesh position={[0, 0.032, 0]} castShadow>\n <sphereGeometry args={[0.024, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n )}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SecurityCameraIconProps } from \"./types\";\n\nexport function SecurityCameraIcon(props: SecurityCameraIconProps) {\n return (\n <SharedWrapper iconId=\"securitycamera\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Wall Mount Base Plate (Disc on the wall) */}\n <mesh rotation={[0, 0, 0]} position={[0, 0, -0.16]} castShadow>\n <cylinderGeometry args={[0.1, 0.1, 0.02, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Heavy Wall Mount Bracket Arm (L-shaped bracket) */}\n <group>\n {/* Horizontal offset stem */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, -0.1]} castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.12, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Angle bracket block */}\n <mesh position={[0, -0.02, -0.04]} castShadow>\n <boxGeometry args={[0.046, 0.06, 0.054]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Vertical swivel cylinder dropping down */}\n <mesh position={[0, -0.08, -0.04]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.08, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Swivel Pivot Ball (Universal joint) */}\n <mesh position={[0, -0.12, -0.04]} castShadow>\n <sphereGeometry args={[0.034, 16, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Main Camera Housing Barrel */}\n <group position={[0, -0.14, 0]} rotation={[0.4, 0, 0]}>\n {/* Cylinder shield */}\n <mesh castShadow receiveShadow>\n <cylinderGeometry args={[0.076, 0.064, 0.2, 24]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Rear Sunshield Hood (Overhanging plate on top) */}\n <mesh position={[0, 0.02, 0.016]} castShadow>\n <boxGeometry args={[0.082, 0.22, 0.012]} />\n <meshStandardMaterial roughness={0.3} metalness={0.4} color=\"#334155\" />\n </mesh>\n\n {/* Front Bezel Rim Ring */}\n <mesh position={[0, 0.1, 0]} castShadow>\n <cylinderGeometry args={[0.078, 0.078, 0.02, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Accent Status LED Ring around Lens */}\n <mesh position={[0, 0.108, 0]} castShadow>\n <torusGeometry args={[0.064, 0.006, 8, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Camera Glass Lens Aperture */}\n <mesh position={[0, 0.101, 0]} castShadow>\n <cylinderGeometry args={[0.058, 0.058, 0.008, 24]} />\n <meshStandardMaterial roughness={0.05} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n <mesh position={[0, 0.106, 0]} castShadow>\n <sphereGeometry args={[0.038, 16, 12]} />\n <meshPhysicalMaterial roughness={0.02} metalness={0.9} transmission={0.9} color=\"#0ea5e9\" />\n </mesh>\n\n {/* Back Cable wire */}\n <mesh position={[0, -0.11, -0.03]} rotation={[0.4, 0, 0]} castShadow>\n <cylinderGeometry args={[0.006, 0.006, 0.06, 8]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SmartLockIconProps } from \"./types\";\n\nexport function SmartLockIcon(props: SmartLockIconProps) {\n return (\n <SharedWrapper iconId=\"smartlock\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Heavy Backplate Disc */}\n <mesh castShadow position={[0, 0, -0.04]}>\n <cylinderGeometry args={[0.18, 0.18, 0.03, 32]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Electronic Smart Lock Cylinder Body */}\n <mesh castShadow receiveShadow position={[0, 0, 0.01]}>\n <cylinderGeometry args={[0.16, 0.16, 0.07, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Chrome Trim Bezel */}\n <mesh position={[0, 0, 0.046]} castShadow>\n <cylinderGeometry args={[0.162, 0.162, 0.01, 32]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Central Key Cylinder Core (Metal spindle) */}\n <mesh position={[0, -0.04, 0.05]} castShadow>\n <cylinderGeometry args={[0.042, 0.042, 0.012, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Keyhole slot details */}\n <mesh position={[0, -0.04, 0.056]} castShadow>\n <boxGeometry args={[0.008, 0.024, 0.004]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n\n {/* Top Half Touchpad Keypad Display (Black glossy screen) */}\n <group position={[0, 0.04, 0.05]}>\n <mesh castShadow>\n <boxGeometry args={[0.14, 0.08, 0.008]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n {/* Array of numeric key dots/squares */}\n {[-0.046, -0.015, 0.015, 0.046].map((xOffset, idx) => (\n <mesh key={idx} position={[xOffset, 0.016, 0.005]} castShadow>\n <boxGeometry args={[0.018, 0.018, 0.002]} />\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n ))}\n {[-0.046, -0.015, 0.015, 0.046].map((xOffset, idx) => (\n <mesh key={idx} position={[xOffset, -0.016, 0.005]} castShadow>\n <boxGeometry args={[0.018, 0.018, 0.002]} />\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n ))}\n </group>\n\n {/* Glowing Status Ring (Ring encircling center core - Accent color) */}\n <mesh position={[0, 0, 0.047]} castShadow>\n <torusGeometry args={[0.13, 0.008, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ThermostatIconProps } from \"./types\";\n\nexport function ThermostatIcon(props: ThermostatIconProps) {\n const tickCount = 24;\n\n return (\n <SharedWrapper iconId=\"thermostat\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Thermostat Wall Backplate */}\n <mesh position={[0, 0, -0.04]} castShadow>\n <cylinderGeometry args={[0.22, 0.22, 0.02, 32]} />\n <meshStandardMaterial roughness={0.3} metalness={0.6} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Heavy Rotating Dial Ring */}\n <mesh castShadow receiveShadow position={[0, 0, 0.01]}>\n <cylinderGeometry args={[0.188, 0.188, 0.08, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Front Black Glossy Screen Display Panel */}\n <mesh position={[0, 0, 0.052]} castShadow>\n <cylinderGeometry args={[0.154, 0.154, 0.008, 32]} />\n <meshStandardMaterial roughness={0.08} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n\n {/* Inset Glowing Accent Temperature Scale (Concentric outer status scale ring) */}\n <mesh position={[0, 0, 0.057]} castShadow>\n <torusGeometry args={[0.134, 0.006, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Outer dial ticks details */}\n {Array.from({ length: tickCount }).map((_, idx) => {\n const angle = (idx * 2 * Math.PI) / tickCount;\n // Leave a gap at the bottom for standard thermostat look\n if (idx > 4 && idx < 20) {\n return (\n <mesh\n key={idx}\n position={[0, 0, 0.056]}\n rotation={[0, 0, angle]}\n castShadow\n >\n <mesh position={[0, 0.144, 0]}>\n <boxGeometry args={[0.005, 0.016, 0.002]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </mesh>\n );\n }\n return null;\n })}\n\n {/* Simplified Digital Number Readout (e.g., Temperature \"72\" - modeled abstractly with glowing boxes) */}\n <group position={[0, 0, 0.058]}>\n {/* Digit \"7\" */}\n <group position={[-0.03, 0.01, 0]}>\n <mesh position={[0, 0.024, 0]} castShadow>\n <boxGeometry args={[0.038, 0.008, 0.003]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n <mesh position={[0.01, -0.002, 0]} rotation={[0, 0, -0.24]} castShadow>\n <boxGeometry args={[0.008, 0.046, 0.003]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n\n {/* Digit \"2\" */}\n <group position={[0.03, 0.01, 0]}>\n {/* Top horizontal segment */}\n <mesh position={[0, 0.024, 0]} castShadow>\n <boxGeometry args={[0.034, 0.008, 0.003]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Top-right vertical segment */}\n <mesh position={[0.013, 0.012, 0]} castShadow>\n <boxGeometry args={[0.008, 0.018, 0.003]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Middle horizontal segment */}\n <mesh position={[0, 0, 0]} castShadow>\n <boxGeometry args={[0.034, 0.008, 0.003]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Bottom-left vertical segment */}\n <mesh position={[-0.013, -0.012, 0]} castShadow>\n <boxGeometry args={[0.008, 0.018, 0.003]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n {/* Bottom horizontal segment */}\n <mesh position={[0, -0.024, 0]} castShadow>\n <boxGeometry args={[0.034, 0.008, 0.003]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n\n {/* Small Degree Circle Symbol \"°\" */}\n <mesh position={[0.076, 0.038, 0]} castShadow>\n <torusGeometry args={[0.01, 0.004, 6, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GClampIconProps } from \"./types\";\n\nexport function GClampIcon(props: GClampIconProps) {\n return (\n <SharedWrapper iconId=\"gclamp\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Main G-Clamp Frame (C-shaped heavy metal structure) */}\n <group>\n {/* Back long spine */}\n <mesh castShadow receiveShadow position={[-0.1, 0, 0]}>\n <boxGeometry args={[0.04, 0.36, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Top arm */}\n <mesh castShadow position={[-0.01, 0.16, 0]}>\n <boxGeometry args={[0.22, 0.04, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Bottom anvil arm */}\n <mesh castShadow position={[-0.01, -0.16, 0]}>\n <boxGeometry args={[0.22, 0.04, 0.04]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Anvil pad (Flat jaw on bottom arm) */}\n <mesh position={[0.08, -0.13, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.02, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Top Threaded Guide Collar (Glowing Accent ring) */}\n <mesh position={[0.08, 0.16, 0]} castShadow>\n <cylinderGeometry args={[0.034, 0.034, 0.05, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Threaded Screw Rod (Steel spindle shaft extending down) */}\n <mesh position={[0.08, 0.02, 0]} castShadow>\n <cylinderGeometry args={[0.014, 0.014, 0.24, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Clamping Swivel Pad (Top jaw disc on screw end) */}\n <mesh position={[0.08, -0.09, 0]} castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.016, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#475569\" />\n </mesh>\n\n {/* Sliding T-Handle Tommy Bar */}\n <group position={[0.08, 0.19, 0]}>\n {/* Screw head hex socket */}\n <mesh castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.02, 6]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#94a3b8\" />\n </mesh>\n {/* Sliding handle rod cross-bar */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[0, 0.02, 0]} castShadow>\n <cylinderGeometry args={[0.007, 0.007, 0.16, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Spherical handle stops at ends */}\n {[-0.08, 0.08].map((xOffset, idx) => (\n <mesh key={idx} position={[xOffset, 0.02, 0]} castShadow>\n <sphereGeometry args={[0.012, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n ))}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ViceIconProps } from \"./types\";\n\nexport function ViceIcon(props: ViceIconProps) {\n return (\n <SharedWrapper iconId=\"vice\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.35, 0.1]} position={[0, 0, 0]}>\n \n {/* Main Heavy Mount Base Block */}\n <mesh castShadow position={[0, -0.16, 0]}>\n <boxGeometry args={[0.22, 0.04, 0.24]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#334155\" />\n </mesh>\n\n {/* Guide Rail Track Slide base (Horizontal steel beams) */}\n <mesh castShadow position={[0, -0.1, 0]}>\n <boxGeometry args={[0.08, 0.08, 0.36]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Fixed Rear Jaw (Cast body at back of vice) */}\n <group position={[0, -0.01, -0.1]}>\n <mesh castShadow>\n <boxGeometry args={[0.18, 0.14, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Hardened steel jaw plate face */}\n <mesh position={[0, 0.03, 0.032]} castShadow>\n <boxGeometry args={[0.16, 0.04, 0.008]} />\n <meshStandardMaterial roughness={0.3} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Sliding Front Jaw (Movable jaw block) */}\n <group position={[0, -0.01, 0.06]}>\n <mesh castShadow>\n <boxGeometry args={[0.18, 0.14, 0.06]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Hardened steel jaw plate face */}\n <mesh position={[0, 0.03, -0.032]} castShadow>\n <boxGeometry args={[0.16, 0.04, 0.008]} />\n <meshStandardMaterial roughness={0.3} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Lead Screw Shaft (Steel cylinder extending forward) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, -0.05, 0.08]} castShadow>\n <cylinderGeometry args={[0.018, 0.018, 0.28, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Front Screw Thread Collar / Handle Hub (Glowing Accent) */}\n <group position={[0, -0.05, 0.2]}>\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.04, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Turning handle cross bar */}\n <mesh rotation={[0, 0, 0.2]} position={[0, 0, 0.008]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.22, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Spherical handle caps */}\n {[-0.11, 0.11].map((offset, idx) => {\n // Rotate positions along handle axis (0.2 rad)\n const yPos = offset * Math.sin(0.2);\n const xPos = offset * Math.cos(0.2);\n return (\n <mesh key={idx} position={[xPos, yPos, 0.008]} castShadow>\n <sphereGeometry args={[0.014, 12, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#475569\" />\n </mesh>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GreaseGunIconProps } from \"./types\";\n\nexport function GreaseGunIcon(props: GreaseGunIconProps) {\n return (\n <SharedWrapper iconId=\"greasegun\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.25, -Math.PI / 6]} position={[0, 0, 0]}>\n \n {/* Main Grease Canister Cylinder (Cartridge tube) */}\n <mesh castShadow receiveShadow position={[0, -0.04, 0]}>\n <cylinderGeometry args={[0.046, 0.046, 0.28, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Ribbed Grip Bands on canister */}\n {[-0.1, -0.04, 0.02].map((yPos, idx) => (\n <mesh key={idx} position={[0, yPos - 0.04, 0]} castShadow>\n <cylinderGeometry args={[0.048, 0.048, 0.012, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.4} color=\"#1e293b\" />\n </mesh>\n ))}\n\n {/* Bottom Canister Cap (Screw-on cover) */}\n <mesh position={[0, -0.19, 0]} castShadow>\n <cylinderGeometry args={[0.048, 0.048, 0.02, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n\n {/* Bottom Plunger Rod T-handle */}\n <group position={[0, -0.2, 0]}>\n {/* Extended steel shaft */}\n <mesh position={[0, -0.04, 0]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.08, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n {/* T-bar cross handle */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[0, -0.08, 0]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.08, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#475569\" />\n </mesh>\n </group>\n\n {/* Top Cast Iron Pump Head Block */}\n <mesh position={[0, 0.12, 0]} castShadow>\n <cylinderGeometry args={[0.05, 0.05, 0.04, 16]} />\n <meshStandardMaterial roughness={0.25} metalness={0.7} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Pump Head Accent Collar (Glowing Ring) */}\n <mesh position={[0, 0.144, 0]} castShadow>\n <cylinderGeometry args={[0.052, 0.052, 0.008, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Actuating Pump Lever Handle (Diagonal bar with pivot hinge) */}\n <group position={[0.02, 0.13, 0]}>\n {/* Pivot bracket */}\n <mesh position={[0, 0.01, 0.02]} castShadow>\n <boxGeometry args={[0.02, 0.02, 0.01]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Long lever bar extending downwards parallel to body */}\n <mesh position={[0.06, -0.12, 0]} rotation={[0, 0, -0.15]} castShadow>\n <boxGeometry args={[0.016, 0.28, 0.022]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Rubber handle sleeve (Glowing color) */}\n <mesh position={[0.082, -0.22, 0]} rotation={[0, 0, -0.15]} castShadow>\n <boxGeometry args={[0.02, 0.08, 0.026]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.6}\n />\n </mesh>\n </group>\n\n {/* High-Pressure Extension Tube (Nozzle spout) */}\n <group position={[0, 0.135, 0]}>\n {/* Angled steel pipe */}\n <mesh position={[0, 0.06, 0.024]} rotation={[0.4, 0, 0]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.12, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Hydraulic nozzle coupler (tip) */}\n <mesh position={[0, 0.116, 0.046]} rotation={[0.4, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.012, 0.034, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#475569\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { GearboxIconProps } from \"./types\";\n\nexport function GearboxIcon(props: GearboxIconProps) {\n return (\n <SharedWrapper iconId=\"gearbox\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Main Gearbox Cast Enclosure (Base casing bracket) */}\n <mesh castShadow position={[0, -0.16, 0]}>\n <boxGeometry args={[0.38, 0.04, 0.22]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#334155\" />\n </mesh>\n\n {/* Side Support Wall Panels (Steel flanges) */}\n {[-0.17, 0.17].map((xOffset, idx) => (\n <mesh key={idx} position={[xOffset, -0.04, 0]} castShadow>\n <boxGeometry args={[0.02, 0.2, 0.18]} />\n <meshStandardMaterial roughness={0.25} metalness={0.7} color=\"#475569\" />\n </mesh>\n ))}\n\n {/* Top Transparent Dust Shield / Acrylic Cover (Premium Glassmorphic Shell) */}\n <mesh castShadow receiveShadow position={[0, 0.04, 0]}>\n <boxGeometry args={[0.32, 0.2, 0.18]} />\n <meshPhysicalMaterial\n roughness={mat.roughness * 0.4}\n metalness={mat.metalness * 0.5}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n color={mat.color}\n opacity={0.4}\n transparent\n />\n </mesh>\n\n {/* Three Intermeshing Transmission Gears */}\n \n {/* Left Input Shaft & Gear (Small Cog) */}\n <group position={[-0.08, 0, 0]}>\n {/* Input axle shaft */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.22, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Small Gear Sprocket */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, -0.01]} castShadow>\n <cylinderGeometry args={[0.06, 0.06, 0.03, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Accent Glowing Core Ring */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.012]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.01, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Right Output Shaft & Gear (Large Cog) */}\n <group position={[0.08, 0, 0]}>\n {/* Output axle shaft */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.018, 0.018, 0.22, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Large Gear Sprocket */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, -0.01]} castShadow>\n <cylinderGeometry args={[0.1, 0.1, 0.03, 24]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Accent Glowing Core Ring */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.012]} castShadow>\n <cylinderGeometry args={[0.06, 0.06, 0.01, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Casing Mounting Bolts detail */}\n {[-0.14, 0.14].map((xOffset, idx) => (\n [-0.08, 0.08].map((zOffset, bIdx) => (\n <mesh key={`${idx}-${bIdx}`} position={[xOffset, -0.13, zOffset]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.016, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n ))\n ))}\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DifferentialIconProps } from \"./types\";\n\nexport function DifferentialIcon(props: DifferentialIconProps) {\n return (\n <SharedWrapper iconId=\"differential\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.4, 0.2]} position={[0, 0, 0]}>\n \n {/* Left/Right Axle Tubes (Outer steel sleeves) */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow receiveShadow>\n <cylinderGeometry args={[0.028, 0.028, 0.48, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Axle Flanges (Thick collar rings near pumpkin housing) */}\n {[-0.09, 0.09].map((xPos, idx) => (\n <mesh key={idx} rotation={[0, 0, Math.PI / 2]} position={[xPos, 0, 0]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.02, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#334155\" />\n </mesh>\n ))}\n\n {/* Central Pumpkin Housing Core (Spherical casing split in half) */}\n <mesh castShadow position={[0, 0, 0]}>\n <sphereGeometry args={[0.106, 24, 20]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Central Housing Bolt Ring Flange */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.116, 0.116, 0.02, 24]} />\n <meshStandardMaterial roughness={0.25} metalness={0.8} color=\"#334155\" />\n </mesh>\n\n {/* Glowing Housing Accent Ring (Fitted on bolt flange perimeter) */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[0.012, 0, 0]} castShadow>\n <torusGeometry args={[0.114, 0.008, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Rear Inspection Cover Plate */}\n <mesh position={[0, 0, -0.092]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.068, 0.068, 0.016, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.65} color=\"#475569\" />\n </mesh>\n\n {/* Input Pinion Shaft Nose (Forward extension for driveshaft input) */}\n <group position={[0, 0, 0.09]}>\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.03, 0.08, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Input Pinion Yoke / U-joint adapter flange */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.046]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.02, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SuspensionIconProps } from \"./types\";\n\nexport function SuspensionIcon(props: SuspensionIconProps) {\n const springCoils = 6;\n\n return (\n <SharedWrapper iconId=\"suspension\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Upper Double Wishbone Control Arm (V-shaped arm structure) */}\n <group position={[0, 0.08, 0]}>\n {/* Left pivot sleeve */}\n <mesh position={[-0.14, 0, -0.06]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.04, 12]} />\n <meshStandardMaterial roughness={0.25} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Right pivot sleeve */}\n <mesh position={[0.14, 0, -0.06]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.04, 12]} />\n <meshStandardMaterial roughness={0.25} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Left arm member */}\n <mesh position={[-0.07, 0.01, 0.01]} rotation={[0, -0.6, 0]} castShadow>\n <boxGeometry args={[0.18, 0.016, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Right arm member */}\n <mesh position={[0.07, 0.01, 0.01]} rotation={[0, 0.6, 0]} castShadow>\n <boxGeometry args={[0.18, 0.016, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Joint cap (Apex of wishbone) */}\n <mesh position={[0, 0.01, 0.08]} castShadow>\n <sphereGeometry args={[0.022, 12, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Central Coilover Shock Absorber Strut */}\n <group position={[0, -0.04, 0]}>\n {/* Lower mount eyelet */}\n <mesh position={[0, -0.16, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <torusGeometry args={[0.024, 0.008, 8, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Lower strut cylinder shaft */}\n <mesh position={[0, -0.1, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.12, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Upper shock damper body (reservoir canister) */}\n <mesh position={[0, 0.04, 0]} castShadow>\n <cylinderGeometry args={[0.034, 0.034, 0.16, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Top mounting collar (Glowing Accent) */}\n <mesh position={[0, 0.12, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.016, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Helical Suspension Coil Spring */}\n <group position={[0, -0.03, 0]}>\n {Array.from({ length: springCoils }).map((_, index) => {\n const zOffset = (index - springCoils / 2) * 0.036;\n return (\n <mesh\n key={index}\n position={[0, zOffset, 0]}\n rotation={[0.16, 0, 0]} // Slight tilt to simulate helical spiral helix path\n castShadow\n >\n <torusGeometry args={[0.048, 0.01, 8, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n );\n })}\n </group>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WindlassIconProps } from \"./types\";\n\nexport function WindlassIcon(props: WindlassIconProps) {\n const ropeCoils = 8;\n\n return (\n <SharedWrapper iconId=\"windlass\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.35, 0.1]} position={[0, 0, 0]}>\n \n {/* Heavy Base Ground Frame Plate */}\n <mesh castShadow position={[0, -0.18, 0]}>\n <boxGeometry args={[0.34, 0.03, 0.22]} />\n <meshStandardMaterial roughness={0.35} metalness={0.6} color=\"#334155\" />\n </mesh>\n\n {/* Left/Right Support Stanchion Brackets (Vertical stands) */}\n {[-0.13, 0.13].map((xOffset, idx) => (\n <mesh key={idx} position={[xOffset, -0.06, 0]} castShadow>\n <boxGeometry args={[0.024, 0.22, 0.08]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n ))}\n\n {/* Horizontal Central Winch Axle Shaft */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[0, 0.02, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.32, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#94a3b8\" />\n </mesh>\n\n {/* Main Winch Drum Cylinder (Rope spooler) */}\n <group position={[0, 0.02, 0]}>\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.054, 0.054, 0.18, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Left/Right Drum Flanges (Boundary disks) */}\n {[-0.09, 0.09].map((xPos, idx) => (\n <mesh key={idx} rotation={[0, 0, Math.PI / 2]} position={[xPos, 0, 0]} castShadow>\n <cylinderGeometry args={[0.076, 0.076, 0.012, 16]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n ))}\n\n {/* Glowing Accent Ring on Left Drum Flange */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[-0.096, 0, 0]} castShadow>\n <cylinderGeometry args={[0.082, 0.082, 0.008, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Winch Wire Rope Coils (Stacked steel rope strands) */}\n {Array.from({ length: ropeCoils }).map((_, idx) => {\n const xPos = (idx - ropeCoils / 2) * 0.018 + 0.009;\n return (\n <mesh key={idx} rotation={[0, 0, Math.PI / 2]} position={[xPos, 0, 0]} castShadow>\n <cylinderGeometry args={[0.062, 0.062, 0.016, 12]} />\n <meshStandardMaterial roughness={0.35} metalness={0.9} color=\"#475569\" />\n </mesh>\n );\n })}\n </group>\n\n {/* Winch Crank Handle Assembly (Mounted on right side) */}\n <group position={[0.16, 0.02, 0]}>\n {/* Gear locking cog (Ratchet wheel) */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[-0.01, 0, 0]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.012, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n {/* Crank handle arm */}\n <mesh position={[0.016, 0.05, 0]} castShadow>\n <boxGeometry args={[0.014, 0.12, 0.022]} />\n <meshStandardMaterial roughness={0.25} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Crank handle pin & grip sleeve */}\n <mesh rotation={[0, 0, Math.PI / 2]} position={[0.046, 0.1, 0]} castShadow>\n <cylinderGeometry args={[0.014, 0.014, 0.06, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { EarbudsIconProps } from \"./types\";\n\nexport function EarbudsIcon(props: EarbudsIconProps) {\n return (\n <SharedWrapper iconId=\"earbuds\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.25, 0.05]} position={[0, 0, 0]}>\n \n {/* Charging Case Lower Base Body */}\n <mesh castShadow receiveShadow position={[0, -0.06, 0]}>\n <boxGeometry args={[0.24, 0.18, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Inset Inner Deck (Chamber slots area) */}\n <mesh position={[0, 0.031, 0]} castShadow>\n <boxGeometry args={[0.22, 0.008, 0.14]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n\n {/* Case Open Hinge Connection */}\n <mesh position={[0, 0.03, -0.076]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.16, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Open Top Lid (Tilted back 110 degrees) */}\n <mesh position={[0, 0.1, -0.09]} rotation={[-1.6, 0, 0]} castShadow>\n <boxGeometry args={[0.24, 0.06, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Glowing Status LED Indicator Light */}\n <mesh position={[0, -0.02, 0.082]} castShadow>\n <sphereGeometry args={[0.008, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Twin Earbuds (Left & Right nested inside charging slots) */}\n \n {/* Left Earbud */}\n <group position={[-0.05, 0.04, 0.01]}>\n {/* Cylindrical stem pointing downwards inside case */}\n <mesh position={[0, -0.03, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.06, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Spherical bulbous earpiece head */}\n <mesh position={[0.006, 0.008, 0]} castShadow>\n <sphereGeometry args={[0.024, 16, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Silicone rubber eartip (Glowing color sleeve) */}\n <mesh position={[0.024, 0.008, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.02, 0.014, 0.016, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.6}\n />\n </mesh>\n </group>\n\n {/* Right Earbud */}\n <group position={[0.05, 0.04, 0.01]}>\n {/* Cylindrical stem pointing downwards inside case */}\n <mesh position={[0, -0.03, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.06, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Spherical bulbous earpiece head */}\n <mesh position={[-0.006, 0.008, 0]} castShadow>\n <sphereGeometry args={[0.024, 16, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Silicone rubber eartip (Glowing color sleeve) */}\n <mesh position={[-0.024, 0.008, 0]} rotation={[0, 0, -Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.02, 0.014, 0.016, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.6}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SmartRingIconProps } from \"./types\";\n\nexport function SmartRingIcon(props: SmartRingIconProps) {\n const sensorCount = 3;\n\n return (\n <SharedWrapper iconId=\"smartring\" {...props}>\n {(mat) => (\n <group rotation={[0.4, -0.3, 0.15]} position={[0, 0, 0]}>\n \n {/* Main Ring Outer Band (High Gloss Metal/Glassmorphism) */}\n <mesh castShadow receiveShadow>\n <torusGeometry args={[0.22, 0.046, 12, 48]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n />\n </mesh>\n\n {/* Central Inside Sleeve (Polished titanium inner face) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.18, 0.18, 0.076, 32]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Exterior Smart Accent Sensor Ring (Glowing stripe around outer crown) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.002]} castShadow>\n <torusGeometry args={[0.264, 0.008, 8, 32]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Internal Infrared Health Biosensors (Three small glowing nodes on the inside face) */}\n <group>\n {Array.from({ length: sensorCount }).map((_, idx) => {\n const angle = (idx * 2 * Math.PI) / sensorCount;\n const xPos = 0.174 * Math.cos(angle);\n const yPos = 0.174 * Math.sin(angle);\n return (\n <mesh key={idx} position={[xPos, yPos, 0]} castShadow>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DrawingTabletIconProps } from \"./types\";\n\nexport function DrawingTabletIcon(props: DrawingTabletIconProps) {\n return (\n <SharedWrapper iconId=\"drawingtablet\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Tablet Matte Bezel Chassis (Black outer frame) */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.46, 0.32, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Active Drawing Canvas Screen (Inset dark glass plate) */}\n <mesh position={[0.03, 0, 0.008]} castShadow>\n <boxGeometry args={[0.36, 0.28, 0.016]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n\n {/* Express Keys Bar (Left bezel buttons) */}\n <group position={[-0.18, 0, 0.014]}>\n {/* Express keys buttons */}\n {[-0.1, -0.04, 0.04, 0.1].map((yOffset, idx) => (\n <mesh key={idx} position={[0, yOffset, 0]} castShadow>\n <boxGeometry args={[0.02, 0.026, 0.006]} />\n <meshStandardMaterial roughness={0.3} metalness={0.4} color=\"#334155\" />\n </mesh>\n ))}\n {/* Glowing Accent circular dial key */}\n <mesh position={[0, 0, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.014, 0.014, 0.008, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Stylus Digital Pen (Hovering at a 30-degree tilt above the canvas) */}\n <group position={[0.08, 0.06, 0.12]} rotation={[-0.4, 0.2, 0.5]}>\n {/* Pen tapered barrel body */}\n <mesh castShadow>\n <cylinderGeometry args={[0.014, 0.01, 0.22, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Pen grip sleeve (Glowing Accent color) */}\n <mesh position={[0, -0.06, 0]} castShadow>\n <cylinderGeometry args={[0.015, 0.014, 0.06, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.6}\n />\n </mesh>\n {/* Pen tapered tip cone */}\n <mesh position={[0, -0.11, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.002, 0.04, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n {/* Active tip nib */}\n <mesh position={[0, -0.132, 0]} castShadow>\n <sphereGeometry args={[0.003, 8, 8]} />\n <meshStandardMaterial roughness={0.15} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n {/* Eraser button cap (Top end) */}\n <mesh position={[0, 0.11, 0]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.01, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.7} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BarcodeScannerIconProps } from \"./types\";\n\nexport function BarcodeScannerIcon(props: BarcodeScannerIconProps) {\n return (\n <SharedWrapper iconId=\"barcodescanner\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -Math.PI / 6, 0.2]} position={[0, 0, 0]}>\n \n {/* Main Pistol Grip Handle (Matte plastic) */}\n <mesh castShadow receiveShadow position={[-0.04, -0.1, 0]} rotation={[0, 0, -0.28]}>\n <boxGeometry args={[0.046, 0.18, 0.046]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Trigger Button (Index finger switch - Glowing Accent) */}\n <mesh position={[0.005, -0.05, 0]} rotation={[0, 0, -0.28]} castShadow>\n <boxGeometry args={[0.016, 0.038, 0.026]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Rubber Base bumper on handle bottom */}\n <mesh position={[-0.065, -0.19, 0]} rotation={[0, 0, -0.28]} castShadow>\n <boxGeometry args={[0.054, 0.016, 0.054]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n\n {/* Main Scanner Head Housing (Thick chamfered upper block) */}\n <group position={[0.02, 0.06, 0]} rotation={[0, 0, 0.15]}>\n <mesh castShadow>\n <boxGeometry args={[0.22, 0.088, 0.088]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Top Protective Rubber Guard Shield */}\n <mesh position={[0, 0.045, 0]} castShadow>\n <boxGeometry args={[0.224, 0.01, 0.092]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n\n {/* Front Bezel Face Rim (Angled nose where laser shoots out) */}\n <mesh position={[0.1, -0.01, 0]} rotation={[0, 0, -0.4]} castShadow>\n <boxGeometry args={[0.02, 0.096, 0.092]} />\n <meshStandardMaterial roughness={0.3} metalness={0.4} color=\"#0f172a\" />\n </mesh>\n\n {/* Red Laser Emitter Lens (Glowing glass element) */}\n <mesh position={[0.111, -0.01, 0]} rotation={[0, 0, -0.4]} castShadow>\n <boxGeometry args={[0.004, 0.08, 0.076]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n {/* Top Status LED Stripe (Indicates read success) */}\n <mesh position={[-0.04, 0.05, 0]} castShadow>\n <boxGeometry args={[0.06, 0.006, 0.04]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.0}\n />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { POSRegisterIconProps } from \"./types\";\n\nexport function POSRegisterIcon(props: POSRegisterIconProps) {\n return (\n <SharedWrapper iconId=\"posregister\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Bottom Cash Drawer Base (Heavy base unit) */}\n <mesh castShadow receiveShadow position={[0, -0.12, 0]}>\n <boxGeometry args={[0.34, 0.08, 0.3]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Cash Drawer Face detail (Front drawer slot) */}\n <mesh position={[0, -0.12, 0.151]} castShadow>\n <boxGeometry args={[0.3, 0.04, 0.008]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Lock keyhole pin on drawer */}\n <mesh position={[0, -0.12, 0.156]} rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.006, 0.006, 0.008, 8]} />\n <meshStandardMaterial roughness={0.4} metalness={0.9} color=\"#1e293b\" />\n </mesh>\n\n {/* Raised Slanted POS Monitor Screen (Primary interface) */}\n <group position={[0, 0.02, -0.04]} rotation={[-0.4, 0, 0]}>\n {/* Screen back casing */}\n <mesh castShadow>\n <boxGeometry args={[0.28, 0.2, 0.024]} />\n <meshStandardMaterial roughness={0.25} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* LCD Screen Display Panel (Glowing Glass interface) */}\n <mesh position={[0, 0, 0.01]} castShadow>\n <boxGeometry args={[0.26, 0.18, 0.012]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n {/* UI checkout panel widgets detail (Glowing Accent) */}\n <mesh position={[-0.08, 0.03, 0.017]} castShadow>\n <boxGeometry args={[0.07, 0.03, 0.004]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n <mesh position={[0.04, -0.02, 0.017]} castShadow>\n <boxGeometry args={[0.13, 0.07, 0.004]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.8}\n />\n </mesh>\n </group>\n\n {/* Thermal Receipt Printer Slot (On side of base) */}\n <group position={[0.11, -0.07, 0.06]}>\n <mesh castShadow>\n <boxGeometry args={[0.07, 0.024, 0.12]} />\n <meshStandardMaterial roughness={0.35} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n {/* Paper output mouth slot */}\n <mesh position={[0, 0.013, 0.01]} castShadow>\n <boxGeometry args={[0.054, 0.004, 0.08]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n {/* White receipt paper sticking out */}\n <mesh position={[0, 0.02, 0.04]} rotation={[0.2, 0, 0]} castShadow>\n <boxGeometry args={[0.046, 0.004, 0.04]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#ffffff\" />\n </mesh>\n </group>\n\n {/* Customer Facing Pole Display (Small rear check screen) */}\n <group position={[-0.11, 0.04, -0.1]}>\n {/* Vertical mounting rod pole */}\n <mesh castShadow position={[0, -0.06, 0]}>\n <cylinderGeometry args={[0.01, 0.01, 0.16, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.85} color=\"#cbd5e1\" />\n </mesh>\n {/* Small display box */}\n <mesh position={[0, 0.02, 0]} castShadow>\n <boxGeometry args={[0.1, 0.05, 0.024]} />\n <meshStandardMaterial roughness={0.3} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Mini LCD face */}\n <mesh position={[0, 0.02, 0.013]} castShadow>\n <boxGeometry args={[0.08, 0.038, 0.006]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CalculatorIconProps } from \"./types\";\n\nexport function CalculatorIcon(props: CalculatorIconProps) {\n const buttonGrid = [\n { r: 0, c: 0, color: \"#cbd5e1\" }, { r: 0, c: 1, color: \"#cbd5e1\" }, { r: 0, c: 2, color: \"#cbd5e1\" }, { r: 0, c: 3, color: \"#94a3b8\" },\n { r: 1, c: 0, color: \"#f87171\" }, { r: 1, c: 1, color: \"#f87171\" }, { r: 1, c: 2, color: \"#f87171\" }, { r: 1, c: 3, color: \"#94a3b8\" },\n { r: 2, c: 0, color: \"#f87171\" }, { r: 2, c: 1, color: \"#f87171\" }, { r: 2, c: 2, color: \"#f87171\" }, { r: 2, c: 3, color: \"#94a3b8\" },\n { r: 3, c: 0, color: \"#f87171\" }, { r: 3, c: 1, color: \"#f87171\" }, { r: 3, c: 2, color: \"#eab308\" }, { r: 3, c: 3, color: \"#38bdf8\" }\n ];\n\n return (\n <SharedWrapper iconId=\"calculator\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Main Pocket Calculator Shell Casing */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.26, 0.38, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* LCD Digital Display Panel (Beveled black bezel) */}\n <group position={[0, 0.11, 0.012]}>\n <mesh castShadow>\n <boxGeometry args={[0.22, 0.08, 0.008]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n {/* Greenish matrix display screen background (Glowing Accent) */}\n <mesh position={[0, 0, 0.002]} castShadow>\n <boxGeometry args={[0.204, 0.068, 0.004]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Abstract segments representing calculated numbers \"88.88\" */}\n <mesh position={[0.02, 0, 0.005]} castShadow>\n <boxGeometry args={[0.12, 0.016, 0.002]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#064e3b\" />\n </mesh>\n </group>\n\n {/* 4x4 Grid of Calculator Keys */}\n <group position={[0, -0.06, 0.014]}>\n {buttonGrid.map((btn, idx) => {\n const xPos = (btn.c - 1.5) * 0.054;\n const yPos = (1.5 - btn.r) * 0.046;\n // Check if button is equal key to give it the glowing accent\n const isEqualKey = btn.r === 3 && btn.c === 3;\n return (\n <mesh key={idx} position={[xPos, yPos, 0]} castShadow>\n <boxGeometry args={[0.044, 0.036, 0.01]} />\n <meshStandardMaterial\n roughness={0.3}\n metalness={isEqualKey ? 0.8 : 0.2}\n color={isEqualKey ? props.accentColor || \"#10b981\" : btn.color}\n emissive={isEqualKey ? props.accentColor || \"#10b981\" : undefined}\n emissiveIntensity={isEqualKey ? 1.4 : undefined}\n />\n </mesh>\n );\n })}\n </group>\n\n {/* Solar Panel strip above screen */}\n <mesh position={[0, 0.168, 0.013]} castShadow>\n <boxGeometry args={[0.1, 0.018, 0.004]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#7c2d12\" />\n </mesh>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RemoteControlIconProps } from \"./types\";\n\nexport function RemoteControlIcon(props: RemoteControlIconProps) {\n const numButtons = 9;\n\n return (\n <SharedWrapper iconId=\"remotecontrol\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.1]} position={[0, 0, 0]}>\n \n {/* Main Handheld Remote Casing (Sleek bevel wand) */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.16, 0.44, 0.03]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Top Infrared LED Transmitter bulb */}\n <mesh position={[0, 0.222, 0]} rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.01, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Top Power Button (Glowing Accent Red circle) */}\n <mesh position={[-0.04, 0.16, 0.016]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.008, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Circular D-Pad Controller disk (Center navigator) */}\n <group position={[0, 0.05, 0.016]}>\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.046, 0.046, 0.008, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.3} color=\"#475569\" />\n </mesh>\n {/* Center Ok button */}\n <mesh position={[0, 0, 0.002]} castShadow>\n <sphereGeometry args={[0.016, 12, 12]} />\n <meshStandardMaterial roughness={0.15} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Volume / Channel Toggle Rocker Switches */}\n <group position={[0, -0.05, 0.016]}>\n {/* Volume toggle (Left) */}\n <mesh position={[-0.034, 0, 0]} castShadow>\n <boxGeometry args={[0.016, 0.046, 0.008]} />\n <meshStandardMaterial roughness={0.25} metalness={0.3} color=\"#334155\" />\n </mesh>\n {/* Channel toggle (Right) */}\n <mesh position={[0.034, 0, 0]} castShadow>\n <boxGeometry args={[0.016, 0.046, 0.008]} />\n <meshStandardMaterial roughness={0.25} metalness={0.3} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* Numeric 3x3 Button Pad (Bottom layout) */}\n <group position={[0, -0.14, 0.016]}>\n {Array.from({ length: numButtons }).map((_, idx) => {\n const row = Math.floor(idx / 3);\n const col = idx % 3;\n const xPos = (col - 1) * 0.038;\n const yPos = (1 - row) * 0.034;\n return (\n <mesh key={idx} position={[xPos, yPos, 0]} castShadow>\n <boxGeometry args={[0.022, 0.018, 0.006]} />\n <meshStandardMaterial roughness={0.2} metalness={0.2} color=\"#94a3b8\" />\n </mesh>\n );\n })}\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SoundbarIconProps } from \"./types\";\n\nexport function SoundbarIcon(props: SoundbarIconProps) {\n return (\n <SharedWrapper iconId=\"soundbar\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.3, 0.05]} position={[0, 0, 0]}>\n \n {/* Long Horizontal Soundbar Casing (Primary speaker) */}\n <mesh castShadow receiveShadow position={[0, -0.1, 0.06]}>\n <boxGeometry args={[0.48, 0.046, 0.054]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Front Fabric Mesh Grille on Soundbar (Slightly smaller inset box) */}\n <mesh position={[0, -0.1, 0.088]} castShadow>\n <boxGeometry args={[0.46, 0.038, 0.006]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n\n {/* Glowing Status Indicator Line on Soundbar (Center power LED) */}\n <mesh position={[0, -0.1, 0.092]} castShadow>\n <boxGeometry args={[0.04, 0.006, 0.004]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Companion Standing Subwoofer Cabinet (Offset left & back) */}\n <group position={[-0.1, 0.02, -0.08]}>\n {/* Subwoofer box cabinet */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.16, 0.28, 0.16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Front speaker circular driver cone */}\n <group position={[0, 0.04, 0.081]}>\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.052, 0.052, 0.006, 24]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n {/* Inner paper cone suspension */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.002]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.006, 24]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n {/* Center dust cap dome */}\n <mesh position={[0, 0, 0.006]} castShadow>\n <sphereGeometry args={[0.016, 12, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Glowing Accent Ring surrounding speaker cone */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, -0.002]} castShadow>\n <torusGeometry args={[0.058, 0.004, 8, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Bottom bass port hole */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, -0.08, 0.081]} castShadow>\n <cylinderGeometry args={[0.018, 0.018, 0.004, 16]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#000000\" />\n </mesh>\n </group>\n\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { JackhammerIconProps } from \"./types\";\n\nexport function JackhammerIcon(props: JackhammerIconProps) {\n return (\n <SharedWrapper iconId=\"jackhammer\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.15, -Math.PI / 12]} position={[0, 0, 0]}>\n {/* Main vertical body casing */}\n <mesh position={[0, 0.05, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.08, 0.28, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glowing/Accent cylinder sleeve in middle body */}\n <mesh position={[0, 0.05, 0]} castShadow>\n <cylinderGeometry args={[0.082, 0.082, 0.08, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Horizontal Handle Bar T-shaped top */}\n <group position={[0, 0.2, 0]}>\n {/* Center connector bracket */}\n <mesh castShadow>\n <boxGeometry args={[0.09, 0.06, 0.09]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Left and right handles bar */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.022, 0.022, 0.44, 16]} />\n <meshStandardMaterial roughness={0.4} metalness={0.8} color=\"#64748b\" />\n </mesh>\n {/* Left Rubber Grip */}\n <mesh position={[-0.17, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.1, 16]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Right Rubber Grip */}\n <mesh position={[0.17, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.1, 16]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n </group>\n\n {/* Lower chuck collar */}\n <mesh position={[0, -0.12, 0]} castShadow>\n <cylinderGeometry args={[0.048, 0.038, 0.06, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Heavy spring shock absorber (helix) */}\n <group position={[0, -0.19, 0]}>\n {Array.from({ length: 4 }).map((_, i) => (\n <mesh key={i} position={[0, (i - 1.5) * 0.02, 0]} castShadow>\n <torusGeometry args={[0.035, 0.01, 8, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#334155\" />\n </mesh>\n ))}\n </group>\n\n {/* Chisel Point Bit shaft */}\n <mesh position={[0, -0.32, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.16, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#94a3b8\" />\n </mesh>\n\n {/* Chisel Tip point */}\n <mesh position={[0, -0.42, 0]} rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.002, 0.04, 4]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#94a3b8\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SolderingIronIconProps } from \"./types\";\n\nexport function SolderingIronIcon(props: SolderingIronIconProps) {\n return (\n <SharedWrapper iconId=\"solderingiron\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -Math.PI / 4, -Math.PI / 6]} position={[0, 0, 0]}>\n {/* Main Pen Handle */}\n <mesh position={[0, 0.1, 0]} castShadow>\n <cylinderGeometry args={[0.032, 0.024, 0.32, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Rubber Comfort Grip Band */}\n <mesh position={[0, 0.02, 0]} castShadow>\n <cylinderGeometry args={[0.034, 0.03, 0.12, 16]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n\n {/* Glowing Heat Status LED Ring on Grip */}\n <mesh position={[0, 0.07, 0]} castShadow>\n <cylinderGeometry args={[0.035, 0.035, 0.015, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Hand Shield / Flange */}\n <mesh position={[0, -0.05, 0]} castShadow>\n <cylinderGeometry args={[0.045, 0.045, 0.015, 16]} />\n <meshStandardMaterial roughness={0.5} metalness={0.6} color=\"#475569\" />\n </mesh>\n\n {/* Metallic Heating Element (Sleeve/Shaft) */}\n <mesh position={[0, -0.16, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.012, 0.2, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Fine Solder Copper Tip */}\n <mesh position={[0, -0.28, 0]} castShadow>\n <cylinderGeometry args={[0.012, 0.002, 0.04, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#b45309\" />\n </mesh>\n\n {/* Glowing Heat Tip (Front tip) */}\n <mesh position={[0, -0.3, 0]} castShadow>\n <sphereGeometry args={[0.005, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={2.0}\n />\n </mesh>\n\n {/* Connection Cord at Back */}\n <group position={[0, 0.26, 0]}>\n {/* Cord relief boot */}\n <mesh castShadow>\n <cylinderGeometry args={[0.018, 0.01, 0.04, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Curved wire line using torus segments */}\n <mesh position={[0.02, 0.04, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <torusGeometry args={[0.04, 0.008, 6, 12, Math.PI]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n <mesh position={[0.06, 0.08, 0]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <torusGeometry args={[0.04, 0.008, 6, 12, Math.PI]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BlowtorchIconProps } from \"./types\";\n\nexport function BlowtorchIcon(props: BlowtorchIconProps) {\n return (\n <SharedWrapper iconId=\"blowtorch\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -Math.PI / 6, -Math.PI / 12]} position={[0, 0, 0]}>\n {/* Main Gas Canister Base Cylinder */}\n <mesh position={[0, -0.12, 0]} castShadow>\n <cylinderGeometry args={[0.1, 0.1, 0.32, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Canister Collar Rim */}\n <mesh position={[0, 0.04, 0]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.02, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n\n {/* Brass Valve Block on top */}\n <group position={[0, 0.07, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.04, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#d97706\" />\n </mesh>\n {/* Valve knob (back side) */}\n <mesh position={[0, 0.01, -0.04]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.02, 8]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n </group>\n\n {/* Angled Neck Pipe */}\n <group position={[0, 0.09, 0.02]} rotation={[0.4, 0, 0]}>\n <mesh position={[0, 0.08, 0]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.16, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Flare Nozzle Burner Shroud */}\n <mesh position={[0, 0.17, 0]} castShadow>\n <cylinderGeometry args={[0.022, 0.016, 0.06, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#64748b\" />\n </mesh>\n\n {/* Jet Fire Spark Core (glowing cone inside nozzle) */}\n <mesh position={[0, 0.22, 0]} castShadow>\n <coneGeometry args={[0.018, 0.06, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.8}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WheelbarrowIconProps } from \"./types\";\n\nexport function WheelbarrowIcon(props: WheelbarrowIconProps) {\n return (\n <SharedWrapper iconId=\"wheelbarrow\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -Math.PI / 4, 0.05]} position={[0, -0.05, 0]}>\n {/* Main Container Tray Block */}\n <mesh position={[0, 0.1, -0.02]} rotation={[-0.1, 0, 0]} castShadow receiveShadow>\n <boxGeometry args={[0.34, 0.14, 0.32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glowing/Accent Tray Rim Frame */}\n <mesh position={[0, 0.17, -0.02]} rotation={[-0.1, 0, 0]} castShadow>\n <boxGeometry args={[0.36, 0.02, 0.34]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Dual Frame Pipes underneath handles */}\n <group position={[0, 0, 0]}>\n {/* Left Handle Pipe */}\n <mesh position={[-0.1, 0.02, 0.02]} rotation={[0.2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.6, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n {/* Right Handle Pipe */}\n <mesh position={[0.1, 0.02, 0.02]} rotation={[0.2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.6, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n \n {/* Left Handle Grip */}\n <mesh position={[-0.1, -0.06, 0.28]} rotation={[0.2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.1, 12]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Right Handle Grip */}\n <mesh position={[0.1, -0.06, 0.28]} rotation={[0.2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.1, 12]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n </group>\n\n {/* Front Wheel Assembly */}\n <group position={[0, -0.15, -0.22]}>\n {/* Axle bar */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.24, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Center Rubber Wheel */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.08, 0.08, 0.04, 16]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Metal rim core */}\n <mesh rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.045, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Support Legs (Stand struts) */}\n <group position={[0, -0.06, 0.12]}>\n {/* Left Leg */}\n <mesh position={[-0.1, -0.06, 0]} rotation={[0, 0, 0.1]} castShadow>\n <boxGeometry args={[0.016, 0.16, 0.03]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Right Leg */}\n <mesh position={[0.1, -0.06, 0]} rotation={[0, 0, -0.1]} castShadow>\n <boxGeometry args={[0.016, 0.16, 0.03]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Leg braces */}\n <mesh position={[0, -0.03, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.2, 8]} />\n <meshStandardMaterial roughness={0.5} metalness={0.7} color=\"#334155\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PlumbBobIconProps } from \"./types\";\n\nexport function PlumbBobIcon(props: PlumbBobIconProps) {\n return (\n <SharedWrapper iconId=\"plumbbob\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -Math.PI / 8, 0]} position={[0, 0, 0]}>\n {/* Suspended Line/Wire */}\n <mesh position={[0, 0.24, 0]} castShadow>\n <cylinderGeometry args={[0.005, 0.005, 0.28, 8]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#64748b\" />\n </mesh>\n\n {/* Top Knurled Brass Nut / Cap */}\n <mesh position={[0, 0.08, 0]} castShadow>\n <cylinderGeometry args={[0.038, 0.038, 0.04, 16]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#d97706\" />\n </mesh>\n\n {/* Glowing Spacer Ring */}\n <mesh position={[0, 0.05, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.02, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Main Conical Plumb Bob Body */}\n <mesh position={[0, -0.07, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.08, 0.004, 0.22, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Steel Tip Point at bottom */}\n <mesh position={[0, -0.19, 0]} castShadow>\n <coneGeometry args={[0.012, 0.03, 12]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Concentric detail rings around weight body */}\n <mesh position={[0, -0.05, 0]} castShadow>\n <torusGeometry args={[0.076, 0.006, 8, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n <mesh position={[0, -0.1, 0]} castShadow>\n <torusGeometry args={[0.058, 0.006, 8, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ShearsIconProps } from \"./types\";\n\nexport function ShearsIcon(props: ShearsIconProps) {\n return (\n <SharedWrapper iconId=\"shears\" {...props}>\n {(mat) => (\n <group rotation={[0.1, 0.2, Math.PI / 4]} position={[0, 0, 0]}>\n {/* Central Pivot Joint Pin */}\n <mesh position={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.026, 0.026, 0.06, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n\n {/* Scissor Blades Jaws (Upper and lower shears) */}\n <group position={[0, 0, 0]}>\n {/* Upper cutting blade */}\n <group rotation={[0, 0, 0.2]}>\n <mesh position={[0, 0.12, 0.01]} castShadow>\n <boxGeometry args={[0.04, 0.16, 0.012]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Blade edge chamfer */}\n <mesh position={[-0.01, 0.12, 0.01]} rotation={[0, 0.3, 0]} castShadow>\n <boxGeometry args={[0.02, 0.16, 0.01]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#e2e8f0\" />\n </mesh>\n </group>\n\n {/* Lower cutting blade */}\n <group rotation={[0, 0, -0.2]}>\n <mesh position={[0, 0.12, -0.01]} castShadow>\n <boxGeometry args={[0.04, 0.16, 0.012]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n {/* Blade edge chamfer */}\n <mesh position={[0.01, 0.12, -0.01]} rotation={[0, -0.3, 0]} castShadow>\n <boxGeometry args={[0.02, 0.16, 0.01]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n </group>\n </group>\n\n {/* Heavy Lever Handles (Extending down) */}\n <group position={[0, 0, 0]}>\n {/* Left Handle rod */}\n <group rotation={[0, 0, 2.9]}>\n <mesh position={[0, 0.18, 0.015]} castShadow>\n <cylinderGeometry args={[0.018, 0.018, 0.28, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n {/* Left Grip Cover */}\n <mesh position={[0, 0.22, 0.015]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.18, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Left End cap loop */}\n <mesh position={[0, 0.31, 0.015]} castShadow>\n <torusGeometry args={[0.024, 0.008, 6, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* Right Handle rod */}\n <group rotation={[0, 0, 3.4]}>\n <mesh position={[0, 0.18, -0.015]} castShadow>\n <cylinderGeometry args={[0.018, 0.018, 0.28, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n {/* Right Grip Cover */}\n <mesh position={[0, 0.22, -0.015]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.18, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n {/* Right End cap loop */}\n <mesh position={[0, 0.31, -0.015]} castShadow>\n <torusGeometry args={[0.024, 0.008, 6, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#334155\" />\n </mesh>\n </group>\n </group>\n\n {/* Pivot Spring Wire Link (Tactile detail) */}\n <mesh position={[0, -0.03, 0]} castShadow>\n <torusGeometry args={[0.04, 0.006, 6, 12, Math.PI]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#1e293b\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WireStripperIconProps } from \"./types\";\n\nexport function WireStripperIcon(props: WireStripperIconProps) {\n return (\n <SharedWrapper iconId=\"wirestripper\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.1, -Math.PI / 8]} position={[0, 0, 0]}>\n {/* Main Joint Pivot Screw */}\n <mesh position={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.05, 12]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n\n {/* Jaws with Wire Stripping Notches */}\n <group position={[0, 0, 0]}>\n {/* Left Jaw */}\n <group rotation={[0, 0, 0.15]}>\n <mesh position={[-0.02, 0.12, 0.008]} castShadow>\n <boxGeometry args={[0.036, 0.16, 0.012]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Notches (overlapping cylinders for details) */}\n {[0.06, 0.09, 0.12, 0.15].map((y, idx) => (\n <mesh key={idx} position={[0.002, y, 0.008]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.008 - idx * 0.001, 0.008 - idx * 0.001, 0.018, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n ))}\n </group>\n\n {/* Right Jaw */}\n <group rotation={[0, 0, -0.15]}>\n <mesh position={[0.02, 0.12, -0.008]} castShadow>\n <boxGeometry args={[0.036, 0.16, 0.012]} />\n <meshStandardMaterial roughness={0.15} metalness={0.9} color=\"#94a3b8\" />\n </mesh>\n {/* Notches */}\n {[0.06, 0.09, 0.12, 0.15].map((y, idx) => (\n <mesh key={idx} position={[-0.002, y, -0.008]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.008 - idx * 0.001, 0.008 - idx * 0.001, 0.018, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#334155\" />\n </mesh>\n ))}\n </group>\n </group>\n\n {/* Central Return Spring (Glowing/Accent) */}\n <group position={[0, -0.04, 0]}>\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.026, 0.008, 8, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n\n {/* Handles extending downwards */}\n <group position={[0, 0, 0]}>\n {/* Left Handle */}\n <group rotation={[0, 0, 2.7]}>\n <mesh position={[0, 0.18, 0.015]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.28, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n {/* Left Grip */}\n <mesh position={[0, 0.2, 0.015]} castShadow>\n <cylinderGeometry args={[0.022, 0.022, 0.2, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Right Handle */}\n <group rotation={[0, 0, 3.58]}>\n <mesh position={[0, 0.18, -0.015]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.28, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n {/* Right Grip */}\n <mesh position={[0, 0.2, -0.015]} castShadow>\n <cylinderGeometry args={[0.022, 0.022, 0.2, 12]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n </group>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { PipeWrenchIconProps } from \"./types\";\n\nexport function PipeWrenchIcon(props: PipeWrenchIconProps) {\n return (\n <SharedWrapper iconId=\"pipewrench\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.1, Math.PI / 4]} position={[0, 0, 0]}>\n {/* Long main handle shaft */}\n <mesh position={[0, -0.06, 0]} castShadow>\n <boxGeometry args={[0.046, 0.44, 0.024]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Glowing/Accent Handle Sleeve */}\n <mesh position={[0, -0.14, 0]} castShadow>\n <boxGeometry args={[0.052, 0.24, 0.03]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Lower Jaw (integrated into head housing) */}\n <group position={[0, 0.16, 0]}>\n {/* Wrench head housing housing */}\n <mesh castShadow>\n <boxGeometry args={[0.06, 0.08, 0.04]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#334155\" />\n </mesh>\n {/* Flat lower jaw plate */}\n <mesh position={[0.03, 0.02, 0]} castShadow>\n <boxGeometry args={[0.04, 0.02, 0.03]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Teeth on lower jaw */}\n {[-0.005, 0.005, 0.015].map((xOffset, idx) => (\n <mesh key={idx} position={[0.02 + xOffset, 0.032, 0]} castShadow>\n <boxGeometry args={[0.004, 0.006, 0.028]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#e2e8f0\" />\n </mesh>\n ))}\n </group>\n\n {/* Knurled Adjustment Ring/Nut */}\n <mesh position={[0, 0.11, 0]} castShadow>\n <cylinderGeometry args={[0.028, 0.028, 0.026, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Upper Adjustable Hook Jaw (L-Shape sliding frame) */}\n <group position={[0, 0.21, 0]}>\n {/* Vertical slider shank */}\n <mesh position={[-0.022, 0, 0]} castShadow>\n <boxGeometry args={[0.016, 0.16, 0.02]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Top horizontal bend hook */}\n <mesh position={[0.02, 0.07, 0]} castShadow>\n <boxGeometry args={[0.1, 0.022, 0.024]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Downward hook jaw face */}\n <mesh position={[0.06, 0.04, 0]} castShadow>\n <boxGeometry args={[0.02, 0.04, 0.024]} />\n <meshStandardMaterial roughness={0.2} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Teeth on upper jaw */}\n {[-0.01, 0.0, 0.01].map((yOffset, idx) => (\n <mesh key={idx} position={[0.048, 0.035 + yOffset, 0]} castShadow>\n <boxGeometry args={[0.005, 0.005, 0.022]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#e2e8f0\" />\n </mesh>\n ))}\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FloppyDiskIconProps } from \"./types\";\n\nexport function FloppyDiskIcon(props: FloppyDiskIconProps) {\n return (\n <SharedWrapper iconId=\"floppy\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.15, 0.05]} position={[0, 0, 0]}>\n {/* Main Diskette Plastic Casing */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.38, 0.38, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Beveled Top-Right Corner clip */}\n <mesh position={[0.18, 0.18, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <boxGeometry args={[0.04, 0.04, 0.028]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n\n {/* Paper Label (white sticker block) */}\n <mesh position={[0, -0.06, 0.003]} castShadow>\n <boxGeometry args={[0.3, 0.2, 0.02]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#f8fafc\" />\n </mesh>\n\n {/* Glowing/Accent stripe on the paper label */}\n <mesh position={[0, -0.12, 0.005]} castShadow>\n <boxGeometry args={[0.26, 0.03, 0.02]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Sliding Metal Shutter (lower bottom-right cover) */}\n <group position={[-0.06, 0.12, 0.002]}>\n <mesh castShadow>\n <boxGeometry args={[0.13, 0.12, 0.025]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#94a3b8\" />\n </mesh>\n {/* Shutter slot indent */}\n <mesh position={[0.02, 0, 0.002]} castShadow>\n <boxGeometry args={[0.04, 0.08, 0.025]} />\n <meshStandardMaterial roughness={0.4} metalness={0.9} color=\"#1e293b\" />\n </mesh>\n </group>\n\n {/* Center Circular Drive Spindle Spigot (metal hub at center back) */}\n <mesh position={[0, 0, -0.013]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.05, 0.05, 0.004, 16]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#cbd5e1\" />\n </mesh>\n {/* Spindle drive pin drive holes */}\n <mesh position={[0.015, 0.015, -0.014]} castShadow>\n <boxGeometry args={[0.012, 0.012, 0.004]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TapeCassetteIconProps } from \"./types\";\n\nexport function TapeCassetteIcon(props: TapeCassetteIconProps) {\n return (\n <SharedWrapper iconId=\"tapecassette\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.1, 0.05]} position={[0, 0, 0]}>\n {/* Main Cassette Shell Casing */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.38, 0.24, 0.024]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Cassette Center Label Inset */}\n <mesh position={[0, 0, 0.003]} castShadow>\n <boxGeometry args={[0.26, 0.12, 0.02]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#334155\" />\n </mesh>\n\n {/* Left Reel Spindle Hub */}\n <group position={[-0.08, 0, 0]}>\n {/* Gear ring */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.028, 8]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Center hole */}\n <mesh position={[0, 0, 0.005]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.02, 12]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#0f172a\" />\n </mesh>\n </group>\n\n {/* Right Reel Spindle Hub */}\n <group position={[0.08, 0, 0]}>\n {/* Gear ring */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.04, 0.028, 8]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Center hole */}\n <mesh position={[0, 0, 0.005]} castShadow>\n <cylinderGeometry args={[0.02, 0.02, 0.02, 12]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#0f172a\" />\n </mesh>\n </group>\n\n {/* Left wound magnetic tape pack */}\n <mesh position={[-0.08, 0, -0.002]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.075, 0.075, 0.02, 16]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#3b2314\" />\n </mesh>\n\n {/* Right wound magnetic tape pack */}\n <mesh position={[0.08, 0, -0.002]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.06, 0.06, 0.02, 16]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#3b2314\" />\n </mesh>\n\n {/* Trapezoidal bottom shield cap (Tape access area) */}\n <mesh position={[0, -0.1, 0.002]} castShadow>\n <boxGeometry args={[0.2, 0.04, 0.026]} />\n <meshStandardMaterial roughness={0.4} metalness={0.3} color=\"#1e293b\" />\n </mesh>\n\n {/* Glowing Window/Stripe (Center horizontal line below hubs) */}\n <mesh position={[0, -0.04, 0.005]} castShadow>\n <boxGeometry args={[0.12, 0.016, 0.02]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CompactDiscIconProps } from \"./types\";\n\nexport function CompactDiscIcon(props: CompactDiscIconProps) {\n return (\n <SharedWrapper iconId=\"cd\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.1, 0]} position={[0, 0, 0]}>\n {/* Main CD Shiny Disc (Rotated flat cylinder) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow receiveShadow>\n <cylinderGeometry args={[0.19, 0.19, 0.01, 32]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Rainbow Spectral Refraction Highlight 1 (Concentric Ring) */}\n <mesh position={[0, 0, 0.006]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.14, 0.008, 8, 32]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color={props.accentColor || \"#10b981\"}\n emissive={props.accentColor || \"#10b981\"}\n emissiveIntensity={0.8}\n />\n </mesh>\n\n {/* Rainbow Spectral Refraction Highlight 2 (Outer Accent Ring) */}\n <mesh position={[0, 0, 0.005]} rotation={[Math.PI / 2, 0, 1.2]} castShadow>\n <torusGeometry args={[0.09, 0.006, 8, 32]} />\n <meshStandardMaterial\n roughness={0.1}\n metalness={0.9}\n color=\"#0ea5e9\"\n emissive=\"#0ea5e9\"\n emissiveIntensity={0.7}\n />\n </mesh>\n\n {/* Inner Clear Plastic Hub area */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.002]} castShadow>\n <cylinderGeometry args={[0.056, 0.056, 0.012, 24]} />\n <meshStandardMaterial roughness={0.1} metalness={0.2} color=\"#f8fafc\" opacity={0.6} transparent />\n </mesh>\n\n {/* Center Hole Void (Dark back cylinder) */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.016, 24]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#0f172a\" />\n </mesh>\n\n {/* Glowing Center Ring Border */}\n <mesh rotation={[Math.PI / 2, 0, 0]} position={[0, 0, 0.008]} castShadow>\n <torusGeometry args={[0.026, 0.004, 6, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TvIconProps } from \"./types\";\n\nexport function TvIcon(props: TvIconProps) {\n return (\n <SharedWrapper iconId=\"tv\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.15, 0]} position={[0, 0, 0]}>\n {/* Main TV Frame Bezel */}\n <mesh position={[0, 0.06, 0]} castShadow receiveShadow>\n <boxGeometry args={[0.44, 0.28, 0.02]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glossy Dark Screen Canvas */}\n <mesh position={[0, 0.06, 0.008]} castShadow>\n <boxGeometry args={[0.42, 0.26, 0.008]} />\n <meshStandardMaterial roughness={0.1} metalness={0.9} color=\"#0f172a\" />\n </mesh>\n\n {/* Glowing/Accent Screen Border or Widgets */}\n <mesh position={[0, 0.06, 0.01]} castShadow>\n <boxGeometry args={[0.38, 0.22, 0.006]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={0.6}\n opacity={0.3}\n transparent\n />\n </mesh>\n\n {/* Supporting Neck Stem Stand */}\n <mesh position={[0, -0.11, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.016, 0.06, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n\n {/* Trapezoidal or rectangular base plate stand */}\n <mesh position={[0, -0.14, 0]} castShadow>\n <boxGeometry args={[0.2, 0.016, 0.12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#334155\" />\n </mesh>\n\n {/* Glowing Power Status Indicator Dot */}\n <mesh position={[0, -0.072, 0.012]} castShadow>\n <sphereGeometry args={[0.005, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RadioIconProps } from \"./types\";\n\nexport function RadioIcon(props: RadioIconProps) {\n return (\n <SharedWrapper iconId=\"radio\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.15, 0.05]} position={[0, 0, 0]}>\n {/* Main Retro Radio Cabinet Body */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.38, 0.24, 0.14]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Front Speaker Fabric Mesh Grille Panel */}\n <mesh position={[-0.08, 0, 0.071]} castShadow>\n <cylinderGeometry args={[0.07, 0.07, 0.004, 24]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Inner metallic speaker ring */}\n <mesh position={[-0.08, 0, 0.073]} castShadow>\n <torusGeometry args={[0.06, 0.006, 8, 24]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Tuning frequency slider window scale */}\n <mesh position={[0.08, 0.04, 0.071]} castShadow>\n <boxGeometry args={[0.14, 0.04, 0.004]} />\n <meshStandardMaterial roughness={0.9} metalness={0.0} color=\"#0f172a\" />\n </mesh>\n\n {/* Glowing Tuning Needle Indicator */}\n <mesh position={[0.06, 0.04, 0.073]} castShadow>\n <boxGeometry args={[0.006, 0.03, 0.004]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n {/* Tuning Knob 1 (Upper) */}\n <mesh position={[0.05, -0.05, 0.071]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.01, 16]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Tuning Knob 2 (Lower) */}\n <mesh position={[0.11, -0.05, 0.071]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.024, 0.024, 0.01, 16]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#475569\" />\n </mesh>\n\n {/* Telescopic Antenna extending from back */}\n <group position={[0.14, 0.12, -0.05]} rotation={[-0.4, 0.2, -0.4]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.006, 0.004, 0.3, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#94a3b8\" />\n </mesh>\n {/* Top antenna bead tip */}\n <mesh position={[0, 0.155, 0]} castShadow>\n <sphereGeometry args={[0.008, 8, 8]} />\n <meshStandardMaterial roughness={0.1} metalness={0.95} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Retro Top Carrier Handle strap */}\n <group position={[0, 0.12, 0]}>\n {/* Horizontal handle loop */}\n <mesh position={[0, 0.02, 0]} castShadow>\n <boxGeometry args={[0.26, 0.012, 0.024]} />\n <meshStandardMaterial roughness={0.6} metalness={0.3} color=\"#1e293b\" />\n </mesh>\n {/* Left pivot post */}\n <mesh position={[-0.12, 0, 0]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.04, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n {/* Right pivot post */}\n <mesh position={[0.12, 0, 0]} castShadow>\n <cylinderGeometry args={[0.008, 0.008, 0.04, 8]} />\n <meshStandardMaterial roughness={0.2} metalness={0.8} color=\"#cbd5e1\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { WalkieTalkieIconProps } from \"./types\";\n\nexport function WalkieTalkieIcon(props: WalkieTalkieIconProps) {\n return (\n <SharedWrapper iconId=\"walkietalkie\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.15, -Math.PI / 16]} position={[0, -0.05, 0]}>\n {/* Main Handset Radio Body */}\n <mesh castShadow receiveShadow>\n <boxGeometry args={[0.16, 0.3, 0.07]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Side Push-To-Talk (PTT) Button (Glowing/Accent) */}\n <mesh position={[-0.082, 0.05, 0]} castShadow>\n <boxGeometry args={[0.012, 0.08, 0.03]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Right Side Ribbed Grips */}\n {[-0.08, -0.04, 0, 0.04, 0.08].map((yOffset, idx) => (\n <mesh key={idx} position={[0.08, yOffset, 0]} castShadow>\n <boxGeometry args={[0.008, 0.02, 0.04]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n ))}\n\n {/* Top Volume/Channel Knob */}\n <mesh position={[-0.04, 0.16, 0]} rotation={[0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.018, 0.018, 0.03, 12]} />\n <meshStandardMaterial roughness={0.5} metalness={0.4} color=\"#334155\" />\n </mesh>\n\n {/* Top Flexible Whip Rubber Antenna */}\n <mesh position={[0.04, 0.24, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.006, 0.18, 12]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#19222f\" />\n </mesh>\n\n {/* Front Speaker Circular Grille / Slits */}\n <group position={[0, -0.04, 0.036]}>\n {[-0.03, -0.01, 0.01, 0.03].map((y, idx) => (\n <mesh key={idx} position={[0, y, 0]} castShadow>\n <boxGeometry args={[0.1, 0.008, 0.002]} />\n <meshStandardMaterial roughness={0.9} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n ))}\n </group>\n\n {/* Front Status LED Indicator (small dome) */}\n <mesh position={[0.04, 0.12, 0.036]} castShadow>\n <sphereGeometry args={[0.008, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n {/* Front Screen Display Panel */}\n <mesh position={[0, 0.05, 0.036]} castShadow>\n <boxGeometry args={[0.1, 0.06, 0.002]} />\n <meshStandardMaterial roughness={0.1} metalness={0.8} color=\"#0f172a\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HeadsetIconProps } from \"./types\";\n\nexport function HeadsetIcon(props: HeadsetIconProps) {\n return (\n <SharedWrapper iconId=\"headset\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 8, 0]} position={[0, 0, 0]}>\n {/* Main Curved Headband */}\n <mesh position={[0, 0.08, 0]} rotation={[0, 0, 0]} castShadow>\n <torusGeometry args={[0.18, 0.016, 8, 24, Math.PI]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Earcup Assembly */}\n <group position={[-0.18, 0.08, 0]}>\n {/* Cushion */}\n <mesh rotation={[0, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.06, 0.06, 0.03, 16]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Earcup housing */}\n <mesh position={[-0.015, 0, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.054, 0.054, 0.02, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Glowing outer ring */}\n <mesh position={[-0.026, 0, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.04, 0.008, 6, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Right Earcup Assembly */}\n <group position={[0.18, 0.08, 0]}>\n {/* Cushion */}\n <mesh rotation={[0, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.06, 0.06, 0.03, 16]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Earcup housing */}\n <mesh position={[0.015, 0, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <cylinderGeometry args={[0.054, 0.054, 0.02, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#475569\" />\n </mesh>\n {/* Glowing outer ring */}\n <mesh position={[0.026, 0, 0]} rotation={[0, Math.PI / 2, 0]} castShadow>\n <torusGeometry args={[0.04, 0.008, 6, 16]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n\n {/* Microphone Boom Arm extending from Left Earcup */}\n <group position={[-0.18, 0.05, 0.02]}>\n {/* Straight boom bar pointing forward-down */}\n <mesh position={[0.04, -0.06, 0.08]} rotation={[-0.6, 0.4, 0]} castShadow>\n <cylinderGeometry args={[0.006, 0.006, 0.16, 8]} />\n <meshStandardMaterial roughness={0.5} metalness={0.6} color=\"#334155\" />\n </mesh>\n {/* Mic capsule tip */}\n <mesh position={[0.08, -0.12, 0.14]} rotation={[-0.6, 0.4, 0]} castShadow>\n <cylinderGeometry args={[0.01, 0.01, 0.03, 8]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n {/* Glowing tip indicator dot */}\n <mesh position={[0.09, -0.13, 0.155]} castShadow>\n <sphereGeometry args={[0.006, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { FishIconProps } from \"./types\";\n\nexport function FishIcon(props: FishIconProps) {\n return (\n <SharedWrapper iconId=\"fish\" {...props}>\n {(mat) => (\n <group rotation={[0.1, Math.PI / 4, 0]} position={[0, 0, 0]}>\n {/* Main Fish Body (squashed ellipsoid) */}\n <mesh castShadow receiveShadow scale={[1.4, 0.8, 0.5]}>\n <sphereGeometry args={[0.18, 32, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Tail Fin Joint/Connector */}\n <mesh position={[-0.22, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.02, 0.03, 0.06, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n\n {/* Tail Fin (Twin Flaps) */}\n <group position={[-0.26, 0, 0]}>\n {/* Top Fin Flap */}\n <mesh position={[-0.05, 0.05, 0]} rotation={[0, 0, 0.5]} castShadow>\n <boxGeometry args={[0.12, 0.04, 0.015]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#cbd5e1\" />\n </mesh>\n {/* Bottom Fin Flap */}\n <mesh position={[-0.05, -0.05, 0]} rotation={[0, 0, -0.5]} castShadow>\n <boxGeometry args={[0.12, 0.04, 0.015]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Dorsal Fin (Top spine) */}\n <mesh position={[0.02, 0.16, 0]} rotation={[0, 0, -0.4]} castShadow>\n <boxGeometry args={[0.12, 0.06, 0.015]} />\n <meshStandardMaterial roughness={0.4} metalness={0.7} color=\"#94a3b8\" />\n </mesh>\n\n {/* Side Pectoral Fins */}\n <group position={[0.04, -0.04, 0]}>\n {/* Left pectoral fin */}\n <mesh position={[0, 0, 0.09]} rotation={[0.4, 0.3, 0.2]} castShadow>\n <boxGeometry args={[0.08, 0.03, 0.01]} />\n <meshStandardMaterial roughness={0.5} metalness={0.4} color=\"#64748b\" />\n </mesh>\n {/* Right pectoral fin */}\n <mesh position={[0, 0, -0.09]} rotation={[-0.4, -0.3, 0.2]} castShadow>\n <boxGeometry args={[0.08, 0.03, 0.01]} />\n <meshStandardMaterial roughness={0.5} metalness={0.4} color=\"#64748b\" />\n </mesh>\n </group>\n\n {/* Glowing Eyes */}\n <group position={[0.16, 0.04, 0]}>\n {/* Left Eye */}\n <mesh position={[0, 0, 0.05]} castShadow>\n <sphereGeometry args={[0.015, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n {/* Right Eye */}\n <mesh position={[0, 0, -0.05]} castShadow>\n <sphereGeometry args={[0.015, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Glowing Scale Lines/Accent Bands */}\n <mesh position={[-0.04, 0, 0]} castShadow>\n <torusGeometry args={[0.082, 0.006, 6, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ButterflyIconProps } from \"./types\";\n\nexport function ButterflyIcon(props: ButterflyIconProps) {\n return (\n <SharedWrapper iconId=\"butterfly\" {...props}>\n {(mat) => (\n <group rotation={[0.2, 0, 0]} position={[0, 0, 0]}>\n {/* Central Body (Thorax and Abdomen) */}\n <group position={[0, 0, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.014, 0.014, 0.24, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#1e293b\" />\n </mesh>\n {/* Head */}\n <mesh position={[0, 0.13, 0]} castShadow>\n <sphereGeometry args={[0.02, 12, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Left Antenna */}\n <mesh position={[-0.01, 0.16, 0]} rotation={[0, 0, 0.4]} castShadow>\n <cylinderGeometry args={[0.003, 0.003, 0.06, 8]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#475569\" />\n </mesh>\n {/* Right Antenna */}\n <mesh position={[0.01, 0.16, 0]} rotation={[0, 0, -0.4]} castShadow>\n <cylinderGeometry args={[0.003, 0.003, 0.06, 8]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#475569\" />\n </mesh>\n </group>\n\n {/* Left Wing Group */}\n <group position={[-0.02, 0, 0]} rotation={[0, 0.2, 0]}>\n {/* Left Upper Wing */}\n <mesh position={[-0.1, 0.06, 0]} rotation={[0, 0, -0.2]} castShadow receiveShadow>\n <boxGeometry args={[0.18, 0.14, 0.01]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Left Upper Wing Glowing Detail */}\n <mesh position={[-0.1, 0.06, 0.006]} rotation={[0, 0, -0.2]} castShadow>\n <boxGeometry args={[0.13, 0.09, 0.006]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Left Lower Wing */}\n <mesh position={[-0.08, -0.07, 0]} rotation={[0, 0, 0.2]} castShadow receiveShadow>\n <boxGeometry args={[0.13, 0.11, 0.01]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Left Lower Wing Glowing Detail */}\n <mesh position={[-0.08, -0.07, 0.006]} rotation={[0, 0, 0.2]} castShadow>\n <boxGeometry args={[0.09, 0.07, 0.006]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Right Wing Group */}\n <group position={[0.02, 0, 0]} rotation={[0, -0.2, 0]}>\n {/* Right Upper Wing */}\n <mesh position={[0.1, 0.06, 0]} rotation={[0, 0, 0.2]} castShadow receiveShadow>\n <boxGeometry args={[0.18, 0.14, 0.01]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Right Upper Wing Glowing Detail */}\n <mesh position={[0.1, 0.06, 0.006]} rotation={[0, 0, 0.2]} castShadow>\n <boxGeometry args={[0.13, 0.09, 0.006]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n\n {/* Right Lower Wing */}\n <mesh position={[0.08, -0.07, 0]} rotation={[0, 0, -0.2]} castShadow receiveShadow>\n <boxGeometry args={[0.13, 0.11, 0.01]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Right Lower Wing Glowing Detail */}\n <mesh position={[0.08, -0.07, 0.006]} rotation={[0, 0, -0.2]} castShadow>\n <boxGeometry args={[0.09, 0.07, 0.006]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { BirdIconProps } from \"./types\";\n\nexport function BirdIcon(props: BirdIconProps) {\n return (\n <SharedWrapper iconId=\"bird\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 6, 0]} position={[0, 0, 0]}>\n {/* Main Central Aerodynamic Bird Body */}\n <mesh castShadow receiveShadow scale={[0.8, 0.7, 1.4]}>\n <sphereGeometry args={[0.12, 24, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Head */}\n <mesh position={[0, 0.08, 0.16]} castShadow>\n <sphereGeometry args={[0.046, 16, 16]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing/Accent Beak */}\n <mesh position={[0, 0.06, 0.22]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <coneGeometry args={[0.016, 0.05, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n {/* Left Wing (Angled in active flight upstroke) */}\n <group position={[-0.08, 0.04, 0]} rotation={[0.2, 0.2, 0.8]}>\n <mesh castShadow>\n <boxGeometry args={[0.26, 0.08, 0.01]} />\n <meshStandardMaterial roughness={0.4} metalness={0.5} color=\"#94a3b8\" />\n </mesh>\n {/* Glowing Wing Tip */}\n <mesh position={[-0.14, 0, 0]} castShadow>\n <boxGeometry args={[0.04, 0.06, 0.012]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Right Wing (Angled in active flight upstroke) */}\n <group position={[0.08, 0.04, 0]} rotation={[-0.2, -0.2, -0.8]}>\n <mesh castShadow>\n <boxGeometry args={[0.26, 0.08, 0.01]} />\n <meshStandardMaterial roughness={0.4} metalness={0.5} color=\"#94a3b8\" />\n </mesh>\n {/* Glowing Wing Tip */}\n <mesh position={[0.14, 0, 0]} castShadow>\n <boxGeometry args={[0.04, 0.06, 0.012]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Fan-Shaped Tail Feathers */}\n <group position={[0, -0.04, -0.18]} rotation={[0.3, 0, 0]}>\n <mesh position={[0, 0, -0.04]} castShadow>\n <boxGeometry args={[0.08, 0.01, 0.1]} />\n <meshStandardMaterial roughness={0.5} metalness={0.3} color=\"#475569\" />\n </mesh>\n <mesh position={[-0.04, 0, -0.03]} rotation={[0, 0.2, 0]} castShadow>\n <boxGeometry args={[0.04, 0.01, 0.08]} />\n <meshStandardMaterial roughness={0.5} metalness={0.3} color=\"#475569\" />\n </mesh>\n <mesh position={[0.04, 0, -0.03]} rotation={[0, -0.2, 0]} castShadow>\n <boxGeometry args={[0.04, 0.01, 0.08]} />\n <meshStandardMaterial roughness={0.5} metalness={0.3} color=\"#475569\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CatIconProps } from \"./types\";\n\nexport function CatIcon(props: CatIconProps) {\n return (\n <SharedWrapper iconId=\"cat\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.1, 0]} position={[0, -0.02, 0]}>\n {/* Main Rounded Feline Head Casing */}\n <mesh castShadow receiveShadow scale={[1.2, 1.0, 0.8]}>\n <sphereGeometry args={[0.16, 24, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Pointed Ear */}\n <group position={[-0.1, 0.12, 0]} rotation={[0, 0, 0.35]}>\n <mesh castShadow>\n <coneGeometry args={[0.045, 0.12, 4]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Inner Ear Accent */}\n <mesh position={[0, 0, 0.01]} scale={[0.8, 0.8, 0.8]} castShadow>\n <coneGeometry args={[0.035, 0.1, 4]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Right Pointed Ear */}\n <group position={[0.1, 0.12, 0]} rotation={[0, 0, -0.35]}>\n <mesh castShadow>\n <coneGeometry args={[0.045, 0.12, 4]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Inner Ear Accent */}\n <mesh position={[0, 0, 0.01]} scale={[0.8, 0.8, 0.8]} castShadow>\n <coneGeometry args={[0.035, 0.1, 4]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Glowing Oval Eyes */}\n <group position={[0, 0.02, 0.076]}>\n {/* Left Eye */}\n <mesh position={[-0.06, 0, 0]} scale={[0.6, 1.2, 0.5]} castShadow>\n <sphereGeometry args={[0.02, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n {/* Right Eye */}\n <mesh position={[0.06, 0, 0]} scale={[0.6, 1.2, 0.5]} castShadow>\n <sphereGeometry args={[0.02, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Tiny Nose Snout */}\n <mesh position={[0, -0.04, 0.12]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <coneGeometry args={[0.012, 0.018, 3]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n\n {/* Whiskers */}\n <group position={[0, -0.05, 0.1]}>\n {/* Left Whiskers */}\n <mesh position={[-0.09, 0.01, 0]} rotation={[0, -0.2, 0.08]} castShadow>\n <cylinderGeometry args={[0.002, 0.002, 0.12, 8]} />\n <meshStandardMaterial color=\"#64748b\" />\n </mesh>\n <mesh position={[-0.09, -0.01, 0]} rotation={[0, -0.2, -0.04]} castShadow>\n <cylinderGeometry args={[0.002, 0.002, 0.12, 8]} />\n <meshStandardMaterial color=\"#64748b\" />\n </mesh>\n {/* Right Whiskers */}\n <mesh position={[0.09, 0.01, 0]} rotation={[0, 0.2, -0.08]} castShadow>\n <cylinderGeometry args={[0.002, 0.002, 0.12, 8]} />\n <meshStandardMaterial color=\"#64748b\" />\n </mesh>\n <mesh position={[0.09, -0.01, 0]} rotation={[0, 0.2, 0.04]} castShadow>\n <cylinderGeometry args={[0.002, 0.002, 0.12, 8]} />\n <meshStandardMaterial color=\"#64748b\" />\n </mesh>\n </group>\n\n {/* Glowing Collar Ribbon Band (lower neck area base) */}\n <mesh position={[0, -0.13, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.11, 0.012, 6, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DogIconProps } from \"./types\";\n\nexport function DogIcon(props: DogIconProps) {\n return (\n <SharedWrapper iconId=\"dog\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.1, 0]} position={[0, -0.02, 0]}>\n {/* Main Canine Head Base */}\n <mesh castShadow receiveShadow scale={[1.15, 1.15, 1.0]}>\n <sphereGeometry args={[0.15, 24, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Protruding Snout Mouthpiece */}\n <mesh position={[0, -0.03, 0.08]} castShadow>\n <boxGeometry args={[0.08, 0.07, 0.09]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Nose Tip Button */}\n <mesh position={[0, 0.01, 0.13]} castShadow>\n <sphereGeometry args={[0.018, 8, 8]} />\n <meshStandardMaterial roughness={0.7} metalness={0.1} color=\"#1e293b\" />\n </mesh>\n\n {/* Left Floppy Ear (Hanging down side) */}\n <mesh position={[-0.12, -0.02, 0]} rotation={[0, 0, 0.15]} castShadow>\n <boxGeometry args={[0.04, 0.16, 0.06]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n\n {/* Right Floppy Ear (Hanging down side) */}\n <mesh position={[0.12, -0.02, 0]} rotation={[0, 0, -0.15]} castShadow>\n <boxGeometry args={[0.04, 0.16, 0.06]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n\n {/* Glowing Round Eyes */}\n <group position={[0, 0.03, 0.07]}>\n {/* Left Eye */}\n <mesh position={[-0.05, 0, 0]} castShadow>\n <sphereGeometry args={[0.016, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n {/* Right Eye */}\n <mesh position={[0.05, 0, 0]} castShadow>\n <sphereGeometry args={[0.016, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Glowing Dog Tag Collar (Lower base loop) */}\n <group position={[0, -0.14, 0]}>\n <mesh rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.1, 0.012, 6, 24]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#475569\" />\n </mesh>\n {/* Glowing Tag Emblem */}\n <mesh position={[0, -0.03, 0.08]} rotation={[0.2, 0, 0]} castShadow>\n <boxGeometry args={[0.024, 0.034, 0.008]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RabbitIconProps } from \"./types\";\n\nexport function RabbitIcon(props: RabbitIconProps) {\n return (\n <SharedWrapper iconId=\"rabbit\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.1, 0]} position={[0, -0.04, 0]}>\n {/* Main Rabbit Head sphere */}\n <mesh castShadow receiveShadow scale={[1.0, 1.1, 0.95]}>\n <sphereGeometry args={[0.14, 24, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Long Ear */}\n <group position={[-0.05, 0.14, 0]} rotation={[0, 0, 0.1]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.02, 0.024, 0.16, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n {/* Left Ear Inner Detail (glowing pink/accent) */}\n <mesh position={[0, 0, 0.008]} scale={[0.6, 0.8, 0.5]} castShadow>\n <cylinderGeometry args={[0.02, 0.024, 0.16, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Right Long Ear */}\n <group position={[0.05, 0.14, 0]} rotation={[0, 0, -0.1]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.02, 0.024, 0.16, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n {/* Right Ear Inner Detail (glowing pink/accent) */}\n <mesh position={[0, 0, 0.008]} scale={[0.6, 0.8, 0.5]} castShadow>\n <cylinderGeometry args={[0.02, 0.024, 0.16, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n\n {/* Glowing Round Eyes */}\n <group position={[0, 0.02, 0.065]}>\n {/* Left Eye */}\n <mesh position={[-0.05, 0, 0]} castShadow>\n <sphereGeometry args={[0.014, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n {/* Right Eye */}\n <mesh position={[0.05, 0, 0]} castShadow>\n <sphereGeometry args={[0.014, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Small Fluffy Cheeks */}\n <mesh position={[-0.02, -0.04, 0.1]} castShadow>\n <sphereGeometry args={[0.02, 8, 8]} />\n <meshStandardMaterial color=\"#f8fafc\" />\n </mesh>\n <mesh position={[0.02, -0.04, 0.1]} castShadow>\n <sphereGeometry args={[0.02, 8, 8]} />\n <meshStandardMaterial color=\"#f8fafc\" />\n </mesh>\n\n {/* Small Nose point */}\n <mesh position={[0, -0.02, 0.12]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <coneGeometry args={[0.008, 0.012, 3]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color=\"#64748b\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { ElephantIconProps } from \"./types\";\n\nexport function ElephantIcon(props: ElephantIconProps) {\n return (\n <SharedWrapper iconId=\"elephant\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 8, 0]} position={[0, -0.02, 0]}>\n {/* Main Heavy Head/Shoulders Dome */}\n <mesh castShadow receiveShadow scale={[1.2, 1.1, 1.1]}>\n <sphereGeometry args={[0.16, 24, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Large Left Ear Plate */}\n <mesh position={[-0.16, 0.04, -0.02]} rotation={[0.1, 0.2, 0.3]} castShadow>\n <boxGeometry args={[0.02, 0.24, 0.16]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#334155\" />\n </mesh>\n\n {/* Large Right Ear Plate */}\n <mesh position={[0.16, 0.04, -0.02]} rotation={[0.1, -0.2, -0.3]} castShadow>\n <boxGeometry args={[0.02, 0.24, 0.16]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#334155\" />\n </mesh>\n\n {/* Raised Trunk (Segmented curve upward) */}\n <group position={[0, -0.04, 0.1]}>\n {/* Trunk Base */}\n <mesh position={[0, -0.03, 0.02]} rotation={[0.2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.034, 0.038, 0.08, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n {/* Middle Bend */}\n <mesh position={[0, -0.08, 0.06]} rotation={[0.6, 0, 0]} castShadow>\n <cylinderGeometry args={[0.028, 0.034, 0.08, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n {/* Upper Trunk */}\n <mesh position={[0, -0.06, 0.12]} rotation={[1.4, 0, 0]} castShadow>\n <cylinderGeometry args={[0.022, 0.028, 0.08, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n {/* Raised Tip */}\n <mesh position={[0, 0.0, 0.16]} rotation={[2.0, 0, 0]} castShadow>\n <cylinderGeometry args={[0.016, 0.022, 0.08, 12]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n </group>\n\n {/* Left Glowing/Accent Tusk */}\n <mesh position={[-0.045, -0.07, 0.1]} rotation={[-0.4, 0.2, 0.4]} castShadow>\n <coneGeometry args={[0.012, 0.1, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Right Glowing/Accent Tusk */}\n <mesh position={[0.045, -0.07, 0.1]} rotation={[-0.4, -0.2, -0.4]} castShadow>\n <coneGeometry args={[0.012, 0.1, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* Stately Eyes */}\n <group position={[0, 0.04, 0.08]}>\n {/* Left Eye */}\n <mesh position={[-0.07, 0, 0]} castShadow>\n <sphereGeometry args={[0.01, 8, 8]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n {/* Right Eye */}\n <mesh position={[0.07, 0, 0]} castShadow>\n <sphereGeometry args={[0.01, 8, 8]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#0f172a\" />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { OwlIconProps } from \"./types\";\n\nexport function OwlIcon(props: OwlIconProps) {\n return (\n <SharedWrapper iconId=\"owl\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -0.1, 0]} position={[0, -0.02, 0]}>\n {/* Main Round Owl Body/Head */}\n <mesh castShadow receiveShadow scale={[1.2, 1.15, 0.85]}>\n <sphereGeometry args={[0.16, 24, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Left Ear Tuft (Feather Horn) */}\n <mesh position={[-0.08, 0.13, 0]} rotation={[0, 0, 0.4]} castShadow>\n <coneGeometry args={[0.03, 0.08, 4]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#334155\" />\n </mesh>\n\n {/* Right Ear Tuft (Feather Horn) */}\n <mesh position={[0.08, 0.13, 0]} rotation={[0, 0, -0.4]} castShadow>\n <coneGeometry args={[0.03, 0.08, 4]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#334155\" />\n </mesh>\n\n {/* Concentric Eyes Assembly */}\n <group position={[0, 0.01, 0.07]}>\n {/* Left Eye Outer Ring */}\n <mesh position={[-0.055, 0, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.036, 0.008, 6, 20]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#cbd5e1\" />\n </mesh>\n {/* Left Glowing Pupil */}\n <mesh position={[-0.055, 0, 0.006]} castShadow>\n <sphereGeometry args={[0.018, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n\n {/* Right Eye Outer Ring */}\n <mesh position={[0.055, 0, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.036, 0.008, 6, 20]} />\n <meshStandardMaterial roughness={0.3} metalness={0.7} color=\"#cbd5e1\" />\n </mesh>\n {/* Right Glowing Pupil */}\n <mesh position={[0.055, 0, 0.006]} castShadow>\n <sphereGeometry args={[0.018, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Sharp Nose Beak */}\n <mesh position={[0, -0.04, 0.095]} rotation={[0, 0, Math.PI]} castShadow>\n <coneGeometry args={[0.015, 0.04, 3]} />\n <meshStandardMaterial roughness={0.3} metalness={0.8} color=\"#d97706\" />\n </mesh>\n\n {/* Chest Feather Ridges (Two nested toruses) */}\n <mesh position={[0, -0.08, 0.06]} rotation={[0.4, 0, 0]} castShadow>\n <torusGeometry args={[0.06, 0.004, 4, 16, Math.PI]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#475569\" />\n </mesh>\n <mesh position={[0, -0.11, 0.05]} rotation={[0.4, 0, 0]} castShadow>\n <torusGeometry args={[0.04, 0.004, 4, 16, Math.PI]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#475569\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TurtleIconProps } from \"./types\";\n\nexport function TurtleIcon(props: TurtleIconProps) {\n return (\n <SharedWrapper iconId=\"turtle\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -Math.PI / 6, 0.05]} position={[0, -0.04, 0]}>\n {/* Main Domed Shell Casing */}\n <mesh castShadow receiveShadow scale={[1.25, 0.8, 1.45]}>\n <sphereGeometry args={[0.16, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Underbelly flat plastron plate */}\n <mesh position={[0, -0.01, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.16, 0.18, 0.02, 16]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Glowing Shell Rim Collar */}\n <mesh position={[0, 0.005, 0]} scale={[1.29, 0.8, 1.49]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <torusGeometry args={[0.16, 0.008, 6, 24]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n\n {/* 4 Swimming Flippers (Legs) */}\n <group position={[0, -0.02, 0]}>\n {/* Front Left Flipper */}\n <mesh position={[-0.15, 0, 0.14]} rotation={[0.2, 0.5, 0]} castShadow>\n <boxGeometry args={[0.08, 0.016, 0.04]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Front Right Flipper */}\n <mesh position={[0.15, 0, 0.14]} rotation={[0.2, -0.5, 0]} castShadow>\n <boxGeometry args={[0.08, 0.016, 0.04]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Rear Left Flipper */}\n <mesh position={[-0.12, 0, -0.14]} rotation={[-0.2, -0.4, 0]} castShadow>\n <boxGeometry args={[0.06, 0.016, 0.03]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n {/* Rear Right Flipper */}\n <mesh position={[0.12, 0, -0.14]} rotation={[-0.2, 0.4, 0]} castShadow>\n <boxGeometry args={[0.06, 0.016, 0.03]} />\n <meshStandardMaterial roughness={0.4} metalness={0.2} color=\"#334155\" />\n </mesh>\n </group>\n\n {/* Head & Neck */}\n <group position={[0, 0.02, 0.22]}>\n <mesh rotation={[-0.2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.024, 0.06, 12]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#475569\" />\n </mesh>\n {/* Head Dome */}\n <mesh position={[0, 0.03, 0.01]} castShadow>\n <sphereGeometry args={[0.026, 12, 12]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#475569\" />\n </mesh>\n {/* Glowing Eyes */}\n <mesh position={[0.016, 0.04, 0.018]} castShadow>\n <sphereGeometry args={[0.005, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n <mesh position={[-0.016, 0.04, 0.018]} castShadow>\n <sphereGeometry args={[0.005, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Small Pointy Tail */}\n <mesh position={[0, -0.01, -0.24]} rotation={[0.4, 0, 0]} castShadow>\n <coneGeometry args={[0.012, 0.04, 4]} />\n <meshStandardMaterial roughness={0.5} metalness={0.2} color=\"#334155\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DolphinIconProps } from \"./types\";\n\nexport function DolphinIcon(props: DolphinIconProps) {\n return (\n <SharedWrapper iconId=\"dolphin\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 6, -Math.PI / 12]} position={[0, 0, 0]}>\n {/* Main Leaping Body Segment (Middle) */}\n <mesh castShadow receiveShadow scale={[1.6, 0.74, 0.62]} rotation={[0, 0, 0.2]}>\n <sphereGeometry args={[0.14, 24, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Head & Snout (Front curved extension) */}\n <group position={[0.14, 0.06, 0]} rotation={[0, 0, -0.15]}>\n <mesh castShadow scale={[1.2, 0.9, 0.9]}>\n <sphereGeometry args={[0.07, 16, 16]} />\n <meshStandardMaterial roughness={0.3} metalness={0.4} color=\"#cbd5e1\" />\n </mesh>\n {/* Tapered beak snout */}\n <mesh position={[0.06, -0.02, 0]} rotation={[0, 0, -Math.PI / 2]} castShadow>\n <coneGeometry args={[0.02, 0.06, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.4} color=\"#cbd5e1\" />\n </mesh>\n {/* Glowing Snout Tip */}\n <mesh position={[0.09, -0.02, 0]} castShadow>\n <sphereGeometry args={[0.008, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n\n {/* Curved Lower Tail Stem */}\n <mesh position={[-0.15, -0.06, 0]} rotation={[0, 0, 0.55]} castShadow>\n <cylinderGeometry args={[0.046, 0.02, 0.16, 12]} />\n <meshStandardMaterial roughness={0.3} metalness={0.4} color=\"#cbd5e1\" />\n </mesh>\n\n {/* Tail Fin (Double fluke wings) */}\n <group position={[-0.24, -0.12, 0]} rotation={[0, 0, 0.4]}>\n {/* Left fluke */}\n <mesh position={[0, 0, 0.04]} rotation={[0.2, 0, 0]} castShadow>\n <boxGeometry args={[0.04, 0.016, 0.08]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#94a3b8\" />\n </mesh>\n {/* Right fluke */}\n <mesh position={[0, 0, -0.04]} rotation={[-0.2, 0, 0]} castShadow>\n <boxGeometry args={[0.04, 0.016, 0.08]} />\n <meshStandardMaterial roughness={0.4} metalness={0.6} color=\"#94a3b8\" />\n </mesh>\n </group>\n\n {/* Curved Dorsal Fin (Top spine) */}\n <mesh position={[-0.02, 0.13, 0]} rotation={[0, 0, -0.55]} castShadow>\n <boxGeometry args={[0.06, 0.08, 0.016]} />\n <meshStandardMaterial roughness={0.4} metalness={0.3} color=\"#94a3b8\" />\n </mesh>\n\n {/* Left Pectoral Fin (Flipper) */}\n <mesh position={[0.04, -0.05, 0.08]} rotation={[0.5, 0, 0.4]} castShadow>\n <boxGeometry args={[0.06, 0.015, 0.04]} />\n <meshStandardMaterial roughness={0.5} metalness={0.3} color=\"#64748b\" />\n </mesh>\n\n {/* Right Pectoral Fin (Flipper) */}\n <mesh position={[0.04, -0.05, -0.08]} rotation={[-0.5, 0, 0.4]} castShadow>\n <boxGeometry args={[0.06, 0.015, 0.04]} />\n <meshStandardMaterial roughness={0.5} metalness={0.3} color=\"#64748b\" />\n </mesh>\n\n {/* Glowing/Accent scale-line along the spine curve */}\n <mesh position={[0, 0.076, 0]} scale={[1.61, 0.75, 0.63]} rotation={[0, 0, 0.2]} castShadow>\n <torusGeometry args={[0.14, 0.004, 4, 24, Math.PI]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.2}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { RoseIconProps } from \"./types\";\n\nexport function RoseIcon(props: RoseIconProps) {\n return (\n <SharedWrapper iconId=\"rose\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 8, 0]} position={[0, -0.04, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* Stem (curved vertical post) */}\n <group position={[0, -0.16, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.012, 0.014, 0.28, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n {/* Small Thorns */}\n <mesh position={[-0.014, 0.04, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <coneGeometry args={[0.008, 0.02, 4]} />\n <meshStandardMaterial color=\"#14532d\" />\n </mesh>\n <mesh position={[0.014, -0.04, 0]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <coneGeometry args={[0.008, 0.02, 4]} />\n <meshStandardMaterial color=\"#14532d\" />\n </mesh>\n {/* Stem Green Leaves */}\n <mesh position={[-0.04, 0.08, 0.02]} rotation={[0.4, 0.2, 0.8]} castShadow>\n <boxGeometry args={[0.08, 0.01, 0.04]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#15803d\" />\n </mesh>\n </group>\n\n {/* Sepal cup base (green calyx under petals) */}\n <mesh position={[0, -0.03, 0]} castShadow>\n <cylinderGeometry args={[0.04, 0.018, 0.03, 12]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n\n {/* Concentric Petals Layers */}\n <group position={[0, 0.04, 0]}>\n {/* Outer Petals Layer (Wide torus segments) */}\n <group rotation={[0.2, 0, 0]}>\n <mesh castShadow receiveShadow>\n <sphereGeometry args={[0.13, 16, 16, 0, Math.PI * 2, 0, Math.PI / 2.5]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n </group>\n\n {/* Mid Petals Layer (Nested tighter) */}\n <group rotation={[-0.1, 0.8, -0.1]}>\n <mesh position={[0, 0.02, 0]} castShadow>\n <sphereGeometry args={[0.09, 16, 16, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Inner Tightly Wrapped Rose Core (Glowing) */}\n <mesh position={[0, 0.04, 0]} castShadow>\n <sphereGeometry args={[0.05, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { SunflowerIconProps } from \"./types\";\n\nexport function SunflowerIcon(props: SunflowerIconProps) {\n return (\n <SharedWrapper iconId=\"sunflower\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.15, 0]} position={[0, 0, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* Circular array of yellow petals */}\n <group position={[0, 0, 0]}>\n {Array.from({ length: 12 }).map((_, i) => {\n const angle = (i * Math.PI) / 6;\n return (\n <mesh key={i} rotation={[0, 0, angle]} castShadow>\n <boxGeometry args={[0.045, 0.36, 0.008]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n );\n })}\n </group>\n\n {/* Central seed disc base */}\n <mesh position={[0, 0, 0.006]} scale={[1, 1, 0.45]} castShadow>\n <sphereGeometry args={[0.1, 24, 16]} />\n <meshStandardMaterial roughness={0.8} metalness={0.1} color=\"#451a03\" />\n </mesh>\n\n {/* Glowing Center Core Seeds Grid */}\n <mesh position={[0, 0, 0.016]} scale={[1, 1, 0.2]} castShadow>\n <sphereGeometry args={[0.06, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { TulipIconProps } from \"./types\";\n\nexport function TulipIcon(props: TulipIconProps) {\n return (\n <SharedWrapper iconId=\"tulip\" {...props}>\n {(mat) => (\n <group rotation={[0.1, -Math.PI / 8, 0]} position={[0, -0.02, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* Vertical Green Stem */}\n <mesh position={[0, -0.14, 0]} castShadow>\n <cylinderGeometry args={[0.014, 0.014, 0.28, 12]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n\n {/* Large vertical leaves bending up around stem */}\n <group position={[0, -0.1, 0]}>\n {/* Left Leaf */}\n <mesh position={[-0.05, 0.02, 0.01]} rotation={[0.2, 0.1, 0.6]} castShadow>\n <boxGeometry args={[0.016, 0.18, 0.05]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#15803d\" />\n </mesh>\n {/* Right Leaf */}\n <mesh position={[0.05, 0.04, -0.01]} rotation={[0.2, -0.1, -0.6]} castShadow>\n <boxGeometry args={[0.016, 0.2, 0.05]} />\n <meshStandardMaterial roughness={0.6} metalness={0.2} color=\"#15803d\" />\n </mesh>\n </group>\n\n {/* Sepal Base cup */}\n <mesh position={[0, 0.01, 0]} castShadow>\n <cylinderGeometry args={[0.028, 0.014, 0.02, 12]} />\n <meshStandardMaterial roughness={0.5} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n\n {/* Tulip Closed Chalice Petals */}\n <group position={[0, 0.1, 0]}>\n {/* Front Left Petal (ellipsoid segment) */}\n <mesh position={[-0.04, 0, 0.02]} scale={[0.8, 1.2, 0.8]} rotation={[0.1, 0.4, 0.1]} castShadow>\n <sphereGeometry args={[0.07, 16, 16, 0, Math.PI, 0, Math.PI / 1.6]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Front Right Petal */}\n <mesh position={[0.04, 0, 0.02]} scale={[0.8, 1.2, 0.8]} rotation={[0.1, -0.4, -0.1]} castShadow>\n <sphereGeometry args={[0.07, 16, 16, 0, Math.PI, 0, Math.PI / 1.6]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Back Petal */}\n <mesh position={[0, 0.01, -0.04]} scale={[0.9, 1.2, 0.7]} rotation={[-0.2, 0, 0]} castShadow>\n <sphereGeometry args={[0.075, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n\n {/* Glowing Inner Stamen Core (inside cup) */}\n <mesh position={[0, -0.02, 0.01]} castShadow>\n <sphereGeometry args={[0.022, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { LotusIconProps } from \"./types\";\n\nexport function LotusIcon(props: LotusIconProps) {\n return (\n <SharedWrapper iconId=\"lotus\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -Math.PI / 6, 0]} position={[0, 0, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* Flat Green Lotus Water Leaf Pad */}\n <mesh position={[0, -0.07, 0]} rotation={[Math.PI / 2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.22, 0.22, 0.016, 24]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n\n {/* Leaf Pad V-notch cutout detail */}\n <mesh position={[0, -0.07, 0.2]} rotation={[0, 0, 0]} castShadow>\n <boxGeometry args={[0.08, 0.024, 0.08]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#15803d\" />\n </mesh>\n\n {/* Symmetrical blooming petals array */}\n <group position={[0, -0.06, 0]}>\n {/* Outer Petals Layer (8 petals rotated in a circle) */}\n {Array.from({ length: 8 }).map((_, i) => {\n const angle = (i * Math.PI) / 4;\n return (\n <mesh key={i} position={[Math.sin(angle) * 0.06, 0.04, Math.cos(angle) * 0.06]} rotation={[0.4, angle, 0]} castShadow scale={[1, 1.2, 0.5]}>\n <sphereGeometry args={[0.07, 12, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n );\n })}\n\n {/* Inner Petals Layer (Tighter, 6 petals) */}\n {Array.from({ length: 6 }).map((_, i) => {\n const angle = (i * Math.PI) / 3;\n return (\n <mesh key={i} position={[Math.sin(angle) * 0.03, 0.08, Math.cos(angle) * 0.03]} rotation={[0.2, angle, 0]} castShadow scale={[0.8, 1.2, 0.4]}>\n <sphereGeometry args={[0.06, 12, 12, 0, Math.PI * 2, 0, Math.PI / 2]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity * 0.4}\n />\n </mesh>\n );\n })}\n\n {/* Central Glowing Seed Pod Core */}\n <mesh position={[0, 0.09, 0]} castShadow>\n <sphereGeometry args={[0.024, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { DaisyIconProps } from \"./types\";\n\nexport function DaisyIcon(props: DaisyIconProps) {\n return (\n <SharedWrapper iconId=\"daisy\" {...props}>\n {(mat) => (\n <group rotation={[0.25, -0.1, 0.05]} position={[0, 0, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* Circular array of white capsule petals */}\n <group position={[0, 0, 0]}>\n {Array.from({ length: 16 }).map((_, i) => {\n const angle = (i * Math.PI) / 8;\n return (\n <mesh key={i} rotation={[0, 0, angle]} castShadow>\n <cylinderGeometry args={[0.012, 0.012, 0.36, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n );\n })}\n </group>\n\n {/* Central Yellow Button disc (front face) */}\n <mesh position={[0, 0, 0.008]} scale={[1, 1, 0.4]} castShadow>\n <sphereGeometry args={[0.076, 24, 16]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#f59e0b\" />\n </mesh>\n\n {/* Glowing Center Ring/Core Indicator */}\n <mesh position={[0, 0, 0.018]} scale={[1, 1, 0.2]} castShadow>\n <sphereGeometry args={[0.046, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { HibiscusIconProps } from \"./types\";\n\nexport function HibiscusIcon(props: HibiscusIconProps) {\n return (\n <SharedWrapper iconId=\"hibiscus\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.1, 0]} position={[0, -0.02, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* 5 Flared petals arranged in a circle */}\n <group position={[0, 0, 0]}>\n {Array.from({ length: 5 }).map((_, i) => {\n const angle = (i * Math.PI * 2) / 5;\n return (\n <group key={i} rotation={[0, 0, angle]}>\n {/* Flared and tilted petal */}\n <mesh position={[0, 0.1, 0.02]} rotation={[0.4, 0, 0]} scale={[1.3, 1.8, 0.15]} castShadow>\n <sphereGeometry args={[0.08, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n );\n })}\n </group>\n\n {/* Central protruding style/pistil tube */}\n <group rotation={[0.3, 0, 0]} position={[0, 0.02, 0.04]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.01, 0.008, 0.2, 8]} />\n <meshPhysicalMaterial roughness={0.4} metalness={0.1} color={mat.color} />\n </mesh>\n\n {/* Glowing Pollen Tips (Anthers) at the top of style */}\n <group position={[0, 0.1, 0]}>\n {Array.from({ length: 5 }).map((_, i) => {\n const angle = (i * Math.PI * 2) / 5;\n const x = Math.cos(angle) * 0.022;\n const z = Math.sin(angle) * 0.022;\n return (\n <mesh key={i} position={[x, 0.01, z]} castShadow>\n <sphereGeometry args={[0.009, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n );\n })}\n </group>\n </group>\n\n {/* Calyx (green sepals at base) */}\n <mesh position={[0, 0, -0.01]} scale={[1, 1, 0.5]} castShadow>\n <cylinderGeometry args={[0.035, 0.015, 0.04, 10]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { OrchidIconProps } from \"./types\";\n\nexport function OrchidIcon(props: OrchidIconProps) {\n return (\n <SharedWrapper iconId=\"orchid\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.15, 0]} position={[0, -0.01, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* 3 Outer Sepals (120 deg apart) */}\n <group position={[0, 0, 0]}>\n {Array.from({ length: 3 }).map((_, i) => {\n const angle = (i * Math.PI * 2) / 3;\n return (\n <group key={i} rotation={[0, 0, angle]}>\n <mesh position={[0, 0.11, -0.01]} scale={[0.8, 1.6, 0.1]} castShadow>\n <sphereGeometry args={[0.07, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n );\n })}\n </group>\n\n {/* 2 Lateral Petals (flared to the sides, slightly forward) */}\n <group position={[0, 0, 0.01]}>\n {/* Left lateral petal */}\n <mesh position={[-0.09, 0.04, 0]} rotation={[0.1, -0.2, 0.8]} scale={[1.4, 1.1, 0.12]} castShadow>\n <sphereGeometry args={[0.07, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Right lateral petal */}\n <mesh position={[0.09, 0.04, 0]} rotation={[0.1, 0.2, -0.8]} scale={[1.4, 1.1, 0.12]} castShadow>\n <sphereGeometry args={[0.07, 16, 16]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Lower Lip (labellum) - scoop/hood shape */}\n <mesh position={[0, -0.06, 0.025]} scale={[1.2, 1.1, 0.7]} rotation={[0.3, 0, 0]} castShadow>\n <sphereGeometry args={[0.05, 16, 16, 0, Math.PI * 2, 0, Math.PI / 1.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness + 0.1}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n\n {/* Center Column / Pistil component */}\n <mesh position={[0, -0.01, 0.02]} scale={[0.5, 1, 0.5]} rotation={[0.2, 0, 0]} castShadow>\n <cylinderGeometry args={[0.02, 0.015, 0.06, 10]} />\n <meshStandardMaterial roughness={0.4} metalness={0.1} color={mat.color} />\n </mesh>\n\n {/* Glowing Center Core Node */}\n <mesh position={[0, -0.012, 0.036]} castShadow>\n <sphereGeometry args={[0.02, 12, 12]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.5}\n />\n </mesh>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { LilyIconProps } from \"./types\";\n\nexport function LilyIcon(props: LilyIconProps) {\n return (\n <SharedWrapper iconId=\"lily\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.15, 0]} position={[0, -0.04, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* Green Calyx / Stem base */}\n <group position={[0, -0.12, 0.01]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.012, 0.014, 0.15, 8]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n </group>\n\n {/* Calyx bell shape */}\n <mesh position={[0, -0.06, 0.015]} rotation={[0.15, 0, 0]} castShadow>\n <cylinderGeometry args={[0.038, 0.014, 0.08, 10]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#15803d\" />\n </mesh>\n\n {/* 6 Recurved Petals forming a trumpet/bell */}\n <group position={[0, 0, 0.02]}>\n {Array.from({ length: 6 }).map((_, i) => {\n const angle = (i * Math.PI) / 3;\n return (\n <group key={i} rotation={[0.05, 0, angle]}>\n {/* Flared outward petal */}\n <mesh position={[0, 0.09, 0.04]} rotation={[0.45, 0, 0]} scale={[1.1, 1.8, 0.12]} castShadow>\n <sphereGeometry args={[0.075, 16, 16, 0, Math.PI * 2, 0, Math.PI / 1.8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n );\n })}\n </group>\n\n {/* Central Pistil Style (Long green center cylinder) */}\n <group position={[0, 0, 0.03]} rotation={[0.15, 0, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.007, 0.007, 0.18, 8]} />\n <meshStandardMaterial color=\"#16a34a\" />\n </mesh>\n <mesh position={[0, 0.09, 0]} castShadow>\n <sphereGeometry args={[0.012, 8, 8]} />\n <meshStandardMaterial color=\"#14532d\" />\n </mesh>\n </group>\n\n {/* Central Stamens with Glowing Anthers */}\n <group position={[0, -0.02, 0.03]}>\n {Array.from({ length: 5 }).map((_, i) => {\n const angle = (i * Math.PI * 2) / 5;\n return (\n <group key={i} rotation={[0.2, 0, angle]}>\n {/* Filament */}\n <mesh position={[0, 0.08, 0.01]} castShadow>\n <cylinderGeometry args={[0.004, 0.004, 0.15, 6]} />\n <meshStandardMaterial color=\"#bbf7d0\" />\n </mesh>\n {/* Glowing Anther Tip */}\n <mesh position={[0, 0.15, 0.025]} rotation={[0.2, 0, Math.PI / 2]} scale={[2, 1, 1]} castShadow>\n <sphereGeometry args={[0.008, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n );\n })}\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { CactusIconProps } from \"./types\";\n\nexport function CactusIcon(props: CactusIconProps) {\n return (\n <SharedWrapper iconId=\"cactus\" {...props}>\n {(mat) => (\n <group rotation={[0.2, -0.1, 0.05]} position={[0, -0.02, 0]} scale={[1.4, 1.4, 1.4]}>\n {/* Main trunk */}\n <group position={[0, 0, 0]}>\n <mesh castShadow>\n <cylinderGeometry args={[0.045, 0.045, 0.34, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n <mesh position={[0, 0.17, 0]} castShadow>\n <sphereGeometry args={[0.045, 12, 12]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Ribs (vertical texture lines) */}\n <group>\n {Array.from({ length: 6 }).map((_, i) => {\n const angle = (i * Math.PI) / 3;\n const x = Math.cos(angle) * 0.046;\n const z = Math.sin(angle) * 0.046;\n return (\n <mesh key={i} position={[x, 0, z]} rotation={[0, -angle, 0]} castShadow>\n <boxGeometry args={[0.008, 0.33, 0.008]} />\n <meshStandardMaterial color=\"#14532d\" roughness={0.8} />\n </mesh>\n );\n })}\n </group>\n\n {/* Left Branch Arm (lower) */}\n <group position={[-0.04, -0.04, 0]}>\n {/* Horizontal joiner */}\n <mesh position={[-0.025, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.032, 0.032, 0.06, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Corner elbow */}\n <mesh position={[-0.05, 0, 0]} castShadow>\n <sphereGeometry args={[0.032, 8, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Vertical part */}\n <mesh position={[-0.05, 0.06, 0]} castShadow>\n <cylinderGeometry args={[0.032, 0.032, 0.12, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n <mesh position={[-0.05, 0.12, 0]} castShadow>\n <sphereGeometry args={[0.032, 8, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Right Branch Arm (higher) */}\n <group position={[0.04, 0.04, 0]}>\n {/* Horizontal joiner */}\n <mesh position={[0.025, 0, 0]} rotation={[0, 0, Math.PI / 2]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.06, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Corner elbow */}\n <mesh position={[0.05, 0, 0]} castShadow>\n <sphereGeometry args={[0.03, 8, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n {/* Vertical part */}\n <mesh position={[0.05, 0.06, 0]} castShadow>\n <cylinderGeometry args={[0.03, 0.03, 0.12, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n <mesh position={[0.05, 0.12, 0]} castShadow>\n <sphereGeometry args={[0.03, 8, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n </group>\n\n {/* Pot/Base sand block */}\n <mesh position={[0, -0.2, 0]} castShadow>\n <cylinderGeometry args={[0.08, 0.06, 0.07, 12]} />\n <meshStandardMaterial roughness={0.9} metalness={0.05} color=\"#ea580c\" />\n </mesh>\n\n {/* Glowing Spine Pins */}\n <group>\n {/* Left branch spine */}\n <mesh position={[-0.105, 0.06, 0]} rotation={[0, 0, Math.PI / 2]} scale={[0.1, 1, 0.1]} castShadow>\n <coneGeometry args={[0.015, 0.04, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Right branch spine */}\n <mesh position={[0.105, 0.14, 0]} rotation={[0, 0, -Math.PI / 2]} scale={[0.1, 1, 0.1]} castShadow>\n <coneGeometry args={[0.015, 0.04, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Top spine */}\n <mesh position={[0, 0.23, 0]} scale={[0.1, 1, 0.1]} castShadow>\n <coneGeometry args={[0.015, 0.04, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n {/* Trunk mid spine (pointing forward) */}\n <mesh position={[0, 0.08, 0.05]} rotation={[Math.PI / 2, 0, 0]} scale={[0.1, 1, 0.1]} castShadow>\n <coneGeometry args={[0.015, 0.04, 4]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.3}\n />\n </mesh>\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { SharedWrapper } from \"../SharedWrapper\";\nimport { LavenderIconProps } from \"./types\";\n\nexport function LavenderIcon(props: LavenderIconProps) {\n return (\n <SharedWrapper iconId=\"lavender\" {...props}>\n {(mat) => (\n <group rotation={[0.15, -0.1, 0.05]} position={[0, -0.02, 0]} scale={[1.5, 1.5, 1.5]}>\n {/* Main Stem */}\n <mesh position={[0, -0.08, 0]} castShadow>\n <cylinderGeometry args={[0.008, 0.011, 0.3, 8]} />\n <meshStandardMaterial roughness={0.6} metalness={0.1} color=\"#16a34a\" />\n </mesh>\n\n {/* Small leaves branching off lower stem */}\n <group position={[0, -0.14, 0]}>\n <mesh position={[-0.026, 0, 0]} rotation={[0, 0, Math.PI / 4]} castShadow>\n <boxGeometry args={[0.05, 0.006, 0.012]} />\n <meshStandardMaterial roughness={0.6} color=\"#15803d\" />\n </mesh>\n <mesh position={[0.026, 0.02, 0]} rotation={[0, 0, -Math.PI / 4]} castShadow>\n <boxGeometry args={[0.05, 0.006, 0.012]} />\n <meshStandardMaterial roughness={0.6} color=\"#15803d\" />\n </mesh>\n </group>\n\n {/* Stacked tiers of flower pod clusters */}\n <group position={[0, 0.06, 0]}>\n {Array.from({ length: 6 }).map((_, tierIdx) => {\n const yPos = tierIdx * 0.042 - 0.1;\n const scaleFactor = 1.0 - tierIdx * 0.12; // buds taper at the top\n return (\n <group key={tierIdx} position={[0, yPos, 0]} scale={[scaleFactor, scaleFactor, scaleFactor]}>\n {/* Circular pods in this tier */}\n {Array.from({ length: 6 }).map((_, podIdx) => {\n const angle = (podIdx * Math.PI) / 3;\n const radius = 0.022;\n const x = Math.cos(angle) * radius;\n const z = Math.sin(angle) * radius;\n return (\n <mesh\n key={podIdx}\n position={[x, 0, z]}\n rotation={[0.3, 0, angle]}\n scale={[0.7, 1.4, 0.7]}\n castShadow\n >\n <sphereGeometry args={[0.014, 8, 8]} />\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n color={mat.color}\n />\n </mesh>\n );\n })}\n\n {/* Central glowing core node in each tier */}\n <mesh position={[0, 0.006, 0]} castShadow>\n <sphereGeometry args={[0.009, 8, 8]} />\n <meshStandardMaterial\n color={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissive={mat.emissiveIntensity > 0 ? mat.emissive : props.accentColor || \"#10b981\"}\n emissiveIntensity={1.4}\n />\n </mesh>\n </group>\n );\n })}\n </group>\n </group>\n )}\n </SharedWrapper>\n );\n}\n","import { Suspense } from \"react\";\nimport { Text3D, Center } from \"@react-three/drei\";\nimport { SharedWrapper } from \"../SharedWrapper\";\nimport { LetterIconProps } from \"./types\";\nimport type { MaterialConfig } from \"../../types\";\n\nconst DEFAULT_FONT = \"/fonts/helvetiker_bold.typeface.json\";\n\ninterface Letter3DSceneProps {\n letter: string;\n fontUrl: string;\n mat: MaterialConfig;\n}\n\n// Isolated component so Suspense can catch the font-load promise\nfunction Letter3DScene({ letter, fontUrl, mat }: Letter3DSceneProps) {\n return (\n <Center>\n <Text3D\n font={fontUrl}\n size={0.78}\n height={0.24}\n curveSegments={14}\n bevelEnabled\n bevelThickness={0.04}\n bevelSize={0.025}\n bevelSegments={4}\n >\n {letter.toUpperCase()}\n <meshPhysicalMaterial\n roughness={mat.roughness}\n metalness={mat.metalness}\n transmission={mat.transmission}\n thickness={mat.thickness}\n clearcoat={mat.clearcoat}\n clearcoatRoughness={mat.clearcoatRoughness}\n ior={mat.ior}\n color={mat.color}\n emissive={mat.emissive}\n emissiveIntensity={mat.emissiveIntensity}\n />\n </Text3D>\n </Center>\n );\n}\n\nexport function LetterIcon({\n letter = \"A\",\n fontUrl = DEFAULT_FONT,\n ...props\n}: LetterIconProps) {\n return (\n <SharedWrapper iconId={`letter-${letter.toLowerCase()}`} {...props}>\n {(mat) => (\n <Suspense fallback={null}>\n <Letter3DScene letter={letter} fontUrl={fontUrl} mat={mat} />\n </Suspense>\n )}\n </SharedWrapper>\n );\n}\n","/**\n * Individual letter icon exports.\n * Each is a thin wrapper around LetterIcon with the letter pre-filled.\n * Usage: <AIcon preset=\"glass\" color=\"#f43f5e\" />\n */\nimport { LetterIcon } from \"./LetterIcon\";\nimport { LetterIconProps } from \"./types\";\n\ntype LetterOnlyProps = Omit<LetterIconProps, \"letter\">;\n\nexport const AIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"A\" {...props} />;\nexport const BIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"B\" {...props} />;\nexport const CIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"C\" {...props} />;\nexport const DIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"D\" {...props} />;\nexport const EIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"E\" {...props} />;\nexport const FIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"F\" {...props} />;\nexport const GIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"G\" {...props} />;\nexport const HIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"H\" {...props} />;\nexport const IIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"I\" {...props} />;\nexport const JIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"J\" {...props} />;\nexport const KIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"K\" {...props} />;\nexport const LIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"L\" {...props} />;\nexport const MIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"M\" {...props} />;\nexport const NIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"N\" {...props} />;\nexport const OIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"O\" {...props} />;\nexport const PIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"P\" {...props} />;\nexport const QIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"Q\" {...props} />;\nexport const RIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"R\" {...props} />;\nexport const SIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"S\" {...props} />;\nexport const TIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"T\" {...props} />;\nexport const UIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"U\" {...props} />;\nexport const VIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"V\" {...props} />;\nexport const WIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"W\" {...props} />;\nexport const XIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"X\" {...props} />;\nexport const YIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"Y\" {...props} />;\nexport const ZIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"Z\" {...props} />;\n\n// Digit icons 0–9 (same Text3D approach as letters)\nexport const ZeroIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"0\" {...props} />;\nexport const OneIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"1\" {...props} />;\nexport const TwoIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"2\" {...props} />;\nexport const ThreeIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"3\" {...props} />;\nexport const FourIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"4\" {...props} />;\nexport const FiveIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"5\" {...props} />;\nexport const SixIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"6\" {...props} />;\nexport const SevenIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"7\" {...props} />;\nexport const EightIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"8\" {...props} />;\nexport const NineIcon = (props: LetterOnlyProps) => <LetterIcon letter=\"9\" {...props} />;\n"],"mappings":"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","names":["useRef","useState","useEffect","Canvas","useFrame","OrbitControls","Float","Environment","THREE","_isWebGLAvailable","isWebGLAvailable","canvas","React","jsx","jsxs","adjustColor","colorStr","percent","hex","R","G","B","rHex","gHex","bHex","getPremiumGradientColors","preset","baseColor","theme","isDark","mainColor","makeEnhanceElement","strokeGradientId","fillGradientId","shadowFilterId","baseStrokeColor","strokeWidth","enhance","node","props","newProps","getRawSVG","id","strokeColor","letter","Fallback2D","color","grad","strokeGradId","fillGradId","shadowId","cloner","stop","index","rawElement","enhancedChildren","Fragment","jsx","jsxs","getMaterialConfig","preset","baseColor","theme","accentColor","color","accent","StudioLights","isDark","IconScene","children","angle","spinSpeed","floatHeight","interactive","customMaterial","groupRef","useRef","meshRef","hovered","setHovered","useState","mergedMatConfig","useFrame","state","t","targetScale","targetX","targetY","Float","SharedWrapper","variant","size","fallback2d","iconId","canvas","props","sizeStyle","mounted","setMounted","useEffect","isWebGLAvailable","Fallback2D","Canvas","Environment","OrbitControls","jsx","jsxs","DatabaseIcon","props","SharedWrapper","mat","yOffset","index","jsx","jsxs","CloudIcon","props","SharedWrapper","mat","jsx","jsxs","CpuIcon","props","pinOffsets","SharedWrapper","mat","offset","i","jsx","jsxs","NetworkIcon","props","nodes","SharedWrapper","mat","pos","idx","jsx","jsxs","GearIcon","props","teeth","radius","SharedWrapper","mat","_","index","angle","x","z","RoundedBox","jsx","jsxs","FacebookIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","AnchorIcon","props","SharedWrapper","mat","xOffset","index","jsx","jsxs","DiamondIcon","props","SharedWrapper","mat","jsx","jsxs","FilterIcon","props","SharedWrapper","mat","jsx","jsxs","PipelineIcon","props","SharedWrapper","mat","angle","index","jsx","jsxs","RefreshIcon","props","arcLength","headPos","headRot","SharedWrapper","mat","jsx","jsxs","WebhookIcon","props","SharedWrapper","mat","jsx","jsxs","PlusIcon","props","SharedWrapper","mat","jsx","jsxs","MinusIcon","props","SharedWrapper","mat","xOffset","index","jsx","jsxs","CloseIcon","props","SharedWrapper","mat","jsx","jsxs","InfoIcon","props","SharedWrapper","mat","jsx","jsxs","AlertCircleIcon","props","SharedWrapper","mat","jsx","jsxs","RocketIcon","props","SharedWrapper","mat","jsx","jsxs","FlashIcon","props","SharedWrapper","mat","jsx","jsxs","ShieldIcon","props","SharedWrapper","mat","jsx","jsxs","FolderIcon","props","SharedWrapper","mat","jsx","jsxs","MailIcon","props","SharedWrapper","mat","jsx","jsxs","WalletIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","CalendarIcon","props","dayOffsets","rowOffsets","SharedWrapper","mat","RoundedBox","y","rowIdx","x","colIdx","jsx","jsxs","DollarIcon","props","SharedWrapper","mat","jsx","jsxs","ThumbUpIcon","props","fingerOffsets","SharedWrapper","mat","yOffset","i","useMemo","THREE","jsx","jsxs","HeartIcon","props","heartShape","useMemo","shape","extrudeSettings","SharedWrapper","mat","useMemo","THREE","RoundedBox","jsx","jsxs","ChatIcon","props","bubbleShape","useMemo","shape","extrudeSettings","SharedWrapper","mat","RoundedBox","RoundedBox","jsx","jsxs","KeyIcon","props","SharedWrapper","mat","RoundedBox","useMemo","THREE","jsx","jsxs","StarIcon","props","starShape","useMemo","shape","spikes","outerRadius","innerRadius","step","angle","i","x","y","extrudeSettings","SharedWrapper","mat","RoundedBox","jsx","jsxs","CartIcon","props","wheelPositions","SharedWrapper","mat","RoundedBox","pos","idx","jsx","jsxs","MusicIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","GamepadIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","BellIcon","props","SharedWrapper","mat","jsx","jsxs","SunIcon","props","rays","rayRadius","SharedWrapper","mat","_","index","angle","x","y","jsx","jsxs","BulbIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","CameraIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","ClockIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","TrophyIcon","props","SharedWrapper","mat","RoundedBox","RoundedBox","jsx","jsxs","LockIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","MapPinIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","CreditCardIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","WifiIcon","props","arcLength","zRotation","SharedWrapper","mat","jsx","jsxs","SearchIcon","props","SharedWrapper","mat","jsx","jsxs","HomeIcon","props","SharedWrapper","mat","jsx","jsxs","TrashIcon","props","ribs","SharedWrapper","mat","deg","i","rad","x","z","jsx","jsxs","UserIcon","props","SharedWrapper","mat","jsx","jsxs","PlayIcon","props","SharedWrapper","mat","jsx","jsxs","GiftIcon","props","SharedWrapper","mat","jsx","jsxs","GlobeIcon","props","SharedWrapper","mat","jsx","jsxs","BagIcon","props","SharedWrapper","mat","jsx","jsxs","CompassIcon","props","SharedWrapper","mat","jsx","jsxs","SendIcon","props","SharedWrapper","mat","jsx","jsxs","TargetIcon","props","SharedWrapper","mat","jsx","jsxs","EditIcon","props","SharedWrapper","mat","jsx","jsxs","PhoneIcon","props","SharedWrapper","mat","jsx","jsxs","BookIcon","props","SharedWrapper","mat","jsx","jsxs","LinkIcon","props","SharedWrapper","mat","jsx","jsxs","CrownIcon","props","SharedWrapper","mat","ac","x","i","jsx","jsxs","PinIcon","props","SharedWrapper","mat","jsx","jsxs","FlagIcon","props","SharedWrapper","mat","jsx","jsxs","BriefcaseIcon","props","SharedWrapper","mat","jsx","jsxs","EyeIcon","props","SharedWrapper","mat","jsx","jsxs","TagIcon","props","SharedWrapper","mat","jsx","jsxs","CoffeeIcon","props","SharedWrapper","mat","jsx","jsxs","ShareIcon","props","angle","rodLength","SharedWrapper","mat","jsx","jsxs","LayersIcon","props","SharedWrapper","mat","jsx","jsxs","ProceduralStar","mat","scale","position","r","h","SparklesIcon","props","SharedWrapper","jsx","jsxs","MegaphoneIcon","props","SharedWrapper","mat","jsx","jsxs","DownloadIcon","props","SharedWrapper","mat","jsx","jsxs","UploadIcon","props","SharedWrapper","mat","jsx","jsxs","MonitorIcon","props","SharedWrapper","mat","jsx","jsxs","KeyboardIcon","props","rows","cols","SharedWrapper","mat","r","rIdx","c","cIdx","jsx","jsxs","MouseIcon","props","SharedWrapper","mat","jsx","jsxs","HardDriveIcon","props","gridX","gridY","SharedWrapper","mat","y","yIdx","x","xIdx","jsx","jsxs","GlassmorphismIcon","props","SharedWrapper","mat","jsx","jsxs","GithubIcon","props","SharedWrapper","mat","jsx","jsxs","TwitterIcon","props","SharedWrapper","mat","jsx","jsxs","GoogleIcon","props","primaryColor","SharedWrapper","mat","jsx","jsxs","RouterIcon","props","SharedWrapper","mat","xOffset","index","jsx","jsxs","ServerIcon","props","bladeOffsets","SharedWrapper","mat","yOffset","index","xOffset","vIndex","jsx","jsxs","WrenchIcon","props","SharedWrapper","mat","jsx","jsxs","BoltIcon","props","threadOffsets","SharedWrapper","mat","yOffset","index","jsx","jsxs","SmileIcon","props","SharedWrapper","mat","jsx","jsxs","FrownIcon","props","SharedWrapper","mat","jsx","jsxs","HeartEyesIcon","props","renderHeartEye","xOffset","yOffset","SharedWrapper","mat","jsx","jsxs","HammerIcon","props","SharedWrapper","mat","jsx","jsxs","ScrewdriverIcon","props","SharedWrapper","mat","angle","index","jsx","jsxs","NutIcon","props","SharedWrapper","mat","yOffset","jsx","jsxs","PrinterIcon","props","SharedWrapper","mat","jsx","jsxs","SpeakerIcon","props","SharedWrapper","mat","yPos","jsx","jsxs","EthernetIcon","props","SharedWrapper","mat","_","idx","xOffset","jsx","jsxs","SatelliteIcon","props","SharedWrapper","mat","jsx","jsxs","CodeIcon","props","SharedWrapper","mat","jsx","jsxs","TerminalIcon","props","SharedWrapper","mat","xOffset","idx","jsx","jsxs","GitIcon","props","SharedWrapper","mat","jsx","jsxs","FigmaIcon","props","SharedWrapper","mat","isGlass","cTopLeft","cTopRight","cMidLeft","cMidRight","cBotLeft","jsx","jsxs","BarChartIcon","props","SharedWrapper","mat","jsx","jsxs","CheckIcon","props","SharedWrapper","mat","jsx","jsxs","ContainerIcon","props","SharedWrapper","mat","x","jsx","jsxs","ShieldCheckIcon","props","SharedWrapper","mat","jsx","jsxs","ReactIcon","props","SharedWrapper","mat","orbitColor","nucleusColor","ringMat","jsx","jsxs","NodeIcon","props","SharedWrapper","mat","accentCol","faceZ","legHeight","legHalfH","legX","diagAngle","diagLength","legMat","jsx","jsxs","BugIcon","props","SharedWrapper","mat","accent","ac","x","i","y","z","rx","row","side","j","jsx","jsxs","FlaskIcon","props","SharedWrapper","mat","ac","jsx","jsxs","PieChartIcon","props","SharedWrapper","mat","ac","useState","useEffect","useRef","useMemo","THREE","jsx","jsxs","OUTER_PROFILE_POINTS","INNER_PROFILE_POINTS","FlameIcon","props","outerPoints","useMemo","p","innerPoints","flatness","FlameStudio","SharedWrapper","mat","threeLoaded","setThreeLoaded","useState","toastMessage","setToastMessage","primaryColor","setPrimaryColor","accentColor","setAccentColor","coreColor","setCoreColor","flameStyle","setFlameStyle","swayIntensity","setSwayIntensity","flickerSpeed","setFlickerSpeed","setFlatness","showLogs","setShowLogs","emberCount","setEmberCount","orthographic","setOrthographic","gridVisible","setGridVisible","lightingPreset","setLightingPreset","activeTab","setActiveTab","codeTab","setCodeTab","containerRef","useRef","canvasRef","sceneRef","rendererRef","cameraRef","orthoCameraRef","activeCameraRef","rotationGroupRef","flameGroupRef","outerFlameRef","midFlameRef","innerFlameRef","logsGroupRef","embersArrayRef","keyLightRef","fillLightRef","coreLightRef","gridHelperRef","previousMousePosition","isDragging","setIsDragging","useEffect","script","handleLoad","capturedScript","triggerToast","msg","copyToClipboard","text","label","buildLatheGeometry","pointsData","THREE","vectors","width","height","scene","camera","aspect","d","orthoCamera","renderer","rotationGroup","flameGroup","ambientLight","keyLight","fillLight","coreLight","gridHelper","logsGroup","logMaterial","logGeom","log1","log2","charcoalGeom","charcoalMat","charcoal","embersGroup","emberGeom","emberMat","embers","i","mesh","outerGeom","innerGeom","outerMat","midMat","innerMat","outerMesh","midMesh","innerMesh","animFrameId","clock","animate","time","flickerFactor","baseScaleY","baseScaleXZ","swayAmount","ember","index","drift","heightFactor","scale","handleResize","w","h","activeAspect","pm","mm","im","handleMouseDown","e","handleMouseMove","deltaX","deltaY","handleMouseUp","handleTouchStart","handleTouchMove","resetRotation","downloadPng","gridWasVisible","dataUrl","link","applySpectrumPreset","type","getThreeJsCode","preset","idx","style","jsx","jsxs","ActivityIcon","props","segments","joints","SharedWrapper","mat","ac","seg","idx","joint","jsx","jsxs","GraduationCapIcon","props","SharedWrapper","mat","tasselColor","ac","jsx","jsxs","TrendingUpIcon","props","segments","joints","arrowAngle","headPos","headRot","SharedWrapper","mat","ac","seg","idx","joint","RoundedBox","jsx","jsxs","InstagramIcon","props","SharedWrapper","mat","flashColor","RoundedBox","jsx","jsxs","PackageIcon","props","SharedWrapper","mat","tapeColor","ac","jsx","jsxs","AirplaneIcon","props","SharedWrapper","mat","jsx","jsxs","BatteryIcon","props","SharedWrapper","mat","jsx","jsxs","VideoIcon","props","SharedWrapper","mat","jsx","jsxs","MicrophoneIcon","props","SharedWrapper","mat","jsx","jsxs","SlidersIcon","props","tracks","SharedWrapper","mat","track","idx","jsx","jsxs","MapIcon","props","SharedWrapper","mat","jsx","jsxs","UmbrellaIcon","props","spokeTips","_","i","angle","SharedWrapper","mat","tip","idx","jsx","jsxs","ScissorsIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","UnlockIcon","props","SharedWrapper","mat","RoundedBox","RoundedBox","jsx","jsxs","ArchiveIcon","props","SharedWrapper","mat","RoundedBox","jsx","jsxs","ShieldAlertIcon","props","SharedWrapper","mat","jsx","jsxs","EyeOffIcon","props","SharedWrapper","mat","jsx","jsxs","UserPlusIcon","props","SharedWrapper","mat","jsx","jsxs","TrendingDownIcon","props","segments","joints","arrowAngle","headPos","headRot","SharedWrapper","mat","ac","seg","idx","joint","jsx","jsxs","CopyIcon","props","SharedWrapper","mat","jsx","jsxs","GaugeIcon","props","SharedWrapper","mat","angle","jsx","jsxs","MagnetIcon","props","SharedWrapper","mat","jsx","jsxs","StackIcon","props","SharedWrapper","mat","yOffset","index","x","z","i","y","jsx","jsxs","WorkflowIcon","props","SharedWrapper","mat","jsx","jsxs","TopologyIcon","props","SharedWrapper","mat","x","y","index","jsx","jsxs","FileIcon","props","SharedWrapper","mat","jsx","jsxs","HeadphonesIcon","props","SharedWrapper","mat","x","jsx","jsxs","MoonIcon","props","SharedWrapper","mat","jsx","jsxs","PaperclipIcon","props","SharedWrapper","mat","jsx","jsxs","BookmarkIcon","props","SharedWrapper","mat","jsx","jsxs","CloudLightningIcon","props","SharedWrapper","mat","jsx","jsxs","FolderOpenIcon","props","SharedWrapper","mat","jsx","jsxs","VolumeIcon","props","SharedWrapper","mat","jsx","jsxs","BellOffIcon","props","SharedWrapper","mat","jsx","jsxs","SunMoonIcon","props","SharedWrapper","mat","angle","jsx","jsxs","PistonIcon","props","SharedWrapper","mat","jsx","jsxs","SpringIcon","props","helixRotation","SharedWrapper","mat","_","index","yPos","jsx","jsxs","AnvilIcon","props","SharedWrapper","mat","jsx","jsxs","HookIcon","props","SharedWrapper","mat","jsx","jsxs","TurbineIcon","props","blades","SharedWrapper","mat","angle","index","rad","jsx","jsxs","PliersIcon","props","SharedWrapper","mat","jsx","jsxs","DrillIcon","props","SharedWrapper","mat","jsx","jsxs","HacksawIcon","props","SharedWrapper","mat","jsx","jsxs","TapeMeasureIcon","props","SharedWrapper","mat","jsx","jsxs","CaliperIcon","props","SharedWrapper","mat","jsx","jsxs","SpiritLevelIcon","props","SharedWrapper","mat","jsx","jsxs","SledgehammerIcon","props","SharedWrapper","mat","jsx","jsxs","PhoneMobileIcon","props","SharedWrapper","mat","jsx","jsxs","TabletIcon","props","SharedWrapper","mat","jsx","jsxs","LaptopIcon","props","SharedWrapper","mat","jsx","jsxs","SmartWatchIcon","props","SharedWrapper","mat","jsx","jsxs","RouterWifiIcon","props","SharedWrapper","mat","jsx","jsxs","ServerRackIcon","props","slots","SharedWrapper","mat","yOffset","index","jsx","jsxs","HardDriveExternalIcon","props","SharedWrapper","mat","jsx","jsxs","WebcamIcon","props","SharedWrapper","mat","jsx","jsxs","ChiselIcon","props","SharedWrapper","mat","jsx","jsxs","CrowbarIcon","props","SharedWrapper","mat","jsx","jsxs","FunnelIcon","props","SharedWrapper","mat","jsx","jsxs","OilCanIcon","props","SharedWrapper","mat","jsx","jsxs","BearingIcon","props","SharedWrapper","mat","_","index","angle","xPos","yPos","jsx","jsxs","PulleyIcon","props","SharedWrapper","mat","jsx","jsxs","SprocketIcon","props","SharedWrapper","mat","_","index","angle","xPos","yPos","jsx","jsxs","ProjectorIcon","props","SharedWrapper","mat","jsx","jsxs","GameConsoleIcon","props","SharedWrapper","mat","jsx","jsxs","VRHeadsetIcon","props","SharedWrapper","mat","jsx","jsxs","SmartSpeakerIcon","props","SharedWrapper","mat","jsx","jsxs","PowerBankIcon","props","SharedWrapper","mat","jsx","jsxs","UsbDriveIcon","props","SharedWrapper","mat","jsx","jsxs","MotherboardIcon","props","SharedWrapper","mat","jsx","jsxs","RamStickIcon","props","chips","SharedWrapper","mat","xOffset","index","jsx","jsxs","CrankIcon","props","SharedWrapper","mat","jsx","jsxs","CamshaftIcon","props","lobes","SharedWrapper","mat","zPos","idx","lobe","index","jsx","jsxs","DriveShaftIcon","props","SharedWrapper","mat","xPos","idx","jsx","jsxs","ValveIcon","props","SharedWrapper","mat","xPos","idx","_","index","angle","jsx","jsxs","PropellerIcon","props","SharedWrapper","mat","_","index","angle","jsx","jsxs","HelicopterRotorIcon","props","SharedWrapper","mat","_","index","angle","jsx","jsxs","HydraulicJackIcon","props","SharedWrapper","mat","jsx","jsxs","GpuIcon","props","fans","fanBladeCount","SharedWrapper","mat","yPos","idx","xPos","fanIdx","_","bladeIdx","angle","jsx","jsxs","PowerSupplyIcon","props","SharedWrapper","mat","zOffset","idx","_","index","angle","yOffset","colors","cableColor","jsx","jsxs","NetworkSwitchIcon","props","ports","SharedWrapper","mat","xOffset","idx","yOffset","bIdx","xPos","jsx","jsxs","SmartPlugIcon","props","SharedWrapper","mat","jsx","jsxs","SmartBulbIcon","props","SharedWrapper","mat","_","idx","jsx","jsxs","SecurityCameraIcon","props","SharedWrapper","mat","jsx","jsxs","SmartLockIcon","props","SharedWrapper","mat","xOffset","idx","jsx","jsxs","ThermostatIcon","props","SharedWrapper","mat","_","idx","angle","jsx","jsxs","GClampIcon","props","SharedWrapper","mat","xOffset","idx","jsx","jsxs","ViceIcon","props","SharedWrapper","mat","offset","idx","yPos","xPos","jsx","jsxs","GreaseGunIcon","props","SharedWrapper","mat","yPos","idx","jsx","jsxs","GearboxIcon","props","SharedWrapper","mat","xOffset","idx","zOffset","bIdx","jsx","jsxs","DifferentialIcon","props","SharedWrapper","mat","xPos","idx","jsx","jsxs","SuspensionIcon","props","SharedWrapper","mat","_","index","zOffset","jsx","jsxs","WindlassIcon","props","SharedWrapper","mat","xOffset","idx","xPos","_","jsx","jsxs","EarbudsIcon","props","SharedWrapper","mat","jsx","jsxs","SmartRingIcon","props","SharedWrapper","mat","_","idx","angle","xPos","yPos","jsx","jsxs","DrawingTabletIcon","props","SharedWrapper","mat","yOffset","idx","jsx","jsxs","BarcodeScannerIcon","props","SharedWrapper","mat","jsx","jsxs","POSRegisterIcon","props","SharedWrapper","mat","jsx","jsxs","CalculatorIcon","props","buttonGrid","SharedWrapper","mat","btn","idx","xPos","yPos","isEqualKey","jsx","jsxs","RemoteControlIcon","props","SharedWrapper","mat","_","idx","row","xPos","yPos","jsx","jsxs","SoundbarIcon","props","SharedWrapper","mat","jsx","jsxs","JackhammerIcon","props","SharedWrapper","mat","_","jsx","jsxs","SolderingIronIcon","props","SharedWrapper","mat","jsx","jsxs","BlowtorchIcon","props","SharedWrapper","mat","jsx","jsxs","WheelbarrowIcon","props","SharedWrapper","mat","jsx","jsxs","PlumbBobIcon","props","SharedWrapper","mat","jsx","jsxs","ShearsIcon","props","SharedWrapper","mat","jsx","jsxs","WireStripperIcon","props","SharedWrapper","mat","y","idx","jsx","jsxs","PipeWrenchIcon","props","SharedWrapper","mat","xOffset","idx","yOffset","jsx","jsxs","FloppyDiskIcon","props","SharedWrapper","mat","jsx","jsxs","TapeCassetteIcon","props","SharedWrapper","mat","jsx","jsxs","CompactDiscIcon","props","SharedWrapper","mat","jsx","jsxs","TvIcon","props","SharedWrapper","mat","jsx","jsxs","RadioIcon","props","SharedWrapper","mat","jsx","jsxs","WalkieTalkieIcon","props","SharedWrapper","mat","yOffset","idx","y","jsx","jsxs","HeadsetIcon","props","SharedWrapper","mat","jsx","jsxs","FishIcon","props","SharedWrapper","mat","jsx","jsxs","ButterflyIcon","props","SharedWrapper","mat","jsx","jsxs","BirdIcon","props","SharedWrapper","mat","jsx","jsxs","CatIcon","props","SharedWrapper","mat","jsx","jsxs","DogIcon","props","SharedWrapper","mat","jsx","jsxs","RabbitIcon","props","SharedWrapper","mat","jsx","jsxs","ElephantIcon","props","SharedWrapper","mat","jsx","jsxs","OwlIcon","props","SharedWrapper","mat","jsx","jsxs","TurtleIcon","props","SharedWrapper","mat","jsx","jsxs","DolphinIcon","props","SharedWrapper","mat","jsx","jsxs","RoseIcon","props","SharedWrapper","mat","jsx","jsxs","SunflowerIcon","props","SharedWrapper","mat","_","angle","jsx","jsxs","TulipIcon","props","SharedWrapper","mat","jsx","jsxs","LotusIcon","props","SharedWrapper","mat","_","angle","jsx","jsxs","DaisyIcon","props","SharedWrapper","mat","_","angle","jsx","jsxs","HibiscusIcon","props","SharedWrapper","mat","_","angle","x","z","jsx","jsxs","OrchidIcon","props","SharedWrapper","mat","_","angle","jsx","jsxs","LilyIcon","props","SharedWrapper","mat","_","angle","jsx","jsxs","CactusIcon","props","SharedWrapper","mat","_","angle","x","z","jsx","jsxs","LavenderIcon","props","SharedWrapper","mat","_","tierIdx","yPos","scaleFactor","podIdx","angle","radius","x","Suspense","Text3D","Center","jsx","jsxs","DEFAULT_FONT","Letter3DScene","letter","fontUrl","mat","Center","Text3D","LetterIcon","props","SharedWrapper","Suspense","jsx","AIcon","props","LetterIcon","BIcon","CIcon","DIcon","EIcon","FIcon","GIcon","HIcon","IIcon","JIcon","KIcon","LIcon","MIcon","NIcon","OIcon","PIcon","QIcon","RIcon","SIcon","TIcon","UIcon","VIcon","WIcon","XIcon","YIcon","ZIcon","ZeroIcon","OneIcon","TwoIcon","ThreeIcon","FourIcon","FiveIcon","SixIcon","SevenIcon","EightIcon","NineIcon"]}
|