Skip to content

Return nested Mimic randomization controls - #7279

Open
sylvesterkaczmarek wants to merge 3 commits into
isaac-sim:developfrom
sylvesterkaczmarek:fix/mimic-nested-randomizable-inputs
Open

Return nested Mimic randomization controls#7279
sylvesterkaczmarek wants to merge 3 commits into
isaac-sim:developfrom
sylvesterkaczmarek:fix/mimic-nested-randomizable-inputs

Conversation

@sylvesterkaczmarek

Copy link
Copy Markdown

Description

Fixes interactive_update_randomizable_params() omitting nested randomizable controls from its return value.

The function recursively creates controls for nested parameter dictionaries, but the recursive result was previously discarded. Nested controls were therefore displayed and remained functional, while callers received only top-level controls in the returned list.

The recursive result is now extended into the parent inputs list, preserving the documented complete list of generated controls at every nesting level.

Type of change

  • Bug fix

Validation

  • Added a unit regression test containing both a nested parameter and a top-level parameter.
  • The test verifies the returned list contains both controls with the correct nested key path and order.
  • Added the required isaaclab_mimic changelog fragment.
  • No new dependencies.

Checklist

  • I have read and understood the contribution guidelines
  • I have added a regression test
  • I have added the required changelog fragment
  • No new dependencies

@sylvesterkaczmarek
sylvesterkaczmarek requested a review from a team August 21, 2026 16:31
@github-actions github-actions Bot added bug Something isn't working isaac-mimic Related to Isaac Mimic team labels Aug 21, 2026

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isaac Lab Review Bot

Reviewed the recursive return-value propagation in interactive_update_randomizable_params(), its focused regression test, and the isaaclab_mimic changelog fragment. The patch directly fixes omission of nested controls without altering control creation.

  • Design and architecture: The existing recursive traversal remains intact; extending the parent list with each recursive result preserves depth-first configuration order, dotted path construction, and existing widget side effects.
  • API: The function continues returning the declared list of key-path/widget tuples. Nested controls now use the same entry shape as top-level controls, with full split key paths, so the fix completes the return behavior without changing the interface format.
  • Implementation: The changed branch correctly propagates recursively collected entries. The regression test covers both nested and top-level parameters and verifies their paths and ordering, while isolating widget construction through a targeted monkeypatch. The changelog fragment accurately records the user-visible fix.

No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.

Automated review; human maintainers own approval decisions.

@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Fixes interactive_update_randomizable_params() so controls generated recursively for nested parameter dictionaries are included in its returned list.

  • Extends the parent accumulator with nested recursive results.
  • Adds a unit regression test covering nested and top-level controls, key paths, and ordering.
  • Adds the corresponding isaaclab_mimic changelog fragment.

Confidence Score: 5/5

The PR appears safe to merge with no actionable defects identified.

The recursive calls use independent accumulators, and extending their results returns each nested leaf exactly once while preserving traversal order and the expected descriptor shape.

Important Files Changed

Filename Overview
source/isaaclab_mimic/isaaclab_mimic/datagen/utils.py Accumulates recursive return values so the documented result includes every nested leaf control.
source/isaaclab_mimic/test/test_datagen_utils.py Adds a discoverable unit regression test validating nested paths, top-level controls, and return ordering.
source/isaaclab_mimic/changelog.d/sylvesterkaczmarek-nested-randomizable-inputs.patch.rst Documents the corrected nested-control return behavior.

Reviews (1): Last reviewed commit: "Preserve nested Mimic randomization cont..." | Re-trigger Greptile

@AntoineRichard AntoineRichard left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

AI review disclosure: This review was produced with assistance from multiple AI systems.

Thank you for putting this PR together.

Assessment: inputs.extend preserves depth-first order and returns each nested control exactly once.

Findings: Invalid .patch.rst changelog filename; substantive workflows await authorization.

Requested changes: Rename the fragment and rerun the focused CI workflows.

Changelog filename: Rename the current <slug>.patch.rst fragment to <slug>.rst for this patch-level change. IsaacLab accepts <slug>.rst (patch), <slug>.minor.rst, and <slug>.major.rst; it does not accept a .patch.rst suffix.

Test scope: Focused nested/top-level path-and-order regression is the smallest sufficient test.

Documentation / AI skills: No additional documentation update is required: no signature or public-doc contract changed. No AI-skill update is required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working isaac-mimic Related to Isaac Mimic team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants