johangras commited on
Commit
4cce8d1
·
1 Parent(s): 8ff9916

✨ Add epic intro sequence with enhanced aurora effects

Browse files

- Pulsating title with massive glow effects
- Animated welcome messages with fade-in
- Enhanced particle system with 7 colors
- Lightning particles for intense bursts
- Auto-start evolution after 4 seconds
- Multiple burst patterns for visual variety
- Gradient background for depth

Files changed (1) hide show
  1. app.py +68 -11
app.py CHANGED
@@ -20,16 +20,44 @@ state = {
20
  "running": False
21
  }
22
 
23
- # HTML for aurora effect
24
  AURORA_HTML = """
25
- <div id="aurora-container" style="position: relative; width: 100%; height: 400px; background: #000; overflow: hidden;">
26
  <canvas id="aurora-canvas" style="width: 100%; height: 100%;"></canvas>
27
- <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 10;">
28
- <h1 style="color: #00FF88; font-size: 48px; margin: 0; text-shadow: 0 0 20px #00FF88;">Evolution Aurora</h1>
29
- <p style="color: #7B3FF2; font-size: 24px; text-shadow: 0 0 10px #7B3FF2;">AI Learning to Code</p>
 
 
 
 
 
 
 
30
  </div>
31
  </div>
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  <script>
34
  const canvas = document.getElementById('aurora-canvas');
35
  const ctx = canvas.getContext('2d');
@@ -77,15 +105,30 @@ class Particle {
77
  function createBurst(intensity) {
78
  const centerX = canvas.width / 2;
79
  const centerY = canvas.height / 2;
80
- const colors = ['#00FF88', '#7B3FF2', '#00AAFF', '#FFD700'];
81
 
 
82
  for (let i = 0; i < 100 * intensity; i++) {
 
 
 
 
83
  particles.push(new Particle(
84
- centerX + (Math.random() - 0.5) * 100,
85
- centerY + (Math.random() - 0.5) * 100,
86
- colors[Math.floor(Math.random() * colors.length)]
87
  ));
88
  }
 
 
 
 
 
 
 
 
 
 
89
  }
90
 
91
  function animate() {
@@ -109,8 +152,22 @@ setInterval(() => {
109
  }
110
  }, 2000);
111
 
112
- // Initial burst
113
- setTimeout(() => createBurst(3), 500);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  </script>
115
  """
116
 
 
20
  "running": False
21
  }
22
 
23
+ # HTML for aurora effect with epic intro
24
  AURORA_HTML = """
25
+ <div id="aurora-container" style="position: relative; width: 100%; height: 400px; background: linear-gradient(to bottom, #000428, #004e92); overflow: hidden; border-radius: 10px;">
26
  <canvas id="aurora-canvas" style="width: 100%; height: 100%;"></canvas>
27
+ <div id="title-container" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 10;">
28
+ <h1 id="main-title" style="color: #00FF88; font-size: 64px; margin: 0; text-shadow: 0 0 30px #00FF88, 0 0 60px #00FF88; animation: pulse 2s ease-in-out infinite;">
29
+ Evolution Aurora
30
+ </h1>
31
+ <p style="color: #FFD700; font-size: 28px; text-shadow: 0 0 20px #FFD700; margin-top: 10px; opacity: 0; animation: fadeIn 2s ease-in 1s forwards;">
32
+ Watch AI Learn to Code in Real-Time
33
+ </p>
34
+ <p id="welcome-msg" style="color: #00AAFF; font-size: 20px; margin-top: 20px; opacity: 0; animation: fadeIn 2s ease-in 2s forwards;">
35
+ 🚀 Welcome to the Future of AI Development
36
+ </p>
37
  </div>
38
  </div>
39
 
40
+ <style>
41
+ @keyframes pulse {
42
+ 0% { transform: scale(1); opacity: 0.8; }
43
+ 50% { transform: scale(1.05); opacity: 1; }
44
+ 100% { transform: scale(1); opacity: 0.8; }
45
+ }
46
+
47
+ @keyframes fadeIn {
48
+ to { opacity: 1; }
49
+ }
50
+
51
+ @keyframes float {
52
+ 0%, 100% { transform: translateY(0); }
53
+ 50% { transform: translateY(-10px); }
54
+ }
55
+
56
+ #aurora-container {
57
+ box-shadow: 0 10px 40px rgba(123, 63, 242, 0.5);
58
+ }
59
+ </style>
60
+
61
  <script>
62
  const canvas = document.getElementById('aurora-canvas');
63
  const ctx = canvas.getContext('2d');
 
105
  function createBurst(intensity) {
106
  const centerX = canvas.width / 2;
107
  const centerY = canvas.height / 2;
108
+ const colors = ['#00FF88', '#7B3FF2', '#00AAFF', '#FFD700', '#FF6B6B', '#4ECDC4', '#45B7D1'];
109
 
110
+ // Create multiple burst patterns
111
  for (let i = 0; i < 100 * intensity; i++) {
112
+ const angle = (Math.PI * 2 * i) / (100 * intensity);
113
+ const speed = Math.random() * 15 + 5;
114
+ const color = colors[Math.floor(Math.random() * colors.length)];
115
+
116
  particles.push(new Particle(
117
+ centerX + Math.cos(angle) * 20,
118
+ centerY + Math.sin(angle) * 20,
119
+ color
120
  ));
121
  }
122
+
123
+ // Add some special lightning particles
124
+ if (intensity > 3) {
125
+ for (let j = 0; j < 20; j++) {
126
+ const lightningParticle = new Particle(centerX, centerY, '#FFFFFF');
127
+ lightningParticle.size = Math.random() * 8 + 4;
128
+ lightningParticle.life = 150;
129
+ particles.push(lightningParticle);
130
+ }
131
+ }
132
  }
133
 
134
  function animate() {
 
152
  }
153
  }, 2000);
154
 
155
+ // Epic initial burst sequence
156
+ setTimeout(() => {
157
+ createBurst(5); // Massive initial burst
158
+ document.getElementById('welcome-msg').style.fontSize = '24px';
159
+ }, 500);
160
+
161
+ setTimeout(() => createBurst(3), 1500);
162
+ setTimeout(() => createBurst(4), 2500);
163
+
164
+ // Auto-start evolution after intro
165
+ setTimeout(() => {
166
+ const startBtn = document.querySelector('.gr-button-primary');
167
+ if (startBtn && startBtn.textContent.includes('Start')) {
168
+ startBtn.click();
169
+ }
170
+ }, 4000);
171
  </script>
172
  """
173