Your review of the gallery came back on July 27th; this page is the round trip. Tab one is every verdict and what we did about it — each card can open the page as it is now and as it was when you reviewed it. Tabs two and three are the operating guides for the two tools that came out of the same round: the Studio (your editing desk) and the Shared Plane (the classroom server).
The pedagogy is now instructor-only. Every page still carries its teaching spec and worksheet footer in the repo — but publishing strips them, so students never see them. The Studio previews both views.
Week numbers are gone from everything students see. Gallery sections are
topics, published filenames are plain slugs (softmax.html), so content
mixes and matches as the semester unfolds.
Every page became editable without code. Each one now carries its data — points, tables, labels, slider ranges — in one machine-readable block the Studio can edit, generate, or replace from a spreadsheet. The words are annotated the same way.
One spot color runs the whole set. Goldenrod is the default value of a single knob; six audited alternates ship with it, all AA-checked in both themes.
Smaller but real: a stronger keyboard-focus ring everywhere; a browser quirk that could show "hidden" elements was fenced off set-wide after it bit twice.
The Studio is the editing desk: a small local web app that lives in the repo. It never edits the original pages — your changes are kept beside them and baked in when you publish. Step through the eight stations; each one is something you can do right now.
The Shared Plane puts one coordinate plane on the projector and makes every student a randomly named cursor on it from their own device. No accounts, no installs — a room code on the board is the whole onboarding.
y = mx + b or use a preset — then press check once everyone commits.cd classroom && python3 -m venv venv && . venv/bin/activate && pip install -r requirements.txt && uvicorn app:app --host 0.0.0.0 --port 8170
Create a room → your browser URL holds the facilitator key (keep that tab; reopening the same link takes control back). Students join at /CODE; the projector gets /CODE/board with the code huge. Rooms are memory-only: an hour idle and they vanish; a restart just means "make a new room." If your tab dies, anyone may claim the controls until you return. Dropped connections rejoin by themselves.
Hosting for real: classroom/deploy/ has the systemd unit and the nginx WebSocket snippet; there is a Dockerfile too.