artwork-seeded-dynamic-scheme

Installation
SKILL.md

A whole scheme from one seed colour

Two ways to let artwork colour a screen. artwork-palette-theming picks swatches — an accent, a background — and you place each one by hand. This one derives an entire scheme from a single seed and wraps the subtree in it, so every button, container and label resolves through roles and you place nothing.

// adapted
val seedColor = if (paletteColor == Color.Black) fallbackSeed else paletteColor
val animatedSeed by animateColorAsState(seedColor, tween(durationMillis = 800))
val scheme = rememberDynamicColorScheme(seedColor = animatedSeed, isDark = true, style = Vibrant)
ThemeWrapper(colorScheme = scheme) { Content(state, actions) }

The payoff is the reason to prefer it: every onX role is generated contrast-paired with its X. A foreground picked by hand from a palette is where unreadable text comes from.

Traps

Installs
2
GitHub Stars
35
First Seen
6 days ago
artwork-seeded-dynamic-scheme — maxrave-dev/kotlin-footguns