You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Moves the JoltPhysics/ submodule from v5.5.0 to v5.6.0 (23dadd0 → e77f175) and repairs the single API break the release caused. Version macro JOLTC_JOLT_VERSION updated to 5.6.0.
Build passes; all 259 C tests pass on linux-x64. The CMake pins already anticipated 5.6.0: JPH_USE_DX12/VK/MTL/CPU_COMPUTE are forced OFF in JoltC/CMakeLists.txt, so the new compute/hair GPU code is not compiled and needs no toolchain (dxc/spirv-cross). No new JPH_* build variable required pinning beyond what is already present.
Repair (mechanical)
CharacterContactListener was refactored upstream: its OnContactValidate, OnContactAdded and OnContactPersisted virtuals now take a single const CharacterContact & struct instead of loose BodyID / SubShapeID / position / normal parameters. This broke the override in JoltC/src/wrappers.h.
Adapted the three overrides to read from the struct:
inBodyID2 → inContact.mBodyB
inContactPosition → inContact.mPosition
inContactNormal → inContact.mContactNormal
The C ABI is unchanged — the JoltC_OnCharacterContact*Fn callback signatures and everything a downstream binding sees are identical. No wrapper function was removed. This is a signature-only repair.
Additions upstream that this wrapper does not expose (proposal, not implemented)
Deciding what to expose is a product call; listing for a human to triage:
GPU compute + strand-based hair simulation (DX12/Vulkan/Metal/CPU). Large new subsystem, disabled at build time here and pulls a dxc/spirv-cross toolchain dependency. Likely out of scope for this C layer.
New friction model — internal solver change; no new public API to wrap, behavior-only.
HeightFieldShape::mBitsPerSample max raised to 16 — existing setter already covers it; no new surface.
CollideShapeSettings::mInternalEdgeRemovalVertexToleranceSq and PhysicsSettings::mInternalEdgeRemovalVertexToleranceSq — new configurable tolerances; candidates for getter/setter exposure.
ShapeCastSettings::mExtraConvexRadius — new field on shape-cast settings.
ESpringMode::MassNormalizedStiffnessAndDamping and EMotorState::PositionAndVelocity — new enum values for glTF KHR_physics_rigid_bodies motor support.
The bundle file is available in the agent artifact in the workflow run linked above.
To create a pull request with the changes:
# Download the artifact from the workflow run
gh run download 30918179814 -n agent -D /tmp/agent-30918179814
# Fetch the bundle into a temporary ref, then update the local branch
git fetch /tmp/agent-30918179814/aw-bump-jolt-v5.6.0.bundle refs/heads/bump-jolt-v5.6.0:refs/bundles/create-pr-bump-jolt-v5-6-0-b24ae2adb5bab9ba-133095d5
git update-ref refs/heads/bump-jolt-v5.6.0-b24ae2adb5bab9ba refs/bundles/create-pr-bump-jolt-v5-6-0-b24ae2adb5bab9ba-133095d5
git checkout bump-jolt-v5.6.0-b24ae2adb5bab9ba
# Ensure the working tree matches the updated branch
git reset --hard
# Remove the temporary bundle ref
git update-ref -d refs/bundles/create-pr-bump-jolt-v5-6-0-b24ae2adb5bab9ba-133095d5
# Push the branch to origin
git push origin bump-jolt-v5.6.0-b24ae2adb5bab9ba
# Create the pull request
gh pr create --title 'feat(wrapper): Bump JoltPhysics to v5.6.0' --base main --head bump-jolt-v5.6.0-b24ae2adb5bab9ba --repo EvergineTeam/JoltPhysicsC
What this does
Moves the
JoltPhysics/submodule from v5.5.0 to v5.6.0 (23dadd0→e77f175) and repairs the single API break the release caused. Version macroJOLTC_JOLT_VERSIONupdated to5.6.0.Build passes; all 259 C tests pass on
linux-x64. The CMake pins already anticipated 5.6.0:JPH_USE_DX12/VK/MTL/CPU_COMPUTEare forcedOFFinJoltC/CMakeLists.txt, so the new compute/hair GPU code is not compiled and needs no toolchain (dxc/spirv-cross). No newJPH_*build variable required pinning beyond what is already present.Repair (mechanical)
CharacterContactListenerwas refactored upstream: itsOnContactValidate,OnContactAddedandOnContactPersistedvirtuals now take a singleconst CharacterContact &struct instead of looseBodyID/SubShapeID/ position / normal parameters. This broke theoverrideinJoltC/src/wrappers.h.Adapted the three overrides to read from the struct:
inBodyID2→inContact.mBodyBinContactPosition→inContact.mPositioninContactNormal→inContact.mContactNormalThe C ABI is unchanged — the
JoltC_OnCharacterContact*Fncallback signatures and everything a downstream binding sees are identical. No wrapper function was removed. This is a signature-only repair.Additions upstream that this wrapper does not expose (proposal, not implemented)
Deciding what to expose is a product call; listing for a human to triage:
HeightFieldShape::mBitsPerSamplemax raised to 16 — existing setter already covers it; no new surface.CollideShapeSettings::mInternalEdgeRemovalVertexToleranceSqandPhysicsSettings::mInternalEdgeRemovalVertexToleranceSq— new configurable tolerances; candidates for getter/setter exposure.ShapeCastSettings::mExtraConvexRadius— new field on shape-cast settings.ESpringMode::MassNormalizedStiffnessAndDampingandEMotorState::PositionAndVelocity— new enum values for glTFKHR_physics_rigid_bodiesmotor support.Ragdoll::DriveToPoseUsingMotorsposition+velocity variant.Body::ApplyBodyCreationSettingsandBody::ApplySoftBodyCreationSettings— update a body from creation settings post-creation.JPH_BUILD_SHARED_LIBSCMake variable — build-system only.Deprecations upstream (informational)
UWP, Windows ARM32, and compilers older than VS2022 / Clang 16 / GCC 12 are deprecated upstream. None affect the platforms this wrapper builds for.
Testing
Note
This was originally intended as a pull request, but the git push operation failed.
Error: Signed commit push refused — submodule change detected
GitHub's
createCommitOnBranchGraphQL API cannot represent:120000)160000)100755)To fix: Remove the submodule entry from the commit history,
or set
signed-commits: falsein your workflow step if signed commits are not required.Workflow Run: View run details and download bundle artifact
The bundle file is available in the
agentartifact in the workflow run linked above.To create a pull request with the changes: