coverflow_carousel 2.0.1
coverflow_carousel: ^2.0.1 copied to clipboard
A highly customizable 3D coverflow-style carousel for Flutter with smooth animations, perspective effects, and controller support.
2.0.1 #
- Beautified readme
2.0.0 #
- Vertical Scroll Direction: Added full support for vertical scrolling layouts (
Axis.vertical) with vertical-only 3D skew rotation along the X-axis and dynamic vertical spacing controls. - Synchronized Overlay Translation: Overlays now translate smoothly vertically from down to up (
30.0 * distance) as they fade in, with automated alignment adjustments to eliminate cross-axis diagonal drift during card scaling transitions. - Compulsory scrollDirection Parameter: Marked the
scrollDirectionconstructor parameter asrequiredinCoverflowCarousel.builderto improve layout explicitness (breaking API change). - Scroll Progress Streams & Notifiers: Exposed broadcast streams (
pageStreamandrawPageStream) and value notifiers (pageListenableandrawPageListenable) onCoverflowCarouselControllerto listen to fractional and raw scroll progress. - Robust Test Suite: Refactored the widget test suite to prevent event loop hangs using synchronous notifiers, and verified vertical layout coordinates, overlay translation, and key preservation.
1.3.0 #
- Optimized Card Blur: Replaced expensive
BackdropFilterlayout stacking with direct, offscreen hardware-acceleratedImageFilteredcomposition, eliminating GPU framebuffer readbacks and frame drops. - Customizable Height Constraints: Added
heightconfiguration to the carousel with developer safety assertions preventing layout overflows. - Scroll Wheel Toggle: Exposed
enableScrollWheelto enable or disable mouse scroll wheel navigation to prevent vertical web scroll trapping. - UX-Polished Autoplay Support: Integrated
autoplay,autoplayInterval, andautoplayPauseOnHoverbackground loops with scroll-linked pause/resume controls (pauses on pointer drag and mouse hover). - Skew-Aware 3D Elevation Shadows: Added unified shadow parameters (
enableShadow,shadowColor,elevation, andcardBorderRadius) drawing layered, soft double shadows. Background cards cast static skew-aligned shadows, and the centered card dynamically shifts its shadow offset simulating a shifting light source. - Center Overlay Tilt Integration & Size Constraints: Nested overlay stack elements inside the 3D hover region to tilt badges and play buttons in synchronization with the card surface, while explicitly setting
fit: StackFit.expandon stack layers to preserve correct card dimensions. - Buttery-Smooth Hover Interpolation: Transitioned hover tilt updates to a frame-rate independent
Ticker-based smooth lerp at 15% per frame with auto-sleeping when idle. - Customizable Carousel Mode: Added the
modeparameter supportingCoverflowMode.coverflow(3D stacked) andCoverflowMode.classic(flat edge-to-edge carousel slider) presets with dynamic parameter resolutions (visible items, skew, spacing, and viewport fraction).
1.2.1 #
- Smooth Scroll: The scroll is now smoother.
- New Demos: Added new demos.
1.2.0 #
- Center Card Overlay: Added
centerOverlayBuildertoCoverflowCarousel.builderallowing custom overlay widgets (such as play buttons, badges, or tags) to be stacked on the active centered card. - Smooth Fade Transition: The center overlay automatically fades in and out smoothly using a scroll-linked opacity calculation based on the card's distance from the center.
- Flexible Positioning: Developers can use standard Flutter alignment and layout widgets (
Align,Positioned,Center) inside the overlay builder to place the widget anywhere on the card. - Interactive Overlays: Overlay widgets on the active centered card are fully interactive and support pointer events (like button taps/onPressed), while off-center cards redirect taps to focus the card.
- 3D Hover/Tilt Effect: Added support for interactive 3D perspective tilting of the active centered card as the mouse pointer hovers over it. Includes configuration properties
enableHoverTiltandmaxHoverTiltAngle. - Mouse Scroll Wheel Navigation: Added support for mouse scroll wheel and trackpad scroll navigation to scroll to the next and previous cards.
- Throttled Scroll Events: Throttled consecutive scroll signals relative to the animation duration to prevent rapid card skipping and ensure smooth transitions.
- Performance Optimizations:
- Confined hover calculations and rebuilds locally to the centered card, preventing parent repaints.
- Wrapped tilted card children in a
RepaintBoundaryto leverage GPU matrix transformations and prevent expensive rasterization repaints. - Fixed the resetting tilt animation to utilize linear interpolation from cached start offsets, preventing compounding timer decay.
- Robust Testing: Expanded package and example tests to cover mouse wheel navigation, scroll throttling, and 3D hover gestures.
1.1.2 #
- Fixed swiping on mobile applications.
1.1.1 #
- Example Application: Added a complete, interactive, and beautifully styled example application under
example/demonstrating infinite scroll, entry animations, blur obscuring, and programmatic controllers.
1.1.0 #
- Infinite Scroll: Added
isInfinitesupport for seamless circular scrolling and shortest-path programmatic animations. - Entry Animations: Added
entryAnimationparameter supporting staggered fades, zooms, spacing expansions, slides, and front-stacking (fadeIn,scaleUp,spacingExpand,staggeredSlide,fadeScale, andstack). - Card Interactivity: Side-cards now support click-to-focus, and centered cards are fully interactive (clicks pass to inner buttons without interference).
- Web & Desktop Dragging: Enabled mouse click-and-drag swiping on Web and Desktop.
- Scrollbar Suppression: Disabled the native scrollbar from drawing behind cards.
- Custom Viewport Fraction: Added
viewportFractionproperty supporting dynamic hot updates. - Optimized BackdropFilter: Blur filters are only drawn when active, improving GPU rendering.
- Testing: Built a full suite of 10 widget tests verifying layouts, gestures, entry transitions, and controllers.
- Code Documentation: Added 100% pub.dev public API coverage with detailed Dart doc comments (
///) on all classes, properties, constructors, methods, and enums. - Architecture & Mathematics Reference: Added
package_documentation.mdcontaining detailed 3D transform projection matrices, spacing equations, gesture layers, and timeline stagger formulas. - Lint Fixes: Resolved unnecessary library name lint warnings in export declarations.
1.0.1 #
- Fixed README demo GIF link.
1.0.0 #
- Smooth 3D coverflow-style carousel.
- Customizable card dimensions.
- Adjustable overlap and spacing.
- Perspective and rotation effects.
- Smooth swipe navigation.
- Controller support.
- Programmatic navigation.
- Blur effects for non-focused cards.
- Responsive layout.
- Optimized rendering for large datasets.
- Builder-based API.