Implement component inheritance as a storage feature#2113
Open
SanderMertens wants to merge 21 commits into
Open
Implement component inheritance as a storage feature#2113SanderMertens wants to merge 21 commits into
SanderMertens wants to merge 21 commits into
Conversation
6230716 to
9dd433c
Compare
SanderMertens
commented
May 28, 2026
SanderMertens
commented
May 28, 2026
SanderMertens
commented
May 28, 2026
SanderMertens
commented
May 28, 2026
SanderMertens
commented
May 28, 2026
SanderMertens
commented
May 28, 2026
SanderMertens
commented
May 28, 2026
b4e55ec to
9a70cff
Compare
3ca6d73 to
e3f4d11
Compare
0e37ca0 to
2edca0d
Compare
3c16945 to
2958db0
Compare
SanderMertens
commented
Jun 12, 2026
| float value; | ||
| }; | ||
|
|
||
| struct HealthBuf : Buf { }; |
Owner
Author
There was a problem hiding this comment.
Create types that add members on top of the base type (same for C example).
SanderMertens
commented
Jun 12, 2026
| if (!redo || (op_ctx->remaining <= 0)) { | ||
| repeat: { | ||
| bool next_table = !redo; | ||
| if (redo) { |
Owner
Author
There was a problem hiding this comment.
This code should not be necessary since flecs_query_next_column uses ecs_search, which supports inheritance.
… set column index
…hen diff->removed_flags is empty
…for derived components
SanderMertens
commented
Jun 12, 2026
| return; | ||
| } | ||
|
|
||
| static |
Owner
Author
There was a problem hiding this comment.
A global observer on IsA pairs is expensive. Move this to component record creation.
1860547 to
b118d50
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR makes component inheritance work for most flecs APIs, in addition to queries (which already works):
This PR implements the following changes:
get,has,owns,eachnow work with inheritance