Skip to content

Optimize player sheet animations 2316053300601963138#619

Merged
theovilardo merged 11 commits intobckp/player-sheet-optimfrom
optimize-player-sheet-animations-2316053300601963138
Dec 23, 2025
Merged

Optimize player sheet animations 2316053300601963138#619
theovilardo merged 11 commits intobckp/player-sheet-optimfrom
optimize-player-sheet-animations-2316053300601963138

Conversation

@theovilardo
Copy link
Copy Markdown
Owner

No description provided.

google-labs-jules bot and others added 11 commits December 23, 2025 12:55
*   Refactored `UnifiedPlayerSheet` to use `Modifier.offset` instead of `Modifier.height` for expansion, eliminating layout thrashing.
*   Updated `FullPlayerContent` to accept expansion fraction as a provider lambda `() -> Float` to prevent expensive recompositions during drag.
*   Moved staggered animations (alpha, translation) into `Modifier.graphicsLayer`.
*   Optimized shadow rendering by using `RoundedCornerShape` for the shadow layer while keeping `AbsoluteSmoothCornerShape` for the visible background.
*   Implemented `zIndex` and off-screen offset logic to ensure correct interactivity of MiniPlayer and underlying content.
*   Fixed compilation issues related to `TopAppBar` and `Scaffold` parameter usage.
…error

*   Refactored `UnifiedPlayerSheet` to use `Modifier.offset` instead of `Modifier.height` for expansion, eliminating layout thrashing.
*   Updated `FullPlayerContent` to accept expansion fraction as a provider lambda `() -> Float` to prevent expensive recompositions during drag.
*   Moved staggered animations (alpha, translation) into `Modifier.graphicsLayer`.
*   Optimized shadow rendering by using `RoundedCornerShape` for the shadow layer while keeping `AbsoluteSmoothCornerShape` for the visible background.
*   Implemented `zIndex` and off-screen offset logic to ensure correct interactivity of MiniPlayer and underlying content.
*   Fixed `Unresolved reference: expansionFraction` compilation error in `FullPlayerContent.kt` by using `expansionFractionProvider` inside `graphicsLayer`.
…atures

*   Refactored `UnifiedPlayerSheet` to use `Modifier.offset` instead of `Modifier.height` for expansion, eliminating layout thrashing.
*   Updated `FullPlayerContent` to accept expansion fraction as a provider lambda `() -> Float` to prevent expensive recompositions during drag.
*   Moved staggered animations (alpha, translation) into `Modifier.graphicsLayer`.
*   Optimized shadow rendering by using `RoundedCornerShape` for the shadow layer.
*   Implemented `zIndex` and off-screen offset logic to ensure correct interactivity of MiniPlayer and underlying content.
*   Restored "Delay Content" functionality: Updated `FullPlayerContent` to respect `FullPlayerLoadingTweaks` by dynamically adjusting alpha start thresholds (e.g., 0.95f) when delay is enabled.
*   Fixed `Unresolved reference: expansionFraction` compilation error.
…aceholders

*   Refactored `UnifiedPlayerSheet` to use `Modifier.offset` instead of `Modifier.height` for expansion, eliminating layout thrashing.
*   Updated `FullPlayerContent` to accept expansion fraction as a provider lambda `() -> Float` to prevent expensive recompositions during drag.
*   Moved staggered animations (alpha, translation) into `Modifier.graphicsLayer`.
*   Optimized shadow rendering by using `RoundedCornerShape` for the shadow layer.
*   Implemented `zIndex` and off-screen offset logic to ensure correct interactivity of MiniPlayer and underlying content.
*   Restored "Delay Content" features: Added `DelayedContent` composable wrapper and implemented `ShimmerBox` placeholders for Album, Controls, Metadata, and Progress.
*   Fixed `Unresolved reference: expansionFraction` compilation error.
*   Fixed regression where TopAppBar disappeared when "Delay All" was enabled; it now remains visible during transitions.
*   Refactored `UnifiedPlayerSheet` to use `Modifier.offset` instead of `Modifier.height` for expansion, eliminating layout thrashing.
*   Updated `FullPlayerContent` to accept expansion fraction as a provider lambda `() -> Float` to prevent expensive recompositions during drag.
*   Moved staggered animations (alpha, translation) into `Modifier.graphicsLayer`.
*   Optimized shadow rendering by using `RoundedCornerShape` for the shadow layer.
*   Implemented `zIndex` and off-screen offset logic to ensure correct interactivity of MiniPlayer and underlying content.
*   Restored "Delay Content" features with `DelayedContent` wrapper.
*   Restored exact dimensions and padding for Placeholders (`ShimmerBox`) to match real content (`AlbumCover`, `Controls`, `Metadata`, `Progress`) precisely, as requested.
*   Fixed `Unresolved reference: expansionFraction` compilation error.
…roll fix

*   Refactored `UnifiedPlayerSheet` to use `Modifier.offset` instead of `Modifier.height` for expansion, eliminating layout thrashing.
*   Updated `FullPlayerContent` to accept expansion fraction as a provider lambda `() -> Float` to prevent expensive recompositions during drag.
*   Moved staggered animations (alpha, translation) into `Modifier.graphicsLayer`.
*   Optimized shadow rendering by using `RoundedCornerShape` for the shadow layer.
*   Implemented `zIndex` and off-screen offset logic to ensure correct interactivity of MiniPlayer and underlying content.
*   Restored "Delay Content" features with `DelayedContent` wrapper and updated threshold (0.85f -> 1.0f) for smoother, less abrupt transitions.
*   Restored exact dimensions and padding for Placeholders (`ShimmerBox`) to match real content precisely.
*   Fixed `AutoScrollingTextOnDemand` broken by the optimization: updated it to accept `expansionFractionProvider` and use `derivedStateOf` to correctly trigger scrolling only when fully expanded (> 0.99f).
*   Fixed `Unresolved reference: expansionFraction` compilation error.
…holders

*   Refactored `UnifiedPlayerSheet` to use `Modifier.offset` instead of `Modifier.height` for expansion, eliminating layout thrashing.
*   Updated `FullPlayerContent` to accept expansion fraction as a provider lambda `() -> Float` to prevent expensive recompositions during drag.
*   Moved staggered animations (alpha, translation) into `Modifier.graphicsLayer`.
*   Optimized shadow rendering by using `RoundedCornerShape` for the shadow layer.
*   Implemented `zIndex` and off-screen offset logic to ensure correct interactivity of MiniPlayer and underlying content.
*   Restored "Delay Content" features with `DelayedContent` wrapper and updated threshold for smoother transitions.
*   Replaced `ShimmerBox` placeholders with simpler, static `PlaceholderBox` composables using `Surface` and `RoundedCornerShape`, matching the exact requested design and layout.
*   Updated `FullPlayerLoadingTweaks` to disable `showPlaceholders` by default.
*   Fixed `AutoScrollingTextOnDemand` to work with the provider-based state.
*   Fixed `Unresolved reference: expansionFraction` compilation error.
…eter

Updates the `MarqueeText` composable in `LibraryScreen.kt` to align with a recent API change.

- The `expansionFraction` parameter, which previously accepted a `Float`, is now changed to `expansionFractionProvider`, which accepts a lambda `() -> Float`.
- The implementation is updated from `expansionFraction = 1f` to `expansionFractionProvider = { 1f }` to match the new function signature.
@theovilardo theovilardo merged commit d7b9eef into bckp/player-sheet-optim Dec 23, 2025
@lostf1sh lostf1sh deleted the optimize-player-sheet-animations-2316053300601963138 branch January 16, 2026 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant