Skip to content

Pay off accumulated debt from DataQuery refactor #4377

@jleibs

Description

@jleibs

The initial introducing of DataQuery (#4311) left plenty of things to still clean up:

  • Need to implement exclusions for the DataQueryBlueprint to support removal (Add support for exclusion expressions to the DataQueryBlueprint #4380)
  • space_view.rs: SpaceViewBlueprint::on_frame_start still passes per_system_entities to on_frame_start. Move to PerSystemDataResults.
    • Not doing this since PerSystemEntities might line up better with store-view-managed things in the future
  • space_view_heuristics.rs: default_created_space_views still passes per_system_entities to auto_spawn_heuristic. Move to PerSystemDataResults.
    • Not doing this since PerSystemEntities might line up better with store-view-managed things in the future
  • Fix performance regressions for heuristics #4490 space_view_heuristics.rs: We run a query for every candidate space view during creation. This is extremely painful when we have a bunch of image spaces, for example. Need to be much smarter about how we evaluate candidates.
  • space_view_heuristics.rs: Removed context_collections from systems_per_required_components because otherwise annotation-contexts trigger incorrect heuristics. Need to figure out what this broke.
    • I believe this has been refactored away.
  • space_view_highlights.rs: Group hover/selection needs to look-up and walk query result
  • viewport_blueprint_ui.rs: Entity/group logic needs to use exclusions (Wire the remove-entity buttons to query exclusions #4381)
  • space_view_entity_picker.rs: Maybe: fix add/remove logic to use query expressions
    • Better yet just replace with a new QueryEditor
  • Removing entity from blueprint panel sometimes collapses parent #4453
  • Decide on and implement inclusion/exclusion semantics. We probably want explicit inclusions to take priority over recursive exclusions.
  • Actually remove SpaceViewContents now that it's almost entirely unused.

Metadata

Metadata

Assignees

No one assigned

    Labels

    🎄 tracking issueissue that tracks a bunch of subissues🟦 blueprintThe data that defines our UI

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions