From 83f1aa94dcc31f9e729d18b9554ecb3089f56f2c Mon Sep 17 00:00:00 2001 From: grabowski Date: Fri, 16 Oct 2026 09:36:53 +0700 Subject: [PATCH] Make a record: launching a campaign no longer starts the simulation After Launch the campaign page opens at day 0 with Play ready; the artist (or presenter) starts it. The quick "Run the demo campaign" path behaves the same; only the guided tour presses play itself. --- docs/make-a-record.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/make-a-record.html b/docs/make-a-record.html index 984b5be..8413b30 100644 --- a/docs/make-a-record.html +++ b/docs/make-a-record.html @@ -1245,7 +1245,7 @@ function go(s){ if(changed){const y=window.scrollY,top=$("main").getBoundingClientRect().top+y-90;if(y>top)window.scrollTo({top:Math.max(0,top),behavior:TOUR?"smooth":"auto"});} } function approve(){if(!canApprove())return;S.gate1=true;go(3);} -function launch(){if(!canLaunch()){if(!S.gate1)go(2);return;}resetCampaign();S.mode="campaign";S.launched=true;S.launchDate=new Date(TODAY);go(5);startSim();renderAll();} +function launch(){if(!canLaunch()){if(!S.gate1)go(2);return;}resetCampaign();S.mode="campaign";S.launched=true;S.launchDate=new Date(TODAY);go(5);renderAll();} function setFanPrice(v){S.fanPrice=v;if(S.mode==="campaign")resetCampaign();renderAll();} function setQty(q){S.qty=Math.min(5000,Math.max(100,Math.round(q)));if(S.mode==="direct")resetCampaign();renderAll();} function syncInputs(){ @@ -1382,7 +1382,7 @@ async function tour(){ await w(900);for(const q of [100,150,200,300,500,700,1000,700,500,300]){setQty(q);await w(280);}await w(2000); go(4);cap(5,"No money up front: the artist sets the price for fans, and the page works out how many fans are needed: the plant's 100-copy minimum, more if the price is low.");await w(2600); for(const v of [1000,800,650,550,500,550,650,800,1000,1200]){setFanPrice(v);await w(330);}await w(1800); - S.scen="sell";launch(); + S.scen="sell";launch();await w(1200);startSim();renderAll(); cap(6,"A 30-day campaign, simulated. Fan money sits in a separate account until the goal is met; if it is missed, everyone is refunded."); while(!S.outcome)await w(250);await w(1800); into("#prodGrid");