Skip to content

Tranche-1 performance sign-off (2.49)

Product version: 2.49 — closes the 2.00…2.49 performance arc for tranche 1. Animations stay. Not a GPU chart rewrite.

Related: performance.md · friction-log.md (FL-008) · developer-diagnostics.md (2.44) · checkpoint-250 (2.50 shipped)


Verdict (2.49)

Question Answer
2.x perf arc signed off? Yes — waves 5 → 8 documented + Gallery callouts
Animations removed? No — trim waste, not motion (1.90 rule)
FL-008 closed? Partial — collection + shell paths hardened; 2.64 if field metrics reopen
Retail FPS policy? YesapplyRetailProfile() (2.44)
Next perf slice? 2.64 (friction-only) or skip if queue empty

2.x wave map

Wave Slice Focus
5 2.18 DataTable / ItemsView debounce + skip unchanged
6 2.28 NavigationView cache + skip counters + smoke timings
7 2.40 ListDetailsView / TreeDataGrid / FileTree filter paths
8 2.49 Charts/dashboard budgets + ItemsWrapGrid + tranche sign-off (wave 8)

Full checklists: performance.md.


Wave 8 checklist (2.49)

# Surface Check
1 Stable six charts ~500 points/series; revealAnimationPointBudget skips heavy reveal
2 Dashboard KpiTile.trendValues ring capped (~16); one chart per ChartCard
3 ItemsWrapGrid filterDebounceMs (120); low hundreds of tiles — not virtualization
4 Experimental grids CalendarView / NotificationCenter — bounded models, no 10k cells
5 Shell Pair wave 6 cache limits with wave 7 filter debounce
6 Diagnostics Dev-only FrameStats — retail profile in shipping builds
7 Smoke --smoke --startup-log — relative compare only, not CI ms gate

Consumer checklist

  • [ ] Skim upgrade-notes.md 2.48 → 2.49
  • [ ] Product dashboards: dashboard-compose-decision.md + chart point budgets
  • [ ] Large collections: C++ model or paging — not JS filter on thousands+
  • [ ] Optional: python scripts/smoke_gallery.py --build-dir build (Release)

Out: Built-in profiler · chart GPU rewrite · lite Gallery binary.