- Added More Documentation

This commit is contained in:
2025-06-17 19:45:33 -04:00
parent 079b0b27ee
commit 9d35daa494
28 changed files with 1852 additions and 190 deletions

View File

@@ -32,7 +32,7 @@ This file serves as a general planning document for engine structure, systems, p
Implementations of core engine systems should strive to be `O(1)` in implementations,
both in terms of runtime and memory performance. This is obviously not a realistic goal,
so rather than the entire engine striving to be `O(1)` we should more specifically look
so rather than the goal requiring the entire engine to be `O(1)`, we should more specifically look
at achieving `O(1)` performance on hot paths.
Functions should be highly verbose, and in debug mode any bugprone or erroneous behaviour should throw
@@ -98,7 +98,7 @@ All containers of the [C++ Standard Library](https://cppreference.com/w/cpp/cont
Here are essential data-structures not specified in the C++ stdlib:
- Graph → AI `graph`
- Necessary for 2D and 3D navigation.
- Rooted Directed Tree `rd_tree`
- Rooted Directed Tree → Scene `rd_tree`
- Defines the scene structure.
@@ -165,6 +165,8 @@ fennec should be able to use Doxygen and LaTeX externally. Consider including bi
This will be the core of the engine.
- Event System
- Most events will fire at the start of the next tick, especially those related to physics and input.
- Events for graphics or audio should propagate immediately.
- Core Engine Loop
- System Manager
- Ticks vs. Frames
@@ -172,9 +174,6 @@ This will be the core of the engine.
The following systems are not essential to the core engine, but are instead major systems that should be defined
in their operation order:
**3D Systems will apply *before* their 2D Variants**
### Tick
- **Update**
- Events
@@ -187,10 +186,10 @@ in their operation order:
- Apply Velocities (Updates Position and Rotation)
- Constraint Resolution
- Collision Detection
- Collision Resolution (Adjust for Clipping)
- Soft Bodies resolve before Rigid Bodies
- Collision Resolution
- Collision Response
- Calculate Forces
- Calculate Forces & Velocities
- Queue events for next tick
### Frame