com.wallstop-studios.unity-helpers 2.0.4 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/Docs/DATA_STRUCTURES.md +7 -7
  2. package/Docs/EFFECTS_SYSTEM.md +836 -8
  3. package/Docs/EFFECTS_SYSTEM_TUTORIAL.md +77 -18
  4. package/Docs/HULLS.md +2 -2
  5. package/Docs/ILIST_SORTING_PERFORMANCE.md +92 -0
  6. package/Docs/ILIST_SORTING_PERFORMANCE.md.meta +7 -0
  7. package/Docs/INDEX.md +10 -1
  8. package/Docs/Images/random_generators.svg +7 -7
  9. package/Docs/RANDOM_PERFORMANCE.md +18 -15
  10. package/Docs/REFLECTION_HELPERS.md +1 -1
  11. package/Docs/RELATIONAL_COMPONENTS.md +51 -6
  12. package/Docs/SERIALIZATION.md +1 -1
  13. package/Docs/SINGLETONS.md +2 -2
  14. package/Docs/SPATIAL_TREES_2D_GUIDE.md +3 -3
  15. package/Docs/SPATIAL_TREES_3D_GUIDE.md +3 -3
  16. package/Docs/SPATIAL_TREE_2D_PERFORMANCE.md +64 -64
  17. package/Docs/SPATIAL_TREE_3D_PERFORMANCE.md +64 -64
  18. package/Docs/SPATIAL_TREE_SEMANTICS.md +7 -7
  19. package/Editor/Core/Helper/AnimationEventHelpers.cs +1 -1
  20. package/Editor/CustomDrawers/WShowIfPropertyDrawer.cs +131 -41
  21. package/Editor/Utils/ScriptableObjectSingletonCreator.cs +175 -18
  22. package/README.md +42 -18
  23. package/Runtime/Core/Extension/IListExtensions.cs +720 -12
  24. package/Runtime/Core/Helper/UnityMainThreadDispatcher.cs +2 -3
  25. package/Runtime/Core/Random/AbstractRandom.cs +52 -5
  26. package/Runtime/Core/Random/DotNetRandom.cs +3 -3
  27. package/Runtime/Core/Random/FlurryBurstRandom.cs +285 -0
  28. package/Runtime/Core/Random/FlurryBurstRandom.cs.meta +3 -0
  29. package/Runtime/Core/Random/IllusionFlow.cs +3 -3
  30. package/Runtime/Core/Random/LinearCongruentialGenerator.cs +3 -3
  31. package/Runtime/Core/Random/PcgRandom.cs +6 -6
  32. package/Runtime/Core/Random/PhotonSpinRandom.cs +387 -0
  33. package/Runtime/Core/Random/PhotonSpinRandom.cs.meta +3 -0
  34. package/Runtime/Core/Random/RomuDuo.cs +3 -3
  35. package/Runtime/Core/Random/SplitMix64.cs +3 -3
  36. package/Runtime/Core/Random/SquirrelRandom.cs +6 -4
  37. package/Runtime/Core/Random/StormDropRandom.cs +271 -0
  38. package/Runtime/Core/Random/StormDropRandom.cs.meta +3 -0
  39. package/Runtime/Core/Random/UnityRandom.cs +3 -3
  40. package/Runtime/Core/Random/WyRandom.cs +6 -4
  41. package/Runtime/Core/Random/XorShiftRandom.cs +3 -3
  42. package/Runtime/Core/Random/XoroShiroRandom.cs +3 -3
  43. package/Runtime/Tags/Attribute.cs +144 -24
  44. package/Runtime/Tags/AttributeEffect.cs +119 -16
  45. package/Runtime/Tags/AttributeMetadataCache.cs +312 -3
  46. package/Runtime/Tags/AttributeModification.cs +59 -29
  47. package/Runtime/Tags/AttributesComponent.cs +20 -0
  48. package/Runtime/Tags/EffectBehavior.cs +171 -0
  49. package/Runtime/Tags/EffectBehavior.cs.meta +4 -0
  50. package/Runtime/Tags/EffectHandle.cs +5 -0
  51. package/Runtime/Tags/EffectHandler.cs +385 -39
  52. package/Runtime/Tags/EffectStackKey.cs +79 -0
  53. package/Runtime/Tags/EffectStackKey.cs.meta +4 -0
  54. package/Runtime/Tags/PeriodicEffectDefinition.cs +102 -0
  55. package/Runtime/Tags/PeriodicEffectDefinition.cs.meta +4 -0
  56. package/Runtime/Tags/PeriodicEffectRuntimeState.cs +40 -0
  57. package/Runtime/Tags/PeriodicEffectRuntimeState.cs.meta +4 -0
  58. package/Samples~/DI - Zenject/README.md +0 -2
  59. package/Tests/Editor/Attributes/WShowIfPropertyDrawerTests.cs +285 -0
  60. package/Tests/Editor/Attributes/WShowIfPropertyDrawerTests.cs.meta +11 -0
  61. package/Tests/Editor/Core/Attributes/RelationalComponentAssignerTests.cs +2 -2
  62. package/Tests/Editor/Tags/AttributeMetadataCacheTests.cs +192 -0
  63. package/Tests/Editor/Tags/AttributeMetadataCacheTests.cs.meta +11 -0
  64. package/{node_modules.meta → Tests/Editor/Tags.meta} +1 -1
  65. package/Tests/Editor/Utils/ScriptableObjectSingletonTests.cs +41 -0
  66. package/Tests/Runtime/Extensions/IListExtensionTests.cs +187 -1
  67. package/Tests/Runtime/Helper/ObjectsTests.cs +3 -3
  68. package/Tests/Runtime/Integrations/Reflex/RelationalComponentsReflexTests.cs +2 -2
  69. package/Tests/Runtime/Performance/IListSortingPerformanceTests.cs +346 -0
  70. package/Tests/Runtime/Performance/IListSortingPerformanceTests.cs.meta +11 -0
  71. package/Tests/Runtime/Performance/RandomPerformanceTests.cs +3 -0
  72. package/Tests/Runtime/Random/FlurryBurstRandomTests.cs +12 -0
  73. package/Tests/Runtime/Random/FlurryBurstRandomTests.cs.meta +3 -0
  74. package/Tests/Runtime/Random/PhotonSpinRandomTests.cs +12 -0
  75. package/Tests/Runtime/Random/PhotonSpinRandomTests.cs.meta +3 -0
  76. package/Tests/Runtime/Random/RandomProtoSerializationTests.cs +14 -0
  77. package/Tests/Runtime/Random/RandomTestBase.cs +39 -4
  78. package/Tests/Runtime/Random/StormDropRandomTests.cs +12 -0
  79. package/Tests/Runtime/Random/StormDropRandomTests.cs.meta +3 -0
  80. package/Tests/Runtime/Serialization/JsonSerializationTest.cs +4 -3
  81. package/Tests/Runtime/Serialization/ProtoInterfaceResolutionEdgeTests.cs +2 -2
  82. package/Tests/Runtime/Serialization/ProtoRootRegistrationTests.cs +1 -1
  83. package/Tests/Runtime/Serialization/ProtoSerializeBehaviorTests.cs +1 -1
  84. package/Tests/Runtime/Tags/AttributeEffectTests.cs +135 -0
  85. package/Tests/Runtime/Tags/AttributeEffectTests.cs.meta +3 -0
  86. package/Tests/Runtime/Tags/AttributeModificationTests.cs +137 -0
  87. package/Tests/Runtime/Tags/AttributeTests.cs +192 -0
  88. package/Tests/Runtime/Tags/AttributeTests.cs.meta +3 -0
  89. package/Tests/Runtime/Tags/EffectBehaviorTests.cs +184 -0
  90. package/Tests/Runtime/Tags/EffectBehaviorTests.cs.meta +3 -0
  91. package/Tests/Runtime/Tags/EffectHandlerTests.cs +618 -0
  92. package/Tests/Runtime/Tags/Helpers/RecordingEffectBehavior.cs +89 -0
  93. package/Tests/Runtime/Tags/Helpers/RecordingEffectBehavior.cs.meta +4 -0
  94. package/Tests/Runtime/Tags/PeriodicEffectDefinitionSerializationTests.cs +92 -0
  95. package/Tests/Runtime/Tags/PeriodicEffectDefinitionSerializationTests.cs.meta +3 -0
  96. package/package.json +1 -1
  97. package/scripts/lint-doc-links.ps1 +156 -11
  98. package/Tests/Runtime/Tags/AttributeDataTests.cs +0 -312
  99. /package/Tests/Runtime/Tags/{AttributeDataTests.cs.meta → AttributeModificationTests.cs.meta} +0 -0
@@ -32,34 +32,34 @@ This document contains performance benchmarks for the 2D spatial tree implementa
32
32
 
33
33
  | Construction | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
34
34
  | ----------------- | ------------------- | --------------------- | ---------- | ---------- |
35
- | 1,000,000 entries | 3 (0.325s) | 4 (0.218s) | 4 (0.221s) | 1 (0.595s) |
35
+ | 1,000,000 entries | 4 (0.247s) | 6 (0.158s) | 3 (0.260s) | 2 (0.371s) |
36
36
 
37
37
  ##### Elements In Range
38
38
 
39
39
  | Elements In Range | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
40
40
  | --------------------------- | ------------------- | --------------------- | ---------- | ------- |
41
- | Full (~span/2) (r=499.5) | 58 | 58 | 56 | 7 |
42
- | Half (~span/4) (r=249.8) | 236 | 238 | 215 | 28 |
43
- | Quarter (~span/8) (r=124.9) | 945 | 946 | 815 | 119 |
44
- | Tiny (~span/1000) (r=1) | 103,233 | 105,580 | 142,838 | 107,126 |
41
+ | Full (~span/2) (r=499.5) | 59 | 57 | 56 | 7 |
42
+ | Half (~span/4) (r=249.8) | 238 | 237 | 212 | 28 |
43
+ | Quarter (~span/8) (r=124.9) | 946 | 947 | 810 | 117 |
44
+ | Tiny (~span/1000) (r=1) | 98,434 | 105,450 | 143,326 | 100,262 |
45
45
 
46
46
  ##### Get Elements In Bounds
47
47
 
48
48
  | Get Elements In Bounds | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
49
49
  | -------------------------- | ------------------- | --------------------- | ---------- | ------- |
50
- | Full (size=999.0x999.0) | 314 | 325 | 344 | 17 |
51
- | Half (size=499.5x499.5) | 1,730 | 1,822 | 1,238 | 73 |
52
- | Quarter (size=249.8x249.8) | 7,188 | 7,170 | 3,867 | 379 |
53
- | Unit (size=1) | 149,753 | 153,363 | 197,026 | 113,010 |
50
+ | Full (size=999.0x999.0) | 403 | 424 | 408 | 17 |
51
+ | Half (size=499.5x499.5) | 1,801 | 1,805 | 1,233 | 86 |
52
+ | Quarter (size=249.8x249.8) | 6,931 | 6,919 | 3,796 | 378 |
53
+ | Unit (size=1) | 144,441 | 147,676 | 190,607 | 108,770 |
54
54
 
55
55
  ##### Approximate Nearest Neighbors
56
56
 
57
57
  | Approximate Nearest Neighbors | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
58
58
  | ----------------------------- | ------------------- | --------------------- | ---------- | ------- |
59
- | 500 neighbors | 8,466 | 16,873 | 12,696 | 70,046 |
60
- | 100 neighbors | 78,952 | 76,476 | 78,720 | 171,372 |
61
- | 10 neighbors | 375,484 | 377,708 | 251,988 | 277,491 |
62
- | 1 neighbor | 551,002 | 508,239 | 276,379 | 299,010 |
59
+ | 500 neighbors | 8,215 | 16,455 | 12,373 | 66,023 |
60
+ | 100 neighbors | 71,589 | 76,394 | 76,066 | 175,563 |
61
+ | 10 neighbors | 396,400 | 353,706 | 232,223 | 282,978 |
62
+ | 1 neighbor | 515,059 | 521,836 | 289,193 | 297,522 |
63
63
 
64
64
  #### **100,000 entries**
65
65
 
@@ -67,34 +67,34 @@ This document contains performance benchmarks for the 2D spatial tree implementa
67
67
 
68
68
  | Construction | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
69
69
  | --------------- | ------------------- | --------------------- | ----------- | ----------- |
70
- | 100,000 entries | 50 (0.020s) | 83 (0.012s) | 50 (0.020s) | 49 (0.020s) |
70
+ | 100,000 entries | 49 (0.020s) | 84 (0.012s) | 49 (0.020s) | 49 (0.020s) |
71
71
 
72
72
  ##### Elements In Range
73
73
 
74
74
  | Elements In Range | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
75
75
  | --------------------------- | ------------------- | --------------------- | ---------- | ------- |
76
- | Full (~span/2) (r=199.5) | 602 | 602 | 600 | 73 |
77
- | Half (~span/4) (r=99.75) | 1,355 | 1,359 | 1,248 | 185 |
78
- | Quarter (~span/8) (r=49.88) | 4,672 | 5,178 | 4,300 | 723 |
79
- | Tiny (~span/1000) (r=1) | 127,810 | 128,060 | 179,544 | 145,029 |
76
+ | Full (~span/2) (r=199.5) | 602 | 584 | 601 | 72 |
77
+ | Half (~span/4) (r=99.75) | 1,356 | 1,315 | 1,248 | 184 |
78
+ | Quarter (~span/8) (r=49.88) | 4,666 | 5,014 | 4,227 | 722 |
79
+ | Tiny (~span/1000) (r=1) | 123,692 | 124,176 | 177,014 | 144,611 |
80
80
 
81
81
  ##### Get Elements In Bounds
82
82
 
83
83
  | Get Elements In Bounds | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
84
84
  | -------------------------- | ------------------- | --------------------- | ---------- | ------- |
85
- | Full (size=399.0x249.0) | 4,436 | 4,468 | 4,702 | 235 |
86
- | Half (size=199.5x124.5) | 9,433 | 11,669 | 7,996 | 967 |
87
- | Quarter (size=99.75x62.25) | 25,419 | 32,186 | 19,754 | 3,805 |
88
- | Unit (size=1) | 184,712 | 185,636 | 245,390 | 155,220 |
85
+ | Full (size=399.0x249.0) | 4,397 | 4,479 | 4,616 | 235 |
86
+ | Half (size=199.5x124.5) | 9,286 | 11,932 | 8,002 | 967 |
87
+ | Quarter (size=99.75x62.25) | 24,540 | 32,163 | 19,726 | 3,738 |
88
+ | Unit (size=1) | 183,028 | 184,582 | 244,412 | 152,512 |
89
89
 
90
90
  ##### Approximate Nearest Neighbors
91
91
 
92
92
  | Approximate Nearest Neighbors | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
93
93
  | ----------------------------- | ------------------- | --------------------- | ---------- | ------- |
94
- | 500 neighbors | 9,986 | 9,929 | 11,705 | 69,966 |
95
- | 100 neighbors | 49,779 | 87,233 | 55,229 | 233,211 |
96
- | 10 neighbors | 470,175 | 394,286 | 294,299 | 352,517 |
97
- | 1 neighbor | 509,623 | 544,160 | 314,046 | 350,724 |
94
+ | 500 neighbors | 9,966 | 9,639 | 11,541 | 69,208 |
95
+ | 100 neighbors | 49,796 | 90,353 | 53,438 | 230,407 |
96
+ | 10 neighbors | 466,552 | 387,689 | 277,034 | 345,328 |
97
+ | 1 neighbor | 473,688 | 532,273 | 307,580 | 352,576 |
98
98
 
99
99
  #### **10,000 entries**
100
100
 
@@ -102,34 +102,34 @@ This document contains performance benchmarks for the 2D spatial tree implementa
102
102
 
103
103
  | Construction | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
104
104
  | -------------- | ------------------- | --------------------- | ------------ | ------------ |
105
- | 10,000 entries | 533 (0.002s) | 796 (0.001s) | 408 (0.002s) | 507 (0.002s) |
105
+ | 10,000 entries | 529 (0.002s) | 815 (0.001s) | 455 (0.002s) | 512 (0.002s) |
106
106
 
107
107
  ##### Elements In Range
108
108
 
109
109
  | Elements In Range | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
110
110
  | --------------------------- | ------------------- | --------------------- | ---------- | ------- |
111
- | Full (~span/2) (r=49.50) | 5,944 | 5,941 | 5,936 | 735 |
112
- | Half (~span/4) (r=24.75) | 22,272 | 22,233 | 13,861 | 2,919 |
113
- | Quarter (~span/8) (r=12.38) | 44,278 | 51,526 | 38,041 | 12,217 |
114
- | Tiny (~span/1000) (r=1) | 167,798 | 162,582 | 223,371 | 168,224 |
111
+ | Full (~span/2) (r=49.50) | 5,942 | 5,947 | 5,797 | 734 |
112
+ | Half (~span/4) (r=24.75) | 22,301 | 22,284 | 13,857 | 2,923 |
113
+ | Quarter (~span/8) (r=12.38) | 44,114 | 51,456 | 36,995 | 12,213 |
114
+ | Tiny (~span/1000) (r=1) | 167,221 | 162,154 | 233,341 | 166,907 |
115
115
 
116
116
  ##### Get Elements In Bounds
117
117
 
118
118
  | Get Elements In Bounds | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
119
119
  | -------------------------- | ------------------- | --------------------- | ---------- | ------- |
120
- | Full (size=99.00x99.00) | 45,222 | 44,244 | 47,466 | 2,412 |
121
- | Half (size=49.50x49.50) | 167,135 | 166,097 | 36,985 | 9,274 |
122
- | Quarter (size=24.75x24.75) | 76,007 | 104,425 | 74,227 | 35,573 |
123
- | Unit (size=1) | 242,092 | 234,546 | 320,164 | 181,677 |
120
+ | Full (size=99.00x99.00) | 45,269 | 43,416 | 46,564 | 2,420 |
121
+ | Half (size=49.50x49.50) | 167,232 | 141,687 | 36,664 | 9,265 |
122
+ | Quarter (size=24.75x24.75) | 75,491 | 101,011 | 73,844 | 34,489 |
123
+ | Unit (size=1) | 240,188 | 227,996 | 309,160 | 174,684 |
124
124
 
125
125
  ##### Approximate Nearest Neighbors
126
126
 
127
127
  | Approximate Nearest Neighbors | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
128
128
  | ----------------------------- | ------------------- | --------------------- | ---------- | ------- |
129
- | 500 neighbors | 13,178 | 12,888 | 14,441 | 65,299 |
130
- | 100 neighbors | 62,415 | 57,120 | 96,738 | 235,553 |
131
- | 10 neighbors | 418,552 | 392,340 | 316,886 | 420,625 |
132
- | 1 neighbor | 595,519 | 632,000 | 372,667 | 433,485 |
129
+ | 500 neighbors | 13,200 | 13,025 | 14,094 | 62,841 |
130
+ | 100 neighbors | 62,347 | 57,224 | 94,155 | 234,789 |
131
+ | 10 neighbors | 417,844 | 385,871 | 306,896 | 415,602 |
132
+ | 1 neighbor | 597,726 | 605,838 | 372,639 | 428,203 |
133
133
 
134
134
  #### **1,000 entries**
135
135
 
@@ -137,34 +137,34 @@ This document contains performance benchmarks for the 2D spatial tree implementa
137
137
 
138
138
  | Construction | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
139
139
  | ------------- | ------------------- | --------------------- | -------------- | -------------- |
140
- | 1,000 entries | 4,672 (0.000s) | 5,611 (0.000s) | 4,847 (0.000s) | 4,764 (0.000s) |
140
+ | 1,000 entries | 4,083 (0.000s) | 5,184 (0.000s) | 5,015 (0.000s) | 4,734 (0.000s) |
141
141
 
142
142
  ##### Elements In Range
143
143
 
144
144
  | Elements In Range | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
145
145
  | -------------------------- | ------------------- | --------------------- | ---------- | ------- |
146
- | Full (~span/2) (r=24.50) | 58,142 | 56,029 | 57,082 | 7,394 |
147
- | Half (~span/4) (r=12.25) | 60,439 | 76,572 | 57,123 | 14,698 |
148
- | Quarter (~span/8) (r=6.13) | 95,988 | 108,457 | 95,703 | 37,920 |
149
- | Tiny (~span/1000) (r=1) | 239,460 | 237,275 | 333,071 | 251,518 |
146
+ | Full (~span/2) (r=24.50) | 58,157 | 57,216 | 55,735 | 7,410 |
147
+ | Half (~span/4) (r=12.25) | 60,401 | 74,867 | 55,646 | 14,536 |
148
+ | Quarter (~span/8) (r=6.13) | 95,855 | 104,856 | 92,720 | 36,861 |
149
+ | Tiny (~span/1000) (r=1) | 238,667 | 226,635 | 330,912 | 246,972 |
150
150
 
151
151
  ##### Get Elements In Bounds
152
152
 
153
153
  | Get Elements In Bounds | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
154
154
  | ------------------------- | ------------------- | --------------------- | ---------- | ------- |
155
- | Full (size=49.00x19.00) | 499,193 | 498,444 | 508,596 | 24,141 |
156
- | Half (size=24.50x9.5) | 167,532 | 291,283 | 126,274 | 75,139 |
157
- | Quarter (size=12.25x4.75) | 271,878 | 288,421 | 194,135 | 176,768 |
158
- | Unit (size=1) | 342,402 | 339,166 | 460,883 | 281,383 |
155
+ | Full (size=49.00x19.00) | 499,140 | 499,234 | 428,783 | 24,121 |
156
+ | Half (size=24.50x9.5) | 166,826 | 285,095 | 125,435 | 74,946 |
157
+ | Quarter (size=12.25x4.75) | 269,508 | 278,944 | 192,644 | 175,535 |
158
+ | Unit (size=1) | 339,865 | 325,878 | 430,380 | 279,436 |
159
159
 
160
160
  ##### Approximate Nearest Neighbors
161
161
 
162
162
  | Approximate Nearest Neighbors | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
163
163
  | ----------------------------- | ------------------- | --------------------- | ---------- | ------- |
164
- | 500 neighbors | 46,434 | 47,214 | 40,048 | 70,543 |
165
- | 100 neighbors | 80,837 | 77,933 | 91,884 | 267,760 |
166
- | 10 neighbors | 487,252 | 574,172 | 426,710 | 516,096 |
167
- | 1 neighbor | 754,604 | 618,120 | 404,966 | 594,659 |
164
+ | 500 neighbors | 44,952 | 44,992 | 39,051 | 70,210 |
165
+ | 100 neighbors | 80,437 | 75,964 | 89,052 | 271,927 |
166
+ | 10 neighbors | 489,189 | 560,687 | 410,907 | 497,753 |
167
+ | 1 neighbor | 754,167 | 586,966 | 400,770 | 571,875 |
168
168
 
169
169
  #### **100 entries**
170
170
 
@@ -172,33 +172,33 @@ This document contains performance benchmarks for the 2D spatial tree implementa
172
172
 
173
173
  | Construction | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
174
174
  | ------------ | ------------------- | --------------------- | --------------- | --------------- |
175
- | 100 entries | 37,174 (0.000s) | 3,938 (0.000s) | 10,384 (0.000s) | 21,978 (0.000s) |
175
+ | 100 entries | 39,682 (0.000s) | 24,213 (0.000s) | 25,839 (0.000s) | 21,598 (0.000s) |
176
176
 
177
177
  ##### Elements In Range
178
178
 
179
179
  | Elements In Range | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
180
180
  | -------------------------- | ------------------- | --------------------- | ---------- | ------- |
181
- | Full (~span/2) (r=4.5) | 505,197 | 462,582 | 480,895 | 72,679 |
182
- | Half (~span/4) (r=2.25) | 428,579 | 432,700 | 256,227 | 233,286 |
183
- | Quarter (~span/8) (r=1.13) | 422,859 | 432,362 | 601,655 | 318,360 |
184
- | Tiny (~span/1000) (r=1) | 406,482 | 433,055 | 601,161 | 339,515 |
181
+ | Full (~span/2) (r=4.5) | 502,463 | 470,481 | 510,232 | 70,387 |
182
+ | Half (~span/4) (r=2.25) | 414,623 | 418,953 | 256,757 | 227,109 |
183
+ | Quarter (~span/8) (r=1.13) | 413,902 | 419,061 | 594,832 | 328,502 |
184
+ | Tiny (~span/1000) (r=1) | 413,771 | 418,761 | 595,099 | 332,198 |
185
185
 
186
186
  ##### Get Elements In Bounds
187
187
 
188
188
  | Get Elements In Bounds | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
189
189
  | ------------------------ | ------------------- | --------------------- | ---------- | ------- |
190
- | Full (size=9x9) | 2,460,211 | 2,459,261 | 2,542,373 | 223,694 |
191
- | Half (size=4.5x4.5) | 572,726 | 561,349 | 365,082 | 372,098 |
192
- | Quarter (size=2.25x2.25) | 594,157 | 580,857 | 738,232 | 396,288 |
193
- | Unit (size=1) | 593,669 | 576,995 | 787,477 | 395,564 |
190
+ | Full (size=9x9) | 2,279,797 | 2,440,244 | 2,399,399 | 222,330 |
191
+ | Half (size=4.5x4.5) | 566,414 | 557,022 | 365,367 | 358,174 |
192
+ | Quarter (size=2.25x2.25) | 586,347 | 595,738 | 781,145 | 378,042 |
193
+ | Unit (size=1) | 586,344 | 546,990 | 781,899 | 365,952 |
194
194
 
195
195
  ##### Approximate Nearest Neighbors
196
196
 
197
197
  | Approximate Nearest Neighbors | KDTree2D (Balanced) | KDTree2D (Unbalanced) | QuadTree2D | RTree2D |
198
198
  | ----------------------------- | ------------------- | --------------------- | ---------- | ------- |
199
- | 100 neighbors (max) | 166,728 | 165,861 | 199,072 | 303,148 |
200
- | 10 neighbors | 610,079 | 520,568 | 639,716 | 735,646 |
201
- | 1 neighbor | 457,409 | 765,967 | 667,953 | 818,651 |
199
+ | 100 neighbors (max) | 165,518 | 148,266 | 188,796 | 303,865 |
200
+ | 10 neighbors | 606,013 | 409,928 | 587,065 | 727,089 |
201
+ | 1 neighbor | 623,002 | 744,154 | 663,384 | 809,173 |
202
202
 
203
203
  <!-- tabs:end -->
204
204
  <!-- SPATIAL_TREE_BENCHMARKS_END -->
@@ -33,34 +33,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
33
33
 
34
34
  | Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
35
35
  | ----------------- | ------------------- | --------------------- | ---------- | ---------- |
36
- | 1,000,000 entries | 2 (0.402s) | 3 (0.313s) | 2 (0.430s) | 2 (0.373s) |
36
+ | 1,000,000 entries | 2 (0.391s) | 3 (0.317s) | 2 (0.403s) | 2 (0.368s) |
37
37
 
38
38
  ##### Elements In Range
39
39
 
40
40
  | Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
41
41
  | --------------------------- | ------------------- | --------------------- | --------- | ------- |
42
- | Full (~span/2) (r=49.50) | 17 | 20 | 31 | 15 |
43
- | Half (~span/4) (r=24.75) | 127 | 153 | 215 | 150 |
44
- | Quarter (~span/8) (r=12.38) | 934 | 1,227 | 1,669 | 1,514 |
45
- | Tiny (~span/1000) (r=1) | 23,479 | 23,665 | 138,186 | 76,631 |
42
+ | Full (~span/2) (r=49.50) | 17 | 20 | 33 | 14 |
43
+ | Half (~span/4) (r=24.75) | 138 | 161 | 253 | 154 |
44
+ | Quarter (~span/8) (r=12.38) | 943 | 1,225 | 1,636 | 1,398 |
45
+ | Tiny (~span/1000) (r=1) | 23,633 | 23,399 | 138,242 | 61,388 |
46
46
 
47
47
  ##### Get Elements In Bounds
48
48
 
49
49
  | Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
50
50
  | -------------------------------- | ------------------- | --------------------- | --------- | ------- |
51
- | Full (size≈99.00x99.00x99.00) | 33 | 35 | 176 | 20 |
52
- | Half (size≈49.50x49.50x49.50) | 38 | 41 | 1,247 | 262 |
53
- | Quarter (size≈24.75x24.75x24.75) | 38 | 43 | 3,959 | 2,520 |
54
- | Unit (size=1) | 39 | 43 | 183,582 | 76,235 |
51
+ | Full (size≈99.00x99.00x99.00) | 35 | 38 | 204 | 20 |
52
+ | Half (size≈49.50x49.50x49.50) | 40 | 46 | 1,248 | 272 |
53
+ | Quarter (size≈24.75x24.75x24.75) | 41 | 48 | 4,043 | 2,459 |
54
+ | Unit (size=1) | 41 | 49 | 182,201 | 75,627 |
55
55
 
56
56
  ##### Approximate Nearest Neighbors
57
57
 
58
58
  | Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
59
59
  | ----------------------------- | ------------------- | --------------------- | --------- | ------- |
60
- | 500 neighbors | 5,895 | 10,193 | 2,302 | 305 |
61
- | 100 neighbors | 65,079 | 70,085 | 10,904 | 3,349 |
62
- | 10 neighbors | 403,144 | 416,692 | 16,000 | 7,663 |
63
- | 1 neighbor | 544,211 | 412,407 | 19,831 | 8,321 |
60
+ | 500 neighbors | 5,823 | 10,001 | 2,321 | 297 |
61
+ | 100 neighbors | 62,378 | 68,501 | 10,973 | 3,386 |
62
+ | 10 neighbors | 394,113 | 400,030 | 15,886 | 7,915 |
63
+ | 1 neighbor | 542,886 | 429,790 | 19,854 | 8,605 |
64
64
 
65
65
  #### **100,000 entries**
66
66
 
@@ -68,34 +68,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
68
68
 
69
69
  | Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
70
70
  | --------------- | ------------------- | --------------------- | ----------- | ----------- |
71
- | 100,000 entries | 34 (0.029s) | 47 (0.021s) | 64 (0.015s) | 43 (0.023s) |
71
+ | 100,000 entries | 34 (0.029s) | 48 (0.021s) | 65 (0.015s) | 43 (0.023s) |
72
72
 
73
73
  ##### Elements In Range
74
74
 
75
75
  | Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
76
76
  | --------------------------- | ------------------- | --------------------- | --------- | ------- |
77
- | Full (~span/2) (r=49.50) | 336 | 485 | 770 | 199 |
78
- | Half (~span/4) (r=24.75) | 1,019 | 1,445 | 2,040 | 853 |
79
- | Quarter (~span/8) (r=12.38) | 2,567 | 3,993 | 5,989 | 3,443 |
80
- | Tiny (~span/1000) (r=1) | 26,745 | 29,804 | 176,265 | 101,035 |
77
+ | Full (~span/2) (r=49.50) | 339 | 491 | 792 | 181 |
78
+ | Half (~span/4) (r=24.75) | 1,029 | 1,461 | 2,046 | 760 |
79
+ | Quarter (~span/8) (r=12.38) | 2,543 | 4,039 | 5,884 | 3,145 |
80
+ | Tiny (~span/1000) (r=1) | 26,019 | 29,892 | 177,305 | 81,121 |
81
81
 
82
82
  ##### Get Elements In Bounds
83
83
 
84
84
  | Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
85
85
  | ------------------------------- | ------------------- | --------------------- | --------- | ------- |
86
- | Full (size≈99.00x99.00x9) | 572 | 718 | 2,636 | 324 |
87
- | Half (size≈49.50x49.50x4.5) | 662 | 837 | 9,370 | 3,498 |
88
- | Quarter (size≈24.75x24.75x2.25) | 674 | 861 | 47,400 | 24,236 |
89
- | Unit (size=1) | 676 | 872 | 246,015 | 101,313 |
86
+ | Full (size≈99.00x99.00x9) | 610 | 762 | 2,614 | 346 |
87
+ | Half (size≈49.50x49.50x4.5) | 712 | 902 | 9,136 | 3,528 |
88
+ | Quarter (size≈24.75x24.75x2.25) | 729 | 930 | 46,338 | 23,782 |
89
+ | Unit (size=1) | 740 | 939 | 237,321 | 99,906 |
90
90
 
91
91
  ##### Approximate Nearest Neighbors
92
92
 
93
93
  | Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
94
94
  | ----------------------------- | ------------------- | --------------------- | --------- | ------- |
95
- | 500 neighbors | 6,708 | 11,996 | 1,629 | 271 |
96
- | 100 neighbors | 38,469 | 42,192 | 9,227 | 2,237 |
97
- | 10 neighbors | 420,942 | 218,972 | 19,122 | 7,481 |
98
- | 1 neighbor | 459,844 | 327,816 | 29,943 | 11,842 |
95
+ | 500 neighbors | 6,626 | 11,994 | 1,586 | 262 |
96
+ | 100 neighbors | 37,626 | 44,284 | 9,081 | 2,200 |
97
+ | 10 neighbors | 417,112 | 231,243 | 19,133 | 7,515 |
98
+ | 1 neighbor | 449,374 | 324,373 | 30,223 | 11,948 |
99
99
 
100
100
  #### **10,000 entries**
101
101
 
@@ -103,34 +103,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
103
103
 
104
104
  | Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
105
105
  | -------------- | ------------------- | --------------------- | ------------ | ------------ |
106
- | 10,000 entries | 378 (0.003s) | 467 (0.002s) | 585 (0.002s) | 442 (0.002s) |
106
+ | 10,000 entries | 451 (0.002s) | 454 (0.002s) | 605 (0.002s) | 196 (0.005s) |
107
107
 
108
108
  ##### Elements In Range
109
109
 
110
110
  | Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
111
111
  | --------------------------- | ------------------- | --------------------- | --------- | ------- |
112
- | Full (~span/2) (r=49.50) | 4,775 | 4,609 | 8,940 | 2,207 |
113
- | Half (~span/4) (r=24.75) | 5,940 | 6,484 | 8,824 | 4,285 |
114
- | Quarter (~span/8) (r=12.38) | 5,911 | 6,909 | 11,123 | 7,540 |
115
- | Tiny (~span/1000) (r=1) | 41,201 | 39,120 | 218,463 | 160,263 |
112
+ | Full (~span/2) (r=49.50) | 4,675 | 4,518 | 9,099 | 2,034 |
113
+ | Half (~span/4) (r=24.75) | 5,823 | 6,354 | 8,794 | 3,922 |
114
+ | Quarter (~span/8) (r=12.38) | 5,866 | 6,767 | 10,944 | 6,752 |
115
+ | Tiny (~span/1000) (r=1) | 41,567 | 38,086 | 214,981 | 128,576 |
116
116
 
117
117
  ##### Get Elements In Bounds
118
118
 
119
119
  | Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
120
120
  | ------------------------------ | ------------------- | --------------------- | --------- | ------- |
121
- | Full (size≈99.00x9x9) | 5,944 | 5,974 | 26,136 | 3,587 |
122
- | Half (size≈49.50x4.5x4.5) | 6,709 | 6,761 | 46,124 | 37,467 |
123
- | Quarter (size≈24.75x2.25x2.25) | 6,843 | 6,878 | 167,117 | 120,365 |
124
- | Unit (size=1) | 6,935 | 6,923 | 313,373 | 161,932 |
121
+ | Full (size≈99.00x9x9) | 6,291 | 6,249 | 25,591 | 3,619 |
122
+ | Half (size≈49.50x4.5x4.5) | 7,097 | 7,141 | 45,006 | 37,688 |
123
+ | Quarter (size≈24.75x2.25x2.25) | 7,245 | 7,264 | 163,085 | 121,891 |
124
+ | Unit (size=1) | 7,307 | 7,337 | 312,237 | 164,570 |
125
125
 
126
126
  ##### Approximate Nearest Neighbors
127
127
 
128
128
  | Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
129
129
  | ----------------------------- | ------------------- | --------------------- | --------- | ------- |
130
- | 500 neighbors | 9,797 | 10,570 | 636 | 185 |
131
- | 100 neighbors | 48,860 | 69,836 | 5,909 | 2,233 |
132
- | 10 neighbors | 463,086 | 416,036 | 26,962 | 12,808 |
133
- | 1 neighbor | 622,715 | 624,381 | 45,121 | 21,542 |
130
+ | 500 neighbors | 9,657 | 10,507 | 616 | 184 |
131
+ | 100 neighbors | 49,027 | 67,963 | 5,817 | 2,182 |
132
+ | 10 neighbors | 446,049 | 428,934 | 26,981 | 12,798 |
133
+ | 1 neighbor | 623,216 | 592,038 | 43,952 | 21,591 |
134
134
 
135
135
  #### **1,000 entries**
136
136
 
@@ -138,34 +138,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
138
138
 
139
139
  | Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
140
140
  | ------------- | ------------------- | --------------------- | -------------- | -------------- |
141
- | 1,000 entries | 3,828 (0.000s) | 1,431 (0.001s) | 4,177 (0.000s) | 4,058 (0.000s) |
141
+ | 1,000 entries | 3,913 (0.000s) | 5,081 (0.000s) | 4,323 (0.000s) | 3,658 (0.000s) |
142
142
 
143
143
  ##### Elements In Range
144
144
 
145
145
  | Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
146
146
  | -------------------------- | ------------------- | --------------------- | --------- | ------- |
147
- | Full (~span/2) (r=4.5) | 12,017 | 13,682 | 24,546 | 21,261 |
148
- | Half (~span/4) (r=2.25) | 52,394 | 62,385 | 124,579 | 149,723 |
149
- | Quarter (~span/8) (r=1.13) | 62,668 | 64,358 | 339,716 | 228,054 |
150
- | Tiny (~span/1000) (r=1) | 62,670 | 64,483 | 340,166 | 228,438 |
147
+ | Full (~span/2) (r=4.5) | 11,696 | 13,823 | 24,969 | 19,971 |
148
+ | Half (~span/4) (r=2.25) | 50,968 | 60,896 | 123,633 | 129,746 |
149
+ | Quarter (~span/8) (r=1.13) | 63,064 | 62,765 | 330,025 | 186,475 |
150
+ | Tiny (~span/1000) (r=1) | 63,087 | 62,848 | 329,869 | 197,969 |
151
151
 
152
152
  ##### Get Elements In Bounds
153
153
 
154
154
  | Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
155
155
  | ----------------------------- | ------------------- | --------------------- | --------- | ------- |
156
- | Full (size≈9x9x9) | 54,554 | 59,700 | 321,423 | 35,729 |
157
- | Half (size≈4.5x4.5x4.5) | 59,218 | 65,748 | 199,393 | 177,785 |
158
- | Quarter (size≈2.25x2.25x2.25) | 59,744 | 67,219 | 501,086 | 234,106 |
159
- | Unit (size=1) | 59,712 | 68,104 | 475,751 | 234,738 |
156
+ | Full (size≈9x9x9) | 58,861 | 61,905 | 309,570 | 36,019 |
157
+ | Half (size≈4.5x4.5x4.5) | 64,527 | 69,802 | 192,755 | 179,536 |
158
+ | Quarter (size≈2.25x2.25x2.25) | 65,139 | 70,314 | 482,726 | 233,477 |
159
+ | Unit (size=1) | 63,144 | 71,425 | 483,025 | 229,874 |
160
160
 
161
161
  ##### Approximate Nearest Neighbors
162
162
 
163
163
  | Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
164
164
  | ----------------------------- | ------------------- | --------------------- | --------- | ------- |
165
- | 500 neighbors | 15,553 | 14,623 | 3,259 | 621 |
166
- | 100 neighbors | 70,256 | 65,840 | 15,632 | 4,130 |
167
- | 10 neighbors | 439,459 | 413,712 | 74,432 | 32,538 |
168
- | 1 neighbor | 691,682 | 657,381 | 84,606 | 43,414 |
165
+ | 500 neighbors | 15,710 | 14,734 | 3,184 | 600 |
166
+ | 100 neighbors | 66,966 | 62,730 | 15,247 | 4,005 |
167
+ | 10 neighbors | 458,678 | 398,089 | 72,823 | 32,318 |
168
+ | 1 neighbor | 683,259 | 662,761 | 82,887 | 43,767 |
169
169
 
170
170
  #### **100 entries**
171
171
 
@@ -173,33 +173,33 @@ This document contains performance benchmarks for the 3D spatial tree implementa
173
173
 
174
174
  | Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
175
175
  | ------------ | ------------------- | --------------------- | --------------- | --------------- |
176
- | 100 entries | 39,370 (0.000s) | 33,003 (0.000s) | 26,246 (0.000s) | 20,746 (0.000s) |
176
+ | 100 entries | 33,222 (0.000s) | 32,573 (0.000s) | 20,491 (0.000s) | 19,841 (0.000s) |
177
177
 
178
178
  ##### Elements In Range
179
179
 
180
180
  | Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
181
181
  | -------------------------- | ------------------- | --------------------- | --------- | ------- |
182
- | Full (~span/2) (r=4.5) | 126,263 | 127,269 | 296,006 | 195,890 |
183
- | Half (~span/4) (r=2.25) | 147,197 | 149,386 | 318,618 | 311,821 |
184
- | Quarter (~span/8) (r=1.13) | 147,516 | 150,720 | 393,623 | 420,109 |
185
- | Tiny (~span/1000) (r=1) | 147,471 | 150,688 | 395,500 | 405,202 |
182
+ | Full (~span/2) (r=4.5) | 127,317 | 128,629 | 291,676 | 172,914 |
183
+ | Half (~span/4) (r=2.25) | 147,989 | 150,244 | 307,046 | 270,030 |
184
+ | Quarter (~span/8) (r=1.13) | 147,905 | 151,405 | 385,634 | 379,165 |
185
+ | Tiny (~span/1000) (r=1) | 147,928 | 147,331 | 382,213 | 378,916 |
186
186
 
187
187
  ##### Get Elements In Bounds
188
188
 
189
189
  | Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
190
190
  | ----------------------- | ------------------- | --------------------- | --------- | ------- |
191
- | Full (size≈9x4x1) | 501,997 | 505,246 | 1,807,410 | 329,640 |
192
- | Half (size≈4.5x2x1) | 498,779 | 534,318 | 494,122 | 456,745 |
193
- | Quarter (size≈2.25x1x1) | 537,627 | 536,488 | 776,653 | 726,561 |
194
- | Unit (size=1) | 539,253 | 536,541 | 776,990 | 721,307 |
191
+ | Full (size≈9x4x1) | 522,824 | 497,894 | 1,759,234 | 320,145 |
192
+ | Half (size≈4.5x2x1) | 537,503 | 544,668 | 498,113 | 445,151 |
193
+ | Quarter (size≈2.25x1x1) | 551,381 | 566,439 | 739,441 | 662,192 |
194
+ | Unit (size=1) | 551,255 | 558,590 | 739,304 | 718,275 |
195
195
 
196
196
  ##### Approximate Nearest Neighbors
197
197
 
198
198
  | Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
199
199
  | ----------------------------- | ------------------- | --------------------- | --------- | ------- |
200
- | 100 neighbors (max) | 92,014 | 88,119 | 69,346 | 62,009 |
201
- | 10 neighbors | 617,049 | 514,543 | 105,140 | 100,817 |
202
- | 1 neighbor | 872,834 | 636,275 | 172,544 | 221,636 |
200
+ | 100 neighbors (max) | 87,362 | 84,326 | 67,051 | 64,893 |
201
+ | 10 neighbors | 593,261 | 519,728 | 94,913 | 101,228 |
202
+ | 1 neighbor | 831,879 | 681,161 | 168,582 | 221,590 |
203
203
 
204
204
  <!-- tabs:end -->
205
205
  <!-- SPATIAL_TREE_3D_BENCHMARKS_END -->
@@ -16,19 +16,19 @@ This page explains how the 2D and 3D spatial structures compare in terms of corr
16
16
 
17
17
  Illustrations:
18
18
 
19
- ![QuadTree2D](Docs/Images/quadtree_2d.svg)
19
+ ![QuadTree2D](Images/quadtree_2d.svg)
20
20
 
21
- ![KDTree2D](Docs/Images/kdtree_2d.svg)
21
+ ![KDTree2D](Images/kdtree_2d.svg)
22
22
 
23
- ![RTree2D](Docs/Images/rtree_2d.svg)
23
+ ![RTree2D](Images/rtree_2d.svg)
24
24
 
25
25
  3D Variants
26
26
 
27
- ![Octree3D](Docs/Images/octree_3d.svg)
27
+ ![Octree3D](Images/octree_3d.svg)
28
28
 
29
- ![KDTree3D](Docs/Images/kdtree_3d.svg)
29
+ ![KDTree3D](Images/kdtree_3d.svg)
30
30
 
31
- ![RTree3D](Docs/Images/rtree_3d.svg)
31
+ ![RTree3D](Images/rtree_3d.svg)
32
32
 
33
33
  Diagram notes
34
34
 
@@ -91,7 +91,7 @@ Key reasons and scenarios:
91
91
 
92
92
  ## Boundary Semantics
93
93
 
94
- ![Query Boundaries](Docs/Images/query_boundaries.svg)
94
+ ![Query Boundaries](Images/query_boundaries.svg)
95
95
 
96
96
  Tips
97
97
 
@@ -55,7 +55,7 @@ namespace WallstopStudios.UnityHelpers.Editor.Core.Helper
55
55
  continue;
56
56
  }
57
57
  if (
58
- !candidate.IsAttributeDefined<AnimationEventAttribute>(
58
+ !candidate.IsAttributeDefined(
59
59
  out AnimationEventAttribute attribute,
60
60
  inherit: false
61
61
  )