Group
Several lenses, one sheet of glass, one backdrop read.
What the group did, the blender does: it draws every LiquidGlassLens beneath it as one sheet of glass, with one shader. The members keep their own layout, their own shape and their own child; what they give up is their individual glass pass. In its place the blender paints a single surface covering all of them — one backdrop read and one material for the whole set. Written today:
LiquidGlassBlender(
smoothness: 0, // one shader, one read, no bridge — the group
style: const LiquidGlassStyle(
shape: LiquidGlassShape.continuousRoundedRectangle(cornerRadius: 28),
),
child: Row(
children: const [
SizedBox(width: 96, height: 96, child: LiquidGlassLens()),
SizedBox(width: 96, height: 96, child: LiquidGlassLens()),
SizedBox(width: 96, height: 96, child: LiquidGlassLens()),
],
),
)Fusing is opt-in#
The group does not fuse by default: it still draws the members as one surface on one read, but each keeps its own hard outline and the shader skips the smooth union entirely rather than running it and finding nothing to blend. That is smoothness: 0 on the blender. Give it a radius instead and members that come within about half of it flow together through a metaball bridge — the same bridge a blend is built on.
Group or blend?#
They were always one renderer, and the difference was only a default. LiquidGlassBlender fuses by default — its smoothness is set, and the point is the bridge. The group was the same widget with smoothness off — the point was one shader, one read and one material, with fusing available if you wanted it. Today both answers are the blender: "these should read as one panel" is smoothness: 0, and "these two should melt together" is a radius.
Adaptivity is per member#
Each lens judges the background behind itself and paints its own verdict into the shared sheet; where two of them fuse, their colours cross over inside the bridge on the same falloff that shapes it. A member with no adaptivity of its own takes the group's colour. Put an adaptivity on the group's style as well and it supplies both the fallback tint and the content palette for the whole subtree — see Adaptivity.
Comments
Comments are GitHub Discussions — reply from either place.