mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-22 17:35:30 +08:00
adff3f6472
Add comprehensive Avalonia 12 migration support with 36+ breaking change categories:
**Migration Skill (.agents/skills/migrate-to-avalonia12/)**
- SKILL.md: Main skill definition with 36+ breaking change categories
- references/code-level-analysis.md: Code-level analysis from Avalonia 11.3.14 → 12.0.0
- references/reflection-extensions-pattern.md: AOT-safe reflection pattern documentation
- references/atomui-migration-guide.md: AtomUI-specific migration guidance
- references/migration-examples.md: Before/after code examples
- references/avalonia12-breaking-changes.md: Complete reference table
- references/missed-breaking-changes.md: Recently discovered breaking changes
- references/scanning-results.md: Comprehensive code scanning results
**Breaking Changes Covered (36+ categories)**
1-11: Core Framework (binding system, focus events, TopLevel API, etc.)
12-14: Data & Clipboard (IDataObject → IAsyncDataTransfer, DoDragDrop, DataFormats)
15-17: Text & Rendering (constructor parameter order, access keys, fonts)
18-25: Platform-Specific (Android, iOS, Browser, Tizen, Diagnostics, xUnit, NUnit)
26-36: API Changes (Screen, ResourcesChangedEventArgs, Gesture events, WindowState,
Data validation, Extension methods, ReflectionExtensions pattern, PlacementMode,
IInputRoot removal, Internal API extraction, ReflectionExtensions for internal members)
**Code Changes**
- Add FormattedTextSource and InlinesTextSource for text formatting
- Add TopLevelUtils helper for desktop scaling
- Update focus event handlers to use FocusChangedEventArgs
- Update TopLevel API usage (TopLevel.GetTopLevel instead of VisualRoot)
- Update text formatting constructors with new parameter order
- Update clipboard operations with SetTextAsync extension
- Update ToolTipService for TopLevel API
- Update NavMenu and TextBlock controls for Avalonia 12
**Documentation**
- docs/AVALONIA12_MIGRATION.md: Migration guide and checklist
- Comprehensive scanning results showing 95% migration completion
- 2 pending items identified: IInputRoot removal, PlacementMode removal
**Key Features**
- AOT-safe reflection patterns with [DynamicDependency] attributes
- Lazy<T> caching for reflection info
- Comprehensive detection of all 36+ breaking changes
- Platform-aware migration guidance
- Auto-fixable vs manual intervention matrix