-
Notifications
You must be signed in to change notification settings - Fork 600
Description
When debugging new features or exploring the function of existing features inside a Robust Toolbox game, one workflow is to open VV on an entity, perform an action that affects the entity, and then hunt down the component and specific field that you think might have changed after refreshing the VV window. A diff view would make this workflow much faster, and make discovery of how game systems affect entities easier before even looking at any code.
I suggest adding a snapshot button to the VV window which would capture components associated with the VV'd entity and the fields of each of these components. Pressing the button an again would capture the next state, which could then be used to generate a diff showing only the components/fields that have changed. This could be displayed in its own diff tab as a nested list or similar, maybe with some way to toggle between client and server variables/components or both. The diff tab should show components that have been removed or added also.
Might be possible to implement as two seperate snapshotA and snapshotB trees recursing down and comparing values/seeing if a component is present or missing in both? Maybe? I'm not familiar with the internals of VV and what methods are available to populate the two data structures in the first place.