style: Z-Design V2 - Atmósfera en vez de fogonazo
Refinamiento Visual Premium: - Dark mode fondo_sin_focus: negro puro → 7% base color - Dark mode fondo_con_focus: mantiene 15% base color - Light mode sincronizado: 1%/3% base color Efecto: Los paneles siempre tienen su "identidad" de color, incluso sin focus. El cambio de focus es ahora una transición suave de "iluminación" en vez de un fogonazo negro→color. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
b5073dcbe3
commit
b67de1ce01
1 changed files with 14 additions and 4 deletions
|
|
@ -1031,6 +1031,9 @@ pub fn derivePanelPalette(base: Color, mode: ThemeMode) PanelColorScheme {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Derive palette for dark mode (dark backgrounds, light text)
|
/// Derive palette for dark mode (dark backgrounds, light text)
|
||||||
|
/// Z-Design V2: "Atmósfera, no fogonazo"
|
||||||
|
/// - fondo_sin_focus: 7% base color (sutil identidad del panel)
|
||||||
|
/// - fondo_con_focus: 15% base color (brilla al ganar foco)
|
||||||
fn deriveDarkPalette(base: Color) PanelColorScheme {
|
fn deriveDarkPalette(base: Color) PanelColorScheme {
|
||||||
// Reference colors for dark mode
|
// Reference colors for dark mode
|
||||||
const black = Color.soft_black; // RGB(17, 17, 20) - not pure black
|
const black = Color.soft_black; // RGB(17, 17, 20) - not pure black
|
||||||
|
|
@ -1039,9 +1042,11 @@ fn deriveDarkPalette(base: Color) PanelColorScheme {
|
||||||
const dark_border = Color.rgb(60, 60, 65);
|
const dark_border = Color.rgb(60, 60, 65);
|
||||||
|
|
||||||
return .{
|
return .{
|
||||||
// Backgrounds: visible tint of base color (15% base, 85% black)
|
// Backgrounds: Z-Design V2 - panel siempre tiene su "identidad"
|
||||||
|
// Focus: 15% base, 85% black (brilla más)
|
||||||
.fondo_con_focus = base.blendTowards(black, 85),
|
.fondo_con_focus = base.blendTowards(black, 85),
|
||||||
.fondo_sin_focus = black,
|
// Sin focus: 7% base, 93% black (sutil pero presente)
|
||||||
|
.fondo_sin_focus = base.blendTowards(black, 93),
|
||||||
|
|
||||||
// Text: high contrast
|
// Text: high contrast
|
||||||
.datos = white,
|
.datos = white,
|
||||||
|
|
@ -1063,6 +1068,9 @@ fn deriveDarkPalette(base: Color) PanelColorScheme {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Derive palette for light mode (light backgrounds, dark text)
|
/// Derive palette for light mode (light backgrounds, dark text)
|
||||||
|
/// Z-Design V2: Sincronizado con dark mode
|
||||||
|
/// - fondo_sin_focus: 1% base (casi blanco, sutil identidad)
|
||||||
|
/// - fondo_con_focus: 3% base (brilla al ganar foco)
|
||||||
fn deriveLightPalette(base: Color) PanelColorScheme {
|
fn deriveLightPalette(base: Color) PanelColorScheme {
|
||||||
// Reference colors for light mode
|
// Reference colors for light mode
|
||||||
const white = Color.soft_white; // RGB(250, 250, 252) - slight cool tint
|
const white = Color.soft_white; // RGB(250, 250, 252) - slight cool tint
|
||||||
|
|
@ -1071,9 +1079,11 @@ fn deriveLightPalette(base: Color) PanelColorScheme {
|
||||||
const light_border = Color.rgb(220, 220, 225);
|
const light_border = Color.rgb(220, 220, 225);
|
||||||
|
|
||||||
return .{
|
return .{
|
||||||
// Backgrounds: subtle tint of base color (3% base, 97% white)
|
// Backgrounds: Z-Design V2 - panel siempre tiene su "identidad"
|
||||||
|
// Focus: 3% base, 97% white
|
||||||
.fondo_con_focus = base.blendTowards(white, 97),
|
.fondo_con_focus = base.blendTowards(white, 97),
|
||||||
.fondo_sin_focus = white,
|
// Sin focus: 1% base, 99% white (sutil pero presente)
|
||||||
|
.fondo_sin_focus = base.blendTowards(white, 99),
|
||||||
|
|
||||||
// Text: high contrast
|
// Text: high contrast
|
||||||
.datos = black,
|
.datos = black,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue