Getting Started
This section collects the hand-written guides that sit above the generated API reference. Use these pages first when you want the current engine layout, expected control flow, and high-level integration notes.
The landing page Project-DJ-Engine – A Real‑Time Engine for Rhythm Games, DJing, and Audio Production now also carries the broader project overview, use-case framing, and repository automation context that sit above these workflow guides.
Documentation Map
Developer_Onboarding gives new developers an integration-first map of the project, build reality, useful domain terms, and source-tree orientation.
Core_Engine covers the main PDJE facade, playback lifecycle, and editor entry points.
Editor_Workflows covers project authoring, typed mutations, render and push behavior, preview playback, and history-oriented editor operations.
Input_Engine covers keyboard, mouse, and MIDI ingestion through PDJE_Input.
Judge_Engine covers PDJE_JUDGE::JUDGE, Judge_Init, and the note-matching pipeline.
Util_Engine covers the header-first PDJE_UTIL layer and its common, database, and function helpers.
Data_Lines explains the zero-copy data-line structs shared between modules.
Editor_Format describes the editor-facing JSON and binary data shapes.
FX_ARGS lists the current runtime FX argument keys exposed by manual control panels.
PDJE_For_AI_Agents grounds AI agents that need to explain PDJE to users accurately.
Recommended Reading Order
Read Developer_Onboarding if you are new to the project.
Read Core_Engine if you are embedding the engine from an application.
Read Editor_Workflows if you create or mutate project content.
Read Input_Engine and Judge_Engine together if you are building rhythm-game style gameplay.
Read Data_Lines before polling playback or input state from another thread.
Read Editor_Format if you are generating or inspecting editor data on disk.
Read PDJE_For_AI_Agents when the consumer is an AI system that must explain PDJE accurately.
Use API Reference for symbol-by-symbol API lookup after the workflow docs above.
Binding Notes
Core_Engine restores the older wrapper-oriented guidance for the C#, Python, and Godot-facing playback/editor path.
Input_Engine and Judge_Engine keep the Godot wrapper flow documented and also call out that the in-tree SWIG outputs do not currently expose those modules as first-class bindings.
Data_Lines explains which live structs are directly readable in native C++ and which wrapper paths only expose opaque handles or higher-level helper objects.