RPE Chart Utils
    Preparing search index...

    Module math

    Math utilities for chart manipulation: vectors, matrices, interpolation, random/noise, rotation, and array helpers.

    Category Key exports
    Vec2 vec2, vec2Add, vec2Sub, vec2Scale, vec2Lerp, vec2Rotate, vec2Normalize
    Mat3 mat3Identity, mat3TRS, mat3Mul, mat3TransformVec2
    Scalar clamp, lerp, inverseLerp, remap, smoothstep, degToRad, radToDeg
    Angles wrapAngle, angleDifference, lerpAngle
    Random randomRange, randomInt, randomPick, shuffle, createSeededRandom
    Noise valueNoise1D, valueNoise2D, fbm2D
    Arrays linspace, arange, sum, average, minMax, groupBy, binarySearchRight
    Misc deepClone, approxEqual, fract, mod, sign
    import { vec2, vec2Add, vec2Normalize, lerp, clamp } from './math';

    // Normalize a direction vector and advance along it
    const dir = vec2Normalize(vec2(3, 4)); // { x: 0.6, y: 0.8 }
    const pos = vec2Add(vec2(0, 0), dir); // { x: 0.6, y: 0.8 }

    // Smooth fade from 0 → 255 alpha
    const alpha = Math.round(lerp(0, 255, clamp(t, 0, 1)));

    Interfaces

    Vec2

    Type Aliases

    Mat3

    Variables

    VEC2_ZERO
    VEC2_ONE
    VEC2_RIGHT
    VEC2_UP

    Functions

    vec2
    vec2Add
    vec2Sub
    vec2Scale
    vec2Negate
    vec2Dot
    vec2Cross
    vec2Length
    vec2LengthSq
    vec2Distance
    vec2Normalize
    vec2Lerp
    vec2Rotate
    vec2Angle
    vec2FromAngle
    vec2Min
    vec2Max
    vec2Reflect
    vec2Project
    mat3Identity
    mat3Translate
    mat3Rotate
    mat3Scale
    mat3Mul
    mat3TransformVec2
    mat3TRS
    clamp
    lerp
    inverseLerp
    remap
    smoothstep
    smootherstep
    degToRad
    radToDeg
    wrapAngle
    angleDifference
    lerpAngle
    fract
    mod
    sign
    approxEqual
    randomRange
    randomInt
    randomPick
    shuffle
    createSeededRandom
    valueNoise1D
    valueNoise2D
    fbm2D
    linspace
    arange
    sum
    average
    minMax
    binarySearchRight
    groupBy
    deepClone