Skip to content

Set Default Broad Phase to LBVH#212

Merged
zfergus merged 4 commits intomainfrom
change-default-broad-phase
Feb 7, 2026
Merged

Set Default Broad Phase to LBVH#212
zfergus merged 4 commits intomainfrom
change-default-broad-phase

Conversation

@zfergus
Copy link
Member

@zfergus zfergus commented Feb 7, 2026

Description

Set the default broad phase to LBVH.

As shown in #188, the LBVH outperforms all other methods on a variety of scenes.

Type of change

Please delete options that are not relevant.

  • Enhancement (non-breaking change which improves existing functionality)

Copilot AI review requested due to automatic review settings February 7, 2026 14:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates IPC Toolkit’s default broad-phase collision detection implementation to use LBVH (as introduced in #188) and aligns the getting-started tutorial text with the new default.

Changes:

  • Switch make_default_broad_phase() to construct LBVH instead of HashGrid.
  • Update the getting-started tutorial to state that the default broad phase is now LBVH.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/ipc/broad_phase/default_broad_phase.hpp Changes the default broad-phase factory to return LBVH.
docs/source/tutorials/getting_started.rst Updates the tutorial’s broad-phase list to reflect LBVH as the default.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Feb 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.96%. Comparing base (82e3ccf) to head (b2dd0f2).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #212   +/-   ##
=======================================
  Coverage   96.95%   96.96%           
=======================================
  Files         159      159           
  Lines       24666    24666           
  Branches      882      883    +1     
=======================================
+ Hits        23916    23917    +1     
+ Misses        750      749    -1     
Flag Coverage Δ
unittests 96.96% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

- Replace has_*() checks with bvh.size() <= 1 so functions require at
  least two primitives for collision tests.
@zfergus zfergus merged commit 524828c into main Feb 7, 2026
19 checks passed
@zfergus zfergus deleted the change-default-broad-phase branch February 7, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant