-
Notifications
You must be signed in to change notification settings - Fork 254
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
gui_system_plugin: clarify description in README #2253
Conversation
…ebo. Signed-off-by: Johan Rutgeerts <[email protected]>
Signed-off-by: Johan Rutgeerts <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## gz-sim8 #2253 +/- ##
===========================================
- Coverage 65.64% 65.62% -0.02%
===========================================
Files 324 324
Lines 30917 30917
===========================================
- Hits 20295 20290 -5
- Misses 10622 10627 +5 ☔ View full report in Codecov by Sentry. |
Good catch, I think your rewording makes sense.
In this case, the entity and component updates are coming from the simulation server via the SceneBroadcaster system. The GUI (simulation client) and Server (simulation server) each maintain a copy of the ECM, and the state is periodically syncronized from the server to the client. Given this context is the explanation clearer? Should we add something like this? |
This is what I think to understand.
|
Yes, the SceneBroadcaster will publish the
Stepped is probably the wrong word here since that could imply physics/simulation steps. You are correct in the the
This is no longer the case as of #1095.
The order of
The synchronization mechanism should not remove any entities that weren't also removed from the server, i.e, for the entity to be removed, it must have existed in the backend/server ECM and a system on the backend must of requested the removal of the entity.
Not sure about this. I don't think there's anything to prevent this I also wanted to mention that there is some level of GUI->Server sync that happens when the play button is pressed. |
The ABI checker failed, but I'll go ahead and merge this since it's just a documentation change. |
The original text was:
The current text is nonsense:
I propose to change to:
It is still not a good description though, but I can't propose a better description as I don't understand it:
What is "entity and component updates coming from the server"?
According to the documentation Plugin Types:
It is confusing that this document states a
gz::gui::Plugin
for "updates coming from the server" and the other documentation statesgz::sim::GuiSystem
is client-side.