@threlte/core
Version:
A 3D framework for the web, built on top of Svelte and Three.js
50 lines (49 loc) • 2.7 kB
TypeScript
import { type CreateDOMContextOptions } from './fragments/dom';
import { type CreateRendererContextOptions, type Renderer } from './fragments/renderer.svelte';
import { type CreateSchedulerContextOptions } from './fragments/scheduler.svelte';
export type CreateThrelteContextOptions<T extends Renderer> = CreateRendererContextOptions<T> & CreateDOMContextOptions & CreateSchedulerContextOptions;
export declare const createThrelteContext: <T extends Renderer>(options: CreateThrelteContextOptions<T>) => {
set(this: void, value: Record<string | symbol, unknown>): void;
update(this: void, updater: import("svelte/store").Updater<Record<string | symbol, unknown>>): void;
subscribe(this: void, run: import("svelte/store").Subscriber<Record<string | symbol, unknown>>, invalidate?: () => void): import("svelte/store").Unsubscriber;
current: Record<string | symbol, unknown>;
renderer: T;
colorManagementEnabled: import("..").CurrentWritable<boolean>;
colorSpace: import("..").CurrentWritable<import("three").ColorSpace>;
toneMapping: import("..").CurrentWritable<import("three").ToneMapping>;
shadows: import("..").CurrentWritable<boolean | import("three").ShadowMapType>;
dpr: import("..").CurrentWritable<number>;
autoRenderTask: import("..").Task;
camera: import("..").CurrentWritable<import("three").Camera>;
scheduler: import("..").Scheduler;
renderMode: import("..").CurrentWritable<"always" | "on-demand" | "manual">;
autoRender: import("..").CurrentWritable<boolean>;
frameInvalidated: boolean;
advance: () => void;
shouldAdvance: boolean;
autoInvalidations: Set<unknown>;
resetFrameInvalidation: () => void;
shouldRender: () => boolean;
invalidate: () => void;
mainStage: import("..").Stage;
renderStage: import("..").Stage;
dispose: (force?: boolean) => void;
disposableObjectMounted: (object: import("./fragments/disposal").DisposableObject) => void;
disposableObjectUnmounted: (object: import("./fragments/disposal").DisposableObject) => void;
removeObjectFromDisposal: (object: import("./fragments/disposal").DisposableObject) => void;
disposableObjects: Map<import("./fragments/disposal").DisposableObject, number>;
shouldDispose: boolean;
items: {
promise: Promise<unknown>;
keys: [unknown] | unknown[];
}[];
remember: <T_1>(callback: () => Promise<T_1>, keys: [unknown] | unknown[]) => Promise<T_1>;
clear: (keys: [unknown] | unknown[]) => void;
dom: HTMLElement;
canvas: HTMLCanvasElement;
size: import("..").CurrentReadable<{
width: number;
height: number;
}>;
scene: import("three").Scene;
};