Commit Graph
321 Commits
Author SHA1 Message Date
chinboy 71fc968018 Merge branch 'feature/aot' into release/6.0 2026-06-11 14:54:22 +08:00
chinboy 1997d684d6 chore(AOT): remove browser smoke experiment fixtures 2026-06-11 13:12:34 +08:00
chinboy 8813435d30 feat(AOT): update AOT compilation settings and enhance icon generation logic 2026-06-11 13:08:32 +08:00
chinboy c922633422 feat(AOT): document Linux NativeAOT Gallery publishing
Add a Linux linux-x64 Native AOT publish/maintenance manual mirroring
the Windows handbook, and bump global.json SDK pin to 10.0.301.
2026-06-11 11:08:22 +08:00
CHINBOY d1d3268c49 feat(AOT): document Windows NativeAOT Gallery publishing 2026-06-11 10:17:38 +08:00
CHINBOY fb0a506e0e docs: add cross-platform UI framework strategic narrative 2026-06-11 08:20:59 +08:00
chinboy 6202bdeaa0 feat(AOT): enhance NativeAOT support and update project configurations 2026-06-11 08:13:24 +08:00
chinboy a4c083fb41 feat(AOT): update ShowCase controls to use GalleryReactiveUserControl 2026-06-10 18:53:03 +08:00
chinboy abf9c16ceb feat(AOT): replace Gallery icon reflection with catalog 2026-06-10 17:32:52 +08:00
chinboy a20b339c8b feat(AOT): generate Gallery language provider constructors 2026-06-10 17:06:22 +08:00
chinboy d359f8f7f7 feat(AOT): improve NativeAOT compatibility across AtomUI 2026-06-10 16:30:45 +08:00
chinboy 1c890017f5 fix(Button): preserve loading margin with AOT-safe binding 2026-06-10 08:50:17 +08:00
chinboy 0764c1a77f feat(docs): reorganize and add overview documentation for various control categories 2026-06-09 14:18:40 +08:00
chinboy 28639b343a feat(BrowserGallery): integrate FloatButtonShowCase and enhance lazy loading for improved navigation 2026-06-07 22:43:54 +08:00
chinboy 3d9a5f5c5e feat(Icon): remove motion-related properties and clean up icon themes 2026-06-07 22:15:08 +08:00
chinboy cbb69e5457 feat(BrowserGallery): integrate ButtonShowCase and enhance navigation with lazy loading 2026-06-07 21:03:14 +08:00
chinboy bbd7a44341 feat(BrowserGallery): enhance gallery with IconShowCase integration and input themes 2026-06-07 18:23:53 +08:00
chinboy 99cc82ef3a feat(Browser): add palette showcase with tab fallbacks 2026-06-07 18:04:02 +08:00
chinboy 013e18ffc2 feat(Browser): add gallery browser host with control fallbacks 2026-06-07 17:45:00 +08:00
chinboy 1c62e45646 feat(TreeView,TreeSelect)!: rename tree filter strategy API 2026-06-05 18:23:35 +08:00
chinboy a9ebf2ecfa docs(Gallery): document localized option data rules 2026-06-03 17:24:59 +08:00
chinboy 459275f9e0 gallery(i18n): localize showcase examples and fix resource binding 2026-06-03 13:21:23 +08:00
chinboy e6a5695049 gallery(i18n): localize showcase titles and descriptions 2026-06-02 22:09:26 +08:00
chinboy ff8faa951f docs: remove obsolete audit and performance notes 2026-06-02 18:08:37 +08:00
chinboy cf28844106 docs(Gallery): add showcase organization guidelines 2026-06-02 17:43:55 +08:00
chinboy 3d3f29075f docs(api): add global consistency audit 2026-06-02 11:03:18 +08:00
chinboy 6fbb65cf53 perf(controls): reduce allocation and startup overhead 2026-06-02 08:08:55 +08:00
chinboy 44d226f213 perf(controls): reduce allocation and flag-check overhead 2026-06-01 16:26:36 +08:00
chinboy 4627188951 docs(performance): update controls optimization reports 2026-05-31 17:51:42 +08:00
chinboy 59c99395bf docs(performance): update controls optimization summary 2026-05-31 09:34:36 +08:00
chinboy 3cb96920ae perf(DataGrid): reduce column detach overhead 2026-05-31 09:34:23 +08:00
chinboy 56d95e009b perf(selection): reduce tree and transfer overhead 2026-05-31 09:34:04 +08:00
chinboy 7527237ec6 perf(navigation): reduce hit-test and motion overhead 2026-05-31 09:33:49 +08:00
chinboy df79b65569 perf(inputs): reduce picker and input state overhead 2026-05-31 09:33:26 +08:00
chinboy bb59f6f7ae perf(controls): optimize collection synchronization paths 2026-05-31 09:32:58 +08:00
chinboy d0efaca4eb perf(VisualLayers): reduce layer lookup and render overhead 2026-05-31 09:32:39 +08:00
chinboy ae001efb6b perf(ColorPicker): reduce gradient and brush update overhead 2026-05-31 09:32:23 +08:00
chinboy 106a9961cb perf(Badge): reduce badge adorner and motion overhead 2026-05-31 09:32:13 +08:00
chinboy 915deff4eb perf(controls): reduce allocation and state sync overhead 2026-05-29 17:40:13 +08:00
chinboy 6f4bbdc064 perf(controls): reduce transfer, tree and layout overhead 2026-05-29 10:32:40 +08:00
chinboy 9b83aa5940 perf(PopupConfirm): optimize button event lifecycle and correctness 2026-05-28 23:08:04 +08:00
chinboy 4a60c55fc2 perf(controls): optimize flyout and layout lifecycles 2026-05-28 21:48:10 +08:00
chinboy 9379c9a0c5 perf(controls): optimize ColorPicker, titlebar and adorner lifecycles 2026-05-28 11:50:30 +08:00
chinboy 8974f9cf6f docs(DataGrid): close remaining performance audit items 2026-05-28 10:01:41 +08:00
chinboy 3eefb30d8b perf(DataGrid): reduce data-layer and column group overhead 2026-05-28 09:13:01 +08:00
chinboy c621706a52 perf(DataGrid): add verification for item-type probe enumerator disposal 2026-05-27 15:55:41 +08:00
chinboy 393b376189 perf(DataGrid): reduce filter and data-layer overhead 2026-05-27 15:32:01 +08:00
chinboy d55bc01c52 perf(DataGrid): reduce allocation and lifecycle overhead 2026-05-26 19:38:27 +08:00
chinboy a4e07782fa perf(DataGrid): reuse row group header transforms
Cache DataGridRowGroupHeader frozen child TranslateTransform instances across repeated arrange passes, update X in place, and clear child RenderTransform values when row group headers become fully frozen, re-templated, or detached.

Qualification: DataGridShowCase declares 65 DataGrid instances; grouped grids with row headers and horizontal scrolling exercise row group header frozen child arrange paths. Operation frequency: horizontal scrolling, row group header layout, row group header frozen-state changes, re-template, and detach.

Avalonia basis: Visual.RenderTransform is a styled property and Avalonia subscribes mutable Transform.Changed to invalidate the visual (.referenceprojects/Avalonia/src/Avalonia.Base/Visual.cs:92-100,150,644-710). TranslateTransform.X/Y changes raise Transform.Changed (.referenceprojects/Avalonia/src/Avalonia.Base/Media/TranslateTransform.cs:14-22,70-75; .referenceprojects/Avalonia/src/Avalonia.Base/Media/Transform.cs:23-50).

Verification: dotnet build -c Release -f net10.0 tools/performances/AtomUI.Performance/AtomUI.Performance.csproj; dotnet run -c Release -f net10.0 --no-build --project tools/performances/AtomUI.Performance/AtomUI.Performance.csproj -- --verify-datagrid-states; dotnet run -c Release -f net10.0 --no-build --project tools/performances/AtomUI.Performance/AtomUI.Performance.csproj -- --suite datagrid --count 100; git diff --check; git diff --cached --check.
2026-05-26 10:37:47 +08:00
chinboy 2f41df5b7c perf(DataGrid): reduce row clip allocation
Reuse DataGridRow hidden clip geometry for non-recyclable hidden rows and cache DataGridRowGroupHeader child clip geometries across repeated arrange passes. Also resolve the built-in RowGroupHeader RootLayout/RowHeader template part names so row header visibility, owner wiring, and child clip lifecycle run for the shipped template.

Qualification: DataGridShowCase declares 65 DataGrid instances; row virtualization/removal paths apply to realized rows, and row group header child clipping applies to grouped grids with row headers/frozen offsets. Operation frequency: vertical scrolling, ItemsSource changes, row deletion, row clearing, horizontal scrolling, row group header layout, re-template, and detach.

Avalonia basis: Visual.Clip is a styled property registered with AffectsRender and InvalidateVisual queues dirty rendering (.referenceprojects/Avalonia/src/Avalonia.Base/Visual.cs:52-53,141-149,418-421,446-500). RectangleGeometry.RectProperty marks geometry dirty (.referenceprojects/Avalonia/src/Avalonia.Base/Media/RectangleGeometry.cs:25-33; .referenceprojects/Avalonia/src/Avalonia.Base/Media/Geometry.cs:146-172).

Verification: dotnet build -c Release -f net10.0 tools/performances/AtomUI.Performance/AtomUI.Performance.csproj; dotnet run -c Release -f net10.0 --no-build --project tools/performances/AtomUI.Performance/AtomUI.Performance.csproj -- --verify-datagrid-states; dotnet run -c Release -f net10.0 --no-build --project tools/performances/AtomUI.Performance/AtomUI.Performance.csproj -- --suite datagrid --count 100; git diff --check; git diff --cached --check.
2026-05-26 10:12:26 +08:00