Skip to content

Commit

Permalink
A Curve trait for general interoperation — Part II (bevyengine#14700)
Browse files Browse the repository at this point in the history
# Objective

Finish what we started in bevyengine#14630. The Curve RFC is
[here](https://github.com/bevyengine/rfcs/blob/main/rfcs/80-curve-trait.md).

## Solution

This contains the rest of the library from my branch. The main things
added here are:
- Bulk sampling / resampling methods on `Curve` itself
- Data structures supporting the above
- The `cores` submodule that those data structures use to encapsulate
sample interpolation

The weirdest thing in here is probably `ChunkedUnevenCore` in `cores`,
which is not used by anything in the Curve library itself but which is
required for efficient storage of glTF animation curves. (See bevyengine#13105.)
We can move it into a different PR if we want to; I don't have strong
feelings either way.

## Testing

New tests related to resampling are included. As I write this, I realize
we could use some tests in `cores` itself, so I will add some on this
branch before too long.

---------

Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Co-authored-by: Robert Walter <26892280+RobWalt@users.noreply.github.com>
  • Loading branch information
3 people committed Aug 15, 2024
1 parent 2012f13 commit 20a9b92
Show file tree
Hide file tree
Showing 2 changed files with 1,071 additions and 1 deletion.
Loading

0 comments on commit 20a9b92

Please sign in to comment.