Inspect

Ghost Heal

Подробный гайд по Ghost Heal: как SXL Studio лечит ghost modes, orphan collections, stale bindings и дубли коллекций.

Для чего нужен Ghost Heal

Ghost Heal восстанавливает переменную инфраструктуру файла, когда ссылки становятся неконсистентными.

Типичные симптомы:

  • удаленные modes/collections продолжают отображаться в Apply variable mode;
  • привязки визуально есть, но источник переменной нормально не резолвится;
  • в файле появились дубли локальных коллекций с одинаковыми именами;
  • после copy/paste из других файлов остались stale references.

Ghost Heal сканирует документ, строит remap и очищает такие ссылки по контролируемым этапам.

Как запустить

  1. Откройте нужный файл Figma.
  2. Откройте SXL Studio -> Inspect.
  3. Внизу левого дерева нажмите Ghost Heal.
  4. Проверьте переключатели в модальном окне.
  5. Нажмите Run Ghost Heal.
  6. Изучите summary и предупреждения в notification.

Профиль по умолчанию (безопасная база)

Текущие дефолты плагина:

  • Clean explicit mode overrides: ON
  • Rebind exact variable matches: ON
  • Remove orphan local collections: ON
  • Merge visible duplicate collections: OFF
  • Force-clean unresolved ghosts: ON

Финальная диагностика выполняется всегда после лечения.

Справочник по опциям

ОпцияЧто делаетРиск
Clean explicit mode overridesОчищает resolvable/stale explicit mode overrides на узлах/страницах до и после этапов лечения.Низкий
Rebind exact variable matchesПерепривязывает по точному триплету: имя коллекции + имя переменной + тип переменной.Низкий
Remove orphan local collectionsУдаляет orphan collections после безопасного rebind. Автоматически связана с exact-match rebind.Средний
Merge visible duplicate collectionsОбъединяет одноименные локальные коллекции в одну целевую.Средний/высокий (структурное изменение)
Force-clean unresolved ghostsОтвязывает unresolved ghost bindings на затронутых узлах и при необходимости пересоздает "упорные" текстовые узлы.Высокий (может намеренно разорвать stale links)

Модель выполнения и scope

Ghost Heal выбирает scope динамически:

  • если Remove orphan local collections + Rebind exact variable matches включены, запускается document repair mode;
  • иначе лечение фокусируется на активной странице.

Основные этапы:

  1. начальная очистка explicit modes;
  2. анализ дублей коллекций и опциональный merge;
  3. поиск orphan collections и построение exact variable remap;
  4. swap-этап перепривязки variables/styles (page или document scope);
  5. удаление orphan/duplicate collections (если включено);
  6. force-clean detach unresolved ghosts (если включено);
  7. повторный explicit mode cleanup;
  8. финальная диагностика resolved-mode ghost references.

Как читать результат

Ghost Heal возвращает структурированные счетчики, в том числе:

  • mode override(s) cleaned
  • binding(s) rebound
  • collection(s) removed
  • ghost node(s) force-cleaned
  • text node(s) recreated
  • счетчики unresolved ghost references

Если часть ссылок осталась, плагин явно сообщает это в отчете, а не мутирует несвязанные данные.

Рекомендованный runbook

  1. Стартуйте с дефолтных настроек.
  2. Если остались unresolved references, проверьте наличие локальных переменных с совпадающими именами/типами.
  3. Повторите запуск после загрузки нужных шрифтов/библиотек.
  4. Включайте Merge visible duplicate collections только если действительно хотите консолидацию.
  5. После Ghost Heal запускайте Swap, если нужна миграция library/local.

Важные гарантии поведения

  • Ghost Heal не угадывает случайные переменные для замены.
  • Exact-match rebind детерминирован.
  • Потенциально разрушительные действия привязаны к явным переключателям.
  • При ограничениях Figma dynamic-page часть ссылок может диагностироваться, но не удаляться; такие случаи помечаются как unresolved.

Связанные разделы