feat(media): Phase 0+1 — Coil3 image loading + inline images in notes
- DesktopImageLoaderSetup: Coil3 with explicit memory cache (25% heap, max 512MB), persistent disk cache (OS-appropriate paths), SVG decoder - DesktopBlurHashFetcher: blurhash placeholder images via Skia Bitmap - DesktopBase64Fetcher: base64 data: URI image decoding - SkiaGifDecoder: GIF first-frame rendering via Skia Codec - MediaAspectRatioCache: thread-safe LruCache for aspect ratios - NoteCard: inline AsyncImage for image URLs, stripped from text - Added coil-compose, coil-okhttp, coil-svg, vlcj, commons-imaging, androidx-collection deps to desktopApp Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -46,8 +46,20 @@ dependencies {
|
||||
// JSON
|
||||
implementation(libs.jackson.module.kotlin)
|
||||
|
||||
// Image loading (Coil3 — explicit because commons uses implementation, not api)
|
||||
implementation(libs.coil.compose)
|
||||
implementation(libs.coil.okhttp)
|
||||
implementation(libs.coil.svg)
|
||||
|
||||
// Video playback
|
||||
implementation(libs.vlcj)
|
||||
|
||||
// EXIF stripping (lossless)
|
||||
implementation(libs.commons.imaging)
|
||||
|
||||
// Collections
|
||||
implementation(libs.kotlinx.collections.immutable)
|
||||
implementation(libs.androidx.collection)
|
||||
|
||||
// SLF4J no-op — silence "No SLF4J providers" warnings from transitive deps
|
||||
implementation("org.slf4j:slf4j-nop:2.0.16")
|
||||
|
||||
Reference in New Issue
Block a user