diff --git a/index.html b/index.html index 44a1f3c..f7fbddd 100644 --- a/index.html +++ b/index.html @@ -253,6 +253,24 @@ #sceneF5 .s4visual { margin-top: 0; } + #sceneM4 { + padding-top: 2rem; + } + #sceneM4 .s4visual { + margin-top: 0; + } + #sceneD4 { + padding-top: 2rem; + } + #sceneD4 .s4visual { + margin-top: 0; + } + #sceneI4 { + padding-top: 2rem; + } + #sceneI4 .s4visual { + margin-top: 0; + } .scene4text { white-space: pre-wrap; text-align: left; @@ -902,6 +920,7 @@
+
@@ -911,6 +930,7 @@
+
@@ -920,6 +940,7 @@
+
@@ -929,6 +950,7 @@
+
@@ -1027,6 +1049,170 @@ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
CHOOSE A SITE
@@ -1052,6 +1238,7 @@
+
@@ -1061,6 +1248,7 @@
+
@@ -1070,6 +1258,7 @@
+
@@ -1079,6 +1268,7 @@
+
@@ -1107,6 +1297,7 @@
+
@@ -1116,6 +1307,7 @@
+
@@ -1125,6 +1317,7 @@
+
@@ -1134,6 +1327,7 @@
+
@@ -1142,6 +1336,7 @@
+
@@ -1620,6 +1815,42 @@ tlElem.classList.add('visible'); } + function buildMTimeline(tlElem, activeIdx) { + const years = ['2007', '2008', '2019', 'Today']; + tlElem.innerHTML = ''; + years.forEach((y, i) => { + const span = document.createElement('span'); + span.className = 'tl-year' + (i < activeIdx ? ' dim' : '') + (i === activeIdx ? ' active' : ''); + span.textContent = y; + tlElem.appendChild(span); + }); + tlElem.classList.add('visible'); + } + + function buildDTimeline(tlElem, activeIdx) { + const years = ['1969', '1985', '1991', 'Today']; + tlElem.innerHTML = ''; + years.forEach((y, i) => { + const span = document.createElement('span'); + span.className = 'tl-year' + (i < activeIdx ? ' dim' : '') + (i === activeIdx ? ' active' : ''); + span.textContent = y; + tlElem.appendChild(span); + }); + tlElem.classList.add('visible'); + } + + function buildITimeline(tlElem, activeIdx) { + const years = ['1969', '1991', '2000s', 'Today']; + tlElem.innerHTML = ''; + years.forEach((y, i) => { + const span = document.createElement('span'); + span.className = 'tl-year' + (i < activeIdx ? ' dim' : '') + (i === activeIdx ? ' active' : ''); + span.textContent = y; + tlElem.appendChild(span); + }); + tlElem.classList.add('visible'); + } + function showNextBtn(id) { const btn = document.getElementById(id); btn.style.visibility = 'visible'; @@ -1630,6 +1861,17 @@ }, 30); } + function rstSceneBtns(sceneId) { + var scene=document.getElementById(sceneId); + if(!scene)return; + scene.querySelectorAll('.btnNext').forEach(function(b){ + b.style.cssText=''; + b.style.visibility='hidden'; + b.style.opacity='0'; + b.style.pointerEvents='none'; + }); + } + // Scene 4a — HOOK + 1900 Gold Standard function loadScene4a(sceneElem) { s4c=[]; @@ -1676,6 +1918,7 @@ // Scene 4b — 1933 ORDER 6102 function loadScene4b(sceneElem) { s4c=[]; + rstSceneBtns('scene4b'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -1696,7 +1939,7 @@ txt.appendChild(link); typeHtmlCalmly(txt," MADE IT A CRIME TO HOLD GOLD.",()=>{ typeHtmlCalmly(txt,"\n\nCITIZENS WERE FORCED TO TURN IN THEIR GOLD IN EXCHANGE FOR PAPER DOLLARS.",()=>{ - showNextBtn('next4b');showNextBtn('sources4b'); + showNextBtn('next4b');showNextBtn('sources4b');showNextBtn('back4b'); },undefined,undefined,s4c); },undefined,undefined,s4c); },undefined,undefined,s4c); @@ -1708,6 +1951,7 @@ // Scene 4c — 1934 Gold Reserve Act + 69% function loadScene4c(sceneElem) { s4c=[]; + rstSceneBtns('scene4c'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -1734,7 +1978,7 @@ txt.innerHTML+="\n\n"; vis.innerHTML='
⚠ $20.67/OZ → $35/OZ = 69% STOLEN OVERNIGHT ⚠
'; vis.classList.add('visible'); - showNextBtn('next4c');showNextBtn('sources4c'); + showNextBtn('next4c');showNextBtn('sources4c');showNextBtn('back4c'); },800); s4c.push(t2); },undefined,undefined,s4c); @@ -1750,6 +1994,7 @@ // Scene 4d — 1971 Nixon shock + coin visual function loadScene4d(sceneElem) { s4c=[]; + rstSceneBtns('scene4d'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -1782,7 +2027,7 @@ html+='
~96% PURCHASING POWER LOST
'; vis.innerHTML=html; vis.classList.add('visible'); - showNextBtn('next4d');showNextBtn('sources4d'); + showNextBtn('next4d');showNextBtn('sources4d');showNextBtn('back4d'); },800); s4c.push(t2); },undefined,undefined,s4c); @@ -1798,6 +2043,7 @@ // Scene 4e — Bitcoin closing + comparison table + punch cards function loadScene4e(sceneElem) { s4c=[]; + rstSceneBtns('scene4e'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -1817,9 +2063,8 @@ link.style.cssText='text-decoration:underline;font-weight:bold;color:#00ff00'; txt.appendChild(link); typeHtmlCalmly(txt,". BUT UNLIKE GOLD, NO ONE CAN TOUCH THIS.",()=>{ - const t1=setTimeout(()=>{ - vis.innerHTML= - '' + s4c.push(setTimeout(()=>{ + let html='
GOLDBITCOIN
' +'' +'' +'' @@ -1831,16 +2076,19 @@ +'
🚫NO CONGRESS
CAN INFLATE IT
' +'
🚫NO BANK
CAN FREEZE IT
' +''; + vis.innerHTML=html; vis.classList.add('visible'); - showNextBtn('next4e');showNextBtn('sources4e'); - },1200); - s4c.push(t1); + showNextBtn('next4e');showNextBtn('sources4e');showNextBtn('back4e'); + },1200)); },undefined,undefined,s4c); },undefined,undefined,s4c); } sceneElem.style.opacity=o; },30); } + sceneElem.style.opacity=o; + },30); + } // Scene 5 — BTC vs. Altcoins comparison function loadScene5(sceneElem) { @@ -1960,6 +2208,7 @@ // Scene 10b — 1938 FDA Control function loadScene10b(sceneElem) { h10c=[]; + rstSceneBtns('scene10b'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -1988,7 +2237,7 @@ const t3=setTimeout(()=>{ txt.innerHTML+="\n\n"; typeHtmlCalmly(txt,"THE POWER TO APPROVE IS THE POWER TO CONTROL.",()=>{ - showNextBtn('next10b');showNextBtn('sources10b'); + showNextBtn('next10b');showNextBtn('sources10b');showNextBtn('back10b'); },undefined,undefined,h10c); },800); h10c.push(t3); @@ -2008,6 +2257,7 @@ // Scene 10c — 1965 Medicare/Medicaid cost explosion function loadScene10c(sceneElem) { h10c=[]; + rstSceneBtns('scene10c'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -2027,7 +2277,7 @@ txt.innerHTML+="\n\n"; vis.innerHTML='
$41B → $4.1T = 100x IN 57 YEARS
'; vis.classList.add('visible'); - showNextBtn('next10c');showNextBtn('sources10c'); + showNextBtn('next10c');showNextBtn('sources10c');showNextBtn('back10c'); },800); h10c.push(t2); },undefined,undefined,h10c); @@ -2042,6 +2292,7 @@ // Scene 10d — 1973 HMO Act function loadScene10d(sceneElem) { h10c=[]; + rstSceneBtns('scene10d'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -2070,7 +2321,7 @@ const t3=setTimeout(()=>{ txt.innerHTML+="\n\n"; typeHtmlCalmly(txt,"YOU BECAME THE PRODUCT.",()=>{ - showNextBtn('next10d');showNextBtn('sources10d'); + showNextBtn('next10d');showNextBtn('sources10d');showNextBtn('back10d'); },undefined,undefined,h10c); },800); h10c.push(t3); @@ -2090,6 +2341,7 @@ // Scene 10e — 2010+ Decentralized Health function loadScene10e(sceneElem) { h10c=[]; + rstSceneBtns('scene10e'); sceneElem.style.display='flex'; const txt=sceneElem.querySelector('.scene4text'); const vis=sceneElem.querySelector('.s4visual'); @@ -3292,6 +3544,579 @@ },30); } + function loadSceneD1(sceneElem) { + d1c=[]; + rstSceneBtns('sceneD1'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextD1').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildDTimeline(tl,0); + typeHtmlCalmly(txt,"UNIX WAS DEVELOPED AT BELL LABS IN 1969 BY KEN THOMPSON AND DENNIS RITCHIE.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"IT INTRODUCED THE CONCEPT OF MODULAR DESIGN — EVERYTHING IS A FILE.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"UNIX BECAME THE FOUNDATION FOR ALL MODERN OPERATING SYSTEMS.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE PHILOSOPHY: SMALL, FOCUSED TOOLS THAT DO ONE THING WELL.",()=>{ + showNextBtn('nextD1');showNextBtn('sourcesD1');showNextBtn('returnFromD1'); + },undefined,undefined,d1c); + },800); + d1c.push(t3); + },undefined,undefined,d1c); + },800); + d1c.push(t2); + },undefined,undefined,d1c); + },1000); + d1c.push(t1); + },undefined,undefined,d1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneD2(sceneElem) { + d1c=[]; + rstSceneBtns('sceneD2'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextD2').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildDTimeline(tl,1); + typeHtmlCalmly(txt,"MICROSOFT WINDOWS LAUNCHED IN 1985, BRINGING A GRAPHICAL USER INTERFACE TO THE MASSES.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"IT BECAME THE DOMINANT DESKTOP OS THROUGH AGGRESSIVE MARKETING AND BUNDLING.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"WINDOWS IS PROPRIETARY AND CLOSED SOURCE — MICROSOFT CONTROLS EVERYTHING.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE TRADE-OFF: CONVENIENCE IN EXCHANGE FOR CONTROL.",()=>{ + showNextBtn('nextD2');showNextBtn('sourcesD2');showNextBtn('backD2');showNextBtn('returnFromD2'); + },undefined,undefined,d1c); + },800); + d1c.push(t3); + },undefined,undefined,d1c); + },800); + d1c.push(t2); + },undefined,undefined,d1c); + },1000); + d1c.push(t1); + },undefined,undefined,d1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneD3(sceneElem) { + d1c=[]; + rstSceneBtns('sceneD3'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextD3').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildDTimeline(tl,2); + typeHtmlCalmly(txt,"LINUX WAS CREATED BY LINUS TORVALDS IN 1991 AS A FREE AND OPEN SOURCE KERNEL.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"IT COMBINED THE UNIX PHILOSOPHY WITH THE GNU TOOLCHAIN — A COMPLETE OPEN SOURCE OS.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"LINUX GIVES YOU FULL CONTROL — NO TELEMETRY, NO RESTRICTIONS, COMPLETE TRANSPARENCY.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE KERNEL IS AUDITED BY THOUSANDS OF DEVELOPERS WORLDWIDE.",()=>{ + showNextBtn('nextD3');showNextBtn('sourcesD3');showNextBtn('backD3');showNextBtn('returnFromD3'); + },undefined,undefined,d1c); + },800); + d1c.push(t3); + },undefined,undefined,d1c); + },800); + d1c.push(t2); + },undefined,undefined,d1c); + },1000); + d1c.push(t1); + },undefined,undefined,d1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneD4(sceneElem) { + d1c=[]; + rstSceneBtns('sceneD4'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextD4').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildDTimeline(tl,3); + typeHtmlCalmly(txt,"TODAY, THREE MAJOR DESKTOP OPERATING SYSTEMS DOMINATE — EACH WITH A VERY DIFFERENT APPROACH TO SECURITY.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + let html='
GOLDBITCOIN
CONFISCATABLE?✅ YES (1933)❌ NO
PRINTABLE?❌ NO❌ NO
UNCENSORABLE?❌ NO✅ YES
'; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+='
LINUXmacOSWINDOWS
KERNEL CONTROL\u{1F512} YOU\u{1F513} APPLE\u{1F513} MS
TELEMETRY\u{1F512} NONE\u{1F513} APPLE\u{1F513} MS
FIREWALL\u{1F512} FULL\u{1F512} FULL\u{1F512} FULL
ANTIVIRUS\u{1F512} N/A\u{1F512} BUILT-IN\u{1F513} NEEDED
DATA COLL.\u{1F512} NONE\u{1F513} APPLE\u{1F513} MS
UPDATES\u{1F512} YOU CHOOSE\u{1F513} APPLE\u{1F513} MS
TRANSPARENCY\u{1F512} FULL\u{1F513} PARTIAL\u{1F513} CLOSED
'; + html+='
\u{1F512}LINUX: YOU OWN
YOUR MACHINE
\u{1F4E1}macOS: TRUST
APPLE MODEL
\u{1F6E1}WINDOWS: DATA
COLLECTED BY MS
'; + vis.innerHTML=html; + vis.classList.add('visible'); + showNextBtn('nextD4');showNextBtn('sourcesD4');showNextBtn('backD4');showNextBtn('returnFromD4'); + },800); + d1c.push(t1); + },8,20,d1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneD5(sceneElem) { + d1c=[]; + rstSceneBtns('sceneD5'); + sceneElem.style.display='flex'; + const txt=document.getElementById('sD5Text'); + const vis=document.getElementById('sD5Visual'); + txt.innerHTML=''; + vis.className='s5visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('returnFromD5').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + typeHtmlCalmly(txt,"YOUR DESKTOP OS DETERMINES WHO CONTROLS YOUR COMPUTER — YOU OR A CORPORATION.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"LINUX GIVES YOU FULL CONTROL WITH COMPLETE TRANSPARENCY — NO COMPANY OWNS YOUR SYSTEM.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + let html='
\u2692 THE OS DETERMINES WHO CONTROLS YOUR COMPUTER — YOU OR A CORPORATION \u2692
'; + vis.innerHTML=html; + vis.classList.add('visible'); + showNextBtn('sourcesD5');showNextBtn('backD5');showNextBtn('returnFromD5');showNextBtn('seeInteractiveFromD5'); + },800); + d1c.push(t2); + },8,20,d1c); + },800); + d1c.push(t1); + },8,20,d1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneM1(sceneElem) { + m1c=[]; + rstSceneBtns('sceneM1'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextM1').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildMTimeline(tl,0); + typeHtmlCalmly(txt,"THE IPHONE LAUNCHED IN 2007 — REVOLUTIONIZING THE MOBILE INDUSTRY.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE APP STORE FOLLOWED IN 2008, CREATING THE FIRST MASS-MARKET CURATED MOBILE ECOSYSTEM.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"APPLE CONTROLS EVERY APP THAT RUNS ON IOS — APPROVAL, REVIEW, AND REVOCATION.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE WALLED GARDEN MODEL: SECURE, BUT YOU DON'T CONTROL YOUR DEVICE.",()=>{ + showNextBtn('nextM1');showNextBtn('sourcesM1');showNextBtn('returnFromM1'); + },undefined,undefined,m1c); + },800); + m1c.push(t3); + },undefined,undefined,m1c); + },800); + m1c.push(t2); + },undefined,undefined,m1c); + },1000); + m1c.push(t1); + },undefined,undefined,m1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneM2(sceneElem) { + m1c=[]; + rstSceneBtns('sceneM2'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextM2').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildMTimeline(tl,1); + typeHtmlCalmly(txt,"ANDROID LAUNCHED IN 2008 AS AN OPEN SOURCE ALTERNATIVE TO IOS.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"ANYONE CAN SIDE-LOAD APPS, USE ALTERNATIVE APP STORES, OR MODIFY THE OS.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"BUT ANDROID SHIPS WITH GOOGLE PLAY SERVICES — SYSTEM-LEVEL ACCESS TO YOUR DATA.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE OPEN MODEL: FLEXIBLE, BUT YOUR DATA IS THE PRODUCT.",()=>{ + showNextBtn('nextM2');showNextBtn('sourcesM2');showNextBtn('backM2');showNextBtn('returnFromM2'); + },undefined,undefined,m1c); + },800); + m1c.push(t3); + },undefined,undefined,m1c); + },800); + m1c.push(t2); + },undefined,undefined,m1c); + },1000); + m1c.push(t1); + },undefined,undefined,m1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneM3(sceneElem) { + m1c=[]; + rstSceneBtns('sceneM3'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextM3').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildMTimeline(tl,2); + typeHtmlCalmly(txt,"GRAPHENEOS LAUNCHED IN 2019 AS A SECURITY-FOCUSED ANDROID DERIVATIVE.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"IT REMOVES ALL GOOGLE SERVICES — NO PLAY SERVICES, NO DATA COLLECTION.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"EVERY SENSOR AND PERMISSION REQUIRES EXPLICIT CONSENT — CAMERA, MIC, LOCATION, AND MORE.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE PRIVACY MODEL: YOU CONTROL YOUR DEVICE.",()=>{ + showNextBtn('nextM3');showNextBtn('sourcesM3');showNextBtn('backM3');showNextBtn('returnFromM3'); + },undefined,undefined,m1c); + },800); + m1c.push(t3); + },undefined,undefined,m1c); + },800); + m1c.push(t2); + },undefined,undefined,m1c); + },1000); + m1c.push(t1); + },undefined,undefined,m1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneM4(sceneElem) { + m1c=[]; + rstSceneBtns('sceneM4'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextM4').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildMTimeline(tl,3); + typeHtmlCalmly(txt,"TODAY, THREE MOBILE OPERATING SYSTEMS DOMINATE — BUT THEY HANDLE YOUR DATA VERY DIFFERENTLY.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + let html=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+='
GRAPHENEOSANDROIDiOS
CAMERA\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
MICROPHONE\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
LOCATION\u{1F512} LOCKED\u{1F513} OPEN\u{1F512} LOCKED
CONTACTS\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
CLIPBOARD\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
SENSORS\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
NETWORK\u{1F512} LOCKED\u{1F513} OPEN\u{1F512} LOCKED
STORAGE\u{1F512} LOCKED\u{1F513} OPEN\u{1F512} LOCKED
'; + html+='
\u{1F512}GRAPHENEOS LOCKS
EVERY SENSOR BY DEFAULT
\u{1F4E1}ANDROID DATA
COLLECTED BY GOOGLE
\u{1F6E1}IOS HAS LIMITED
TRACKING PREVENTION
'; + vis.innerHTML=html; + vis.classList.add('visible'); + showNextBtn('nextM4');showNextBtn('sourcesM4');showNextBtn('backM4');showNextBtn('returnFromM4'); + },800); + m1c.push(t1); + },8,20,m1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneM5(sceneElem) { + m1c=[]; + rstSceneBtns('sceneM5'); + sceneElem.style.display='flex'; + const txt=document.getElementById('sM5Text'); + const vis=document.getElementById('sM5Visual'); + txt.innerHTML=''; + vis.className='s5visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('returnFromM5').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + typeHtmlCalmly(txt,"YOUR PHONE IS LITERALLY A TRACKING DEVICE IN YOUR POCKET — UNLESS YOU CHOOSE OTHERWISE.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"GRAPHENEOS LOCKS DOWN EVERY SENSOR AND PERMISSION — GIVING YOU REAL CONTROL OVER YOUR DATA.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + let html='
\u2692 THE OS DETERMINES WHO CONTROLS YOUR DEVICE — YOU OR A CORPORATION \u2692
'; + vis.innerHTML=html; + vis.classList.add('visible'); + showNextBtn('sourcesM5');showNextBtn('backM5');showNextBtn('returnFromM5');showNextBtn('seeInteractiveFromM5'); + },800); + m1c.push(t2); + },8,20,m1c); + },800); + m1c.push(t1); + },8,20,m1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneI1(sceneElem) { + i1c=[]; + rstSceneBtns('sceneI1'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextI1').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildITimeline(tl,0); + typeHtmlCalmly(txt,"ARPANET WAS CREATED IN 1969 BY THE U.S. DEPARTMENT OF DEFENSE — THE FIRST NETWORK TO USE PACKET SWITCHING.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"IT CONNECTED FOUR UNIVERSITIES — UCLA, STANFORD, UCSB, AND THE UNIVERSITY OF UTAH.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE DESIGN WAS DECENTRALIZED BY DESIGN — NO SINGLE POINT OF FAILURE.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THIS DECENTRALIZED ARCHITECTURE IS THE FOUNDATION OF THE INTERNET WE KNOW TODAY.",()=>{ + showNextBtn('nextI1');showNextBtn('sourcesI1');showNextBtn('returnFromI1'); + },undefined,undefined,i1c); + },800); + i1c.push(t3); + },undefined,undefined,i1c); + },800); + i1c.push(t2); + },undefined,undefined,i1c); + },1000); + i1c.push(t1); + },undefined,undefined,i1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneI2(sceneElem) { + i1c=[]; + rstSceneBtns('sceneI2'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextI2').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildITimeline(tl,1); + typeHtmlCalmly(txt,"THE WORLD WIDE WEB WAS INVENTED IN 1991 BY TIM BERNERS-LEE — MAKING THE INTERNET ACCESSIBLE TO EVERYONE.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE WEB OPENED UP A NEW ERA OF DECENTRALIZED COMMUNICATION — ANYONE COULD HOST A WEBSITE.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"BUT AS THE WEB GREW, ISPS BECAME GATEKEEPERS — CONTROLLING ACCESS AND SURVEILLING USERS.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"THE DECENTRALIZED IDEAL OF THE INTERNET BEGAN TO ERODE AS CORPORATIONS TOOK CONTROL.",()=>{ + showNextBtn('nextI2');showNextBtn('sourcesI2');showNextBtn('backI2');showNextBtn('returnFromI2'); + },undefined,undefined,i1c); + },800); + i1c.push(t3); + },undefined,undefined,i1c); + },800); + i1c.push(t2); + },undefined,undefined,i1c); + },1000); + i1c.push(t1); + },undefined,undefined,i1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneI3(sceneElem) { + i1c=[]; + rstSceneBtns('sceneI3'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextI3').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildITimeline(tl,2); + typeHtmlCalmly(txt,"BY THE 2000S, ISPS HAD CONSOLIDATED INTO MONOPOLIES — CONTROLLING BOTH ACCESS AND SPEED.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"MESH NETWORKS OFFER A RETURN TO DECENTRALIZATION — EVERY NODE IS A ROUTER.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"P2P PROTOCOLS LIKE GUN, IPFS, AND HYPERCORE LET COMMUNITIES BUILD THEIR OWN INTERNET.",()=>{ + const t3=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"MESH NETWORKS ARE CENSORSHIP-RESISTANT — NO ISP CAN TURN THEM OFF.",()=>{ + showNextBtn('nextI3');showNextBtn('sourcesI3');showNextBtn('backI3');showNextBtn('returnFromI3'); + },undefined,undefined,i1c); + },800); + i1c.push(t3); + },undefined,undefined,i1c); + },800); + i1c.push(t2); + },undefined,undefined,i1c); + },1000); + i1c.push(t1); + },undefined,undefined,i1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneI4(sceneElem) { + i1c=[]; + rstSceneBtns('sceneI4'); + sceneElem.style.display='flex'; + const txt=sceneElem.querySelector('.scene4text'); + const vis=sceneElem.querySelector('.s4visual'); + const tl=sceneElem.querySelector('.s4tl'); + txt.innerHTML=''; + vis.className='s4visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('nextI4').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + buildITimeline(tl,3); + typeHtmlCalmly(txt,"TODAY, THE INTERNET IS CONTROLLED BY A HANDFUL OF ISPS AND BIG TECH PLATFORMS — BUT MESH NETWORKS OFFER A WAY OUT.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + let html=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+='
TRADITIONAL ISPMESH NETWORK
CENSORSHIP\u{1F513} ISP CAN BLOCK\u{1F512} IMPOSSIBLE
SURVEILLANCE\u{1F513} ISP TRACKS\u{1F512} NONE
OUTAGE RISK\u{1F513} SINGLE POINT\u{1F512} SELF-HEALING
SPEED\u{1F512} HIGH\u{1F513} VARIABLE
COST\u{1F513} MONTHLY FEE\u{1F512} COMMUNITY
CONTROL\u{1F513} ISP\u{1F512} YOU
'; + html+='
\u{1F512}MESH IS
CENSORSHIP-PROOF
\u{1F4E1}NO ISP
CAN TURN IT OFF
\u{1F6E1}YOU CONTROL
YOUR CONNECTION
'; + vis.innerHTML=html; + vis.classList.add('visible'); + showNextBtn('nextI4');showNextBtn('sourcesI4');showNextBtn('backI4');showNextBtn('returnFromI4'); + },800); + i1c.push(t1); + },8,20,i1c); + } + sceneElem.style.opacity=o; + },30); + } + + function loadSceneI5(sceneElem) { + i1c=[]; + rstSceneBtns('sceneI5'); + sceneElem.style.display='flex'; + const txt=document.getElementById('sI5Text'); + const vis=document.getElementById('sI5Visual'); + txt.innerHTML=''; + vis.className='s5visual'; + let o=0; + const fi=setInterval(()=>{ + if (sceneElem.style.display !== 'flex' || document.getElementById('returnFromI5').style.visibility === 'visible') { clearInterval(fi); return; } + o+=0.05;if(o>=1){o=1;clearInterval(fi); + typeHtmlCalmly(txt,"THE INTERNET WAS DESIGNED TO BE DECENTRALIZED — ISPS AND BIG TECH HAVE TURNED IT INTO A UTILITY CONTROLLED BY GATEKEEPERS.",()=>{ + const t1=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + typeHtmlCalmly(txt,"MESH NETWORKS AND P2P PROTOCOLS LET COMMUNITIES BUILD THEIR OWN INTERNET — NO ISP REQUIRED.",()=>{ + const t2=setTimeout(()=>{ + txt.innerHTML+="\n\n"; + let html='
\u2692 THE INTERNET BELONGS TO EVERYONE — DON\u2019T LET ISPS TAKE IT AWAY \u2692
'; + vis.innerHTML=html; + vis.classList.add('visible'); + showNextBtn('sourcesI5');showNextBtn('backI5');showNextBtn('returnFromI5');showNextBtn('seeInteractiveFromI5'); + },800); + i1c.push(t2); + },8,20,i1c); + },800); + i1c.push(t1); + },8,20,i1c); + } + sceneElem.style.opacity=o; + },30); + } + let s4c = []; let s5c = []; let h10c = []; @@ -3302,6 +4127,9 @@ let s9c = []; let s8bc = []; let s7bc = []; + let d1c = []; + let i1c = []; + let m1c = []; // Scene 8b — Data Exfiltration Simulator let exfilAnimId = null; @@ -4063,7 +4891,7 @@ window.location.href = 'https://484.kitchen'; }); - ['4a','4b','4c','4d','4e','5','10a','10b','10c','10d','10e','11','F1','F2','F3','F4','F5','FoodSum','FoodLinks'].forEach(function(id){ + ['4a','4b','4c','4d','4e','5','10a','10b','10c','10d','10e','11','F1','F2','F3','F4','F5','FoodSum','FoodLinks','D1','D2','D3','D4','D5','M1','M2','M3','M4','M5','I1','I2','I3','I4','I5'].forEach(function(id){ var el = document.getElementById('sources'+id); if (el) el.addEventListener('click',function(){ window.refsCaller='scene'+id; @@ -4073,13 +4901,13 @@ }); document.getElementById('goDesktopTech').addEventListener('click', () => { - transitionToScene('scene6', loadScene7, 'scene7'); + transitionToScene('scene6', loadSceneD1, 'sceneD1'); }); document.getElementById('goMobileTech').addEventListener('click', () => { - transitionToScene('scene6', loadScene8, 'scene8'); + transitionToScene('scene6', loadSceneM1, 'sceneM1'); }); document.getElementById('goInternetTech').addEventListener('click', () => { - transitionToScene('scene6', loadScene9, 'scene9'); + transitionToScene('scene6', loadSceneI1, 'sceneI1'); }); document.getElementById('returnFromTechHub').addEventListener('click', () => { document.getElementById('scene6').style.display = 'none'; @@ -4137,6 +4965,183 @@ showTechHub(); }); + document.getElementById('nextD1').addEventListener('click', () => { + document.getElementById('sceneD1').style.display = 'none'; + loadSceneD2(document.getElementById('sceneD2')); + }); + document.getElementById('nextD2').addEventListener('click', () => { + document.getElementById('sceneD2').style.display = 'none'; + loadSceneD3(document.getElementById('sceneD3')); + }); + document.getElementById('nextD3').addEventListener('click', () => { + document.getElementById('sceneD3').style.display = 'none'; + loadSceneD4(document.getElementById('sceneD4')); + }); + document.getElementById('nextD4').addEventListener('click', () => { + document.getElementById('sceneD4').style.display = 'none'; + loadSceneD5(document.getElementById('sceneD5')); + }); + document.getElementById('returnFromD1').addEventListener('click', () => { + document.getElementById('sceneD1').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backD2').addEventListener('click', () => { + document.getElementById('sceneD2').style.display = 'none'; + loadSceneD1(document.getElementById('sceneD1')); + }); + document.getElementById('returnFromD2').addEventListener('click', () => { + document.getElementById('sceneD2').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backD3').addEventListener('click', () => { + document.getElementById('sceneD3').style.display = 'none'; + loadSceneD2(document.getElementById('sceneD2')); + }); + document.getElementById('returnFromD3').addEventListener('click', () => { + document.getElementById('sceneD3').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backD4').addEventListener('click', () => { + document.getElementById('sceneD4').style.display = 'none'; + loadSceneD3(document.getElementById('sceneD3')); + }); + document.getElementById('returnFromD4').addEventListener('click', () => { + document.getElementById('sceneD4').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backD5').addEventListener('click', () => { + document.getElementById('sceneD5').style.display = 'none'; + loadSceneD4(document.getElementById('sceneD4')); + }); + document.getElementById('returnFromD5').addEventListener('click', () => { + document.getElementById('sceneD5').style.display = 'none'; + showTechHub(); + }); + document.getElementById('seeInteractiveFromD5').addEventListener('click', () => { + if (deskAnimId) { cancelAnimationFrame(deskAnimId); deskAnimId = null; } + if (exfilDeskAnimId) { cancelAnimationFrame(exfilDeskAnimId); exfilDeskAnimId = null; } + document.getElementById('sceneD5').style.display = 'none'; + loadScene7(document.getElementById('scene7')); + }); + + document.getElementById('nextM1').addEventListener('click', () => { + document.getElementById('sceneM1').style.display = 'none'; + loadSceneM2(document.getElementById('sceneM2')); + }); + document.getElementById('nextM2').addEventListener('click', () => { + document.getElementById('sceneM2').style.display = 'none'; + loadSceneM3(document.getElementById('sceneM3')); + }); + document.getElementById('nextM3').addEventListener('click', () => { + document.getElementById('sceneM3').style.display = 'none'; + loadSceneM4(document.getElementById('sceneM4')); + }); + document.getElementById('nextM4').addEventListener('click', () => { + document.getElementById('sceneM4').style.display = 'none'; + loadSceneM5(document.getElementById('sceneM5')); + }); + document.getElementById('returnFromM1').addEventListener('click', () => { + document.getElementById('sceneM1').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backM2').addEventListener('click', () => { + document.getElementById('sceneM2').style.display = 'none'; + loadSceneM1(document.getElementById('sceneM1')); + }); + document.getElementById('returnFromM2').addEventListener('click', () => { + document.getElementById('sceneM2').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backM3').addEventListener('click', () => { + document.getElementById('sceneM3').style.display = 'none'; + loadSceneM2(document.getElementById('sceneM2')); + }); + document.getElementById('returnFromM3').addEventListener('click', () => { + document.getElementById('sceneM3').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backM4').addEventListener('click', () => { + document.getElementById('sceneM4').style.display = 'none'; + loadSceneM3(document.getElementById('sceneM3')); + }); + document.getElementById('returnFromM4').addEventListener('click', () => { + document.getElementById('sceneM4').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backM5').addEventListener('click', () => { + document.getElementById('sceneM5').style.display = 'none'; + loadSceneM4(document.getElementById('sceneM4')); + }); + document.getElementById('returnFromM5').addEventListener('click', () => { + document.getElementById('sceneM5').style.display = 'none'; + showTechHub(); + }); + document.getElementById('seeInteractiveFromM5').addEventListener('click', () => { + if (phoneAnimId) { cancelAnimationFrame(phoneAnimId); phoneAnimId = null; } + if (exfilAnimId) { cancelAnimationFrame(exfilAnimId); exfilAnimId = null; } + document.getElementById('sceneM5').style.display = 'none'; + loadScene8(document.getElementById('scene8')); + }); + + // Internet timeline click handlers + document.getElementById('nextI1').addEventListener('click', () => { + document.getElementById('sceneI1').style.display = 'none'; + loadSceneI2(document.getElementById('sceneI2')); + }); + document.getElementById('nextI2').addEventListener('click', () => { + document.getElementById('sceneI2').style.display = 'none'; + loadSceneI3(document.getElementById('sceneI3')); + }); + document.getElementById('nextI3').addEventListener('click', () => { + document.getElementById('sceneI3').style.display = 'none'; + loadSceneI4(document.getElementById('sceneI4')); + }); + document.getElementById('nextI4').addEventListener('click', () => { + document.getElementById('sceneI4').style.display = 'none'; + loadSceneI5(document.getElementById('sceneI5')); + }); + document.getElementById('returnFromI1').addEventListener('click', () => { + document.getElementById('sceneI1').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backI2').addEventListener('click', () => { + document.getElementById('sceneI2').style.display = 'none'; + loadSceneI1(document.getElementById('sceneI1')); + }); + document.getElementById('returnFromI2').addEventListener('click', () => { + document.getElementById('sceneI2').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backI3').addEventListener('click', () => { + document.getElementById('sceneI3').style.display = 'none'; + loadSceneI2(document.getElementById('sceneI2')); + }); + document.getElementById('returnFromI3').addEventListener('click', () => { + document.getElementById('sceneI3').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backI4').addEventListener('click', () => { + document.getElementById('sceneI4').style.display = 'none'; + loadSceneI3(document.getElementById('sceneI3')); + }); + document.getElementById('returnFromI4').addEventListener('click', () => { + document.getElementById('sceneI4').style.display = 'none'; + showTechHub(); + }); + document.getElementById('backI5').addEventListener('click', () => { + document.getElementById('sceneI5').style.display = 'none'; + loadSceneI4(document.getElementById('sceneI4')); + }); + document.getElementById('returnFromI5').addEventListener('click', () => { + document.getElementById('sceneI5').style.display = 'none'; + showTechHub(); + }); + document.getElementById('seeInteractiveFromI5').addEventListener('click', () => { + if (meshAnimId) { cancelAnimationFrame(meshAnimId); meshAnimId = null; } + document.getElementById('sceneI5').style.display = 'none'; + loadScene9(document.getElementById('scene9')); + }); + document.getElementById('meshCanvas').addEventListener('click', (e) => { if (meshState) toggleMeshNode(e.clientX, e.clientY); }); @@ -4202,7 +5207,7 @@ const refsDiv = document.getElementById('sceneRefs'); if (refsDiv.classList.contains('visible')) { refsDiv.classList.remove('visible'); - var c=refsCaller;if(c==='scene7b'||c==='scene8b'||c==='scene4a'||c==='scene4b'||c==='scene4c'||c==='scene4d'||c==='scene4e'||c==='scene5'||c==='scene10a'||c==='scene10b'||c==='scene10c'||c==='scene10d'||c==='scene10e'||c==='scene11'||c==='sceneF1'||c==='sceneF2'||c==='sceneF3'||c==='sceneF4'||c==='sceneF5'||c==='sceneFoodSum'||c==='sceneFoodLinks')document.getElementById(c).style.display='flex'; + var c=refsCaller;if(c==='scene7b'||c==='scene8b'||c==='scene4a'||c==='scene4b'||c==='scene4c'||c==='scene4d'||c==='scene4e'||c==='scene5'||c==='scene10a'||c==='scene10b'||c==='scene10c'||c==='scene10d'||c==='scene10e'||c==='scene11'||c==='sceneF1'||c==='sceneF2'||c==='sceneF3'||c==='sceneF4'||c==='sceneF5'||c==='sceneFoodSum'||c==='sceneFoodLinks'||c==='sceneD1'||c==='sceneD2'||c==='sceneD3'||c==='sceneD4'||c==='sceneD5'||c==='sceneM1'||c==='sceneM2'||c==='sceneM3'||c==='sceneM4'||c==='sceneM5'||c==='sceneI1'||c==='sceneI2'||c==='sceneI3'||c==='sceneI4'||c==='sceneI5')document.getElementById(c).style.display='flex'; refsCaller = null; return; } @@ -4403,6 +5408,315 @@ showNextBtn('returnFromScene9'); } + // Scene D1 skip + const sd1 = document.getElementById('sceneD1'); + if (sd1.style.display === 'flex') { + d1c.forEach(t => clearTimeout(t)); d1c = []; + const txt = sd1.querySelector('.scene4text'); + const tl = sd1.querySelector('.s4tl'); + buildDTimeline(tl, 0); + txt.innerHTML = "UNIX WAS DEVELOPED AT BELL LABS IN 1969 BY KEN THOMPSON AND DENNIS RITCHIE.\n\nIT INTRODUCED THE CONCEPT OF MODULAR DESIGN — EVERYTHING IS A FILE.\n\nUNIX BECAME THE FOUNDATION FOR ALL MODERN OPERATING SYSTEMS.\n\nTHE PHILOSOPHY: SMALL, FOCUSED TOOLS THAT DO ONE THING WELL."; + document.getElementById('nextD1').style.cssText = ''; + showNextBtn('nextD1'); + document.getElementById('sourcesD1').style.cssText = ''; + showNextBtn('sourcesD1'); + document.getElementById('returnFromD1').style.cssText = ''; + showNextBtn('returnFromD1'); + } + + // Scene D2 skip + const sd2 = document.getElementById('sceneD2'); + if (sd2.style.display === 'flex') { + d1c.forEach(t => clearTimeout(t)); d1c = []; + const txt = sd2.querySelector('.scene4text'); + const tl = sd2.querySelector('.s4tl'); + buildDTimeline(tl, 1); + txt.innerHTML = "MICROSOFT WINDOWS LAUNCHED IN 1985, BRINGING A GRAPHICAL USER INTERFACE TO THE MASSES.\n\nIT BECAME THE DOMINANT DESKTOP OS THROUGH AGGRESSIVE MARKETING AND BUNDLING.\n\nWINDOWS IS PROPRIETARY AND CLOSED SOURCE — MICROSOFT CONTROLS EVERYTHING.\n\nTHE TRADE-OFF: CONVENIENCE IN EXCHANGE FOR CONTROL."; + document.getElementById('nextD2').style.cssText = ''; + showNextBtn('nextD2'); + document.getElementById('sourcesD2').style.cssText = ''; + showNextBtn('sourcesD2'); + document.getElementById('backD2').style.cssText = ''; + showNextBtn('backD2'); + document.getElementById('returnFromD2').style.cssText = ''; + showNextBtn('returnFromD2'); + } + + // Scene D3 skip + const sd3 = document.getElementById('sceneD3'); + if (sd3.style.display === 'flex') { + d1c.forEach(t => clearTimeout(t)); d1c = []; + const txt = sd3.querySelector('.scene4text'); + const tl = sd3.querySelector('.s4tl'); + buildDTimeline(tl, 2); + txt.innerHTML = "LINUX WAS CREATED BY LINUS TORVALDS IN 1991 AS A FREE AND OPEN SOURCE KERNEL.\n\nIT COMBINED THE UNIX PHILOSOPHY WITH THE GNU TOOLCHAIN — A COMPLETE OPEN SOURCE OS.\n\nLINUX GIVES YOU FULL CONTROL — NO TELEMETRY, NO RESTRICTIONS, COMPLETE TRANSPARENCY.\n\nTHE KERNEL IS AUDITED BY THOUSANDS OF DEVELOPERS WORLDWIDE."; + document.getElementById('nextD3').style.cssText = ''; + showNextBtn('nextD3'); + document.getElementById('sourcesD3').style.cssText = ''; + showNextBtn('sourcesD3'); + document.getElementById('backD3').style.cssText = ''; + showNextBtn('backD3'); + document.getElementById('returnFromD3').style.cssText = ''; + showNextBtn('returnFromD3'); + } + + // Scene D4 skip + const sd4 = document.getElementById('sceneD4'); + if (sd4.style.display === 'flex') { + d1c.forEach(t => clearTimeout(t)); d1c = []; + const txt = sd4.querySelector('.scene4text'); + const vis = sd4.querySelector('.s4visual'); + const tl = sd4.querySelector('.s4tl'); + buildDTimeline(tl, 3); + txt.innerHTML = "TODAY, THREE MAJOR DESKTOP OPERATING SYSTEMS DOMINATE — EACH WITH A VERY DIFFERENT APPROACH TO SECURITY.\n\n"; + let html=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+='
LINUXmacOSWINDOWS
KERNEL CONTROL\u{1F512} YOU\u{1F513} APPLE\u{1F513} MS
TELEMETRY\u{1F512} NONE\u{1F513} APPLE\u{1F513} MS
FIREWALL\u{1F512} FULL\u{1F512} FULL\u{1F512} FULL
ANTIVIRUS\u{1F512} N/A\u{1F512} BUILT-IN\u{1F513} NEEDED
DATA COLL.\u{1F512} NONE\u{1F513} APPLE\u{1F513} MS
UPDATES\u{1F512} YOU CHOOSE\u{1F513} APPLE\u{1F513} MS
TRANSPARENCY\u{1F512} FULL\u{1F513} PARTIAL\u{1F513} CLOSED
'; + html+='
\u{1F512}LINUX: YOU OWN
YOUR MACHINE
\u{1F4E1}macOS: TRUST
APPLE MODEL
\u{1F6E1}WINDOWS: DATA
COLLECTED BY MS
'; + vis.innerHTML=html; + vis.classList.add('visible'); + document.getElementById('nextD4').style.cssText = ''; + showNextBtn('nextD4'); + document.getElementById('sourcesD4').style.cssText = ''; + showNextBtn('sourcesD4'); + document.getElementById('backD4').style.cssText = ''; + showNextBtn('backD4'); + document.getElementById('returnFromD4').style.cssText = ''; + showNextBtn('returnFromD4'); + } + + // Scene D5 skip + const sd5 = document.getElementById('sceneD5'); + if (sd5.style.display === 'flex') { + d1c.forEach(t => clearTimeout(t)); d1c = []; + const txt = document.getElementById('sD5Text'); + const vis = document.getElementById('sD5Visual'); + txt.innerHTML = "YOUR DESKTOP OS DETERMINES WHO CONTROLS YOUR COMPUTER — YOU OR A CORPORATION.\n\nLINUX GIVES YOU FULL CONTROL WITH COMPLETE TRANSPARENCY — NO COMPANY OWNS YOUR SYSTEM."; + let html='
\u2692 THE OS DETERMINES WHO CONTROLS YOUR COMPUTER — YOU OR A CORPORATION \u2692
'; + vis.innerHTML=html; + vis.classList.add('visible'); + document.getElementById('backD5').style.cssText = ''; + showNextBtn('backD5'); + document.getElementById('returnFromD5').style.cssText = ''; + showNextBtn('returnFromD5'); + document.getElementById('sourcesD5').style.cssText = ''; + showNextBtn('sourcesD5'); + document.getElementById('seeInteractiveFromD5').style.cssText = ''; + showNextBtn('seeInteractiveFromD5'); + } + + // Scene M1 skip + const sm1 = document.getElementById('sceneM1'); + if (sm1.style.display === 'flex') { + m1c.forEach(t => clearTimeout(t)); m1c = []; + const txt = sm1.querySelector('.scene4text'); + const tl = sm1.querySelector('.s4tl'); + buildMTimeline(tl, 0); + txt.innerHTML = "THE IPHONE LAUNCHED IN 2007 — REVOLUTIONIZING THE MOBILE INDUSTRY.\n\nTHE APP STORE FOLLOWED IN 2008, CREATING THE FIRST MASS-MARKET CURATED MOBILE ECOSYSTEM.\n\nAPPLE CONTROLS EVERY APP THAT RUNS ON IOS — APPROVAL, REVIEW, AND REVOCATION.\n\nTHE WALLED GARDEN MODEL: SECURE, BUT YOU DON'T CONTROL YOUR DEVICE."; + document.getElementById('nextM1').style.cssText = ''; + showNextBtn('nextM1'); + document.getElementById('sourcesM1').style.cssText = ''; + showNextBtn('sourcesM1'); + document.getElementById('returnFromM1').style.cssText = ''; + showNextBtn('returnFromM1'); + } + + // Scene M2 skip + const sm2 = document.getElementById('sceneM2'); + if (sm2.style.display === 'flex') { + m1c.forEach(t => clearTimeout(t)); m1c = []; + const txt = sm2.querySelector('.scene4text'); + const tl = sm2.querySelector('.s4tl'); + buildMTimeline(tl, 1); + txt.innerHTML = "ANDROID LAUNCHED IN 2008 AS AN OPEN SOURCE ALTERNATIVE TO IOS.\n\nANYONE CAN SIDE-LOAD APPS, USE ALTERNATIVE APP STORES, OR MODIFY THE OS.\n\nBUT ANDROID SHIPS WITH GOOGLE PLAY SERVICES — SYSTEM-LEVEL ACCESS TO YOUR DATA.\n\nTHE OPEN MODEL: FLEXIBLE, BUT YOUR DATA IS THE PRODUCT."; + document.getElementById('nextM2').style.cssText = ''; + showNextBtn('nextM2'); + document.getElementById('sourcesM2').style.cssText = ''; + showNextBtn('sourcesM2'); + document.getElementById('backM2').style.cssText = ''; + showNextBtn('backM2'); + document.getElementById('returnFromM2').style.cssText = ''; + showNextBtn('returnFromM2'); + } + + // Scene M3 skip + const sm3 = document.getElementById('sceneM3'); + if (sm3.style.display === 'flex') { + m1c.forEach(t => clearTimeout(t)); m1c = []; + const txt = sm3.querySelector('.scene4text'); + const tl = sm3.querySelector('.s4tl'); + buildMTimeline(tl, 2); + txt.innerHTML = "GRAPHENEOS LAUNCHED IN 2019 AS A SECURITY-FOCUSED ANDROID DERIVATIVE.\n\nIT REMOVES ALL GOOGLE SERVICES — NO PLAY SERVICES, NO DATA COLLECTION.\n\nEVERY SENSOR AND PERMISSION REQUIRES EXPLICIT CONSENT — CAMERA, MIC, LOCATION, AND MORE.\n\nTHE PRIVACY MODEL: YOU CONTROL YOUR DEVICE."; + document.getElementById('nextM3').style.cssText = ''; + showNextBtn('nextM3'); + document.getElementById('sourcesM3').style.cssText = ''; + showNextBtn('sourcesM3'); + document.getElementById('backM3').style.cssText = ''; + showNextBtn('backM3'); + document.getElementById('returnFromM3').style.cssText = ''; + showNextBtn('returnFromM3'); + } + + // Scene M4 skip + const sm4 = document.getElementById('sceneM4'); + if (sm4.style.display === 'flex') { + m1c.forEach(t => clearTimeout(t)); m1c = []; + const txt = sm4.querySelector('.scene4text'); + const vis = sm4.querySelector('.s4visual'); + const tl = sm4.querySelector('.s4tl'); + buildMTimeline(tl, 3); + txt.innerHTML = "TODAY, THREE MOBILE OPERATING SYSTEMS DOMINATE — BUT THEY HANDLE YOUR DATA VERY DIFFERENTLY.\n\n"; + let html=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+='
GRAPHENEOSANDROIDiOS
CAMERA\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
MICROPHONE\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
LOCATION\u{1F512} LOCKED\u{1F513} OPEN\u{1F512} LOCKED
CONTACTS\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
CLIPBOARD\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
SENSORS\u{1F512} LOCKED\u{1F513} OPEN\u{1F513} OPEN
NETWORK\u{1F512} LOCKED\u{1F513} OPEN\u{1F512} LOCKED
STORAGE\u{1F512} LOCKED\u{1F513} OPEN\u{1F512} LOCKED
'; + html+='
\u{1F512}GRAPHENEOS LOCKS
EVERY SENSOR BY DEFAULT
\u{1F4E1}ANDROID DATA
COLLECTED BY GOOGLE
\u{1F6E1}IOS HAS LIMITED
TRACKING PREVENTION
'; + vis.innerHTML=html; + vis.classList.add('visible'); + document.getElementById('nextM4').style.cssText = ''; + showNextBtn('nextM4'); + document.getElementById('sourcesM4').style.cssText = ''; + showNextBtn('sourcesM4'); + document.getElementById('backM4').style.cssText = ''; + showNextBtn('backM4'); + document.getElementById('returnFromM4').style.cssText = ''; + showNextBtn('returnFromM4'); + } + + // Scene M5 skip + const sm5 = document.getElementById('sceneM5'); + if (sm5.style.display === 'flex') { + m1c.forEach(t => clearTimeout(t)); m1c = []; + const txt = document.getElementById('sM5Text'); + const vis = document.getElementById('sM5Visual'); + txt.innerHTML = "YOUR PHONE IS LITERALLY A TRACKING DEVICE IN YOUR POCKET — UNLESS YOU CHOOSE OTHERWISE.\n\nGRAPHENEOS LOCKS DOWN EVERY SENSOR AND PERMISSION — GIVING YOU REAL CONTROL OVER YOUR DATA."; + let html='
\u2692 THE OS DETERMINES WHO CONTROLS YOUR DEVICE — YOU OR A CORPORATION \u2692
'; + vis.innerHTML=html; + vis.classList.add('visible'); + document.getElementById('backM5').style.cssText = ''; + showNextBtn('backM5'); + document.getElementById('returnFromM5').style.cssText = ''; + showNextBtn('returnFromM5'); + document.getElementById('sourcesM5').style.cssText = ''; + showNextBtn('sourcesM5'); + document.getElementById('seeInteractiveFromM5').style.cssText = ''; + showNextBtn('seeInteractiveFromM5'); + } + + // Scene I1 skip + const si1 = document.getElementById('sceneI1'); + if (si1.style.display === 'flex') { + i1c.forEach(t => clearTimeout(t)); i1c = []; + const txt = si1.querySelector('.scene4text'); + const tl = si1.querySelector('.s4tl'); + buildITimeline(tl, 0); + txt.innerHTML = "ARPANET WAS CREATED IN 1969 BY THE U.S. DEPARTMENT OF DEFENSE — THE FIRST NETWORK TO USE PACKET SWITCHING.\n\nIT CONNECTED FOUR UNIVERSITIES — UCLA, STANFORD, UCSB, AND THE UNIVERSITY OF UTAH.\n\nTHE DESIGN WAS DECENTRALIZED BY DESIGN — NO SINGLE POINT OF FAILURE.\n\nTHIS DECENTRALIZED ARCHITECTURE IS THE FOUNDATION OF THE INTERNET WE KNOW TODAY."; + document.getElementById('nextI1').style.cssText = ''; + showNextBtn('nextI1'); + document.getElementById('sourcesI1').style.cssText = ''; + showNextBtn('sourcesI1'); + document.getElementById('returnFromI1').style.cssText = ''; + showNextBtn('returnFromI1'); + } + + // Scene I2 skip + const si2 = document.getElementById('sceneI2'); + if (si2.style.display === 'flex') { + i1c.forEach(t => clearTimeout(t)); i1c = []; + const txt = si2.querySelector('.scene4text'); + const tl = si2.querySelector('.s4tl'); + buildITimeline(tl, 1); + txt.innerHTML = "THE WORLD WIDE WEB WAS INVENTED IN 1991 BY TIM BERNERS-LEE — MAKING THE INTERNET ACCESSIBLE TO EVERYONE.\n\nTHE WEB OPENED UP A NEW ERA OF DECENTRALIZED COMMUNICATION — ANYONE COULD HOST A WEBSITE.\n\nBUT AS THE WEB GREW, ISPS BECAME GATEKEEPERS — CONTROLLING ACCESS AND SURVEILLING USERS.\n\nTHE DECENTRALIZED IDEAL OF THE INTERNET BEGAN TO ERODE AS CORPORATIONS TOOK CONTROL."; + document.getElementById('nextI2').style.cssText = ''; + showNextBtn('nextI2'); + document.getElementById('sourcesI2').style.cssText = ''; + showNextBtn('sourcesI2'); + document.getElementById('backI2').style.cssText = ''; + showNextBtn('backI2'); + document.getElementById('returnFromI2').style.cssText = ''; + showNextBtn('returnFromI2'); + } + + // Scene I3 skip + const si3 = document.getElementById('sceneI3'); + if (si3.style.display === 'flex') { + i1c.forEach(t => clearTimeout(t)); i1c = []; + const txt = si3.querySelector('.scene4text'); + const tl = si3.querySelector('.s4tl'); + buildITimeline(tl, 2); + txt.innerHTML = "BY THE 2000S, ISPS HAD CONSOLIDATED INTO MONOPOLIES — CONTROLLING BOTH ACCESS AND SPEED.\n\nMESH NETWORKS OFFER A RETURN TO DECENTRALIZATION — EVERY NODE IS A ROUTER.\n\nP2P PROTOCOLS LIKE GUN, IPFS, AND HYPERCORE LET COMMUNITIES BUILD THEIR OWN INTERNET.\n\nMESH NETWORKS ARE CENSORSHIP-RESISTANT — NO ISP CAN TURN THEM OFF."; + document.getElementById('nextI3').style.cssText = ''; + showNextBtn('nextI3'); + document.getElementById('sourcesI3').style.cssText = ''; + showNextBtn('sourcesI3'); + document.getElementById('backI3').style.cssText = ''; + showNextBtn('backI3'); + document.getElementById('returnFromI3').style.cssText = ''; + showNextBtn('returnFromI3'); + } + + // Scene I4 skip + const si4 = document.getElementById('sceneI4'); + if (si4.style.display === 'flex') { + i1c.forEach(t => clearTimeout(t)); i1c = []; + const txt = si4.querySelector('.scene4text'); + const vis = si4.querySelector('.s4visual'); + const tl = si4.querySelector('.s4tl'); + buildITimeline(tl, 3); + txt.innerHTML = "TODAY, THE INTERNET IS CONTROLLED BY A HANDFUL OF ISPS AND BIG TECH PLATFORMS — BUT MESH NETWORKS OFFER A WAY OUT.\n\n"; + let html=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+=''; + html+='
TRADITIONAL ISPMESH NETWORK
CENSORSHIP\u{1F513} ISP CAN BLOCK\u{1F512} IMPOSSIBLE
SURVEILLANCE\u{1F513} ISP TRACKS\u{1F512} NONE
OUTAGE RISK\u{1F513} SINGLE POINT\u{1F512} SELF-HEALING
SPEED\u{1F512} HIGH\u{1F513} VARIABLE
COST\u{1F513} MONTHLY FEE\u{1F512} COMMUNITY
CONTROL\u{1F513} ISP\u{1F512} YOU
'; + html+='
\u{1F512}MESH IS
CENSORSHIP-PROOF
\u{1F4E1}NO ISP
CAN TURN IT OFF
\u{1F6E1}YOU CONTROL
YOUR CONNECTION
'; + vis.innerHTML=html; + vis.classList.add('visible'); + document.getElementById('nextI4').style.cssText = ''; + showNextBtn('nextI4'); + document.getElementById('sourcesI4').style.cssText = ''; + showNextBtn('sourcesI4'); + document.getElementById('backI4').style.cssText = ''; + showNextBtn('backI4'); + document.getElementById('returnFromI4').style.cssText = ''; + showNextBtn('returnFromI4'); + } + + // Scene I5 skip + const si5 = document.getElementById('sceneI5'); + if (si5.style.display === 'flex') { + i1c.forEach(t => clearTimeout(t)); i1c = []; + const txt = document.getElementById('sI5Text'); + const vis = document.getElementById('sI5Visual'); + txt.innerHTML = "THE INTERNET WAS DESIGNED TO BE DECENTRALIZED — ISPS AND BIG TECH HAVE TURNED IT INTO A UTILITY CONTROLLED BY GATEKEEPERS.\n\nMESH NETWORKS AND P2P PROTOCOLS LET COMMUNITIES BUILD THEIR OWN INTERNET — NO ISP REQUIRED."; + let html='
\u2692 THE INTERNET BELONGS TO EVERYONE — DON\u2019T LET ISPS TAKE IT AWAY \u2692
'; + vis.innerHTML=html; + vis.classList.add('visible'); + document.getElementById('backI5').style.cssText = ''; + showNextBtn('backI5'); + document.getElementById('returnFromI5').style.cssText = ''; + showNextBtn('returnFromI5'); + document.getElementById('sourcesI5').style.cssText = ''; + showNextBtn('sourcesI5'); + document.getElementById('seeInteractiveFromI5').style.cssText = ''; + showNextBtn('seeInteractiveFromI5'); + } + // Scene 8b skip const s8b = document.getElementById('scene8b'); if (s8b.style.display === 'flex') { @@ -4713,7 +6027,7 @@
  • Bowman v. Monsanto Co. (2013) — Oyez. — Supreme Court ruled that patent exhaustion does not permit farmers to replant patented GM seeds; seed patenting and corporate control of agriculture.
  • 484.Kitchen. — Regenerative agriculture, syntropic farming, and decentralized food infrastructure — building the alternative to the industrial food system.
  • -
    +