fix themes barely visible: add blob3, increase alpha, soften vignette

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.
This commit is contained in:
Bruno Deanoz 2026-06-22 00:38:07 +02:00
parent f7849025d7
commit 4ebe812c42

View file

@ -46,7 +46,7 @@ fun MeshBackground(content: @Composable BoxScope.() -> Unit) {
val accent = LocalKaizenAccent.current val accent = LocalKaizenAccent.current
val base = MaterialTheme.colorScheme.background val base = MaterialTheme.colorScheme.background
// Blobs are subtler in light mode. // 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 transition = rememberInfiniteTransition(label = "blobs")
val drift by transition.animateFloat( val drift by transition.animateFloat(
initialValue = 0f, initialValue = 0f,
@ -65,14 +65,14 @@ fun MeshBackground(content: @Composable BoxScope.() -> Unit) {
drawRect(brush = ditherBrush, alpha = DITHER_ALPHA) drawRect(brush = ditherBrush, alpha = DITHER_ALPHA)
}, },
) { ) {
Blob(accent.blob1, 360.dp, (-60f + drift * 30f).dp, (-40f + drift * 24f).dp, 0.30f * factor) 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.24f * factor) Blob(accent.blob2, 380.dp, (170f - drift * 44f).dp, (150f + drift * 40f).dp, 0.36f * factor)
Blob(accent.blob4, 300.dp, (30f + drift * 50f).dp, (560f - drift * 36f).dp, 0.22f * factor) Blob(accent.blob3, 320.dp, (220f + drift * 36f).dp, (80f - drift * 28f).dp, 0.30f * factor)
// Vignette: darken the edges so the center comes forward (dark mode only). Blob(accent.blob4, 300.dp, (30f + drift * 50f).dp, (560f - drift * 36f).dp, 0.34f * factor)
if (dark) { if (dark) {
Box( Box(
Modifier.fillMaxSize().background( Modifier.fillMaxSize().background(
Brush.radialGradient(listOf(Color.Transparent, base.copy(alpha = 0.55f))), Brush.radialGradient(listOf(Color.Transparent, base.copy(alpha = 0.40f))),
), ),
) )
} }