com.wallstop-studios.unity-helpers 2.0.0 → 2.0.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.
- package/.github/workflows/format-on-demand.yml +2 -2
- package/.github/workflows/markdown-json.yml +1 -1
- package/.github/workflows/npm-publish.yml +1 -1
- package/.github/workflows/prettier-autofix.yml +4 -4
- package/.github/workflows/yaml-format-lint.yml +1 -1
- package/Docs/EFFECTS_SYSTEM.md +1316 -0
- package/{EFFECTS_SYSTEM_TUTORIAL.md → Docs/EFFECTS_SYSTEM_TUTORIAL.md} +1 -1
- package/{GETTING_STARTED.md → Docs/GETTING_STARTED.md} +10 -8
- package/{GLOSSARY.md → Docs/GLOSSARY.md} +4 -4
- package/Docs/HELPER_UTILITIES.md +885 -0
- package/Docs/HELPER_UTILITIES.md.meta +7 -0
- package/{INDEX.md → Docs/INDEX.md} +107 -62
- package/Docs/MATH_AND_EXTENSIONS.md +1039 -0
- package/{RANDOM_PERFORMANCE.md → Docs/RANDOM_PERFORMANCE.md} +15 -15
- package/{RELATIONAL_COMPONENTS.md → Docs/RELATIONAL_COMPONENTS.md} +21 -3
- package/{SPATIAL_TREES_2D_GUIDE.md → Docs/SPATIAL_TREES_2D_GUIDE.md} +2 -2
- package/{SPATIAL_TREES_3D_GUIDE.md → Docs/SPATIAL_TREES_3D_GUIDE.md} +1 -1
- package/{SPATIAL_TREE_2D_PERFORMANCE.md → Docs/SPATIAL_TREE_2D_PERFORMANCE.md} +64 -64
- package/{SPATIAL_TREE_3D_PERFORMANCE.md → Docs/SPATIAL_TREE_3D_PERFORMANCE.md} +64 -64
- package/Docs/UTILITY_COMPONENTS.md +906 -0
- package/Docs/UTILITY_COMPONENTS.md.meta +7 -0
- package/Docs/VISUAL_COMPONENTS.md +337 -0
- package/Docs/VISUAL_COMPONENTS.md.meta +7 -0
- package/Editor/Sprites/AnimationCopier.cs +3 -3
- package/README.md +69 -62
- package/Runtime/AssemblyInfo.cs +2 -0
- package/Runtime/Core/DataStructure/KDTree3D.cs +1 -1
- package/Runtime/Core/DataStructure/OctTree3D.cs +1 -1
- package/Runtime/Core/Extension/AsyncOperationExtensions.cs +122 -0
- package/Runtime/Core/Serialization/ProtobufUnitySurrogates.cs +24 -29
- package/Runtime/Integrations/Reflex/AssemblyInfo.cs +7 -0
- package/Runtime/Integrations/Reflex/AssemblyInfo.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/ContainerRelationalExtensions.cs +198 -0
- package/Runtime/Integrations/Reflex/ContainerRelationalExtensions.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/RelationalComponentsInstaller.cs +86 -0
- package/Runtime/Integrations/Reflex/RelationalComponentsInstaller.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/RelationalReflexSceneBootstrapper.cs +316 -0
- package/Runtime/Integrations/Reflex/RelationalReflexSceneBootstrapper.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/RelationalSceneAssignmentOptions.cs +86 -0
- package/Runtime/Integrations/Reflex/RelationalSceneAssignmentOptions.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Integration.Reflex.asmdef +20 -0
- package/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Integration.Reflex.asmdef.meta +7 -0
- package/Runtime/Integrations/Reflex.meta +8 -0
- package/Runtime/Utils/ScriptableObjectSingleton.cs +1 -1
- package/Samples~/DI - Reflex/README.md +527 -0
- package/Samples~/DI - Reflex/README.md.meta +7 -0
- package/Samples~/DI - Reflex/Scripts/ReflexPaletteService.cs +36 -0
- package/Samples~/DI - Reflex/Scripts/ReflexPaletteService.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/ReflexRelationalConsumer.cs +79 -0
- package/Samples~/DI - Reflex/Scripts/ReflexRelationalConsumer.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSampleInstaller.cs +30 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSampleInstaller.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSpawner.cs +79 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSpawner.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/Samples.UnityHelpers.DI.Reflex.asmdef +26 -0
- package/Samples~/DI - Reflex/Scripts/Samples.UnityHelpers.DI.Reflex.asmdef.meta +9 -0
- package/Samples~/DI - Reflex/Scripts.meta +8 -0
- package/Samples~/DI - Reflex.meta +8 -0
- package/Samples~/DI - VContainer/README.md +6 -5
- package/Samples~/DI - Zenject/README.md +6 -5
- package/Tests/Editor/Core/Attributes/RelationalComponentAssignerTests.cs +29 -31
- package/Tests/Editor/Integrations/Reflex/ReflexIntegrationCompilationTests.cs +41 -0
- package/Tests/Editor/Integrations/Reflex/ReflexIntegrationCompilationTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Editor.Reflex.asmdef +27 -0
- package/Tests/Editor/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Editor.Reflex.asmdef.meta +7 -0
- package/Tests/Editor/Integrations/Reflex.meta +8 -0
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalEntryPointTests.cs +15 -16
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalHelpersTests.cs +7 -13
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalHelpersTests.cs +7 -11
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalInitializerTests.cs +19 -21
- package/Tests/Editor/PersistentDirectorySettingsTests.cs +0 -1
- package/Tests/Editor/Sprites/AnimationCopierFilterTests.cs +0 -1
- package/Tests/Editor/Sprites/AnimationViewerWindowTests.cs +2 -2
- package/Tests/Editor/Tools/ImageBlurToolTests.cs +1 -1
- package/Tests/Editor/Utils/CommonTestBase.cs +17 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonCreatorTests.cs +1 -1
- package/Tests/Runtime/Extensions/AsyncOperationExtensionsTests.cs +179 -0
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs +55 -0
- package/Tests/Runtime/Integrations/Reflex/RelationalComponentsReflexTests.cs +445 -0
- package/Tests/Runtime/Integrations/Reflex/RelationalComponentsReflexTests.cs.meta +11 -0
- package/Tests/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Runtime.Reflex.asmdef +28 -0
- package/Tests/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Runtime.Reflex.asmdef.meta +7 -0
- package/Tests/Runtime/Integrations/Reflex.meta +8 -0
- package/Tests/Runtime/Integrations/VContainer/RelationalComponentsVContainerTests.cs +24 -29
- package/Tests/Runtime/Integrations/VContainer/RelationalObjectPoolsVContainerTests.cs +8 -3
- package/Tests/Runtime/Integrations/Zenject/RelationalComponentsZenjectTests.cs +10 -20
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs +1 -1
- package/Tests/Runtime/Performance/SpatialTree2DPerformanceTests.cs +1 -1
- package/Tests/Runtime/Performance/SpatialTree3DPerformanceTests.cs +1 -1
- package/Tests/Runtime/Serialization/JsonRoundtripComprehensiveTests.cs +4 -9
- package/Tests/Runtime/Serialization/ProtoRoundtripComprehensiveTests.cs +13 -13
- package/Tests/Runtime/TestUtils/CommonTestBase.cs +11 -0
- package/Tests/Runtime/TestUtils/ReflexTestSupport.cs +111 -0
- package/Tests/Runtime/TestUtils/ReflexTestSupport.cs.meta +12 -0
- package/Tests/Runtime/Utils/MatchColliderToSpriteTests.cs +4 -4
- package/Tests/TestUtils.meta +8 -0
- package/package.json +6 -1
- package/EFFECTS_SYSTEM.md +0 -242
- package/MATH_AND_EXTENSIONS.md +0 -316
- /package/{CHANGELOG.md → Docs/CHANGELOG.md} +0 -0
- /package/{CHANGELOG.md.meta → Docs/CHANGELOG.md.meta} +0 -0
- /package/{CONTRIBUTING.md → Docs/CONTRIBUTING.md} +0 -0
- /package/{CONTRIBUTING.md.meta → Docs/CONTRIBUTING.md.meta} +0 -0
- /package/{DATA_STRUCTURES.md → Docs/DATA_STRUCTURES.md} +0 -0
- /package/{DATA_STRUCTURES.md.meta → Docs/DATA_STRUCTURES.md.meta} +0 -0
- /package/{EDITOR_TOOLS_GUIDE.md → Docs/EDITOR_TOOLS_GUIDE.md} +0 -0
- /package/{EDITOR_TOOLS_GUIDE.md.meta → Docs/EDITOR_TOOLS_GUIDE.md.meta} +0 -0
- /package/{EFFECTS_SYSTEM.md.meta → Docs/EFFECTS_SYSTEM.md.meta} +0 -0
- /package/{EFFECTS_SYSTEM_TUTORIAL.md.meta → Docs/EFFECTS_SYSTEM_TUTORIAL.md.meta} +0 -0
- /package/{GETTING_STARTED.md.meta → Docs/GETTING_STARTED.md.meta} +0 -0
- /package/{GLOSSARY.md.meta → Docs/GLOSSARY.md.meta} +0 -0
- /package/{HULLS.md → Docs/HULLS.md} +0 -0
- /package/{HULLS.md.meta → Docs/HULLS.md.meta} +0 -0
- /package/{INDEX.md.meta → Docs/INDEX.md.meta} +0 -0
- /package/{LICENSE.md → Docs/LICENSE.md} +0 -0
- /package/{LICENSE.md.meta → Docs/LICENSE.md.meta} +0 -0
- /package/{MATH_AND_EXTENSIONS.md.meta → Docs/MATH_AND_EXTENSIONS.md.meta} +0 -0
- /package/{RANDOM_PERFORMANCE.md.meta → Docs/RANDOM_PERFORMANCE.md.meta} +0 -0
- /package/{REFLECTION_HELPERS.md → Docs/REFLECTION_HELPERS.md} +0 -0
- /package/{REFLECTION_HELPERS.md.meta → Docs/REFLECTION_HELPERS.md.meta} +0 -0
- /package/{RELATIONAL_COMPONENTS.md.meta → Docs/RELATIONAL_COMPONENTS.md.meta} +0 -0
- /package/{SERIALIZATION.md → Docs/SERIALIZATION.md} +0 -0
- /package/{SERIALIZATION.md.meta → Docs/SERIALIZATION.md.meta} +0 -0
- /package/{SINGLETONS.md → Docs/SINGLETONS.md} +0 -0
- /package/{SINGLETONS.md.meta → Docs/SINGLETONS.md.meta} +0 -0
- /package/{SPATIAL_TREES_2D_GUIDE.md.meta → Docs/SPATIAL_TREES_2D_GUIDE.md.meta} +0 -0
- /package/{SPATIAL_TREES_3D_GUIDE.md.meta → Docs/SPATIAL_TREES_3D_GUIDE.md.meta} +0 -0
- /package/{SPATIAL_TREE_2D_PERFORMANCE.md.meta → Docs/SPATIAL_TREE_2D_PERFORMANCE.md.meta} +0 -0
- /package/{SPATIAL_TREE_3D_PERFORMANCE.md.meta → Docs/SPATIAL_TREE_3D_PERFORMANCE.md.meta} +0 -0
- /package/{SPATIAL_TREE_SEMANTICS.md → Docs/SPATIAL_TREE_SEMANTICS.md} +0 -0
- /package/{SPATIAL_TREE_SEMANTICS.md.meta → Docs/SPATIAL_TREE_SEMANTICS.md.meta} +0 -0
- /package/{THIRD_PARTY_NOTICES.md → Docs/THIRD_PARTY_NOTICES.md} +0 -0
- /package/{THIRD_PARTY_NOTICES.md.meta → Docs/THIRD_PARTY_NOTICES.md.meta} +0 -0
|
@@ -451,7 +451,7 @@ if (player.HasTag("Invulnerable"))
|
|
|
451
451
|
|
|
452
452
|
- [Effects System Full Guide](EFFECTS_SYSTEM.md) - Complete API reference and advanced patterns
|
|
453
453
|
- [Getting Started](GETTING_STARTED.md) - Your first 5 minutes with Unity Helpers
|
|
454
|
-
- [Main README](README.md) - Complete feature overview
|
|
454
|
+
- [Main README](../README.md) - Complete feature overview
|
|
455
455
|
|
|
456
456
|
**Related Features:**
|
|
457
457
|
|
|
@@ -73,7 +73,7 @@ Jump directly to the solution you need:
|
|
|
73
73
|
|
|
74
74
|
- Slow random number generation → [Random Generators](#random-in-60-seconds)
|
|
75
75
|
- Too many objects to search → [Spatial Queries](#spatial-queries-in-60-seconds)
|
|
76
|
-
- Frame drops from allocations → [Buffering Pattern](README.md#buffering-pattern)
|
|
76
|
+
- Frame drops from allocations → [Buffering Pattern](../README.md#buffering-pattern)
|
|
77
77
|
|
|
78
78
|
**Workflow Issues?**
|
|
79
79
|
|
|
@@ -91,7 +91,7 @@ Jump directly to the solution you need:
|
|
|
91
91
|
|
|
92
92
|
Comprehensive deep-dive (best for team leads and senior developers):
|
|
93
93
|
|
|
94
|
-
1. Read [Main Documentation](README.md) - Full feature overview
|
|
94
|
+
1. Read [Main Documentation](../README.md) - Full feature overview
|
|
95
95
|
2. Review [Features Documentation](FEATURES.md) - Detailed API documentation
|
|
96
96
|
3. Explore category-specific guides as needed
|
|
97
97
|
|
|
@@ -100,7 +100,7 @@ Comprehensive deep-dive (best for team leads and senior developers):
|
|
|
100
100
|
See it working first, understand the theory later:
|
|
101
101
|
|
|
102
102
|
1. Follow the [3 Quick Wins](#three-quick-wins-5-minutes) below
|
|
103
|
-
2. Clone relevant examples from [Use Cases](README.md#use-cases--examples)
|
|
103
|
+
2. Clone relevant examples from [Use Cases](../README.md#use-cases--examples)
|
|
104
104
|
3. Modify examples for your specific needs
|
|
105
105
|
4. Read the detailed guides when you need to go deeper
|
|
106
106
|
|
|
@@ -223,12 +223,14 @@ public class Player : MonoBehaviour
|
|
|
223
223
|
|
|
224
224
|
---
|
|
225
225
|
|
|
226
|
-
#### Using With DI Containers (VContainer/Zenject)
|
|
226
|
+
#### Using With DI Containers (VContainer/Zenject/Reflex)
|
|
227
227
|
|
|
228
228
|
- If you use dependency injection, you can auto-populate relational fields right after DI injection.
|
|
229
229
|
- Quick setup:
|
|
230
230
|
- VContainer: in `LifetimeScope.Configure`, call `builder.RegisterRelationalComponents()`.
|
|
231
|
-
- Zenject: add `RelationalComponentsInstaller` to your `SceneContext` and (optionally) enable the scene scan on initialize.
|
|
231
|
+
- Zenject/Extenject: add `RelationalComponentsInstaller` to your `SceneContext` and (optionally) enable the scene scan on initialize.
|
|
232
|
+
- Reflex: attach `RelationalComponentsInstaller` alongside your `SceneScope`. The installer binds the assigner, hydrates the active scene, and can listen for additive scenes. Use `ContainerRelationalExtensions` helpers (`InjectWithRelations`, `InstantiateGameObjectWithRelations`, etc.) when spawning objects through the container.
|
|
233
|
+
- Samples: [DI – VContainer](../Samples~/DI%20-%20VContainer/README.md), [DI – Zenject](../Samples~/DI%20-%20Zenject/README.md), [DI – Reflex](../Samples~/DI%20-%20Reflex/README.md)
|
|
232
234
|
- Full guide with scenarios and testing tips: [Dependency Injection Integrations](RELATIONAL_COMPONENTS.md#dependency-injection-integrations)
|
|
233
235
|
|
|
234
236
|
<a id="spatial-queries-in-60-seconds"></a>
|
|
@@ -321,7 +323,7 @@ Based on your needs:
|
|
|
321
323
|
- Why: Robust modulo, geometry, color averaging, and more
|
|
322
324
|
|
|
323
325
|
3. **Adopt the Buffering Pattern** - Zero-allocation queries
|
|
324
|
-
- Start: [Buffering Pattern](README.md#buffering-pattern)
|
|
326
|
+
- Start: [Buffering Pattern](../README.md#buffering-pattern)
|
|
325
327
|
- Why: Stable GC even under load
|
|
326
328
|
|
|
327
329
|
---
|
|
@@ -378,7 +380,7 @@ Pick one feature that solves your immediate problem:
|
|
|
378
380
|
|
|
379
381
|
---
|
|
380
382
|
|
|
381
|
-
**Ready to dive deeper?** Return to the [main README](README.md) for the complete feature list.
|
|
383
|
+
**Ready to dive deeper?** Return to the [main README](../README.md) for the complete feature list.
|
|
382
384
|
|
|
383
385
|
**Building something cool?** We'd love to hear about it! Share your experience by opening an
|
|
384
386
|
[issue](https://github.com/wallstop/unity-helpers/issues).
|
|
@@ -389,7 +391,7 @@ Pick one feature that solves your immediate problem:
|
|
|
389
391
|
|
|
390
392
|
**Core Guides:**
|
|
391
393
|
|
|
392
|
-
- [Main README](README.md) - Complete feature overview
|
|
394
|
+
- [Main README](../README.md) - Complete feature overview
|
|
393
395
|
- [Feature Index](INDEX.md) - Alphabetical reference
|
|
394
396
|
- [Glossary](GLOSSARY.md) - Term definitions
|
|
395
397
|
|
|
@@ -16,7 +16,7 @@ Quick reference for terms used throughout Unity Helpers documentation.
|
|
|
16
16
|
- Reusing pre-allocated collections (List, arrays) to minimize GC allocations
|
|
17
17
|
- Pass a buffer to API methods that clear and fill it with results
|
|
18
18
|
- Critical for performance in hot paths (per-frame queries)
|
|
19
|
-
- See: [Buffering Pattern](README.md#buffering-pattern)
|
|
19
|
+
- See: [Buffering Pattern](../README.md#buffering-pattern)
|
|
20
20
|
|
|
21
21
|
### Immutable Tree
|
|
22
22
|
|
|
@@ -39,7 +39,7 @@ Quick reference for terms used throughout Unity Helpers documentation.
|
|
|
39
39
|
- Reusable memory allocations managed by `Buffers<T>` or `WallstopArrayPool<T>`
|
|
40
40
|
- Reduces GC pressure by recycling collections instead of allocating new ones
|
|
41
41
|
- Use with `using` statements for automatic cleanup
|
|
42
|
-
- See: [Buffering Pattern](README.md#buffering-pattern)
|
|
42
|
+
- See: [Buffering Pattern](../README.md#buffering-pattern)
|
|
43
43
|
|
|
44
44
|
### Relational Components
|
|
45
45
|
|
|
@@ -111,7 +111,7 @@ Quick reference for terms used throughout Unity Helpers documentation.
|
|
|
111
111
|
- Grid-based spatial structure with fixed cell size
|
|
112
112
|
- Excellent for many moving objects uniformly distributed
|
|
113
113
|
- O(1) insertion with fast approximate queries
|
|
114
|
-
- See: [README - Choosing Spatial Structures](README.md#choosing-spatial-structures)
|
|
114
|
+
- See: [README - Choosing Spatial Structures](../README.md#choosing-spatial-structures)
|
|
115
115
|
|
|
116
116
|
### Trie (Prefix Tree)
|
|
117
117
|
|
|
@@ -310,4 +310,4 @@ Universal Render Pipeline
|
|
|
310
310
|
|
|
311
311
|
- [Feature Index](INDEX.md) - Alphabetical feature index
|
|
312
312
|
- [Getting Started Guide](GETTING_STARTED.md) - Quick start guide
|
|
313
|
-
- [Main Documentation](README.md) - Main documentation
|
|
313
|
+
- [Main Documentation](../README.md) - Main documentation
|