- Added More Documentation
This commit is contained in:
15
PLANNING.md
15
PLANNING.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user