Skip to content

perf(sdui): virtualize SduiTreeBuilder (no full Column of expanded nodes) #420

Description

@ZhuchkaTriplesix

Parent

Part of #414

Problem

SduiTreeBuilder builds a SingleChildScrollView + recursive Column of all expanded nodes. _replaceNode rebuilds ancestor lists on expand. Large schemas → O(visible tree) widgets and O(tree) copies per expand.

Evidence

  • lib/core/sdui/sdui_tree_builder.dart (~91–125, expand path)

Acceptance

  • Only viewport-visible rows are built (ListView / flattened visible list)
  • Expand/collapse does not deep-copy entire tree unnecessarily
  • Smoke with large mock tree (thousands of nodes)

Suggested fix

Flatten visible rows; ListView.builder; mutate children in place or index by id.

Metadata

Metadata

Labels

coreCore library logic and servicesperformanceTheme parser epic label: performanceuiUser interface components and widgets

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions