@ankhzet/goo
Version:
Elegoo .goo file format reader/writer
39 lines (38 loc) • 1.43 kB
TypeScript
import type { Goo, GooHeader, Vec2, GooLayersConfig, GlobalConfig, Motions, LiftRetract, MotionConfig, GooLayer, LayerDefinition, GooPreview } from './interfaces.js';
import { BinaryReader } from './BinaryReader.js';
export declare class GooReader {
protected reader: BinaryReader;
constructor(reader: BinaryReader);
read(): Promise<Goo>;
protected readHeader(): Promise<GooHeader>;
protected readLayerConfig(): Promise<GooLayersConfig>;
protected readSummary(): Promise<{
time: number;
volume: number;
weight: number;
price: number;
currency: string;
}>;
protected readGlobalConfig<T>(map: () => Promise<T>): Promise<GlobalConfig<T>>;
protected readMotions<T>(map: () => Promise<T>): Promise<Motions<T>>;
protected readLiftRetract<T>(map: () => Promise<T>): Promise<LiftRetract<T>>;
protected readMotionTimes(): Promise<{
before: {
lift: number;
};
after: {
lift: number;
retract: number;
};
}>;
protected readMotionConfig(): Promise<MotionConfig>;
protected readPreview(dimensions: Vec2<number>): Promise<GooPreview & {
input: {
buffer: Buffer;
channels: 4;
};
}>;
protected readDelimiter(): Promise<void>;
protected readLayer(): Promise<GooLayer>;
protected readLayerDefinition(): Promise<LayerDefinition>;
}