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