Releases: SolidKeyAB/kmpmedia-demo
Release list
v0.1.41 — Morph the clip itself 🫧
New 🫧 Morph the clip itself screen — dogfoods the library's brand-new OGMorphShape (lib v1.10.0, now live on Maven Central).
One ogMorphSequence([Circle, Diamond, Triangle, star-lasso, Circle], progress) feeds the same morphing Shape into three surfaces at once — a running video (OGPlayerConfig.clipShape), an animated GIF (OGImageView.clipShape), and a plain Modifier.clip tile — so all three masks animate circle → diamond → triangle → lasso while the media keeps playing. Auto infinite-transition + a manual slider. Identical commonMain code on Android & iOS.
Under the hood each endpoint outline is resampled once (cached) and only the points are lerped per frame, so it holds 60fps — the same sample-once/lerp-per-frame approach as the SVG path morph.
APK: KMPMedia-Demo-v0.1.41.apk (debug-keystore signed → sideloadable). versionCode 41.
Built against se.solidkey:kmpmedia-lib:1.10.0.
v0.1.40 — morph hazard expands & contracts
UFO Dodge's shape-shifting MORPH hazard now visibly expands and contracts as it shape-shifts.
Its two path-d endpoints now differ in overall radius (outer 30→48 ≈ 1.6×, inner valleys 12→40), not just spikiness — so each red hazard breathes between a small spiky star (contracted) and a big rounded crystal (expanded) while it re-shapes. Still one radius lerp per vertex per frame (no extra parse/allocation), so many can breathe at 60fps.
Pure demo change — dogfoods the library's SVG path-morphing API (OGSvgNodeOverride.pathDataTo + morphProgress), which is unchanged. README gains an in-game morph-hazard GIF.
v0.1.39 — path morphing everywhere
Dogfoods KMPMedia 1.9.0 path morphing in two places:
- Runtime-editable SVG screen — a new Morph a path section: one
<path>tweens star ⇄ ring forever on an infinite transition (parse-once, lerp-per-frame). - UFO Dodge game — a new shape-shifting hazard: ~15% of spawns are an
OGSVGViewwhose<path>morphs spiky-star ⇄ crystal viamorphProgress, drifting down with the same depth/collision as any hazard.
Install KMPMedia-Demo-v0.1.39.apk below.
v0.1.38 — Runtime SVG path `d` ✍️
Runtime path d override in the Runtime-editable SVG screen.
The Runtime-editable SVG demo now adds a live ▶ / ❚❚ / ■ media icon whose single <path> swaps its geometry at runtime via the override map — showing off the new OGSvgNodeOverride.pathData in se.solidkey:kmpmedia-lib:1.8.0. Same code on Android and iOS.
Install the attached APK to try it (Android; unknown-sources may need enabling).
v0.1.37 — Runtime-editable SVG 🎨
🎨 Runtime-editable SVG
New Runtime-editable SVG screen: one gauge .svg is loaded once, and a slider drives an OGSvgNodeOverride map — the needle rotates and the arc + status dot recolour, live, with no re-parse. Dogfoods the library's new runtime-svg API (v1.7.0); the same Compose Multiplatform code on Android and iOS.
📱 Debug-signed APK — sideload it (enable "Install unknown apps"). Android only; run the iOS app from source.
v0.1.36 — Animated GIF 🎞️
🎞️ Animated GIF
New Animated GIF screen in the playground: point one OGImageView at a .gif URL and it plays — looping frames on Android (AnimatedImageDrawable) and iOS (Skia Codec), the same Compose Multiplatform code. And the shape clip that crops a still photo works on the moving image too.
What you'll see:
- A looping Newton's cradle straight from a
.gifURL - A galloping horse clipped into a circle and a diamond
- An everyday loading spinner
Powered by KMPMedia library v1.6.0 (GIF playback on Android + iOS).
📱 Install: debug-signed APK — sideload it (enable "Install unknown apps"). Android only; run the iOS app from source.
v0.1.35 — UFO Dodge gets sound 🔊
KMPMedia Demo v0.1.35 — UFO Dodge gets sound 🔊
The UFO Dodge game now plays sound effects using the library's brand-new audio sprites (kmpmedia 1.5.0).
A single sfx.mp3 packs three clips, each fired by id from a small voice pool so overlapping sounds don't cut each other off:
- collect (0–280 ms) — on catching a star/bonus
- hit (400–750 ms) — on taking damage
- levelup (900 ms → end) — on leveling up
This dogfoods OGAudioSprite — one asset, many triggerable slices — on both Android and iOS from shared code.
Install
Sideload the attached KMPMedia-Demo-v0.1.35.apk (Android; enable "install from unknown sources"). It's a debug-signed build for easy sideloading.
v0.1.33 — Black-hole warp 🌀
🌀 Black-hole warp — dive a wormhole into a whole new universe
Fly the UFO straight INTO a wormhole portal and it warps you to a new sector of the universe:
- DIVE — the UFO spirals and shrinks into the black hole.
- TUNNEL — a full-screen Star-Trek warp-streak field (radiating light streaks) plays while the backdrop video swaps to a different point of the universe.
- EMERGE — the UFO spins back out into the new sector, and you keep flying — score carries over.
A wormhole opens roughly every ~24s (a real spinning space-video circle with a glowing ring; it drifts slowly so it's always reachable). Diving in is depth-agnostic — just steer into it. The video cues (meteor storm / starfall) re-sync automatically to each new sector's timeline.
Zero library change — this is all a showcase of existing KMPMedia features: OGAVPlayer source-swap reload (same decoder, new sky), video-in-any-shape, OGAnimatedContainer, cue points, and ogDepth. Both Android + iOS compile; the full sequence was verified live on the Android emulator.