Overview
From v10Experimental API
Apache Arrow utilities for luma.gl.
Arrow Rendering
These live examples exercise luma.gl's Arrow path, polygon, and text conversion and rendering
stack through temporary deck.gl integration layers. They demonstrate progressive RecordBatch
streaming, direct columnar inputs, constant and column styling, attribute rendering, and WebGPU
storage rendering.
API Reference
- Arrow Utilities
- Arrow Representations
- Arrow Table Conversion
- Supported Arrow Types
- deck.gl v10 API Directions
Choose a column representation
Scalar and fixed-size-list columns can map to vertex attributes. Variable-length lists need a model-specific conversion or storage path. See Supported Arrow types for the support matrix and Arrow conversion for path, color, matrix, and temporal conversion helpers.
GPU Table Interop
@luma.gl/arrow adapts Apache Arrow objects into primitive
@luma.gl/gpgpu/gpu-data objects and higher-level
@luma.gl/experimental/gpu-tables objects:
makeGPUDataFromArrowData()uploads one ArrowDatachunk into aGPUData.makeGPUVectorFromArrow()uploads one ArrowVectorinto aGPUVector.makeGPURecordBatchFromArrowRecordBatch()uploads one ArrowRecordBatch.makeGPUTableFromArrowTable()uploads one ArrowTablewhile preserving source record batch boundaries.makeGPUAnalyticsTableFromArrowTable()uploads renderer-independent numeric and dictionary columns into existing GPU tables while preserving source batches, validity masks, and category metadata for GPU dataframe execution.makeArrowTableFromGPUAnalyticsTable()explicitly reads a GPU analytical result back into Arrow, reconstructing nullable numeric/dictionary columns and either preserved per-batch selection or explicitly requested global ordering. Combined withLuSQLContextfrom the separate@luma.gl/experimental/gpu-sqlsubpath, this provides an Arrow input → GPU dataframe execution → Arrow output workflow without adding Apache Arrow to generic table or SQL packages.makeGPUSplatDataFromArrow()prepares independently owned Gaussian splat batches for@luma.gl/splats, decoding GraphDECO encodings without clamping or quantizing spherical-harmonic DC radiance.makeGPUSplatDataFromArrowStream()progressively prepares Gaussian splat batches without concatenating Arrow tables or rebuilding previously uploaded GPU buffers. Both Gaussian conversion helpers accept structurally compatible Arrow objects from other installed Arrow versions, including those produced by loaders.gl 5 alpha.ArrowInputSchemacombines source resolution and conversion with finalGPUInputSchemavalidation for model-specific prepared inputs.
The resulting table schema is GPUSchema, and each vector has a
GPUVector.format memory-layout string such as float32x3, unorm8x4, or
vertex-list<float32x3>. Arrow DataType metadata may still be retained by
adapter/readback paths, but neither @luma.gl/gpgpu nor @luma.gl/experimental depends on
apache-arrow.