beauty_ui library

Ready-made beauty UI for Gravix: GravixBeautyPanel (slider + icons + tabs: Looks, Beauty, Reshape, Makeup, Filters) and the GravixBeautyController that keeps the user's choices across camera restarts.

import 'package:gravix_effects/beauty_ui.dart';
final cam = await GravixCamera.start();
await GravixBeautyController.shared.attach(cam);
// ... on the beauty button:
showModalBottomSheet(context: context, backgroundColor: Colors.transparent, barrierColor: Colors.transparent,
    builder: (_) => GravixBeautyPanel(controller: GravixBeautyController.shared));

Classes

GravixBeautyController
The host's beauty choices — a look (.gfx: built-in, app asset, file or URL), an optional sticker .gfx drawn over it, plus the user's changes on top (sliders, makeup colours, filter, on / off) — kept OUTSIDE any one camera: attach re-applies them to every new GravixCamera (preview -> live, camera restarts), and toJson / GravixBeautyController.fromJson let the app remember them between launches.
GravixBeautyPanel
A compact beauty panel in the style of livestreaming apps: one slider on top, a row of icons, and tabs (Looks · Beauty · Reshape · Makeup · Stickers · Filters). Tapping an icon selects what the slider changes. Changes show live on the camera and are kept by controller (so they survive preview -> live and camera restarts).