gravix_effects 1.1.2
gravix_effects: ^1.1.2 copied to clipboard
Gravix Effects — real-time beauty filter, reshape, makeup and looks for Flutter livestreaming. Outputs: gravix_effects_webrtc, gravix_effects_agora.
1.1.2 - 2026-10-26 #
- Online license refresh: once a day the SDK posts the token to Gravix Cloud (
POST /v1/effects/license). Gravix Cloud counts monthly active installs for your plan and returns a fresh token. Offline, the last token keeps working until it expires (7 days). New statuses from the server:LIMIT,REVOKED,UNKNOWN_APP; newGravixCamera.licenseStatus(). The SDK's Android manifest now declaresINTERNET.
1.1.1 - 2026-10-25 #
- Gravix Cloud production license key (kid
gfx-20261024). Tokens from the Gravix Cloud panel now verify, so the watermark goes away. Release builds no longer accept development-key tokens. - Fix:
switchCamera()on a phone with only one camera froze the picture until the next flip. It now throwsE_NO_CAMERAand the current camera keeps running; a failed rebind goes back to the previous camera.
1.1.0 - 2026-10-24 #
- Gravix Cloud license:
GravixCamera.setLicense(token)(Android:GravixLicense.set). Without a valid license the effects run with the Gravix Cloud watermark + QR (trial). - Shaders ship encrypted inside the SDK (no plain-text shaders in the AAR).
- Fix: 3D models of a look were dropped when a host applied it through the plugin.
- 3D looks (
.gfxformatVersion 7): up to 4 glTF models per look that follow the head, a head occluder, 14 face anchors, triggers (mouthOpen,blink,browRaise,headShake,smile, … withshow/hide/toggle/while), skinned / morph / clip animation. Seedocs/INTEGRATION.md§6b. - The plugin now declares
android.permission.CAMERAin its own manifest, so it is merged into the host app. Before, a host that forgot the line got a silently deniedrequestPermission()and no camera. - New look fields (
.gfxformatVersion 6):bgDenoise(soften a bright background),spotRemove(freckles / acne / spots),detailSmooth(skin fine-detail removal; < 0 = followsmoothness). The TouchUp starter look uses them. setAdjustmentsnow accepts every tone field at its full range — the TouchUp fields (meshMask, wrinkle, eyeBag, browContrast, clarity, foundation, catchLight, eyeColor) used to be clamped to 0, and any slider change dropped them from the current look.baseValues/currentValues/paramRangeslist them too.GravixBeautyPanel: the Beauty tab lists every skin / face / tone parameter in three sections.- Spot removal costs about a third of its former GPU time (ring statistics computed once per half-res texel); a Redmi Note 11 holds 29.5-30 fps with it on (27-28 before).
- CameraX 1.3.4 → 1.4.2. CameraX 1.3.4's
libimage_processing_util_jni.sois 4 KB-aligned, and Google Play rejected apps using this plugin ("does not support 16 KB memory page sizes"). No API change.
1.0.0 - 2026-09-28 #
First release for other developers (Android; iOS / web / desktop report E_UNSUPPORTED_PLATFORM).
- Camera owned by the plugin (CameraX); engine-drawn local preview (
GravixPreview). The filtered stream goes to your stack through an output package:gravix_effects_webrtc(flutter_webrtc / LiveKit track) orgravix_effects_agora(Agora custom video track); the core package depends on no streaming SDK. - Beauty: smoothing, brightness, whitening, even tone, dark circles, eye brightening, teeth, enhance, vibrance; 22 face-reshape controls; lipstick and blush with colours; LUT filters.
- Looks and stickers as
.gfxfiles — built-in, app asset, file, bytes or URL (validated, cached, offline-safe). - Ready-made beauty panel (
package:gravix_effects/beauty_ui.dart): Looks · Beauty · Reshape · Makeup · Stickers · Filters;GravixBeautyControllerkeeps and saves the user's choices. - Effects glued to the face in motion (SYNCED pairing, 250 ms fixed delay); audio/video kept in sync for viewers.
- Streaming frames as I420 for every encoder (software VP8 included) at 24–30 fps on budget phones; texture mode for hardware encoders.
- Drop-in
BeautyFiltercompatibility API for apps migrating from the legacy filter.