/** * Texture utility functions for Bench3D * Core texture operations without UI dependencies */ import { TextureLayer } from './texture_layer'; /** * Calculate UV coordinates for a cube face based on position and size */ export declare function calculateCubeFaceUV(face: 'up' | 'down' | 'east' | 'west' | 'north' | 'south', pos: [number, number, number], size: [number, number, number], textureWidth: number, textureHeight: number): [number, number, number, number]; /** * Generate a blank texture data URL */ export declare function generateBlankTexture(width: number, height: number, color?: string): string; /** * Calculate texture resolution based on pixel density */ export declare function calculateTextureResolution(pixelDensity: number, baseSize?: number): number; /** * Validate texture dimensions */ export declare function validateTextureDimensions(width: number, height: number): { valid: boolean; error?: string; }; /** * Check if dimensions are power of two */ export declare function isPowerOfTwoDimensions(width: number, height: number): boolean; /** * Get next power of two for dimensions */ export declare function getNextPowerOfTwoDimensions(width: number, height: number): [number, number]; /** * Calculate UV bounds for a set of faces */ export declare function calculateUVBounds(faces: Array<{ uv: Record; }>): { minX: number; minY: number; maxX: number; maxY: number; }; /** * Normalize UV coordinates to 0-1 range */ export declare function normalizeUVCoordinates(uv: [number, number], textureWidth: number, textureHeight: number): [number, number]; /** * Denormalize UV coordinates from 0-1 range */ export declare function denormalizeUVCoordinates(uv: [number, number], textureWidth: number, textureHeight: number): [number, number]; /** * Clamp UV coordinates to texture bounds */ export declare function clampUVCoordinates(uv: [number, number], textureWidth: number, textureHeight: number): [number, number]; /** * Calculate texture scale factor for resolution change */ export declare function calculateTextureScale(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number): { scaleX: number; scaleY: number; }; /** * Merge texture layers (core logic only, no canvas operations) */ export declare function mergeTextureLayers(layers: TextureLayer[], width: number, height: number): { merged: boolean; result?: any; }; //# sourceMappingURL=texture_utils.d.ts.map