LLM-test/test/code/1/deepseel-cc/js/config.js

401 lines
11 KiB
JavaScript

/* ==========================================================================
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);
};
}