From d035766bfcb2a13f5872cdcb1b152142df642ac8 Mon Sep 17 00:00:00 2001 From: tejpratapsingh Date: Thu, 28 May 2026 23:58:26 +0530 Subject: [PATCH] motionlib: add suite of RenderEffect-based MotionEffects * motionlib: add Vignette and Pixelate effects using AGSL shaders * motionlib: add Grayscale, Sepia, Invert, and Brightness/Contrast effects using ColorMatrix * motionlib: add OffsetEffect and placeholder ChainEffect implementation * lyrics-maker: apply BlurEffect to background views in PopupLyricsTemplate --- .idea/gradle.xml | 1 + gradle/libs.versions.toml | 2 + .../templates/LyricsTemplateRegistry.kt | 1 + .../templates/PopupLyricsTemplate.kt | 15 +++ .../templates/VintageLyricsTemplate.kt | 121 ++++++++++++++++++ modules/ml-kit-ext/build.gradle | 55 ++++++++ modules/ml-kit-ext/consumer-rules.pro | 0 modules/ml-kit-ext/proguard-rules.pro | 0 .../motionlib/mlkit/MLKitImageProcessor.kt | 16 +++ .../effects/SubjectSegmentationEffect.kt | 117 +++++++++++++++++ .../plugins/SubjectSegmentationPlugin.kt | 67 ++++++++++ .../ui/effects/BrightnessContrastEffect.kt | 72 +++++++++++ .../motionlib/ui/effects/ChainEffect.kt | 52 ++++++++ .../motionlib/ui/effects/GrayscaleEffect.kt | 60 +++++++++ .../motionlib/ui/effects/InvertEffect.kt | 76 +++++++++++ .../motionlib/ui/effects/OffsetEffect.kt | 57 +++++++++ .../motionlib/ui/effects/PixelateEffect.kt | 65 ++++++++++ .../motionlib/ui/effects/SepiaEffect.kt | 76 +++++++++++ .../motionlib/ui/effects/VignetteEffect.kt | 71 ++++++++++ .../motionlib/ui/effects/VintageEffect.kt | 102 +++++++++++++++ .../sdui/infra/MotionSduiInitializer.kt | 20 +++ settings.gradle | 1 + 22 files changed, 1047 insertions(+) create mode 100644 modules/lyrics-maker/src/main/java/com/tejpratapsingh/lyricsmaker/presentation/templates/VintageLyricsTemplate.kt create mode 100644 modules/ml-kit-ext/build.gradle create mode 100644 modules/ml-kit-ext/consumer-rules.pro create mode 100644 modules/ml-kit-ext/proguard-rules.pro create mode 100644 modules/ml-kit-ext/src/main/java/com/tejpratapsingh/motionlib/mlkit/MLKitImageProcessor.kt create mode 100644 modules/ml-kit-ext/src/main/java/com/tejpratapsingh/motionlib/mlkit/effects/SubjectSegmentationEffect.kt create mode 100644 modules/ml-kit-ext/src/main/java/com/tejpratapsingh/motionlib/mlkit/plugins/SubjectSegmentationPlugin.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/BrightnessContrastEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/ChainEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/GrayscaleEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/InvertEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/OffsetEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/PixelateEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/SepiaEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/VignetteEffect.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/effects/VintageEffect.kt diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 4f00e00a..88d99e07 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -21,6 +21,7 @@