import { ElementData } from './ElementData'; import { SharedGeometry } from './SharedGeometry'; import { InstanceGeometry } from './InstanceGeometry'; import { SceneStats } from './SceneStats'; import { SceneGrid, SceneLevel } from './SceneLoader'; import { Vector3Like } from 'three'; export interface SceneWorkerMessageBase { type: string; loadedGeomFiles: number; geomFileNumber: number; geomFileTotal: number; id: string; } export interface SceneWorkerLoadedMessage extends SceneWorkerMessageBase { type: "onLoaded"; id: string; origin: Vector3Like; levels: SceneLevel[]; grids: SceneGrid[]; stats: SceneStats; isWrongOrigin: boolean; wrongOriginDistance: number; elementDatas: Map; sharedGeoms: Map; instanceGeoms: Map; initialInstanceCount: number; initialInstanceRawCount: number; } export interface SceneWorkerErrorMessage extends SceneWorkerMessageBase { type: "onError" | "onNotFound"; msg: any; err?: ErrorEvent; }