# Teaching Notes

## Learner profile
- Smart, experienced engineer; older learner. No hand-holding, precise language, engineering analogies land well (algorithms as functions, inverses, commutators as "undo patterns").
- Rusty returner, not a beginner: previously consistent sub-1:30, occasional sub-1:00. Method used is unknown even to him — diagnose, don't assume.

## Preferences & constraints
- Bake every ask/report-back INTO the lesson itself (persistent checklist card, `assets/report.js`) — user misses chat prompts. Every lesson must end with a "Report back" card. (2026-07-11, user request.)
- ~15 min most days → every lesson must be completable in one short sitting; alg learning spaced at ≤2 new algs per session, never daily crams.
- Hardware: store-bought Rubik's brand only (as of 2026-07-11). Recommended MoYu Super RS3M (~$22) in Lesson 1 — check whether it arrived before prescribing speed drills.

## Working notes
- Lesson 1 (notation refresh + diagnostic solve) issued 2026-07-11. Next session: ask how the from-memory diagnostic solve went — where he stalled determines whether we start at last-layer re-teach or full method rebuild.
- Lesson 2 (cross on the bottom, 3-level drill) issued 2026-07-11 — chosen because it's diagnostic-independent. Glossary reference created; use its terms exactly in all future lessons.
- Lesson 3 (F2L: The Four Doors) issued 2026-07-13 — user requested F2L directly ("2fl"), unblocking the diagnostic gate by fiat (learning record 0002). Teaches the 4 basic inserts + inverse-setup drill; "door" is now course vocabulary (glossary updated). Next F2L lesson: systematic pair-making from arbitrary positions (corner white-up, pieces stuck in slots).
- Diagnostic solve report STILL owed (asked again in Lesson 3 report card) — now only sizes the last-layer rebuild (Lessons 4–5), does not block F2L. Also still confirm cube order/arrival.
- Alg budget: Lesson 3 = 2 triggers + U-alignment principle, within the ≤2-new-algs rule. Next session, verify four-doors recognition before adding anything new.
- Quiz answers must be equal word counts (teach-skill rule) — keep enforcing.

- Simulator built 2026-07-13 (user request): `simulator/` — Vite/React/TypeGPU WebGPU app. Play mode (keyboard moves, scramble, undo), Set-up-from-real-cube (camera scan of all 6 faces + net editor, validates twist/flip/parity before loading), F2L trainer (149 machine-generated pair cases w/ correct solutions, cross-down white, per-case timing in localStorage). Use it to drill Lesson 3's four doors — the trainer's "both pieces on top" filter is exactly that drill. Run `cd simulator && npm run dev`, or open `simulator/dist/index.html` (prebuilt). 2026-07-13 additions: view-relative controls (letters follow the camera), and a Coach panel (Play mode) that lists the next most important F2L steps for any position — recognition-first (locations + written plan, moves hidden until revealed), per user: sim teaches the mental part of solving. Coach can also walk a FULL solve step-by-step from any position (cross → F2L → 2-look OLL → 2-look PLL, slow animation, reason-first narration in course vocabulary — Sune/T-perm/U-perm named per step); replans silently if user deviates mid-walkthrough. Coach has skill levels (persisted): beginner = white cross always, daisy-on-top → plant petals down, heavy anchoring; intermediate = cross straight on bottom per Lesson 2; advanced = cross as one inspection-planned step + condensed pairs. Matches the beginner→cross-on-bottom progression the user described 2026-07-13.

## Standing maintenance rules
- `index.html` (course TOC, workspace root) MUST be updated in the same session as any change to lessons/, reference/, or lesson status (new file, report delivered, blocker cleared, arc reordered). Every lesson footnote links back to it as "Course home". (2026-07-12, user request.)
