12 Commits
Author SHA1 Message Date
chinboy 04b070d61e fix(Gallery): 修复窗口缩放时 ShowCase 卡片换列闪动 2026-09-07 10:01:31 +08:00
chinboy 809e77e44c style: remove unused using directives 2026-07-31 23:45:25 +08:00
chinboy 7f94fa4ef2 refactor(Dialog)!: rebuild Dialog and MessageBox architecture 2026-07-19 15:41:23 +08:00
chinboy 1a92a316d8 feat(GalleryBase): extract reusable gallery toolkit 2026-06-19 20:34:52 +08:00
chinboy a7348af729 gallery(Form): split showcase scenarios into lazy tabs 2026-06-02 14:19:16 +08:00
chinboy c4bb0fdc7b perf(DesktopControls): add color picker baselines and fix split view 2026-05-23 16:57:53 +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 982bc314d4 perf(Calendar): defer inactive view cell creation 2026-05-22 13:57:24 +08:00
chinboy ee81dbb076 perf(Controls): refine Tour bindings and document Tier 1 results 2026-05-22 10:59:58 +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 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