What problem does it solve? Loading images in Compose and Compose Multiplatform apps involves choosing between AsyncImage, SubcomposeAsyncImage, and rememberAsyncImagePainter, and misusing them causes memory waste, scroll jank, and KMP compile errors. ## Core Features & Use Cases - API Selection Guidance: Explains when to use AsyncImage, SubcomposeAsyncImage, or rememberAsyncImagePainter with concrete decision criteria. - Performance Patterns: Covers size inference, placeholder/error states, and why SubcomposeAsyncImage must be avoided inside LazyColumn or LazyRow. - KMP Setup: Shows LocalPlatformContext usage, singleton ImageLoader configuration, and coil-compose vs coil-compose-core dependency choices. - Use Case: When building a Kotlin Multiplatform app with image-heavy lists, apply the RIGHT vs WRONG patterns to avoid loading full-resolution bitmaps and causing OOM crashes. ## Quick Start Show me how to load a network image with Coil 3 in my Compose Multiplatform app with a placeholder and crossfade.