ray3: ($: Ray3, delta) => {
            delta = __asVec(delta);
            return new Ray3(
                mul3([], $.pos, delta),
                normalize3(null, mul3([], $.dir, delta)),