Mirage is now a Compose Multiplatform library — 29 GPU shaders running on Android, iOS, Desktop (JVM), and Web (wasmJs).
Install
implementation("io.github.androidpoet:mirage:0.1.0")What's new
- Cross-platform shader engine via
expect/actual: Android usesRuntimeShader(AGSL); iOS/Desktop/Web use SkiaRuntimeShaderBuilder(SkSL). - Both render paths work on every platform: procedural fill (
MirageSurface) and image-filter (Modifier.mirageEffect). - All 29 shaders verified rendering on Skia; Android keeps its identical, unchanged GPU path.
- Graceful degradation: unsupported shaders render empty and log instead of crashing (Android below API 33 included).
Targets
android · jvm · iosArm64 · iosSimulatorArm64 · wasmJs