Commit Graph
2728 Commits
Author SHA1 Message Date
chinboy 6325eaedc2 refactor(Switch): migrate Switch module to Avalonia 12 2026-04-29 15:45:17 +08:00
chinboy ef97d2a5f1 refactor(Splitter,Buttons): migrate Splitter and Button controls to Avalonia 12 2026-04-29 15:40:12 +08:00
chinboy c41accde5a refactor(Segmented): migrate Segmented module to Avalonia 12 2026-04-29 15:03:01 +08:00
chinboy ab23e88f2e refactor(Result): migrate Result module to Avalonia 12 2026-04-29 14:57:18 +08:00
chinboy 6290a52f46 refactor(Rate): migrate Rate module to Avalonia 12 2026-04-29 14:47:41 +08:00
chinboy eff04b0675 refactor(RadioButton): migrate RadioButton module to Avalonia 12 2026-04-29 14:32:02 +08:00
chinboy c5593a836a refactor(ProgressBar): migrate ProgressBar module to Avalonia 12 2026-04-29 14:25:44 +08:00
chinboy 9af427fc41 refactor(MarqueeLabel): migrate MarqueeLabel module to Avalonia 12 2026-04-29 14:18:13 +08:00
chinboy 8b0f93c534 refactor(CheckBox): migrate CheckBox module to Avalonia 12 2026-04-29 14:12:46 +08:00
chinboy 525a8f570a refactor(Breadcrumb): migrate Breadcrumb module to Avalonia 12 2026-04-29 13:57:12 +08:00
chinboy a04a8e7a7c refactor(AdornerLayer): migrate AdornerLayer module to Avalonia 12 and update dependency path with axaml-aware analysis 2026-04-29 13:39:58 +08:00
chinboy 42fb2b04ce add migration path doc 2026-04-29 13:05:16 +08:00
chinboy 144d5f123f fix(Avalonia12): add MotionAwareClose/Open removal rule (Category 52) to migration skill
In AtomUI 6.0, Popup.MotionAwareClose and Popup.MotionAwareOpen are removed.
Replace with direct Popup.IsOpen assignment.
2026-04-29 12:47:43 +08:00
chinboy 5420c04ed6 refactor(ScrollViewer): migrate ScrollViewer module to Avalonia 12 and add base-class scanning rule to migration skill 2026-04-29 10:51:05 +08:00
chinboy 6eab83e8fe refactor(TextBlock): migrate TextBlock module to Avalonia 12 and add migration tracking doc 2026-04-29 10:18:54 +08:00
chinboy 29475a640d feat(NavMenu): implement NavMenu and NavMenuItem controls with token system and TextBlock refinements 2026-04-29 10:02:07 +08:00
chinboy ff9a6b41dd fix(Avalonia12): correct [PrivateApi] guidance, add ReflectionExtensions catalog and trigger conditions to migration skill
- Correct IInputRoot guidance: [PrivateApi] public interfaces are still usable, do NOT replace with TopLevel
- Add ReflectionExtensions catalog (18 classes, 40+ methods) with quick lookup by Avalonia type
- Add fundamental rules: prefer existing extensions, distinguish [PrivateApi] from truly internal
- Expand trigger conditions to support Chinese/English upgrade/refactor/migrate keywords
- Update Categories 8, 31, 34, 49 and Prohibited section with corrected IInputRoot handling
2026-04-29 09:58:26 +08:00
chinboy 7712789e8c fix(Avalonia12): correct factual errors and expand migration skill to 51 categories
Verified all API changes against Avalonia 12 source code. Fixed 5 factual errors
(PlacementMode not removed, VisualRoot is protected internal, MathUtilities.Clamp
still exists, IInputRoot is [PrivateApi] not removed, BindingPlugins is internal
not removed). Added 15 new breaking change categories including internalized APIs,
renamed members, window decoration redesign, dispatcher changes, and obsolete
member removals. Updated all 5 reference files with corrected information.
2026-04-29 09:15:39 +08:00
chinboy e946f7b0e4 style(Avalonia12): Add code generation style rule for braces
Add mandatory style rule: always use braces {} for code blocks, even single-line statements.

This prevents bugs from accidental statement misalignment and maintains consistency
with C# style guidelines. Applied to all generated code in migration skill.
2026-04-29 08:37:54 +08:00
chinboy adff3f6472 feat(Avalonia12): Complete migration skill and comprehensive breaking changes documentation
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
2026-04-29 08:35:43 +08:00
chinboy bbb3c434ba refactor(ToolTip, Popup): move MarginToAnchor property to ToolTip as attached property and centralize placement logic 2026-04-28 22:18:43 +08:00
chinboy d23d34092c fix(WindowTheme): adjust ExtendClientAreaToDecorationsHint logic and refactor ArrowDecoratedBox token declarations 2026-04-28 21:25:29 +08:00
chinboy 9d3c054121 fix(AtomUI.Generator): stabilize generated code ordering across OS and builds
Sort Dictionary and List iterations by key/name in ResourceKeyClassWriter and LangResourceKeyClassSourceWriter to ensure deterministic output regardless of Roslyn's type discovery order.
2026-04-28 21:19:26 +08:00
CHINBOY 5cf6893e08 The AtomUI kernel has completed basic adaptation for Avalonia V12. 2026-04-28 18:25:30 +08:00
chinboy 27f9e5b6b8 fix: replace direct transition enabling with UI thread posting for improved responsiveness 2026-04-23 15:33:04 +08:00
CHINBOY 683c7432a4 fix(AbstractCountBadge, AbstractCountBadgeAdorner, AbstractDotBadgeAdorner): optimize motion handling by removing async/await and improving visibility logic 2026-04-23 15:03:36 +08:00
CHINBOY d118874226 fix(AbstractCountBadge, AbstractCountBadgeAdorner): streamline property updates and remove redundant code 2026-04-23 11:35:10 +08:00
CHINBOY c3d607fb56 fix(AbstractCountBadge, AbstractDotBadge): improve motion handling by removing unnecessary async/await and adding IsLoaded checks 2026-04-23 11:23:46 +08:00
CHINBOY 8de8ce06a8 fix(CheckBoxIndicator): ensure wave spirit decorator plays only when loaded 2026-04-23 10:49:16 +08:00
CHINBOY 901b740608 fix(CollapseItem, TreeViewItem): refactor motion methods to remove async/await for improved clarity 2026-04-23 10:38:38 +08:00
chinboy 6685c07327 fix(CollapseItem): fix event handler leak in expand button click 2026-04-22 22:26:58 +08:00
chinboy 8d69f4bd57 fix(Motion): refactor motion methods to use async/await for improved responsiveness 2026-04-22 18:32:26 +08:00
chinboy a6f080f2bf fix(README): update PrivateAssets condition for improved package management 2026-04-22 16:03:02 +08:00
chinboy 00cda0c89d fix(TextArea): optimize content right add-on bindings for improved performance and maintainability 2026-04-22 14:51:50 +08:00
chinboy 93d45a8abe fix(InfoPickerInput): optimize content right add-on bindings for improved performance and maintainability 2026-04-22 14:50:52 +08:00
chinboy 9bfe7764e0 fix(ComboBox): optimize content right add-on bindings for improved performance and maintainability 2026-04-22 14:45:25 +08:00
chinboy 6d208d08bc fix(NumericUpDown): optimize content right add-on bindings for improved performance and maintainability 2026-04-22 14:42:13 +08:00
chinboy f271996aaf fix(SearchEdit): optimize content right add-on bindings for improved performance and maintainability 2026-04-22 14:36:29 +08:00
chinboy 9ac6cbf797 fix(Cascader, TreeSelect): optimize content right add-on bindings for improved performance and maintainability 2026-04-22 13:59:34 +08:00
chinboy fd8b9f8804 fix(Select): optimize content right add-on bindings for improved performance and maintainability 2026-04-22 11:30:26 +08:00
chinboy cfaa740896 fix(MotionAwareControl, WaveSpiritAwareControl): optimize style handling by replacing style configuration with token bindings 2026-04-22 10:20:26 +08:00
chinboy 34d525a885 fix(Drawer): optimize dialog size handling by replacing style configuration with token bindings 2026-04-22 10:08:06 +08:00
chinboy c59207176a fix(SplitterPanel): optimize panel synchronization by removing unused panels in a single pass 2026-04-22 09:36:33 +08:00
chinboy 5e1f75b255 fix(Col, Row): optimize layout invalidation by removing redundant arrange calls 2026-04-22 09:34:21 +08:00
chinboy 20ee45c7d2 fix(Row): optimize child ordering by caching and reducing redundant calculations 2026-04-22 09:32:57 +08:00
chinboy d0f2470eeb fix(Space): optimize spacing handling by applying token bindings instead of styles 2026-04-22 09:26:58 +08:00
chinboy 56a708af8c fix(MarqueeLabel, Popup, SelectableTextBlock, TextBlock): optimize style handling by replacing style creation with token bindings 2026-04-22 08:59:22 +08:00
chinboy ecf67e30b8 fix(VirtualizingCarouselPanel): optimize measure invalidation by queuing measure calls 2026-04-22 08:33:48 +08:00
chinboy 771c3d117f fix(ImageViewer): optimize arrangement logic by preventing redundant invalidation 2026-04-22 08:29:21 +08:00
chinboy 4020ab36e3 fix(AvatarGroup, CompactSpace, Space): optimize collection handling by removing unnecessary list creation 2026-04-22 08:24:25 +08:00