All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
halogen-image: Image-to-theme color extraction using histogram bucketing and HCT k-means clusteringhalogen-image:resolveImage()engine extensions for URL-based and raw-pixel theme resolutionhalogen-image:extractColors()for standalone palette extraction without theme resolutionhalogen-image: Coil 3 integration with platform-specific pixel extraction (Bitmap on Android, Skia on JVM/iOS/wasmJs)halogen-image: Algorithmic (toSpec()) and LLM-enhanced (toHint()) theme generation paths
halogen-core: HalogenThemeSpec, HalogenLlmProvider interface, HalogenColorScheme with 49 M3 color roleshalogen-core: Pure Kotlin HCT color science (CAM16, tonal palettes, WCAG contrast validation)halogen-core: HalogenTypography (15 M3 text styles) and HalogenShapes (5 M3 shape sizes)halogen-engine: HalogenEngine with in-memory LRU cache, single provider modelhalogen-cache-room: Optional Room KMP persistent cache (Android, iOS, JVM)halogen-engine: Halogen.Builder for configuration with.provider()and.remoteThemes()halogen-engine: Prompt construction with system prompt, few-shot examples, and extension injectionhalogen-compose: HalogenTheme composable wrapping MaterialThemehalogen-compose: HalogenSettingsCard drop-in settings UI componenthalogen-compose: LocalHalogenExtensions composition localhalogen-provider-nano: GeminiNanoProvider for on-device inference via ML Kit- Custom extensions system for developer-defined theme tokens
- Keyed theme cache with eviction, refresh, and observability APIs
- One LLM call generates both light and dark color schemes
- KMP support: Android, iOS (arm64, simulatorArm64), Desktop (JVM), Web (WasmJs)