[ 
https://issues.apache.org/jira/browse/ATLAS-5395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prasad P. Pawar updated ATLAS-5395:
-----------------------------------
        Parent:     (was: ATLAS-5349)
    Issue Type: Task  (was: Sub-task)

> 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: Task
>          Components: atlas-webui
>    Affects Versions: 3.0.0
>            Reporter: Prasad P. Pawar
>            Assignee: Prasad P. Pawar
>            Priority: Major
>
> 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