Skip to content

Make KaminoSolverCfgBase public - #7047

Closed
rubengrandia wants to merge 4 commits into
isaac-sim:developfrom
rubengrandia:rgrandia/kamino_nested_cfg_enable_dvi
Closed

Make KaminoSolverCfgBase public#7047
rubengrandia wants to merge 4 commits into
isaac-sim:developfrom
rubengrandia:rgrandia/kamino_nested_cfg_enable_dvi

Conversation

@rubengrandia

Copy link
Copy Markdown
Collaborator

Description

Short amendment to previous PR #6916, making the CfgBase public is slightly more scalable and turns:
isinstance(solver_cfg, (KaminoPADMMSolverCfg, KaminoDVISolverCfg)) into isinstance(solver_cfg, KaminoSolverCfgBase). The latter would remain valid if we ever add a third backend.

@rubengrandia
rubengrandia requested a review from a team August 12, 2026 16:31
@github-actions github-actions Bot added the isaac-lab Related to Isaac Lab team label Aug 12, 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

The change consistently promotes KaminoSolverCfgBase to a public API and uses it for Kamino classification in the coupler. The remaining issue is missing changelog metadata for the affected source packages.

  • Design and architecture: Using the shared Kamino configuration base in NewtonCouplerManager preserves current behavior for the PADMM and DVI configurations while ensuring future Kamino backends inherit the same contact handling and nested-entry validation.
  • API: KaminoSolverCfgBase is exported through isaaclab_newton.physics, and supplied consumers no longer reference the private name. Because this is a user-visible API addition, the required changelog fragment for isaaclab_newton is missing; the modified isaaclab_contrib package also needs an appropriate fragment, which may be .skip if no release note is warranted.
  • Implementation: The manager annotations, runtime type guard, concrete config inheritance, and coupler checks were updated consistently. Existing PADMM and DVI behavior remains unchanged, but release metadata must be added before merge.

Minor fixes needed. Posted 1 actionable finding inline.

Automated review; human maintainers own approval decisions.

@greptile-apps

greptile-apps Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR makes the common Kamino solver configuration base class public and updates internal type checks to use it.

  • Exports KaminoSolverCfgBase from isaaclab_newton.physics.
  • Updates Kamino manager annotations and runtime validation to use the public name.
  • Generalizes coupler handling from two concrete Kamino configurations to their shared base class.

Confidence Score: 5/5

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

The rename is applied consistently, the new package export follows the existing lazy-export mechanism, and the broadened type checks preserve current behavior while covering future Kamino solver subclasses.

Important Files Changed

Filename Overview
source/isaaclab_newton/isaaclab_newton/physics/kamino_manager_cfg.py Renames the private Kamino configuration base, preserves both concrete subclasses, and exposes a scalable public subclassing interface.
source/isaaclab_newton/isaaclab_newton/physics/init.pyi Adds the renamed base class to the package’s lazy runtime and typing export surface.
source/isaaclab_newton/isaaclab_newton/physics/kamino_manager.py Consistently replaces internal imports, annotations, and validation with the public base-class name.
source/isaaclab_contrib/isaaclab_contrib/coupling/coupler.py Generalizes Kamino contact and lifecycle checks to all configurations derived from the shared base class.

Reviews (1): Last reviewed commit: "Make KaminoSolverCfgBase public" | Re-trigger Greptile

Co-authored-by: Cursor <cursoragent@cursor.com>

@hujc7 hujc7 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.

Agent review: the rename and the two coupler.py collapses are exactly right — no comments on those. Three follow-throughs on the newly public surface: one leftover call site, the missing API-reference entry, and an unlabeled failure if the base is used directly.

Comment thread source/isaaclab_contrib/isaaclab_contrib/coupling/coupler.py
Comment thread source/isaaclab_newton/isaaclab_newton/physics/__init__.pyi
Document the public base configuration, keep its test coverage extensible, and provide a clear error when it is used without a concrete dynamics solver.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 13, 2026
@rubengrandia
rubengrandia requested a review from hujc7 August 13, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants