1
0

Save point: food timeline scenes (F1-F5, Summary, Food Links) — 1906/1947/1970/1996/2010+ with inline source links, sceneRefs, Escape skip, and YOUR FOOD button wired to timeline

This commit is contained in:
avi
2026-05-14 17:51:39 -05:00
parent d678e66067
commit 68d5c20ecb

View File

@@ -836,6 +836,12 @@
font-family: 'Courier New', monospace; font-size: 0.85rem;
}
#foodOverlay .food-close:hover { color: #00ff00; }
/* Food links scene */
#sceneFoodLinks { display:none; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
#sceneFoodLinks .food-links-title { color:#00ff00; font-size:1.5rem; margin-bottom:1.5rem; }
#sceneFoodLinks .food-btn { display:block; width:100%; padding:0.8rem 2rem; margin:0.5rem 0; background:#001100; color:#00ff00; border:2px solid #00ff00; cursor:pointer; font-family:'Courier New',monospace; font-size:1rem; letter-spacing:2px; transition:background 0.2s ease; }
#sceneFoodLinks .food-btn:hover { background:#003300; }
</style>
</head>
<body>
@@ -1077,6 +1083,69 @@
</div>
</div>
<!-- Food scenes (F1-F5 timeline, Summary, Links) -->
<div id="sceneF1" class="scene scene4sub">
<div class="s4tl"></div>
<div class="scene4text" id="sF1Text"></div>
<div class="s4visual" id="sF1Visual"></div>
<div class="btn-row">
<button class="btnNext" id="sourcesF1">SOURCES</button>
<button class="btnNext" id="nextF1">NEXT</button>
</div>
</div>
<div id="sceneF2" class="scene scene4sub">
<div class="s4tl"></div>
<div class="scene4text" id="sF2Text"></div>
<div class="s4visual" id="sF2Visual"></div>
<div class="btn-row">
<button class="btnNext" id="sourcesF2">SOURCES</button>
<button class="btnNext" id="nextF2">NEXT</button>
</div>
</div>
<div id="sceneF3" class="scene scene4sub">
<div class="s4tl"></div>
<div class="scene4text" id="sF3Text"></div>
<div class="s4visual" id="sF3Visual"></div>
<div class="btn-row">
<button class="btnNext" id="sourcesF3">SOURCES</button>
<button class="btnNext" id="nextF3">NEXT</button>
</div>
</div>
<div id="sceneF4" class="scene scene4sub">
<div class="s4tl"></div>
<div class="scene4text" id="sF4Text"></div>
<div class="s4visual" id="sF4Visual"></div>
<div class="btn-row">
<button class="btnNext" id="sourcesF4">SOURCES</button>
<button class="btnNext" id="nextF4">NEXT</button>
</div>
</div>
<div id="sceneF5" class="scene scene4sub">
<div class="s4tl"></div>
<div class="scene4text" id="sF5Text"></div>
<div class="s4visual" id="sF5Visual"></div>
<div class="btn-row">
<button class="btnNext" id="sourcesF5">SOURCES</button>
<button class="btnNext" id="nextF5">NEXT</button>
</div>
</div>
<div id="sceneFoodSum" class="scene">
<div class="scene5text" id="sFoodSumText"></div>
<div class="s5visual" id="sFoodSumVisual"></div>
<div class="btn-row">
<button class="btnNext" id="sourcesFoodSum">SOURCES</button>
<button class="btnNext" id="nextFoodSum">NEXT</button>
</div>
</div>
<div id="sceneFoodLinks" class="scene" style="flex-direction:column;">
<div class="scene5text" id="sFoodLinksText"></div>
<div class="btn-row" style="flex-direction:column;align-items:center;gap:1rem;">
<button class="food-btn" id="foodTimelineVimeo">SIGNAL ELSEWHERE — VIMEO</button>
<button class="food-btn" id="foodTimelineKitchen">484.KITCHEN</button>
<button class="btnNext" id="returnFromFoodLinks">RETURN TO LAB</button>
</div>
</div>
<script>
// Testing shortcuts state
let skipAnimations = false;
@@ -1531,6 +1600,18 @@
tlElem.classList.add('visible');
}
function buildFTimeline(tlElem, activeIdx) {
const years = ['1906', '1947', '1970', '1996', '2010'];
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';
@@ -2090,6 +2171,315 @@
},30);
}
// Scene F1 — 1906 Pure Food and Drug Act
function loadSceneF1(sceneElem) {
f1c=[];
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('nextF1').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildFTimeline(tl,0);
typeHtmlCalmly(txt,"IMAGINE THE GOVERNMENT DECIDED WHAT YOU COULD EAT — AND WHAT YOU COULDN'T.",()=>{
const tWait=setTimeout(()=>{
typeHtmlCalmly(txt,"\n\nTHAT'S NOT HYPOTHETICAL — IT HAPPENED IN 1906.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"THE ",()=>{
const link=document.createElement('a');
link.href='https://www.fda.gov/about-fda/changes-science-law-and-regulatory-authorities/part-i-1906-food-and-drugs-act';
link.target='_blank';
link.textContent='PURE FOOD AND DRUG ACT';
link.style.cssText='text-decoration:underline;font-weight:bold;color:#00ff00';
txt.appendChild(link);
typeHtmlCalmly(txt," WAS THE FIRST FEDERAL LAW TO REGULATE FOOD. IT MADE MISBRANDING AND ADULTERATION A CRIME, AND CREATED THE USDA'S BUREAU OF CHEMISTRY.",()=>{
const t2=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"SOUNDS REASONABLE — BUT IT ALSO GAVE THE GOVERNMENT POWER TO DECIDE WHAT WAS SAFE TO EAT.",()=>{
const t3=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"THE POWER TO REGULATE IS THE POWER TO CONTROL.",()=>{
showNextBtn('nextF1');showNextBtn('sourcesF1');
},undefined,undefined,f1c);
},800);
f1c.push(t3);
},undefined,undefined,f1c);
},800);
f1c.push(t2);
},undefined,undefined,f1c);
},undefined,undefined,f1c);
},1000);
f1c.push(t1);
},undefined,undefined,f1c);
},1000);
f1c.push(tWait);
},undefined,undefined,f1c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene F2 — 1947 FIFRA / Chemical Agriculture
function loadSceneF2(sceneElem) {
f1c=[];
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('nextF2').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildFTimeline(tl,1);
typeHtmlCalmly(txt,"IN 1947, AFTER WORLD WAR II, THE ",()=>{
const link=document.createElement('a');
link.href='https://www.epa.gov/ingredients-used-pesticide-products/federal-insecticide-fungicide-and-rodenticide-act-fifra';
link.target='_blank';
link.textContent='FEDERAL INSECTICIDE, FUNGICIDE, AND RODENTICIDE ACT';
link.style.cssText='text-decoration:underline;font-weight:bold;color:#00ff00';
txt.appendChild(link);
typeHtmlCalmly(txt," WAS PASSED.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"SYNTHETIC PESTICIDES LIKE DDT WERE HAILED AS MIRACLES — 'BETTER LIVING THROUGH CHEMISTRY.'",()=>{
const t2=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"FARMING BECAME DEPENDENT ON CHEMICAL INPUTS. THE SOIL BECAME A MEDIUM FOR TOXINS.",()=>{
const t3=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"THE INDUSTRIAL FOOD SYSTEM WAS BORN — AND THE COSTS WERE HIDDEN.",()=>{
showNextBtn('nextF2');showNextBtn('sourcesF2');
},undefined,undefined,f1c);
},800);
f1c.push(t3);
},undefined,undefined,f1c);
},800);
f1c.push(t2);
},undefined,undefined,f1c);
},1200);
f1c.push(t1);
},undefined,undefined,f1c);
},undefined,undefined,f1c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene F3 — 1970s Farm Bill / Earl Butz
function loadSceneF3(sceneElem) {
f1c=[];
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('nextF3').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildFTimeline(tl,2);
typeHtmlCalmly(txt,"IN THE 1970S, SECRETARY OF AGRICULTURE EARL BUTZ TOLD FARMERS: ",()=>{
const link=document.createElement('a');
link.href='https://www.usda.gov/farmbill';
link.target='_blank';
link.textContent='"GET BIG OR GET OUT."';
link.style.cssText='text-decoration:underline;font-weight:bold;color:#00ff00';
txt.appendChild(link);
typeHtmlCalmly(txt,"",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"THE GOVERNMENT SUBSIDIZED CORN AND SOY LIKE NEVER BEFORE — MAKING THEM THE CHEAPEST INGREDIENTS IN THE WORLD.",()=>{
const t2=setTimeout(()=>{
txt.innerHTML+="\n\n";
vis.innerHTML='<div class="callout-box">\u2692 CORN SUBSIDIES + HFCS = PROCESSED FOOD CHEAPER THAN REAL FOOD \u2692</div>';
vis.classList.add('visible');
showNextBtn('nextF3');showNextBtn('sourcesF3');
},800);
f1c.push(t2);
},undefined,undefined,f1c);
},1200);
f1c.push(t1);
},undefined,undefined,f1c);
},undefined,undefined,f1c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene F4 — 1996 GMO / Seed Patents
function loadSceneF4(sceneElem) {
f1c=[];
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('nextF4').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildFTimeline(tl,3);
typeHtmlCalmly(txt,"IN 1996, THE FIRST ",()=>{
const link=document.createElement('a');
link.href='https://www.fda.gov/food/food-new-plant-varieties/consumer-info-about-food-genetically-engineered-plants';
link.target='_blank';
link.textContent='ROUNDUP READY CROPS';
link.style.cssText='text-decoration:underline;font-weight:bold;color:#00ff00';
txt.appendChild(link);
typeHtmlCalmly(txt," HIT THE MARKET. A MONSANTO BIOTECHNOLOGY REVOLUTION.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"SEEDS COULD NOW BE PATENTED — MAKING FARMERS DEPENDENT ON CORPORATIONS FOR THEIR OWN CROPS.",()=>{
const t2=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"BY 2010, 90% OF CORN AND SOY IN AMERICA WAS GENETICALLY MODIFIED.",()=>{
const t3=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"THE RIGHT TO SAVE SEEDS WAS REPLACED BY LICENSE AGREEMENTS.",()=>{
showNextBtn('nextF4');showNextBtn('sourcesF4');
},undefined,undefined,f1c);
},800);
f1c.push(t3);
},undefined,undefined,f1c);
},800);
f1c.push(t2);
},undefined,undefined,f1c);
},1200);
f1c.push(t1);
},undefined,undefined,f1c);
},undefined,undefined,f1c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene F5 — 2010+ Decentralized Food
function loadSceneF5(sceneElem) {
f1c=[];
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('nextF5').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildFTimeline(tl,4);
typeHtmlCalmly(txt,"TODAY, A NEW FOOD SYSTEM IS EMERGING — REGENERATIVE AGRICULTURE, SYNTOPIC FARMING, LOCAL FOOD NETWORKS.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"PROJECTS LIKE ",()=>{
const link=document.createElement('a');
link.href='https://484.kitchen';
link.target='_blank';
link.textContent='484.KITCHEN';
link.style.cssText='text-decoration:underline;font-weight:bold;color:#00ff00';
txt.appendChild(link);
typeHtmlCalmly(txt," ARE BUILDING THE INFRASTRUCTURE FOR FOOD YOU CONTROL.",()=>{
const t2=setTimeout(()=>{
txt.innerHTML+="\n\n";
let html='<table class="comp-table"><tr><th></th><th>INDUSTRIAL</th><th>DECENTRALIZED</th></tr>';
html+='<tr><td>WHO DECIDES?</td><td>CORPORATIONS / GOVERNMENT</td><td>YOU + YOUR FARMER</td></tr>';
html+='<tr><td>ACCESS</td><td>GATEKEPT</td><td>DIRECT</td></tr>';
html+='<tr><td>SEEDS</td><td>PATENTED</td><td>OPEN / HEIRLOOM</td></tr>';
html+='<tr><td>SOIL HEALTH</td><td>CHEMICAL-DEPENDENT</td><td>REGENERATIVE</td></tr>';
html+='<tr><td>COST MODEL</td><td>SUBSIDY-BASED</td><td>DIRECT PAYMENT</td></tr>';
html+='</table><div class="punch-row"><div class="punch-card"><span class="punch-icon">\uD83C\uDF3E</span><span class="punch-text">NO GATEKEEPER —<br>YOU CHOOSE YOUR FOOD</span></div><div class="punch-card"><span class="punch-icon">\uD83E\uDDD1\u200D\uD83C\uDF3E</span><span class="punch-text">KNOW YOUR FARMER —<br>NO CORPORATE MIDDLEMAN</span></div><div class="punch-card"><span class="punch-icon">\uD83C\uDF1E</span><span class="punch-text">REGENERATIVE —<br>HEALS THE SOIL</span></div></div>';
vis.innerHTML=html;
vis.classList.add('visible');
showNextBtn('nextF5');showNextBtn('sourcesF5');
},800);
f1c.push(t2);
},undefined,undefined,f1c);
},undefined,undefined,f1c);
},1200);
f1c.push(t1);
},undefined,undefined,f1c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene Food Summary
function loadSceneFoodSum(sceneElem) {
f1c=[];
sceneElem.style.display='flex';
const txt=document.getElementById('sFoodSumText');
const vis=document.getElementById('sFoodSumVisual');
txt.innerHTML='';
vis.className='s5visual';
let o=0;
const fi=setInterval(()=>{
if (sceneElem.style.display !== 'flex' || document.getElementById('nextFoodSum').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
typeHtmlCalmly(txt,"THE INDUSTRIAL FOOD SYSTEM FEEDS BILLIONS — BUT IT ALSO CONTROLS WHAT YOU EAT.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
vis.classList.add('visible');
let html='<table class="comp-table"><tr><th></th><th>INDUSTRIAL</th><th>DECENTRALIZED</th></tr>';
html+='<tr><td>GATEKEEPERS</td><td>✅ YES — USDA, FDA, MONSANTO</td><td>❌ NONE</td></tr>';
html+='<tr><td>YOUR FOOD</td><td>PROCESSED / CHEMICAL</td><td>YOU CHOOSE</td></tr>';
html+='<tr><td>INNOVATION</td><td>PATENT-BASED</td><td>OPEN / REGENERATIVE</td></tr>';
html+='<tr><td>SOIL</td><td>DEGRADED</td><td>HEALED</td></tr>';
html+='</table><div class="punch-row"><div class="punch-card"><span class="punch-icon">\uD83E\uDDEA</span><span class="punch-text">DECENTRALIZED FOOD<br>DOESN\'T REPLACE FARMERS</span></div><div class="punch-card"><span class="punch-icon">\uD83D\uDD11</span><span class="punch-text">IT REPLACES<br>GATEKEEPERS</span></div><div class="punch-card"><span class="punch-icon">\uD83C\uDF31</span><span class="punch-text">THE FUTURE IS<br>REGENERATIVE</span></div></div>';
vis.innerHTML=html;
typeHtmlCalmly(txt,"THE QUESTION ISN'T WHETHER TO USE THE INDUSTRIAL FOOD SYSTEM — IT'S WHO DECIDES WHAT'S ON YOUR PLATE.",()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"DECENTRALIZED FOOD DOESN'T REPLACE FARMERS. IT REPLACES GATEKEEPERS.",()=>{
const t6=setTimeout(()=>{
document.getElementById('nextFoodSum').style.cssText='';
showNextBtn('nextFoodSum');
document.getElementById('sourcesFoodSum').style.cssText='';
showNextBtn('sourcesFoodSum');
},400);
f1c.push(t6);
},8,20,f1c);
},8,20,f1c);
},300);
f1c.push(t1);
},8,20,f1c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene Food Links — Vimeo + 484.kitchen
function loadSceneFoodLinks(sceneElem) {
f1c=[];
sceneElem.style.display='flex';
const txt=document.getElementById('sFoodLinksText');
txt.innerHTML='';
let o=0;
const fi=setInterval(()=>{
if (sceneElem.style.display !== 'flex' || document.getElementById('returnFromFoodLinks').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
typeHtmlCalmly(txt,"READY TO EXPLORE THE DECENTRALIZED FOOD MOVEMENT?",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"CHOOSE A SITE TO LEARN MORE:",()=>{
showNextBtn('returnFromFoodLinks');
document.getElementById('foodTimelineVimeo').style.cssText='display:block;width:100%;padding:0.8rem 2rem;margin:0.5rem 0;background:#001100;color:#00ff00;border:2px solid #00ff00;cursor:pointer;font-family:\'Courier New\',monospace;font-size:1rem;letter-spacing:2px;transition:background 0.2s ease;';
document.getElementById('foodTimelineKitchen').style.cssText='display:block;width:100%;padding:0.8rem 2rem;margin:0.5rem 0;background:#001100;color:#00ff00;border:2px solid #00ff00;cursor:pointer;font-family:\'Courier New\',monospace;font-size:1rem;letter-spacing:2px;transition:background 0.2s ease;';
},undefined,undefined,f1c);
},600);
f1c.push(t1);
},8,20,f1c);
}
sceneElem.style.opacity=o;
},30);
}
function buildS6DesktopTable() {
const rows=[
['PROPERTY','<span class="nickname">LINUX</span>','macOS','WINDOWS','CHROMEOS'],
@@ -2898,6 +3288,7 @@
let s4c = [];
let s5c = [];
let h10c = [];
let f1c = [];
let s2c = [];
let s7c = [];
let s8c = [];
@@ -3507,7 +3898,7 @@
transitionToScene('scene3', loadScene6, 'scene6');
});
document.getElementById('yourFoodBtn').addEventListener('click', () => {
document.getElementById('foodOverlay').classList.add('visible');
transitionToScene('scene3', loadSceneF1, 'sceneF1');
});
document.getElementById('foodVimeo').addEventListener('click', () => {
sessionStorage.setItem('returnToScene', 'scene3');
@@ -3611,7 +4002,61 @@
}, 500);
});
['4a','4b','4c','4d','4e','5','10a','10b','10c','10d','10e','11'].forEach(function(id){
document.getElementById('nextF1').addEventListener('click', () => {
document.getElementById('sceneF1').style.display = 'none';
loadSceneF2(document.getElementById('sceneF2'));
});
document.getElementById('nextF2').addEventListener('click', () => {
document.getElementById('sceneF2').style.display = 'none';
loadSceneF3(document.getElementById('sceneF3'));
});
document.getElementById('nextF3').addEventListener('click', () => {
document.getElementById('sceneF3').style.display = 'none';
loadSceneF4(document.getElementById('sceneF4'));
});
document.getElementById('nextF4').addEventListener('click', () => {
document.getElementById('sceneF4').style.display = 'none';
loadSceneF5(document.getElementById('sceneF5'));
});
document.getElementById('nextF5').addEventListener('click', () => {
document.getElementById('sceneF5').style.display = 'none';
loadSceneFoodSum(document.getElementById('sceneFoodSum'));
});
document.getElementById('nextFoodSum').addEventListener('click', () => {
document.getElementById('sceneFoodSum').style.display = 'none';
loadSceneFoodLinks(document.getElementById('sceneFoodLinks'));
});
document.getElementById('returnFromFoodLinks').addEventListener('click', () => {
document.getElementById('sceneFoodLinks').style.display = 'none';
const s3 = document.getElementById('scene3');
scene3TypewriterTimeouts.forEach(t => clearTimeout(t));
scene3TypewriterTimeouts = [];
s3.style.display = 'flex';
s3.style.opacity = '1';
document.getElementById('scene3Title').classList.add('visible');
document.getElementById('scene3Text').innerHTML = "IS AN INCUBATOR THAT HAS MANY DECENTRALIZED STARTUPS UNDERNEATH IT<br><br><br><br><br><br><br><br><div style=\"text-align:center\">WE BELIEVE EVERYTHING SHOULD BE DECENTRALIZED</div>";
const row = document.getElementById('scene3ChoiceRow');
row.style.display = 'flex';
const btns = row.querySelectorAll('.scene3ChoiceBtn');
btns.forEach(btn => {
btn.style.opacity = '0';
btn.style.pointerEvents = 'none';
});
setTimeout(() => {
btns.forEach(btn => {
btn.style.opacity = '1';
btn.style.pointerEvents = 'auto';
});
}, 500);
});
document.getElementById('foodTimelineVimeo').addEventListener('click', () => {
window.location.href = 'https://vimeo.com/801031681/eb502b3911';
});
document.getElementById('foodTimelineKitchen').addEventListener('click', () => {
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){
document.getElementById('sources'+id).addEventListener('click',function(){
window.refsCaller='scene'+id;
document.getElementById('scene'+id).style.display='none';
@@ -4090,6 +4535,123 @@
showNextBtn('sources11');
}
// Scene F1 skip
const sf1 = document.getElementById('sceneF1');
if (sf1.style.display === 'flex') {
f1c.forEach(t => clearTimeout(t)); f1c = [];
const txt = sf1.querySelector('.scene4text');
const tl = sf1.querySelector('.s4tl');
buildFTimeline(tl, 0);
txt.innerHTML = "IMAGINE THE GOVERNMENT DECIDED WHAT YOU COULD EAT — AND WHAT YOU COULDN'T.\n\nTHAT'S NOT HYPOTHETICAL — IT HAPPENED IN 1906.\n\nTHE <a href=\"https://www.fda.gov/about-fda/changes-science-law-and-regulatory-authorities/part-i-1906-food-and-drugs-act\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">PURE FOOD AND DRUG ACT</a> WAS THE FIRST FEDERAL LAW TO REGULATE FOOD. IT MADE MISBRANDING AND ADULTERATION A CRIME, AND CREATED THE USDA'S BUREAU OF CHEMISTRY.\n\nSOUNDS REASONABLE — BUT IT ALSO GAVE THE GOVERNMENT POWER TO DECIDE WHAT WAS SAFE TO EAT.\n\nTHE POWER TO REGULATE IS THE POWER TO CONTROL.";
document.getElementById('nextF1').style.cssText = '';
showNextBtn('nextF1');
document.getElementById('sourcesF1').style.cssText = '';
showNextBtn('sourcesF1');
}
// Scene F2 skip
const sf2 = document.getElementById('sceneF2');
if (sf2.style.display === 'flex') {
f1c.forEach(t => clearTimeout(t)); f1c = [];
const txt = sf2.querySelector('.scene4text');
const tl = sf2.querySelector('.s4tl');
buildFTimeline(tl, 1);
txt.innerHTML = "IN 1947, AFTER WORLD WAR II, THE <a href=\"https://www.epa.gov/ingredients-used-pesticide-products/federal-insecticide-fungicide-and-rodenticide-act-fifra\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">FEDERAL INSECTICIDE, FUNGICIDE, AND RODENTICIDE ACT</a> WAS PASSED.\n\nSYNTHETIC PESTICIDES LIKE DDT WERE HAILED AS MIRACLES — 'BETTER LIVING THROUGH CHEMISTRY.'\n\nFARMING BECAME DEPENDENT ON CHEMICAL INPUTS. THE SOIL BECAME A MEDIUM FOR TOXINS.\n\nTHE INDUSTRIAL FOOD SYSTEM WAS BORN — AND THE COSTS WERE HIDDEN.";
document.getElementById('nextF2').style.cssText = '';
showNextBtn('nextF2');
document.getElementById('sourcesF2').style.cssText = '';
showNextBtn('sourcesF2');
}
// Scene F3 skip
const sf3 = document.getElementById('sceneF3');
if (sf3.style.display === 'flex') {
f1c.forEach(t => clearTimeout(t)); f1c = [];
const txt = sf3.querySelector('.scene4text');
const vis = sf3.querySelector('.s4visual');
const tl = sf3.querySelector('.s4tl');
buildFTimeline(tl, 2);
txt.innerHTML = "IN THE 1970S, SECRETARY OF AGRICULTURE EARL BUTZ TOLD FARMERS: <a href=\"https://www.usda.gov/farmbill\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">\"GET BIG OR GET OUT.\"</a>\n\nTHE GOVERNMENT SUBSIDIZED CORN AND SOY LIKE NEVER BEFORE — MAKING THEM THE CHEAPEST INGREDIENTS IN THE WORLD.\n\n";
vis.innerHTML = '<div class="callout-box">\u2692 CORN SUBSIDIES + HFCS = PROCESSED FOOD CHEAPER THAN REAL FOOD \u2692</div>';
vis.classList.add('visible');
document.getElementById('nextF3').style.cssText = '';
showNextBtn('nextF3');
document.getElementById('sourcesF3').style.cssText = '';
showNextBtn('sourcesF3');
}
// Scene F4 skip
const sf4 = document.getElementById('sceneF4');
if (sf4.style.display === 'flex') {
f1c.forEach(t => clearTimeout(t)); f1c = [];
const txt = sf4.querySelector('.scene4text');
const tl = sf4.querySelector('.s4tl');
buildFTimeline(tl, 3);
txt.innerHTML = "IN 1996, THE FIRST <a href=\"https://www.fda.gov/food/food-new-plant-varieties/consumer-info-about-food-genetically-engineered-plants\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">ROUNDUP READY CROPS</a> HIT THE MARKET. A MONSANTO BIOTECHNOLOGY REVOLUTION.\n\nSEEDS COULD NOW BE PATENTED — MAKING FARMERS DEPENDENT ON CORPORATIONS FOR THEIR OWN CROPS.\n\nBY 2010, 90% OF CORN AND SOY IN AMERICA WAS GENETICALLY MODIFIED.\n\nTHE RIGHT TO SAVE SEEDS WAS REPLACED BY LICENSE AGREEMENTS.";
document.getElementById('nextF4').style.cssText = '';
showNextBtn('nextF4');
document.getElementById('sourcesF4').style.cssText = '';
showNextBtn('sourcesF4');
}
// Scene F5 skip
const sf5 = document.getElementById('sceneF5');
if (sf5.style.display === 'flex') {
f1c.forEach(t => clearTimeout(t)); f1c = [];
const txt = sf5.querySelector('.scene4text');
const vis = sf5.querySelector('.s4visual');
const tl = sf5.querySelector('.s4tl');
buildFTimeline(tl, 4);
txt.innerHTML = "TODAY, A NEW FOOD SYSTEM IS EMERGING — REGENERATIVE AGRICULTURE, SYNTOPIC FARMING, LOCAL FOOD NETWORKS.\n\nPROJECTS LIKE <a href=\"https://484.kitchen\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">484.KITCHEN</a> ARE BUILDING THE INFRASTRUCTURE FOR FOOD YOU CONTROL.\n\n";
let html='<table class="comp-table"><tr><th></th><th>INDUSTRIAL</th><th>DECENTRALIZED</th></tr>';
html+='<tr><td>WHO DECIDES?</td><td>CORPORATIONS / GOVERNMENT</td><td>YOU + YOUR FARMER</td></tr>';
html+='<tr><td>ACCESS</td><td>GATEKEPT</td><td>DIRECT</td></tr>';
html+='<tr><td>SEEDS</td><td>PATENTED</td><td>OPEN / HEIRLOOM</td></tr>';
html+='<tr><td>SOIL HEALTH</td><td>CHEMICAL-DEPENDENT</td><td>REGENERATIVE</td></tr>';
html+='<tr><td>COST MODEL</td><td>SUBSIDY-BASED</td><td>DIRECT PAYMENT</td></tr>';
html+='</table><div class="punch-row"><div class="punch-card"><span class="punch-icon">\uD83C\uDF3E</span><span class="punch-text">NO GATEKEEPER —<br>YOU CHOOSE YOUR FOOD</span></div><div class="punch-card"><span class="punch-icon">\uD83E\uDDD1\u200D\uD83C\uDF3E</span><span class="punch-text">KNOW YOUR FARMER —<br>NO CORPORATE MIDDLEMAN</span></div><div class="punch-card"><span class="punch-icon">\uD83C\uDF1E</span><span class="punch-text">REGENERATIVE —<br>HEALS THE SOIL</span></div></div>';
vis.innerHTML=html;
vis.classList.add('visible');
document.getElementById('nextF5').style.cssText = '';
showNextBtn('nextF5');
document.getElementById('sourcesF5').style.cssText = '';
showNextBtn('sourcesF5');
}
// Scene FoodSum skip
const sfSum = document.getElementById('sceneFoodSum');
if (sfSum.style.display === 'flex') {
f1c.forEach(t => clearTimeout(t)); f1c = [];
const txt = document.getElementById('sFoodSumText');
const vis = document.getElementById('sFoodSumVisual');
txt.innerHTML = "THE INDUSTRIAL FOOD SYSTEM FEEDS BILLIONS — BUT IT ALSO CONTROLS WHAT YOU EAT.\n\n";
let html='<table class="comp-table"><tr><th></th><th>INDUSTRIAL</th><th>DECENTRALIZED</th></tr>';
html+='<tr><td>GATEKEEPERS</td><td>✅ YES — USDA, FDA, MONSANTO</td><td>❌ NONE</td></tr>';
html+='<tr><td>YOUR FOOD</td><td>PROCESSED / CHEMICAL</td><td>YOU CHOOSE</td></tr>';
html+='<tr><td>INNOVATION</td><td>PATENT-BASED</td><td>OPEN / REGENERATIVE</td></tr>';
html+='<tr><td>SOIL</td><td>DEGRADED</td><td>HEALED</td></tr>';
html+='</table><div class="punch-row"><div class="punch-card"><span class="punch-icon">\uD83E\uDDEA</span><span class="punch-text">DECENTRALIZED FOOD<br>DOESN\'T REPLACE FARMERS</span></div><div class="punch-card"><span class="punch-icon">\uD83D\uDD11</span><span class="punch-text">IT REPLACES<br>GATEKEEPERS</span></div><div class="punch-card"><span class="punch-icon">\uD83C\uDF31</span><span class="punch-text">THE FUTURE IS<br>REGENERATIVE</span></div></div>';
vis.innerHTML=html;
txt.innerHTML += "\nTHE QUESTION ISN'T WHETHER TO USE THE INDUSTRIAL FOOD SYSTEM — IT'S WHO DECIDES WHAT'S ON YOUR PLATE.\n\nDECENTRALIZED FOOD DOESN'T REPLACE FARMERS. IT REPLACES GATEKEEPERS.";
vis.classList.add('visible');
document.getElementById('nextFoodSum').style.cssText = '';
showNextBtn('nextFoodSum');
document.getElementById('sourcesFoodSum').style.cssText = '';
showNextBtn('sourcesFoodSum');
}
// Scene FoodLinks skip
const sfLinks = document.getElementById('sceneFoodLinks');
if (sfLinks.style.display === 'flex') {
f1c.forEach(t => clearTimeout(t)); f1c = [];
const txt = document.getElementById('sFoodLinksText');
txt.innerHTML = "READY TO EXPLORE THE DECENTRALIZED FOOD MOVEMENT?\n\nCHOOSE A SITE TO LEARN MORE:";
document.getElementById('returnFromFoodLinks').style.cssText = '';
showNextBtn('returnFromFoodLinks');
document.getElementById('foodTimelineVimeo').style.cssText = 'display:block;width:100%;padding:0.8rem 2rem;margin:0.5rem 0;background:#001100;color:#00ff00;border:2px solid #00ff00;cursor:pointer;font-family:\'Courier New\',monospace;font-size:1rem;letter-spacing:2px;transition:background 0.2s ease;';
document.getElementById('foodTimelineKitchen').style.cssText = 'display:block;width:100%;padding:0.8rem 2rem;margin:0.5rem 0;background:#001100;color:#00ff00;border:2px solid #00ff00;cursor:pointer;font-family:\'Courier New\',monospace;font-size:1rem;letter-spacing:2px;transition:background 0.2s ease;';
}
}
if (e.key === 'Delete') {
@@ -4134,8 +4696,16 @@
<li><a href="https://www.congress.gov/93/statute/STATUTE-87/STATUTE-87-Pg914.pdf" target="_blank">Health Maintenance Organization Act of 1973 (Pub.L. 93-222).</a> — Original statute that formalized managed care, mandated employer dual-choice, and replaced the doctor-patient relationship with the corporate provider-member model.</li>
<li><a href="https://en.wikipedia.org/wiki/Health_Maintenance_Organization_Act_of_1973" target="_blank">Wikipedia — Health Maintenance Organization Act of 1973.</a> — Nixon administration, Dr. Paul Ellwood's "less care = more money" incentive structure, and the HMO market transformation.</li>
<li><a href="https://syntropy.institute/" target="_blank">Syntropy Institute.</a> — Open infrastructure for decentralized, patient-controlled medicine — biohacking, functional medicine, and direct-to-consumer health data ownership.</li>
<li><a href="https://www.fda.gov/about-fda/changes-science-law-and-regulatory-authorities/part-i-1906-food-and-drugs-act" target="_blank">FDA — Part I: 1906, Food and Drugs Act.</a> — First federal law to regulate food; created the USDA Bureau of Chemistry; made misbranding and adulteration a crime.</li>
<li><a href="https://www.epa.gov/ingredients-used-pesticide-products/federal-insecticide-fungicide-and-rodenticide-act-fifra" target="_blank">EPA — Federal Insecticide, Fungicide, and Rodenticide Act (FIFRA).</a> — 1947 law regulating synthetic pesticides like DDT; ushered in the chemical agriculture era.</li>
<li><a href="https://www.epa.gov/ingredients-used-pesticide-products/ddt-brief-history-and-status" target="_blank">EPA — DDT: A Brief History and Status.</a> — Rachel Carson's Silent Spring (1962) led to DDT ban in 1972; chemical dependency of industrial farming exposed.</li>
<li><a href="https://www.usda.gov/farmbill" target="_blank">USDA — Farm Bill History.</a> — Earl Butz's "get big or get out" (1970s); corn/soy subsidies; HFCS replaced sugar; cheaper to eat processed food than real food.</li>
<li><a href="https://michaelpollan.com/articles-archive/when-a-crop-becomes-king/" target="_blank">Pollan, M. (2002). "When a Crop Becomes King." The New York Times.</a> — How corn subsidies created the cheap-calorie food system driving obesity and diabetes epidemics.</li>
<li><a href="https://www.fda.gov/food/food-new-plant-varieties/consumer-info-about-food-genetically-engineered-plants" target="_blank">FDA — Consumer Info About Food from Genetically Engineered Plants.</a> — 1996 Roundup Ready crops; GMO approval; by 2010, 90% of US corn and soy was genetically modified.</li>
<li><a href="https://www.oyez.org/cases/2012/11-796" target="_blank">Bowman v. Monsanto Co. (2013) — Oyez.</a> — Supreme Court ruled that patent exhaustion does not permit farmers to replant patented GM seeds; seed patenting and corporate control of agriculture.</li>
<li><a href="https://484.kitchen" target="_blank">484.Kitchen.</a> — Regenerative agriculture, syntropic farming, and decentralized food infrastructure — building the alternative to the industrial food system.</li>
</ol>
<div class="refs-back"><button id="refsBackBtn" onclick="document.getElementById('sceneRefs').classList.remove('visible');var c=window.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')document.getElementById(c).style.display='flex';window.refsCaller=null;">BACK</button></div>
<div class="refs-back"><button id="refsBackBtn" onclick="document.getElementById('sceneRefs').classList.remove('visible');var c=window.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';window.refsCaller=null;">BACK</button></div>
</div>
</div>