Repository navigation
Conversation
Load and validate YAML generation parameters, reuse shared scene generation and layout solving, and expand each group from a common baseline. Keep successful candidates in memory and treat budget exhaustion as a normal tagged result. Validation: 97 focused configuration and generation tests passed; Black 26.3.1 passed across the repository. API documentation coverage remains pending because documentation updates are deferred.
Reuse the export loader collision conversion for generated scene fragments, covering default, single-hull and custom decomposition budgets. Document the 12 new public APIs and route grouped scene randomization through the GenSim context.
yuecideng
self-requested a review
October 17, 2026 03:17
MuziWong
added a commit
that referenced
this pull request
Oct 17, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Add grouped scene randomization for existing Scene Engine exports, building on the shared procedural generator and AABB layout solver from #761.
seed,candidate_count,max_attempts, andcollision_margin_m. Generate fixed-orientation XY layouts within the table bounds while preserving each group's internal poses. Return partial results withbudget_exhaustedwhen the attempt budget runs out.Generation:
embodichain scene-randomization --output_root <workspace> --config <policy.yaml>Playback:
python -m embodichain.gen_sim.scene_engine.randomization.loading --layout-dir <run>/layouts --interval 3The initial scope is a single table with rigid GLB objects and explicit support relationships. Layout acceptance checks group AABB bounds and clearances; physical stability and task feasibility require separate validation. No new dependencies.
Type of change
Preview
Left: fixed input image. Right: native DexSim playback of 20 randomized layouts, shown at 2× speed (about 10 seconds per loop). Assets are loaded once; each support group and its members move together through pose updates without advancing physics.
Validation
black .using Black 26.3.1: passed;git diff --check: passed.tests/test_agent_context_map.py,tests/test_agent_context_tools.py, andtests/docs/test_check_api_docs.py: 49 passed.python docs/scripts/check_api_docs.py: passed, zero missing exports.context.py check: passed; CLI, Chinese grouped-scene queries, and public symbols route to GenSim while domain randomization retains its existing owner.Checklist
black .command to format the code base.python docs/scripts/check_api_docs.py).