threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
32 lines • 1.29 kB
TypeScript
import { AnyOptions, IEventDispatcher } from 'ts-browser-helpers';
import { IObject3D } from '../core';
import { GLTFExporter2Options } from './export/GLTFExporter2';
export type BlobExt = Blob & {
ext: string;
};
export interface IExportParser {
parseAsync(obj: any, options: AnyOptions): Promise<Blob>;
}
export interface IExporter {
extensions?: any[];
ext: string[];
ctor: (assetExporter: IAssetExporter, exporter: IExporter) => IExportParser | undefined;
}
export type ExportFileOptions = {
/**
* Extension to export to, default for object/scene = glb, default for viewerConfig = json, default for material = mat, otherwise determined by exporter
*/
exportExt?: string;
/**
* Export and bundle the viewer config (scene settings).
* only works for rootSceneModelRoot and supported only in GLTFExporter2 {@link GLTFExporter2Options.viewerConfig}
* @default true
*/
viewerConfig?: boolean;
[key: string]: any;
} & GLTFExporter2Options;
export interface IAssetExporter extends IEventDispatcher<'exportFile' | 'exporterCreate'> {
getExporter(...ext: string[]): IExporter | undefined;
exportObject(obj?: IObject3D, options?: ExportFileOptions): Promise<BlobExt | undefined>;
}
//# sourceMappingURL=IExporter.d.ts.map