remove demo game

This commit is contained in:
2026-05-25 21:28:17 +02:00
parent b1ea3447a8
commit 76f910ab36
75 changed files with 115 additions and 815 deletions

60
ui.theme.go Normal file
View File

@@ -0,0 +1,60 @@
package pncdsl
import "image/color"
// Theme is a registry-stored entity carrying every color the built-in
// widgets read. Multiple themes can be registered; the active one is
// addressed by name on the Game.
type Theme struct {
Name string
PanelBG color.Color
StatusText color.Color
FlashText color.Color
VerbButtonBG color.Color
VerbButtonSelectedBG color.Color
VerbButtonText color.Color
InventorySlotBG color.Color
InventorySlotSelectedBG color.Color
SpeechBubbleBG color.Color
SpeechDefaultText color.Color
DialogBG color.Color
DialogBorder color.Color
DialogChoiceBG color.Color
DialogChoiceHover color.Color
DialogSpeaker color.Color
DialogText color.Color
EndCardBG color.Color
EndCardText color.Color
CursorColor color.Color
HotspotOutline color.Color
// SceneBackdrop is painted before the scene background. Useful for
// letterboxing or filling areas not covered by a smaller backdrop.
SceneBackdrop color.Color
// Rich-UI widgets (TopBar, CharacterPanel, ChatLog).
TopBarBG color.Color
TopBarText color.Color
TopBarAccent color.Color // score / highlighted number color
ChatLogBG color.Color
ChatLogPrompt color.Color // "> look at door" lines
ChatLogResponse color.Color // in-world reply lines
ChatLogSystem color.Color // system / meta lines
CharacterPanelBG color.Color
CharacterPanelBorder color.Color
CharacterPanelTitle color.Color // "PLAYER" / "NPC" badge color
}
func (t Theme) GetName() string { return t.Name }
func (t Theme) TypeLabel() string { return "theme" }
type ThemeManager = Manager[Theme]