Adds `penetration_vector` to the `epa_result` struct to represent the direction and magnitude of penetration.
This allows for more accurate collision response calculations and simplifies access to penetration information.
Updates both the early-exit and iterative EPA calculations within `epa_algorithm.hpp` to compute and store the penetration vector, factoring in the relative origin of the colliding meshes.
This commit refactors the collision detection pipeline to utilize a more standard GJK algorithm and simplifies the EPA implementation.
Removes the custom `GjkAlgorithmWithSimplex` in favor of the standalone `GjkAlgorithm`. This streamlines the collision detection process and enhances code clarity.
Updates unit tests to align with the new GJK implementation, ensuring continued functionality and correctness.
Improves code organization and readability within the EPA algorithm implementation.
Changes include renaming variables for better semantic meaning (e.g., `verts` to `vertexes`), adding `final` specifiers to structs for clarity, and enhancing function signatures with `[[nodiscard]]` where appropriate.
These refactorings aim to enhance maintainability and understanding of the code without altering its core functionality.