diff --git a/.github/forge-posts/v1.1.0.md b/.github/forge-posts/v1.1.0.md
new file mode 100644
index 0000000..533464b
--- /dev/null
+++ b/.github/forge-posts/v1.1.0.md
@@ -0,0 +1,12 @@
+---
+subtitle: "Theme Foundation"
+versionsnatur: "Major-UI-Cycle"
+---
+- Theme-Engine mit fünf Built-In-Themes: Hellion Arctic (Default), Chat 2 Klassik, Event Horizon, Moonlit Bloom, Mint Grove
+- Settings öffnet jetzt eine Card-Grid-Übersicht — Klick auf eine Card führt in den Detail-View, Breadcrumb und ESC zurück zur Übersicht
+- Themes-Tab mit Mini-Mockup pro Theme, Live-Switch beim Klick
+- Eigene Themes als JSON in `pluginConfigs/HellionChat/themes/` — Beispiel-Vorlage wird beim ersten Start automatisch abgelegt
+- Optional pro Theme eigene Chat-Channel-Farben mit Übernehmen/Behalten-Banner — niemals automatisch überschrieben
+- Plugin-Icon zum Hellion-Forge-Hammer gewechselt
+- Migration v13 → v14: alle User landen auf Hellion Arctic. Wer den Upstream-Look will, wählt Chat 2 Klassik in Settings → Themes
+- Anleitung zum Schreiben eigener Themes: `docs/THEME-AUTHORING.md`
diff --git a/HellionChat/Configuration.cs b/HellionChat/Configuration.cs
index fbe7fdc..da3b4d6 100755
--- a/HellionChat/Configuration.cs
+++ b/HellionChat/Configuration.cs
@@ -34,10 +34,23 @@ public class ConfigKeyBind
[Serializable]
public class Configuration : IPluginConfiguration
{
- private const int LatestVersion = 13;
+ private const int LatestVersion = 14;
public int Version { get; set; } = LatestVersion;
+ // v1.1.0 — Theme-Engine. Slug-basiert; ThemeRegistry liefert das Objekt.
+ public string Theme = "hellion-arctic";
+
+ // v1.1.0 — Globale Window-Opacity, theme-übergreifend. Migration aus
+ // HellionThemeWindowOpacity beim Bump v13 → v14.
+ public float WindowOpacity = 0.85f;
+
+ // v1.1.0 — Felder für künftige UI-Toggles (v1.2.0 / v1.3.0). Werden
+ // vorab angelegt, damit später keine Migration nötig ist.
+ public bool ReduceMotion;
+ public bool UseCompactDensity;
+ public bool ShowThemeQuickPicker;
+
// Hellion Chat — Privacy filter (DSGVO Art. 25 Privacy by Default).
// Master-switch defaults to true; set false to restore upstream behavior.
public bool PrivacyFilterEnabled = true;
@@ -70,12 +83,14 @@ public class Configuration : IPluginConfiguration
// Hellion Chat global ImGui theme — applied to every plugin window in
// Plugin.Draw. Default ON; users who prefer the upstream Dalamud look
// can flip this off in the Privacy tab.
+ [Obsolete("Replaced by Theme slug + WindowOpacity in v14")]
public bool HellionThemeEnabled = true;
// Window background opacity, 0.5–1.0. Lower values make the plugin
// panes more glass-like so the game shines through. Default 0.5
// matches the maintainer's daily-driver preference; users who want
// a less translucent look bump it up in Aussehen → Theme.
+ [Obsolete("Replaced by WindowOpacity in v14")]
public float HellionThemeWindowOpacity = 0.5f;
// Use the bundled Exo 2 font (OFL-1.1) for the regular plugin font
@@ -321,10 +336,19 @@ public class Configuration : IPluginConfiguration
RetentionLastRunAt = other.RetentionLastRunAt;
FirstRunCompleted = other.FirstRunCompleted;
+#pragma warning disable CS0612, CS0618 // Obsolete-Felder bleiben bis v1.2.0 als JSON-Safety-Net erhalten
HellionThemeEnabled = other.HellionThemeEnabled;
HellionThemeWindowOpacity = other.HellionThemeWindowOpacity;
+#pragma warning restore CS0612, CS0618
UseHellionFont = other.UseHellionFont;
+ // v1.1.0 theme engine fields
+ Theme = other.Theme;
+ WindowOpacity = other.WindowOpacity;
+ ReduceMotion = other.ReduceMotion;
+ UseCompactDensity = other.UseCompactDensity;
+ ShowThemeQuickPicker = other.ShowThemeQuickPicker;
+
EnableAutoTellTabs = other.EnableAutoTellTabs;
AutoTellTabsLimit = other.AutoTellTabsLimit;
AutoTellTabsCompactDisplay = other.AutoTellTabsCompactDisplay;
diff --git a/HellionChat/HellionChat.csproj b/HellionChat/HellionChat.csproj
index 0d048e8..1771783 100644
--- a/HellionChat/HellionChat.csproj
+++ b/HellionChat/HellionChat.csproj
@@ -4,7 +4,7 @@
0.1.0 is our bootstrap release; the underlying Chat 2 base is
called out in the yaml changelog so users can see what it
derives from. -->
- 1.0.3
+ 1.1.0
enable
enable