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