import { ValidationError } from "../core/index.js";
import { Bounds3 } from "./Bounds.js";
import { Light } from "./Light.js";
export class PointLight extends Light {
    currentRange = 10;
    constructor(name = "PointLight", id) {
        super("point", name, id);
    }
    get range() {
        return this.currentRange;
    }
    set range(value) {
        if (!(value > 0) || !Number.isFinite(value))
            throw new ValidationError("POINT_LIGHT_RANGE", "Point light range must be positive.");
        this.currentRange = value;
    }
    getWorldBounds() {
        const p = this.transform.worldMatrix;
        return Bounds3.fromCenterSize([p[12], p[13], p[14]], [this.range * 2, this.range * 2, this.range * 2]);
    }
}
//# sourceMappingURL=PointLight.js.map