Skip to content

Restructure internal folders#68

Merged
ATrefzer merged 7 commits intomainfrom
restructure-internal-folders
Mar 30, 2026
Merged

Restructure internal folders#68
ATrefzer merged 7 commits intomainfrom
restructure-internal-folders

Conversation

@ATrefzer
Copy link
Copy Markdown
Owner

No description provided.

ATrefzer and others added 7 commits March 30, 2026 17:29
- Rename Areas/ to Features/ and drop the "Area" suffix from subfolders
  (AdvancedSearchArea → AdvancedSearch, GraphArea → Graph, etc.)
- Move scattered root-level feature folders (Ai, Analyzers, Export,
  Gallery, Help, Import, Project, Refactoring) into Features/
- Consolidate infrastructure into Shared/:
  - Converters/, Filter/, Wpf/ → Shared/
  - Common/ split into Shared/Notifications/ and Shared/Search/
  - Common/MessageBus → Shared/Messages/
  - Common/Result → Shared/
  - root Messages/ merged into Shared/Messages/
  - Areas/Shared/ merged into Shared/UI/
- Update .csproj Page Update paths accordingly;
  remove stale Areas\TableArea\Templates reference

Namespaces left unchanged intentionally — to be updated via ReSharper.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
These types are pure data containers used in a cross-feature message
(QuickInfoUpdateRequest). Keeping them in Features/Help caused an
illegal Shared → Features dependency.

QuickInfoFactory remains in Features/Help as it contains genuine
feature logic (MSAGL graph objects → QuickInfo).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CodeExplorerControl (Features/Graph) was casting its DataContext to the
concrete MainViewModel to call ClearQuickInfo(), creating an illegal
Features → root dependency.

- Add ClearQuickInfoRequest message to Shared/Messages/
- CodeExplorerControl.SetViewer now accepts IPublisher and publishes
  ClearQuickInfoRequest on empty-canvas mouse click
- MainViewModel subscribes to ClearQuickInfoRequest in its constructor
- Thread the IPublisher through MainWindow.SetViewer and App.xaml.cs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Move graph rendering constants to Features/Graph/Constants.cs (internal)
- Inline TreeMinWidth* as private constants in MainWindow
- Replace x:Static XAML bindings for TreeMinWidth* with literal values
- Delete root Constants.cs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
XAML and code-behind now reference the same fields via {x:Static},
eliminating the risk of the two values drifting apart.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ATrefzer ATrefzer merged commit b1f9aa0 into main Mar 30, 2026
@ATrefzer ATrefzer deleted the restructure-internal-folders branch April 18, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant