export class Vector3Compat {
    x;
    y;
    z;
    constructor(x = 0, y = 0, z = 0) {
        this.x = x;
        this.y = y;
        this.z = z;
    }
    set(x, y, z) {
        this.x = x;
        this.y = y;
        this.z = z;
        return this;
    }
    copy(value) {
        return this.set(value.x, value.y, value.z);
    }
    clone() {
        return new Vector3Compat(this.x, this.y, this.z);
    }
    add(value) {
        this.x += value.x;
        this.y += value.y;
        this.z += value.z;
        return this;
    }
    sub(value) {
        this.x -= value.x;
        this.y -= value.y;
        this.z -= value.z;
        return this;
    }
    multiplyScalar(value) {
        this.x *= value;
        this.y *= value;
        this.z *= value;
        return this;
    }
    length() {
        return Math.hypot(this.x, this.y, this.z);
    }
    normalize() {
        const length = this.length();
        return length > 0 ? this.multiplyScalar(1 / length) : this;
    }
}
export class QuaternionCompat {
    x;
    y;
    z;
    w;
    constructor(x = 0, y = 0, z = 0, w = 1) {
        this.x = x;
        this.y = y;
        this.z = z;
        this.w = w;
    }
    set(x, y, z, w) {
        this.x = x;
        this.y = y;
        this.z = z;
        this.w = w;
        return this;
    }
}
export class ColorCompat {
    r;
    g;
    b;
    constructor(r = 1, g = 1, b = 1) {
        this.r = r;
        this.g = g;
        this.b = b;
    }
    setRGB(r, g, b) {
        this.r = r;
        this.g = g;
        this.b = b;
        return this;
    }
}
export class Matrix4Compat {
    elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
    identity() {
        this.elements.splice(0, this.elements.length, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
        return this;
    }
}
//# sourceMappingURL=index.js.map