Honor USD cone axis during trimesh conversion - #7276
Conversation
There was a problem hiding this comment.
Isaac Lab Review Bot
The cone converter now honors USD X/Y axes while preserving Z-axis behavior, with focused regression coverage and a package changelog fragment.
- Design and architecture: The change remains localized to the private cone converter and follows the established axis-transform pattern used by the cylinder and capsule converters; registry and dispatch architecture are unchanged.
- API: No public symbols, signatures, exports, or return types change. The observable correction is limited to the orientation of converted X/Y-axis USD cones, while Z-axis conversion remains unchanged.
- Implementation: The rotations correctly map the centered cone’s +Z apex to +X or +Y, and the parameterized test verifies apex direction and base position for all three supported axes. The differing rotation signs from symmetric cylinders and capsules are intentional because cone direction is observable.
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 SummaryThe PR fixes USD cone-to-trimesh conversion by rotating centered cones from trimesh’s default +Z orientation onto the configured USD X or Y axis.
Confidence Score: 5/5The PR appears safe to merge, with the cone-axis rotations consistent with USD and existing primitive-conversion conventions. The new transforms map the centered trimesh cone’s positive Z apex to the requested positive X or Y axis, leave Z unchanged, and are exercised by focused regression tests without introducing a build, runtime, or security failure. Important Files Changed
Reviews (1): Last reviewed commit: "Honor USD cone axis during trimesh conve..." | Re-trigger Greptile |
There was a problem hiding this comment.
AI review disclosure: This review was produced with assistance from multiple AI systems.
Thank you for putting this PR together.
Assessment: X and Y rotations map the +Z cone apex to the configured positive USD axis and preserve Z behavior.
Findings: Invalid .patch.rst changelog filename.
Requested changes: Rename the changelog fragment to .rst.
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: One X/Y/Z regression covering apex direction and extrema is sufficient.
Documentation / AI skills: No additional documentation update is required: no public API change. No AI-skill update is required.
Description
Fixes trimesh conversion of USD
Coneprimitives withaxis="X"oraxis="Y".create_trimesh_from_geom_shape()already respects the configured axis for cylinders and capsules, but_create_cone_trimesh()always returned the default Z-axis trimesh cone. As a result, X/Y-aligned USD cones were converted with the wrong geometry orientation.USD defines a cone as centered at the origin with its apex pointing along the positive configured axis. The converter now rotates the centered trimesh cone so the apex points along +X or +Y when requested, while leaving the default Z behavior unchanged.
Type of change
Validation
isaaclabchangelog fragment.Checklist