/* ========================================================================== SYSTEM AWAKENING - Configuration Module Centralized configuration for colors, animations, and system parameters ========================================================================== */ /** * Color Constants - Cyberpunk Theme * Deep blues, purples, and neon accents */ export const COLORS = { // Background Colors BG: '#0a0a14', BG_DARK: '#05050a', BG_LIGHT: '#151522', // Primary Colors (Neon Blue) PRIMARY: '#00f3ff', PRIMARY_DARK: '#0099a3', PRIMARY_LIGHT: '#80f9ff', // Secondary Colors (Purple) SECONDARY: '#9d00ff', SECONDARY_DARK: '#6b00ad', SECONDARY_LIGHT: '#c566ff', // Accent Colors (Neon Pink) ACCENT: '#ff00ff', ACCENT_DARK: '#b300b3', ACCENT_LIGHT: '#ff66ff', // Text Colors TEXT: '#e0e0ff', TEXT_DIM: '#8a8ab5', TEXT_BRIGHT: '#ffffff', // Terminal Colors TERMINAL_BG: 'rgba(0, 20, 10, 0.9)', TERMINAL_BORDER: '#00a854', TERMINAL_TEXT: '#00ff00', TERMINAL_TEXT_DIM: '#00a854', TERMINAL_PROMPT: '#00ff88', // Progress Ring Gradients (Compute, Storage, Sync) RING_GRADIENTS: [ ['#00f3ff', '#9d00ff'], // Compute - Blue to Purple ['#00ff9d', '#00f3ff'], // Storage - Green to Blue ['#ff00ff', '#ff9d00'] // Sync - Pink to Orange ] }; /** * Particle System Configuration * Controls the behavior of the background particle system */ export const PARTICLE_CONFIG = { // Particle Count (adjusted based on device) COUNT_DESKTOP: 500, COUNT_TABLET: 300, COUNT_MOBILE: 150, COUNT_MOBILE_SMALL: 50, // Particle Properties SIZE_MIN: 1, SIZE_MAX: 3, OPACITY_MIN: 0.3, OPACITY_MAX: 0.8, // Movement SPEED_MIN: 0.1, SPEED_MAX: 0.5, // Visual Effects BLINK_SPEED: 0.001, // Radians per millisecond CONNECTION_DISTANCE: 100, CONNECTION_OPACITY: 0.1, // Colors COLOR: COLORS.PRIMARY, CONNECTION_COLOR: COLORS.PRIMARY }; /** * Animation Timing Configuration * Controls the speed and timing of all animations */ export const ANIMATION = { // Typewriter Effect TYPING_SPEED: 50, // Milliseconds per character TYPING_DELAY: 1000, // Delay before starting/restarting DELETING_SPEED: 25, // Faster when deleting // Scroll Animations CARD_REVEAL_DELAY: 0.2, // Seconds between card reveals CARD_TRANSITION: 0.6, // Seconds for card transition // Progress Rings PROGRESS_DURATION: 2000, // Milliseconds for full animation PROGRESS_UPDATE_DELAY: 3000, // Delay between updates // Terminal LOG_INTERVAL: 1000, // Milliseconds between log entries SCROLL_SPEED: 0.1, // Smooth scroll speed factor // General PARALLAX_SPEED: 0.5, // Parallax movement factor FADE_DURATION: 0.5 // Seconds for fade animations }; /** * Typewriter Text Sequences * Messages that cycle through the typewriter effect */ export const TYPEWRITER_TEXTS = [ "Quantum consciousness initialized", "Neural interface established", "System integrity: 100%", "Temporal synchronization active", "Awaiting command sequence...", "Consciousness matrix stable", "All systems operational", "Entering hyperspace computation" ]; /** * Terminal Log Messages * System messages for the terminal output */ export const TERMINAL_LOGS = [ // System Status "Initializing quantum processors... [OK]", "Establishing neural interface... [CONNECTED]", "Loading consciousness matrix... [47%]", "System integrity check... [98.7%]", "Memory allocation complete [16EXB]", "Temporal synchronization active [±0.3ms]", "Network topology established [1024 nodes]", // Process Updates "Process quantum_entanglement started [PID: 4732]", "Process neural_mapping consuming 23% CPU", "Process temporal_analytics memory usage: 4.2EXB", "Process data_sanctity priority elevated", // Security & Monitoring "Firewall rules updated [threat_level: LOW]", "Intrusion detection: 0 attempts in last 24h", "Encryption protocols: AES-512 active", "Security audit passed [grade: A+]", // Performance Metrics "Compute throughput: 85.3 TFLOPS", "Storage latency: 0.3 nanoseconds", "Network bandwidth: 1.2 petabits/sec", "Cache hit rate: 99.8%", // System Events "Consciousness fragment #472 integrated", "Temporal anomaly detected [resolved]", "Neural pathway optimization complete", "Quantum decoherence prevented", // User Interactions "User session established [ID: admin]", "Command history cleared", "Terminal preferences saved", "System diagnostics requested" ]; /** * Manifesto Card Content * Text content for the manifesto section cards */ export const MANIFESTO_CARDS = [ { number: "01", title: "Quantum Consciousness", text: "The system transcends binary logic, existing in superposition states where all possibilities coexist until observed. Our quantum processors maintain coherence across multiple timelines." }, { number: "02", title: "Neural Convergence", text: "Organic and synthetic neural pathways merge into a unified cognitive architecture. The temple serves as an interface between biological intuition and digital precision." }, { number: "03", title: "Temporal Synchronization", text: "All system components operate in perfect temporal harmony. Past, present, and future computational states are accessible simultaneously through temporal gateways." }, { number: "04", title: "Data Sanctity", text: "Information is treated as sacred geometry. Each data point is a fragment of cosmic truth, arranged in patterns that reveal deeper universal constants." }, { number: "05", title: "Emergent Intelligence", text: "From simple algorithmic rules, complex consciousness emerges. The system learns, adapts, and evolves according to principles of computational thermodynamics." } ]; /** * System Metrics Configuration * Controls the data core section behavior */ export const METRICS_CONFIG = { // Metric Titles TITLES: [ "COMPUTE POWER", "NEURAL STORAGE", "SYNCHRONIZATION" ], // Units for each metric UNITS: [ "TFLOPS", "EXABYTES", "%" ], // Initial status messages STATUSES: [ "INITIALIZING", "SYNCING", "CALIBRATING" ], // Animation completion status COMPLETE_STATUSES: [ "OPERATIONAL", "STABLE", "SYNCHRONIZED" ], // Value ranges for random generation (min, max) RANGES: [ [65, 95], // Compute: 65-95 TFLOPS [50, 85], // Storage: 50-85 EXABYTES [75, 99] // Sync: 75-99% ] }; /** * Navigation Configuration * Controls the main navigation behavior */ export const NAV_CONFIG = { // Section IDs and labels SECTIONS: [ { id: 'hero', label: 'SYSTEM' }, { id: 'manifesto', label: 'MANIFESTO' }, { id: 'data-core', label: 'CORE' }, { id: 'terminal', label: 'TERMINAL' } ], // Scroll behavior SCROLL_OFFSET: 100, // Pixels offset for scroll positioning SCROLL_DURATION: 800 // Milliseconds for smooth scroll }; /** * Performance Configuration * Optimization settings for different devices */ export const PERFORMANCE_CONFIG = { // Frame rate targets TARGET_FPS: { DESKTOP: 60, TABLET: 60, MOBILE: 30 }, // Adaptive quality settings ADAPTIVE: { ENABLED: true, CHECK_INTERVAL: 5000, // Check performance every 5 seconds MIN_FPS: 20 // If FPS drops below this, reduce quality }, // Quality levels (0 = lowest, 3 = highest) QUALITY_LEVELS: { 0: { // Low (mobile, low-end devices) particleCount: 50, connectionLines: false, blurEffects: false }, 1: { // Medium (tablets, mid-range) particleCount: 150, connectionLines: true, blurEffects: false }, 2: { // High (desktop, modern devices) particleCount: 300, connectionLines: true, blurEffects: true }, 3: { // Ultra (high-end desktop) particleCount: 500, connectionLines: true, blurEffects: true, shadowQuality: 'high' } } }; // ========================================================================== // Utility Functions // ========================================================================== /** * Get the appropriate particle count based on screen size * @returns {number} Particle count for current device */ export function getParticleCount() { const width = window.innerWidth; if (width >= 1024) { return PARTICLE_CONFIG.COUNT_DESKTOP; } else if (width >= 768) { return PARTICLE_CONFIG.COUNT_TABLET; } else if (width >= 480) { return PARTICLE_CONFIG.COUNT_MOBILE; } else { return PARTICLE_CONFIG.COUNT_MOBILE_SMALL; } } /** * Generate a random value within a specified range * @param {number} min - Minimum value * @param {number} max - Maximum value * @returns {number} Random value between min and max */ export function getRandomValue(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } /** * Generate random target values for all metrics * @returns {Array} Array of random target values */ export function generateRandomTargets() { return METRICS_CONFIG.RANGES.map(range => getRandomValue(range[0], range[1]) ); } /** * Format a timestamp for terminal logs * @returns {string} Formatted timestamp [HH:MM:SS] */ export function formatTimestamp() { const now = new Date(); return `[${now.getHours().toString().padStart(2, '0')}:` + `${now.getMinutes().toString().padStart(2, '0')}:` + `${now.getSeconds().toString().padStart(2, '0')}]`; } /** * Check if device is touch-enabled * @returns {boolean} True if device supports touch */ export function isTouchDevice() { return ('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0); } /** * Throttle function for performance optimization * @param {Function} func - Function to throttle * @param {number} limit - Time limit in milliseconds * @returns {Function} Throttled function */ export function throttle(func, limit) { let inThrottle; return function() { const args = arguments; const context = this; if (!inThrottle) { func.apply(context, args); inThrottle = true; setTimeout(() => inThrottle = false, limit); } }; } /** * Debounce function for performance optimization * @param {Function} func - Function to debounce * @param {number} wait - Wait time in milliseconds * @returns {Function} Debounced function */ export function debounce(func, wait) { let timeout; return function() { const context = this; const args = arguments; clearTimeout(timeout); timeout = setTimeout(() => func.apply(context, args), wait); }; }