privateuserh commited on
Commit
129c9f8
·
verified ·
1 Parent(s): 32395c9

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +1021 -19
  3. prompts.txt +1 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Privateuserh Uaphe Vbeta1 03
3
- emoji: 🏃
4
  colorFrom: red
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: privateuserh-uaphe-vbeta1-03
3
+ emoji: 🐳
4
  colorFrom: red
5
+ colorTo: gray
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,1021 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>UAP Pulse - Concise UFO News</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <script src="https://cdn.jsdelivr.net/npm/[email protected]/qrcode.min.js"></script>
10
+ <!-- Three.js for 3D visualization -->
11
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/[email protected]/examples/js/controls/OrbitControls.min.js"></script>
13
+ <style>
14
+ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
15
+
16
+ body {
17
+ font-family: 'Space Grotesk', sans-serif;
18
+ background-color: #0f172a;
19
+ color: #e2e8f0;
20
+ }
21
+
22
+ .post-card {
23
+ background: linear-gradient(145deg, #1e293b, #0f172a);
24
+ border-left: 3px solid #3b82f6;
25
+ transition: transform 0.2s;
26
+ }
27
+
28
+ .post-card:hover {
29
+ transform: translateY(-2px);
30
+ }
31
+
32
+ .nav-item {
33
+ position: relative;
34
+ }
35
+
36
+ .nav-item::after {
37
+ content: '';
38
+ position: absolute;
39
+ width: 0;
40
+ height: 2px;
41
+ bottom: 0;
42
+ left: 0;
43
+ background-color: #3b82f6;
44
+ transition: width 0.3s;
45
+ }
46
+
47
+ .nav-item:hover::after {
48
+ width: 100%;
49
+ }
50
+
51
+ .typewriter {
52
+ overflow: hidden;
53
+ border-right: 2px solid #3b82f6;
54
+ white-space: nowrap;
55
+ animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
56
+ }
57
+
58
+ @keyframes typing {
59
+ from { width: 0 }
60
+ to { width: 100% }
61
+ }
62
+
63
+ @keyframes blink-caret {
64
+ from, to { border-color: transparent }
65
+ 50% { border-color: #3b82f6 }
66
+ }
67
+
68
+ .glow {
69
+ text-shadow: 0 0 10px rgba(59, 130, 246, 0.7);
70
+ }
71
+
72
+ /* UAP Scanner Window */
73
+ .scanner-window {
74
+ position: relative;
75
+ width: 100%;
76
+ height: 400px;
77
+ background-color: #000;
78
+ border: 2px solid #3b82f6;
79
+ border-radius: 8px;
80
+ overflow: hidden;
81
+ margin-bottom: 20px;
82
+ }
83
+
84
+ .scanner-overlay {
85
+ position: absolute;
86
+ top: 0;
87
+ left: 0;
88
+ width: 100%;
89
+ height: 100%;
90
+ background: linear-gradient(transparent 70%, rgba(59, 130, 246, 0.1) 100%);
91
+ pointer-events: none;
92
+ }
93
+
94
+ .scanner-grid {
95
+ position: absolute;
96
+ top: 0;
97
+ left: 0;
98
+ width: 100%;
99
+ height: 100%;
100
+ background-image:
101
+ linear-gradient(rgba(59, 130, 246, 0.3) 1px, transparent 1px),
102
+ linear-gradient(90deg, rgba(59, 130, 246, 0.3) 1px, transparent 1px);
103
+ background-size: 20px 20px;
104
+ opacity: 0.5;
105
+ }
106
+
107
+ .scanner-crosshair {
108
+ position: absolute;
109
+ top: 50%;
110
+ left: 50%;
111
+ transform: translate(-50%, -50%);
112
+ width: 30px;
113
+ height: 30px;
114
+ border: 2px solid rgba(255, 0, 0, 0.7);
115
+ border-radius: 50%;
116
+ }
117
+
118
+ .scanner-crosshair::before, .scanner-crosshair::after {
119
+ content: '';
120
+ position: absolute;
121
+ background-color: rgba(255, 0, 0, 0.7);
122
+ }
123
+
124
+ .scanner-crosshair::before {
125
+ width: 2px;
126
+ height: 10px;
127
+ top: -12px;
128
+ left: 50%;
129
+ transform: translateX(-50%);
130
+ }
131
+
132
+ .scanner-crosshair::after {
133
+ width: 10px;
134
+ height: 2px;
135
+ top: 50%;
136
+ left: -12px;
137
+ transform: translateY(-50%);
138
+ }
139
+
140
+ .scanner-coordinates {
141
+ position: absolute;
142
+ bottom: 10px;
143
+ left: 10px;
144
+ background-color: rgba(0, 0, 0, 0.7);
145
+ padding: 5px 10px;
146
+ border-radius: 4px;
147
+ font-family: monospace;
148
+ color: #3b82f6;
149
+ }
150
+
151
+ .scanner-controls {
152
+ position: absolute;
153
+ bottom: 10px;
154
+ right: 10px;
155
+ display: flex;
156
+ gap: 10px;
157
+ }
158
+
159
+ .scanner-btn {
160
+ background-color: rgba(59, 130, 246, 0.7);
161
+ color: white;
162
+ border: none;
163
+ border-radius: 50%;
164
+ width: 40px;
165
+ height: 40px;
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ cursor: pointer;
170
+ transition: all 0.2s;
171
+ }
172
+
173
+ .scanner-btn:hover {
174
+ background-color: rgba(59, 130, 246, 1);
175
+ transform: scale(1.1);
176
+ }
177
+
178
+ .scanner-btn.active {
179
+ background-color: rgba(239, 68, 68, 0.7);
180
+ }
181
+
182
+ .scanner-btn.active:hover {
183
+ background-color: rgba(239, 68, 68, 1);
184
+ }
185
+
186
+ .uap-marker {
187
+ position: absolute;
188
+ width: 10px;
189
+ height: 10px;
190
+ background-color: red;
191
+ border-radius: 50%;
192
+ transform: translate(-50%, -50%);
193
+ box-shadow: 0 0 10px red;
194
+ animation: pulse 1.5s infinite;
195
+ }
196
+
197
+ @keyframes pulse {
198
+ 0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
199
+ 50% { transform: translate(-50%, -50%) scale(1.5); opacity: 0.7; }
200
+ 100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
201
+ }
202
+
203
+ .uap-info {
204
+ position: absolute;
205
+ background-color: rgba(0, 0, 0, 0.8);
206
+ border: 1px solid #3b82f6;
207
+ border-radius: 4px;
208
+ padding: 5px;
209
+ color: white;
210
+ font-size: 12px;
211
+ pointer-events: none;
212
+ transform: translate(15px, -50%);
213
+ min-width: 120px;
214
+ display: none;
215
+ }
216
+
217
+ .uap-info::before {
218
+ content: '';
219
+ position: absolute;
220
+ left: -10px;
221
+ top: 50%;
222
+ transform: translateY(-50%);
223
+ border-width: 5px;
224
+ border-style: solid;
225
+ border-color: transparent #3b82f6 transparent transparent;
226
+ }
227
+
228
+ /* 3D Viewer */
229
+ .viewer-3d {
230
+ width: 100%;
231
+ height: 400px;
232
+ background-color: #000;
233
+ border: 2px solid #3b82f6;
234
+ border-radius: 8px;
235
+ margin-top: 20px;
236
+ position: relative;
237
+ }
238
+
239
+ .viewer-controls {
240
+ position: absolute;
241
+ bottom: 10px;
242
+ left: 10px;
243
+ z-index: 100;
244
+ display: flex;
245
+ gap: 10px;
246
+ }
247
+
248
+ .atmosphere-levels {
249
+ position: absolute;
250
+ right: 10px;
251
+ top: 10px;
252
+ background-color: rgba(0, 0, 0, 0.7);
253
+ padding: 10px;
254
+ border-radius: 4px;
255
+ color: white;
256
+ font-size: 12px;
257
+ z-index: 100;
258
+ }
259
+
260
+ .atmosphere-level {
261
+ margin-bottom: 5px;
262
+ padding-left: 15px;
263
+ position: relative;
264
+ }
265
+
266
+ .atmosphere-level::before {
267
+ content: '';
268
+ position: absolute;
269
+ left: 0;
270
+ top: 50%;
271
+ transform: translateY(-50%);
272
+ width: 10px;
273
+ height: 10px;
274
+ border-radius: 50%;
275
+ }
276
+
277
+ .troposphere::before { background-color: #3b82f6; }
278
+ .stratosphere::before { background-color: #10b981; }
279
+ .mesosphere::before { background-color: #f59e0b; }
280
+ .thermosphere::before { background-color: #ef4444; }
281
+ .exosphere::before { background-color: #8b5cf6; }
282
+
283
+ /* Shape icons */
284
+ .shape-icon {
285
+ width: 40px;
286
+ height: 40px;
287
+ display: flex;
288
+ align-items: center;
289
+ justify-content: center;
290
+ margin: 0 auto;
291
+ }
292
+
293
+ .triangle {
294
+ width: 0;
295
+ height: 0;
296
+ border-left: 20px solid transparent;
297
+ border-right: 20px solid transparent;
298
+ border-bottom: 35px solid transparent;
299
+ position: relative;
300
+ }
301
+
302
+ .triangle::before {
303
+ content: '';
304
+ position: absolute;
305
+ top: 5px;
306
+ left: -20px;
307
+ width: 0;
308
+ height: 0;
309
+ border-left: 20px solid transparent;
310
+ border-right: 20px solid transparent;
311
+ border-bottom: 35px solid white;
312
+ filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.9));
313
+ }
314
+
315
+ .triangle::after {
316
+ content: '';
317
+ position: absolute;
318
+ top: 6px;
319
+ left: -18px;
320
+ width: 0;
321
+ height: 0;
322
+ border-left: 18px solid transparent;
323
+ border-right: 18px solid transparent;
324
+ border-bottom: 32px solid #1e293b;
325
+ }
326
+
327
+ /* Add other shape styles from original code here */
328
+
329
+ /* Add all other existing styles from original code here */
330
+ </style>
331
+ </head>
332
+ <body class="min-h-screen">
333
+ <!-- Header -->
334
+ <header class="bg-gradient-to-r from-blue-900 to-slate-900 shadow-lg">
335
+ <div class="container mx-auto px-4 py-6">
336
+ <div class="flex flex-col md:flex-row justify-between items-center">
337
+ <div class="flex items-center mb-4 md:mb-0">
338
+ <i class="fas fa-ufo text-3xl text-blue-400 mr-3"></i>
339
+ <h1 class="text-2xl md:text-3xl font-bold text-white">
340
+ <span class="typewriter glow">UAP PULSE</span>
341
+ </h1>
342
+ </div>
343
+ <nav class="flex space-x-6">
344
+ <a href="#" class="nav-item text-blue-300 hover:text-white py-2">Latest</a>
345
+ <a href="#" class="nav-item text-blue-300 hover:text-white py-2">Reports</a>
346
+ <a href="#" class="nav-item text-blue-300 hover:text-white py-2">History</a>
347
+ <a href="#" class="nav-item text-blue-300 hover:text-white py-2">Resources</a>
348
+ </nav>
349
+ </div>
350
+ </div>
351
+ </header>
352
+
353
+ <!-- Main Content -->
354
+ <main class="container mx-auto px-4 py-8">
355
+ <!-- UAP Scanner Section -->
356
+ <section class="mb-12">
357
+ <h2 class="text-xl font-semibold text-white mb-4 flex items-center">
358
+ <i class="fas fa-satellite-dish text-blue-400 mr-2"></i> Live UAP Scanner
359
+ </h2>
360
+
361
+ <div class="scanner-window" id="scannerWindow">
362
+ <div class="scanner-grid"></div>
363
+ <div class="scanner-overlay"></div>
364
+ <div class="scanner-crosshair"></div>
365
+
366
+ <!-- UAP markers will be added here dynamically -->
367
+
368
+ <div class="scanner-coordinates" id="scannerCoords">
369
+ Lat: 0.0000° | Long: 0.0000° | Alt: 0m
370
+ </div>
371
+
372
+ <div class="scanner-controls">
373
+ <button class="scanner-btn" id="startScanner" title="Start Scanner">
374
+ <i class="fas fa-play"></i>
375
+ </button>
376
+ <button class="scanner-btn" id="stopScanner" title="Stop Scanner">
377
+ <i class="fas fa-stop"></i>
378
+ </button>
379
+ <button class="scanner-btn" id="captureUAP" title="Capture UAP">
380
+ <i class="fas fa-camera"></i>
381
+ </button>
382
+ </div>
383
+
384
+ <video id="scannerVideo" autoplay muted playsinline style="display: none;"></video>
385
+ <canvas id="scannerCanvas" style="display: none;"></canvas>
386
+ </div>
387
+
388
+ <!-- 3D Viewer -->
389
+ <div class="viewer-3d" id="viewer3d">
390
+ <div class="viewer-controls">
391
+ <button class="scanner-btn" id="resetView" title="Reset View">
392
+ <i class="fas fa-crosshairs"></i>
393
+ </button>
394
+ <button class="scanner-btn" id="toggleOrbit" title="Toggle Orbit Controls">
395
+ <i class="fas fa-globe"></i>
396
+ </button>
397
+ </div>
398
+
399
+ <div class="atmosphere-levels">
400
+ <div class="atmosphere-level troposphere">Troposphere (0-12km)</div>
401
+ <div class="atmosphere-level stratosphere">Stratosphere (12-50km)</div>
402
+ <div class="atmosphere-level mesosphere">Mesosphere (50-85km)</div>
403
+ <div class="atmosphere-level thermosphere">Thermosphere (85-600km)</div>
404
+ <div class="atmosphere-level exosphere">Exosphere (600km+)</div>
405
+ </div>
406
+ </div>
407
+
408
+ <!-- Detected UAPs List -->
409
+ <div class="mt-6 bg-slate-800/50 rounded-lg p-4 border border-slate-700">
410
+ <h3 class="font-medium text-white mb-3 flex items-center">
411
+ <i class="fas fa-list-ul text-blue-400 mr-2"></i> Detected UAPs
412
+ </h3>
413
+ <div class="overflow-x-auto">
414
+ <table class="min-w-full divide-y divide-slate-700">
415
+ <thead>
416
+ <tr>
417
+ <th class="px-4 py-2 text-left text-xs font-medium text-slate-300 uppercase tracking-wider">ID</th>
418
+ <th class="px-4 py-2 text-left text-xs font-medium text-slate-300 uppercase tracking-wider">Shape</th>
419
+ <th class="px-4 py-2 text-left text-xs font-medium text-slate-300 uppercase tracking-wider">Coordinates</th>
420
+ <th class="px-4 py-2 text-left text-xs font-medium text-slate-300 uppercase tracking-wider">Altitude</th>
421
+ <th class="px-4 py-2 text-left text-xs font-medium text-slate-300 uppercase tracking-wider">Atmosphere</th>
422
+ <th class="px-4 py-2 text-left text-xs font-medium text-slate-300 uppercase tracking-wider">Actions</th>
423
+ </tr>
424
+ </thead>
425
+ <tbody id="uapTableBody" class="divide-y divide-slate-700">
426
+ <!-- UAP entries will be added here dynamically -->
427
+ </tbody>
428
+ </table>
429
+ </div>
430
+ </div>
431
+ </section>
432
+
433
+ <!-- Rest of the original content sections -->
434
+ <!-- Featured Post -->
435
+ <section class="mb-12">
436
+ <div class="bg-gradient-to-br from-blue-900/50 to-slate-900/50 rounded-xl p-6 shadow-xl border border-blue-800/30">
437
+ <div class="flex items-center mb-4">
438
+ <span class="bg-blue-500 text-white text-xs font-semibold px-2.5 py-0.5 rounded">BREAKING</span>
439
+ <span class="text-blue-300 text-sm ml-2">June 2024</span>
440
+ </div>
441
+ <h2 class="text-xl md:text-2xl font-bold text-white mb-3">Pentagon confirms new UAP footage from military pilots</h2>
442
+ <p class="text-blue-100 mb-4">"The footage shows unidentified objects exhibiting flight characteristics beyond known technology" - DoD spokesperson. Analysis ongoing.</p>
443
+ <div class="flex justify-between items-center">
444
+ <span class="text-xs text-blue-300">Source: Defense.gov</span>
445
+ <button class="text-blue-400 hover:text-blue-200 text-sm flex items-center" onclick="generateQR('Pentagon confirms new UAP footage from military pilots', 'https://uap-pulse.example.com/posts/2024-pentagon-footage')">
446
+ <i class="fas fa-qrcode mr-1"></i> QR Code
447
+ </button>
448
+ </div>
449
+ </div>
450
+ </section>
451
+
452
+ <!-- Include all other original sections here -->
453
+
454
+ </main>
455
+
456
+ <!-- Footer -->
457
+ <footer class="bg-slate-900 mt-16 py-8 border-t border-slate-800">
458
+ <div class="container mx-auto px-4">
459
+ <div class="flex flex-col md:flex-row justify-between items-center">
460
+ <div class="mb-4 md:mb-0">
461
+ <div class="flex items-center">
462
+ <i class="fas fa-ufo text-2xl text-blue-400 mr-2"></i>
463
+ <span class="text-xl font-bold text-white">UAP PULSE</span>
464
+ </div>
465
+ <p class="text-slate-400 text-sm mt-1">Concise updates on unidentified aerial phenomena</p>
466
+ </div>
467
+
468
+ <div class="flex space-x-6">
469
+ <a href="#" class="text-slate-400 hover:text-blue-300">
470
+ <i class="fab fa-twitter"></i>
471
+ </a>
472
+ <a href="#" class="text-slate-400 hover:text-blue-300">
473
+ <i class="fab fa-facebook"></i>
474
+ </a>
475
+ <a href="#" class="text-slate-400 hover:text-blue-300">
476
+ <i class="fab fa-reddit"></i>
477
+ </a>
478
+ <a href="#" class="text-slate-400 hover:text-blue-300">
479
+ <i class="fas fa-rss"></i>
480
+ </a>
481
+ </div>
482
+ </div>
483
+
484
+ <div class="border-t border-slate-800 mt-6 pt-6 flex flex-col md:flex-row justify-between items-center">
485
+ <p class="text-slate-500 text-sm mb-4 md:mb-0">© 2025 UAP Pulse. All rights reserved. Sponsored by SM+</p>
486
+ <div class="flex space-x-4">
487
+ <a href="#" class="text-slate-400 hover:text-blue-300 text-sm">Privacy</a>
488
+ <a href="#" class="text-slate-400 hover:text-blue-300 text-sm">Terms</a>
489
+ <a href="#" class="text-slate-400 hover:text-blue-300 text-sm">Contact</a>
490
+ <a href="#" class="text-slate-400 hover:text-blue-300 text-sm">Submit Report</a>
491
+ </div>
492
+ </div>
493
+ </div>
494
+ </footer>
495
+
496
+ <!-- Include all original modals and popups here -->
497
+
498
+ <script>
499
+ // UAP Scanner and 3D Viewer functionality
500
+ document.addEventListener('DOMContentLoaded', function() {
501
+ // Scanner variables
502
+ const scannerWindow = document.getElementById('scannerWindow');
503
+ const scannerVideo = document.getElementById('scannerVideo');
504
+ const scannerCanvas = document.getElementById('scannerCanvas');
505
+ const scannerCoords = document.getElementById('scannerCoords');
506
+ const startScannerBtn = document.getElementById('startScanner');
507
+ const stopScannerBtn = document.getElementById('stopScanner');
508
+ const captureUAPBtn = document.getElementById('captureUAP');
509
+ const uapTableBody = document.getElementById('uapTableBody');
510
+
511
+ // 3D Viewer variables
512
+ const viewer3d = document.getElementById('viewer3d');
513
+ const resetViewBtn = document.getElementById('resetView');
514
+ const toggleOrbitBtn = document.getElementById('toggleOrbit');
515
+
516
+ // Three.js variables
517
+ let scene, camera, renderer, controls;
518
+ let uapObjects = [];
519
+ let orbitEnabled = true;
520
+
521
+ // UAP detection variables
522
+ let detectedUAPs = [];
523
+ let scannerActive = false;
524
+ let scanInterval;
525
+ let frameCount = 0;
526
+
527
+ // Initialize 3D viewer
528
+ function init3DViewer() {
529
+ // Create scene
530
+ scene = new THREE.Scene();
531
+ scene.background = new THREE.Color(0x000000);
532
+
533
+ // Create camera
534
+ camera = new THREE.PerspectiveCamera(75, viewer3d.clientWidth / viewer3d.clientHeight, 0.1, 1000);
535
+ camera.position.z = 50;
536
+
537
+ // Create renderer
538
+ renderer = new THREE.WebGLRenderer({ antialias: true });
539
+ renderer.setSize(viewer3d.clientWidth, viewer3d.clientHeight);
540
+ viewer3d.appendChild(renderer.domElement);
541
+
542
+ // Add controls
543
+ controls = new THREE.OrbitControls(camera, renderer.domElement);
544
+ controls.enableDamping = true;
545
+ controls.dampingFactor = 0.25;
546
+
547
+ // Add ambient light
548
+ const ambientLight = new THREE.AmbientLight(0x404040);
549
+ scene.add(ambientLight);
550
+
551
+ // Add directional light
552
+ const directionalLight = new THREE.DirectionalLight(0xffffff, 1);
553
+ directionalLight.position.set(1, 1, 1);
554
+ scene.add(directionalLight);
555
+
556
+ // Add Earth sphere
557
+ const geometry = new THREE.SphereGeometry(15, 32, 32);
558
+ const material = new THREE.MeshPhongMaterial({
559
+ color: 0x3b82f6,
560
+ specular: 0x111111,
561
+ shininess: 30
562
+ });
563
+ const earth = new THREE.Mesh(geometry, material);
564
+ scene.add(earth);
565
+
566
+ // Add atmosphere levels as transparent spheres
567
+ const addAtmosphereLayer = (radius, color, opacity) => {
568
+ const layerGeometry = new THREE.SphereGeometry(radius, 32, 32);
569
+ const layerMaterial = new THREE.MeshBasicMaterial({
570
+ color: color,
571
+ side: THREE.BackSide,
572
+ transparent: true,
573
+ opacity: opacity
574
+ });
575
+ const layer = new THREE.Mesh(layerGeometry, layerMaterial);
576
+ scene.add(layer);
577
+ };
578
+
579
+ // Add atmosphere layers (scaled down for visualization)
580
+ addAtmosphereLayer(15.5, 0x3b82f6, 0.2); // Troposphere
581
+ addAtmosphereLayer(16, 0x10b981, 0.15); // Stratosphere
582
+ addAtmosphereLayer(16.5, 0xf59e0b, 0.1); // Mesosphere
583
+ addAtmosphereLayer(17.5, 0xef4444, 0.08); // Thermosphere
584
+ addAtmosphereLayer(20, 0x8b5cf6, 0.05); // Exosphere
585
+
586
+ // Handle window resize
587
+ window.addEventListener('resize', () => {
588
+ camera.aspect = viewer3d.clientWidth / viewer3d.clientHeight;
589
+ camera.updateProjectionMatrix();
590
+ renderer.setSize(viewer3d.clientWidth, viewer3d.clientHeight);
591
+ });
592
+
593
+ // Animation loop
594
+ function animate() {
595
+ requestAnimationFrame(animate);
596
+
597
+ if (orbitEnabled) {
598
+ controls.update();
599
+ }
600
+
601
+ renderer.render(scene, camera);
602
+ }
603
+
604
+ animate();
605
+ }
606
+
607
+ // Initialize scanner
608
+ function initScanner() {
609
+ // Set up scanner buttons
610
+ startScannerBtn.addEventListener('click', startScanner);
611
+ stopScannerBtn.addEventListener('click', stopScanner);
612
+ captureUAPBtn.addEventListener('click', captureUAP);
613
+
614
+ // Set up 3D viewer buttons
615
+ resetViewBtn.addEventListener('click', resetView);
616
+ toggleOrbitBtn.addEventListener('click', toggleOrbitControls);
617
+
618
+ // Initialize 3D viewer
619
+ init3DViewer();
620
+ }
621
+
622
+ // Start scanner
623
+ function startScanner() {
624
+ if (scannerActive) return;
625
+
626
+ // Request camera access
627
+ navigator.mediaDevices.getUserMedia({ video: true })
628
+ .then(function(stream) {
629
+ scannerVideo.srcObject = stream;
630
+ scannerVideo.style.display = 'block';
631
+ scannerActive = true;
632
+ startScannerBtn.classList.add('active');
633
+
634
+ // Start detection loop
635
+ scanInterval = setInterval(detectUAPs, 100);
636
+ })
637
+ .catch(function(err) {
638
+ console.error("Error accessing camera: ", err);
639
+ alert("Could not access camera. Please ensure you've granted camera permissions.");
640
+ });
641
+ }
642
+
643
+ // Stop scanner
644
+ function stopScanner() {
645
+ if (!scannerActive) return;
646
+
647
+ clearInterval(scanInterval);
648
+ const stream = scannerVideo.srcObject;
649
+ const tracks = stream.getTracks();
650
+
651
+ tracks.forEach(function(track) {
652
+ track.stop();
653
+ });
654
+
655
+ scannerVideo.srcObject = null;
656
+ scannerVideo.style.display = 'none';
657
+ scannerActive = false;
658
+ startScannerBtn.classList.remove('active');
659
+
660
+ // Clear any existing UAP markers
661
+ clearUAPMarkers();
662
+ }
663
+
664
+ // Detect UAPs in video feed (simulated)
665
+ function detectUAPs() {
666
+ if (!scannerActive) return;
667
+
668
+ frameCount++;
669
+
670
+ // Simulate UAP detection (in a real app, this would use computer vision)
671
+ if (frameCount % 30 === 0) {
672
+ // Random chance to detect a UAP
673
+ if (Math.random() > 0.7) {
674
+ const uapId = 'UAP-' + Date.now().toString().slice(-4);
675
+ const shapes = ['triangle', 'circle', 'square', 'cylinder', 'chevron', 'tictac'];
676
+ const shape = shapes[Math.floor(Math.random() * shapes.length)];
677
+
678
+ // Random position in scanner window
679
+ const x = Math.random() * 80 + 10; // 10-90%
680
+ const y = Math.random() * 80 + 10; // 10-90%
681
+
682
+ // Random altitude (0-1000km)
683
+ const altitude = Math.random() * 1000;
684
+
685
+ // Determine atmosphere layer
686
+ let atmosphere, atmosphereColor;
687
+ if (altitude < 12) {
688
+ atmosphere = 'Troposphere';
689
+ atmosphereColor = '#3b82f6';
690
+ } else if (altitude < 50) {
691
+ atmosphere = 'Stratosphere';
692
+ atmosphereColor = '#10b981';
693
+ } else if (altitude < 85) {
694
+ atmosphere = 'Mesosphere';
695
+ atmosphereColor = '#f59e0b';
696
+ } else if (altitude < 600) {
697
+ atmosphere = 'Thermosphere';
698
+ atmosphereColor = '#ef4444';
699
+ } else {
700
+ atmosphere = 'Exosphere';
701
+ atmosphereColor = '#8b5cf6';
702
+ }
703
+
704
+ // Generate random coordinates near user's location (simulated)
705
+ const lat = (Math.random() * 2 - 1) * 5 + 40; // ~40°N ±5°
706
+ const long = (Math.random() * 2 - 1) * 5 + (-70); // ~70°W ±5°
707
+
708
+ // Create UAP object
709
+ const uap = {
710
+ id: uapId,
711
+ shape: shape,
712
+ x: x,
713
+ y: y,
714
+ lat: lat,
715
+ long: long,
716
+ altitude: altitude.toFixed(2),
717
+ atmosphere: atmosphere,
718
+ atmosphereColor: atmosphereColor,
719
+ timestamp: new Date().toLocaleTimeString()
720
+ };
721
+
722
+ detectedUAPs.push(uap);
723
+ addUAPMarker(uap);
724
+ addUAPToTable(uap);
725
+ addUAPTo3DViewer(uap);
726
+
727
+ // Update coordinates display
728
+ scannerCoords.textContent = `Lat: ${lat.toFixed(4)}° | Long: ${long.toFixed(4)}° | Alt: ${altitude.toFixed(2)}km | ${atmosphere}`;
729
+ }
730
+ }
731
+
732
+ // Simulate movement of existing UAPs
733
+ detectedUAPs.forEach(uap => {
734
+ // Small random movement
735
+ uap.x += (Math.random() - 0.5) * 0.5;
736
+ uap.y += (Math.random() - 0.5) * 0.5;
737
+
738
+ // Update marker position
739
+ const marker = document.querySelector(`.uap-marker[data-id="${uap.id}"]`);
740
+ if (marker) {
741
+ marker.style.left = `${uap.x}%`;
742
+ marker.style.top = `${uap.y}%`;
743
+ }
744
+
745
+ // Update 3D position
746
+ updateUAPIn3DViewer(uap);
747
+ });
748
+ }
749
+
750
+ // Add UAP marker to scanner view
751
+ function addUAPMarker(uap) {
752
+ clearUAPMarkers(); // Clear previous markers for demo purposes
753
+
754
+ const marker = document.createElement('div');
755
+ marker.className = 'uap-marker';
756
+ marker.dataset.id = uap.id;
757
+ marker.style.left = `${uap.x}%`;
758
+ marker.style.top = `${uap.y}%`;
759
+ marker.style.backgroundColor = uap.atmosphereColor;
760
+ marker.style.boxShadow = `0 0 10px ${uap.atmosphereColor}`;
761
+
762
+ // Add info tooltip
763
+ const info = document.createElement('div');
764
+ info.className = 'uap-info';
765
+ info.innerHTML = `
766
+ <strong>${uap.id}</strong><br>
767
+ Shape: ${uap.shape}<br>
768
+ Alt: ${uap.altitude}km<br>
769
+ ${uap.atmosphere}
770
+ `;
771
+ marker.appendChild(info);
772
+
773
+ // Show info on hover
774
+ marker.addEventListener('mouseenter', () => {
775
+ info.style.display = 'block';
776
+ });
777
+
778
+ marker.addEventListener('mouseleave', () => {
779
+ info.style.display = 'none';
780
+ });
781
+
782
+ scannerWindow.appendChild(marker);
783
+ }
784
+
785
+ // Clear all UAP markers
786
+ function clearUAPMarkers() {
787
+ document.querySelectorAll('.uap-marker').forEach(marker => {
788
+ marker.remove();
789
+ });
790
+ }
791
+
792
+ // Add UAP to table
793
+ function addUAPToTable(uap) {
794
+ const row = document.createElement('tr');
795
+ row.className = 'hover:bg-slate-700/50';
796
+ row.innerHTML = `
797
+ <td class="px-4 py-2 whitespace-nowrap text-sm font-medium text-white">${uap.id}</td>
798
+ <td class="px-4 py-2 whitespace-nowrap text-sm text-slate-300">${uap.shape}</td>
799
+ <td class="px-4 py-2 whitespace-nowrap text-sm text-slate-300">${uap.lat.toFixed(4)}°, ${uap.long.toFixed(4)}°</td>
800
+ <td class="px-4 py-2 whitespace-nowrap text-sm text-slate-300">${uap.altitude}km</td>
801
+ <td class="px-4 py-2 whitespace-nowrap text-sm text-slate-300">
802
+ <span class="inline-block w-3 h-3 rounded-full mr-1" style="background-color: ${uap.atmosphereColor}"></span>
803
+ ${uap.atmosphere}
804
+ </td>
805
+ <td class="px-4 py-2 whitespace-nowrap text-sm text-slate-300">
806
+ <button class="text-blue-400 hover:text-blue-200 mr-2" onclick="focusUAP('${uap.id}')">
807
+ <i class="fas fa-search"></i>
808
+ </button>
809
+ <button class="text-red-400 hover:text-red-200" onclick="removeUAP('${uap.id}')">
810
+ <i class="fas fa-trash"></i>
811
+ </button>
812
+ </td>
813
+ `;
814
+ uapTableBody.appendChild(row);
815
+ }
816
+
817
+ // Add UAP to 3D viewer
818
+ function addUAPTo3DViewer(uap) {
819
+ // Scale down altitude for visualization (Earth radius = 15 units)
820
+ const scaledAltitude = parseFloat(uap.altitude) / 1000 * 15 + 15;
821
+
822
+ // Convert lat/long to 3D position
823
+ const phi = (90 - uap.lat) * (Math.PI / 180);
824
+ const theta = (uap.long + 180) * (Math.PI / 180);
825
+
826
+ const x = scaledAltitude * Math.sin(phi) * Math.cos(theta);
827
+ const y = scaledAltitude * Math.cos(phi);
828
+ const z = scaledAltitude * Math.sin(phi) * Math.sin(theta);
829
+
830
+ // Create UAP object based on shape
831
+ let geometry, material;
832
+
833
+ switch(uap.shape) {
834
+ case 'triangle':
835
+ geometry = new THREE.ConeGeometry(0.5, 1, 3);
836
+ break;
837
+ case 'circle':
838
+ geometry = new THREE.SphereGeometry(0.5);
839
+ break;
840
+ case 'square':
841
+ geometry = new THREE.BoxGeometry(0.8, 0.8, 0.8);
842
+ break;
843
+ case 'cylinder':
844
+ geometry = new THREE.CylinderGeometry(0.4, 0.4, 1, 32);
845
+ break;
846
+ case 'chevron':
847
+ // Create a chevron shape using a custom geometry
848
+ const chevronShape = new THREE.Shape();
849
+ chevronShape.moveTo(-0.5, 0.5);
850
+ chevronShape.lineTo(0, -0.5);
851
+ chevronShape.lineTo(0.5, 0.5);
852
+ geometry = new THREE.ExtrudeGeometry(chevronShape, {
853
+ depth: 0.2,
854
+ bevelEnabled: false
855
+ });
856
+ break;
857
+ case 'tictac':
858
+ geometry = new THREE.CapsuleGeometry(0.3, 1, 4, 8);
859
+ break;
860
+ default:
861
+ geometry = new THREE.SphereGeometry(0.5);
862
+ }
863
+
864
+ material = new THREE.MeshPhongMaterial({
865
+ color: new THREE.Color(uap.atmosphereColor),
866
+ emissive: new THREE.Color(uap.atmosphereColor),
867
+ emissiveIntensity: 0.5,
868
+ specular: 0x111111,
869
+ shininess: 30
870
+ });
871
+
872
+ const uapObject = new THREE.Mesh(geometry, material);
873
+ uapObject.position.set(x, y, z);
874
+ uapObject.userData.uapId = uap.id;
875
+
876
+ // Rotate to face outward from Earth
877
+ uapObject.lookAt(0, 0, 0);
878
+
879
+ // Add to scene
880
+ scene.add(uapObject);
881
+
882
+ // Store reference
883
+ uapObjects.push({
884
+ id: uap.id,
885
+ object: uapObject
886
+ });
887
+ }
888
+
889
+ // Update UAP position in 3D viewer
890
+ function updateUAPIn3DViewer(uap) {
891
+ const uapObj = uapObjects.find(obj => obj.id === uap.id);
892
+ if (!uapObj) return;
893
+
894
+ // Scale down altitude for visualization
895
+ const scaledAltitude = parseFloat(uap.altitude) / 1000 * 15 + 15;
896
+
897
+ // Convert lat/long to 3D position
898
+ const phi = (90 - uap.lat) * (Math.PI / 180);
899
+ const theta = (uap.long + 180) * (Math.PI / 180);
900
+
901
+ const x = scaledAltitude * Math.sin(phi) * Math.cos(theta);
902
+ const y = scaledAltitude * Math.cos(phi);
903
+ const z = scaledAltitude * Math.sin(phi) * Math.sin(theta);
904
+
905
+ // Update position
906
+ uapObj.object.position.set(x, y, z);
907
+
908
+ // Rotate to face outward from Earth
909
+ uapObj.object.lookAt(0, 0, 0);
910
+ }
911
+
912
+ // Capture UAP (take screenshot)
913
+ function captureUAP() {
914
+ if (!scannerActive || detectedUAPs.length === 0) {
915
+ alert("No UAPs detected to capture!");
916
+ return;
917
+ }
918
+
919
+ // Get the latest UAP
920
+ const uap = detectedUAPs[detectedUAPs.length - 1];
921
+
922
+ // In a real app, this would capture the actual video frame
923
+ // For demo, we'll just show an alert
924
+ alert(`Captured UAP ${uap.id}\nShape: ${uap.shape}\nCoordinates: ${uap.lat.toFixed(4)}°, ${uap.long.toFixed(4)}°\nAltitude: ${uap.altitude}km (${uap.atmosphere})`);
925
+
926
+ // Highlight the UAP in the table
927
+ const rows = uapTableBody.querySelectorAll('tr');
928
+ rows[rows.length - 1].classList.add('bg-blue-900/30');
929
+ setTimeout(() => {
930
+ rows[rows.length - 1].classList.remove('bg-blue-900/30');
931
+ }, 2000);
932
+ }
933
+
934
+ // Reset 3D view
935
+ function resetView() {
936
+ camera.position.set(0, 0, 50);
937
+ camera.lookAt(0, 0, 0);
938
+ controls.target.set(0, 0, 0);
939
+ }
940
+
941
+ // Toggle orbit controls
942
+ function toggleOrbitControls() {
943
+ orbitEnabled = !orbitEnabled;
944
+ controls.enabled = orbitEnabled;
945
+ toggleOrbitBtn.classList.toggle('active');
946
+ }
947
+
948
+ // Focus on a specific UAP in 3D view
949
+ window.focusUAP = function(uapId) {
950
+ const uap = detectedUAPs.find(u => u.id === uapId);
951
+ if (!uap) return;
952
+
953
+ const uapObj = uapObjects.find(obj => obj.id === uapId);
954
+ if (!uapObj) return;
955
+
956
+ // Move camera to view the UAP
957
+ const targetPosition = uapObj.object.position.clone();
958
+ const cameraPosition = targetPosition.clone().multiplyScalar(1.5);
959
+
960
+ // Animate camera
961
+ gsap.to(camera.position, {
962
+ x: cameraPosition.x,
963
+ y: cameraPosition.y,
964
+ z: cameraPosition.z,
965
+ duration: 1,
966
+ ease: "power2.inOut"
967
+ });
968
+
969
+ gsap.to(controls.target, {
970
+ x: targetPosition.x,
971
+ y: targetPosition.y,
972
+ z: targetPosition.z,
973
+ duration: 1,
974
+ ease: "power2.inOut"
975
+ });
976
+
977
+ // Highlight the UAP in the table
978
+ const rows = uapTableBody.querySelectorAll('tr');
979
+ rows.forEach(row => {
980
+ if (row.querySelector('td:first-child').textContent === uapId) {
981
+ row.classList.add('bg-blue-900/30');
982
+ setTimeout(() => {
983
+ row.classList.remove('bg-blue-900/30');
984
+ }, 2000);
985
+ }
986
+ });
987
+ };
988
+
989
+ // Remove a UAP
990
+ window.removeUAP = function(uapId) {
991
+ // Remove from detected UAPs array
992
+ detectedUAPs = detectedUAPs.filter(u => u.id !== uapId);
993
+
994
+ // Remove from 3D scene
995
+ const uapObjIndex = uapObjects.findIndex(obj => obj.id === uapId);
996
+ if (uapObjIndex !== -1) {
997
+ scene.remove(uapObjects[uapObjIndex].object);
998
+ uapObjects.splice(uapObjIndex, 1);
999
+ }
1000
+
1001
+ // Remove from table
1002
+ const rows = uapTableBody.querySelectorAll('tr');
1003
+ rows.forEach(row => {
1004
+ if (row.querySelector('td:first-child').textContent === uapId) {
1005
+ row.remove();
1006
+ }
1007
+ });
1008
+
1009
+ // Remove marker
1010
+ const marker = document.querySelector(`.uap-marker[data-id="${uapId}"]`);
1011
+ if (marker) marker.remove();
1012
+ };
1013
+
1014
+ // Initialize the scanner
1015
+ initScanner();
1016
+
1017
+ // Include all other original JavaScript functionality here
1018
+ });
1019
+ </script>
1020
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=privateuserh/privateuserh-uaphe-vbeta1-03" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
1021
+ </html>
prompts.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ In the UAP Report area make a live interactive window that links to camera make the live window a scanning window to track the UAP display the UAP locally in VR via web3D scanner automatically display UAP virtually add live coordinates in the window based on object detection list coordinates based on UAP level height in atmosphere starting at troposphere then stratosphere then mesosphere then thermosphere and exosphere