Repository navigation
Conversation
grigasp
reviewed
Sep 2, 2026
grigasp
left a comment
Member
There was a problem hiding this comment.
This is good as a list of technical changes that were made. However, I think if I was a consumer and saw this huge list of changes I would get scared more than excited about the new stuff.
Any ideas how we could:
- Expose the new features and improvements better, so anyone looking at the changelog document (or some other document) would want to upgrade?
- Reassure consumers that migration is maybe not as painful as it might look like?
Contributor
Author
Changed, have a look |
There was a problem hiding this comment.
Tree-Widget Next benchmark
| Benchmark suite | Current: e423fe8 | Previous: 4d29129 | Deviation | Status |
|---|---|---|---|---|
models tree 50k 3D elements search > get search paths |
577 ms |
833 ms |
-30.73% |
✅ |
models tree 50k 3D elements search > get search paths (P95 of main thread blocks) |
35 ms |
53 ms |
-33.96% |
〰️ |
models tree 50k 3D elements search > load hierarchy from search paths |
72167 ms |
87485 ms |
-17.51% |
✅ |
models tree 50k 3D elements search > load hierarchy from search paths (P95 of main thread blocks) |
30 ms |
36 ms |
-16.67% |
〰️ |
models tree 50k categories > collect nodes |
1577 ms |
2439 ms |
-35.34% |
✅ |
models tree 50k categories > collect nodes (P95 of main thread blocks) |
65 ms |
95 ms |
-31.58% |
〰️ |
models tree 50k categories > validate initial visibility |
2005 ms |
2641 ms |
-24.08% |
✅ |
models tree 50k categories > validate initial visibility (P95 of main thread blocks) |
143 ms |
188 ms |
-23.94% |
〰️ |
models tree 50k categories > change visibility |
146 ms |
204 ms |
-28.43% |
✅ |
models tree 50k categories > change visibility (P95 of main thread blocks) |
45 ms |
56 ms |
-19.64% |
〰️ |
models tree 50k categories > validate changed visibility |
1829 ms |
2584 ms |
-29.22% |
✅ |
models tree 50k categories > validate changed visibility (P95 of main thread blocks) |
0 ms |
25 ms |
-100% |
〰️ |
models tree 50k 3D elements > collect nodes |
26657 ms |
34602 ms |
-22.96% |
✅ |
models tree 50k 3D elements > collect nodes (P95 of main thread blocks) |
30 ms |
100 ms |
-70% |
✅ |
models tree 50k 3D elements > validate initial visibility |
1253 ms |
1473 ms |
-14.94% |
✅ |
models tree 50k 3D elements > validate initial visibility (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
models tree 50k 3D elements > change model visibility |
59 ms |
106 ms |
-44.34% |
〰️ |
models tree 50k 3D elements > change model visibility (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
models tree 50k 3D elements > validate changed model visibility |
1753 ms |
2262 ms |
-22.50% |
✅ |
models tree 50k 3D elements > validate changed model visibility (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
models tree 50k 3D elements > change category node visibility |
333 ms |
512 ms |
-34.96% |
✅ |
models tree 50k 3D elements > change category node visibility (P95 of main thread blocks) |
28 ms |
57 ms |
-50.88% |
〰️ |
models tree 50k 3D elements > validate changed category visibility |
1364 ms |
1765 ms |
-22.72% |
✅ |
models tree 50k 3D elements > validate changed category visibility (P95 of main thread blocks) |
28 ms |
114 ms |
-75.44% |
✅ |
models tree 50k 3D elements > validate per-model category override |
1297 ms |
1557 ms |
-16.70% |
✅ |
models tree 50k 3D elements > validate per-model category override (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
models tree 50k 3D elements > change element visibility |
39 ms |
44 ms |
-11.36% |
〰️ |
models tree 50k 3D elements > change element visibility (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
models tree 50k 3D elements > validate changed element visibility |
1603 ms |
2312 ms |
-30.67% |
✅ |
models tree 50k 3D elements > validate changed element visibility (P95 of main thread blocks) |
29 ms |
58 ms |
-50% |
〰️ |
models tree 50k 3D child elements with different categories > collect nodes |
32478 ms |
44093 ms |
-26.34% |
✅ |
models tree 50k 3D child elements with different categories > collect nodes (P95 of main thread blocks) |
37 ms |
78 ms |
-52.56% |
〰️ |
models tree 50k 3D child elements with different categories > validate initial visibility |
1517 ms |
2360 ms |
-35.72% |
✅ |
models tree 50k 3D child elements with different categories > validate initial visibility (P95 of main thread blocks) |
0 ms |
23 ms |
-100% |
〰️ |
models tree 50k 3D child elements with different categories > change visibility |
52 ms |
50 ms |
4% |
〰️ |
models tree 50k 3D child elements with different categories > change visibility (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
models tree 50k 3D child elements with different categories > validate changed visibility |
4215 ms |
5683 ms |
-25.83% |
✅ |
models tree 50k 3D child elements with different categories > validate changed visibility (P95 of main thread blocks) |
42 ms |
90 ms |
-53.33% |
〰️ |
models tree 50k 3D child elements with different categories and excluded classes > collect nodes |
32733 ms |
44156 ms |
-25.87% |
✅ |
models tree 50k 3D child elements with different categories and excluded classes > collect nodes (P95 of main thread blocks) |
37 ms |
79 ms |
-53.16% |
〰️ |
models tree 50k 3D child elements with different categories and excluded classes > validate initial visibility |
2140 ms |
2496 ms |
-14.26% |
✅ |
models tree 50k 3D child elements with different categories and excluded classes > validate initial visibility (P95 of main thread blocks) |
48 ms |
77 ms |
-37.66% |
〰️ |
models tree 50k 3D child elements with different categories and excluded classes > change visibility |
51 ms |
52 ms |
-1.92% |
〰️ |
models tree 50k 3D child elements with different categories and excluded classes > change visibility (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
models tree 50k 3D child elements with different categories and excluded classes > validate changed visibility |
5834 ms |
7063 ms |
-17.40% |
✅ |
models tree 50k 3D child elements with different categories and excluded classes > validate changed visibility (P95 of main thread blocks) |
57 ms |
106 ms |
-46.23% |
〰️ |
categories tree 50k subCategories search > get search paths |
678 ms |
955 ms |
-29.01% |
✅ |
categories tree 50k subCategories search > get search paths (P95 of main thread blocks) |
67 ms |
74 ms |
-9.46% |
〰️ |
categories tree 50k subCategories search > load hierarchy from search paths |
3458 ms |
5732 ms |
-39.67% |
✅ |
categories tree 50k subCategories search > load hierarchy from search paths (P95 of main thread blocks) |
29 ms |
60 ms |
-51.67% |
〰️ |
categories tree 50k subCategories > collect nodes |
3361 ms |
5539 ms |
-39.32% |
✅ |
categories tree 50k subCategories > collect nodes (P95 of main thread blocks) |
24 ms |
41 ms |
-41.46% |
〰️ |
categories tree 50k subCategories > validate initial visibility |
1017 ms |
1187 ms |
-14.32% |
✅ |
categories tree 50k subCategories > validate initial visibility (P95 of main thread blocks) |
0 ms |
26 ms |
-100% |
〰️ |
categories tree 50k subCategories > change visibility |
326 ms |
354 ms |
-7.91% |
〰️ |
categories tree 50k subCategories > change visibility (P95 of main thread blocks) |
0 ms |
0 ms |
0% |
🟰 |
categories tree 50k subCategories > validate changed visibility |
1001 ms |
1095 ms |
-8.58% |
〰️ |
categories tree 50k subCategories > validate changed visibility (P95 of main thread blocks) |
26 ms |
30 ms |
-13.33% |
〰️ |
categories tree 50k categories > collect nodes |
75766 ms |
90332 ms |
-16.12% |
✅ |
categories tree 50k categories > collect nodes (P95 of main thread blocks) |
34 ms |
65 ms |
-47.69% |
〰️ |
categories tree 50k categories > validate initial visibility |
4679 ms |
6274 ms |
-25.42% |
✅ |
categories tree 50k categories > validate initial visibility (P95 of main thread blocks) |
78 ms |
196 ms |
-60.20% |
✅ |
categories tree 50k categories > change visibility |
624 ms |
798 ms |
-21.80% |
✅ |
categories tree 50k categories > change visibility (P95 of main thread blocks) |
43 ms |
49 ms |
-12.24% |
〰️ |
categories tree 50k categories > validate changed visibility |
4311 ms |
5825 ms |
-25.99% |
✅ |
categories tree 50k categories > validate changed visibility (P95 of main thread blocks) |
25 ms |
37 ms |
-32.43% |
〰️ |
categories tree 50k categories and excluded classes > collect nodes |
75293 ms |
92505 ms |
-18.61% |
✅ |
categories tree 50k categories and excluded classes > collect nodes (P95 of main thread blocks) |
36 ms |
166 ms |
-78.31% |
✅ |
categories tree 50k categories and excluded classes > validate initial visibility |
5076 ms |
7330 ms |
-30.75% |
✅ |
categories tree 50k categories and excluded classes > validate initial visibility (P95 of main thread blocks) |
129 ms |
97 ms |
32.99% |
〰️ |
categories tree 50k categories and excluded classes > change visibility |
633 ms |
831 ms |
-23.83% |
✅ |
categories tree 50k categories and excluded classes > change visibility (P95 of main thread blocks) |
54 ms |
80 ms |
-32.50% |
〰️ |
categories tree 50k categories and excluded classes > validate changed visibility |
5996 ms |
8410 ms |
-28.70% |
✅ |
categories tree 50k categories and excluded classes > validate changed visibility (P95 of main thread blocks) |
0 ms |
33 ms |
-100% |
〰️ |
classifications tree 50k classifications search > get search paths |
1480 ms |
2316 ms |
-36.10% |
✅ |
classifications tree 50k classifications search > get search paths (P95 of main thread blocks) |
124 ms |
206 ms |
-39.81% |
✅ |
classifications tree 50k classifications search > load hierarchy from search paths |
38408 ms |
47346 ms |
-18.88% |
✅ |
classifications tree 50k classifications search > load hierarchy from search paths (P95 of main thread blocks) |
0 ms |
27 ms |
-100% |
〰️ |
classifications tree 50k classifications > collect nodes |
9126 ms |
16928 ms |
-46.09% |
✅ |
classifications tree 50k classifications > collect nodes (P95 of main thread blocks) |
0 ms |
48 ms |
-100% |
〰️ |
classifications tree 50k classifications > validate initial visibility |
6100 ms |
10738 ms |
-43.19% |
✅ |
classifications tree 50k classifications > validate initial visibility (P95 of main thread blocks) |
2397 ms |
7819 ms |
-69.34% |
✅ |
classifications tree 50k classifications > change visibility |
117 ms |
170 ms |
-31.18% |
✅ |
classifications tree 50k classifications > change visibility (P95 of main thread blocks) |
0 ms |
26 ms |
-100% |
〰️ |
classifications tree 50k classifications > validate changed visibility |
2477 ms |
3719 ms |
-33.40% |
✅ |
classifications tree 50k classifications > validate changed visibility (P95 of main thread blocks) |
46 ms |
77 ms |
-40.26% |
〰️ |
classifications tree 50k classifications and excluded classes > collect nodes |
10162 ms |
18363 ms |
-44.66% |
✅ |
classifications tree 50k classifications and excluded classes > collect nodes (P95 of main thread blocks) |
27 ms |
39 ms |
-30.77% |
〰️ |
classifications tree 50k classifications and excluded classes > validate initial visibility |
5510 ms |
12511 ms |
-55.96% |
✅ |
classifications tree 50k classifications and excluded classes > validate initial visibility (P95 of main thread blocks) |
3197 ms |
9846 ms |
-67.53% |
✅ |
classifications tree 50k classifications and excluded classes > change visibility |
115 ms |
161 ms |
-28.57% |
〰️ |
classifications tree 50k classifications and excluded classes > change visibility (P95 of main thread blocks) |
0 ms |
22 ms |
-100% |
〰️ |
classifications tree 50k classifications and excluded classes > validate changed visibility |
2423 ms |
3527 ms |
-31.30% |
✅ |
classifications tree 50k classifications and excluded classes > validate changed visibility (P95 of main thread blocks) |
46 ms |
53 ms |
-13.21% |
〰️ |
This comment was automatically generated by workflow using github-action-benchmark.
grigasp
reviewed
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #1737
To release v4, it should be enough to remove all other existing changesets and keep only
v4-major/minor/patch.Until v4 is released for each new change we should:
MigrationGuide.md,README.mdandv4-major/minor/patchchangeset if applicable.This is almost done, the only thing left is to update the
performancesection. I think it is a good idea to complete #1793 and #1569 before finishing this, as they will alter the performance results.