Skip to content

[FEATURE] Support negative 'bounce' values (-1.0 to 0) in spring config #3853

Description

@alibergcherrihost

Is your feature request related to a problem? Please describe.
Currently, the bounce parameter in Motion's spring() function and animate() configuration is restricted to a range between 0 and 1:

  • bounce: 0 represents a critically damped spring.
  • bounce: 1 represents an underdamped spring.

However, there is no direct way to configure an overdamped spring. Overdamped motion is essential for heavy or "flattened" UI transitions that settle into their final position without snappy arrivals. Currently, to achieve this, we have to manually balance low-level physical properties like stiffness, damping, and mass.

Describe the solution you'd like
Expand the valid range of the bounce parameter from [0.0, 1.0] to [-1.0, 1.0]:

  • -1.0 to < 0: Maps to overdamped spring.
  • 0: Remains critically damped.
  • > 0 to 1.0: Remains underdamped.

This retains 100% backward compatibility for existing code using 0 to 1 while providing complete coverage across all three fundamental spring damping states under a single unified parameter.

Describe alternatives you've considered
Using the physics options (stiffness, damping, mass).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions