- L3 war noch Stub (661 Z) — jetzt 5938 Z. Pädagogisch konsistent zu L1+L2: MakerWorld-Customizer-Konzept, 5-Schritte-Workflow (Modell finden → Customizer → Werte ändern → Generate → drucken), eigener Schlüsselanhänger als Aufgabe, Mini-Aufgabe „selbst denken", Brücke zu L5+ (TinkerCAD wenn Customizer an Grenzen kommt).
- Live + auf Server ausgerollt via `scripts/lektionen_seed.py` (jetzt mit L3 in der Liste).
## 2026-05-25 — LIVE auf https://3d.lehrstun.de + PummelHummel-Integration
- **PummelHummel/Alph integriert**: feedback_modul/ vom PummelHummel-Projekt kopiert, in app.py via init_feedback_modul registriert. User-Kontext liefert Tier+Vorname statt Tier+Kasten. Widget aktiv ab einstellung.feedback_widget_aktiv='1'.
- **DNS-A-Record** `3d.lehrstun.de → 46.225.114.15` via Hetzner Cloud DNS-CLI.
- **systemd-Service** `3d-ag.service` (analog arduino-db.service), Port **5058** (5057 war belegt von meta.lehrstun.de uvicorn — app.py liest PORT jetzt aus ENV).
- **Cockpit progressiv (V1):** zeigt nur Karten, die zum Status passen. Onboarding-Karte verschwindet wenn alle L1-L3 fertig; Paarungs-Karte erscheint immer wenn Paarung aktiv; Drucker-Buchung erst nach L1.
- **Check-In (V3 + E-021):** Modal beim ersten Cockpit-Aufruf eines Besuchstages, „Ich arbeite weiter" als Default-Ein-Klick-Option, Freitext optional.
- **Lehrer-Dashboard (V5):** Drill-Down `/admin/dashboard` mit 4 Sektionen (Wer ist heute hier, Wartet auf Review, Drucker-Status, Wer hängt fest) + Schnell-Zahlen + offene Rückfragen.
- **Quick-Action „Notiz hinterlassen":** Lehrer schreibt aus Dashboard direkt ins SuS-Cockpit (`lehrer_notiz`-Tabelle).
- **Lektion-Detail-Seite (Minimal):** `/lektionen` + `/lektion/<nr>` mit Markdown-Rendering + Status-Buttons für eingeloggte SuS.
- **database.py mit allen Tabellen aus [[datenmodell]]** — idempotent via `CREATE TABLE IF NOT EXISTS`. Inkl. `profil_lektion_status`, `login_lockout`, `projekt_*`, `lehrer_notiz`, `ag_mitgliedschaft`, `check_in` (E-021), `aenderung_log`.
- **Auth-Layer** in `services/auth.py`: bcrypt-PIN-Hashing/-Pruefung, persistenter Lockout in DB (V7), Decorators `login_required` + `admin_required` + `onboarding_l1_fertig` (V2).
- **Profil-Login funktional**: 4-stellige PIN, Rate-Limit 5 Versuche / 5 Min → 15 Min DB-Sperre.
- **Admin-Login + Profile-Verwaltung**: Neue Profile mit Auto-PIN-Generation (einmalig sichtbar), PIN-Reset, aktiv-Toggle, Druckbogen für PIN-Karten (CSS-Print).
- **Inline-Edit-Infrastruktur** in `routes/admin.py`: `ERLAUBTE_INLINE_TABELLEN`-Whitelist, `/admin/inline-edit`-POST mit Audit-Log in `aenderung_log`.
- **seed.py** mit Initial-Daten: AG `lessing-3d-ag`, 4 Drucker (3 geschlossen + A1 mini), 3 Default-Einstellungen.
- Reality-Check-Analyse aus vier Perspektiven (neuer SuS / erfahrener SuS / Lehrer / Technik) + Vergleich mit `arduino.lehrstun.de`. Plan-Datei: `~/.claude/plans/f-hre-noch-einmal-eina-cosmic-wind.md` (approved).
- **Wichtige Konzept-Korrektur:** AG ist offen, jahrelang, keine festen Termine. Pflicht-Lektionen werden zu Onboarding-Pfad für Neue.
- **Neue Module dokumentiert:** [[selbstlern-loop]] (Projekt-Lebenszyklus + interne Bibliothek), [[lehrer-dashboard]] (Drill-Down: Wer ist hier / Wartet auf Review / Wer hängt fest).