Нейросетевая реконструкция дизайн-системы по остаточным токенам в CSS Custom Properties и снимкам DOM из кэша сервис-воркеров

Время чтения: 12 минут
Есть вопросы? Мы в соц сетях

Проблема: потеря дизайн-системы

Дизайн-системы часто эволюционируют, и при рефакторинге или смене технологий часть токенов (цвета, отступы, шрифты) может быть утеряна. Восстановление вручную трудоёмко и подвержено ошибкам. Однако современные веб-приложения оставляют «цифровые следы»: остаточные CSS Custom Properties и снимки DOM, сохранённые сервис-воркерами. Нейросети позволяют автоматически реконструировать дизайн-систему по этим данным.

Что такое остаточные токены и снимки DOM

Остаточные токены — это CSS-переменные, которые остались в коде после изменений. Они могут быть неиспользуемыми или частично применяться, но содержат информацию о прежних значениях. Снимки DOM — это сериализованные состояния DOM-дерева, включая применённые стили. Сервис-воркеры могут кэшировать такие снимки при каждом посещении страницы, создавая временной ряд.

Сбор данных из кэша сервис-воркеров

Для извлечения данных необходимо настроить сервис-воркер на сохранение снимков DOM и таблиц стилей. Пример кода:

self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request).then(response => {
      if (response) {
        // Сохраняем снимок DOM для анализа
        saveDOMSnapshot(event.request.url);
        return response;
      }
      return fetch(event.request);
    })
  );
});

Затем снимки экспортируются в JSON и передаются нейросети.

Нейросетевая реконструкция: подходы и инструменты

Используются трансформеры для анализа CSS-кода и GNN для DOM-структуры. Обучение можно проводить на парах «токены → дизайн-система». Популярные фреймворки: TensorFlow, PyTorch, Hugging Face Transformers. Пример архитектуры: энкодер токенов → энкодер DOM → слияние → декодер дизайн-системы.

Практический пример: восстановление цветовой палитры

Допустим, в CSS остались переменные --color-primary, --color-secondary, но утеряны оттенки. Нейросеть, обученная на снимках DOM, может восстановить палитру, анализируя, как эти цвета применялись к элементам. Например, по частоте использования и соседним цветам.

Чеклист для внедрения

  • Настроить сервис-воркер для кэширования DOM-снимков.
  • Извлечь все CSS Custom Properties из таблиц стилей.
  • Собрать датасет из снимков и токенов.
  • Выбрать и обучить нейросетевую модель.
  • Валидировать восстановленную дизайн-систему.

Вывод

Нейросетевая реконструкция дизайн-системы по остаточным токенам и снимкам DOM — перспективный подход, позволяющий автоматизировать восстановление утерянных дизайн-решений. Он экономит время и снижает риск ошибок, а также открывает возможности для анализа эволюции дизайна.

Мы разрабатывали
apeironspace
jivosite
мтс
originalvirginia
эльдорадо
eparcel
decken-wood
wildberies