mirror of
https://github.com/flame-engine/flame.git
synced 2025-10-28 23:46:52 +08:00
This PR ensures that all component rebalancing operations are resolved from a single location, after the update stage but before the render stage (thus, components may get reordered during the update, and these changes will go into effect during the rendering step on the same game tick). This also fixes the problem where the child changing the priorities of its parent would cause a ConcurrentModificationError. A number of methods that were used to handle rebalancing are now marked as deprecated. From the user's perspective, the only API they should be using is the .priority setter.
Flame repository structure
The Flame repository is a monorepo which contains both the main Flame repository, and its bridge packages.
Note that not all bridge packages have moved to the monorepo, so some may still be on their own repositories, since this is a new organizational change and we are gradually migrating all of them to this repository.
Bridge packages
Bridge packages are packages which:
- Provides Flame with an interface to another external package (e.g.
flame_audiowhich is Flame + Audioplayers,flame_tiled, which is Flame + tiled). - Packages with features that are somehow very context specific and doesn't have a place inside the
core package (e.g.
flame_splash_screen).