Fixes infinite loop in repeated_objects_terrain: respawn only wrong object samples #1612
+21
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Currently, the
repeated_objects_terrain
function attempts to respawn all N required objects if even a single object lies within the central platform. However, the probability of successfully spawning all objects outside the central platform depends on the object density (i.e., the number of required objects relative to the terrain size) and the size of the central platform. For high object densities, this probability quickly approaches zero, causing the function to enter an infinite respawn loop.This PR addresses the issue by respawning only the objects that lie within the central platform during each loop, while leaving objects outside the platform untouched. This leads to faster terrain generation and prevents the worst-case scenario of getting stuck in an infinite respawn loop when object density is high.
Type of change
Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there