Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revamp interpolator #118

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from
Draft

Conversation

Segfaultd
Copy link
Member

@Segfaultd Segfaultd commented Dec 27, 2024

This PR modernizes and improves the Interpolator class implementation while maintaining
its core functionality. The changes focus on code organization, maintainability,
and type safety.

Key changes:

  • Introduced template-based design to reduce code duplication
  • Added dedicated interpolation policies for vec3, quaternion, and scalar types
  • Improved error handling with assertions for invalid parameters
  • Updated method names to follow consistent camelCase convention
  • Enhanced numerical stability for floating-point comparisons
  • Added proper const-correctness throughout the codebase

Performance improvements:

  • Reduced unnecessary normalizations in quaternion operations
  • Improved memory layout and value semantics
  • Added snap threshold optimization for small movements

Test suite has been updated to reflect the new API while maintaining
full coverage of the original functionality. All tests pass with
the same expected values.

No breaking changes to existing behavior or public API functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

2 participants