/** * BuildingGenerator.ts * * Procedural architecture generator. * Creates building structures from modular floor plans with variations. * * @module procedural */ import { IVector3 } from '../physics/PhysicsTypes'; export interface BuildingConfig { id: string; floors: number; floorHeight: number; footprint: { width: number; depth: number; }; style: BuildingStyle; seed: number; } export type BuildingStyle = 'residential' | 'commercial' | 'industrial' | 'tower' | 'warehouse'; export interface FloorPlan { floor: number; rooms: Room[]; walls: Wall[]; openings: Opening[]; } export interface Room { id: string; type: 'room' | 'hallway' | 'stairwell' | 'elevator' | 'lobby'; bounds: { x: number; z: number; width: number; depth: number; }; height: number; } export interface Wall { start: { x: number; z: number; }; end: { x: number; z: number; }; height: number; thickness: number; isExterior: boolean; } export interface Opening { type: 'door' | 'window'; wall: number; position: number; width: number; height: number; sillHeight?: number; } export interface BuildingResult { config: BuildingConfig; floorPlans: FloorPlan[]; meshData: { vertices: IVector3[]; faces: number[]; }; boundingBox: { min: IVector3; max: IVector3; }; } export declare class BuildingGenerator { private rng; constructor(seed?: number); generate(config: BuildingConfig): BuildingResult; private generateFloor; private generateMesh; private createRng; } //# sourceMappingURL=BuildingGenerator.d.ts.map