Repository navigation
Add a package:// resource provider plugin - #3614
Open
noah-wardlow wants to merge 1 commit into
Open
noah-wardlow wants to merge 1 commit into
noah-wardlow wants to merge 1 commit into
Conversation
noah-wardlow
force-pushed
the
package-uri-provider
branch
2 times, most recently
from
September 25, 2026 19:04
354b9dd to
f994eeb
Compare
Author
|
@yuvaltassa this is the fresh PR you invited on #1432. @havess it follows the |
noah-wardlow
force-pushed
the
package-uri-provider
branch
2 times, most recently
from
October 12, 2026 16:47
ba7219f to
59f6108
Compare
havess
reviewed
Oct 19, 2026
noah-wardlow
force-pushed
the
package-uri-provider
branch
from
October 19, 2026 20:51
59f6108 to
3ce3781
Compare
havess
approved these changes
Oct 20, 2026
Author
|
@yuvaltassa can I get a maintainer review? edit: sorry I misunderstood the import the PR into its internal repo process for merge |
Collaborator
|
@havess can you TAL? This looks nice but the providers are not my specialty |
noah-wardlow
force-pushed
the
package-uri-provider
branch
from
October 20, 2026 16:54
3ce3781 to
6e5c2d1
Compare
Adds plugin/package_uri, a resource provider that serves ROS-style package://<package>/<path> URIs from the OS filesystem. It locates the package through AMENT_PREFIX_PATH (ROS 2 install spaces, via the ament index) and ROS_PACKAGE_PATH (ROS 1 install spaces and source trees), with no dependency on ROS, so URDF and MJCF models can reference ROS package assets unchanged. A URI cannot resolve outside its package. strippath no longer strips file names that match a registered resource provider. These names are not filesystem paths: the compiler already treats them as absolute when combining them with meshdir, so the provider now receives the full name even when a model sets strippath="true".
noah-wardlow
force-pushed
the
package-uri-provider
branch
from
October 21, 2026 15:17
6e5c2d1 to
1abdb14
Compare
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.
Follow-up to #1432, which was closed as stale.
Adds
plugin/package_uri, a resource provider for ROSpackage://<package>/<path>URIs.AMENT_PREFIX_PATH(ament index), thenROS_PACKAGE_PATH(directory withpackage.xml). No ROS dependency.strippathno longer strips names claimed by a registered resource provider, sopackage://meshes also load withstrippath="true".mjs_dedupAssetsand by-reference textures resolve file names the same way: provider files that share a base name stay distinct, and a by-reference texture keeps its URI inmjModel.paths.test/plugin/package_uri,user_mesh_test,user_model_test,user_texture_test,xml_urdf_test. Full suite passes in double and single precision.//plugin/package_urilinks the provider statically, like the other plugins.bazel test //...passes.build_steps.sh: that would registerpackage://in every Python install. Happy to add it if you want it shipped.