Sobre el proyecto

MaterialKolor es una biblioteca de Compose Multiplatform para crear paletas de color dinámicas de Material Design 3 a partir de cualquier color semilla. Está dirigida a Android, iOS, JVM desktop y JavaScript/wasm, y se publica en Maven Central como com.materialkolor:material-kolor. La idea central proviene de material-color-utilities de Google, que era solo para Java; MaterialKolor lo porta a Kotlin Multiplatform y añade ayudantes orientados a Compose inspirados en el proyecto m3color. Un artefacto separado, com.materialkolor:material-color-utilities, expone el port sin dependencias de Compose. El uso se centra en dynamicColorScheme() y rememberDynamicColorScheme(), que toman un color semilla y un indicador de modo oscuro/claro y devuelven un ColorScheme. Un parámetro PaletteStyle (por ejemplo, Expressive) ajusta la paleta generada, y ColorSpec.SpecVersion.SPEC_2025 habilita la especificación de color Material 3 Expressive más reciente; el valor predeterminado es SPEC_2021. Dos composables de conveniencia envuelven MaterialTheme: DynamicMaterialTheme, que puede animar entre esquemas, y DynamicMaterialExpressiveTheme, que usa por defecto el estilo de paleta Expressive y SPEC_2025 para resultados más vibrantes. Más allá de la generación de temas, la biblioteca incluye utilidades de color: harmonize() para alinear un color con otro (con un indicador opcional matchSaturation), harmonizeWithPrimary(), lighten() y darken(), y comprobaciones de temperatura isWarm()/isCold(). También puede derivar colores semilla adecuados desde un ImageBitmap mediante themeColors(), themeColor(), rememberThemeColors() y rememberThemeColor(), útil para tematizar a partir de fotos de perfil o imágenes de fondo, aunque el README señala que esto puede ser lento y es mejor hacerlo de forma anticipada. La configuración se realiza mediante Gradle, ya sea en un conjunto de fuentes común para proyectos multiplataforma o en un archivo de compilación a nivel de aplicación para proyectos solo de Android, con un ejemplo de catálogo de versiones incluido. Un generador alojado en materialkolor.com demuestra la biblioteca y puede exportar código de MaterialKolor o de Material 3 simple; la KDoc se publica en docs.materialkolor.com. El módulo material-color-utilities tiene licencia Apache-2.0, mientras que el resto del proyecto tiene licencia MIT.