import { AudioSettings, CompilationSettings, DspGraph, NodeImplementations } from '@webpd/compiler'; import { PdJson } from '@webpd/pd-parser'; import { AbstractionLoader } from '../compile-dsp-graph/instantiate-abstractions'; import { NodeBuilders } from '../compile-dsp-graph/types'; import { PdGuiNode } from '../pd-gui/types'; export type WasmBuffer = ArrayBuffer; export interface Artefacts { pd?: string; pdJson?: PdJson.Pd; dspGraph?: { graph: DspGraph.Graph; arrays: DspGraph.Arrays; pd: PdJson.Pd; }; javascript?: string; assemblyscript?: string; wasm?: ArrayBuffer; wav?: Uint8Array; app?: { [filename: string]: string | ArrayBuffer; }; } export interface RenderAudioSettings { sampleRate: number; blockSize: number; previewDurationSeconds: number; } export interface BuildSettings { audioSettings: AudioSettings; renderAudioSettings: RenderAudioSettings; nodeBuilders: NodeBuilders; nodeImplementations: NodeImplementations; abstractionLoader: AbstractionLoader; io?: CompilationSettings['io']; } export interface WebPdMetadata { graph: DspGraph.Graph; pdNodes: { [patchId: PdJson.GlobalId]: { [pdNodeId: PdJson.LocalId]: PdJson.Node; }; }; pdGui: Array; }