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

Introducing model descriptions and instances #242

Merged
merged 89 commits into from
Jan 3, 2025
Merged

Introducing model descriptions and instances #242

merged 89 commits into from
Jan 3, 2025

Conversation

xiyuoh
Copy link
Member

@xiyuoh xiyuoh commented Nov 11, 2024

This is a continuation of Reuben's PR #230, opening a new one to accommodate push restrictions.

This PR:

  • Introduces the concept of model descriptions and instances, where a model description provides the information about a model (asset source, scale, etc.), and a model being spawned on site is an instance of a particular model description. This allows users to make changes to a group of model instances with the same model description at one go. This is helpful for sites with multiple identical models.
  • Allows users to create different scenarios with a scenario tree, where they can edit and switch between variants of the same environment with the ability to undo or redo changes without affecting the root scenario.
  • Provides a configurable property plugin that enables users to add new properties and configuration widgets, such as mobile robot tasks for instances and differential drive properties for descriptions.

Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
Signed-off-by: Reuben Thomas <[email protected]>
rmf_site_editor/src/interaction/cursor.rs Outdated Show resolved Hide resolved
rmf_site_format/src/misc.rs Outdated Show resolved Hide resolved
tinyrobot.site.ron Outdated Show resolved Hide resolved
tinyrobot_new.site.ron Outdated Show resolved Hide resolved
rmf_site_editor/src/site/model.rs Show resolved Hide resolved
rmf_site_editor/src/site/model.rs Outdated Show resolved Hide resolved
@xiyuoh
Copy link
Member Author

xiyuoh commented Dec 31, 2024

Thank you both @luca-della-vedova and @mxgrey for the extremely detailed and insightful review. I've addressed the comments and am ready for another round of lookthrough.

Signed-off-by: Xiyu Oh <[email protected]>
Copy link
Collaborator

@mxgrey mxgrey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After spending all this time reviewing the quality of the implementation in terms of its code, I finally spent some time playing around with the actual capabilities that are introduced.

It's honestly very cool. Seeing changes in parent scenarios affect all child scenarios simultaneously, and being able to make changes within child scenarios and revert them... this is a very powerful feature.

Thanks @reuben-thomas and @xiyuoh for all the tough work figuring out how to wrangle the entities and components to make this possible. And thanks @luca-della-vedova for kicking off the review with so much valuable feedback.

There's no shortage of things to follow up on from here, but this is an amazing start.

@mxgrey mxgrey merged commit dcd6b51 into main Jan 3, 2025
5 checks passed
@mxgrey mxgrey deleted the xiyu/scenarios branch January 3, 2025 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants