All files / core/src/types RenderBackendRegistry.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
export interface CoreRenderBackendRegistry {
  auto: 'auto';
  gpu: 'gpu';
  cpu: 'cpu';
}
 
export interface CoreRenderBackendConstants {
  readonly Auto: 'auto';
  readonly GPU: 'gpu';
  readonly CPU: 'cpu';
}
 
/**
 * Extensions can augment this interface to add additional runtime render
 * backend strings, e.g.
 * `interface RenderBackendRegistry { 'myOrg:webgpu': 'myOrg:webgpu' }`.
 */
export interface RenderBackendRegistry extends CoreRenderBackendRegistry {}
 
/**
 * Extensions augment this interface to add names on `Enums.RenderBackends`.
 * `RenderBackendsMap` and the runtime `Enums.RenderBackends` object are typed
 * from this interface — update it once, e.g.:
 *
 * `interface RenderBackendConstants { readonly WEBGPU: 'myOrg:webgpu' }`
 */
export interface RenderBackendConstants extends CoreRenderBackendConstants {}
 
export type RenderBackend = RenderBackendRegistry[keyof RenderBackendRegistry];
 
/**
 * A concrete (resolved) render backend: any registered backend except the
 * 'auto' preference, which always resolves to one of these.
 */
export type EffectiveRenderBackend = Exclude<RenderBackend, 'auto'>;