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