Brew & Brawl Local Studio
LOKAL v— Quelle: — Computerstimme: —
Szene · live (GET /api/state) Beat
🍺 Szenenbild
—
Kampfsteuerung
—
BOSS Phase: —
HP —
Rage — / —
—
Manuelles Aequivalent des Tages-Webhooks: alle Spieler je einen Tag weiter (gestaffelt, mit Flush des Task-Sync).
Encounters werden normal automatisch durch die KI getriggert (available_when); manueller Start nur für Tests. Skip, Force Victory und HP-Setzen liegen im Dev-Gate.
Ohne laufenden Encounter startet der Auto-Kampf nicht (422 no_active_encounter). Der Lauf veraendert den aktiven Kampf.
Bereit.
Gruppe
Spieler Aktiven Spieler umbenennen
—
Spieler-Registrierung
GUI-Registrierung aktiv (lokal, Fake-Daten); Anzeigenamen bleiben reine Darstellung, Zuordnung bleibt player_id
—
Phase: —
—
Rage —
Tag — Encounter-Runde — Letzter Turn —
—
Zahlen ins Board, Prosa in den Chat (Anti-Textblock-Regel). Tag/Runde/Letzter Turn sind im State nicht enthalten — dort steht —.
Ausstehende Jobs (lesend · GET /api/state)
Keine ausstehenden Jobs.
Pending-Jobs lesend aus Commands (kein neuer Endpunkt).
Gruppenbeschreibung · Vorschau habitica.update_group_description
—
Genau dieser Text wird als Habitica-Gruppenbeschreibung gesetzt — dasselbe Fenster wie der Boss, für alle Spieler sichtbar. Diese Ansicht ist der lokale Spiegel zum Vergleich.
Regler (Gruppen A-G) —
Anzeige aus der Server-Projektion: je Regler Kurzinfo, aktueller Wert und Aenderbarkeit (sofort online oder nur zwischen Sessions). Reihenfolge: A1, F, E1, D4 mit dem Bildziel-Block D6-D12, A2/A3, B1 und der Rest. E5 (Wartungsmodus) steht in Gruppe E hinter E4; aktiv zeigt das Panel eine Warnung, und jeder Schaltvorgang erscheint im Audit. Aenderungen laufen ueber die Use Cases und landen in der Kampagnendatei; Schluessel und Geheimnisse erscheinen hier nie.
Regler werden geladen …
Studio & Sitzung Playground
keine Gruppe - Spielwiese
Auswahl aus dem Katalog (kein Datei-Upload in W21).
Versionen der gewählten Kampagne (lesend aus der Serverquelle).
nur GAS-Produktion, lokal .env
Erlaubt: gemini-3.5-flash-lite, gemini-3.5-flash. Modellwechsel gilt nach Neustart.
Profile werden lokal in `.local-model.json` gespeichert (nie im Log, nie ge-echoet; ARC-SEC-001). Ohne Profil bleibt „Realbetrieb" ehrlich leer.
Moduswahl allein bestimmt nie das Serverziel (ARC-UI-004); Standard jeder neuen Sitzung ist die Testgruppe. Laden/Starten nutzt die Kampagnen-ID im Playground (serverseitiger Katalog, kein Datei-Upload in W21).
Gemini-I/O (letzte 50 Versuche)
Zeigt je Modellversuch den gesendeten Text (Instruktion + Anfrage) und die Roherantwortung von Gemini — zur Ursachensuche bei fehlender Narration oder abgelehnten Checks.
Kein Gemini-Versuch aufgezeichnet.
Meilenstein-Timeline
Reset fragt nach Bestätigung (Reset-Job: pending → applying → committed); Springen nutzt lineare Einzelschritte.
Kein State geladen — Kampagne starten.
Spieler (Testspieler)
Keine Spieler geladen.
Inspektoren (nur lesend · GET /api/state)
—
—
—
  • —
Kampagne
Aenderungsstand
Lokale Kampagne (lesend aus der Serverquelle).

Mehrfachauswahl aus den Getränken des Bierkatalogs (starting_beer_ids). Ohne Katalogliste bleibt das Feld leer und bearbeitbar.
Grundwert in Prozent (FEAT-COMBAT-003). Leer lassen heißt: der Schema-Default gilt.
Bonus je erfülltem Todo in Prozent (FEAT-COMBAT-003).
Obergrenze in Prozent (FEAT-COMBAT-003); der Server prüft, dass der Deckel über der Basis liegt.
Auswahl aus den Meilenstein-Kennungen der geladenen Kampagne.
Diese Datei wird vom Editor weder gelesen noch geschrieben: Nur das Publish schreibt dein Editor-Dokument nach Drive (bestaetigter Weg aus A-0022, A-0042). data/Brew_and_Brawl.v4.json bleibt unveraendert und muss von Hand committed werden. Der Aenderungs-Hinweis oben und in der Reiterleiste sagt dir, ob seit dem Laden etwas offen ist; beim Neu Laden und beim Verlassen der Seite fragt der Editor nach, waehrend noch etwas offen ist.

Milestone-Graph Vote-Kante flag
Klick auf Karte öffnet das Detail-Panel darunter. Vote-Übergänge farblich markiert (FEAT-UI-001, RULE-STORY-005).
Detail live
Ein Hinweis je Zeile.
Optionen verweisen auf einen Meilenstein der Kampagne (RULE- STORY-005); Ziel ohne Option wird nicht gebaut.
Bedingungen und Aktionen: alle Verweise sind Auswahlfelder aus den Kennungen der geladenen Kampagne, die leere Auswahl heißt „kein Verweis“. Einzige Ausnahme ist skill_id — Kennung (nicht im Dokument); sie kommt aus der KI-Klassifizierung der Spieleraktion (RULE-CHECK-001).
Feste Story-Texte und Bilder hängen am Meilenstein (on_enter → enqueue_beat).
Bedingungen via Baukasten
Belohnungen mit Meilenstein-Bezug (milestone_id) stehen in rewards[] des Dokuments; Gesamtübersicht im Reiter Rewards (Verwaltung).
Meilenstein-Eingabe (Rewards inline)
Abstimmung (RULE-STORY-005): Frage plus Optionen unten; ohne Optionen kein Vote-Bau.
Live-Validierung:
    Orte
    ID Titel Beschreibung Aktionen
    NPCs
    ID Titel Beschreibung Stimme Ort Wissen (je Zeile ein Fund) Aktionen
    Items
    ID Titel Beschreibung Aktionen
    Discoveries
    ID Titel Fakten (je Zeile einer) Sperr-Antwort Flag NPC Ort Aktionen
    Die Bedingung „ab wann verfügbar?“ (available_when) steht als eigene Zeile direkt unter dem Fund und wird mit dem Bedingungs-Editor bearbeitet — alle Verweise darin sind Auswahlfelder aus den Kennungen der geladenen Kampagne.
    Encounters
    ID Titel Monster-Kennung Ort Aktionen

    Der Ort ist ein Auswahlfeld aus den Orten der geladenen Kampagne. Die Bedingung "ab wann verfügbar?" (available_when) und die Aktionsliste "was passiert beim Überspringen?" (on_skip) stehen als eigene Zeilen unter der Begegnung und werden mit dem Bedingungs- bzw. Aktions-Editor bearbeitet.
    Der Gegner (monster_id) ist ein Auswahlfeld aus dem Monsterkatalog des Servers mit der Leeroption "kein Verweis".
    Rewards (Verwaltung)
    ID Typ Meilenstein Wert Aktionen

    Kampagnenweite Übersicht aller rewards[] des geladenen Dokuments. Der Typ ist ein Auswahlfeld; danach zeigt die Zeile genau die Felder, die zu diesem Typ gehören (Kampagnen-Level, Story-Gegenstand, Bier-Freischaltung).
    Die Getränke (beer_ids) sind eine Mehrfachauswahl aus dem Bierkatalog des Servers. Beim Wechsel auf einen anderen Typ verschwinden die Felder des alten Typs — so meldet das Schema die Lücke ehrlich.
    Gruppenaufgaben
    ID Fenster (h) Mindestwarte (h) Todos/Spieler Min-Ratio Mindestzahl je Spieler Aktionen Mindestzahl je Spieler Aktionen
    Gruppenaufgaben (challenges[]) des geladenen Dokuments. "Fenster" und "Mindestwarte" sind zwei unabhängige Zahlenfelder — der Editor rechnet nichts aus; fehlt ein Wert, gilt der Schema-Default. Die Bedingung "ab wann aktiv?" und die Aktionslisten "bei Erfolg?"/"bei Misserfolg?" stehen als eigene Zeilen unter der Aufgabe.
    KI-Narration (kampagnenweit)
    Eine Angabe je Zeile; die Zeilenliste landet als tone[] im Dokument.
    Diese Konfiguration steuert die freie KI-Narration. Feste Szenentexte sind Beats am Meilenstein — keine Discoveries.
    Challenge
    Zielt auf challenges[] (RULE-CHECK-008): vorhandener Eintrag gleicher ID wird mit den Feldern unten angereichert.
    Auswertungsfenster der Gruppe (RULE-CHECK-008): 48 h ab Start; Erfolg ab Mindestwarte moeglich.
    Pflicht-Beitraege je Spieler (RULE-CHECK-008): Villa-Tor 2; mindestens 1.
    Erfolgsanteil 0–1 (RULE-CHECK-008): Villa-Tor strikt mehr als die Haelfte (z. B. 0.51); 0.5 allein reicht nicht.
    Frueheste Erfolgsauswertung ab Start (RULE-CHECK-008): Villa-Tor 24 h; darf das Fenster nicht ueberschreiten.
    Einzel-Tor (RULE-CHECK-007): Schwierigkeit 1–10; der Skill kommt aus der KI-Klassifizierung.
    Zielt auf milestones[].objectives[] (RULE-CHECK-007/008): der Bau haengt required_check/required_challenge dort an.
    Ohne Auswahl kein Tor-Feldbau (reine Abbildung, keine Automatik): check nutzt Check-Schwierigkeit, challenge nutzt die Challenge-ID oben.
    Kettenvorschau (Objective -> Flag -> Encounter -> Reward)
      Kampagnen-Dokument (lesend)
      Biere
      Bierliste (live)
      —
      Katalog wird aus GET /api/catalogs gelesen
      Editor · Bier
      Jede Qualitätsstufe ist ein eigener, eigenständig editierbarer Eintrag mit eigenem Namen (Editor-Schablone); family ist rein redaktionelle Gruppierung für Anzeige/Filterung.
      Effekt-Vertrag (Kaskade)
      Eintrittswahrscheinlichkeit und maximale Runden bei Debuffs nie weglassen. Prinzip-B-Deckel: abgeleitet (24 h × D + 12 h), hier rundbasiert ohne Echtzeit-Deckel.
      Spieler-Sicht · Narration ohne Prozentwerte
      Export-Dokument (Bier + Monster)

      Monster
      Monsterliste (live)
      —
      Katalog wird aus GET /api/catalogs gelesen
      Editor · Monster

      ab 75 % Phase 75

      ab 50 % Phase 50

      ab 25 % Phase 25

      ab 0 % Phase 0

      Phasen-Effekte (Platzhalter) nicht im Schema
      Phasen-Effekte (Platzhalter)

      Noch nicht verfuegbar — FEAT-/RULE-Delta ausstehend.

      Phase 25 · Selbstheilung bei voller Rage
      self_heal · 20 HP · einmal pro Encounter
      geplant
      Phase 50 · Vergiftung aller Spieler
      dot_poison · 3 Runden · encounter_round
      geplant
      Phasen-Effekte analog Bier-Fähigkeiten sind weder im Monsterkatalog-Schema noch in der Engine implementiert — vor der Verdrahtung als FEAT-/RULE-Delta spezifizieren. Vorhandene Boss-Sonderfähigkeiten: slot_reset_amount und Fluch-Tasks (RULE-COMBAT-011/012).
      Encounters

      ID, Titel, Monster-ID, Ort-ID, max_hp, Rewards — wie Kampagnen-Editor/Encounters.

      Orte

      CRUD: ID + Titel + Beschreibung.

      NPCs

      CRUD: ID + Titel + Beschreibung.

      Items

      CRUD: ID + Titel + Beschreibung.

      Discoveries

      CRUD: ID + Titel + Beschreibung.