Commit Graph
3007 Commits
Author SHA1 Message Date
chinboy bf73129876 perf(Splitter): reduce collapse icon and drag preview overhead 2026-05-23 09:24:49 +08:00
chinboy cbbac8cf60 perf(Breadcrumb): add baselines and fix separator propagation 2026-05-23 00:34:21 +08:00
chinboy d87d5ad501 perf(Timeline): cache indicator pens and fix pending state 2026-05-22 19:45:59 +08:00
chinboy 2e866660da perf(Statistic): refine content and timer lifecycle 2026-05-22 16:49:39 +08:00
chinboy 982bc314d4 perf(Calendar): defer inactive view cell creation 2026-05-22 13:57:24 +08:00
chinboy ff88b21876 perf(TabControl): reduce hidden tab item slot overhead 2026-05-22 13:14:29 +08:00
chinboy ee81dbb076 perf(Controls): refine Tour bindings and document Tier 1 results 2026-05-22 10:59:58 +08:00
chinboy 203707963d perf(Transfer): reduce target panel refresh overhead 2026-05-22 10:00:07 +08:00
chinboy c7e9585044 perf(TimePicker): defer closed picker presenters
Qualification: TimePickerShowCase has 15 TimePicker and 7 RangeTimePicker declarations, 22 runtime InfoPickerInput instances, and picker open/select/hover/confirm flows are realistic per-session operations across basic, confirm, interval, 12/24 hour, variants, status, and range examples.

Avalonia source refs: .referenceprojects/Avalonia/src/Avalonia.Base/Data/TemplateBindingExpression.cs:37-43 covers TemplateBinding parent PropertyChanged updates; .referenceprojects/Avalonia/src/Avalonia.Base/AvaloniaObject.cs:407-422 covers SetCurrentValue preserving value priority semantics; .referenceprojects/Avalonia/src/Avalonia.Base/Layout/Layoutable.cs:546 covers hidden measure short-circuit, and this change keeps template visuals in axaml.

Result: TimePickerShowCase cold mean 464.82ms -> 393.11ms, repeated mean 148.79ms -> 138.48ms, repeated P95 180.65ms -> 151.63ms, repeated alloc 23617.32KB -> 23430.26KB, visuals preserved at 1230.

Verification: dotnet build tools/performances/AtomUI.GalleryPerformance/AtomUI.GalleryPerformance.csproj -c Debug --framework net10.0 --no-restore; dotnet build tools/performances/AtomUI.Performance/AtomUI.Performance.csproj -c Debug --framework net10.0 --no-restore; --verify-timepicker-states; GalleryPerformance timepicker and datepicker 10 cold / 30 repeated.
2026-05-22 09:17:18 +08:00
chinboy c2b944c2a0 fix(ListView): clear stale pagination references 2026-05-22 08:02:14 +08:00
chinboy 9f4e59d043 perf(TreeSelect): reduce SelectHandle indicator overhead 2026-05-21 23:50:48 +08:00
chinboy 3e21a87670 perf(TreeView): reduce switcher icon presenter overhead
Qualification: TreeViewShowCase has 15 TreeView declarations, 87 declared TreeViewItem nodes, and 55 runtime tree rows; page navigation, expand/collapse, search/filter, drag, and context-menu flows are realistic per-session operations.

Avalonia source refs: .referenceprojects/Avalonia/src/Avalonia.Controls/Primitives/TemplatedControl.cs:333 and :338 cover template tree creation; .referenceprojects/Avalonia/src/Avalonia.Base/Layout/Layoutable.cs:546 and :624 cover hidden measure short-circuit after creation.

Result: TreeViewShowCase cold mean 1049.62ms -> 776.51ms, repeated mean 332.44ms -> 213.41ms, repeated alloc 49964.64KB -> 33732.33KB, visuals 2108 -> 1646, IconPresenter 332 -> 112.

Verification: dotnet build src/AtomUI.Desktop.Controls/AtomUI.Desktop.Controls.csproj -c Debug --framework net10.0; dotnet build tools/performances/AtomUI.Performance/AtomUI.Performance.csproj -c Debug --framework net10.0; --verify-treeview-states; GalleryPerformance treeview 10 cold / 30 repeated.
2026-05-21 22:23:44 +08:00
chinboy c87eca42f3 fix(ListView,Select): improve selection index handling and remove unused filter logic v6.0.0-rc1 2026-05-21 21:32:15 +08:00
chinboy 335a878c02 gallery(AutoComplete): add OptionTemplate showcase with city picker 2026-05-21 18:47:25 +08:00
chinboy 12eca2030a gallery(Cascader): populate ShowCheckedStrategy showcase data 2026-05-21 17:38:40 +08:00
chinboy 207e9d680b fix(LineEdit,SearchEdit): make placeholder text visible by default 2026-05-21 17:38:15 +08:00
chinboy 987897e8d1 fix(Cascader): restore expand chevron icon in dropdown 2026-05-21 17:37:53 +08:00
chinboy 53ed62d3c1 docs(performance): add Tier 0 writeups, roadmap, and pitfalls guide 2026-05-21 15:48:52 +08:00
chinboy 86dbb934fa perf: cut allocations in TextBlock, Popup, Tag, Tooltip, Separator 2026-05-21 15:48:14 +08:00
chinboy 02fb0658e2 chore(performance): recover harness from Avalonia 12 drift, add suites 2026-05-21 15:47:12 +08:00
chinboy f39e386812 fix(Cascader): close dropdown popup after filter list leaf selection 2026-05-21 15:45:53 +08:00
chinboy 7645c29a01 feat(SKILL): enhance performance guidelines with detailed correctness and resource management rules 2026-05-21 00:05:26 +08:00
chinboy 18d0af516c feat: prepare release/6.0 with performance scenarios and gallery enhancements
Adds the performance harness, state-verification suites, gallery
showcases and reference docs accumulated for the 6.0 release, plus
control-level fixes:

- tools/performances/AtomUI.Performance + AtomUI.GalleryPerformance
  scaffolding with per-control scenarios and verification suites
- docs/performances/** baselines and plans
- controlgallery/** showcase data refreshes (icon gallery, range time
  pickers, multi-select cascader strategies, etc.)
- ListBox: re-apply filter on OnLoaded when FilterValue is preset
- SelectCandidateList: visible-item selection mapping under filter
- RangeDatePicker: floating popup arrow even with IsShowTime=true
2026-05-20 23:25:15 +08:00
chinboy 96d9c7b614 feat(TextBox): update ownership of compact space properties to TextBox for improved functionality 2026-05-14 07:32:10 +08:00
chinboy 4859844961 feat(README): update .NET and Avalonia requirements, enhance package list, and adjust project settings for improved clarity 2026-05-13 23:28:28 +08:00
chinboy 89a1606d22 feat(ColorPickerInput): update width properties for improved layout consistency v6.0.0-build.1 2026-05-13 18:07:07 +08:00
chinboy 37e1c43737 feat(AdaptiveSpacingDockPanel): implement new panel for adaptive spacing in layout management 2026-05-13 17:35:05 +08:00
chinboy 8e395606cf feat(ColorSliderTheme): enhance slider track layout with additional border elements for improved visual consistency 2026-05-13 17:03:39 +08:00
chinboy a738c38712 feat(ButtonSpinner): add MinHeight property for size types to improve layout consistency 2026-05-13 16:15:04 +08:00
chinboy 008f05853e fix(CSD handling): adjust overlay and popup positioning for Linux CSD support and update decoration margins 2026-05-13 14:05:33 +08:00
chinboy 5e5777f191 feat(WindowTitleBar): introduce fullscreen caption button size and header horizontal spacing for improved layout consistency 2026-05-13 09:39:43 +08:00
chinboy 2ea0c64248 fix(Flyout, OverlayDialogHost, Popup, Tour): address Linux CSD decoration shadow handling and improve target offset calculations 2026-05-13 09:08:10 +08:00
chinboy 70937bb812 fix(Popup): restrict shadow thickness calculation to Linux platform 2026-05-13 08:29:18 +08:00
chinboy 855aa9a7ba feat(WorkspaceWindow): add language binding for simplified Chinese and English options 2026-05-13 00:22:29 +08:00
chinboy 572b75d52c refactor(MediaBreakPointThemeBootstrapper): streamline container query handling and improve breakpoint management 2026-05-13 00:14:01 +08:00
chinboy 2109c98010 fix(OverlayDialogHost): improve target center calculation for overlay positioning accuracy 2026-05-13 00:01:41 +08:00
chinboy 088a0e9bf0 fix(Popup): adjust offset calculations based on overlay host usage to improve placement accuracy 2026-05-12 23:55:01 +08:00
chinboy e75cde04c5 feat(OverlayDialogHost): enhance owner bounds calculation and handle size changes for improved overlay behavior 2026-05-12 23:51:40 +08:00
chinboy e054fd4181 refactor: enhance placement handling in ContextMenu, Flyout, and Popup components 2026-05-12 22:43:07 +08:00
chinboy a29078f67d fix: set default value for BadgeIsVisible property and clean up WindowTheme layout 2026-05-12 18:20:18 +08:00
chinboy fe996235b2 refactor(TreeView): streamline pointer event handling and improve drag-and-drop logic 2026-05-12 16:25:58 +08:00
chinboy d960709a3f feat(DualMonthArrowDecoratedBox): add IsFloatingArrowPosition property and update layout handling 2026-05-12 14:43:08 +08:00
chinboy 62aac20fa2 refactor: update access modifiers and improve naming for clarity in RangeDatePicker and related components 2026-05-12 14:33:58 +08:00
chinboy 3c5d9e7848 fix(Window): prevent unnecessary updates on media breakpoint change 2026-05-12 11:26:33 +08:00
chinboy 34d03ee636 feat(Window): integrate media query handling with dynamic breakpoint injection in theme manager 2026-05-12 10:54:54 +08:00
chinboy e915b68705 feat(Window): enhance media query handling and update breakpoints for responsive design 2026-05-12 08:47:11 +08:00
chinboy 702e12039f feat: implement async loading architecture for controls with debounce and timeout handling 2026-05-12 07:32:04 +08:00
chinboy 7a0a3d1d00 docs: add FilteringArchitecture documentation for unified filtering system in AtomUI controls 2026-05-11 23:23:33 +08:00
chinboy ac17d90340 refactor: standardize filter property types and selectors across components 2026-05-11 23:13:36 +08:00
chinboy aa4f62399c fix(AbstractSpinIndicator, Icon): enhance visibility handling for animations 2026-05-11 20:31:06 +08:00