Skip to content

A Roadmap to Entity Relationships #10

@HexDecimal

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.

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