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 и очищает такие ссылки по контролируемым этапам.
Как запустить
- Откройте нужный файл Figma.
- Откройте SXL Studio -> Inspect.
- Внизу левого дерева нажмите Ghost Heal.
- Проверьте переключатели в модальном окне.
- Нажмите Run Ghost Heal.
- Изучите summary и предупреждения в notification.
Профиль по умолчанию (безопасная база)
Текущие дефолты плагина:
Clean explicit mode overrides: ONRebind exact variable matches: ONRemove orphan local collections: ONMerge visible duplicate collections: OFFForce-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; - иначе лечение фокусируется на активной странице.
Основные этапы:
- начальная очистка explicit modes;
- анализ дублей коллекций и опциональный merge;
- поиск orphan collections и построение exact variable remap;
- swap-этап перепривязки variables/styles (
pageилиdocumentscope); - удаление orphan/duplicate collections (если включено);
- force-clean detach unresolved ghosts (если включено);
- повторный explicit mode cleanup;
- финальная диагностика resolved-mode ghost references.
Как читать результат
Ghost Heal возвращает структурированные счетчики, в том числе:
mode override(s) cleanedbinding(s) reboundcollection(s) removedghost node(s) force-cleanedtext node(s) recreated- счетчики unresolved ghost references
Если часть ссылок осталась, плагин явно сообщает это в отчете, а не мутирует несвязанные данные.
Рекомендованный runbook
- Стартуйте с дефолтных настроек.
- Если остались unresolved references, проверьте наличие локальных переменных с совпадающими именами/типами.
- Повторите запуск после загрузки нужных шрифтов/библиотек.
- Включайте
Merge visible duplicate collectionsтолько если действительно хотите консолидацию. - После Ghost Heal запускайте Swap, если нужна миграция library/local.
Важные гарантии поведения
- Ghost Heal не угадывает случайные переменные для замены.
- Exact-match rebind детерминирован.
- Потенциально разрушительные действия привязаны к явным переключателям.
- При ограничениях Figma
dynamic-pageчасть ссылок может диагностироваться, но не удаляться; такие случаи помечаются как unresolved.