All checks were successful
Deploy Dimension47 / deploy (push) Successful in 35s
- Add library page with tabs for maps and combatants - Create map upload modal with grid configuration - Create NPC/monster template modal with abilities - Add library link to campaign page (GM only) - Add battle feature TODO documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.9 KiB
3.9 KiB
Battle Screen - TODO
Phase 2: Grid System
Frontend
grid-overlay.tsx- Verbessertes Grid-Rendering mit Snap-Previewgrid-config-modal.tsx- Grid konfigurieren (nur GM)- Grid-Größe anpassen (Spalten x Reihen)
- Grid-Offset für vorgezeichnete Maps einstellen
- Live-Preview beim Anpassen
- Zellenfarbe und Transparenz
- Snap-to-Grid beim Token-Platzieren
- Grid Ein-/Ausblenden Toggle (bereits vorhanden, verbessern)
Phase 3: Token Management
Frontend
add-pc-modal.tsx- PCs aus Kampagne hinzufügen (mit Filter/Suche)add-npc-modal.tsx- NPCs aus Templates hinzufügencreate-combatant-modal.tsx- Neues NPC-Template erstellen- Name, Level, HP, AC
- Rettungswürfe (Fort, Ref, Will)
- Wahrnehmung, Geschwindigkeit
- Fähigkeiten mit Aktionskosten
- Avatar-Upload
token-detail-panel.tsx- Seitenpanel für Token-Details- HP-Management (Schaden/Heilung)
- Zustand hinzufügen/entfernen
- Notizen
- Statistiken anzeigen (für NPCs)
initiative-tracker.tsx- Initiativreihenfolge- Sortierte Liste aller Tokens
- Aktueller Zug markiert
- Nächster/Vorheriger Zug
- Verzögern-Funktion
Backend WebSocket Events
token_conditions_changed- Zustände aktualisiertturn_started- Zug beginnt (für aktiven Token)delay_turn- Zug verzögern
Phase 4: Player View
Frontend
battle-player-view.tsx- Route:/campaigns/:id/battle/view- Vollbild-Ansicht für Spieler (TV-Modus)
- Read-only (keine Token-Manipulation)
- Sync via gleicher WebSocket-Room
battle-tv-window.tsx- Pop-out Window Logik- "TV-Modus öffnen" Button
- Separates Browser-Fenster
- Automatische Größenanpassung
Berechtigungen
| Feature | GM View | Player View |
|---|---|---|
| Tokens bewegen | Ja | Nein |
| PC HP sehen | Ja (Zahlen) | Ja (Zahlen) |
| NPC HP sehen | Ja (Zahlen) | Nein (nur Blut-Effekt bei <20%) |
| NPC-Stats sehen | Ja | Nein |
| Initiative bearbeiten | Ja | Nein |
| Grid konfigurieren | Ja | Nein |
Phase 5: Polish & Erweiterte Features
Drag & Drop
- Touch-Support für mobile Geräte
- Drag-Preview mit Zielzelle hervorheben
- Multi-Select (Shift+Klick)
- Mehrere Tokens gleichzeitig bewegen
Visuelle Verbesserungen
- Condition-Badges auf Tokens
- Icon für häufige Zustände (Frightened, Slowed, etc.)
- Anzahl bei gestuften Zuständen
- Blut-Effekt bei niedrigen HP (<20%)
- Token-Avatar anstatt Initialen (wenn vorhanden)
- Verschiedene Token-Formen (rund, eckig)
- Größen-Indikator für Large/Huge/Gargantuan
Kampf-Tools
combat-log.tsx- Letzte Aktionen anzeigen- Token bewegt
- Schaden erhalten
- Zustand hinzugefügt
- Initiative geändert
measure-tool.tsx- Entfernung messen- Klick & Drag für Linie
- Entfernung in Fuß anzeigen
- Diagonal-Bewegung nach PF2e-Regeln
area-tool.tsx- Flächeneffekte- Kegel, Linie, Emanation, Burst
- Größe einstellen
- Betroffene Felder hervorheben
Map-Features
- Fog of War (nur GM sieht alles)
- Mehrere Ebenen (Untergrund, Obergeschoss)
- Zoom & Pan
- Map-Marker / Notizen
Technische Verbesserungen
Performance
- Canvas-basiertes Rendering statt DOM für große Maps
- Token-Position nur bei Release senden (nicht während Drag)
- Lazy Loading für Token-Avatare
Backend
- Combat Log in Datenbank speichern
- Battle Session Snapshots (Undo/Redo)
- Automatisches Aufräumen inaktiver Sessions
Prioritäten
- Hoch - Grid Config Modal (Phase 2)
- Hoch - Initiative Tracker (Phase 3)
- Hoch - Player View / TV-Modus (Phase 4)
- Mittel - Token Detail Panel mit HP-Management
- Mittel - Condition Badges
- Mittel - Combatant Template erstellen
- Niedrig - Measure Tool
- Niedrig - Combat Log
- Niedrig - Fog of War