Skip to content

refactor(editor): consolidate TypeSelector helpers and settings#144

Merged
VPDPersonal merged 1 commit into
mainfrom
refactor/types-selector-cleanup
Jul 11, 2026
Merged

refactor(editor): consolidate TypeSelector helpers and settings#144
VPDPersonal merged 1 commit into
mainfrom
refactor/types-selector-cleanup

Conversation

@VPDPersonal

Copy link
Copy Markdown
Owner

Summary

  • ♻️ Move TypeSelectorHelpers from Types/Extensions/ to the Types/ root and extract pure type-name utilities into a new TypeUtility
  • ♻️ Group selector settings under Types/Selectors/Settings/ (TypeSelectorSettings, TypeSelectorPreferences, TypeSelectorSettingsUITypeSelectorSettingsView)
  • ♻️ Refactor TypeSelectorConstraintResolver around a Result struct with a unified member lookup
  • ⚡ Make GenericTypeResolver build its domain-type cache lazily
  • 🐛 Fix nested-enum name parsing in TypeExtensions (split on the full nested-type path instead of a naive regex)
  • 🔥 Remove dead API: TypeSelectorGlyphs, unused TypeExtensions members, redundant drawer plumbing
  • 🔧 Tighten accessibility (publicinternal) in SerializeReferenceRequiredGate and align editor extensions layout
  • ✅ Add EditMode tests for TypeUtility, TypeSelectorHelpers, and the editor TypeExtensions (306 tests green)

Notes for review

  • ⚠️ File moves keep their .meta GUIDs, so serialized references and USS bindings are unaffected; review renamed files with whitespace-aware diff.
🇷🇺 Описание на русском

Кратко

  • ♻️ TypeSelectorHelpers перенесён из Types/Extensions/ в корень Types/; чистые утилиты имён типов выделены в новый TypeUtility
  • ♻️ Настройки селектора сгруппированы в Types/Selectors/Settings/ (TypeSelectorSettings, TypeSelectorPreferences, TypeSelectorSettingsUITypeSelectorSettingsView)
  • ♻️ TypeSelectorConstraintResolver переписан вокруг структуры Result с единым поиском членов
  • GenericTypeResolver строит кэш типов домена лениво
  • 🐛 Исправлен разбор имён вложенных enum в TypeExtensions
  • 🔥 Удалён мёртвый API: TypeSelectorGlyphs, неиспользуемые члены TypeExtensions, лишняя обвязка в drawer'ах
  • 🔧 Ужесточена доступность (publicinternal) в SerializeReferenceRequiredGate
  • ✅ Добавлены EditMode-тесты для TypeUtility, TypeSelectorHelpers и редакторского TypeExtensions (306 тестов зелёные)

Замечания для ревью

  • ⚠️ Перемещения файлов сохраняют GUID в .meta — сериализованные ссылки не затронуты; переименованные файлы удобнее смотреть diff'ом без учёта пробелов.

Move TypeSelectorHelpers to Types/ root and extract TypeUtility; group
selector settings under Selectors/Settings/; drop dead API
(TypeSelectorGlyphs, unused TypeExtensions members); fix nested-enum
name parsing, lazy domain-type cache in GenericTypeResolver, tighten
accessibility in SerializeReferenceRequiredGate; add EditMode tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPBtcu7PX2VRkipKLVkinh
@VPDPersonal VPDPersonal added type: refactor Internal restructuring without behavior change status: work-in-progress Draft / not ready for review area: editor Editor-only code labels Jul 11, 2026
@VPDPersonal VPDPersonal marked this pull request as ready for review July 11, 2026 21:13
@VPDPersonal VPDPersonal added status: needs-review Ready for review and removed status: work-in-progress Draft / not ready for review labels Jul 11, 2026
@VPDPersonal VPDPersonal merged commit a48503b into main Jul 11, 2026
5 checks passed
@VPDPersonal VPDPersonal deleted the refactor/types-selector-cleanup branch July 11, 2026 21:14
@github-actions github-actions Bot removed the status: needs-review Ready for review label Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: editor Editor-only code type: refactor Internal restructuring without behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant