crashcat docs
    Preparing search index...

    Type Alias SpringSettings

    settings for a linear or angular spring

    type SpringSettings = {
        damping: number;
        frequencyOrStiffness: number;
        mode: springSettings.SpringMode;
    }
    Index

    Properties

    damping: number

    When mode = FrequencyAndDamping: Damping ratio (0 = no damping, 1 = critical damping)

    When mode = StiffnessAndDamping: Damping coefficient (c) in spring equation: F = -k * x - c * v

    Note: Even with damping = 0, there's energy loss due to explicit Euler integration. This prevents infinite oscillation and simulation explosion.

    frequencyOrStiffness: number

    When mode = FrequencyAndDamping: If > 0: constraint is soft, this specifies oscillation frequency in Hz If <= 0: damping is ignored, constraint has hard limits

    When mode = StiffnessAndDamping: If > 0: constraint is soft, this specifies stiffness (k) in spring equation If <= 0: damping is ignored, constraint has hard limits

    Note: Stiffness values are large numbers. Ballpark calculation: force = stiffness * delta_spring_length = mass * gravity => stiffness = mass * gravity / delta_spring_length Example: 1500 kg object, 2m compression => stiffness ~ 1500 * 9.81 / 2 ~ 7500 N/m

    Selects the way in which the spring is defined. If mode is StiffnessAndDamping, frequencyOrStiffness becomes the stiffness (k) and damping becomes the damping ratio (c) in: F = -k * x - c * v