Skip to content

Move the SerializeReference window into Windows/ and split its views - #153

Draft
VPDPersonal wants to merge 4 commits into
mainfrom
refactor/editor-window-tabs
Draft

Move the SerializeReference window into Windows/ and split its views#153
VPDPersonal wants to merge 4 commits into
mainfrom
refactor/editor-window-tabs

Conversation

@VPDPersonal

Copy link
Copy Markdown
Owner

Summary

  • ♻️ Move the editor window out of SerializeReferences/Windows/ into its own Unity/Editor/Scripts/Windows/TabWindow, TabWindowShortcuts, TabType, and one folder per tab: References/{Asset,Project,Shared}, Settings/, Welcome/ (the latter moved out of Scripts/Welcome/)
  • ♻️ Split the two oversized audit views into partials by responsibility — GraphView .Nodes / .Cards / .Picker, ProjectView .Cards / .Actions — and pull counting and wording into pure *Analysis / *Summary types; largest file is now ~430 lines, down from 1600
  • ✨ New SerializeReferences/Editing/ layer owning every mutation, free of UI and callable from tests: SerializeReferenceGraphEditor, SerializeReferenceBatchEditor, MissingReferenceGroup, SerializeReferenceOpenCopyGuard, SerializeReferenceConstraintCache — views ask it to edit and only decide whether to repaint
  • ♻️ Fold HoverSweep into NavRing, and move the canvas status colour from SerializeReferenceCanvasStyle into AspidAnimatedDotsBackground's USS-driven StatusStyle
  • ✅ Add AspidAnimatedDotsBackgroundStatusTests covering the new status styling
  • 📝 Update CLAUDE.md (feature map, mutation layer, tab layout) and the SerializeReference roadmap to the new paths; the root CLAUDE.md is also translated to Russian

Notes for review

  • ⚠️ Not compiled or test-run in this session — the branch was assembled from an existing worktree and only checked statically (no references to the removed SerializeReferenceWindow / HoverSweep / SerializeReferenceCanvasStyle, no UnityEditor usage under Unity/Runtime/). Worth a recompile + EditMode run before review
  • ✅ Every moved type stays internal and keeps its namespace, and the Tools/Aspid 🐍/FastTools/… menu paths are unchanged — no public API or UX change
  • 📝 .meta files travelled with their sources, so Unity keeps the existing GUIDs
  • ♻️ main is merged in; its only conflict was CLAUDE.md, where the branch's Russian text was kept and main's analyzer submodule → subtree facts were ported into it
🇷🇺 Описание на русском

Кратко

  • ♻️ Окно редактора вынесено из SerializeReferences/Windows/ в собственную папку Unity/Editor/Scripts/Windows/TabWindow, TabWindowShortcuts, TabType и по папке на вкладку: References/{Asset,Project,Shared}, Settings/, Welcome/ (последняя переехала из Scripts/Welcome/)
  • ♻️ Два разросшихся представления аудита разрезаны на partial по зонам ответственности — GraphView .Nodes / .Cards / .Picker, ProjectView .Cards / .Actions, — а подсчёты и формулировки вынесены в чистые типы *Analysis / *Summary; самый большой файл теперь ~430 строк вместо 1600
  • ✨ Новый слой SerializeReferences/Editing/ владеет каждой мутацией, свободен от UI и вызываем из тестов: SerializeReferenceGraphEditor, SerializeReferenceBatchEditor, MissingReferenceGroup, SerializeReferenceOpenCopyGuard, SerializeReferenceConstraintCache — представления просят его отредактировать и решают лишь, перерисовываться ли
  • ♻️ HoverSweep слит в NavRing, а цвет статуса холста переехал из SerializeReferenceCanvasStyle в StatusStyle компонента AspidAnimatedDotsBackground (управляется через USS)
  • ✅ Добавлен тест AspidAnimatedDotsBackgroundStatusTests на новую стилизацию статуса
  • 📝 CLAUDE.md (карта функциональности, слой мутаций, раскладка вкладок) и roadmap по SerializeReference приведены к новым путям; корневой CLAUDE.md заодно переведён на русский

Заметки для ревью

  • ⚠️ В этой сессии не компилировалось и не прогонялось тестами — ветка собрана из существующего worktree и проверена только статически (нет ссылок на удалённые SerializeReferenceWindow / HoverSweep / SerializeReferenceCanvasStyle, нет UnityEditor внутри Unity/Runtime/). Перед ревью стоит перекомпилировать и прогнать EditMode-тесты
  • ✅ Все перенесённые типы остались internal и сохранили namespace, пункты меню Tools/Aspid 🐍/FastTools/… не изменились — публичный API и UX не затронуты
  • 📝 Файлы .meta переехали вместе с исходниками, поэтому GUID'ы в Unity сохранились
  • ♻️ main влит; единственный конфликт был в CLAUDE.md — оставлен русский текст ветки, в него перенесены факты из main про перевод анализатора из сабмодуля в subtree

VPDPersonal and others added 4 commits August 4, 2026 18:43
…d split its views

The window, its tabs and the code mutating managed references all lived under
SerializeReferences/Windows/, where two view files had grown past 1400 lines and
mixed UI with asset editing.

- Unity/Editor/Scripts/Windows/ now owns the window (TabWindow, TabWindowShortcuts,
  TabType) and one folder per tab: References/{Asset,Project,Shared}, Settings/ and
  Welcome/ (moved out of Scripts/Welcome/).
- The audit views are split into partials by responsibility — GraphView .Nodes /
  .Cards / .Picker, ProjectView .Cards / .Actions — with counting and wording pulled
  into pure *Analysis / *Summary types. The largest file is now ~430 lines, was 1600.
- SerializeReferences/Editing/ owns every mutation, free of UI and callable from
  tests: SerializeReferenceGraphEditor, SerializeReferenceBatchEditor,
  MissingReferenceGroup, SerializeReferenceOpenCopyGuard,
  SerializeReferenceConstraintCache. Views ask it to edit and only decide whether to
  repaint.
- HoverSweep folds into NavRing, and the canvas status colour moves from
  SerializeReferenceCanvasStyle into AspidAnimatedDotsBackground's StatusStyle
  (USS-driven), covered by AspidAnimatedDotsBackgroundStatusTests.

Every moved type stays internal and keeps its namespace — no public API change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiHHAeMSqFgwagXRNt5Q9R
- CLAUDE.md: the feature map now points at Unity/Editor/Scripts/Windows/, the
  References tab split (Asset / Project / Shared) and SerializeReferences/Editing/
  as the layer owning every mutation; the file is translated to Russian
- VisualElements/Internal/CLAUDE.md and the SerializeReference roadmap follow the
  moved paths

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiHHAeMSqFgwagXRNt5Q9R
The class it names was renamed in the move; the comment still said
SerializeReferenceWindow.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiHHAeMSqFgwagXRNt5Q9R
@VPDPersonal VPDPersonal added type: refactor Internal restructuring without behavior change status: work-in-progress Draft / not ready for review area: editor Editor-only code area: docs Repository documentation (README, CHANGELOG, docs/) labels Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs Repository documentation (README, CHANGELOG, docs/) area: editor Editor-only code status: work-in-progress Draft / not ready for review type: refactor Internal restructuring without behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant