liquid_glass_easy 3.1.0
liquid_glass_easy: ^3.1.0 copied to clipboard
A Flutter package that provides real-time liquid glass lens effects with distortion, magnification, refraction, and blur for stunning UI visuals.
3.1.0 #
- New —
LiquidGlassBlender: blend two to sixLiquidGlassLensdescendants into one liquid surface. Neighbouring lenses fuse with a smooth metaball bridge as they meet and pull apart as they separate, while each member keeps its own corner style. Place it inside aLiquidGlassViewand it works on both backends — Impeller samples the live backdrop, Skia refracts the captured background. - Metaball gradient split: the merged-field normal uses the hardware-derivative 1-tap on Impeller and a 5-tap central difference on Skia (whose SkSL has no
dFdx), selected per backend so the blend loads and renders on both. - Single-lens shaders now use the exact 5-tap gradient for every corner style.
- Chromatic aberration on the Skia blend path is now applied after the blur (matching Impeller's order); in-shader blur is disabled on the Skia blend path for now.
- Note: the blend is not optimized for Skia yet — it works on the Skia capture path but can be heavy there; best performance is on Impeller for now.
3.0.0 #
- New — lens anywhere:
LiquidGlassLensis a layout-driven lens you can drop anywhere in the widget tree (no position/size params; size comes from layout). It supports both Impeller and Skia automatically, resolving the best render path for the running engine: on Impeller it refracts the live backdrop with noLiquidGlassViewand no background widget at all; on Skia it refracts an ancestorLiquidGlassView's captured background, and gracefully degrades to a frosted look when neither is available. - New:
LiquidGlassStyle— one shared descriptor (shape + appearance + refraction) for every glass surface (lens, components, nav pill), withcopyWith(...)andmerge(...). - New — jelly motion: the
LiquidGlassSlider,LiquidGlassToggle, andLiquidGlassBottomNavBarnow share an iOS-style jelly spring — squash/stretch with a direction-memory spring and momentum-sided squash. The slider/toggle thumb stretches toward its travel and snaps back, and the nav bar's selection pill springs between items. Exposed standalone as the reusableLiquidGlassJellywidget. - New components:
LiquidGlassSlider,LiquidGlassToggle,LiquidGlassAppBar,LiquidGlassScaffold(owns the glass pipeline),LiquidGlassDraggable, andLiquidGlassJellyjoin the existingLiquidGlassButton,LiquidGlassBottomNavBar, andLiquidGlassTabBar. - Migration: the old position-driven lens API (
LiquidGlass) is superseded byLiquidGlassLensand the drop-in components; write new code againstLiquidGlassLens. - Breaking: removed the
LiquidGlassSearchBarcomponent. - Breaking:
LiquidGlassAppIconandLiquidGlassDockare no longer part of the public API (kept internally for maintenance). - Rewrote the README around the lens-anywhere API and consolidated the example into a single
main.dartgallery whose home menu opens each demo as its own route. - New shape:
LiquidGlassShape.continuousRoundedRectangle(...)— an Apple capsule-style continuous rounded rectangle, now the default shape; it collapses to a clean capsule at full corner radius. - Breaking: removed
SuperellipseShape; its L^n squircle now lives onLiquidGlassShape.squircle(...)(same iOS-style continuous-curvature look) and ships with its own exact, shader-matchedClipPathclipper (viaclipQuality: LiquidGlassClipQuality.exact). The old superellipse had no exact Flutter clip path, which forced a rectangle clip and capped its blur; the squircle's dedicated clipper now matches the SDF the shader draws and blurs correctly at any sigma. - Shapes are now selected via the
LiquidGlassShape.roundedRectangle(...)/.squircle(...)/.continuousRoundedRectangle(...)convenience constructors (a singlecornerStylevocabulary) instead of separateRoundedRectangleShape/SuperellipseShapeclasses. - Simplified the shaders: removed the superellipse SDF branch and the
u_shapeTypeuniform, so every lens now uses the analytic rounded-rect path. - Added
LiquidGlassView.regionCapture(off by default): per-lens region capture on the Skia sync path — each capture grabs only every lens's own rect (+ margin) instead of the whole background. A performance win when lenses cover a small part of a large background; no effect on Impeller.
2.0.1 #
- Fixed lens position being clamped to the parent bounds even when
outOfBoundaries: true. A lens moved past the parent's edge (in any direction) now keeps its true position instead of being pinned, so spacing between lenses stays correct.
2.0.0 #
- Added optical border mode (
OpticalBorder) — Apple-style, SDF-based rim lighting with background-tinted highlights, dual-sided specular reflections, and a lens height profile — alongside the existingClassicBorder. - Added new ready-made components:
LiquidGlassButton,LiquidGlassSearchBar,LiquidGlassAppIcon,LiquidGlassDock,LiquidGlassTabBar, andLiquidGlassBottomNavBar. - Improved rendering stability on release/profile builds with Impeller.
- Fixed lens and border content rendering upside down on Impeller's OpenGL ES backend (older Android devices) by inverting the texture sample Y-axis under
IMPELLER_TARGET_OPENGLES. - Breaking:
oneSideLightIntensityanddoubleSideLightIntensitymoved from the shape toClassicBorder. Pass them viaborderType: ClassicBorder(...)instead of directly on the shape.
1.1.1 #
- Formatted the dart files and changed the size of the thumbnail of screenshot.
1.1.0 #
- Added new refraction modes: shape refraction and radial refraction.
- Added new light modes: edge and radial.
- Added chromatic aberration support.
- Added one side light intensity support.
- Added saturation control.
- Updated magnification behavior to apply to the entire lens area rather than only the distortion region.
- Improved and optimized shader code.
- Removed
highDistortionOnCurves; the same effect can now be achieved by increasingdistortionand settingdistortionWidthto half of the smallest lens dimension.
1.0.0 #
Initial Stable Release – Liquid Glass Easy
- First official release of the
liquid_glass_easyFlutter package. - Provides real-time liquid glass lens effects with smooth distortion, magnification, and refraction.
- Built with shader-based rendering for high performance and flexibility.
- Includes
LiquidGlassViewandLiquidGlasswidgets for quick and easy integration into any UI. - Example app included to demonstrate usage, configuration, and visual styles.
- Ready for production and pub.dev distribution.