mirror of
https://github.com/vector-im/element-call.git
synced 2026-09-22 22:29:30 +00:00
Adds the Background effects section from the design: no effect, blur, the shipped images and a tile for adding your own, under the camera list. The tiles are menuitemradio like the device rows above rather than a new control, so the menu keeps one keyboard model throughout and the selection is announced rather than only drawn. An image tile is the picture, filling the tile, and its name goes to assistive technology alone; the add tile is a plus, named the same way. The tick stands where the glyph would, carrying its own ground on a picture so it reads against whatever is behind it. Repurposing a menu item as a tile means overriding its row layout on three axes, each found by measuring rather than by eye: it lays itself out as a grid of chevron, icon and label, so flex-direction does nothing; it carries the gap between them as a right margin on each, which pushes both off the tile's centre when they are stacked; and it insets its own text sixteen pixels, so the grid needs the same inset to line its tiles up with the heading above them. Sized against the design file rather than judged: glyph and tick a quarter of the tile wide, an ink gap of about a seventh of its height to the label, and the tile's proportion carried by its padding. Rows are equal height, set by the tallest tile — a fixed ratio clipped the label as soon as the menu was narrow enough that the ratio could not hold it — and the columns carry a minimum width so the menu grows wide enough for three tiles rather than shrinking them to whatever the device names need. The blur hatch is a stand-in: the design system has no blur icon, and the design's own is an icon whose strokes shorten towards the corners. A uniform hatch fills its box, so this one is drawn smaller and finer to carry the same weight rather than the same size. Where background processing is unavailable, no effect stays choosable: it needs none and it is what the user has. The rest are disabled, and the images lose their colour as well as their contrast, since a washed-out photograph still reads as one you could pick. The existing blur toggle stays for callers that pass no effects, so nothing that renders this component has to change yet. Exploration for FEATURES_SPEC/2026-09_Background_Effects.md. Not for merge: the image tiles are stand-in gradients drawn in the story, and nothing wires the grid to the pipeline yet. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>