From 4ebe812c424e6a0810fdabe5ec119a9186185720 Mon Sep 17 00:00:00 2001 From: Bruno Deanoz Date: Mon, 22 Jun 2026 00:38:07 +0200 Subject: [PATCH] fix themes barely visible: add blob3, increase alpha, soften vignette MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three issues causing themes to look nearly identical: 1. blob3 was never rendered — each theme defines 4 blob colors but MeshBackground only used blob1/blob2/blob4. Added blob3 (honey for Amber, indigo for Blau, etc.) as a 4th blob. 2. Blob alpha too low — dark 0.22-0.30, light ×0.55 made blobs almost invisible. Increased to 0.30-0.42 dark, ×0.65 light. Now Amber clearly shows warm golds/corals, Blau shows cool sky/cyan/indigo — themes are visually distinct. 3. Vignette too aggressive — 0.55 alpha covered blob edges. Reduced to 0.40 so theme colors reach further into corners. --- app/src/main/java/dev/kaizen/app/chat/Background.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/dev/kaizen/app/chat/Background.kt b/app/src/main/java/dev/kaizen/app/chat/Background.kt index 7a9fb5e..dbaeb26 100644 --- a/app/src/main/java/dev/kaizen/app/chat/Background.kt +++ b/app/src/main/java/dev/kaizen/app/chat/Background.kt @@ -46,7 +46,7 @@ fun MeshBackground(content: @Composable BoxScope.() -> Unit) { val accent = LocalKaizenAccent.current val base = MaterialTheme.colorScheme.background // Blobs are subtler in light mode. - val factor = if (dark) 1f else 0.55f + val factor = if (dark) 1f else 0.65f val transition = rememberInfiniteTransition(label = "blobs") val drift by transition.animateFloat( initialValue = 0f, @@ -65,14 +65,14 @@ fun MeshBackground(content: @Composable BoxScope.() -> Unit) { drawRect(brush = ditherBrush, alpha = DITHER_ALPHA) }, ) { - Blob(accent.blob1, 360.dp, (-60f + drift * 30f).dp, (-40f + drift * 24f).dp, 0.30f * factor) - Blob(accent.blob2, 380.dp, (170f - drift * 44f).dp, (150f + drift * 40f).dp, 0.24f * factor) - Blob(accent.blob4, 300.dp, (30f + drift * 50f).dp, (560f - drift * 36f).dp, 0.22f * factor) - // Vignette: darken the edges so the center comes forward (dark mode only). + Blob(accent.blob1, 360.dp, (-60f + drift * 30f).dp, (-40f + drift * 24f).dp, 0.42f * factor) + Blob(accent.blob2, 380.dp, (170f - drift * 44f).dp, (150f + drift * 40f).dp, 0.36f * factor) + Blob(accent.blob3, 320.dp, (220f + drift * 36f).dp, (80f - drift * 28f).dp, 0.30f * factor) + Blob(accent.blob4, 300.dp, (30f + drift * 50f).dp, (560f - drift * 36f).dp, 0.34f * factor) if (dark) { Box( Modifier.fillMaxSize().background( - Brush.radialGradient(listOf(Color.Transparent, base.copy(alpha = 0.55f))), + Brush.radialGradient(listOf(Color.Transparent, base.copy(alpha = 0.40f))), ), ) }