ENPT
Loop Engineering · Reference appendix

All 20 demo types

This is the full palette of interactive blocks the course is built from. Every lesson you read is assembled out of these twenty formats — a diagram here, a simulator there, a state panel, a quiz. This page is the catalogue and the playbook: what each type is for, exactly when it earns a place in the loop, and the one rule that governs all of it — a lesson uses one or many of them, merged freely, with no maximum.

← Course home· Module 5 · In Practice· 20 standalone demos in ./demos/

01One or many — there is no cap


The most common mistake is to treat these twenty types as a menu where you order exactly one dish. They are not. They are a paint palette. A lesson is a painting, and you pick up as many colours as the canvas asks for — sometimes one bold stroke, sometimes a dozen blended. A thin idea may need a single diagram. A rich, multi-beat lesson can stack a slide deck to set the scene, an annotated SVG to show the anatomy, a simulator for the reader to drive, a state panel to read the situation, and a quiz to check it stuck. All of that, in one lesson, is not too much — it is precisely the point.

Think cooking, not ordering off a menu. The twenty types are ingredients in your pantry, not a prix-fixe list. You don't pick "the chicken" and stop; you combine what the dish needs. Some recipes are a single ingredient done perfectly; most are several, balanced. The skill is not choosing one — it is composing the right set, and knowing there is no rule that says "only three."
  • One is fine. A single well-chosen flowchart can carry a whole lesson about a branching process.
  • Many is fine — and encouraged. Chain several in section order; each gets its own plain-language intro.
  • Merging is fine. Fuse two exemplars into one widget — a flowchart whose nodes drive a state panel, say.
  • Reusing across lessons is fine. The same type, framed for a different teaching job, teaches better than forcing a fresh one.
  • There is no maximum. Fit before count — never pad a thin beat, never starve a rich one. Use as many as the teaching genuinely asks for: one, or forty.
one palette · twenty colours · seven families EXPLORATION 01 02 compare options CODE 03 04 walk through & explain a change DESIGN 05 06 conventions & variants PROTOTYPE 07 08 process & interaction RESEARCH 14 15 10 go deep & make it visible REPORT 11 12 13 09 summarise · read state · failure EDITOR & PLAN 16 17 18 19 20 plan · triage · toggle · tune one lesson can pull from several families at once — the dashed line is one possible set.
The palette, made literal. Filled chips mark the eight highest-value ⭐ types. A lesson is a path that touches as many chips as the teaching needs.
Demo 19 · editor-feature-flagslifted & rewired — switches with live dependency warnings

Build a lesson's demo set

Below is the feature-flags format (type 19) rewired to this page's idea. Each switch turns on a demo type for an imagined lesson. Some types depend on another being present first — a quiz to "check it stuck" only makes sense after something has been shown; a worked example needs the concept explained. Flip one on without its support and a warning slides in. The summary tells you how many demos your lesson uses now — and notice it never stops you for using too many. There is no cap.

explain · svg-illustrations (10)

Open the lesson by making the concept visible — an annotated diagram. The foundation the other beats build on.

requires: nothing — base beat
show · flowchart-diagram (13)

Show the process unfolding, one step at a time. Needs the concept explained first for the steps to mean anything.

requires: explain
let them drive · prototype-interaction (08)

Hand the controls to the reader and let them drive the flow. Builds on what was shown.

requires: show
check it stuck · quiz

A lean feedback loop that proves retention, not just recognition. Only works after they've tried.

requires: let them drive
summarise · slide-deck (09)

Close by compressing the whole lesson to one-idea-per-slide. Stands on its own — add it whenever you like.

requires: nothing — independent beat

Your lesson's demo set

Order is a real constraint

Pedagogy has a grammar: you can't check what was never shown, and a reader can't drive a flow they never saw. Encoding that as a dependency map turns a loose "good order" into a visible warning — exactly what the type-19 format is for. The summary count is deliberately uncapped: the warning fires on inconsistency (a beat missing its prerequisite), never on quantity. Five beats, all satisfied, is a perfectly good lesson; one is too.

const requires = {
  g19_explain:    [],                 // base beat
  g19_show:       ['g19_explain'],     // show needs the concept first
  g19_try:        ['g19_show'],        // drive what was shown
  g19_check:      ['g19_try'],         // check what they tried
  g19_summarise:  []                  // independent — add anytime
};
// no rule caps the size of the set — only consistency is enforced.

02The choice is a per-beat debate


So if it isn't "always tabs" and it isn't "always one", how do you choose? You break the lesson into its beats and debate each beat on its own. A beat is a teaching move: explain how it works, then show it, then let them try, then check it stuck. Each beat has exactly one teaching job, and each job has a small short-list of types that do it well. The debate is short and explicit, and you record the verdict so the next person sees the reasoning, not just the result.

1 · NAME the teaching job 2 · LIST 2–3 candidates 3 · PICK best fit + name the runner-up 4 · HOW MANY 1 · many · merge record the verdict (why this type, why not the runner-up) ↻ repeat for the next beat
One beat, four moves, one recorded verdict — then around again for the next beat. The lesson's demo set is the union of each beat's verdict.

The debate has four moves. Run it once per beat:

  • Name the job in one sentence — explain how something works, compare options, show a process over time, read the current state, teach through a failure, let the reader drive, summarise, narrate a change, or tune parameters.
  • List two or three candidates from the job→type map for that sentence.
  • Pick the best fit with a one-line reason — and name the runner-up you rejected and why. The reason is the debate.
  • Decide how many. One beat is one demo; a multi-beat lesson chains several; two tightly-coupled jobs can fuse into one widget.
Demo 13 · flowchart-diagramlifted & rewired — step-through with branch tracing

Walk the choice, one question at a time

Here is the flowchart format (type 13) rewired as the chooser itself. Pick a teaching job at the top, then press Next to watch the decision descend through the gates to the best-fit demo type. Each "yes" commits a family; a clean run lands on a specific type. This is move-3 "pick" of the debate, made mechanical.

Trace the job:
no no no yes yes yes Name the teaching job Compare options? Process over time? Reports state? explain → svg (10) · code-understanding (04) pick → a best-fit type
Read top → down. The first "yes" commits the family; a clean run of "no" falls through to the explain types. The pick on the right re-labels to the exact type for the job you traced.
Step 0 of 4

Start here

Name this beat's teaching job

Pick a job above, then press Next to walk it down to a best-fit demo type. Switch the job to see a different route.

The job → candidate-type map

The flowchart commits fast; the real short-list is richer. This is the full map every "list candidates" move pulls from — the runner-up you name will usually be the second row of the same job.

TEACHING JOB BEST-FIT CANDIDATE TYPES (pick one; name the runner-up) explain how it works svg-illustrations 10 · code-understanding 04 · research 14/15 compare options / variants exploration 01 · exploration 02 · component-variants 06 · design 05 a process over time flowchart 13 · prototype-animation 07 · prototype-interaction 08 read the current state status-report 11 teach through a failure incident-report 12 summarise slide-deck 09 narrate / plan a change pr-writeup 17 · code-review 03 · implementation-plan 16 · triage 18 tune parameters / switches editor-feature-flags 19 · editor-prompt-tuner 20
Nine jobs, their short-lists. The chooser flowchart above is a fast path through the first rows; this table is the full menu the "list candidates" move reads from.
Demo 08 · prototype-interactionlifted & rewired — finite-state matcher with a live readout

Name the job, reach the type

One more rewiring of the same idea, this time as the state-machine format (type 08). Each button is a teaching job; pressing it moves the highlighted node to the family that does that job, and the readout names the exact type plus its runner-up. It's a tiny machine: (start, job) → type. Reach a type, then reset to try another job.

Name the job START explain svg 10 · code 04 compare explore 01 · variants 06 process flow 13 · interact 08 report status 11 · incident 12

The clay node is the family you landed on. Faded nodes are the jobs you didn't pick this round.

Type picked

— none yet —

Press a job below. The machine moves to the family that does it and names the best-fit type and its runner-up.

Available jobs

Match log

    03Which demo at which loop moment


    This is a course about the loop LEARN → ANALYZE → EXECUTE → VERIFY, so the most useful way to read the palette is by where in the loop each type does its work. A demo is not decoration; it makes a specific moment of the loop seen and felt. The captions on each card below name that moment exactly. Here is the shape of it:

    LEARN see the real state research 14/15 · svg 10 · status 11 ANALYZE classify · pick one exploration 01/02 · flowchart 13 · triage 18 EXECUTE one bounded unit design 05/06 · prototype 07/08 · code 03/04 · plan 16 VERIFY prove at the boundary status 11 · incident 12 · report 17 · flags 19 · tuner 20 the loop a demo per moment
    The four moments of the loop and the families that make each visible. The slide-deck (09) sits in the middle — it can summarise any moment, or the whole loop.

    Read it as a rough assignment, not a law: exploration and research types tend to feed LEARN and ANALYZE (see the real state, weigh options); design, prototype and code types feed EXECUTE (build the one bounded unit); report and editor types feed VERIFY and the gates (prove, read state, tune). Many types serve more than one moment — which is why the per-beat debate, not a lookup table, gets the final word.

    Demo 11 · status-reportlifted & rewired — KPI tiles + a live status table

    Cover the palette — a coverage tracker

    A complete course exercises most or all twenty types; collapsing to one or two is a bad smell — the reader stops engaging. Here is the status-report format (type 11) rewired to track palette coverage across this very course. Press Build next lesson to fold in a lesson's demo set and watch the tiles climb, or flip Auto-build to watch the eight lessons assemble. The table shows, per type, how many lessons reached for it.

    Palette coverage — Loop Engineering course

    8 lessons + this gallery · goal: exercise the full palette

    building…
    0 of 8 lessons placed
    Types used
    0/ 20
    Families covered
    0/ 7
    Palette exercised
    0%
    ★ high-value used
    0/ 8
    Usage per type across the course
    Demo type Family Lessons using it Coverage

    One count, four readings

    A single type → count map drives everything: types used is the count of non-zero entries, families covered are the distinct families among them, palette exercised is used / 20, and ★ used counts the eight high-value types reached. The status pill rolls up the worst signal: full coverage is green, partial is amber, barely-started is rust — the same good/bad-not-direction rule the original type-11 format uses.

    04The whole idea in seven slides


    Before the catalogue itself, here is this page's argument compressed into a deck — one idea per slide. Click forward, or use the keyboard arrows.

    Demo 09 · slide-decklifted & rewired — full-bleed slides, one idea each

    The big idea

    Twenty types are a palette, not a menu.

    You don't order one. You compose the set the lesson needs — sometimes one, often several, blended.

    No ceiling

    There is no maximum.

    Chain, merge, reuse across lessons. The only test is fit — never pad a thin beat, never starve a rich one.

    How to choose

    It's a per-beat debate.

    Break the lesson into beats. Each beat has a teaching job, and each job has a short-list of types that do it.

    Make it explicit

    Name the runner-up you rejected.

    The reason is the debate. Record it, so the next builder sees the reasoning — not just the result.

    Tie it to the loop

    One demo per loop moment.

    LEARN & ANALYZE lean on research and exploration; EXECUTE on design and prototype; VERIFY on reports and editors.

    Cover the palette

    A whole course exercises most of the twenty.

    Variety keeps the reader engaged. Reusing the same widget every beat is the smell to avoid.

    Takeaway

    Name the job, pick the fit, compose the set.

    Lift the exemplar from ./demos/, re-label it for your content, and stack as many as the teaching needs.

    1 / 7 Use arrows

    05The catalogue, grouped by family


    The twenty types split into seven families by the kind of work they do. Inside each card: the number and name, a one- or two-line note on when and how to use it in the loop, a dark-safe thumbnail of its format, and an Open link to the full standalone demo. A star () marks the highest-value types.

    EXPLORATION 2 01 · 02 CODE 2 03 · 04 DESIGN 2 05 · 06 PROTOTYPE 2 07 · 08 RESEARCH 3 10 · 14 · 15 REPORT 4 09·11·12·13 EDITOR+PLAN 5 16·17·18·19·20 Seven families, twenty types. The flowchart (13) sits with report here for its read-the-state affinity; by job it also serves "process".
    The seven families at a glance. The cards below are grouped in this order.

    06Quick check


    Five questions on the one rule and the debate. Pick an answer to grade it on the spot; the right one turns olive and a short note explains why.

    Q1How many demo types can a single lesson use?

    Correct. The palette has no maximum. Fit is the only test — one if it suffices, many when the beats ask for it.

    Not quite. "Exactly one" is the menu mindset. A rich lesson stacks several; the palette has no cap. Try again.

    Not quite. There is no fixed cap like three. Fit decides the count — sometimes well more than three. Try again.

    Q2The choice of which demo type to use is made…

    Correct. Each beat gets its own short debate — name the job, list candidates, pick the fit, decide how many.

    Not quite. Defaulting to tabs is exactly the habit to avoid; choose per beat by its job. Try again.

    Not quite. A static table can't weigh a beat's job; the per-beat debate gets the final word. Try again.

    Q3What makes the "pick" step of the debate explicit?

    Correct. The reason is the debate. Recording the runner-up and why you dropped it leaves the reasoning visible.

    Not quite. Build time is not the criterion; the teaching job and a stated reason are. Try again.

    Not quite. Copying the last lesson skips the debate entirely. Name the fit and the runner-up. Try again.

    Q4A beat's job is "teach through a real failure". Best fit?

    Correct. Teaching through failure is exactly the incident-report job (12): a timeline down to a root cause and the fixes.

    Not quite. A deck summarises; it doesn't do root-cause analysis. The job points to incident-report. Try again.

    Not quite. A design system teaches conventions, not failures. Match the job to incident-report. Try again.

    Q5Reusing a single widget for every beat of a lesson is…

    Correct. Same-widget-every-beat is a bad smell; variety keeps engagement. A whole course exercises most of the twenty.

    Not quite. Sameness loses the reader. Instead, vary the type by each beat's job. Try again.

    Not quite. Nothing requires a single type throughout; reusing the same one every beat is the bad smell. Try again.

    Answered 0 / 5 · correct 0
    Take this with you. When you build your own lesson, don't ask "which single demo?" Ask, beat by beat: what is the teaching job here, which types do that job, which fits best, and how many do I need? Then lift the exemplar(s) from ./demos/, re-label them for your content, and compose. The palette is the floor, not the ceiling.