Skip to content

A Roadmap to Entity Relationships #10

Description

@HexDecimal

I've been using Sander Mertens articles to implement relationships. I've implemented these in the basic sense but they also have an article that describes a roadmap for a more complete implementation.

  • Components as entities - Python objects natively support what this is trying to do
  • Callbacks on state changes #6
  • Support relationship pairs in archetype storage
  • Relationship components - Already added
  • Wildcard queries - Half of this is implemented
  • The component index
  • Cleanup
  • Cleanup traits
  • Multi-source queries
  • Relationship traversal
  • Query cache revalidation
  • Breadth first traversal
  • Uncached queries
  • Multi component observers
  • Event propagation
  • Empty table optimization
  • Garbage collection
  • Rule engine
  • Exclusive relationships - Already added as an alternative syntax for relationship access
  • Inheritance #12
  • Query DSL - Probably not needed for a Python library

I don't know if I'll ever complete this. Some of these might be too slow when implemented in pure-Python and if I were to make a C extension then I may as well just port Flecs itself to Python.

It's clear that these features will be incredibly useful once added. At the very least I should keep all of these in mind as I work on this module.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions