UNPKG

@pmndrs/uikit

Version:

Build performant 3D user interfaces with Three.js and yoga.

37 lines (36 loc) 1.64 kB
import { Signal } from '@preact/signals-core'; import { RenderItem } from 'three'; import { MergedProperties } from './properties/merged.js'; export type WithReversePainterSortStableCache = { reversePainterSortStableCache?: number; }; export declare const reversePainterSortStableCacheKey: unique symbol; export declare const orderInfoKey: unique symbol; export declare function reversePainterSortStable(a: RenderItem, b: RenderItem): number; export declare const ElementType: { readonly Panel: 0; readonly Image: 1; readonly Object: 2; readonly Custom: 3; readonly Svg: 4; readonly Text: 5; }; export type ElementType = (typeof ElementType)[keyof typeof ElementType]; export type OrderInfo = { majorIndex: number; elementType: ElementType; minorIndex: number; instancedGroupDependencies?: Signal<Record<string, any>> | Record<string, any>; }; export declare function compareOrderInfo(o1: OrderInfo | undefined, o2: OrderInfo | undefined): number; export type ZIndexProperties = { zIndexOffset?: ZIndexOffset; }; export type ZIndexOffset = { major?: number; minor?: number; } | number; export declare function computedOrderInfo(propertiesSignal: Signal<MergedProperties> | undefined, zIndexOffsetKey: string, type: ElementType, instancedGroupDependencies: Signal<Record<string, any>> | Record<string, any> | undefined, parentOrderInfoSignal: Signal<OrderInfo | undefined> | undefined): Signal<OrderInfo | undefined>; export declare function setupRenderOrder<T>(result: T, rootCameraDistance: WithReversePainterSortStableCache, orderInfo: { value: OrderInfo | undefined; }): T;