Files
Dimension-47/.planning/phases/01-level-up-pf2e-regelkonform/01-DISCUSSION-LOG.md

7.9 KiB

Phase 1: Level-Up (PF2e regelkonform) - Discussion Log

Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.

Date: 2026-04-27 Phase: 01-level-up-pf2e-regelkonform Areas discussed: Prereq-DSL-Scope, Free-Archetype-Regel, Wizard-Flow + DRAFT, Klassen+Spellcaster-Daten


Prereq-DSL-Scope

Frage: Welche Prereq-Patterns soll der DSL-Evaluator automatisch prüfen?

Option Beschreibung Selected
Empfohlener Scope Skill-Rang, Feat-Besitz, Level, Klasse, Ancestry, Heritage evaluierbar; Deity, Spellcasting-Tradition, Multi-Class, Free-Text → Warnung. ~80%+ Coverage
Minimal-Scope Nur Skill-Rang + Level + Klasse
Maximal-Scope Plus Attribut-Score, Spellcasting-Tradition, Deity-Kategorien

Notes: Empfehlung aus .planning/research/SUMMARY.md direkt akzeptiert.

Frage: Wie soll die UI mit nicht-evaluierbaren Prereqs umgehen?

Option Beschreibung Selected
Inline-Warning + Confirm Warn-Icon + Tooltip + Confirm-Dialog beim Wählen
Nur Inline-Warning Warn-Icon ohne Confirm — Risiko Flüchtigkeitsfehler
Separater Tab "Manuell prüfen" Eigene Liste, mehr Klicks

Frage: Woher kommen die Prereq-Strings, die der DSL-Evaluator parst?

Option Beschreibung Selected
Bestehende Feat-Tabelle Feat.prerequisites: String? existiert bereits in schema.prisma
Neue strukturierte Prereq-AST-Tabelle Vor-geparstes AST-JSON pro Feat
Hybrid: Lazy Parse + Cache In-Memory-Cache nach erstem Lookup

Notes: Bestehendes Feld macht Migration unnötig.

Frage: Soll der Evaluator auch beim Pathbuilder-Import laufen?

Option Beschreibung Selected
Nein, nur im Wizard Pathbuilder-Import bleibt unverändert
Ja, auch beim Import Existierende Talente werden validiert

Notes: Abweichung vom Default-Vorschlag — User wollte explizit Import-Validation. Folge-Frage zur Behandlung der Verletzung.

Frage: Was passiert beim Pathbuilder-Import bei Prereq-Verletzung?

Option Beschreibung Selected
Import + Warn-Liste Charakter-Header zeigt Banner mit Liste
Import + Inline-Markierung Pro Talent ein Icon, keine zentrale Liste
Block Import Strikt — bricht bei jeder Inkonsistenz
Keine Anzeige (lautlos) Nur intern geloggt

Free-Archetype-Regel

Frage: Wie soll der Free-Archetype-Slot nach gewählter Dedication funktionieren?

Option Beschreibung Selected
Pathbuilder-Verhalten Nach Dedication beliebige Archetyp-Talente (Multi-Archetype)
Strikt nur gewählter Archetyp RAW-strikt, bricht Multi-Archetype
Hybrid mit GM-Override Default strikt, Toggle erlaubt mehr

Notes: Spike-flagged in ROADMAP — direkt entschieden zugunsten Pathbuilder, weil Gruppe das gewohnt ist.

Frage: Wo wird der Free-Archetype-Toggle pro Charakter eingestellt?

Option Beschreibung Selected
Char-Settings + Wizard-Schritt 0 Settings + Lese-Anzeige im Wizard
Nur Char-Settings Schlanker, weniger transparent
Pro Level-Up neu wählbar Inkonsistent mit RAW (FA ist Kampagnen-Variant)

Frage: Wie soll mit Free-Archetype umgegangen werden bei Pathbuilder-Import?

Option Beschreibung Selected
Auto-detect aus Pathbuilder Toggle automatisch basiert auf Pathbuilder-JSON
Manuell setzen nach Import Toggle bleibt inaktiv, Spieler aktiviert
Wizard fragt beim ersten Level-Up Einmalige Wizard-Frage

Wizard-Flow + DRAFT

Frage: Wie soll der Wizard-Flow strukturiert sein?

Option Beschreibung Selected
Step-by-Step Modal Sequenzielle Schritte, mobile-friendly
Single-Page mit Akkordeons Alles auf einer Seite, Mobile-Scroll
Tab-basiert Frei wechseln, kein klarer Fortschritt

Frage: Wo wird der DRAFT-State persistiert?

Option Beschreibung Selected
Server-DRAFT-Session Neue Prisma-Tabelle LevelUpSession, Cross-Device
Client-State (Zustand) Reload → alles weg
LocalStorage Resume nach Reload, kein Cross-Device

Frage: Soll der Wizard eine Live-Vorschau der neuen Werte anzeigen?

Option Beschreibung Selected
Live-Vorschau im Review-Schritt Vorher/Nachher gegenübergestellt am Ende
Live-Vorschau in jedem Schritt Per-PATCH-Recompute, Performance-Cost
Nur nach Commit sichtbar Schlankste Implementierung

Frage: Wer darf den Level-Up-Wizard für einen Charakter öffnen?

Option Beschreibung Selected
Spieler (Owner) + GM Konsistent mit checkCharacterAccess
Nur Spieler (Owner) GM kann nicht für abwesende Spieler leveln
Nur GM Kein selbstständiges Spieler-Leveln

Frage: Was passiert mit einer offenen DRAFT-Session ohne Commit?

Option Beschreibung Selected
Bleibt unbegrenzt offen UI bietet "fortsetzen oder verwerfen?"
TTL 24h, dann auto-löschen Aufgeräumte DB, Risiko Datenverlust
TTL 7 Tage Mittelweg

Klassen+Spellcaster-Daten

Frage: Woher kommen die Per-Class-Progression-Tabellen?

Option Beschreibung Selected
Neue ClassProgression-Tabelle + JSON-Seed Konsistent mit "alle PF2e-Daten in DB"
Hardcoded TS-Konstanten Widerspricht Projekt-Regel
Lazy aus Pathbuilder ableiten Nicht regelkonform für neue Stufen

Frage: Welche PF2e-Klassen werden in v1 unterstützt?

Option Beschreibung Selected
Alle Core- + APG-Klassen 16 Klassen, ~95% Coverage
Nur die Klassen, die eure Gruppe spielt Schmaler Scope
Alle Klassen aus PC1 + PC2 (Remaster) Mehr Klassen, mehr Seed-Aufwand

Frage: Welche PF2e-Datenquelle für den Class-Progression-Seed?

Option Beschreibung Selected
Foundry PF2e-System Open Data Aktiv gepflegt, ORC-lizenziert
Manuell aus Archives of Nethys Volle Kontrolle, sehr aufwendig
Open5e / pf2e-data NPM-Paket Oft unvollständig

Frage: Wie wird der Spellcaster-Repertoire-Increment-Schritt präsentiert?

Option Beschreibung Selected
Eigener Wizard-Schritt Klar separiert von Slot-Increment
Inline in Spellcaster-Schritt Kompakter, weniger klar
Später im Charakterbogen Charakter nach Commit nicht "fertig"

Frage: Wie sollen Wahl-Klassenmerkmale (Doctrine, Schule, Weapon Mastery) gehandhabt werden?

Option Beschreibung Selected
Wizard erkennt + zeigt Sub-Schritt Volle Regelkonformität, Charakter "fertig"
Erst nach Commit füllen Spieler vergisst es vielleicht
Nur Anzeige + manuelle Notiz Kein strukturiertes Datenmodell

Claude's Discretion

  • UI-Layout-Details des Step-by-Step-Modals (Header, Footer, Progress-Indicator)
  • Spaltenstruktur des Review-Schritts (Tabelle vs. zwei Spalten)
  • DRAFT-API-Endpoint-Naming
  • JSON-Format des Snapshot-Vorher
  • Genaue deutsche Error-Messages
  • Test-Granularität jenseits der Kern-Funktionen

Deferred Ideas

  • Level-up-Historie-Ansicht (LVL-V2-01)
  • Reverse-Level-Up (LVL-V2-02)
  • Variant-Class-Features (Rogue Eldritch Trickster etc.)
  • Multi-Classing (out of scope)
  • Live-Recompute pro Schritt (verworfen)
  • Remaster-Klassen (PC1+PC2)