Prasad P. Pawar created ATLAS-5395:
--------------------------------------

             Summary: Atlas UI: Lazy-load widgets, optimize sidebar tree 
rendering, fix layout shift animations
                 Key: ATLAS-5395
                 URL: https://issues.apache.org/jira/browse/ATLAS-5395
             Project: Atlas
          Issue Type: Sub-task
          Components: atlas-webui
    Affects Versions: 3.0.0
            Reporter: Prasad P. Pawar
            Assignee: Prasad P. Pawar


After API deferrals, improve perceived performance and main-thread 
responsiveness.

Issues:
- Below-fold widgets (RecentActivity, charts, KafkaTopicSummaryCard) load 
eagerly with main dashboard
- d3/Recharts chunks (~210 KB) in initial critical path
- 1315 DOM nodes in sidebar; tree rebuild causes re-render storms
- 8 non-composited animations: MuiCollapse-root animating height property in 
sidebar trees (causes layout thrashing, contributes to CLS 0.071)
- 15 layout shifts in classification tree expand/collapse

Fixes:
1. React.lazy + IntersectionObserver for below-fold dashboard cards
2. Load Recharts/d3 only when chart enters viewport
3. Defer DashboardOverview mount until after search bar paints
4. useMemo for tree data transformation; React.memo on tree row components
5. react-window virtualization for trees with 100+ nodes
6. Replace MuiCollapse height animation with transform/opacity OR use CSS 
transition on max-height with will-change: transform to avoid non-composited 
animations
7. DashboardSkeleton during API wait; no layout shift when data loads



Acceptance Criteria:
 * d3/Recharts not in initial critical path on search route
 * Charts render when scrolled into viewport
 * Lighthouse {{non-composited-animations}} = 0 (or ≤ 2 acceptable)
 * Expand/collapse does not re-render entire tree
 * CLS ≤ 0.1 after tree interactions
 * QuickSearch usable before full typedef load completes



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to