/** * Minimal 4x4 Matrix math for WebGL 3D rendering. * Column-major order (OpenGL/WebGL convention). * No external dependencies. */ export type Mat4 = Float32Array; export type Vec3 = [number, number, number]; /** Create identity matrix */ export declare function create(): Mat4; /** Set matrix to identity */ export declare function identity(out: Mat4): Mat4; /** Copy matrix a to out */ export declare function copy(out: Mat4, a: Mat4): Mat4; /** Multiply two matrices: out = a * b */ export declare function multiply(out: Mat4, a: Mat4, b: Mat4): Mat4; /** Create perspective projection matrix */ export declare function perspective(out: Mat4, fovY: number, aspect: number, near: number, far: number): Mat4; /** Create view matrix looking at target from eye position */ export declare function lookAt(out: Mat4, eye: Vec3, center: Vec3, up: Vec3): Mat4; /** Translate matrix by vector v */ export declare function translate(out: Mat4, a: Mat4, v: Vec3): Mat4; /** Scale matrix by vector v */ export declare function scale(out: Mat4, a: Mat4, v: Vec3): Mat4; /** Rotate matrix around X axis */ export declare function rotateX(out: Mat4, a: Mat4, rad: number): Mat4; /** Rotate matrix around Y axis */ export declare function rotateY(out: Mat4, a: Mat4, rad: number): Mat4; /** Rotate matrix around Z axis */ export declare function rotateZ(out: Mat4, a: Mat4, rad: number): Mat4; /** Invert matrix */ export declare function invert(out: Mat4, a: Mat4): Mat4 | null; /** Create orthographic projection matrix */ export declare function ortho(out: Mat4, left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;