Zum Inhalt springen
← Zurück zum Einsatzprotokoll

v0.30.0

14. Juni 2026

Generator-Pipeline, Wachen-Spezialisierung & Crash-Sicheres Fundament

45

Commits

175

Dateien

+7133 / -729

Zeilen

Wachen-Module werden behörden-spezifisch, eine neue Generator-Pipeline füllt den Szenario-Pool automatisch auf — und ein crash-sicheres Event-Log sichert ab sofort jeden Spielzustand.

🗺️ NEUER CONTENT

Wachen-Module behörden-spezifisch — Katalog von 12 auf 20 Module gewachsenKey[DerHalbe]

  • Jedes Modul hat klare Zugehörigkeit: Feuerwehr, Rettungsdienst, Polizei oder THW
  • 8 neue typ-exklusive Module (2 pro BOS-Typ), THW bekommt Atemschutz und Übungsturm
  • Fachfremde Module werden beim Einbau direkt abgelehnt

🎮 GAMEPLAY

Module in Fahrzeugliste sichtbar + klickbare Fahrzeug-NamenKey[DerHalbe]

  • Wachen-Module direkt in der Fahrzeugübersicht einsehbar ohne Wechsel in die Wachen-Ansicht
  • Klickbare Fahrzeug-Namen öffnen das Detail-Sheet sofort

RETURNING-Fahrzeuge im Zuweisen-Dialog alarmierbarKey[DerHalbe]

  • Rückkehrende Fahrzeuge können direkt für den nächsten Einsatz vorgemerkt werden
  • Stehen sofort bereit, sobald sie an der Wache ankommen

PERFORMANCE

Saves-Admin-Übersicht bis zu 90% schneller durch VorberechnungKey[DerHalbe]

  • Vorberechnete Übersicht ersetzt ~2.000 Sub-Queries pro Seitenaufruf bei 200 Saves
  • Aktualisierung alle 5 Minuten im Hintergrund — Ladezeit auf Millisekunden reduziert

Projektions-Rebuild liest Ereignisse gebatcht statt alles auf einmal in den SpeicherShadowShadow

  • Cursor-basiertes Batch-Lesen verhindert Speicher-Überlauf bei großen Event-Mengen
  • Stabileres Verhalten bei langen Spielsessions mit vielen Zustandsänderungen

🔴 BUGFIX

Datenbankschema mit Produktionsstand synchronisiertShadowShadow

  • Fehlende Migration zurückgeholt und Schema an die Produktionsrealität angeglichen
  • Verhindert zukünftige Abweichungen zwischen Repo-Schema und laufender Datenbank

Datenbankfehler werden korrekt bis zur Route propagiert statt still geschlucktShadowShadow

  • Fehler beim Speichern eines Spielzustands führen jetzt zu einem sichtbaren Fehler statt stiller Degradation
  • Verhindert Event-Verlust und Read-Model-Divergenz bei Schreibfehlern

🛡️ INFRASTRUKTUR

Dauerhaftes Event-Log — alle Spielzustände crash-sicher gespeichertShadowShadow

  • Neues Event-Log sichert jede Zustandsänderung mit ACID-Concurrency-Garantien
  • Outbox-Relay sorgt für lückenlose Event-Verteilung ohne Datenverlust bei Absturz
  • Snapshotting-Mechanismus reduziert Rebuild-Zeiten nach Neustart

Timer-Idempotenz — keine Duplikat-Events mehr nach ServerabsturzShadowShadow

  • Deterministische Timer-IDs ermöglichen sicheren Crash-Reclaim ohne Seiteneffekte
  • Folge-Timer für Krankenhausankunft und -übergabe per upsert idempotent gesichert
  • Spielzustand bleibt nach jedem Neustart vollständig konsistent

👥 Dieses Update

Key[DerHalbe] (Contributor) — Saves-Admin-Overview als Materialized View (#335) (#503), Module pro Behörden-Typ + 8 neue Module + Slot-Rework (#401) (#505), Module in Fahrzeug-Liste + klickbare Fahrzeug-Namen (#341 F9+F13) (#506), RETURNING-Fahrzeuge im Zuweisen-Dialog alarmierbar (#341 F10) (#507)

Shadow (Founder & Lead Dev) — #472 Migrations-Drift reconcilen — _481 zurückgeholt + Schema an Prod angeglichen, domain_event-Tabelle (rein additiv) — durables PG-Event-Log (SB1 T1), PgEventStore appendIfVersion + readAggregate mit ACID-Concurrency (SB1), PgEventStore append/readRange/getHead (SB1)

#mayday-sim#leitstellen-simulation#einsatz-generator#wachen-module#bos-simulator#feuerwehr-simulation#rettungsdienst-game#notruf-simulation#aao-konform#dispatcher-game