Overview
The layers of Phoenix Engine and how they depend on each other.
Source tree
Every folder in the repository and the package layout of source/.
Boot sequence
Everything that happens between main() and the title screen.
State flow
The screens of the game, how they connect, and the MusicBeatState contract they share.
Assets & paths
How backend.Paths resolves an asset key through mods, level libraries and preload, and how caching works.
Conductor & timing
Song position, beats, steps, sections, BPM changes and hit windows.
Preferences & save data
ClientPrefs, keybinds, highscores, achievements and where the save file lives.
Platform layer
How platform-specific code is isolated โ desktop natives, the Android Java bridge, iOS and web.
Haxelib patches
How source/source-haxelib-patches/ shadows library modules, what each patch fixes, and how to add or remove one.