@bloomengine/engine 0.3.3 → 0.4.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/native/shared/build.rs +137 -6
- package/package.json +4 -11
- package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/build.gradle +0 -51
- package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/AndroidManifest.xml +0 -20
- package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/cpp/CMakeLists.txt +0 -20
- package/native/third_party/JoltPhysics/Build/Android/UnitTests/build.gradle +0 -51
- package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/AndroidManifest.xml +0 -20
- package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/cpp/CMakeLists.txt +0 -20
- package/native/third_party/JoltPhysics/Build/Android/build.gradle +0 -17
- package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/native/third_party/JoltPhysics/Build/Android/gradle.properties +0 -21
- package/native/third_party/JoltPhysics/Build/Android/gradlew +0 -185
- package/native/third_party/JoltPhysics/Build/Android/gradlew.bat +0 -89
- package/native/third_party/JoltPhysics/Build/Android/settings.gradle +0 -10
- package/native/third_party/JoltPhysics/Build/CMakeLists.txt +0 -449
- package/native/third_party/JoltPhysics/Build/README.md +0 -250
- package/native/third_party/JoltPhysics/Build/cmake_linux_clang_gcc.sh +0 -28
- package/native/third_party/JoltPhysics/Build/cmake_linux_emscripten.sh +0 -19
- package/native/third_party/JoltPhysics/Build/cmake_linux_mingw.sh +0 -19
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_32bit.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm_32bit.bat +0 -4
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_cross_platform_deterministic.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_double.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_no_object_stream.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_cross_platform_deterministic.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_double.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp.bat +0 -5
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp_arm.bat +0 -5
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_cross_platform_deterministic.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_double.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_cross_platform_deterministic.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_double.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_windows_mingw.sh +0 -19
- package/native/third_party/JoltPhysics/Build/cmake_xcode_ios.sh +0 -4
- package/native/third_party/JoltPhysics/Build/cmake_xcode_macos.sh +0 -4
- package/native/third_party/JoltPhysics/Build/iOS/JoltViewerInfo.plist +0 -34
- package/native/third_party/JoltPhysics/Build/iOS/SamplesInfo.plist +0 -34
- package/native/third_party/JoltPhysics/Build/iOS/UnitTestsInfo.plist +0 -34
- package/native/third_party/JoltPhysics/Build/macOS/icon.icns +0 -0
- package/native/third_party/JoltPhysics/Build/macos_install_vulkan_sdk.sh +0 -13
- package/native/third_party/JoltPhysics/Build/ubuntu24_install_vulkan_sdk.sh +0 -4
- package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.cpp +0 -242
- package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.h +0 -121
- package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeToBuffer.h +0 -296
- package/native/third_party/JoltPhysics/Jolt/AABBTree/NodeCodec/NodeCodecQuadTreeHalfFloat.h +0 -323
- package/native/third_party/JoltPhysics/Jolt/AABBTree/TriangleCodec/TriangleCodecIndexed8BitPackSOA4Flags.h +0 -555
- package/native/third_party/JoltPhysics/Jolt/ConfigurationString.h +0 -112
- package/native/third_party/JoltPhysics/Jolt/Core/ARMNeon.h +0 -94
- package/native/third_party/JoltPhysics/Jolt/Core/Array.h +0 -713
- package/native/third_party/JoltPhysics/Jolt/Core/Atomics.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Core/BinaryHeap.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Core/ByteBuffer.h +0 -74
- package/native/third_party/JoltPhysics/Jolt/Core/Color.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/Core/Color.h +0 -98
- package/native/third_party/JoltPhysics/Jolt/Core/Core.h +0 -652
- package/native/third_party/JoltPhysics/Jolt/Core/FPControlWord.h +0 -143
- package/native/third_party/JoltPhysics/Jolt/Core/FPException.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Core/FPFlushDenormals.h +0 -43
- package/native/third_party/JoltPhysics/Jolt/Core/Factory.cpp +0 -92
- package/native/third_party/JoltPhysics/Jolt/Core/Factory.h +0 -54
- package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.h +0 -122
- package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.inl +0 -215
- package/native/third_party/JoltPhysics/Jolt/Core/HashCombine.h +0 -234
- package/native/third_party/JoltPhysics/Jolt/Core/HashTable.h +0 -876
- package/native/third_party/JoltPhysics/Jolt/Core/InsertionSort.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.cpp +0 -27
- package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.h +0 -38
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.h +0 -311
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.inl +0 -56
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.cpp +0 -65
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.h +0 -62
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.cpp +0 -364
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.cpp +0 -230
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.h +0 -85
- package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.cpp +0 -51
- package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.h +0 -67
- package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.h +0 -182
- package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.inl +0 -351
- package/native/third_party/JoltPhysics/Jolt/Core/Memory.cpp +0 -85
- package/native/third_party/JoltPhysics/Jolt/Core/Memory.h +0 -85
- package/native/third_party/JoltPhysics/Jolt/Core/Mutex.h +0 -223
- package/native/third_party/JoltPhysics/Jolt/Core/MutexArray.h +0 -98
- package/native/third_party/JoltPhysics/Jolt/Core/NonCopyable.h +0 -18
- package/native/third_party/JoltPhysics/Jolt/Core/Profiler.cpp +0 -677
- package/native/third_party/JoltPhysics/Jolt/Core/Profiler.h +0 -301
- package/native/third_party/JoltPhysics/Jolt/Core/Profiler.inl +0 -90
- package/native/third_party/JoltPhysics/Jolt/Core/QuickSort.h +0 -137
- package/native/third_party/JoltPhysics/Jolt/Core/RTTI.cpp +0 -149
- package/native/third_party/JoltPhysics/Jolt/Core/RTTI.h +0 -436
- package/native/third_party/JoltPhysics/Jolt/Core/Reference.h +0 -244
- package/native/third_party/JoltPhysics/Jolt/Core/Result.h +0 -174
- package/native/third_party/JoltPhysics/Jolt/Core/STLAlignedAllocator.h +0 -72
- package/native/third_party/JoltPhysics/Jolt/Core/STLAllocator.h +0 -127
- package/native/third_party/JoltPhysics/Jolt/Core/STLLocalAllocator.h +0 -170
- package/native/third_party/JoltPhysics/Jolt/Core/STLTempAllocator.h +0 -80
- package/native/third_party/JoltPhysics/Jolt/Core/ScopeExit.h +0 -49
- package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.cpp +0 -135
- package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.h +0 -68
- package/native/third_party/JoltPhysics/Jolt/Core/StaticArray.h +0 -329
- package/native/third_party/JoltPhysics/Jolt/Core/StreamIn.h +0 -120
- package/native/third_party/JoltPhysics/Jolt/Core/StreamOut.h +0 -97
- package/native/third_party/JoltPhysics/Jolt/Core/StreamUtils.h +0 -168
- package/native/third_party/JoltPhysics/Jolt/Core/StreamWrapper.h +0 -53
- package/native/third_party/JoltPhysics/Jolt/Core/StridedPtr.h +0 -63
- package/native/third_party/JoltPhysics/Jolt/Core/StringTools.cpp +0 -101
- package/native/third_party/JoltPhysics/Jolt/Core/StringTools.h +0 -38
- package/native/third_party/JoltPhysics/Jolt/Core/TempAllocator.h +0 -209
- package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.cpp +0 -37
- package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Core/UnorderedMap.h +0 -80
- package/native/third_party/JoltPhysics/Jolt/Core/UnorderedSet.h +0 -32
- package/native/third_party/JoltPhysics/Jolt/Geometry/AABox.h +0 -313
- package/native/third_party/JoltPhysics/Jolt/Geometry/AABox4.h +0 -224
- package/native/third_party/JoltPhysics/Jolt/Geometry/ClipPoly.h +0 -200
- package/native/third_party/JoltPhysics/Jolt/Geometry/ClosestPoint.h +0 -498
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.cpp +0 -1467
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.h +0 -276
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.cpp +0 -335
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.h +0 -105
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexSupport.h +0 -188
- package/native/third_party/JoltPhysics/Jolt/Geometry/EPAConvexHullBuilder.h +0 -845
- package/native/third_party/JoltPhysics/Jolt/Geometry/EPAPenetrationDepth.h +0 -557
- package/native/third_party/JoltPhysics/Jolt/Geometry/Ellipse.h +0 -77
- package/native/third_party/JoltPhysics/Jolt/Geometry/GJKClosestPoint.h +0 -945
- package/native/third_party/JoltPhysics/Jolt/Geometry/IndexedTriangle.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.cpp +0 -222
- package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.h +0 -19
- package/native/third_party/JoltPhysics/Jolt/Geometry/MortonCode.h +0 -40
- package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.cpp +0 -178
- package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.h +0 -39
- package/native/third_party/JoltPhysics/Jolt/Geometry/Plane.h +0 -104
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayAABox.h +0 -241
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayCapsule.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayCylinder.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/Geometry/RaySphere.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayTriangle.h +0 -158
- package/native/third_party/JoltPhysics/Jolt/Geometry/Sphere.h +0 -72
- package/native/third_party/JoltPhysics/Jolt/Geometry/Triangle.h +0 -34
- package/native/third_party/JoltPhysics/Jolt/Jolt.cmake +0 -703
- package/native/third_party/JoltPhysics/Jolt/Jolt.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Jolt.natvis +0 -116
- package/native/third_party/JoltPhysics/Jolt/Math/BVec16.h +0 -99
- package/native/third_party/JoltPhysics/Jolt/Math/BVec16.inl +0 -177
- package/native/third_party/JoltPhysics/Jolt/Math/DMat44.h +0 -158
- package/native/third_party/JoltPhysics/Jolt/Math/DMat44.inl +0 -310
- package/native/third_party/JoltPhysics/Jolt/Math/DVec3.h +0 -291
- package/native/third_party/JoltPhysics/Jolt/Math/DVec3.inl +0 -941
- package/native/third_party/JoltPhysics/Jolt/Math/Double3.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Math/DynMatrix.h +0 -31
- package/native/third_party/JoltPhysics/Jolt/Math/EigenValueSymmetric.h +0 -177
- package/native/third_party/JoltPhysics/Jolt/Math/FindRoot.h +0 -42
- package/native/third_party/JoltPhysics/Jolt/Math/Float2.h +0 -36
- package/native/third_party/JoltPhysics/Jolt/Math/Float3.h +0 -50
- package/native/third_party/JoltPhysics/Jolt/Math/Float4.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Math/GaussianElimination.h +0 -102
- package/native/third_party/JoltPhysics/Jolt/Math/HalfFloat.h +0 -208
- package/native/third_party/JoltPhysics/Jolt/Math/Mat44.h +0 -243
- package/native/third_party/JoltPhysics/Jolt/Math/Mat44.inl +0 -952
- package/native/third_party/JoltPhysics/Jolt/Math/Math.h +0 -208
- package/native/third_party/JoltPhysics/Jolt/Math/MathTypes.h +0 -32
- package/native/third_party/JoltPhysics/Jolt/Math/Matrix.h +0 -259
- package/native/third_party/JoltPhysics/Jolt/Math/Quat.h +0 -268
- package/native/third_party/JoltPhysics/Jolt/Math/Quat.inl +0 -406
- package/native/third_party/JoltPhysics/Jolt/Math/Real.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Math/Swizzle.h +0 -19
- package/native/third_party/JoltPhysics/Jolt/Math/Trigonometry.h +0 -79
- package/native/third_party/JoltPhysics/Jolt/Math/UVec4.h +0 -232
- package/native/third_party/JoltPhysics/Jolt/Math/UVec4.inl +0 -636
- package/native/third_party/JoltPhysics/Jolt/Math/Vec3.cpp +0 -71
- package/native/third_party/JoltPhysics/Jolt/Math/Vec3.h +0 -308
- package/native/third_party/JoltPhysics/Jolt/Math/Vec3.inl +0 -942
- package/native/third_party/JoltPhysics/Jolt/Math/Vec4.h +0 -320
- package/native/third_party/JoltPhysics/Jolt/Math/Vec4.inl +0 -1152
- package/native/third_party/JoltPhysics/Jolt/Math/Vector.h +0 -211
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/GetPrimitiveTypeOfType.h +0 -54
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.h +0 -337
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.cpp +0 -252
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.h +0 -57
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.cpp +0 -165
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.h +0 -57
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.cpp +0 -635
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.h +0 -148
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.cpp +0 -166
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.cpp +0 -418
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.h +0 -55
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.cpp +0 -255
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.h +0 -62
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTypes.h +0 -26
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttribute.h +0 -111
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeEnum.h +0 -67
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeTyped.h +0 -60
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.cpp +0 -15
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.h +0 -170
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.cpp +0 -70
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.h +0 -45
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/AllowedDOFs.h +0 -68
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.cpp +0 -426
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.h +0 -452
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.inl +0 -197
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyAccess.h +0 -68
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyActivationListener.h +0 -28
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.cpp +0 -234
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.h +0 -124
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyFilter.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyID.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.cpp +0 -1099
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.h +0 -324
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLock.h +0 -111
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockInterface.h +0 -134
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockMulti.h +0 -120
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.cpp +0 -1220
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.h +0 -403
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyPair.h +0 -36
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyType.h +0 -19
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.cpp +0 -185
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.cpp +0 -92
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.h +0 -308
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.inl +0 -178
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionQuality.h +0 -31
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionType.h +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.cpp +0 -354
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.h +0 -159
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.cpp +0 -59
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.h +0 -157
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterID.h +0 -98
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.cpp +0 -1933
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.h +0 -752
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/AABoxCast.h +0 -20
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdgeMode.h +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdges.h +0 -114
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BackFaceMode.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.cpp +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.h +0 -109
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.cpp +0 -313
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.h +0 -38
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayer.h +0 -148
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceMask.h +0 -92
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceTable.h +0 -64
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.cpp +0 -629
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.h +0 -108
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuery.h +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterMask.h +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterTable.h +0 -66
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.cpp +0 -1768
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.h +0 -389
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.cpp +0 -107
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.h +0 -46
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastResult.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.cpp +0 -223
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.h +0 -49
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollectFacesMode.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.cpp +0 -155
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.h +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollidePointResult.h +0 -25
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShape.h +0 -106
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShapeVsShapePerLeaf.h +0 -94
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVertexIterator.h +0 -110
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVerticesVsTriangles.h +0 -102
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.cpp +0 -121
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.h +0 -50
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollector.h +0 -109
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollectorImpl.h +0 -219
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.cpp +0 -107
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.h +0 -97
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.cpp +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.h +0 -97
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ContactListener.h +0 -143
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.cpp +0 -213
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.cpp +0 -32
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.h +0 -46
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/InternalEdgeRemovingCollector.h +0 -279
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.cpp +0 -271
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.cpp +0 -448
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.h +0 -77
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.cpp +0 -62
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.h +0 -110
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayer.h +0 -111
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterMask.h +0 -52
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterTable.h +0 -78
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.cpp +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.h +0 -57
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/RayCast.h +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.cpp +0 -318
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.h +0 -115
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.cpp +0 -438
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.h +0 -129
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.cpp +0 -433
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.h +0 -354
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShapeVisitors.h +0 -461
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.cpp +0 -1311
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.h +0 -202
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.cpp +0 -566
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.h +0 -150
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.cpp +0 -418
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.h +0 -126
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.cpp +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.h +0 -80
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.cpp +0 -64
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.h +0 -75
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/GetTrianglesContext.h +0 -248
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.cpp +0 -2754
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.h +0 -380
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.cpp +0 -1305
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.h +0 -228
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.cpp +0 -596
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.h +0 -176
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.cpp +0 -217
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.h +0 -140
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.cpp +0 -541
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.h +0 -147
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PolyhedronSubmergedVolumeCalculator.h +0 -319
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.cpp +0 -333
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.h +0 -161
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaleHelpers.h +0 -83
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.cpp +0 -238
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.h +0 -145
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.cpp +0 -325
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.h +0 -466
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.cpp +0 -347
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.h +0 -125
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.cpp +0 -674
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.h +0 -139
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeID.h +0 -138
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeIDPair.h +0 -65
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.cpp +0 -453
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.gliffy +0 -1
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.h +0 -135
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.cpp +0 -691
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.h +0 -132
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.cpp +0 -430
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.h +0 -143
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeCast.h +0 -173
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeFilter.h +0 -73
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilter.h +0 -40
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilterWrapper.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SortReverseAndStore.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.cpp +0 -180
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.h +0 -194
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/CalculateSolverSteps.h +0 -70
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.cpp +0 -246
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.h +0 -133
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.cpp +0 -73
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.h +0 -243
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.cpp +0 -289
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.h +0 -100
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AngleConstraintPart.h +0 -257
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AxisConstraintPart.h +0 -682
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/DualAxisConstraintPart.h +0 -276
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/GearConstraintPart.h +0 -195
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/HingeRotationConstraintPart.h +0 -222
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/IndependentAxisConstraintPart.h +0 -246
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/PointConstraintPart.h +0 -239
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RackAndPinionConstraintPart.h +0 -196
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationEulerConstraintPart.h +0 -283
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationQuatConstraintPart.h +0 -246
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SpringPart.h +0 -169
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SwingTwistConstraintPart.h +0 -597
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.cpp +0 -1804
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.h +0 -524
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.cpp +0 -266
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.h +0 -120
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.cpp +0 -215
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.cpp +0 -188
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.h +0 -116
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.cpp +0 -443
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.h +0 -205
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.cpp +0 -43
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.h +0 -66
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.cpp +0 -458
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.h +0 -191
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.cpp +0 -85
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.h +0 -76
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.cpp +0 -308
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.h +0 -54
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.cpp +0 -157
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.h +0 -94
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.cpp +0 -253
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.h +0 -137
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.cpp +0 -189
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.h +0 -118
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.cpp +0 -900
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.h +0 -289
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.cpp +0 -501
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.h +0 -198
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.cpp +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.h +0 -70
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.cpp +0 -524
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.h +0 -197
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.cpp +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.h +0 -65
- package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.cpp +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.h +0 -159
- package/native/third_party/JoltPhysics/Jolt/Physics/EActivation.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/EPhysicsUpdateError.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.cpp +0 -492
- package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.h +0 -144
- package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.cpp +0 -582
- package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.h +0 -187
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsLock.h +0 -169
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.cpp +0 -261
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.h +0 -104
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSettings.h +0 -125
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsStepListener.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.cpp +0 -2915
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.h +0 -391
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.cpp +0 -25
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.h +0 -176
- package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.cpp +0 -744
- package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.h +0 -245
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyContactListener.h +0 -55
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.cpp +0 -128
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.h +0 -75
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyManifold.h +0 -74
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp +0 -1501
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.h +0 -333
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.cpp +0 -354
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.h +0 -73
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.cpp +0 -1487
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.h +0 -390
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyUpdateContext.h +0 -63
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyVertex.h +0 -36
- package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorder.h +0 -136
- package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.cpp +0 -90
- package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.h +0 -50
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.cpp +0 -306
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.h +0 -119
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.cpp +0 -547
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.h +0 -169
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.cpp +0 -33
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.h +0 -33
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.cpp +0 -376
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.h +0 -146
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.cpp +0 -703
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.h +0 -252
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.cpp +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.h +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.cpp +0 -81
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.h +0 -39
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.cpp +0 -122
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.h +0 -93
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.cpp +0 -52
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.h +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.cpp +0 -159
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.h +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.cpp +0 -93
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.h +0 -148
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.cpp +0 -866
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.h +0 -205
- package/native/third_party/JoltPhysics/Jolt/RegisterTypes.cpp +0 -204
- package/native/third_party/JoltPhysics/Jolt/RegisterTypes.h +0 -29
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.cpp +0 -1107
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.h +0 -383
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.cpp +0 -168
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.cpp +0 -158
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.cpp +0 -80
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.h +0 -88
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.cpp +0 -165
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.h +0 -91
- package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.cpp +0 -82
- package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.h +0 -72
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.cpp +0 -237
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.h +0 -145
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.cpp +0 -87
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.h +0 -82
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.cpp +0 -73
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.h +0 -84
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.cpp +0 -139
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.h +0 -52
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.cpp +0 -43
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.h +0 -28
- package/native/third_party/JoltPhysics/LICENSE +0 -7
- package/native/third_party/JoltPhysics/README.md +0 -173
- package/native/third_party/bloom_jolt/CMakeLists.txt +0 -87
- package/native/third_party/bloom_jolt/include/bloom_jolt.h +0 -519
- package/native/third_party/bloom_jolt/src/bloom_jolt.cpp +0 -1780
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2022 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#pragma once
|
|
6
|
-
|
|
7
|
-
JPH_NAMESPACE_BEGIN
|
|
8
|
-
|
|
9
|
-
/// Implementation of the insertion sort algorithm.
|
|
10
|
-
template <typename Iterator, typename Compare>
|
|
11
|
-
inline void InsertionSort(Iterator inBegin, Iterator inEnd, Compare inCompare)
|
|
12
|
-
{
|
|
13
|
-
// Empty arrays don't need to be sorted
|
|
14
|
-
if (inBegin != inEnd)
|
|
15
|
-
{
|
|
16
|
-
// Start at the second element
|
|
17
|
-
for (Iterator i = inBegin + 1; i != inEnd; ++i)
|
|
18
|
-
{
|
|
19
|
-
// Move this element to a temporary value
|
|
20
|
-
auto x = std::move(*i);
|
|
21
|
-
|
|
22
|
-
// Check if the element goes before inBegin (we can't decrement the iterator before inBegin so this needs to be a separate branch)
|
|
23
|
-
if (inCompare(x, *inBegin))
|
|
24
|
-
{
|
|
25
|
-
// Move all elements to the right to make space for x
|
|
26
|
-
Iterator prev;
|
|
27
|
-
for (Iterator j = i; j != inBegin; j = prev)
|
|
28
|
-
{
|
|
29
|
-
prev = j - 1;
|
|
30
|
-
*j = *prev;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Move x to the first place
|
|
34
|
-
*inBegin = std::move(x);
|
|
35
|
-
}
|
|
36
|
-
else
|
|
37
|
-
{
|
|
38
|
-
// Move elements to the right as long as they are bigger than x
|
|
39
|
-
Iterator j = i;
|
|
40
|
-
for (Iterator prev = j - 1; inCompare(x, *prev); j = prev, --prev)
|
|
41
|
-
*j = std::move(*prev);
|
|
42
|
-
|
|
43
|
-
// Move x into place
|
|
44
|
-
*j = std::move(x);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/// Implementation of insertion sort algorithm without comparator.
|
|
51
|
-
template <typename Iterator>
|
|
52
|
-
inline void InsertionSort(Iterator inBegin, Iterator inEnd)
|
|
53
|
-
{
|
|
54
|
-
std::less<> compare;
|
|
55
|
-
InsertionSort(inBegin, inEnd, compare);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
JPH_NAMESPACE_END
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#include <Jolt/Jolt.h>
|
|
6
|
-
|
|
7
|
-
JPH_NAMESPACE_BEGIN
|
|
8
|
-
|
|
9
|
-
static void DummyTrace([[maybe_unused]] const char *inFMT, ...)
|
|
10
|
-
{
|
|
11
|
-
JPH_ASSERT(false);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
TraceFunction Trace = DummyTrace;
|
|
15
|
-
|
|
16
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
17
|
-
|
|
18
|
-
static bool DummyAssertFailed(const char *inExpression, const char *inMessage, const char *inFile, uint inLine)
|
|
19
|
-
{
|
|
20
|
-
return true; // Trigger breakpoint
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
AssertFailedFunction AssertFailed = DummyAssertFailed;
|
|
24
|
-
|
|
25
|
-
#endif // JPH_ENABLE_ASSERTS
|
|
26
|
-
|
|
27
|
-
JPH_NAMESPACE_END
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#pragma once
|
|
6
|
-
|
|
7
|
-
JPH_NAMESPACE_BEGIN
|
|
8
|
-
|
|
9
|
-
/// Trace function, needs to be overridden by application. This should output a line of text to the log / TTY.
|
|
10
|
-
using TraceFunction = void (*)(const char *inFMT, ...);
|
|
11
|
-
JPH_EXPORT extern TraceFunction Trace;
|
|
12
|
-
|
|
13
|
-
// Always turn on asserts in Debug mode
|
|
14
|
-
#if defined(JPH_DEBUG) && !defined(JPH_ENABLE_ASSERTS)
|
|
15
|
-
#define JPH_ENABLE_ASSERTS
|
|
16
|
-
#endif
|
|
17
|
-
|
|
18
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
19
|
-
/// Function called when an assertion fails. This function should return true if a breakpoint needs to be triggered
|
|
20
|
-
using AssertFailedFunction = bool(*)(const char *inExpression, const char *inMessage, const char *inFile, uint inLine);
|
|
21
|
-
JPH_EXPORT extern AssertFailedFunction AssertFailed;
|
|
22
|
-
|
|
23
|
-
// Helper functions to pass message on to failed function
|
|
24
|
-
struct AssertLastParam { };
|
|
25
|
-
inline bool AssertFailedParamHelper(const char *inExpression, const char *inFile, uint inLine, AssertLastParam) { return AssertFailed(inExpression, nullptr, inFile, inLine); }
|
|
26
|
-
inline bool AssertFailedParamHelper(const char *inExpression, const char *inFile, uint inLine, const char *inMessage, AssertLastParam) { return AssertFailed(inExpression, inMessage, inFile, inLine); }
|
|
27
|
-
|
|
28
|
-
/// Main assert macro, usage: JPH_ASSERT(condition, message) or JPH_ASSERT(condition)
|
|
29
|
-
#define JPH_ASSERT(inExpression, ...) do { if (!(inExpression) && AssertFailedParamHelper(#inExpression, __FILE__, JPH::uint(__LINE__), ##__VA_ARGS__, JPH::AssertLastParam())) JPH_BREAKPOINT; } while (false)
|
|
30
|
-
|
|
31
|
-
#define JPH_IF_ENABLE_ASSERTS(...) __VA_ARGS__
|
|
32
|
-
#else
|
|
33
|
-
#define JPH_ASSERT(...) ((void)0)
|
|
34
|
-
|
|
35
|
-
#define JPH_IF_ENABLE_ASSERTS(...)
|
|
36
|
-
#endif // JPH_ENABLE_ASSERTS
|
|
37
|
-
|
|
38
|
-
JPH_NAMESPACE_END
|
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#pragma once
|
|
6
|
-
|
|
7
|
-
#include <Jolt/Core/Reference.h>
|
|
8
|
-
#include <Jolt/Core/Color.h>
|
|
9
|
-
#include <Jolt/Core/Profiler.h>
|
|
10
|
-
#include <Jolt/Core/NonCopyable.h>
|
|
11
|
-
#include <Jolt/Core/StaticArray.h>
|
|
12
|
-
#include <Jolt/Core/Atomics.h>
|
|
13
|
-
|
|
14
|
-
JPH_NAMESPACE_BEGIN
|
|
15
|
-
|
|
16
|
-
/// A class that allows units of work (Jobs) to be scheduled across multiple threads.
|
|
17
|
-
/// It allows dependencies between the jobs so that the jobs form a graph.
|
|
18
|
-
///
|
|
19
|
-
/// The pattern for using this class is:
|
|
20
|
-
///
|
|
21
|
-
/// // Create job system
|
|
22
|
-
/// JobSystem *job_system = new JobSystemThreadPool(...);
|
|
23
|
-
///
|
|
24
|
-
/// // Create some jobs
|
|
25
|
-
/// JobHandle second_job = job_system->CreateJob("SecondJob", Color::sRed, []() { ... }, 1); // Create a job with 1 dependency
|
|
26
|
-
/// JobHandle first_job = job_system->CreateJob("FirstJob", Color::sGreen, [second_job]() { ....; second_job.RemoveDependency(); }, 0); // Job can start immediately, will start second job when it's done
|
|
27
|
-
/// JobHandle third_job = job_system->CreateJob("ThirdJob", Color::sBlue, []() { ... }, 0); // This job can run immediately as well and can run in parallel to job 1 and 2
|
|
28
|
-
///
|
|
29
|
-
/// // Add the jobs to the barrier so that we can execute them while we're waiting
|
|
30
|
-
/// Barrier *barrier = job_system->CreateBarrier();
|
|
31
|
-
/// barrier->AddJob(first_job);
|
|
32
|
-
/// barrier->AddJob(second_job);
|
|
33
|
-
/// barrier->AddJob(third_job);
|
|
34
|
-
/// job_system->WaitForJobs(barrier);
|
|
35
|
-
///
|
|
36
|
-
/// // Clean up
|
|
37
|
-
/// job_system->DestroyBarrier(barrier);
|
|
38
|
-
/// delete job_system;
|
|
39
|
-
///
|
|
40
|
-
/// Jobs are guaranteed to be started in the order that their dependency counter becomes zero (in case they're scheduled on a background thread)
|
|
41
|
-
/// or in the order they're added to the barrier (when dependency count is zero and when executing on the thread that calls WaitForJobs).
|
|
42
|
-
///
|
|
43
|
-
/// If you want to implement your own job system, inherit from JobSystem and implement:
|
|
44
|
-
///
|
|
45
|
-
/// * JobSystem::GetMaxConcurrency - This should return the maximum number of jobs that can run in parallel.
|
|
46
|
-
/// * JobSystem::CreateJob - This should create a Job object and return it to the caller.
|
|
47
|
-
/// * JobSystem::FreeJob - This should free the memory associated with the job object. It is called by the Job destructor when it is Release()-ed for the last time.
|
|
48
|
-
/// * JobSystem::QueueJob/QueueJobs - These should store the job pointer in an internal queue to run immediately (dependencies are tracked internally, this function is called when the job can run).
|
|
49
|
-
/// The Job objects are reference counted and are guaranteed to stay alive during the QueueJob(s) call. If you store the job in your own data structure you need to call AddRef() to take a reference.
|
|
50
|
-
/// After the job has been executed you need to call Release() to release the reference. Make sure you no longer dereference the job pointer after calling Release().
|
|
51
|
-
///
|
|
52
|
-
/// JobSystem::Barrier is used to track the completion of a set of jobs. Jobs will be created by other jobs and added to the barrier while it is being waited on. This means that you cannot
|
|
53
|
-
/// create a dependency graph beforehand as the graph changes while jobs are running. Implement the following functions:
|
|
54
|
-
///
|
|
55
|
-
/// * Barrier::AddJob/AddJobs - Add a job to the barrier, any call to WaitForJobs will now also wait for this job to complete.
|
|
56
|
-
/// If you store the job in a data structure in the Barrier you need to call AddRef() on the job to keep it alive and Release() after you're done with it.
|
|
57
|
-
/// * Barrier::OnJobFinished - This function is called when a job has finished executing, you can use this to track completion and remove the job from the list of jobs to wait on.
|
|
58
|
-
///
|
|
59
|
-
/// The functions on JobSystem that need to be implemented to support barriers are:
|
|
60
|
-
///
|
|
61
|
-
/// * JobSystem::CreateBarrier - Create a new barrier.
|
|
62
|
-
/// * JobSystem::DestroyBarrier - Destroy a barrier.
|
|
63
|
-
/// * JobSystem::WaitForJobs - This is the main function that is used to wait for all jobs that have been added to a Barrier. WaitForJobs can execute jobs that have
|
|
64
|
-
/// been added to the barrier while waiting. It is not wise to execute other jobs that touch physics structures as this can cause race conditions and deadlocks. Please keep in mind that the barrier is
|
|
65
|
-
/// only intended to wait on the completion of the Jolt jobs added to it, if you scheduled any jobs in your engine's job system to execute the Jolt jobs as part of QueueJob/QueueJobs, you might still need
|
|
66
|
-
/// to wait for these in this function after the barrier is finished waiting.
|
|
67
|
-
///
|
|
68
|
-
/// An example implementation is JobSystemThreadPool. If you don't want to write the Barrier class you can also inherit from JobSystemWithBarrier.
|
|
69
|
-
class JPH_EXPORT JobSystem : public NonCopyable
|
|
70
|
-
{
|
|
71
|
-
protected:
|
|
72
|
-
class Job;
|
|
73
|
-
|
|
74
|
-
public:
|
|
75
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
76
|
-
|
|
77
|
-
/// A job handle contains a reference to a job. The job will be deleted as soon as there are no JobHandles.
|
|
78
|
-
/// referring to the job and when it is not in the job queue / being processed.
|
|
79
|
-
class JobHandle : private Ref<Job>
|
|
80
|
-
{
|
|
81
|
-
public:
|
|
82
|
-
/// Constructor
|
|
83
|
-
inline JobHandle() = default;
|
|
84
|
-
inline JobHandle(const JobHandle &inHandle) = default;
|
|
85
|
-
inline JobHandle(JobHandle &&inHandle) noexcept : Ref<Job>(std::move(inHandle)) { }
|
|
86
|
-
|
|
87
|
-
/// Constructor, only to be used by JobSystem
|
|
88
|
-
inline explicit JobHandle(Job *inJob) : Ref<Job>(inJob) { }
|
|
89
|
-
|
|
90
|
-
/// Assignment
|
|
91
|
-
inline JobHandle & operator = (const JobHandle &inHandle) = default;
|
|
92
|
-
inline JobHandle & operator = (JobHandle &&inHandle) noexcept = default;
|
|
93
|
-
|
|
94
|
-
/// Check if this handle contains a job
|
|
95
|
-
inline bool IsValid() const { return GetPtr() != nullptr; }
|
|
96
|
-
|
|
97
|
-
/// Check if this job has finished executing
|
|
98
|
-
inline bool IsDone() const { return GetPtr() != nullptr && GetPtr()->IsDone(); }
|
|
99
|
-
|
|
100
|
-
/// Add to the dependency counter.
|
|
101
|
-
inline void AddDependency(int inCount = 1) const { GetPtr()->AddDependency(inCount); }
|
|
102
|
-
|
|
103
|
-
/// Remove from the dependency counter. Job will start whenever the dependency counter reaches zero
|
|
104
|
-
/// and if it does it is no longer valid to call the AddDependency/RemoveDependency functions.
|
|
105
|
-
inline void RemoveDependency(int inCount = 1) const { GetPtr()->RemoveDependencyAndQueue(inCount); }
|
|
106
|
-
|
|
107
|
-
/// Remove a dependency from a batch of jobs at once, this can be more efficient than removing them one by one as it requires less locking
|
|
108
|
-
static inline void sRemoveDependencies(const JobHandle *inHandles, uint inNumHandles, int inCount = 1);
|
|
109
|
-
|
|
110
|
-
/// Helper function to remove dependencies on a static array of job handles
|
|
111
|
-
template <uint N>
|
|
112
|
-
static inline void sRemoveDependencies(StaticArray<JobHandle, N> &inHandles, int inCount = 1)
|
|
113
|
-
{
|
|
114
|
-
sRemoveDependencies(inHandles.data(), inHandles.size(), inCount);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/// Inherit the GetPtr function, only to be used by the JobSystem
|
|
118
|
-
using Ref<Job>::GetPtr;
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
/// A job barrier keeps track of a number of jobs and allows waiting until they are all completed.
|
|
122
|
-
class Barrier : public NonCopyable
|
|
123
|
-
{
|
|
124
|
-
public:
|
|
125
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
126
|
-
|
|
127
|
-
/// Add a job to this barrier
|
|
128
|
-
/// Note that jobs can keep being added to the barrier while waiting for the barrier
|
|
129
|
-
virtual void AddJob(const JobHandle &inJob) = 0;
|
|
130
|
-
|
|
131
|
-
/// Add multiple jobs to this barrier
|
|
132
|
-
/// Note that jobs can keep being added to the barrier while waiting for the barrier
|
|
133
|
-
virtual void AddJobs(const JobHandle *inHandles, uint inNumHandles) = 0;
|
|
134
|
-
|
|
135
|
-
protected:
|
|
136
|
-
/// Job needs to be able to call OnJobFinished
|
|
137
|
-
friend class Job;
|
|
138
|
-
|
|
139
|
-
/// Destructor, you should call JobSystem::DestroyBarrier instead of destructing this object directly
|
|
140
|
-
virtual ~Barrier() = default;
|
|
141
|
-
|
|
142
|
-
/// Called by a Job to mark that it is finished
|
|
143
|
-
virtual void OnJobFinished(Job *inJob) = 0;
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
/// Main function of the job
|
|
147
|
-
using JobFunction = function<void()>;
|
|
148
|
-
|
|
149
|
-
/// Destructor
|
|
150
|
-
virtual ~JobSystem() = default;
|
|
151
|
-
|
|
152
|
-
/// Get maximum number of concurrently executing jobs
|
|
153
|
-
virtual int GetMaxConcurrency() const = 0;
|
|
154
|
-
|
|
155
|
-
/// Create a new job, the job is started immediately if inNumDependencies == 0 otherwise it starts when
|
|
156
|
-
/// RemoveDependency causes the dependency counter to reach 0.
|
|
157
|
-
virtual JobHandle CreateJob(const char *inName, ColorArg inColor, const JobFunction &inJobFunction, uint32 inNumDependencies = 0) = 0;
|
|
158
|
-
|
|
159
|
-
/// Create a new barrier, used to wait on jobs
|
|
160
|
-
virtual Barrier * CreateBarrier() = 0;
|
|
161
|
-
|
|
162
|
-
/// Destroy a barrier when it is no longer used. The barrier should be empty at this point.
|
|
163
|
-
virtual void DestroyBarrier(Barrier *inBarrier) = 0;
|
|
164
|
-
|
|
165
|
-
/// Wait for a set of jobs to be finished, note that only 1 thread can be waiting on a barrier at a time
|
|
166
|
-
virtual void WaitForJobs(Barrier *inBarrier) = 0;
|
|
167
|
-
|
|
168
|
-
protected:
|
|
169
|
-
/// A class that contains information for a single unit of work
|
|
170
|
-
class Job
|
|
171
|
-
{
|
|
172
|
-
public:
|
|
173
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
174
|
-
|
|
175
|
-
/// Constructor
|
|
176
|
-
Job([[maybe_unused]] const char *inJobName, [[maybe_unused]] ColorArg inColor, JobSystem *inJobSystem, const JobFunction &inJobFunction, uint32 inNumDependencies) :
|
|
177
|
-
#if defined(JPH_EXTERNAL_PROFILE) || defined(JPH_PROFILE_ENABLED)
|
|
178
|
-
mJobName(inJobName),
|
|
179
|
-
mColor(inColor),
|
|
180
|
-
#endif // defined(JPH_EXTERNAL_PROFILE) || defined(JPH_PROFILE_ENABLED)
|
|
181
|
-
mJobSystem(inJobSystem),
|
|
182
|
-
mJobFunction(inJobFunction),
|
|
183
|
-
mNumDependencies(inNumDependencies)
|
|
184
|
-
{
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/// Get the jobs system to which this job belongs
|
|
188
|
-
inline JobSystem * GetJobSystem() { return mJobSystem; }
|
|
189
|
-
|
|
190
|
-
/// Add or release a reference to this object
|
|
191
|
-
inline void AddRef()
|
|
192
|
-
{
|
|
193
|
-
// Adding a reference can use relaxed memory ordering
|
|
194
|
-
mReferenceCount.fetch_add(1, memory_order_relaxed);
|
|
195
|
-
}
|
|
196
|
-
inline void Release()
|
|
197
|
-
{
|
|
198
|
-
#ifndef JPH_TSAN_ENABLED
|
|
199
|
-
// Releasing a reference must use release semantics...
|
|
200
|
-
if (mReferenceCount.fetch_sub(1, memory_order_release) == 1)
|
|
201
|
-
{
|
|
202
|
-
// ... so that we can use acquire to ensure that we see any updates from other threads that released a ref before freeing the job
|
|
203
|
-
atomic_thread_fence(memory_order_acquire);
|
|
204
|
-
mJobSystem->FreeJob(this);
|
|
205
|
-
}
|
|
206
|
-
#else
|
|
207
|
-
// But under TSAN, we cannot use atomic_thread_fence, so we use an acq_rel operation unconditionally instead
|
|
208
|
-
if (mReferenceCount.fetch_sub(1, memory_order_acq_rel) == 1)
|
|
209
|
-
mJobSystem->FreeJob(this);
|
|
210
|
-
#endif
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/// Add to the dependency counter.
|
|
214
|
-
inline void AddDependency(int inCount);
|
|
215
|
-
|
|
216
|
-
/// Remove from the dependency counter. Returns true whenever the dependency counter reaches zero
|
|
217
|
-
/// and if it does it is no longer valid to call the AddDependency/RemoveDependency functions.
|
|
218
|
-
inline bool RemoveDependency(int inCount);
|
|
219
|
-
|
|
220
|
-
/// Remove from the dependency counter. Job will be queued whenever the dependency counter reaches zero
|
|
221
|
-
/// and if it does it is no longer valid to call the AddDependency/RemoveDependency functions.
|
|
222
|
-
inline void RemoveDependencyAndQueue(int inCount);
|
|
223
|
-
|
|
224
|
-
/// Set the job barrier that this job belongs to and returns false if this was not possible because the job already finished
|
|
225
|
-
inline bool SetBarrier(Barrier *inBarrier)
|
|
226
|
-
{
|
|
227
|
-
intptr_t barrier = 0;
|
|
228
|
-
if (mBarrier.compare_exchange_strong(barrier, reinterpret_cast<intptr_t>(inBarrier), memory_order_relaxed))
|
|
229
|
-
return true;
|
|
230
|
-
JPH_ASSERT(barrier == cBarrierDoneState, "A job can only belong to 1 barrier");
|
|
231
|
-
return false;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
/// Run the job function, returns the number of dependencies that this job still has or cExecutingState or cDoneState
|
|
235
|
-
inline uint32 Execute()
|
|
236
|
-
{
|
|
237
|
-
// Transition job to executing state
|
|
238
|
-
uint32 state = 0; // We can only start running with a dependency counter of 0
|
|
239
|
-
if (!mNumDependencies.compare_exchange_strong(state, cExecutingState, memory_order_acquire))
|
|
240
|
-
return state; // state is updated by compare_exchange_strong to the current value
|
|
241
|
-
|
|
242
|
-
// Run the job function
|
|
243
|
-
{
|
|
244
|
-
JPH_PROFILE(mJobName, mColor.GetUInt32());
|
|
245
|
-
mJobFunction();
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
// Fetch the barrier pointer and exchange it for the done state, so we're sure that no barrier gets set after we want to call the callback
|
|
249
|
-
intptr_t barrier = mBarrier.load(memory_order_relaxed);
|
|
250
|
-
for (;;)
|
|
251
|
-
{
|
|
252
|
-
if (mBarrier.compare_exchange_weak(barrier, cBarrierDoneState, memory_order_relaxed))
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
JPH_ASSERT(barrier != cBarrierDoneState);
|
|
256
|
-
|
|
257
|
-
// Mark job as done
|
|
258
|
-
state = cExecutingState;
|
|
259
|
-
mNumDependencies.compare_exchange_strong(state, cDoneState, memory_order_relaxed);
|
|
260
|
-
JPH_ASSERT(state == cExecutingState);
|
|
261
|
-
|
|
262
|
-
// Notify the barrier after we've changed the job to the done state so that any thread reading the state after receiving the callback will see that the job has finished
|
|
263
|
-
if (barrier != 0)
|
|
264
|
-
reinterpret_cast<Barrier *>(barrier)->OnJobFinished(this);
|
|
265
|
-
|
|
266
|
-
return cDoneState;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/// Test if the job can be executed
|
|
270
|
-
inline bool CanBeExecuted() const { return mNumDependencies.load(memory_order_relaxed) == 0; }
|
|
271
|
-
|
|
272
|
-
/// Test if the job finished executing
|
|
273
|
-
inline bool IsDone() const { return mNumDependencies.load(memory_order_relaxed) == cDoneState; }
|
|
274
|
-
|
|
275
|
-
#if defined(JPH_EXTERNAL_PROFILE) || defined(JPH_PROFILE_ENABLED)
|
|
276
|
-
/// Get the name of the job
|
|
277
|
-
const char * GetName() const { return mJobName; }
|
|
278
|
-
#endif // defined(JPH_EXTERNAL_PROFILE) || defined(JPH_PROFILE_ENABLED)
|
|
279
|
-
|
|
280
|
-
static constexpr uint32 cExecutingState = 0xe0e0e0e0; ///< Value of mNumDependencies when job is executing
|
|
281
|
-
static constexpr uint32 cDoneState = 0xd0d0d0d0; ///< Value of mNumDependencies when job is done executing
|
|
282
|
-
|
|
283
|
-
static constexpr intptr_t cBarrierDoneState = ~intptr_t(0); ///< Value to use when the barrier has been triggered
|
|
284
|
-
|
|
285
|
-
private:
|
|
286
|
-
#if defined(JPH_EXTERNAL_PROFILE) || defined(JPH_PROFILE_ENABLED)
|
|
287
|
-
const char * mJobName; ///< Name of the job
|
|
288
|
-
Color mColor; ///< Color of the job in the profiler
|
|
289
|
-
#endif // defined(JPH_EXTERNAL_PROFILE) || defined(JPH_PROFILE_ENABLED)
|
|
290
|
-
JobSystem * mJobSystem; ///< The job system we belong to
|
|
291
|
-
atomic<intptr_t> mBarrier = 0; ///< Barrier that this job is associated with (is a Barrier pointer)
|
|
292
|
-
JobFunction mJobFunction; ///< Main job function
|
|
293
|
-
atomic<uint32> mReferenceCount = 0; ///< Amount of JobHandles pointing to this job
|
|
294
|
-
atomic<uint32> mNumDependencies; ///< Amount of jobs that need to complete before this job can run
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
/// Adds a job to the job queue
|
|
298
|
-
virtual void QueueJob(Job *inJob) = 0;
|
|
299
|
-
|
|
300
|
-
/// Adds a number of jobs at once to the job queue
|
|
301
|
-
virtual void QueueJobs(Job **inJobs, uint inNumJobs) = 0;
|
|
302
|
-
|
|
303
|
-
/// Frees a job
|
|
304
|
-
virtual void FreeJob(Job *inJob) = 0;
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
using JobHandle = JobSystem::JobHandle;
|
|
308
|
-
|
|
309
|
-
JPH_NAMESPACE_END
|
|
310
|
-
|
|
311
|
-
#include "JobSystem.inl"
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
JPH_NAMESPACE_BEGIN
|
|
6
|
-
|
|
7
|
-
void JobSystem::Job::AddDependency(int inCount)
|
|
8
|
-
{
|
|
9
|
-
JPH_IF_ENABLE_ASSERTS(uint32 old_value =) mNumDependencies.fetch_add(inCount, memory_order_relaxed);
|
|
10
|
-
JPH_ASSERT(old_value > 0 && old_value != cExecutingState && old_value != cDoneState, "Job is queued, running or done, it is not allowed to add a dependency to a running job");
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
bool JobSystem::Job::RemoveDependency(int inCount)
|
|
14
|
-
{
|
|
15
|
-
uint32 old_value = mNumDependencies.fetch_sub(inCount, memory_order_release);
|
|
16
|
-
JPH_ASSERT(old_value != cExecutingState && old_value != cDoneState, "Job is running or done, it is not allowed to add a dependency to a running job");
|
|
17
|
-
uint32 new_value = old_value - inCount;
|
|
18
|
-
JPH_ASSERT(old_value > new_value, "Test wrap around, this is a logic error");
|
|
19
|
-
return new_value == 0;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
void JobSystem::Job::RemoveDependencyAndQueue(int inCount)
|
|
23
|
-
{
|
|
24
|
-
if (RemoveDependency(inCount))
|
|
25
|
-
mJobSystem->QueueJob(this);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
void JobSystem::JobHandle::sRemoveDependencies(const JobHandle *inHandles, uint inNumHandles, int inCount)
|
|
29
|
-
{
|
|
30
|
-
JPH_PROFILE_FUNCTION();
|
|
31
|
-
|
|
32
|
-
JPH_ASSERT(inNumHandles > 0);
|
|
33
|
-
|
|
34
|
-
// Get the job system, all jobs should be part of the same job system
|
|
35
|
-
JobSystem *job_system = inHandles->GetPtr()->GetJobSystem();
|
|
36
|
-
|
|
37
|
-
// Allocate a buffer to store the jobs that need to be queued
|
|
38
|
-
Job **jobs_to_queue = (Job **)JPH_STACK_ALLOC(inNumHandles * sizeof(Job *));
|
|
39
|
-
Job **next_job = jobs_to_queue;
|
|
40
|
-
|
|
41
|
-
// Remove the dependencies on all jobs
|
|
42
|
-
for (const JobHandle *handle = inHandles, *handle_end = inHandles + inNumHandles; handle < handle_end; ++handle)
|
|
43
|
-
{
|
|
44
|
-
Job *job = handle->GetPtr();
|
|
45
|
-
JPH_ASSERT(job->GetJobSystem() == job_system); // All jobs should belong to the same job system
|
|
46
|
-
if (job->RemoveDependency(inCount))
|
|
47
|
-
*(next_job++) = job;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// If any jobs need to be scheduled, schedule them as a batch
|
|
51
|
-
uint num_jobs_to_queue = uint(next_job - jobs_to_queue);
|
|
52
|
-
if (num_jobs_to_queue != 0)
|
|
53
|
-
job_system->QueueJobs(jobs_to_queue, num_jobs_to_queue);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
JPH_NAMESPACE_END
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2023 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#include <Jolt/Jolt.h>
|
|
6
|
-
|
|
7
|
-
#include <Jolt/Core/JobSystemSingleThreaded.h>
|
|
8
|
-
|
|
9
|
-
JPH_NAMESPACE_BEGIN
|
|
10
|
-
|
|
11
|
-
void JobSystemSingleThreaded::Init(uint inMaxJobs)
|
|
12
|
-
{
|
|
13
|
-
mJobs.Init(inMaxJobs, inMaxJobs);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
JobHandle JobSystemSingleThreaded::CreateJob(const char *inJobName, ColorArg inColor, const JobFunction &inJobFunction, uint32 inNumDependencies)
|
|
17
|
-
{
|
|
18
|
-
// Construct an object
|
|
19
|
-
uint32 index = mJobs.ConstructObject(inJobName, inColor, this, inJobFunction, inNumDependencies);
|
|
20
|
-
JPH_ASSERT(index != AvailableJobs::cInvalidObjectIndex);
|
|
21
|
-
Job *job = &mJobs.Get(index);
|
|
22
|
-
|
|
23
|
-
// Construct handle to keep a reference, the job is queued below and will immediately complete
|
|
24
|
-
JobHandle handle(job);
|
|
25
|
-
|
|
26
|
-
// If there are no dependencies, queue the job now
|
|
27
|
-
if (inNumDependencies == 0)
|
|
28
|
-
QueueJob(job);
|
|
29
|
-
|
|
30
|
-
// Return the handle
|
|
31
|
-
return handle;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
void JobSystemSingleThreaded::FreeJob(Job *inJob)
|
|
35
|
-
{
|
|
36
|
-
mJobs.DestructObject(inJob);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
void JobSystemSingleThreaded::QueueJob(Job *inJob)
|
|
40
|
-
{
|
|
41
|
-
inJob->Execute();
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
void JobSystemSingleThreaded::QueueJobs(Job **inJobs, uint inNumJobs)
|
|
45
|
-
{
|
|
46
|
-
for (uint i = 0; i < inNumJobs; ++i)
|
|
47
|
-
QueueJob(inJobs[i]);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
JobSystem::Barrier *JobSystemSingleThreaded::CreateBarrier()
|
|
51
|
-
{
|
|
52
|
-
return &mDummyBarrier;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
void JobSystemSingleThreaded::DestroyBarrier(Barrier *inBarrier)
|
|
56
|
-
{
|
|
57
|
-
// There's nothing to do here, the barrier is just a dummy
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
void JobSystemSingleThreaded::WaitForJobs(Barrier *inBarrier)
|
|
61
|
-
{
|
|
62
|
-
// There's nothing to do here, the barrier is just a dummy, we just execute the jobs immediately
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
JPH_NAMESPACE_END
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2023 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#pragma once
|
|
6
|
-
|
|
7
|
-
#include <Jolt/Core/JobSystem.h>
|
|
8
|
-
#include <Jolt/Core/FixedSizeFreeList.h>
|
|
9
|
-
|
|
10
|
-
JPH_NAMESPACE_BEGIN
|
|
11
|
-
|
|
12
|
-
/// Implementation of a JobSystem without threads, runs jobs as soon as they are added
|
|
13
|
-
class JPH_EXPORT JobSystemSingleThreaded final : public JobSystem
|
|
14
|
-
{
|
|
15
|
-
public:
|
|
16
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
17
|
-
|
|
18
|
-
/// Constructor
|
|
19
|
-
JobSystemSingleThreaded() = default;
|
|
20
|
-
explicit JobSystemSingleThreaded(uint inMaxJobs) { Init(inMaxJobs); }
|
|
21
|
-
|
|
22
|
-
/// Initialize the job system
|
|
23
|
-
/// @param inMaxJobs Max number of jobs that can be allocated at any time
|
|
24
|
-
void Init(uint inMaxJobs);
|
|
25
|
-
|
|
26
|
-
// See JobSystem
|
|
27
|
-
virtual int GetMaxConcurrency() const override { return 1; }
|
|
28
|
-
virtual JobHandle CreateJob(const char *inName, ColorArg inColor, const JobFunction &inJobFunction, uint32 inNumDependencies = 0) override;
|
|
29
|
-
virtual Barrier * CreateBarrier() override;
|
|
30
|
-
virtual void DestroyBarrier(Barrier *inBarrier) override;
|
|
31
|
-
virtual void WaitForJobs(Barrier *inBarrier) override;
|
|
32
|
-
|
|
33
|
-
protected:
|
|
34
|
-
// Dummy implementation of Barrier, all jobs are executed immediately
|
|
35
|
-
class BarrierImpl : public Barrier
|
|
36
|
-
{
|
|
37
|
-
public:
|
|
38
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
39
|
-
|
|
40
|
-
// See Barrier
|
|
41
|
-
virtual void AddJob(const JobHandle &inJob) override { /* We don't need to track jobs */ }
|
|
42
|
-
virtual void AddJobs(const JobHandle *inHandles, uint inNumHandles) override { /* We don't need to track jobs */ }
|
|
43
|
-
|
|
44
|
-
protected:
|
|
45
|
-
/// Called by a Job to mark that it is finished
|
|
46
|
-
virtual void OnJobFinished(Job *inJob) override { /* We don't need to track jobs */ }
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// See JobSystem
|
|
50
|
-
virtual void QueueJob(Job *inJob) override;
|
|
51
|
-
virtual void QueueJobs(Job **inJobs, uint inNumJobs) override;
|
|
52
|
-
virtual void FreeJob(Job *inJob) override;
|
|
53
|
-
|
|
54
|
-
/// Shared barrier since the barrier implementation does nothing
|
|
55
|
-
BarrierImpl mDummyBarrier;
|
|
56
|
-
|
|
57
|
-
/// Array of jobs (fixed size)
|
|
58
|
-
using AvailableJobs = FixedSizeFreeList<Job>;
|
|
59
|
-
AvailableJobs mJobs;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
JPH_NAMESPACE_END
|