/** Persistent texture-native rasterizer for character velocity and depth. */ import type { CharacterMotionVectorFrame } from './CharacterMotionVectors'; export interface CharacterMotionTextureRasterizerOptions { width: number; height: number; vertexCount: number; indices: Uint32Array; label?: string; } export interface CharacterMotionTextureRasterReceipt { schemaVersion: 'holoscript.webgpu-character-motion-texture-raster.v1'; backend: 'webgpu'; width: number; height: number; vertexCount: number; triangleCount: number; movingVertexCount: number; maximumMagnitudePixels: number; motionVectorSpace: 'current-minus-previous-pixels'; depthConvention: 'webgpu-ndc-zero-to-one'; persistentPipeline: true; persistentGeometryBuffers: true; persistentOutputTextures: true; perFrameUploadCount: 3; zeroCopyTextureOutputs: true; intermediateCpuReadbackCount: 0; gpuTimestampWritesEncoded: boolean; } /** * Fixed-topology raster stage. Clip positions and velocity are CPU-derived and * uploaded each frame; rasterization and all downstream consumption remain on GPU. */ export declare class CharacterMotionTextureRasterizer { readonly width: number; readonly height: number; readonly vertexCount: number; readonly motionTexture: GPUTexture; readonly depthTexture: GPUTexture; private readonly device; private readonly label; private readonly indices; private readonly pipeline; private readonly currentClipBuffer; private readonly motionBuffer; private readonly currentDepthBuffer; private readonly indexBuffer; private readonly depthAttachment; private destroyed; constructor(device: GPUDevice, options: CharacterMotionTextureRasterizerOptions); encode(encoder: GPUCommandEncoder, frame: CharacterMotionVectorFrame, timestampWrites?: GPURenderPassTimestampWrites): CharacterMotionTextureRasterReceipt; destroy(): void; } //# sourceMappingURL=CharacterMotionTextureRasterizer.d.ts.map