Skip to content

Add a component state snapshot/diff system to VV #6481

@bitcrushing

Description

@bitcrushing

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.

@moonheart08

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions