import { x as ShadoDynamicEntityGeometryMode, E as ShadoDynamicEntityAsyncPickingOptions, y as ShadoDynamicEntityContainer, r as ShadoTextureAtlas, C as ShadoDynamicEntityPickResult, P as MSDFNameplateFontAsset } from '../index-B_aEKA_T.js'; export { h as SHADO_ENTITY2D_MESH_INDEX_MOTION_COMPONENT, g as SHADO_ENTITY_HIGHLIGHTED, f as SHADO_ENTITY_SELECTED, e as SHADO_ENTITY_VISIBLE, A as ShadoAsyncPickingBaseOptions, s as ShadoAtlasColor, q as ShadoAtlasEntry, p as ShadoAtlasRect, v as ShadoDynamicEntityDestinationInput, w as ShadoDynamicEntityExpirationInput, u as ShadoDynamicEntityInput, o as ShadoEntity2D, l as ShadoEntity2DDestinationInput, k as ShadoEntity2DInput, D as ShadoInstanceAsyncPickingOptions, B as ShadoInstancePickResult, F as ShadoPickingHandle, z as ShadoPickingSchedule, j as ShadoRgba, i as ShadoUvRect, t as createSolidColorAtlas, n as entityFlags, m as hashEntityId, O as installShadoDynamicEntityClickPicking, M as installShadoInstanceClickPicking, G as normalizePickingOptions, K as pickShadoDynamicEntityAtPointer, L as pickShadoDynamicEntityWithRay, H as pickShadoInstanceAtPointer, J as pickShadoInstanceWithRay } from '../index-B_aEKA_T.js'; import { Mesh, Texture, ShaderMaterial, Scene, Ray } from '@babylonjs/core'; import '../types-oCidOW3T.js'; import '../babylon/index.js'; import '../VATBuilder-DkNitwpU.js'; interface ShadoDynamicEntityRendererOptions { mesh?: Mesh; geometry?: ShadoDynamicEntityGeometryMode; billboard?: boolean; log?: boolean; sortDrawList?: boolean; picking?: boolean | ShadoDynamicEntityAsyncPickingOptions; meshIndex?: number; meshTypeId?: number; meshTexture?: Texture | null; } interface ShadoDynamicEntityMeshVariant { meshIndex: number; mesh: Mesh; meshTexture?: Texture | null; picking?: boolean | ShadoDynamicEntityAsyncPickingOptions; } interface ShadoDynamicEntityMeshVariantRendererOptions extends Omit { variants: readonly ShadoDynamicEntityMeshVariant[]; } declare class ShadoDynamicEntityRenderer { readonly container: ShadoDynamicEntityContainer; readonly atlas: ShadoTextureAtlas; readonly mesh: Mesh; readonly material: ShaderMaterial; private readonly scene; private readonly engine; private readonly originalRender; private pickingHandle?; private loggedFirstDraw; constructor(scene: Scene, container: ShadoDynamicEntityContainer, atlas: ShadoTextureAtlas, options?: ShadoDynamicEntityRendererOptions); static createMeshVariantRenderers(scene: Scene, container: ShadoDynamicEntityContainer, atlas: ShadoTextureAtlas, options: ShadoDynamicEntityMeshVariantRendererOptions): ShadoDynamicEntityRenderer[]; setAsyncPicking(options: boolean | ShadoDynamicEntityAsyncPickingOptions): void; pickAsync(pointerX?: number, pointerY?: number, options?: ShadoDynamicEntityAsyncPickingOptions): Promise; pickWithRay(ray: Ray, options?: ShadoDynamicEntityAsyncPickingOptions): ShadoDynamicEntityPickResult | null; dispose(): void; } type ShadoDynamicEntityNameplateInput = { id: string; text: string; x: number; y: number; z?: number; visible?: boolean; fontSize?: number; color?: string; backgroundColor?: string; billboard?: boolean; }; type ShadoDynamicEntityNameplateLayerOptions = { enabled?: boolean; fontAsset?: MSDFNameplateFontAsset; fontJsonUrl?: string; fontTextureUrl?: string; fontSize?: number; color?: string; backgroundColor?: string; padding?: number; worldScale?: number; zOffset?: number; nameLiftWorld?: number; renderingGroupId?: number; depthTest?: boolean; thickness?: number; debug?: boolean; }; declare class ShadoDynamicEntityNameplateLayer { private options; private readonly scene; private readonly engine; private enabled; private readyPromise; private fontAsset; private ownsFontAsset; private container; private nameplates; private mesh; private records; private signature; private latestInputs; private disposed; constructor(scene: Scene, options?: ShadoDynamicEntityNameplateLayerOptions); setOptions(options: ShadoDynamicEntityNameplateLayerOptions): void; setEnabled(enabled: boolean): void; sync(inputs: readonly ShadoDynamicEntityNameplateInput[]): void; dispose(): void; private ensureReady; private applySync; private rebuild; private updateActors; } declare const SHADO_DYNAMIC_ENTITY_REDUCER_MAGIC = 1146242131; declare const SHADO_DYNAMIC_ENTITY_REDUCER_VERSION = 1; declare const SHADO_DYNAMIC_ENTITY_DELTA_HEADER_BYTES = 16; declare const SHADO_DYNAMIC_ENTITY_DELTA_RECORD_BYTES = 48; declare const SHADO_DYNAMIC_ENTITY_EXPIRATION_RECORD_BYTES = 24; declare const SHADO_DYNAMIC_ENTITY_VISIBLE: number; declare const SHADO_DYNAMIC_ENTITY_EXPIRATION_BY_FRAME: number; declare const SHADO_DYNAMIC_ENTITY_EXPIRATION_BY_SIMULATION_TIME: number; declare const ShadoDynamicEntityReducerOp: { readonly SetDestination: 1; readonly DirectPlace: 2; readonly SetVisibility: 3; readonly SetExpiration: 4; readonly MarkActive: 5; }; type ShadoDynamicEntityReducerOp = (typeof ShadoDynamicEntityReducerOp)[keyof typeof ShadoDynamicEntityReducerOp]; declare class ShadoDynamicEntityDeltaRecord { op: number; index: number; positionSize: Float32Array; z: number; speed: number; flags: number; removeAfterFrame: number; removeAfterSimulationTime: number; } declare class ShadoDynamicEntityExpirationRecord { index: number; removeAfterFrame: number; flags: number; padding: number; removeAfterSimulationTime: number; } declare const SHADO_ENTITY2D_REDUCER_LAYOUT: { readonly strideBytes: 112; readonly positionSizeOffset: 0; readonly renderOffset: 16; readonly destinationSizeOffset: 32; readonly motionOffset: 48; readonly uvRectOffset: 64; readonly colorOffset: 80; readonly renderStateOffset: 96; }; type ShadoDynamicEntityReducerDeltaRecord = { op: ShadoDynamicEntityReducerOp; index: number; x?: number; y?: number; width?: number; depth?: number; z?: number; speed?: number; flags?: number; removeAfterFrame?: number; removeAfterSimulationTime?: number; }; type ShadoDynamicEntityReducerInit = { entityBasePtr: number; entityCapacity: number; entityStrideBytes?: number; positionSizeOffset?: number; renderOffset?: number; destinationSizeOffset?: number; motionOffset?: number; renderStateOffset?: number; activeIndexPtr?: number; activeIndexCapacity?: number; changedIndexPtr?: number; changedIndexCapacity?: number; expirationPtr?: number; expirationCapacity?: number; expirationStrideBytes?: number; }; type ShadoDynamicEntityReducerOptions = { wasmBytes?: BufferSource; wasmModule?: WebAssembly.Module; imports?: WebAssembly.Imports; }; type ShadoDynamicEntityReducerExports = { memory: WebAssembly.Memory; alloc(byteLength: number): number; resetAllocator(byteOffset?: number): void; init(entityBasePtr: number, entityCapacity: number, entityStrideBytes: number, positionSizeOffset: number, renderOffset: number, destinationSizeOffset: number, motionOffset: number, renderStateOffset: number, activeIndexPtr: number, activeIndexCapacity: number, changedIndexPtr: number, changedIndexCapacity: number, expirationPtr: number, expirationCapacity: number, expirationStrideBytes: number): void; applyDelta(deltaPtr: number, deltaByteLength: number): number; stepTransitions(nowMs: number, dtMs: number): number; sweepExpired(frameId: number, simulationTime: number): number; buildTimeline(recordPtr: number, recordByteLength: number): number; scrubTimeline(anchorOffset: number, nextOffset: number): number; getChangedIndexPtr(): number; getChangedIndexCount(): number; clearChanged(): void; getActiveIndexPtr(): number; getActiveIndexCount(): number; setActiveIndexCount(count: number): void; getExpirationPtr(): number; getExpirationCount(): number; setExpirationCount(count: number): void; }; type ShadoDynamicEntityReducer = { exports: ShadoDynamicEntityReducerExports; memory: WebAssembly.Memory; initArena(config: ShadoDynamicEntityReducerInit): ShadoDynamicEntityReducerResolvedInit; alloc(byteLength: number): number; writeDelta(records: readonly ShadoDynamicEntityReducerDeltaRecord[], ptr?: number): { ptr: number; byteLength: number; }; applyDelta(records: readonly ShadoDynamicEntityReducerDeltaRecord[]): number; changedIndices(): Int32Array; clearChanged(): void; }; type ShadoDynamicEntityReducerResolvedInit = Required>; declare function createShadoDynamicEntityReducer(options?: ShadoDynamicEntityReducerOptions): Promise; declare function wrapShadoDynamicEntityReducerExports(reducerExports: WebAssembly.Exports | ShadoDynamicEntityReducerExports): ShadoDynamicEntityReducer; declare function defaultShadoDynamicEntityReducerWasmBytes(): Promise; declare function defaultShadoDynamicEntityReducerDebugWasmBytes(): Promise; declare function encodeShadoDynamicEntityReducerDelta(records: readonly ShadoDynamicEntityReducerDeltaRecord[]): Uint8Array; export { SHADO_DYNAMIC_ENTITY_DELTA_HEADER_BYTES, SHADO_DYNAMIC_ENTITY_DELTA_RECORD_BYTES, SHADO_DYNAMIC_ENTITY_EXPIRATION_BY_FRAME, SHADO_DYNAMIC_ENTITY_EXPIRATION_BY_SIMULATION_TIME, SHADO_DYNAMIC_ENTITY_EXPIRATION_RECORD_BYTES, SHADO_DYNAMIC_ENTITY_REDUCER_MAGIC, SHADO_DYNAMIC_ENTITY_REDUCER_VERSION, SHADO_DYNAMIC_ENTITY_VISIBLE, SHADO_ENTITY2D_REDUCER_LAYOUT, ShadoDynamicEntityAsyncPickingOptions, ShadoDynamicEntityContainer, ShadoDynamicEntityDeltaRecord, ShadoDynamicEntityExpirationRecord, ShadoDynamicEntityGeometryMode, type ShadoDynamicEntityMeshVariant, type ShadoDynamicEntityMeshVariantRendererOptions, type ShadoDynamicEntityNameplateInput, ShadoDynamicEntityNameplateLayer, type ShadoDynamicEntityNameplateLayerOptions, ShadoDynamicEntityPickResult, type ShadoDynamicEntityReducer, type ShadoDynamicEntityReducerDeltaRecord, type ShadoDynamicEntityReducerExports, type ShadoDynamicEntityReducerInit, ShadoDynamicEntityReducerOp, type ShadoDynamicEntityReducerOptions, type ShadoDynamicEntityReducerResolvedInit, ShadoDynamicEntityRenderer, type ShadoDynamicEntityRendererOptions, ShadoTextureAtlas, createShadoDynamicEntityReducer, defaultShadoDynamicEntityReducerDebugWasmBytes, defaultShadoDynamicEntityReducerWasmBytes, encodeShadoDynamicEntityReducerDelta, wrapShadoDynamicEntityReducerExports };