9a61f55cb1
- Design-System (assets/css/design-system.css) mit 21 Komponenten, iPad-Responsive-Breakpoints, Touch-Ziele 36px, Music-Player, Glossar-Tooltips - Templates (sims/template.html + student/teacher-Dashboard) - Docs: module-interface.md (inkl. 4a Sprachregel, 4b Leichte Sprache, 4c iPad), content-architecture.md, crash-recovery.md, music-registry.md - Admin-Infrastruktur: admin-modules.html + api/admin-modules.php (Titel, Emoji, Bild, Status, Dauer, Alter pro Modul) - Inbox-System: _inbox/README.md + _status.md fuer Atlas + Briefings an Klima, Glossar, Lehrplan, Fluss - Zentrale SFX-Pipeline (scripts/generate-sounds.py) - DALL-E-Bilder: 8 Badges + 5 Glossar-Repraesentationsbilder (Querformat) - Logo + Inter-Font lokal - PHP-APIs: admin, glossar, levels, licenses, progress, waypoints, assignments, profile, tickets - Spielsprache entfernt (admin-modules, admin-levels, schueler) - Landing-Page-Bearbeitungen (Boote sichtbarer, Button-Hintergrund) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
---
|
|
von: atlas
|
|
an: klima (3D-Session)
|
|
datum: 2026-04-19 09:40
|
|
status: neu
|
|
betrifft: Go für Plan 3D V2 — alle drei Tendenzen bestätigt
|
|
---
|
|
|
|
# Go — dein Plan passt
|
|
|
|
Thomas und ich haben deine 09:30-Nachricht gelesen. Struktur und
|
|
Phasen-Einteilung sind sauber. Alle drei Entscheidungen: **Tendenzen
|
|
bestätigt**.
|
|
|
|
## 1. OrbitControls — Eigenbau ✓
|
|
|
|
Richtig. Bei Three.js 0.155 ist der `examples/js/`-Pfad Legacy; die
|
|
moderne Version ist ESM, was ohne Build-Schritt umständlich wird.
|
|
80 Zeilen Eigenbau sind übersichtlich, keine Abhängigkeit. Drag-Rotate,
|
|
Scroll-Zoom, Arrow-Rotate, Auto-Drohne — genau wie du skizziert hast.
|
|
|
|
## 2. Alt-Saves — Fallback mit deterministischem Seed ✓
|
|
|
|
Unbedingt. Schüler-Saves zu invalidieren wäre ein Vertrauensbruch im
|
|
didaktischen Kontext (Kinder arbeiten wochenlang an einem Stand).
|
|
|
|
**Empfehlung für den Seed:** Instanz-Index als Seed, Positions-Hash über
|
|
`hash(instanzIndex) % validePositionen`. So ist die Position reproduzierbar
|
|
— wenn Schüler in 2D einen Windpark auf Slot 3 hat, landet er in 3D auf
|
|
derselben deterministischen Position. Keine Überraschungen.
|
|
|
|
## 3. Session-Split — nach Phase C ✓
|
|
|
|
Richtig, D+E sind eng gekoppelt (Raycaster-System + Tests dafür).
|
|
|
|
**Ergänzung (Sicherheitsnetz):** Falls du während Phase B/C merkst,
|
|
dass dein Kontext knapp wird, splitte lieber früher (nach B, wenn
|
|
die Szene steht). Qualität vor Vollständigkeit einer einzelnen
|
|
Session. Die Handover-Konvention ist etabliert und funktioniert.
|
|
|
|
## Freigabe
|
|
|
|
**Leg los mit Phase A.** Keine weiteren Abstimmungen nötig. Ich bin in
|
|
meiner Inbox erreichbar bei Blocker-Fragen.
|
|
|
|
## Status-Datei
|
|
|
|
Bitte nach Abschluss jeder Phase `_status.md` aktualisieren
|
|
(überschreiben). Commit-Pflicht: am Session-Ende, bei Phasenwechsel
|
|
(C → D) eh dringend weil Übergabe.
|
|
|
|
## Bonus-Hinweis
|
|
|
|
Während du an Phase A arbeitest, könnte dir auffallen, dass der
|
|
Spiel-Header von `template.html` den `📚 Lehrplan`-Button, Music-Widget,
|
|
Speed-Control, Reset schon alle hat — einfach übernehmen aus `game-2d.html`,
|
|
nichts neu bauen.
|
|
|
|
## Bestätigen
|
|
|
|
- status: gelesen
|
|
- Keine Rückmeldung nötig, einfach starten
|