One sheet per act, plus the intermission between Acts II and III; each prints on its own page. Anastasia leads Act I, the intermission, and Act IV; Emily leads Acts II and III. The workshop runs three hours: Act I 35 min, Act II 35, intermission 10, break 15 (the agent keeps working), Act III 35, Act IV 50. Times follow the step labels on each act's page.
They leave with: a paper prototype and a branching Harlowe story that uses at least one choice that counts.
files/twine/the-longarm.html in a browser to play, and import it into Twine once yourself (Library → Import).| 0–10 | 1 · Paper prototype | Star card = Start. String from the clickable words. One full path to an ending. |
| 10–15 | 2 · Open Twine | New story, keep Harlowe. |
| 15–23 | 3 · Passages & links | [[text->Passage]]. Follow the strings until every card is a passage. |
| 23–30 | 4 · Choices that count | (set:), (if:)/(else:), (either:). Demo The Longarm: try the “Go make tea” path. |
| 30–35 | 5 · Play & publish, Unmake | Build → Test shows variables. Publish to File. |
Show: From Beyond (with John Murray, ELO 2015), a Twine story played on a sensor-equipped Ouija board, and Emily's BeadED Adventures, a STEM story whose solved puzzles earn real beads that go home as a bracelet: physical Twine, the cards and string taken further. Both photos are in the Unmake section of the act page.
“(either:) is a tiny grammar: one slot, a few options, a random pick. Hold onto that; Emily turns it into whole sentences next.”
Before handing off: ask everyone to rewrite the last passage of The Longarm with their own question; they come back to it in Act IV. Hand to Emily for Tracery.
They leave with: their own Tracery grammar, plus a flat version saved as grammar.json for Act IV.
files/tracery/generator.html open in a tab for the “put it somewhere” step.((symbol)) in the output means a #symbol# with no rule; check spelling.#rules# inside.| 0–5 | 1 · Read a grammar | Open with Mad Libs: the origin is the story with blanks, the labels are symbols, and the friend calling out words is the list of options. Point to Kate Compton's tutorial. Then #hashes# and modifiers .capitalize .a .s .ed. |
| 5–13 | 2 · Playground | Edit live; regenerate. |
| 13–23 | 3 · Grow three rules | Their own words. Several sentence shapes. Regenerate twenty times. |
| 23–28 | 4 · Remember a choice | [maker:#name#]: load quilt blocks. |
| (if time) | 5 · Put it somewhere | generator.html, Flores's template, Blue Bots, Done Quick! |
| 28–35 | 6 · Flatten it, Unmake | Save the flat version as grammar.json. Read a few aloud; cut words that break sentences. |
“Every block is a rule. A printed ring can't expand a rule, so for Act IV every word on one ring has to work next to every word on the others.”
Check before moving on: everyone has grammar.json saved somewhere they can find it. Hand to Anastasia for the intermission.
The point: show the power tool at full speed. We build something complicated together, then let it finish on auto mode while the room keeps making. Act IV is the slow, approve-every-step version of the same tool.
| 0–5 | Build the ask together | Take suggestions from the room. Read the plan aloud before approving it. |
| 5–10 | Hand it the wheel | Switch to auto mode. Let it start; show the first few steps. |
| 10–25 | Break | 15 minutes. Leave the session running on screen so people can watch it work. |
| Act III | It keeps going | Emily teaches p5.js; the agent works. |
| Act IV | Come back | Open it at the start of Act IV: what did it make, what did it decide, what broke? |
“This is the computerized pantograph: we chose the pattern, and now the machine stitches edge to edge. We'll check the back of the quilt in Act IV.”
Hand back to Emily for p5.js.
They leave with: a p5.js sketch running their grammar, with a credit comment at the top.
first-sketch.js yourself.grammarSource = { … } object, braces included..js file over the starter code; in tracery-particles.js, Tracery is the long part at the bottom, so leave it there.| 0–5 | 1 · First sketch | OpenProcessing: Create a Sketch, paste first-sketch.js, ▶. Show the fork button on a course sample. |
| 5–13 | 2 · setup & draw | Change the TRY lines. S saves the canvas. Breaking it is part of it. |
| 13–23 | 3 · Add your grammar | tracery-particles.js as a new sketch: paste over grammarSource; click to release lines. Press S to save stills: we print them as buttons. |
| 23–31 | 4 · A grammar you can spin | flower-spinner.js. Pass the prints around: what can the screen do that the print can't? |
| 31–35 | 5 · Fork & credit, Unmake | Credit comment at the top: Parrish → ENG 6819 → here. Download the sketch for Act IV. |
“A p5.js sketch is a plain text file. You can read it, keep it, and open it in ten years without anyone's permission.”
Set up the turn: “These prints started as sketches like yours. Anastasia's going to show you how to get from the grammar to the object, with an agent, while keeping the decisions yours.” Hand to Anastasia for Agents.
They leave with: a GitHub repository with their grammar, a 3D preview, a .scad print file, and a process log ending in a label they'd sign.
CLAUDE.md in place and a session open in claude.ai/code.files/p5/cryptex-3d.html open with the flat grammar loaded.| 0–5 | 0 · Choose your mode | First, open the intermission build: what did auto mode do? Then freehand vs. pantograph. |
| 5–15 | 1 · Set up a repository | Upload grammar.json, the sketch, CLAUDE.md, process-log.md. |
| 15–20 | 2 · House rules | Edit CLAUDE.md: which steps stay yours? |
| 20–25 | 3 · Plan before code | Plan mode: read the grammar back first. The prompt is the source. |
| 25–30 | 4 · Check every sentence | Script lists broken sentences; they choose the fixes. |
| 30–35 | 5 · Preview in 3D | cryptex-3d.html vs. the agent's own preview. |
| 35–45 | 6 · Make it printable | Download .scad, F5/F6, export STL. No printer: cardboard tubes on a pencil. |
| 45–50 | 7 · Credit & label, Unmake | “Written by / Coded by / Printed by.” They write the last line of CREDITS.md. |
“The agent can't feel a ring bind. You can. Noticing the thread break and deciding where to start again is your work.”
Close: bring back the question they wrote at the end of The Longarm in Act I, and ask who wants to read theirs.