ObsidianDragon - DragonX ImGui Wallet

Full-node GUI wallet for DragonX cryptocurrency.
Built with Dear ImGui, SDL3, and OpenGL3/DX11.

Features:
- Send/receive shielded and transparent transactions
- Autoshield with merged transaction display
- Built-in CPU mining (xmrig)
- Peer management and network monitoring
- Wallet encryption with PIN lock
- QR code generation for receive addresses
- Transaction history with pagination
- Console for direct RPC commands
- Cross-platform (Linux, Windows)
This commit is contained in:
2026-02-26 02:31:52 -06:00
commit 3aee55b49c
306 changed files with 177789 additions and 0 deletions

View File

@@ -0,0 +1,161 @@
[theme]
name = "Color Pop Dark"
author = "The Hush Developers"
dark = true
elevation = { --elevation-0 = "#121218", --elevation-1 = "#1C1C24", --elevation-2 = "#26262E", --elevation-3 = "#303038", --elevation-4 = "#3A3A44" }
images = { background_image = "backgrounds/texture/pop-dark_bg.png", logo = "logos/logo_ObsidianDragon_dark.png" }
[theme.palette]
--primary = "#7C6CFF"
--primary-variant = "#5B4AE6"
--primary-light = "#A89CFF"
--secondary = "#FF6EC7"
--secondary-variant = "#E050A8"
--secondary-light = "#FF9CDC"
--background = "#0E0E14"
--surface = "#161620"
--surface-variant = "#20202C"
--on-primary = "#FFFFFF"
--on-secondary = "#FFFFFF"
--on-background = "#E8E6F0"
--on-surface = "#E8E6F0"
--on-surface-medium = "rgba(232,230,240,0.72)"
--on-surface-disabled = "rgba(232,230,240,0.40)"
--error = "#FF5C72"
--on-error = "#000000"
--success = "#3DE8A0"
--on-success = "#000000"
--warning = "#FFB740"
--on-warning = "#000000"
--divider = "rgba(200,190,240,0.12)"
--outline = "rgba(200,190,240,0.14)"
--scrim = "rgba(0,0,0,0.55)"
--surface-hover = "rgba(200,190,240,0.06)"
--surface-alt = "rgba(200,190,240,0.03)"
--surface-active = "rgba(200,190,240,0.10)"
--glass-button = "rgba(124,108,255,0.08)"
--glass-button-hover = "rgba(124,108,255,0.16)"
--card-border = "rgba(200,190,240,0.10)"
--text-shadow = "rgba(0,0,0,0.45)"
--input-overlay-text = "rgba(232,230,240,0.25)"
--slider-text = "rgba(232,230,240,0.82)"
--thumb-fill = "rgba(124,108,255,0.18)"
--thumb-border = "rgba(124,108,255,0.50)"
--disabled-label = "rgba(200,190,240,0.18)"
--chart-grid = "rgba(200,190,240,0.05)"
--chart-crosshair = "rgba(200,190,240,0.14)"
--chart-hover-ring = "rgba(124,108,255,0.35)"
--tooltip-bg = "rgba(14,14,22,0.94)"
--tooltip-border = "rgba(124,108,255,0.18)"
--glass-fill = "rgba(200,190,240,0.06)"
--glass-border = "rgba(200,190,240,0.10)"
--glass-noise-tint = "rgba(124,108,255,0.03)"
--tactile-top = "rgba(200,190,240,0.07)"
--tactile-bottom = "rgba(200,190,240,0.0)"
--hover-overlay = "rgba(124,108,255,0.05)"
--active-overlay = "rgba(124,108,255,0.10)"
--rim-light = "rgba(124,108,255,0.10)"
--status-divider = "rgba(200,190,240,0.06)"
--sidebar-hover = "rgba(124,108,255,0.10)"
--sidebar-icon = "rgba(232,230,240,0.45)"
--sidebar-badge = "rgba(232,230,240,1.0)"
--sidebar-divider = "rgba(200,190,240,0.05)"
--chart-line = "rgba(124,108,255,0.12)"
--window-control = "rgba(232,230,240,0.72)"
--window-control-hover = "rgba(124,108,255,0.12)"
--window-close-hover = "rgba(255,92,114,0.75)"
--spinner-track = "rgba(200,190,240,0.08)"
--spinner-active = "rgba(124,108,255,0.85)"
--shutdown-panel-bg = "rgba(12,12,18,0.92)"
--shutdown-panel-border = "rgba(124,108,255,0.10)"
--ram-bar-app = "#7C6CFF"
--ram-bar-system = "rgba(255,255,255,0.12)"
--accent-total = "#7C6CFF"
--accent-shielded = "#3DE8A0"
--accent-transparent = "#FFB740"
--accent-action = "#FF6EC7"
--accent-market = "#00E5FF"
--accent-portfolio = "#A89CFF"
--toast-info-accent = "#7C6CFF"
--toast-info-text = "#A89CFF"
--toast-success-accent = "rgba(61,232,160,1.0)"
--toast-success-text = "rgba(120,255,190,1.0)"
--toast-warning-accent = "rgba(255,183,64,1.0)"
--toast-warning-text = "rgba(255,215,130,1.0)"
--toast-error-accent = "rgba(255,92,114,1.0)"
--toast-error-text = "rgba(255,160,170,1.0)"
--snackbar-bg = "rgba(30,30,42,0.95)"
--snackbar-text = "rgba(232,230,240,0.87)"
--snackbar-action = "rgba(124,108,255,1.0)"
--snackbar-action-hover = "rgba(168,156,255,1.0)"
--switch-track-off = "rgba(200,190,240,0.12)"
--switch-track-on = "rgba(124,108,255,0.45)"
--switch-thumb-off = "#A0A0B0"
--switch-thumb-on = "#E0DCFF"
--control-shadow = "rgba(0,0,0,0.28)"
--checkbox-check = "#FFFFFF"
--app-bar-shadow = "rgba(0,0,0,0.22)"
[backdrop]
base-color-top = "rgba(16,16,24,210)"
base-color-bottom = "rgba(10,10,16,210)"
texture-tint-alpha = 100
gradient-top-r = 14
gradient-top-g = 14
gradient-top-b = 22
gradient-top-a = 80
gradient-bottom-r = 8
gradient-bottom-g = 8
gradient-bottom-b = 14
gradient-bottom-a = 60
background-alpha = 0.52
surface-alpha = 0.58
frame-alpha = 0.78
surface-inline-alpha = 0.60
background-inline-alpha = 0.45
# ---------------------------------------------------------------------------
# Theme Visual Effects — Color Pop Dark (soft neon under-glow)
# Neon purple/pink hue-cycling and prismatic borders, but no shimmer sweep.
# The glow breathes slowly like a neon sign warming up.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 1.0 }
hue-cycle-speed = { size = 0.08 }
hue-cycle-saturation = { size = 0.70 }
hue-cycle-value = { size = 0.88 }
hue-cycle-range = { size = 0.35 }
hue-cycle-offset = { size = 0.72 }
rainbow-border-enabled = { size = 1.0 }
rainbow-border-speed = { size = 0.06 }
rainbow-border-alpha = { size = 0.22 }
rainbow-border-stop-0 = { color = "#7C6CFF" }
rainbow-border-stop-1 = { color = "#FF6EC7" }
rainbow-border-stop-2 = { color = "#00E5FF" }
shimmer-enabled = { size = 0.0 }
positional-hue-enabled = { size = 0.0 }
glow-pulse-enabled = { size = 0.0 }
edge-trace-enabled = { size = 0.0 }
ember-rise-enabled = { size = 0.0 }
# Shader-like viewport overlay — neon color bleed
viewport-wash-enabled = { size = 1.0 }
viewport-wash-alpha = { size = 0.10 }
viewport-wash-tl = { color = "#7C6CFF" }
viewport-wash-tr = { color = "#FF6EC7" }
viewport-wash-bl = { color = "#00E5FF" }
viewport-wash-br = { color = "#FF3D71" }
viewport-wash-rotate = { size = 0.0 }
viewport-wash-pulse = { size = 0.2 }
viewport-wash-pulse-depth = { size = 0.4 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#0A0020" }
viewport-vignette-radius = { size = 0.20 }
viewport-vignette-alpha = { size = 0.25 }

View File

@@ -0,0 +1,161 @@
[theme]
name = "Color Pop Light"
author = "The Hush Developers"
dark = false
elevation = { --elevation-0 = "#FAFAFE", --elevation-1 = "#F2F2FA", --elevation-2 = "#EAEAF4", --elevation-3 = "#DDDDE8", --elevation-4 = "#CCCCD8" }
images = { background_image = "backgrounds/texture/pop-light_bg.png", logo = "logos/logo_ObsidianDragon_light.png" }
[theme.palette]
--primary = "#6040E0"
--primary-variant = "#4A28CC"
--primary-light = "#8B72F0"
--secondary = "#E040A0"
--secondary-variant = "#C42888"
--secondary-light = "#F070BC"
--background = "#F8F8FE"
--surface = "#FFFFFF"
--surface-variant = "#F4F4FC"
--on-primary = "#FFFFFF"
--on-secondary = "#FFFFFF"
--on-background = "#1E1E2A"
--on-surface = "#1E1E2A"
--on-surface-medium = "rgba(30,30,42,0.72)"
--on-surface-disabled = "rgba(30,30,42,0.38)"
--error = "#E0304A"
--on-error = "#FFFFFF"
--success = "#18A860"
--on-success = "#FFFFFF"
--warning = "#E09020"
--on-warning = "#000000"
--divider = "rgba(30,30,60,0.12)"
--outline = "rgba(30,30,60,0.15)"
--scrim = "rgba(0,0,0,0.45)"
--surface-hover = "rgba(96,64,224,0.05)"
--surface-alt = "rgba(96,64,224,0.02)"
--surface-active = "rgba(96,64,224,0.10)"
--glass-button = "rgba(96,64,224,0.06)"
--glass-button-hover = "rgba(96,64,224,0.12)"
--card-border = "rgba(30,30,60,0.08)"
--text-shadow = "rgba(0,0,0,0.08)"
--input-overlay-text = "rgba(30,30,42,0.26)"
--slider-text = "rgba(30,30,42,0.76)"
--thumb-fill = "rgba(96,64,224,0.14)"
--thumb-border = "rgba(96,64,224,0.40)"
--disabled-label = "rgba(30,30,60,0.22)"
--chart-grid = "rgba(30,30,60,0.06)"
--chart-crosshair = "rgba(30,30,60,0.18)"
--chart-hover-ring = "rgba(96,64,224,0.30)"
--tooltip-bg = "rgba(36,34,52,0.94)"
--tooltip-border = "rgba(96,64,224,0.16)"
--glass-fill = "rgba(255,255,255,0.55)"
--glass-border = "rgba(30,30,60,0.10)"
--glass-noise-tint = "rgba(96,64,224,0.02)"
--tactile-top = "rgba(255,255,255,0.40)"
--tactile-bottom = "rgba(255,255,255,0.05)"
--hover-overlay = "rgba(96,64,224,0.04)"
--active-overlay = "rgba(96,64,224,0.08)"
--rim-light = "rgba(96,64,224,0.06)"
--status-divider = "rgba(30,30,60,0.08)"
--sidebar-hover = "rgba(96,64,224,0.07)"
--sidebar-icon = "rgba(30,30,42,0.50)"
--sidebar-badge = "rgba(30,30,42,0.85)"
--sidebar-divider = "rgba(30,30,60,0.06)"
--chart-line = "rgba(96,64,224,0.10)"
--window-control = "rgba(30,30,42,0.65)"
--window-control-hover = "rgba(96,64,224,0.08)"
--window-close-hover = "rgba(224,48,74,0.80)"
--spinner-track = "rgba(30,30,60,0.10)"
--spinner-active = "rgba(96,64,224,0.85)"
--shutdown-panel-bg = "rgba(248,248,254,0.95)"
--shutdown-panel-border = "rgba(96,64,224,0.10)"
--ram-bar-app = "#6040E0"
--ram-bar-system = "rgba(30,30,60,0.15)"
--accent-total = "#6040E0"
--accent-shielded = "#18A860"
--accent-transparent = "#E09020"
--accent-action = "#E040A0"
--accent-market = "#00B8D4"
--accent-portfolio = "#8B72F0"
--toast-info-accent = "#6040E0"
--toast-info-text = "#4A28CC"
--toast-success-accent = "rgba(24,168,96,1.0)"
--toast-success-text = "rgba(12,130,68,1.0)"
--toast-warning-accent = "rgba(224,144,32,1.0)"
--toast-warning-text = "rgba(180,108,10,1.0)"
--toast-error-accent = "rgba(224,48,74,1.0)"
--toast-error-text = "rgba(180,28,50,1.0)"
--snackbar-bg = "rgba(40,38,56,0.95)"
--snackbar-text = "rgba(245,244,252,0.87)"
--snackbar-action = "rgba(139,114,240,1.0)"
--snackbar-action-hover = "rgba(168,148,255,1.0)"
--switch-track-off = "rgba(30,30,60,0.24)"
--switch-track-on = "rgba(96,64,224,0.38)"
--switch-thumb-off = "#F8F8FC"
--switch-thumb-on = "#FFFFFF"
--control-shadow = "rgba(0,0,0,0.18)"
--checkbox-check = "#FFFFFF"
--app-bar-shadow = "rgba(0,0,0,0.08)"
[backdrop]
base-color-top = "rgba(252,252,255,255)"
base-color-bottom = "rgba(244,244,252,255)"
texture-tint-alpha = 80
gradient-top-r = 250
gradient-top-g = 250
gradient-top-b = 255
gradient-top-a = 240
gradient-bottom-r = 242
gradient-bottom-g = 242
gradient-bottom-b = 252
gradient-bottom-a = 220
background-alpha = 0.97
surface-alpha = 0.97
frame-alpha = 0.94
surface-inline-alpha = 0.95
background-inline-alpha = 0.94
# ---------------------------------------------------------------------------
# Theme Visual Effects — Color Pop Light (gentle neon)
# Softer neon hue-cycling and rainbow borders on a light background.
# Lower saturation and slower speeds keep it elegant.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 1.0 }
hue-cycle-speed = { size = 0.04 }
hue-cycle-saturation = { size = 0.50 }
hue-cycle-value = { size = 0.78 }
hue-cycle-range = { size = 0.35 }
hue-cycle-offset = { size = 0.72 }
rainbow-border-enabled = { size = 1.0 }
rainbow-border-speed = { size = 0.05 }
rainbow-border-alpha = { size = 0.38 }
rainbow-border-stop-0 = { color = "#7C6CFF" }
rainbow-border-stop-1 = { color = "#FF6EC7" }
rainbow-border-stop-2 = { color = "#00E5FF" }
shimmer-enabled = { size = 0.0 }
positional-hue-enabled = { size = 0.0 }
glow-pulse-enabled = { size = 0.0 }
edge-trace-enabled = { size = 0.0 }
ember-rise-enabled = { size = 0.0 }
# Shader-like viewport overlay — soft neon tint
viewport-wash-enabled = { size = 1.0 }
viewport-wash-alpha = { size = 0.06 }
viewport-wash-tl = { color = "#7C6CFF" }
viewport-wash-tr = { color = "#FF6EC7" }
viewport-wash-bl = { color = "#00E5FF" }
viewport-wash-br = { color = "#FF3D71" }
viewport-wash-rotate = { size = 0.0 }
viewport-wash-pulse = { size = 0.15 }
viewport-wash-pulse-depth = { size = 0.25 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#20182A" }
viewport-vignette-radius = { size = 0.18 }
viewport-vignette-alpha = { size = 0.12 }

142
res/themes/dark.toml Normal file
View File

@@ -0,0 +1,142 @@
[theme]
name = "Dark"
author = "The Hush Developers"
dark = true
elevation = { --elevation-0 = "#161618", --elevation-1 = "#222224", --elevation-2 = "#2C2C2E", --elevation-3 = "#363638", --elevation-4 = "#404044" }
images = { background_image = "backgrounds/texture/dark_bg.png", logo = "logos/logo_ObsidianDragon_dark.png" }
[theme.palette]
--primary = "#9AAFC8"
--primary-variant = "#7B92B0"
--primary-light = "#B8CCE0"
--secondary = "#7DABA3"
--secondary-variant = "#5D8A82"
--secondary-light = "#9DC5BE"
--background = "#141416"
--surface = "#1A1A1C"
--surface-variant = "#262628"
--on-primary = "#000000"
--on-secondary = "#000000"
--on-background = "#D0D0D4"
--on-surface = "#D0D0D4"
--on-surface-medium = "rgba(208,208,212,0.75)"
--on-surface-disabled = "rgba(208,208,212,0.45)"
--error = "#B07080"
--on-error = "#000000"
--success = "#7AAE7C"
--on-success = "#000000"
--warning = "#C4A870"
--on-warning = "#000000"
--divider = "rgba(220,220,225,0.14)"
--outline = "rgba(220,220,225,0.14)"
--scrim = "rgba(0,0,0,0.5)"
--surface-hover = "rgba(220,220,225,0.06)"
--surface-alt = "rgba(220,220,225,0.04)"
--surface-active = "rgba(220,220,225,0.08)"
--glass-button = "rgba(220,220,225,0.05)"
--glass-button-hover = "rgba(220,220,225,0.10)"
--card-border = "rgba(220,220,225,0.12)"
--text-shadow = "rgba(0,0,0,0.40)"
--input-overlay-text = "rgba(208,208,212,0.28)"
--slider-text = "rgba(208,208,212,0.85)"
--thumb-fill = "rgba(220,220,225,0.14)"
--thumb-border = "rgba(220,220,225,0.45)"
--disabled-label = "rgba(220,220,225,0.18)"
--chart-grid = "rgba(220,220,225,0.04)"
--chart-crosshair = "rgba(220,220,225,0.14)"
--chart-hover-ring = "rgba(220,220,225,0.28)"
--tooltip-bg = "rgba(18,18,22,0.92)"
--tooltip-border = "rgba(220,220,225,0.10)"
--glass-fill = "rgba(220,220,225,0.07)"
--glass-border = "rgba(220,220,225,0.12)"
--glass-noise-tint = "rgba(220,220,225,0.03)"
--tactile-top = "rgba(220,220,225,0.06)"
--tactile-bottom = "rgba(220,220,225,0.0)"
--hover-overlay = "rgba(220,220,225,0.04)"
--active-overlay = "rgba(220,220,225,0.08)"
--rim-light = "rgba(220,220,225,0.08)"
--status-divider = "rgba(220,220,225,0.06)"
--sidebar-hover = "rgba(220,220,225,0.08)"
--sidebar-icon = "rgba(220,220,225,0.40)"
--sidebar-badge = "rgba(208,208,212,1.0)"
--sidebar-divider = "rgba(220,220,225,0.05)"
--chart-line = "rgba(220,220,225,0.08)"
--window-control = "rgba(208,208,212,0.75)"
--window-control-hover = "rgba(220,220,225,0.10)"
--window-close-hover = "rgba(200,50,60,0.70)"
--spinner-track = "rgba(220,220,225,0.08)"
--spinner-active = "rgba(154,175,200,0.85)"
--shutdown-panel-bg = "rgba(14,14,18,0.88)"
--shutdown-panel-border = "rgba(220,220,225,0.06)"
--ram-bar-app = "#5C9CE6"
--ram-bar-system = "rgba(255,255,255,0.15)"
--accent-total = "#B8CCE0"
--accent-shielded = "#7DABA3"
--accent-transparent = "#C4A870"
--accent-action = "#9AAFC8"
--accent-market = "#7DABA3"
--accent-portfolio = "#B8CCE0"
--toast-info-accent = "#9AAFC8"
--toast-info-text = "#B8CCE0"
--toast-success-accent = "rgba(80,155,85,1.0)"
--toast-success-text = "rgba(180,230,180,1.0)"
--toast-warning-accent = "rgba(180,150,75,1.0)"
--toast-warning-text = "rgba(235,215,140,1.0)"
--toast-error-accent = "rgba(175,75,80,1.0)"
--toast-error-text = "rgba(235,160,160,1.0)"
--snackbar-bg = "rgba(45,45,48,0.95)"
--snackbar-text = "rgba(208,208,212,0.87)"
--snackbar-action = "rgba(154,175,200,1.0)"
--snackbar-action-hover = "rgba(184,204,224,1.0)"
--switch-track-off = "rgba(220,220,225,0.10)"
--switch-track-on = "rgba(154,175,200,0.40)"
--switch-thumb-off = "#A0A0A4"
--switch-thumb-on = "#D8D8DC"
--control-shadow = "rgba(0,0,0,0.22)"
--checkbox-check = "#000000"
--app-bar-shadow = "rgba(0,0,0,0.18)"
[backdrop]
base-color-top = "rgba(20,22,28,200)"
base-color-bottom = "rgba(10,11,16,200)"
texture-tint-alpha = 120
gradient-top-r = 14
gradient-top-g = 15
gradient-top-b = 20
gradient-top-a = 80
gradient-bottom-r = 8
gradient-bottom-g = 9
gradient-bottom-b = 13
gradient-bottom-a = 60
background-alpha = 0.52
surface-alpha = 0.58
frame-alpha = 0.78
surface-inline-alpha = 0.60
background-inline-alpha = 0.45
# ---------------------------------------------------------------------------
# Theme Visual Effects — Dark (minimal, clean)
# Near-static soft glow behind active button. Professional and understated.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 0.0 }
rainbow-border-enabled = { size = 0.0 }
shimmer-enabled = { size = 0.0 }
positional-hue-enabled = { size = 0.0 }
glow-pulse-enabled = { size = 1.0 }
glow-pulse-speed = { size = 0.25 }
glow-pulse-min-alpha = { size = 0.02 }
glow-pulse-max-alpha = { size = 0.04 }
glow-pulse-radius = { size = 2.0 }
glow-pulse-color = { color = "var(--primary)" }
edge-trace-enabled = { size = 0.0 }
ember-rise-enabled = { size = 0.0 }
# Shader-like viewport overlay — subtle neutral vignette
viewport-wash-enabled = { size = 0.0 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#000000" }
viewport-vignette-radius = { size = 0.20 }
viewport-vignette-alpha = { size = 0.08 }

180
res/themes/dune.toml Normal file
View File

@@ -0,0 +1,180 @@
[theme]
name = "Dune"
author = "The Hush Developers"
dark = false
images = { background_image = "backgrounds/texture/dune_bg.png", logo = "logos/logo_ObsidianDragon_light.png" }
elevation = { --elevation-0 = "#FDF8F0", --elevation-1 = "#F5EDE0", --elevation-2 = "#EDE3D4", --elevation-3 = "#E0D5C4", --elevation-4 = "#D0C4B0" }
[theme.palette]
# Dune: warm desert tones — amber, sand, terracotta, sage
--primary = "#B07840"
--primary-variant = "#8E5E2E"
--primary-light = "#D4A06C"
--secondary = "#8A9A6C"
--secondary-variant = "#6B7E50"
--secondary-light = "#A8B890"
--background = "#FAF5ED"
--surface = "#FFFFF8"
--surface-variant = "#F5EDE0"
--on-primary = "#FFFFFF"
--on-secondary = "#FFFFFF"
--on-background = "#3A2E22"
--on-surface = "#3A2E22"
--on-surface-medium = "rgba(58,46,34,0.68)"
--on-surface-disabled = "rgba(58,46,34,0.38)"
--error = "#A0524A"
--on-error = "#FFFFFF"
--success = "#6A8A5C"
--on-success = "#FFFFFF"
--warning = "#C08840"
--on-warning = "#000000"
--divider = "rgba(140,110,70,0.14)"
--outline = "rgba(140,110,70,0.16)"
--scrim = "rgba(30,20,10,0.45)"
--surface-hover = "rgba(176,120,64,0.06)"
--surface-alt = "rgba(176,120,64,0.03)"
--surface-active = "rgba(176,120,64,0.10)"
--glass-button = "rgba(176,120,64,0.06)"
--glass-button-hover = "rgba(176,120,64,0.12)"
--card-border = "rgba(176,120,64,0.12)"
--text-shadow = "rgba(80,50,20,0.08)"
--input-overlay-text = "rgba(58,46,34,0.28)"
--slider-text = "rgba(58,46,34,0.78)"
--thumb-fill = "rgba(176,120,64,0.12)"
--thumb-border = "rgba(176,120,64,0.35)"
--disabled-label = "rgba(58,46,34,0.22)"
--chart-grid = "rgba(176,120,64,0.07)"
--chart-crosshair = "rgba(176,120,64,0.18)"
--chart-hover-ring = "rgba(176,120,64,0.28)"
--tooltip-bg = "rgba(50,38,24,0.94)"
--tooltip-border = "rgba(176,120,64,0.12)"
--glass-fill = "rgba(255,252,245,0.58)"
--glass-border = "rgba(176,120,64,0.14)"
--glass-noise-tint = "rgba(180,140,80,0.03)"
--tactile-top = "rgba(255,255,248,0.50)"
--tactile-bottom = "rgba(255,255,248,0.08)"
--hover-overlay = "rgba(176,120,64,0.05)"
--active-overlay = "rgba(176,120,64,0.10)"
--rim-light = "rgba(212,160,108,0.10)"
--status-divider = "rgba(176,120,64,0.10)"
--sidebar-hover = "rgba(176,120,64,0.08)"
--sidebar-icon = "rgba(58,46,34,0.50)"
--sidebar-badge = "rgba(58,46,34,0.85)"
--sidebar-divider = "rgba(176,120,64,0.08)"
--chart-line = "rgba(176,120,64,0.10)"
--window-control = "rgba(58,46,34,0.65)"
--window-control-hover = "rgba(176,120,64,0.10)"
--window-close-hover = "rgba(160,82,74,0.78)"
--spinner-track = "rgba(176,120,64,0.12)"
--spinner-active = "rgba(176,120,64,0.85)"
--shutdown-panel-bg = "rgba(250,245,237,0.96)"
--shutdown-panel-border = "rgba(176,120,64,0.10)"
# RAM bar: desert gold
--ram-bar-app = "#B07840"
--ram-bar-system = "rgba(58,46,34,0.14)"
# Accent strips: desert palette — amber, sage, terracotta, gold, olive, sand
--accent-total = "#B07840"
--accent-shielded = "#8A9A6C"
--accent-transparent = "#C4786A"
--accent-action = "#B07840"
--accent-market = "#6B7E50"
--accent-portfolio = "#C08840"
# Toasts: warm desert tones
--toast-info-accent = "#B07840"
--toast-info-text = "#8E5E2E"
--toast-success-accent = "rgba(106,138,92,1.0)"
--toast-success-text = "rgba(80,112,66,1.0)"
--toast-warning-accent = "rgba(192,136,64,1.0)"
--toast-warning-text = "rgba(160,108,40,1.0)"
--toast-error-accent = "rgba(160,82,74,1.0)"
--toast-error-text = "rgba(130,58,50,1.0)"
# Snackbar
--snackbar-bg = "rgba(50,38,24,0.95)"
--snackbar-text = "rgba(255,252,245,0.87)"
--snackbar-action = "rgba(212,160,108,1.0)"
--snackbar-action-hover = "rgba(236,190,140,1.0)"
# Controls
--switch-track-off = "rgba(58,46,34,0.22)"
--switch-track-on = "rgba(176,120,64,0.40)"
--switch-thumb-off = "#F5EDE0"
--switch-thumb-on = "#FFFFFF"
--control-shadow = "rgba(80,50,20,0.16)"
--checkbox-check = "#FFFFFF"
--app-bar-shadow = "rgba(80,50,20,0.08)"
[backdrop]
base-color-top = "rgba(253,248,240,255)"
base-color-bottom = "rgba(240,228,208,255)"
texture-tint-alpha = 100
gradient-top-r = 252
gradient-top-g = 246
gradient-top-b = 235
gradient-top-a = 240
gradient-bottom-r = 238
gradient-bottom-g = 222
gradient-bottom-b = 198
gradient-bottom-a = 230
background-alpha = 0.96
surface-alpha = 0.96
frame-alpha = 0.93
surface-inline-alpha = 0.94
background-inline-alpha = 0.93
# ---------------------------------------------------------------------------
# Theme Visual Effects — Dune (desert sandstorm)
# Wind-driven sand particles with heat shimmer and warm atmosphere.
# The sandstorm effect creates directional particles blowing across
# the viewport with motion streaks, gusts, and dust puffs.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 0.0 }
rainbow-border-enabled = { size = 0.0 }
# Slow, wide warm shimmer — like heat mirage on sand
shimmer-enabled = { size = 1.0 }
shimmer-speed = { size = 0.025 }
shimmer-width = { size = 200.0 }
shimmer-alpha = { size = 0.06 }
shimmer-angle = { size = 15.0 }
shimmer-color = { color = "rgba(212,170,108,1.0)" }
positional-hue-enabled = { size = 0.0 }
glow-pulse-enabled = { size = 1.0 }
glow-pulse-speed = { size = 0.15 }
glow-pulse-min-alpha = { size = 0.02 }
glow-pulse-max-alpha = { size = 0.08 }
glow-pulse-radius = { size = 2.5 }
glow-pulse-color = { color = "#B07840" }
edge-trace-enabled = { size = 0.0 }
ember-rise-enabled = { size = 0.0 }
gradient-border-enabled = { size = 0.0 }
# === Sandstorm: wind-driven sand particles ===
sandstorm-enabled = { size = 1.0 }
sandstorm-count = { size = 90.0 }
sandstorm-speed = { size = 0.25 }
sandstorm-wind-angle = { size = 12.0 }
sandstorm-particle-size = { size = 2.4 }
sandstorm-alpha = { size = 0.55 }
sandstorm-color = { color = "#8B6914" }
sandstorm-gust-speed = { size = 0.06 }
sandstorm-gust-strength = { size = 0.45 }
sandstorm-streak-length = { size = 4.0 }
# Warm desert atmosphere — orange-gold heat haze
viewport-wash-enabled = { size = 1.0 }
viewport-wash-alpha = { size = 0.10 }
viewport-wash-tl = { color = "#C89050" }
viewport-wash-tr = { color = "#A0784C" }
viewport-wash-bl = { color = "#8A6A40" }
viewport-wash-br = { color = "#D4A060" }
viewport-wash-rotate = { size = 0.01 }
viewport-wash-pulse = { size = 0.06 }
viewport-wash-pulse-depth = { size = 0.35 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#1A1008" }
viewport-vignette-radius = { size = 0.22 }
viewport-vignette-alpha = { size = 0.10 }

177
res/themes/iridescent.toml Normal file
View File

@@ -0,0 +1,177 @@
[theme]
name = "Iridescent"
author = "The Hush Developers"
dark = false
images = { background_image = "backgrounds/texture/iridescent_bg.png", logo = "logos/logo_ObsidianDragon_light.png" }
elevation = { --elevation-0 = "#FDFBFF", --elevation-1 = "#F5F0FA", --elevation-2 = "#EDE6F4", --elevation-3 = "#E0D8EC", --elevation-4 = "#D0C8DC" }
[theme.palette]
# Iridescent: opalescent pastels — shifting pink ↔ lavender ↔ teal
--primary = "#8E6BAF"
--primary-variant = "#6A3D9A"
--primary-light = "#C9A8E8"
--secondary = "#4DB6AC"
--secondary-variant = "#00897B"
--secondary-light = "#80CBC4"
--background = "#FAF8FF"
--surface = "#FFFFFF"
--surface-variant = "#F3EFF8"
--on-primary = "#FFFFFF"
--on-secondary = "#FFFFFF"
--on-background = "#1C1525"
--on-surface = "#1C1525"
--on-surface-medium = "rgba(28,21,37,0.72)"
--on-surface-disabled = "rgba(28,21,37,0.40)"
--error = "#C62828"
--on-error = "#FFFFFF"
--success = "#2E7D32"
--on-success = "#FFFFFF"
--warning = "#E65100"
--on-warning = "#000000"
--divider = "rgba(120,80,160,0.12)"
--outline = "rgba(120,80,160,0.14)"
--scrim = "rgba(20,10,30,0.45)"
--surface-hover = "rgba(140,107,175,0.06)"
--surface-alt = "rgba(140,107,175,0.03)"
--surface-active = "rgba(140,107,175,0.10)"
--glass-button = "rgba(140,107,175,0.06)"
--glass-button-hover = "rgba(140,107,175,0.12)"
--card-border = "rgba(140,107,175,0.12)"
--text-shadow = "rgba(80,40,120,0.08)"
--input-overlay-text = "rgba(28,21,37,0.28)"
--slider-text = "rgba(28,21,37,0.78)"
--thumb-fill = "rgba(140,107,175,0.12)"
--thumb-border = "rgba(140,107,175,0.35)"
--disabled-label = "rgba(28,21,37,0.22)"
--chart-grid = "rgba(140,107,175,0.07)"
--chart-crosshair = "rgba(140,107,175,0.18)"
--chart-hover-ring = "rgba(140,107,175,0.28)"
--tooltip-bg = "rgba(32,24,48,0.94)"
--tooltip-border = "rgba(140,107,175,0.12)"
--glass-fill = "rgba(255,255,255,0.55)"
--glass-border = "rgba(140,107,175,0.14)"
--glass-noise-tint = "rgba(180,140,220,0.03)"
--tactile-top = "rgba(255,255,255,0.50)"
--tactile-bottom = "rgba(255,255,255,0.08)"
--hover-overlay = "rgba(140,107,175,0.05)"
--active-overlay = "rgba(140,107,175,0.10)"
--rim-light = "rgba(180,140,255,0.10)"
--status-divider = "rgba(140,107,175,0.10)"
--sidebar-hover = "rgba(140,107,175,0.08)"
--sidebar-icon = "rgba(28,21,37,0.50)"
--sidebar-badge = "rgba(28,21,37,0.85)"
--sidebar-divider = "rgba(140,107,175,0.08)"
--chart-line = "rgba(140,107,175,0.10)"
--window-control = "rgba(28,21,37,0.65)"
--window-control-hover = "rgba(140,107,175,0.10)"
--window-close-hover = "rgba(220,30,50,0.78)"
--spinner-track = "rgba(140,107,175,0.12)"
--spinner-active = "rgba(142,107,175,0.85)"
--shutdown-panel-bg = "rgba(248,244,255,0.96)"
--shutdown-panel-border = "rgba(140,107,175,0.10)"
# RAM bar: iridescent violet accent
--ram-bar-app = "#8E6BAF"
--ram-bar-system = "rgba(28,21,37,0.14)"
# Accent strips: opalescent palette — pink, teal, coral, violet, sea-green, lavender
--accent-total = "#B06AB3"
--accent-shielded = "#4DB6AC"
--accent-transparent = "#F48FB1"
--accent-action = "#7E57C2"
--accent-market = "#26A69A"
--accent-portfolio = "#AB47BC"
# Toasts: soft iridescent tones
--toast-info-accent = "#8E6BAF"
--toast-info-text = "#5E35B1"
--toast-success-accent = "rgba(46,125,50,1.0)"
--toast-success-text = "rgba(27,94,32,1.0)"
--toast-warning-accent = "rgba(230,81,0,1.0)"
--toast-warning-text = "rgba(191,54,12,1.0)"
--toast-error-accent = "rgba(198,40,40,1.0)"
--toast-error-text = "rgba(183,28,28,1.0)"
# Snackbar
--snackbar-bg = "rgba(40,30,55,0.95)"
--snackbar-text = "rgba(255,255,255,0.87)"
--snackbar-action = "rgba(206,147,216,1.0)"
--snackbar-action-hover = "rgba(225,190,255,1.0)"
# Controls
--switch-track-off = "rgba(28,21,37,0.22)"
--switch-track-on = "rgba(142,107,175,0.40)"
--switch-thumb-off = "#F5F0FA"
--switch-thumb-on = "#FFFFFF"
--control-shadow = "rgba(80,40,120,0.16)"
--checkbox-check = "#FFFFFF"
--app-bar-shadow = "rgba(80,40,120,0.08)"
[backdrop]
base-color-top = "rgba(253,248,255,255)"
base-color-bottom = "rgba(240,232,252,255)"
texture-tint-alpha = 90
gradient-top-r = 252
gradient-top-g = 248
gradient-top-b = 255
gradient-top-a = 240
gradient-bottom-r = 235
gradient-bottom-g = 225
gradient-bottom-b = 248
gradient-bottom-a = 230
background-alpha = 0.97
surface-alpha = 0.97
frame-alpha = 0.94
surface-inline-alpha = 0.95
background-inline-alpha = 0.94
# ---------------------------------------------------------------------------
# Theme Visual Effects — Iridescent (opalescent color-shifting)
# The signature rainbow theme — gentle prismatic borders, slow pastel
# hue-cycling, and a wide ethereal sheen like light through an opal.
# All effects enabled but softened for a dreamy rather than flashy look.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 1.0 }
hue-cycle-speed = { size = 0.06 }
hue-cycle-saturation = { size = 0.50 }
hue-cycle-value = { size = 0.82 }
hue-cycle-range = { size = 1.0 }
hue-cycle-offset = { size = 0.83 }
rainbow-border-enabled = { size = 1.0 }
rainbow-border-speed = { size = 0.05 }
rainbow-border-alpha = { size = 0.40 }
rainbow-border-stop-0 = { color = "#FF6B9D" }
rainbow-border-stop-1 = { color = "#C084FC" }
rainbow-border-stop-2 = { color = "#67E8F9" }
rainbow-border-stop-3 = { color = "#FCA5A5" }
shimmer-enabled = { size = 1.0 }
shimmer-speed = { size = 0.04 }
shimmer-width = { size = 150.0 }
shimmer-alpha = { size = 0.05 }
shimmer-angle = { size = 20.0 }
shimmer-color = { color = "rgba(255,240,255,1.0)" }
positional-hue-enabled = { size = 1.0 }
positional-hue-top = { color = "#E088B8" }
positional-hue-bottom = { color = "#60B8B4" }
positional-hue-strength = { size = 0.35 }
glow-pulse-enabled = { size = 0.0 }
edge-trace-enabled = { size = 0.0 }
ember-rise-enabled = { size = 0.0 }
# Shader-like viewport overlay — prismatic chromatic shift
viewport-wash-enabled = { size = 1.0 }
viewport-wash-alpha = { size = 0.08 }
viewport-wash-tl = { color = "#FF6B9D" }
viewport-wash-tr = { color = "#C084FC" }
viewport-wash-bl = { color = "#FCA5A5" }
viewport-wash-br = { color = "#67E8F9" }
viewport-wash-rotate = { size = 0.02 }
viewport-wash-pulse = { size = 0.0 }
viewport-wash-pulse-depth = { size = 0.0 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#1A1020" }
viewport-vignette-radius = { size = 0.18 }
viewport-vignette-alpha = { size = 0.10 }

142
res/themes/light.toml Normal file
View File

@@ -0,0 +1,142 @@
[theme]
name = "Light"
author = "The Hush Developers"
dark = false
images = { background_image = "backgrounds/texture/light_bg.png", logo = "logos/logo_ObsidianDragon_light.png" }
elevation = { --elevation-0 = "#FAFAFA", --elevation-1 = "#F2F3F5", --elevation-2 = "#EAEBEE", --elevation-3 = "#DDDEE2", --elevation-4 = "#CDCED3" }
[theme.palette]
--primary = "#5A6A7A"
--primary-variant = "#475868"
--primary-light = "#8494A4"
--secondary = "#607870"
--secondary-variant = "#4D655D"
--secondary-light = "#7E9690"
--background = "#F6F7F8"
--surface = "#FAFAFA"
--surface-variant = "#F0F1F3"
--on-primary = "#FFFFFF"
--on-secondary = "#FFFFFF"
--on-background = "#2A2C30"
--on-surface = "#2A2C30"
--on-surface-medium = "rgba(42,44,48,0.68)"
--on-surface-disabled = "rgba(42,44,48,0.38)"
--error = "#8C5A62"
--on-error = "#FFFFFF"
--success = "#5A7E5C"
--on-success = "#FFFFFF"
--warning = "#8A7A52"
--on-warning = "#000000"
--divider = "rgba(42,44,48,0.12)"
--outline = "rgba(42,44,48,0.14)"
--scrim = "rgba(0,0,0,0.42)"
--surface-hover = "rgba(42,44,48,0.04)"
--surface-alt = "rgba(42,44,48,0.02)"
--surface-active = "rgba(42,44,48,0.08)"
--glass-button = "rgba(42,44,48,0.04)"
--glass-button-hover = "rgba(42,44,48,0.08)"
--card-border = "rgba(42,44,48,0.08)"
--text-shadow = "rgba(0,0,0,0.06)"
--input-overlay-text = "rgba(42,44,48,0.24)"
--slider-text = "rgba(42,44,48,0.72)"
--thumb-fill = "rgba(42,44,48,0.10)"
--thumb-border = "rgba(42,44,48,0.28)"
--disabled-label = "rgba(42,44,48,0.20)"
--chart-grid = "rgba(42,44,48,0.06)"
--chart-crosshair = "rgba(42,44,48,0.16)"
--chart-hover-ring = "rgba(42,44,48,0.24)"
--tooltip-bg = "rgba(50,52,58,0.92)"
--tooltip-border = "rgba(42,44,48,0.10)"
--glass-fill = "rgba(255,255,255,0.55)"
--glass-border = "rgba(42,44,48,0.10)"
--glass-noise-tint = "rgba(42,44,48,0.015)"
--tactile-top = "rgba(255,255,255,0.35)"
--tactile-bottom = "rgba(255,255,255,0.04)"
--hover-overlay = "rgba(42,44,48,0.04)"
--active-overlay = "rgba(42,44,48,0.08)"
--rim-light = "rgba(42,44,48,0.06)"
--status-divider = "rgba(42,44,48,0.08)"
--sidebar-hover = "rgba(42,44,48,0.05)"
--sidebar-icon = "rgba(42,44,48,0.45)"
--sidebar-badge = "rgba(42,44,48,0.80)"
--sidebar-divider = "rgba(42,44,48,0.06)"
--chart-line = "rgba(42,44,48,0.08)"
--window-control = "rgba(42,44,48,0.62)"
--window-control-hover = "rgba(42,44,48,0.06)"
--window-close-hover = "rgba(140,90,98,0.75)"
--spinner-track = "rgba(42,44,48,0.08)"
--spinner-active = "rgba(90,106,122,0.80)"
--shutdown-panel-bg = "rgba(242,243,245,0.94)"
--shutdown-panel-border = "rgba(42,44,48,0.08)"
--ram-bar-app = "#5A6A7A"
--ram-bar-system = "rgba(42,44,48,0.14)"
--accent-total = "#5A6A7A"
--accent-shielded = "#607870"
--accent-transparent = "#8A7A52"
--accent-action = "#5A6A7A"
--accent-market = "#607870"
--accent-portfolio = "#5A6A7A"
--toast-info-accent = "#5A6A7A"
--toast-info-text = "#475868"
--toast-success-accent = "rgba(90,126,92,1.0)"
--toast-success-text = "rgba(62,98,64,1.0)"
--toast-warning-accent = "rgba(138,122,82,1.0)"
--toast-warning-text = "rgba(110,96,56,1.0)"
--toast-error-accent = "rgba(140,90,98,1.0)"
--toast-error-text = "rgba(112,62,70,1.0)"
--snackbar-bg = "rgba(50,52,58,0.94)"
--snackbar-text = "rgba(235,236,238,0.87)"
--snackbar-action = "rgba(132,148,164,1.0)"
--snackbar-action-hover = "rgba(158,172,186,1.0)"
--switch-track-off = "rgba(42,44,48,0.22)"
--switch-track-on = "rgba(90,106,122,0.35)"
--switch-thumb-off = "#F5F5F5"
--switch-thumb-on = "#FAFAFA"
--control-shadow = "rgba(0,0,0,0.16)"
--checkbox-check = "#FFFFFF"
--app-bar-shadow = "rgba(0,0,0,0.07)"
[backdrop]
base-color-top = "rgba(250,250,252,255)"
base-color-bottom = "rgba(240,241,245,255)"
texture-tint-alpha = 80
gradient-top-r = 248
gradient-top-g = 249
gradient-top-b = 252
gradient-top-a = 240
gradient-bottom-r = 238
gradient-bottom-g = 239
gradient-bottom-b = 244
gradient-bottom-a = 220
background-alpha = 0.97
surface-alpha = 0.97
frame-alpha = 0.94
surface-inline-alpha = 0.95
background-inline-alpha = 0.94
# ---------------------------------------------------------------------------
# Theme Visual Effects — Light (barely perceptible)
# Whisper-soft glow on active button. Clean and airy — effects stay invisible.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 0.0 }
rainbow-border-enabled = { size = 0.0 }
shimmer-enabled = { size = 0.0 }
positional-hue-enabled = { size = 0.0 }
glow-pulse-enabled = { size = 1.0 }
glow-pulse-speed = { size = 0.2 }
glow-pulse-min-alpha = { size = 0.01 }
glow-pulse-max-alpha = { size = 0.03 }
glow-pulse-radius = { size = 2.0 }
glow-pulse-color = { color = "var(--primary)" }
edge-trace-enabled = { size = 0.0 }
ember-rise-enabled = { size = 0.0 }
# Shader-like viewport overlay — very subtle warm vignette
viewport-wash-enabled = { size = 0.0 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#0A0500" }
viewport-vignette-radius = { size = 0.18 }
viewport-vignette-alpha = { size = 0.04 }

160
res/themes/marble.toml Normal file
View File

@@ -0,0 +1,160 @@
[theme]
name = "Marble"
author = "The Hush Developers"
dark = false
images = { background_image = "backgrounds/texture/marble_bg.png", logo = "logos/logo_ObsidianDragon_light.png" }
elevation = { --elevation-0 = "#FAFAF8", --elevation-1 = "#F0EEEC", --elevation-2 = "#E8E4E0", --elevation-3 = "#DCD6D0", --elevation-4 = "#CEC6BE" }
[theme.palette]
# Marble: cool stone tones — slate, charcoal, warm gray, aged gold accents
--primary = "#6E7580"
--primary-variant = "#555D68"
--primary-light = "#94999F"
--secondary = "#8A7D6C"
--secondary-variant = "#706454"
--secondary-light = "#A89E90"
--background = "#F8F6F4"
--surface = "#FEFEFE"
--surface-variant = "#F2EFEC"
--on-primary = "#FFFFFF"
--on-secondary = "#FFFFFF"
--on-background = "#2C2A28"
--on-surface = "#2C2A28"
--on-surface-medium = "rgba(44,42,40,0.68)"
--on-surface-disabled = "rgba(44,42,40,0.38)"
--error = "#8C5250"
--on-error = "#FFFFFF"
--success = "#5C7A62"
--on-success = "#FFFFFF"
--warning = "#8A7A4C"
--on-warning = "#000000"
--divider = "rgba(80,75,68,0.12)"
--outline = "rgba(80,75,68,0.14)"
--scrim = "rgba(20,18,16,0.42)"
--surface-hover = "rgba(110,117,128,0.05)"
--surface-alt = "rgba(110,117,128,0.025)"
--surface-active = "rgba(110,117,128,0.08)"
--glass-button = "rgba(110,117,128,0.05)"
--glass-button-hover = "rgba(110,117,128,0.10)"
--card-border = "rgba(110,117,128,0.10)"
--text-shadow = "rgba(0,0,0,0.05)"
--input-overlay-text = "rgba(44,42,40,0.24)"
--slider-text = "rgba(44,42,40,0.72)"
--thumb-fill = "rgba(110,117,128,0.10)"
--thumb-border = "rgba(110,117,128,0.28)"
--disabled-label = "rgba(44,42,40,0.20)"
--chart-grid = "rgba(110,117,128,0.06)"
--chart-crosshair = "rgba(110,117,128,0.16)"
--chart-hover-ring = "rgba(110,117,128,0.24)"
--tooltip-bg = "rgba(44,42,40,0.94)"
--tooltip-border = "rgba(110,117,128,0.10)"
--glass-fill = "rgba(255,255,254,0.62)"
--glass-border = "rgba(110,117,128,0.10)"
--glass-noise-tint = "rgba(80,75,68,0.02)"
--tactile-top = "rgba(255,255,255,0.45)"
--tactile-bottom = "rgba(255,255,255,0.06)"
--hover-overlay = "rgba(110,117,128,0.04)"
--active-overlay = "rgba(110,117,128,0.08)"
--rim-light = "rgba(180,175,168,0.10)"
--status-divider = "rgba(110,117,128,0.08)"
--sidebar-hover = "rgba(110,117,128,0.06)"
--sidebar-icon = "rgba(44,42,40,0.48)"
--sidebar-badge = "rgba(44,42,40,0.82)"
--sidebar-divider = "rgba(110,117,128,0.06)"
--chart-line = "rgba(110,117,128,0.08)"
--window-control = "rgba(44,42,40,0.62)"
--window-control-hover = "rgba(110,117,128,0.08)"
--window-close-hover = "rgba(140,82,80,0.75)"
--spinner-track = "rgba(110,117,128,0.10)"
--spinner-active = "rgba(110,117,128,0.80)"
--shutdown-panel-bg = "rgba(248,246,244,0.96)"
--shutdown-panel-border = "rgba(110,117,128,0.08)"
# RAM bar: slate
--ram-bar-app = "#6E7580"
--ram-bar-system = "rgba(44,42,40,0.14)"
# Accent strips: stone palette — slate, taupe, aged gold, charcoal, olive, warm gray
--accent-total = "#6E7580"
--accent-shielded = "#8A7D6C"
--accent-transparent = "#8A7A4C"
--accent-action = "#6E7580"
--accent-market = "#5C7A62"
--accent-portfolio = "#706454"
# Toasts: warm stone
--toast-info-accent = "#6E7580"
--toast-info-text = "#555D68"
--toast-success-accent = "rgba(92,122,98,1.0)"
--toast-success-text = "rgba(66,96,72,1.0)"
--toast-warning-accent = "rgba(138,122,76,1.0)"
--toast-warning-text = "rgba(110,96,52,1.0)"
--toast-error-accent = "rgba(140,82,80,1.0)"
--toast-error-text = "rgba(112,56,54,1.0)"
# Snackbar
--snackbar-bg = "rgba(44,42,40,0.95)"
--snackbar-text = "rgba(248,246,244,0.87)"
--snackbar-action = "rgba(148,153,159,1.0)"
--snackbar-action-hover = "rgba(180,185,190,1.0)"
# Controls
--switch-track-off = "rgba(44,42,40,0.22)"
--switch-track-on = "rgba(110,117,128,0.35)"
--switch-thumb-off = "#F0EEEC"
--switch-thumb-on = "#FEFEFE"
--control-shadow = "rgba(0,0,0,0.14)"
--checkbox-check = "#FFFFFF"
--app-bar-shadow = "rgba(0,0,0,0.06)"
[backdrop]
base-color-top = "rgba(250,250,248,255)"
base-color-bottom = "rgba(238,234,228,255)"
texture-tint-alpha = 85
gradient-top-r = 248
gradient-top-g = 248
gradient-top-b = 245
gradient-top-a = 240
gradient-bottom-r = 235
gradient-bottom-g = 230
gradient-bottom-b = 224
gradient-bottom-a = 230
background-alpha = 0.97
surface-alpha = 0.97
frame-alpha = 0.94
surface-inline-alpha = 0.95
background-inline-alpha = 0.94
# ---------------------------------------------------------------------------
# Theme Visual Effects — Marble (polished stone)
# Minimal, elegant. Faint cool shimmer like light gliding across
# polished stone. No particles, no color shifting — pure restraint.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 0.0 }
rainbow-border-enabled = { size = 0.0 }
# Very slow, very wide, very faint — like a reflection on polished marble
shimmer-enabled = { size = 1.0 }
shimmer-speed = { size = 0.018 }
shimmer-width = { size = 250.0 }
shimmer-alpha = { size = 0.015 }
shimmer-angle = { size = 10.0 }
shimmer-color = { color = "rgba(200,195,188,1.0)" }
positional-hue-enabled = { size = 0.0 }
# Gentle active-element glow — warm stone highlight
glow-pulse-enabled = { size = 1.0 }
glow-pulse-speed = { size = 0.18 }
glow-pulse-min-alpha = { size = 0.008 }
glow-pulse-max-alpha = { size = 0.025 }
glow-pulse-radius = { size = 2.0 }
glow-pulse-color = { color = "#8A7D6C" }
edge-trace-enabled = { size = 0.0 }
ember-rise-enabled = { size = 0.0 }
gradient-border-enabled = { size = 0.0 }
# No viewport wash — marble is clean and quiet
viewport-wash-enabled = { size = 0.0 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#100E0C" }
viewport-vignette-radius = { size = 0.16 }
viewport-vignette-alpha = { size = 0.04 }

166
res/themes/obsidian.toml Normal file
View File

@@ -0,0 +1,166 @@
[theme]
name = "Obsidian"
author = "The Hush Developers"
dark = true
elevation = { --elevation-0 = "#0E0B14", --elevation-1 = "#17121E", --elevation-2 = "#1C1625", --elevation-3 = "#211A2C", --elevation-4 = "#261E33" }
images = { background_image = "backgrounds/texture/obsidian_bg.png", logo = "logos/logo_ObsidianDragon_dark.png" }
[theme.palette]
--primary = "#AB47BC"
--primary-variant = "#8E24AA"
--primary-light = "#CE93D8"
--secondary = "#B388FF"
--secondary-variant = "#7C4DFF"
--secondary-light = "#D1C4E9"
--background = "#0A0810"
--surface = "#110E18"
--surface-variant = "#1C1625"
--on-primary = "#FFFFFF"
--on-secondary = "#000000"
--on-background = "#E8E0F0"
--on-surface = "#E8E0F0"
--on-surface-medium = "rgba(232,224,240,0.75)"
--on-surface-disabled = "rgba(232,224,240,0.45)"
--error = "#CF6679"
--on-error = "#000000"
--success = "#81C784"
--on-success = "#000000"
--warning = "#FFB74D"
--on-warning = "#000000"
--divider = "rgba(200,180,255,0.14)"
--outline = "rgba(200,180,255,0.16)"
--scrim = "rgba(0,0,0,0.6)"
--surface-hover = "rgba(200,180,255,0.07)"
--surface-alt = "rgba(200,180,255,0.05)"
--surface-active = "rgba(200,180,255,0.10)"
--glass-button = "rgba(200,180,255,0.06)"
--glass-button-hover = "rgba(200,180,255,0.12)"
--card-border = "rgba(200,180,255,0.14)"
--text-shadow = "rgba(0,0,0,0.50)"
--input-overlay-text = "rgba(232,224,240,0.30)"
--slider-text = "rgba(232,224,240,0.85)"
--thumb-fill = "rgba(200,180,255,0.15)"
--thumb-border = "rgba(200,180,255,0.50)"
--disabled-label = "rgba(200,180,255,0.18)"
--chart-grid = "rgba(200,180,255,0.05)"
--chart-crosshair = "rgba(200,180,255,0.15)"
--chart-hover-ring = "rgba(200,180,255,0.30)"
--tooltip-bg = "rgba(14,11,20,0.92)"
--tooltip-border = "rgba(200,180,255,0.12)"
--glass-fill = "rgba(200,180,255,0.08)"
--glass-border = "rgba(200,180,255,0.14)"
--glass-noise-tint = "rgba(200,180,255,0.03)"
--tactile-top = "rgba(200,180,255,0.06)"
--tactile-bottom = "rgba(200,180,255,0.0)"
--hover-overlay = "rgba(200,180,255,0.05)"
--active-overlay = "rgba(200,180,255,0.10)"
--rim-light = "rgba(200,180,255,0.08)"
--status-divider = "rgba(200,180,255,0.08)"
--sidebar-hover = "rgba(200,180,255,0.10)"
--sidebar-icon = "rgba(200,180,255,0.42)"
--sidebar-badge = "rgba(232,224,240,1.0)"
--sidebar-divider = "rgba(200,180,255,0.06)"
--chart-line = "rgba(200,180,255,0.10)"
--window-control = "rgba(232,224,240,0.78)"
--window-control-hover = "rgba(200,180,255,0.12)"
--window-close-hover = "rgba(232,17,35,0.78)"
--spinner-track = "rgba(200,180,255,0.10)"
--spinner-active = "rgba(179,136,255,0.85)"
--shutdown-panel-bg = "rgba(10,8,16,0.90)"
--shutdown-panel-border = "rgba(200,180,255,0.07)"
--ram-bar-app = "#AB47BC"
--ram-bar-system = "rgba(255,255,255,0.18)"
--accent-total = "#CE93D8"
--accent-shielded = "#80CBC4"
--accent-transparent = "#FFAB91"
--accent-action = "#AB47BC"
--accent-market = "#80CBC4"
--accent-portfolio = "#B388FF"
--toast-info-accent = "#AB47BC"
--toast-info-text = "#CE93D8"
--toast-success-accent = "rgba(50,180,80,1.0)"
--toast-success-text = "rgba(180,255,180,1.0)"
--toast-warning-accent = "rgba(204,166,50,1.0)"
--toast-warning-text = "rgba(255,230,130,1.0)"
--toast-error-accent = "rgba(204,64,64,1.0)"
--toast-error-text = "rgba(255,153,153,1.0)"
--snackbar-bg = "rgba(40,35,55,0.95)"
--snackbar-text = "rgba(232,224,240,0.87)"
--snackbar-action = "rgba(179,136,255,1.0)"
--snackbar-action-hover = "rgba(206,147,216,1.0)"
--switch-track-off = "rgba(200,180,255,0.12)"
--switch-track-on = "rgba(171,71,188,0.50)"
--switch-thumb-off = "#B0A0C0"
--switch-thumb-on = "#E8E0F0"
--control-shadow = "rgba(0,0,0,0.24)"
--checkbox-check = "#000000"
--app-bar-shadow = "rgba(0,0,0,0.25)"
[backdrop]
base-color-top = "rgba(22,14,40,210)"
base-color-bottom = "rgba(10,6,22,210)"
texture-tint-alpha = 130
gradient-top-r = 18
gradient-top-g = 10
gradient-top-b = 35
gradient-top-a = 90
gradient-bottom-r = 8
gradient-bottom-g = 4
gradient-bottom-b = 18
gradient-bottom-a = 70
background-alpha = 0.42
surface-alpha = 0.52
frame-alpha = 0.74
surface-inline-alpha = 0.55
background-inline-alpha = 0.38
# ---------------------------------------------------------------------------
# Theme Visual Effects — Obsidian (volcanic glass sheen)
# Specular glare highlights drift slowly across panels like light
# reflecting off polished volcanic glass — mysterious, restrained.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 0.0 }
rainbow-border-enabled = { size = 0.0 }
# No shimmer sweep — replaced by specular glare
shimmer-enabled = { size = 0.0 }
positional-hue-enabled = { size = 0.0 }
glow-pulse-enabled = { size = 0.0 }
edge-trace-enabled = { size = 0.0 }
# Specular glare — soft blurred obsidian highlights
specular-glare-enabled = { size = 1.0 }
specular-glare-speed = { size = 0.018 }
specular-glare-intensity = { size = 0.008 }
specular-glare-radius = { size = 0.65 }
specular-glare-count = { size = 1.0 }
specular-glare-color = { color = "rgba(200,180,240,1.0)" }
# Gem-like color-shifting border on active sidebar button
gradient-border-enabled = { size = 1.0 }
gradient-border-speed = { size = 0.12 }
gradient-border-thickness = { size = 1.5 }
gradient-border-alpha = { size = 0.55 }
gradient-border-color-a = { color = "#CE93D8" }
gradient-border-color-b = { color = "#3F51B5" }
ember-rise-enabled = { size = 0.0 }
# Shader-like viewport overlay — deep indigo crystal atmosphere
viewport-wash-enabled = { size = 1.0 }
viewport-wash-alpha = { size = 0.05 }
viewport-wash-tl = { color = "#4A148C" }
viewport-wash-tr = { color = "#1A237E" }
viewport-wash-bl = { color = "#311B92" }
viewport-wash-br = { color = "#6A1B9A" }
viewport-wash-rotate = { size = 0.015 }
viewport-wash-pulse = { size = 0.0 }
viewport-wash-pulse-depth = { size = 0.0 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#0D0015" }
viewport-vignette-radius = { size = 0.22 }
viewport-vignette-alpha = { size = 0.15 }

1564
res/themes/ui.toml Normal file

File diff suppressed because it is too large Load Diff