Skip to content

Conversation

@JonasDov
Copy link
Contributor

part of #1510.
This was happening when all conditions below were met:

  1. Models' elements have categories and those categories don't have a single root element.
  2. There are elements in always/never drawn list.
  3. Some categories (from 1st step) are visible due to category selector or per model override.
  4. Always drawn exclusive flag is set to true.

In such cases adding element to exclusive always drawn list would cause models of other elements to have partial visibility even though all elements of that model are not visible.

@JonasDov JonasDov requested review from a team as code owners November 18, 2025 13:09
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tree-Widget benchmark

Benchmark suite Current: dee6234 Previous: 9f6e677 Deviation Status
categories tree creates initial filtered view for 50k items 1499.26 ms 1333.65 ms 12.42% 🚨
categories tree creates initial filtered view for 50k items (P95 of main thread blocks) 454 ms 281 ms 61.57% 🚨
categories tree changing definition container visibility changes visibility for 50k subCategories 5964.54 ms 7562.56 ms -21.13%
categories tree changing definition container visibility changes visibility for 50k subCategories (P95 of main thread blocks) 51 ms 57 ms -10.53% 〰️
categories tree changing definition container visibility changes visibility for 50k categories 7343.37 ms 10759.7 ms -31.75%
categories tree changing definition container visibility changes visibility for 50k categories (P95 of main thread blocks) 78 ms 97 ms -19.59% 〰️
models tree creates initial filtered view for 50k target items 923.46 ms 817.99 ms 12.89% 🚨
models tree creates initial filtered view for 50k target items (P95 of main thread blocks) 115 ms 144 ms -20.14% 〰️
models tree validates categories visibility for imodel with 50k categories 7806.63 ms 7821.27 ms -0.19% 〰️
models tree validates categories visibility for imodel with 50k categories (P95 of main thread blocks) 82 ms 82 ms 0% 🟰
models tree changing model visibility changes visibility for 50k elements 2413.1 ms 2369.85 ms 1.83% 〰️
models tree changing model visibility changes visibility for 50k elements (P95 of main thread blocks) 0 ms 0 ms 0% 🟰
models tree changing category visibility changes visibility for 50k elements 2394.83 ms 2624.12 ms -8.74% 〰️
models tree changing category visibility changes visibility for 50k elements (P95 of main thread blocks) 0 ms 121 ms -100%
models tree changing per-model-category override changes visibility for 50k elements 2354.25 ms 2489.13 ms -5.42% 〰️
models tree changing per-model-category override changes visibility for 50k elements (P95 of main thread blocks) 0 ms 0 ms 0% 🟰
models tree changing element visibility changes only parent nodes visibility with 50k elements 4703.68 ms 4443.8 ms 5.85% 〰️
models tree changing element visibility changes only parent nodes visibility with 50k elements (P95 of main thread blocks) 97 ms 67 ms 44.78% 〰️

This comment was automatically generated by workflow using github-action-benchmark.

…e04083.json

Co-authored-by: Grigas <35135765+grigasp@users.noreply.github.com>
@JonasDov JonasDov enabled auto-merge (squash) November 18, 2025 13:54
@JonasDov JonasDov merged commit c74b50f into master Nov 18, 2025
14 checks passed
@JonasDov JonasDov deleted the JonasD/always-drawn-exclusive-fix branch November 18, 2025 14:11
@grigasp grigasp linked an issue Nov 19, 2025 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tree widget: unexpected interaction with isolated elements

3 participants