Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3 migration #10

Closed
15 of 19 tasks
randy408 opened this issue Oct 14, 2021 · 4 comments
Closed
15 of 19 tasks

v3 migration #10

randy408 opened this issue Oct 14, 2021 · 4 comments

Comments

@randy408
Copy link
Collaborator

randy408 commented Oct 14, 2021

Migration to v3 is a work in progress, the majority of the v3 api is already exposed in v2.4, those should be finished first:

  • Pair API (replaces trait API)

  • event/event[] instead of phase for systems/triggers

  • ecs.observer()

  • ecs.term_iter(), ecs.term_next(), etc.

  • Update ecs.query() to accept a filter or more of the ecs_query_desc_t fields

  • Update ecs.system() the same as way as above

  • Update ecs.trigger() to accept a term

  • Update ecs.observer() to accept a filter

Breaking changes

flecs-lua will target v2.4 until v3 becomes stable (or at least until a beta release)

  • Remove/replace deprecated functions, ecs_iter_t fields

  • add_owned() -> override()

  • Switch to the new builtin meta module

  • Update constants / builtin components

Misc

  • ecs_lua_query_next() -> ecs_lua_iter_next()

  • ecs.iter_next()

  • Consider dropping all other ecs.*_next() functions

  • Consider re-adding the range checks to flecs-lua from the old meta module

  • Expose JSON module

  • System status callback

  • Consider v2.4-style API for systems, entities, etc

@MasterDrake
Copy link

is this repo abandoned?

@randy408
Copy link
Collaborator Author

It's still being updated but not all the tests are passing like it did before which makes it less useful if you don't know the project inside out, so the repository was neglected.

The main issue with keeping flecs-lua up to date is that it's not an automatically generated binding and the flecs API and behavior keeps changing, even between minor versions.

Right now I'm targeting flecs v3.2.0 (released 2 days ago) and it won't work with older versions. The majority of the work is done but there are still crashes on cleanup, new asserts in flecs have to be duplicated in the binding for proper error reporting, etc..

The project has a channel on the flecs discord server (https://discord.gg/BEzP5Rgrrp) which is a bit more active.

@MasterDrake
Copy link

It's still being updated but not all the tests are passing like it did before which makes it less useful if you don't know the project inside out, so the repository was neglected.

The main issue with keeping flecs-lua up to date is that it's not an automatically generated binding and the flecs API and behavior keeps changing, even between minor versions.

Right now I'm targeting flecs v3.2.0 (released 2 days ago) and it won't work with older versions. The majority of the work is done but there are still crashes on cleanup, new asserts in flecs have to be duplicated in the binding for proper error reporting, etc..

The project has a channel on the flecs discord server (https://discord.gg/BEzP5Rgrrp) which is a bit more active.

Very glad to hear that!

@randy408
Copy link
Collaborator Author

randy408 commented May 8, 2023

There are still some outstanding bugs (tracked by #14) but migration is basically done.

@randy408 randy408 closed this as completed May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants