Skip to content

Commit c0ecb45

Browse files
Add big picture overview and Kan helper copy
1 parent 06f919a commit c0ecb45

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

apps/functor-atlas/index.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@
161161
// ------------------ DATA: EXPLANATIONS (unchanged) ------------------
162162
const EXPS=[{id:'how-to-use',label:'How to Use',tone:'bright',
163163
text:`<ul><li>Search or click a category; panels show theory <i>and</i>, if Example mode is on, live project data.</li><li>Functor buttons inside any panel jump along arrows.</li><li><b>Reset View</b> clears highlights.</li></ul>`},
164+
{id:'big-picture',label:'Big Picture',tone:'bright',
165+
text:`This is an interactive map of a complex programme, designed to help a project director see how strategy, scope, schedule, cost, risk, people, and delivery evidence all connect — without getting lost in detail. Each box represents a familiar management view (tasks, risks, costs, stakeholders, etc.), and each link represents a disciplined way of translating one view into another, so that changes in one place reliably show up everywhere else they matter. The practical payoff is confidence: you can start from a board‑level goal and trace, step by step, how it drives work, spend, timing, risk exposure, and assurance, knowing the connections are consistent rather than ad‑hoc.`},
164166
{id:'what',label:'What is this?',tone:'bright',
165167
text:`A compositional cockpit: categories model project facets, functors translate structure; toggling <b>Example</b> lets you see both blueprint and instantiation.`},
166168
{id:'functor',label:'What is a Functor?',tone:'dun',
@@ -211,7 +213,7 @@
211213
d.addEventListener('click',()=>selectCategory(c.id));catGrid.appendChild(d);
212214
});
213215
expBar.innerHTML='';
214-
['how-to-use','what','functor','comps','critique'].forEach(id=>{
216+
['big-picture','how-to-use','what','functor','comps','critique'].forEach(id=>{
215217
const e=EXPS.find(x=>x.id===id);
216218
const b=document.createElement('button');b.className=`btn ${e.tone}`;b.textContent=e.label;
217219
b.addEventListener('click',()=>showPanel(id,e.label));expBar.appendChild(b);
@@ -272,6 +274,7 @@ <h4>Example Morphisms</h4><ul>${ex.morphisms.map(m=>`<li>${m}</li>`).join('')}</
272274
}
273275
if(catId==='D'){
274276
html+=`<h4>Kan‑Extension: Find Implied Tasks</h4>
277+
<p>Kan‑extension helper for the deliverable‑to‑task functor <b>W</b>. Click <b>Cat D</b> to reveal an input plus <b>Suggest Tasks</b>. Type a deliverable description (e.g. “User Authentication Service”) and the helper immediately proposes the three canonical tasks a Kan‑extended <b>W</b> would surface: Analyse, Implement, Verify.</p>
275278
<input id="delivInput" style="width:60%;padding:.4rem .6rem;margin-right:.5rem;border:1px solid #00000033;border-radius:6px;font-size:.9rem" placeholder="Describe deliverable…">
276279
<button id="kanBtn" class="btn bright" style="vertical-align:top">Suggest Tasks</button>
277280
<div id="kanOut"></div>`;

0 commit comments

Comments
 (0)