22< html >
33< head >
44 < meta charset ="UTF-8 ">
5- < title > STARFALL_Ω</ title >
5+ < title > STARFALL_Ω // WORLD THAT NEVER WAS </ title >
66 < style >
77 * {
88 box-sizing : border-box;
7777 margin-bottom : 6px ;
7878 font-size : 14px ;
7979 }
80+ # puzzle-text {
81+ font-size : 12px ;
82+ }
8083 # hint-text {
8184 font-size : 12px ;
8285 color : # ff9fb8 ;
97100 box-shadow : 0 0 10px # ff003c ;
98101 transition : width 0.4s ease;
99102 }
103+ # status-text {
104+ font-size : 11px ;
105+ margin-top : 4px ;
106+ color : # ff9fb8 ;
107+ min-height : 14px ;
108+ }
100109 # center-panel {
101110 position : relative;
102111 overflow : hidden;
168177 outline : none;
169178 box-shadow : 0 0 8px rgba (255 , 0 , 64 , 0.7 );
170179 }
171- # status-text {
180+ # lore-overlay {
181+ position : fixed;
182+ inset : 0 ;
183+ background : radial-gradient (circle at center, # 000000 0% , # 050008 40% , # 000000 100% );
184+ color : # f5f5f5 ;
185+ display : none;
186+ align-items : center;
187+ justify-content : center;
188+ text-align : center;
189+ padding : 40px ;
190+ z-index : 999 ;
191+ }
192+ # lore-content {
193+ max-width : 700px ;
194+ font-size : 13px ;
195+ line-height : 1.5 ;
196+ text-shadow : 0 0 8px # ff003c ;
197+ }
198+ # lore-title {
199+ font-size : 18px ;
200+ margin-bottom : 10px ;
201+ color : # ff4b7a ;
202+ letter-spacing : 0.18em ;
203+ }
204+ # lore-sub {
205+ font-size : 11px ;
206+ margin-bottom : 16px ;
207+ color : # ff9fb8 ;
208+ }
209+ # lore-footer {
210+ margin-top : 18px ;
172211 font-size : 11px ;
173- margin-top : 4px ;
174212 color : # ff9fb8 ;
175- min-height : 14px ;
176213 }
177214 </ style >
178215</ head >
179216< body >
217+ <!--
218+ STARFALL_Ω INTERNAL NOTES (players might dig here):
219+
220+ RealityIndex=0
221+ WorldStatus="UNALLOCATED"
222+ Observer="UNAUTHORIZED"
223+
224+ // Fake config:
225+ // world_seed = 0x00000000
226+ // world_hash = "0000000000000000000000000000000000000000000000000000000000000000"
227+
228+ // Real target hash? No.
229+ // SHA256_TARGET = "3f7c9b1e2a0f4b8d9c1e5a7b3d2f9c4e1a7b9d3c5e2f8a1d4c7b2e9f0a3d6"
230+
231+ // Base64 blob (fake):
232+ // U1RBUkZBTExfT1hJREVEX1dPUkxEID0gIk5FVkVSIElOSVRJQUxJWkVEIgo=
233+ // (decodes to: STARFALL_OXIDED_WORLD = "NEVER INITIALIZED")
234+
235+ // They can decode all this and still get nothing concrete.
236+ -->
237+
180238 < div id ="overlay-noise "> </ div >
181239 < div id ="app ">
182240 < header id ="top-bar ">
@@ -240,6 +298,38 @@ <h2>Ω TERMINAL</h2>
240298 </ main >
241299 </ div >
242300
301+ <!-- LORE ENDING OVERLAY -->
302+ < div id ="lore-overlay ">
303+ < div id ="lore-content ">
304+ < div id ="lore-title "> Ω // RECONSTRUCTION COMPLETE</ div >
305+ < div id ="lore-sub "> YOU HAVE FOUND THE WORLD THAT NEVER WAS</ div >
306+ < div id ="lore-body ">
307+ You have aligned the constellation that was never meant to be aligned.< br > < br >
308+ The signal stabilizes.< br >
309+ The noise falls silent.< br > < br >
310+ A world flickers into view — a world that should not exist.< br > < br >
311+ STARFALL PROTOCOL: INITIATED.< br > < br >
312+ You were never searching for a world.< br >
313+ You were searching for the absence of one.< br > < br >
314+ The coordinates you reconstructed do not point to a location.< br >
315+ They point to a void — a gap in the cosmic lattice where a universe was erased before it formed.< br > < br >
316+ And by solving the puzzle, you have forced the system to acknowledge it.< br > < br >
317+ The moment you observe the missing world...< br > < br >
318+ < b > it collapses again.</ b > < br > < br >
319+ You have destroyed a world that never existed.< br > < br >
320+ The system begins to fold in on itself.< br > < br >
321+ "THE OBSERVER HAS COMPLETED THE LOOP."< br >
322+ "THE PARADOX IS RESTORED."< br >
323+ "THE WORLD IS UNMADE."< br > < br >
324+ Everything fades to black except a single line:< br > < br >
325+ < b > YOU WERE NEVER MEANT TO FIND THIS.</ b >
326+ </ div >
327+ < div id ="lore-footer ">
328+ REFRESH TO RETURN TO A WORLD THAT DOES NOT EXIST.
329+ </ div >
330+ </ div >
331+ </ div >
332+
243333 < script >
244334 // ===== STARFIELD BACKGROUND =====
245335 const canvas = document . getElementById ( "starfield" ) ;
@@ -285,9 +375,21 @@ <h2>Ω TERMINAL</h2>
285375 const terminalOutput = document . getElementById ( "terminal-output" ) ;
286376 const terminalInput = document . getElementById ( "terminal-input" ) ;
287377 const signalLevel = document . getElementById ( "signal-level" ) ;
378+ const loreOverlay = document . getElementById ( "lore-overlay" ) ;
288379
289- // Fake "correct" pattern (but we never actually accept it )
380+ // Fake "correct" pattern (red herring )
290381 const fakeSolution = [ 1 , 3 , 4 , 7 , 10 , 12 , 15 ] ; // 7 stars
382+
383+ // REAL hidden solution (world that never was)
384+ // Binary: 1001011000011100
385+ // Indices: [0, 3, 5, 6, 12, 13, 14]
386+ const realSolution = [ 0 , 3 , 5 , 6 , 12 , 13 , 14 ] ;
387+
388+ // INVERTED solution (destroying the world that never existed)
389+ // Binary invert: 0110100111100011
390+ // Indices: all except realSolution
391+ const invertedSolution = [ 1 , 2 , 4 , 7 , 8 , 9 , 10 , 11 , 15 ] ;
392+
291393 // Symbols to make it feel meaningful
292394 const symbols = [ "α" , "β" , "γ" , "δ" , "ε" , "ζ" , "η" , "θ" , "ι" , "κ" , "λ" , "μ" , "ν" , "ξ" , "ο" , "π" ] ;
293395 starCells . forEach ( ( cell , i ) => {
@@ -296,6 +398,8 @@ <h2>Ω TERMINAL</h2>
296398
297399 let clickCount = 0 ;
298400 let progress = 0 ;
401+ let worldDestroyed = false ;
402+ let worldSolved = false ;
299403
300404 function log ( msg ) {
301405 const time = new Date ( ) . toLocaleTimeString ( ) ;
@@ -304,6 +408,7 @@ <h2>Ω TERMINAL</h2>
304408 }
305409
306410 function updateProgress ( ) {
411+ if ( worldSolved || worldDestroyed ) return ;
307412 // Progress climbs but never reaches 100
308413 if ( progress < 99.8 ) {
309414 progress += Math . random ( ) * 4 ;
@@ -318,7 +423,40 @@ <h2>Ω TERMINAL</h2>
318423 progressInner . style . width = progress + "%" ;
319424 }
320425
426+ function arraysMatch ( a , b ) {
427+ return a . length === b . length && a . every ( ( v , i ) => v === b [ i ] ) ;
428+ }
429+
430+ function showLoreEnding ( ) {
431+ worldSolved = true ;
432+ loreOverlay . style . display = "flex" ;
433+ }
434+
435+ function hardCollapse ( ) {
436+ worldDestroyed = true ;
437+ document . body . style . background = "black" ;
438+ document . getElementById ( "app" ) . style . display = "none" ;
439+ loreOverlay . style . display = "flex" ;
440+ document . getElementById ( "lore-title" ) . textContent = "Ω // PARADOX BREACH" ;
441+ document . getElementById ( "lore-sub" ) . textContent = "YOU HAVE DESTROYED THE WORLD THAT NEVER EXISTED" ;
442+ document . getElementById ( "lore-body" ) . innerHTML =
443+ "You did not just find the world that never was.<br><br>" +
444+ "You inverted it.<br><br>" +
445+ "You forced the system to simulate the destruction of a world that never existed.<br><br>" +
446+ "There is nothing to collapse.<br>" +
447+ "And yet, everything collapses.<br><br>" +
448+ "The lattice tears. The coordinates unbind. The signal devours itself.<br><br>" +
449+ "No logs. No traces. No recovery.<br><br>" +
450+ "<b>THE SYSTEM CANNOT RECOVER.</b><br><br>" +
451+ "There is no world. There was never a world.<br>" +
452+ "Only your decision to end what was never real." ;
453+ document . getElementById ( "lore-footer" ) . textContent =
454+ "THERE IS NOTHING LEFT TO RELOAD." ;
455+ }
456+
321457 function checkPattern ( ) {
458+ if ( worldSolved || worldDestroyed ) return ;
459+
322460 const active = starCells
323461 . map ( ( c , i ) => c . classList . contains ( "active" ) ? i : null )
324462 . filter ( i => i !== null ) ;
@@ -335,37 +473,62 @@ <h2>Ω TERMINAL</h2>
335473 log ( "PATTERN ATTEMPT " + clickCount + " — SIGNAL REMAINS INCOHERENT." ) ;
336474 }
337475
338- // If they somehow match the fakeSolution exactly, still deny them
339- const matches =
340- active . length === fakeSolution . length &&
341- active . every ( ( v , i ) => v === fakeSolution [ i ] ) ;
476+ // Sort for comparison
477+ const sortedActive = [ ...active ] . sort ( ( a , b ) => a - b ) ;
478+
479+ // Check INVERTED solution first (world destruction)
480+ if ( arraysMatch ( sortedActive , invertedSolution ) ) {
481+ statusText . textContent = "Ω BREACH: WORLDLINE ERASED." ;
482+ signalLevel . textContent = "NULL" ;
483+ signalLevel . style . color = "#ffffff" ;
484+ log ( "INVERTED PATTERN ACCEPTED. WORLD THAT NEVER EXISTED: DESTROYED." ) ;
485+ terminalOutput . textContent += "\n> Ω//PARADOX BREACH\n> YOU HAVE DESTROYED THE WORLD THAT NEVER EXISTED." ;
486+ setTimeout ( hardCollapse , 1200 ) ;
487+ return ;
488+ }
489+
490+ // Check REAL hidden solution (world that never was)
491+ if ( arraysMatch ( sortedActive , realSolution ) ) {
492+ statusText . textContent = "RECONSTRUCTION COMPLETE." ;
493+ signalLevel . textContent = "STABLE" ;
494+ signalLevel . style . color = "#00ff9c" ;
495+ log ( "HIDDEN SOLUTION ACCEPTED. PARADOX RESOLVED." ) ;
496+ terminalOutput . textContent += "\n> Ω COMPLETE. YOU HAVE ESCAPED THE LOOP." ;
497+ setTimeout ( showLoreEnding , 1200 ) ;
498+ return ;
499+ }
342500
343- if ( matches ) {
501+ // Check fakeSolution (paradox rejection)
502+ const fakeMatch = arraysMatch ( sortedActive , fakeSolution ) ;
503+ if ( fakeMatch ) {
344504 statusText . textContent = "ERROR: RECONSTRUCTION PARADOX. CORRECT AND INCORRECT SIMULTANEOUSLY." ;
345505 signalLevel . textContent = "PARADOX" ;
346506 signalLevel . style . color = "#ffea00" ;
347507 log ( "PARADOX DETECTED. SOLUTION REJECTED TO PRESERVE CONSISTENCY." ) ;
508+ return ;
509+ }
510+
511+ const diff = Math . abs ( active . length - fakeSolution . length ) ;
512+ if ( diff === 0 ) {
513+ statusText . textContent = "CLOSE. BUT NOT CONSISTENT WITH ALL CONSTRAINTS." ;
514+ } else if ( diff <= 2 ) {
515+ statusText . textContent = "YOU ARE NEAR A LOCALLY STABLE CONFIGURATION." ;
348516 } else {
349- const diff = Math . abs ( active . length - fakeSolution . length ) ;
350- if ( diff === 0 ) {
351- statusText . textContent = "CLOSE. BUT NOT CONSISTENT WITH ALL CONSTRAINTS." ;
352- } else if ( diff <= 2 ) {
353- statusText . textContent = "YOU ARE NEAR A LOCALLY STABLE CONFIGURATION." ;
354- } else {
355- statusText . textContent = "PATTERN TOO CHAOTIC. TRY AGAIN." ;
356- }
517+ statusText . textContent = "PATTERN TOO CHAOTIC. TRY AGAIN." ;
357518 }
358519 }
359520
360521 starCells . forEach ( cell => {
361522 cell . addEventListener ( "click" , ( ) => {
523+ if ( worldSolved || worldDestroyed ) return ;
362524 cell . classList . toggle ( "active" ) ;
363525 checkPattern ( ) ;
364526 } ) ;
365527 } ) ;
366528
367529 // ===== TERMINAL RABBIT HOLE =====
368530 const secretHash = "SHA256: 3f7c9b1e2a0f4b8d9c1e5a7b3d2f9c4e1a7b9d3c5e2f8a1d4c7b2e9f0a3d6" ; // nonsense
531+
369532 const commands = {
370533 "help" : ( ) => {
371534 return [
@@ -374,12 +537,17 @@ <h2>Ω TERMINAL</h2>
374537 "> status - signal diagnostics" ,
375538 "> hash - show reconstruction hash" ,
376539 "> hint - cryptic guidance" ,
540+ "> omega - realignment key" ,
541+ "> collapse - attempt world collapse" ,
542+ "> trace - trace worldline" ,
543+ "> spectre - spectrogram note" ,
544+ "> config - world config" ,
377545 "> solve - attempt final reconstruction"
378546 ] . join ( "\n" ) ;
379547 } ,
380548 "status" : ( ) => {
381549 return [
382- "> SIGNAL STATUS: UNSTABLE" ,
550+ "> SIGNAL STATUS: " + ( worldSolved ? "STABLE" : worldDestroyed ? "NULL" : " UNSTABLE") ,
383551 "> ENTROPY: MAXIMAL" ,
384552 "> PROGRESS: " + progress . toFixed ( 1 ) + "% (NON-MONOTONIC)" ,
385553 "> NOTE: APPROACHING COMPLETION INCREASES INSTABILITY."
@@ -398,16 +566,71 @@ <h2>Ω TERMINAL</h2>
398566 "PRIME • EVEN • SUM = 23 — AT LEAST ONE MUST BE FALSE." ,
399567 "THE 'CORRECT' PATTERN IS REJECTED TO PRESERVE CONSISTENCY." ,
400568 "YOU ARE EXPECTED TO FAIL. YET YOU CONTINUE." ,
401- "THE ONLY WINNING MOVE IS TO STOP. YOU WON'T."
569+ "THE REAL KEY IS NOT THE FIRST ONE YOU FIND." ,
570+ "INVERSION IS NOT JUST A METAPHOR."
402571 ] ;
403572 return "> " + hints [ Math . floor ( Math . random ( ) * hints . length ) ] ;
404573 } ,
574+ "omega" : ( ) => {
575+ // Realignment key: binary for realSolution
576+ return [
577+ "> REALIGNMENT KEY:" ,
578+ "> 1001011000011100" ,
579+ "> (16-BIT CONSTELLATION MASK)"
580+ ] . join ( "\n" ) ;
581+ } ,
582+ "collapse" : ( ) => {
583+ return [
584+ "> INITIATING WORLD COLLAPSE..." ,
585+ "> ERROR: WORLD NOT FOUND." ,
586+ "> ERROR: WORLD NEVER FOUND." ,
587+ "> ERROR: WORLD NEVER EXISTED." ,
588+ "> COLLAPSE COMPLETE."
589+ ] . join ( "\n" ) ;
590+ } ,
591+ "trace" : ( ) => {
592+ return [
593+ "> TRACING WORLDLINE..." ,
594+ "> RESULT: NULL" ,
595+ "> WORLDLINE ERASED AT T=-1" ,
596+ "> THERE WAS NEVER A FIRST MOMENT."
597+ ] . join ( "\n" ) ;
598+ } ,
599+ "spectre" : ( ) => {
600+ return [
601+ "> SPECTROGRAM NOTE:" ,
602+ "> \"THE WORLD YOU SEEK IS A SHADOW OF A SHADOW.\"" ,
603+ "> NO AUDIO FILE PRESENT. THE CLUE EXISTS WITHOUT A SOURCE."
604+ ] . join ( "\n" ) ;
605+ } ,
606+ "config" : ( ) => {
607+ return [
608+ "> WORLD CONFIG:" ,
609+ "> RealityIndex = 0" ,
610+ "> WorldStatus = UNALLOCATED" ,
611+ "> Observer = UNAUTHORIZED" ,
612+ "> NOTE: YOU ARE OPERATING OUTSIDE THE ORIGINAL DESIGN."
613+ ] . join ( "\n" ) ;
614+ } ,
405615 "solve" : ( ) => {
616+ if ( worldSolved ) {
617+ return [
618+ "> GLOBAL RECONSTRUCTION ALREADY COMPLETE." ,
619+ "> YOU HAVE FOUND THE WORLD THAT NEVER WAS."
620+ ] . join ( "\n" ) ;
621+ }
622+ if ( worldDestroyed ) {
623+ return [
624+ "> RECONSTRUCTION IMPOSSIBLE." ,
625+ "> YOU DESTROYED A WORLD THAT NEVER EXISTED." ,
626+ "> THERE IS NOTHING LEFT TO SOLVE."
627+ ] . join ( "\n" ) ;
628+ }
406629 return [
407630 "> ATTEMPTING GLOBAL RECONSTRUCTION..." ,
408631 "> ERROR: PARADOX DETECTED." ,
409632 "> NO CONSISTENT SOLUTION EXISTS IN THIS REALM." ,
410- "> YOU HAVE REACHED THE LIMIT OF THIS SYSTEM. "
633+ "> (NOT UNTIL YOU FIND THE HIDDEN PATTERN.) "
411634 ] . join ( "\n" ) ;
412635 }
413636 } ;
@@ -436,6 +659,7 @@ <h2>Ω TERMINAL</h2>
436659 setTimeout ( ( ) => {
437660 log ( "BOOTSTRAP COMPLETE. CONSTELLATION LOCK ONLINE." ) ;
438661 log ( "NOTE: RECONSTRUCTION PROCESS MAY NEVER CONVERGE." ) ;
662+ terminalOutput . textContent += "\n> TYPE 'help' FOR AVAILABLE COMMANDS." ;
439663 } , 600 ) ;
440664 </ script >
441665</ body >
0 commit comments