Skip to content

PLASMA-7318: feat(sdds-acore/theme-builder): Universal Style Generator was implemented#822

Merged
raininforest merged 7 commits into
developfrom
feature/universal-generator
Jun 18, 2026
Merged

PLASMA-7318: feat(sdds-acore/theme-builder): Universal Style Generator was implemented#822
raininforest merged 7 commits into
developfrom
feature/universal-generator

Conversation

@raininforest

Copy link
Copy Markdown
Collaborator

sdds-theme-builder

Universal Style Generator

  • Реализован Universal Style Generator в plugin_theme_builder — механизм автоматической генерации Compose-стилей компонентов из JSON-конфигов через KSP
  • Добавлен HybridComponentConfigDelegate для поддержки компонентов, у которых есть как Compose, так и View System реализация
  • Добавлена документация: UNIVERSAL_STYLE_GENERATOR.md, UNIVERSAL_STYLE_GENERATOR_QUICK_START.md

sdds-uikit-compose

Universal Style Generator

  • KSP-процессор расширен поддержкой аннотаций @ApiInfo, @ConfigName, @StateSetInfo для описания API StyleBuilder-ов
  • Добавлены аннотации @ApiInfo ко всем ~75 StyleBuilder-ам в uikit-compose

DropZone

  • Исправлен маппинг состояния dragging-over — добавлена аннотация @ConfigName(configName = "dragging-over") на DropZoneState.DraggingOver
  • Исправлен маппинг свойства backgroundColor — добавлена аннотация @ConfigName(configName = "backgroundColor") на методы background() в DropZoneColorsBuilder

sdds-serv-compose

Все компоненты

  • Стили всех компонентов перегенерированы через Universal Style Generator
  • Исправлены значения borderDashWidth/borderDashGap у DropZone (были перепутаны местами)
  • Обновлены golden screenshots

plasma-sd-service-compose

Все компоненты

  • Стили всех компонентов перегенерированы через Universal Style Generator
  • Исправлены значения borderDashWidth/borderDashGap у DropZone (были перепутаны местами)
  • Обновлены golden screenshots

plasma-giga-compose

Все компоненты

  • Стили всех компонентов перегенерированы через Universal Style Generator
  • Исправлены значения borderDashWidth/borderDashGap у DropZone (были перепутаны местами)
  • Обновлены golden screenshots

plasma-homeds-compose

Все компоненты

  • Стили всех компонентов перегенерированы через Universal Style Generator
  • Обновлены golden screenshots

plasma-star-ds-compose

Все компоненты

  • Стили всех компонентов перегенерированы через Universal Style Generator
  • Обновлены golden screenshots

sdds-sbcom-compose

Все компоненты

  • Стили всех компонентов перегенерированы через Universal Style Generator
  • Обновлены golden screenshots

What/why changed

Universal Style Generator заменяет ручное написание генераторов стилей для каждого компонента. Ранее для каждого нового компонента требовалось реализовывать отдельный ComponentConfigDelegate с ручным маппингом JSON-конфига в Kotlin-код. Теперь достаточно добавить аннотации @ApiInfo к существующему StyleBuilder-у и зарегистрировать компонент одной строкой через universal("ComponentName") — генератор автоматически построит стиль на основе API билдера и данных из конфига.

@raininforest raininforest self-assigned this Jun 16, 2026
@raininforest raininforest added enhancement New feature or request compose labels Jun 16, 2026
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 260522d3-4098-45ed-a65a-433487455346

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/universal-generator

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@raininforest raininforest force-pushed the feature/universal-generator branch from de93b86 to 7ff707c Compare June 16, 2026 14:49
@salutedevs

salutedevs commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

📘Артефакты документации опубликованы:

@salutedevs

salutedevs commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

📦 Собранные Debug APK

📲 Как установить APK на Android-устройство:

  1. Распакуйте архив.
  2. Скопируйте нужный .apk на устройство (через USB, Telegram, Google Drive и т.д.).
  3. Откройте .apk на устройстве и подтвердите установку.
    Если потребуется, включите Разрешение на установку из неизвестных источников в настройках устройства.

💻 Установка через USB (ADB):

  1. Включите Отладку по USB на устройстве (Настройки → Для разработчиков).
  2. Подключите устройство к компьютеру по USB.
  3. Убедитесь, что устройство отображается:
    adb devices
  4. Установите .apk:
    adb install path/to/your.apk
    Если приложение уже установлено и нужно обновить:
    adb install -r path/to/your.apk

@raininforest raininforest force-pushed the feature/universal-generator branch from 7ff707c to c7129c9 Compare June 16, 2026 19:33
@raininforest

Copy link
Copy Markdown
Collaborator Author

Здесь классифицированы изменения в стилях всех компонентов.
styles_changes_report.md

Comment thread sdds-core/api-info-compose/src/main/kotlin/com/sdds/api/info/compose/ApiInfo.kt Outdated
Comment thread sdds-core/plugin_theme_builder/UNIVERSAL_STYLE_GENERATOR.md Outdated
@raininforest raininforest force-pushed the feature/universal-generator branch from 0d662db to 3efd8bf Compare June 18, 2026 07:05
@raininforest raininforest force-pushed the feature/universal-generator branch from 3efd8bf to 5feeda2 Compare June 18, 2026 12:03
@raininforest raininforest merged commit 2ae18b7 into develop Jun 18, 2026
55 checks passed
@raininforest raininforest deleted the feature/universal-generator branch June 18, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compose enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants