Fix crash in python usd.exporter for geoms with invalid names #2730
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.
Geom names with odd slash placement (e.g. "robot//arm") are valid in mujoco and in the XML format, but are not valid in the USD format and will cause the exporter to crash with an invalid path error.
Error in 'pxrInternal_v0_25_5__pxrReserved__::UsdStage::_IsValidPathForCreatingPrim' at line 3771 in file /Users/runner/work/OpenUSD/OpenUSD/pxr/usd/usd/stage.cpp : 'Path must be an absolute path: <>'
This PR adds a regex substitution to the exporter to get rid of leading/trailing/duplicate slashes in geom names.
Has the possible edge case of geoms vanishing from the final usd file if two separate geoms use the same name with extra slashes (e.g. "robot/box" and "robot//box"), which render as separate geoms in mujoco.