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

Tracking Issue: Curves Working Group Tasks #13213

Open
8 of 15 tasks
mweatherley opened this issue May 3, 2024 · 0 comments
Open
8 of 15 tasks

Tracking Issue: Curves Working Group Tasks #13213

mweatherley opened this issue May 3, 2024 · 0 comments
Labels
A-Animation Make things move and change over time A-Math Fundamental domain-agnostic mathematical operations C-Tracking-Issue An issue that collects information about a broad development initiative

Comments

@mweatherley
Copy link
Contributor

mweatherley commented May 3, 2024

About

The Curves working group exists to implement the Curve API described in this RFC and integrate it into Bevy's existing codebase (primarily in math and animation).

The design document for this group is here.

This working group is coordinated in this Discord channel.

If you are interested in contributing to this effort, please check in on Discord first — and, of course, external reviews on related PRs are always welcome.

Tasks

  • Implement the Curve API itself.
  • Integrate the Curve API with bevy_animation.
    • Replace each component of VariableCurve (translation, rotation, scale, morph weights) with a type that implements the associated Curve trait. (Make VariableCurve into curves #13105)
    • Refactor AnimationTargetContext to sample from new VariableCurve components instead of doing its own interpolation.
    • Benchmark animation update performance and compare the refactored version with the existing one.
  • Integrate the Curve API with bevy_math.
    • Perform design work on shared API for producing and consuming geometric curves which may be constrained by the input quality (e.g. C0 vs C1 curves).
    • Implement curve-production API for CubicCurve and implementors of CubicGenerator.
    • Implement curve-production API for RationalCurve and implementors of RationalGenerator.

Beyond

This section is for tracking related tasks outside of the scope of the present working group proposal that may be spun off into external issues when this work is completed (or advanced to a sufficient state).

  • Investigate the inclusion of more common easing/tweening functions into Bevy itself.
  • Improve the Reflect implementations for adaptors in the Curve API so that the adaptors are Reflect when their bases are.
@mweatherley mweatherley added C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled labels May 3, 2024
@alice-i-cecile alice-i-cecile added A-Color Color spaces and color math C-Tracking-Issue An issue that collects information about a broad development initiative A-Math Fundamental domain-agnostic mathematical operations A-Animation Make things move and change over time and removed C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled labels May 3, 2024
@mweatherley mweatherley removed the A-Color Color spaces and color math label Jul 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Animation Make things move and change over time A-Math Fundamental domain-agnostic mathematical operations C-Tracking-Issue An issue that collects information about a broad development initiative
Projects
None yet
Development

No branches or pull requests

2 participants