Files
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

2.5 KiB
Raw Permalink Blame History

Hallo Welt — V2-Beispiel-Modul

Ein lebendes Referenz-Modul für alle Modul-Instanzen, die ein V2-Modul bauen wollen. Erfüllt alle 6 Pflicht-Verträge der Spec (siehe ../../v2-modules/_spec/).

Was es macht

Drei Mini-Schritte:

  1. Begrüßung mit Avatar und Name aus dem Profil
  2. Eine Multiple-Choice-Frage zu Wien
  3. Geschafft-Screen mit Score

Alles in 12 Minuten durchspielbar. Demonstriert:

  • Input-API: Token aus URL, Profil-Abruf via /api/student/me
  • Output-API: Resume-State per /api/module/state PUT, Endergebnis per /api/result POST
  • Telemetry-API: Heartbeat alle 15s, drei Milestones, Stuck-Detection nach 90s
  • Plattform-Standards: A11y (High-Contrast, Reduced Motion, Keyboard, ARIA), Easy-Sprache, Sprachregeln (keine Spielsprache), iPad-Pattern (dvh, viewport-fit, sticky actions)
  • Manifest mit allen Pflichtfeldern
  • i18n-Files für de-AT-standard und de-AT-easy

Lokal ausprobieren

  1. XAMPP starten
  2. Mock-Token holen:
    http://localhost/geograsim/v2-platform/mock/issue-token.php?student=42
    
  3. Modul mit Token aufrufen:
    http://localhost/geograsim/v2-modules/hallo-welt/public/game.html?session_token=<TOKEN>&student_id=42&class_id=99&mode=free&difficulty=L1&lang=de-AT-standard&resume=0
    
  4. Mock-Logs live mitlesen:
    tail -f v2-platform/mock/uploads/log.jsonl
    

Probiere auch:

  • student=43 für Easy-Sprache-Modus (lang=de-AT-easy setzen)
  • student=44 für High-Contrast + Reduced Motion + Screen-Reader-Profil

Struktur

hallo-welt/
├── manifest.json
├── README.md
├── public/
│   ├── game.html                   ← Entry Point (HTML+CSS+JS, inline)
│   ├── assets/
│   │   └── card.svg                ← Cockpit-Karten-Bild
│   └── i18n/
│       ├── de-AT-standard.json     ← Texte
│       └── de-AT-easy.json         ← Easy-Sprache-Texte
├── db/
│   └── migrations.sql              ← leer (kein eigenes Schema)
└── tests/
    └── mock-platform.html          ← Standalone-Test-Harness

Was du als Modul-Bauer*in lernen kannst

Lies in dieser Reihenfolge:

  1. manifest.json — wie wird ein Modul deklariert
  2. public/game.html — wie sieht die Mindest-Mechanik aus, wie wird Telemetry aufgerufen
  3. public/i18n/*.json — wie ist Easy-Sprache organisiert
  4. tests/mock-platform.html — wie testet man ein Modul ohne echte Plattform

Keine 3000 Zeilen — bewusst klein gehalten. Einsteiger-Friendly.