/** * TileRenderer.ts * * Tile rendering: frustum-culled tile drawing, atlas UV mapping, * animated tiles, and per-layer visibility control. * * @module tilemap */ import { TileMap } from './TileMap'; export interface TileAtlas { tileWidth: number; tileHeight: number; columns: number; rows: number; } export interface AnimatedTile { tileId: number; frames: number[]; frameDuration: number; currentFrame: number; elapsed: number; } export interface RenderTile { tileX: number; tileY: number; worldX: number; worldY: number; uvX: number; uvY: number; uvW: number; uvH: number; layerName: string; } export declare class TileRenderer { private map; private atlas; private animatedTiles; constructor(map: TileMap, atlas: TileAtlas); addAnimatedTile(tileId: number, frames: number[], frameDuration: number): void; updateAnimations(dt: number): void; getTileUV(tileId: number): { uvX: number; uvY: number; uvW: number; uvH: number; }; getVisibleTiles(viewX: number, viewY: number, viewW: number, viewH: number): RenderTile[]; private getSortedLayers; private getLayerNames; getAnimatedTileCount(): number; } //# sourceMappingURL=TileRenderer.d.ts.map