flecs-hub/flecs-lua

v3 migration

randy408 opened this issue · 4 comments

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

is this repo abandoned?

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.

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!

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