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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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