Expandable player: static poster during collapse/morph, live player only when expanded — vc=77

The remaining sluggishness was scaling a live-playing TextureView through
the morph's graphicsLayer every frame. Now the minibar + the whole
collapse/expand morph render the video's static poster (AsyncImage); the
live PlayerView only mounts once settled fully expanded. Audio is
unaffected — it's owned by the foreground service, never stops.
This commit is contained in:
Sulkta 2026-06-20 17:02:03 -07:00
parent d7f86ebf14
commit 05381e8d8b
2 changed files with 45 additions and 28 deletions

View file

@ -9,6 +9,13 @@ const val STRAW_SDK_TARGET = 35
// Sulkta fork — Straw
//
// vc=77 / 0.1.0-CK — morph perf: static poster during collapse/morph:
// * The minibar + the whole collapse/expand morph now render the video's
// static poster, not the live TextureView. Scaling a live-playing
// TextureView through the morph's graphicsLayer every frame was the
// remaining sluggishness; the live PlayerView only mounts once settled
// fully expanded. Audio is unaffected (it's in the foreground service).
//
// vc=76 / 0.1.0-CJ — expandable-player smoothness pass:
// * The detail body no longer renders to an offscreen buffer every
// frame during the morph (CompositingStrategy.ModulateAlpha) — that
@ -82,6 +89,6 @@ const val STRAW_SDK_TARGET = 35
// vc=19 / 0.1.0-AE — rust pipeline cutover. Extraction via
// strawcore-core (Sulkta-OSS/strawcore) via the UniFFI wrapper; no
// NewPipeExtractor in the runtime path.
const val STRAW_VERSION_CODE = 76
const val STRAW_VERSION_NAME = "0.1.0-CJ"
const val STRAW_VERSION_CODE = 77
const val STRAW_VERSION_NAME = "0.1.0-CK"
const val STRAW_APPLICATION_ID = "com.sulkta.straw"