Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support model dependencies #111

Closed
nkoenig opened this issue Aug 24, 2020 · 4 comments
Closed

Support model dependencies #111

nkoenig opened this issue Aug 24, 2020 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@nkoenig
Copy link
Contributor

nkoenig commented Aug 24, 2020

Currently, a Fuel model is completely self-contained. This can lead to multiple copies of materials and/or meshes. For example, most of the Cave tiles use the same texture images. As a result, the disk space used by Fuel models can be large (my directory is sitting at just over 13GB). Docker images that require models to be baked-in (ie no runtime download) can be too large to upload to AWS ECR or Dockerhub.

One way to reduce disk usage it to reference materials from one model inside another. Basically, setup model dependencies.

I believe this is partially supported through the use of URIs. The missing pieces are:

  1. When downloading a model, ign fuel should also download its dependencies.
  2. The first item may require modifications to model.config to support model dependencies. It may be better to parse a newly downloaded model.sdf file and determine what the dependencies are, otherwise the model.config file could become out-dated.
  3. Gz3d will likely require updates (@nkoenig can help with this).
  4. The Fuel webserver should also track dependencies in order to warn users when they deleted models (@nkoenig can help with this).
@chapulina chapulina added the enhancement New feature or request label Aug 25, 2020
@JShep1 JShep1 linked a pull request Oct 6, 2020 that will close this issue
@JShep1 JShep1 removed a link to a pull request Oct 6, 2020
@JShep1
Copy link

JShep1 commented Oct 6, 2020

First PR at getting this issue resolved is here: #123 This should download all models specified in the <dependency> tag in the metadata.pbtxt file for any given model. I also made a fix so that cyclic dependencies are now supported.

@JShep1
Copy link

JShep1 commented Nov 10, 2020

Additionally, message conversion for dependencies was added in gazebosim/gz-msgs#91

@chapulina
Copy link
Contributor

Can this issue be closed?

@JShep1
Copy link

JShep1 commented Dec 28, 2020

Yep, closing as support now exists for adding model dependencies. Relevant PRs listed above.

@JShep1 JShep1 closed this as completed Dec 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants