Commit Graph
3088 Commits
Author SHA1 Message Date
chinboy 151ad2f6eb fix(Selection): refresh option state after source changes 2026-06-03 17:20:32 +08:00
chinboy fe3140db9c gallery(TabStrip): split tab strip into standalone showcase 2026-06-03 15:36:40 +08:00
chinboy 586abf971c gallery(Steps): split showcase scenarios into lazy tabs 2026-06-03 15:19:34 +08:00
chinboy 6b3df2de64 fix(NavMenu): close submenus and split Menu showcase 2026-06-03 15:07:06 +08:00
chinboy 81cd969836 gallery(Layout): split showcases and fix ColorUtils docs 2026-06-03 14:10:13 +08:00
chinboy bb42201dcb gallery(LineEdit): split showcase scenarios into lazy tabs 2026-06-03 13:44:37 +08:00
chinboy 459275f9e0 gallery(i18n): localize showcase examples and fix resource binding 2026-06-03 13:21:23 +08:00
chinboy 7fe3005932 fix(Window): relayout macOS traffic lights on title changes 2026-06-02 22:12:21 +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 3e047e081d gallery(ShowCase): reorganize showcase file layout 2026-06-02 18:07:22 +08:00
chinboy cf28844106 docs(Gallery): add showcase organization guidelines 2026-06-02 17:43:55 +08:00
chinboy a7cefc93bf fix(Window): restore macOS traffic light positioning 2026-06-02 17:08:17 +08:00
chinboy e344840345 gallery(Space): split showcase scenarios into lazy tabs 2026-06-02 16:19:25 +08:00
chinboy 3e805f7b64 gallery(DataGrid): split showcase scenarios into lazy tabs 2026-06-02 14:43:53 +08:00
chinboy a7348af729 gallery(Form): split showcase scenarios into lazy tabs 2026-06-02 14:19:16 +08:00
chinboy 8b743d84c3 fix(Gallery): use project refs for desktop release builds 2026-06-02 13:37:33 +08:00
chinboy e68452f5d5 ci(release): update actions to node24 versions v6.0.0-rc2 2026-06-02 11:59:05 +08:00
chinboy 4ad4343971 fix(Select): restore popup content after template reapplies 2026-06-02 11:04:38 +08:00
chinboy d386605c31 fix(Notification): preserve first show and timer lifecycle 2026-06-02 11:04:18 +08:00
chinboy e690a57cef fix(Message): preserve first show and cleanup timers 2026-06-02 11:04:03 +08:00
chinboy d590367a67 fix(Badge): preserve adorner lifecycle and hide motion 2026-06-02 11:03:50 +08:00
chinboy 16cccc25f3 fix(controls): align property metadata and collection contracts 2026-06-02 11:03:34 +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 4a500f702a perf(controls): reduce allocation and parsing overhead 2026-05-31 17:51:34 +08:00
chinboy 7baffed45d fix(TreeNodePath): normalize slash-delimited paths 2026-05-31 17:51:22 +08:00
chinboy 59c99395bf docs(performance): update controls optimization summary 2026-05-31 09:34:36 +08:00
chinboy ec14e86744 test(Dialog): cover custom button collection sync 2026-05-31 09:34:27 +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