ReferenceSPQL

Data Types

Look up the primitive, nested, and semantic data types that SPQL functions accept and return.

Every SPQL function signature names the data types of its parameters and its result. This page uses the same type names as the signatures. Primitive types hold scalar values. Nested types combine other types into structs and lists. Semantic types attach a meaning, such as an image, a tensor, or a timestamp, to a storage layout.

A ? after a type name means that the value can be null. For example, i64? is a nullable 64-bit signed integer.

Primitive Types

TypeDescription
boolBoolean truth values.
i88-bit signed integer.
i1616-bit signed integer.
i3232-bit signed integer.
i6464-bit signed integer.
u88-bit unsigned integer.
u1616-bit unsigned integer.
u3232-bit unsigned integer.
u6464-bit unsigned integer.
f1616-bit IEEE 754 floating point.
f3232-bit IEEE 754 floating point.
f6464-bit IEEE 754 floating point.
utf8Variable-length UTF-8 string.
binaryVariable-length binary data.
decimal(precision, scale)Fixed-point decimal with a precision and a scale.

Nested Types

Combine any types into structs and lists, nested to any depth. Each struct field and each list element has its own nullability.

TypeDescription
struct { name, ... }A struct with named fields. Each field has its own type.
list(type)A variable-length list of type values.

Semantic Types

A semantic type gives a stable meaning to a storage layout. The Type ID identifies the semantic type in schemas and function signatures. Two types with the same storage layout and different Type IDs do not match: a vector is not an arbitrary fixed-size list. Parameters, such as a vector dimension or a time unit, refine the type.

Type parameter tables describe values shared by a column. A trailing ? in a parameter kind means that parameter can be absent.

The time_unit kind uses s, ms, us, ns or d. The period_frequency kind uses D, W, MS, ME, QS, QE, YS or YE.

Types defined by Spiral list their stability. A stable type keeps its Type ID and storage from one release to the next, so files you write today stay readable. An experimental type can still change. A deprecated type names the type that replaces it.

An alias is an earlier Type ID that Spiral still reads. Spiral always writes the Type ID, so a column read under an alias is written back under its current Type ID. When a type exports to Arrow under an extension name that differs from its Type ID, the type lists that name.

Type IDs that start with vortex. belong to the Vortex file format, an open columnar format, so any Vortex reader recognizes them without Spiral. Visualization components in the spql.viz namespace are presentation values, not data types; the visualization components page documents them.

The semantic types on this page, with their storage, stability, and aliases, are also published as one JSON file, spql-types.v1.json, described by the JSON Schema spql-types.v1.schema.json. Each Rust SDK release attaches both files, so code generators and validators can read the types of the release they build against.

Date and Time

Type IDStabilitySummary
spql.DurationstableFixed elapsed time in the parameter's unit.
spql.IntervalstableCalendar-relative SQL interval.
spql.PeriodstableRegular period label at the parameter's frequency.
vortex.dateCalendar dates counted from the Unix epoch, in days (days) or milliseconds (ms).
vortex.timeTime of day counted from midnight, in seconds (s), milliseconds (ms), microseconds (us) or nanoseconds (ns).
vortex.timestampTimestamps counted from the Unix epoch in seconds (s), milliseconds (ms), microseconds (us) or nanoseconds (ns), with an optional IANA timezone name or fixed offset. The timezone describes calendar interpretation without changing the stored instant.

spql.Duration

Fixed elapsed time in the parameter's unit.

  • Stability: stable
  • Storage: i64
  • Aliases: spql.dt.Duration

Type parameters

NameKindDescription
unittime_unit

spql.Interval

Calendar-relative SQL interval.

  • Stability: stable
  • Storage: struct { months, days, nanos }
  • Aliases: spql.dt.Interval

Fields

NameTypeDescription
monthsi32?
daysi32?
nanosi64?

spql.Period

Regular period label at the parameter's frequency.

  • Stability: stable
  • Storage: i64
  • Aliases: spql.dt.Period

Type parameters

NameKindDescription
freqperiod_frequency

vortex.date

Calendar dates counted from the Unix epoch, in days (days) or milliseconds (ms).

  • Defined by: the Vortex file format
  • Storage: i32 for days; i64 for milliseconds.
  • Arrow: exports as the native Arrow type

Type parameters

NameKindDescription
unitutf8

vortex.time

Time of day counted from midnight, in seconds (s), milliseconds (ms), microseconds (us) or nanoseconds (ns).

  • Defined by: the Vortex file format
  • Storage: i32 for seconds or milliseconds; i64 for microseconds or nanoseconds.
  • Arrow: exports as the native Arrow type

Type parameters

NameKindDescription
unitutf8

vortex.timestamp

Timestamps counted from the Unix epoch in seconds (s), milliseconds (ms), microseconds (us) or nanoseconds (ns), with an optional IANA timezone name or fixed offset. The timezone describes calendar interpretation without changing the stored instant.

  • Defined by: the Vortex file format
  • Storage: i64 in the selected unit.
  • Arrow: exports as the native Arrow type

Type parameters

NameKindDescription
unitutf8
timezoneutf8?

Blobs

Type IDStabilitySummary
spql.BlobstableInline bytes, a Spiral address or a direct provider URI, exposed as spql.Blob.

spql.Blob

Inline bytes, a Spiral address or a direct provider URI, exposed as spql.Blob.

  • Stability: stable
  • Storage: struct { bytes, uri, offset, size, mime_type, version, etag, digest }
  • Aliases: spql.io.Blob

Fields

NameTypeDescription
bytesbinary?Inline payload bytes.
uriutf8?spiral://<resource-id>/<key>, or a direct provider URI.
offsetu64?Byte offset of the payload inside the referenced object; null is 0.
sizeu64?Payload length in bytes; null means to the end of the object.
mime_typeutf8?Optional media type.
versionutf8?Provider object version a read must return.
etagutf8?Entity tag a read must match.
digestbinary?Multihash of the payload bytes.

Media

Type IDStabilitySummary
spql.ClipRefstableA half-open encoded temporal selection over some or all streams of a media asset.
spql.EncodedMediastableBlob-backed encoded temporal media with an optional container name and index.
spql.EncodedPacketstableA normalized encoded packet with exact timing in its stream's time base and a Blob payload.
spql.MediaIndexexperimentalIndex of one encoded media value: per track, the container's sample tables and a GOP table, from which presentation order, byte offsets and each frame's decode closure are derived on read. Row data, never layout or dtype metadata; an EncodedMedia carries it in its index field.
spql.StreamRefstableA stream selected from one encoded media asset by its structural container index.

spql.ClipRef

A half-open encoded temporal selection over some or all streams of a media asset.

  • Stability: stable
  • Storage: struct { media, stream_indices, start, end }
  • Aliases: spql.media.ClipRef

Fields

NameTypeDescription
mediaspql.EncodedMedia?
stream_indiceslist<i32>?
startduration_ns?
endduration_ns?

spql.EncodedMedia

Blob-backed encoded temporal media with an optional container name and index.

  • Stability: stable
  • Storage: struct { source, container, index }
  • Aliases: spql.media.EncodedMedia

Fields

NameTypeDescription
sourcespql.Blob?
containerutf8?Container name, such as mp4.
indexspql.MediaIndex?

spql.EncodedPacket

A normalized encoded packet with exact timing in its stream's time base and a Blob payload.

  • Stability: stable
  • Storage: struct { payload, stream, codec, framing, pts, dts, duration_ticks, time_base_num, time_base_den, keyframe, codec_config }
  • Aliases: spql.media.EncodedPacket

Fields

NameTypeDescription
payloadspql.Blob?
streamspql.StreamRef?
codecutf8?
framingutf8?
ptsi64?
dtsi64?
duration_ticksi64?
time_base_numi32?
time_base_deni32?
keyframebool?
codec_configspql.Blob?

spql.MediaIndex

Index of one encoded media value: per track, the container's sample tables and a GOP table, from which presentation order, byte offsets and each frame's decode closure are derived on read. Row data, never layout or dtype metadata; an EncodedMedia carries it in its index field.

  • Stability: experimental
  • Storage: struct { primary_track_id, tracks }

Fields

NameTypeDescription
primary_track_idu32Identifier of the primary media track.
trackslist<spql.media.index.MediaTrack>Track metadata, sample tables and GOP indexes for the media.

spql.StreamRef

A stream selected from one encoded media asset by its structural container index.

  • Stability: stable
  • Storage: struct { media, stream_index }
  • Aliases: spql.media.StreamRef

Fields

NameTypeDescription
mediaspql.EncodedMedia?
stream_indexi32?

Images

Type IDStabilitySummary
spql.EncodedImagestableA lazy encoded image over a Blob with the facts a header read can give.
spql.ImagestableDecoded display image: contiguous top-left-origin HWC pixels, treated as sRGB. Each row's pixel_format fixes its channel layout: 1 is RGB8 and 2 is RGBA8 with straight alpha.
spql.Yuv420ImagestableDecoded planar 8-bit YUV 4:2:0 image with coded and display sizes, per-plane strides and colour metadata. Timing stays on the frame row.

spql.EncodedImage

A lazy encoded image over a Blob with the facts a header read can give.

  • Stability: stable
  • Storage: struct { source, format, mime_type, width, height }
  • Aliases: spql.image.EncodedImage

Fields

NameTypeDescription
sourcespql.Blob?
formatutf8?Image codec, such as jpeg, png, webp, avif or tiff.
mime_typeutf8?
widthu32?
heightu32?

spql.Image

Decoded display image: contiguous top-left-origin HWC pixels, treated as sRGB. Each row's pixel_format fixes its channel layout: 1 is RGB8 and 2 is RGBA8 with straight alpha.

  • Stability: stable
  • Storage: struct { data, width, height, pixel_format }
  • Frame: image pixels, top-left origin
  • Aliases: spql.image.Image

Fields

NameTypeDescription
datalist<u8>Interleaved pixels, width * height * channels bytes.
widthu32
heightu32
pixel_formatu81 for RGB8, 2 for RGBA8.

spql.Yuv420Image

Decoded planar 8-bit YUV 4:2:0 image with coded and display sizes, per-plane strides and colour metadata. Timing stays on the frame row.

  • Stability: stable
  • Storage: struct { y, u, v, coded_width, coded_height, display_width, display_height, y_stride, u_stride, v_stride, range, matrix, primaries, transfer }
  • Aliases: spql.image.Yuv420Image

Fields

NameTypeDescription
ylist<u8>
ulist<u8>
vlist<u8>
coded_widthu32
coded_heightu32
display_widthu32
display_heightu32
y_strideu32
u_strideu32
v_strideu32
rangeutf8?
matrixutf8?
primariesutf8?
transferutf8?

Video

Type IDStabilitySummary
spql.FrameIndicesexperimentalOrdered presentation-frame positions for spql.video.read. Order and duplicates are preserved.
spql.FrameNeighborhoodexperimentalA fixed-count frame neighborhood around a presentation time, for spql.video.read.
spql.FrameRefstableOne presentation frame without pixels. A valid row sets exactly one of stream, resolved through the media's index, or packets, the decode-order packets of the MCAP path.
spql.FrameSliceexperimentalA half-open slice over display-order presentation-frame positions, for spql.video.read.
spql.FrameTimesexperimentalOrdered presentation times that spql.video.read resolves to frames. Order and duplicates are preserved.
spql.ImageSequenceexperimentalEncoded images in presentation order at a fixed rate; every frame decodes alone.

spql.FrameIndices

Ordered presentation-frame positions for spql.video.read. Order and duplicates are preserved.

  • Stability: experimental
  • Storage: struct { indices }
  • Aliases: spql.video.selection.FrameIndices

Fields

NameTypeDescription
indiceslist<i64>Display-order frame positions. Negative positions count from the end.

spql.FrameNeighborhood

A fixed-count frame neighborhood around a presentation time, for spql.video.read.

  • Stability: experimental
  • Storage: struct { time, count, start_offset, step, mode, boundary }
  • Aliases: spql.video.selection.FrameNeighborhood

Fields

NameTypeDescription
timeduration_nsPresentation time used to resolve the anchor frame.
countu32Number of output frame references.
start_offseti64?First frame offset from the anchor. A null value centers the neighborhood.
stepi64?Nonzero frame-position increment. A null value means one.
modeutf8?Anchor resolution mode: nearest, exact, floor, or ceil. A null value means nearest.
boundaryutf8?Boundary mode: clamp, truncate, or error. A null value means clamp.

spql.FrameRef

One presentation frame without pixels. A valid row sets exactly one of stream, resolved through the media's index, or packets, the decode-order packets of the MCAP path.

  • Stability: stable
  • Storage: struct { stream, packets, presentation_index, decode_index, pts, dts, duration_ticks, time_base_num, time_base_den, keyframe, group_id, local_index, codec_config }
  • Aliases: spql.video.FrameRef

Fields

NameTypeDescription
streamspql.StreamRef?
packetslist<spql.EncodedPacket?>?
presentation_indexi64?
decode_indexi64?
ptsi64?
dtsi64?
duration_ticksi64?
time_base_numi32?
time_base_deni32?
keyframebool?
group_idutf8?Identifies frames that share packets, so they decode together.
local_indexi64?The frame's presentation position within packets.
codec_configspql.Blob?

spql.FrameSlice

A half-open slice over display-order presentation-frame positions, for spql.video.read.

  • Stability: experimental
  • Storage: struct { start, stop, step }
  • Aliases: spql.video.selection.FrameSlice

Fields

NameTypeDescription
starti64?Inclusive start position. A null value selects from the first frame.
stopi64?Exclusive stop position. A null value selects through the last frame.
stepi64?Nonzero position increment. A null value means one.

spql.FrameTimes

Ordered presentation times that spql.video.read resolves to frames. Order and duplicates are preserved.

  • Stability: experimental
  • Storage: struct { times, mode }
  • Aliases: spql.video.selection.FrameTimes

Fields

NameTypeDescription
timeslist<duration_ns>Requested presentation times.
modeutf8?Resolution mode: nearest, exact, floor, or ceil. A null value means nearest.

spql.ImageSequence

Encoded images in presentation order at a fixed rate; every frame decodes alone.

  • Stability: experimental
  • Storage: struct { images, frame_rate }
  • Aliases: spql.video.ImageSequence

Fields

NameTypeDescription
imageslist<spql.EncodedImage?>
frame_ratef64

Audio

Type IDStabilitySummary
spql.AudioBufferexperimentalDecoded PCM samples.

spql.AudioBuffer

Decoded PCM samples.

  • Stability: experimental
  • Storage: struct { data, sample_format, sample_rate, channels }

Fields

NameTypeDescription
databinaryPCM payload in the layout described by sample_format.
sample_formatutf8FFmpeg sample format name, such as s16 or fltp.
sample_rateu32Number of samples per second in each channel.
channelsu32Number of audio channels.

Depth Maps

Type IDStabilitySummary
spql.DepthMapstableA two-dimensional depth value: rank-two f32 sample and confidence tensors shaped [height, width], the representation of the samples and an optional linear calibration.

spql.DepthMap

A two-dimensional depth value: rank-two f32 sample and confidence tensors shaped [height, width], the representation of the samples and an optional linear calibration.

  • Stability: stable
  • Storage: struct { values, confidence, width, height, representation, unit, scale, offset }
  • Frame: image pixels, top-left origin
  • Aliases: spql.depth.DepthMap

Fields

NameTypeDescription
valuesspql.Tensor<f32, 2>?Row-major depth samples.
confidencespql.Tensor<f32, 2>?Optional row-major confidence.
widthu32
heightu32
representationutf8One of relative_inverse_depth, metric_depth, inverse_depth or disparity.
unitutf8?Metric unit of metric depth samples.
scalef32?Linear calibration scale.
offsetf32?Linear calibration offset.

Object Detection

Type IDStabilitySummary
spql.LabeledBoxstableA labeled axis-aligned bounding box with optional confidence.

spql.LabeledBox

A labeled axis-aligned bounding box with optional confidence.

  • Stability: stable
  • Storage: struct { label, bbox, score }
  • Frame: image pixels, top-left origin
  • Aliases: spql.detect.LabeledBox

Fields

NameTypeDescription
labelutf8
bboxvortex.st.box
scoref32?

Annotations

Type IDStabilitySummary
spql.Annotations2DexperimentalCollection of image-space annotations.
spql.Circle2DexperimentalStyled image-space circle.
spql.Text2DexperimentalStyled image-space text annotation.

spql.Annotations2D

Collection of image-space annotations.

  • Stability: experimental
  • Storage: struct { circles, points, text }
  • Frame: image pixels, top-left origin

Fields

NameTypeDescription
circleslist<spql.Circle2D>?Circle annotations in image coordinates.
pointslist<spql.Points2D>?Point annotations in image coordinates.
textlist<spql.Text2D>?Text annotations in image coordinates.

spql.Circle2D

Styled image-space circle.

  • Stability: experimental
  • Storage: struct { center, radius, thickness, fill_color, outline_color, metadata }
  • Frame: image pixels, top-left origin

Fields

NameTypeDescription
centerspql.Position2DCenter of the circle in image pixels.
radiusf64Radius of the circle in image pixels.
thicknessf64?Outline thickness in image pixels.
fill_colorspql.Color?Color of the filled interior.
outline_colorspql.Color?Color of the circle outline.
metadatalist<spql.KeyValue>?Additional key-value attributes of the annotation.

spql.Text2D

Styled image-space text annotation.

  • Stability: experimental
  • Storage: struct { position, text, color, background_color, font_size, metadata }
  • Frame: image pixels, top-left origin

Fields

NameTypeDescription
positionspql.Position2DText position in image pixels.
textutf8Text to display.
colorspql.Color?Text foreground color.
background_colorspql.Color?Text background color.
font_sizef64?Font size in image pixels.
metadatalist<spql.KeyValue>?Additional key-value attributes of the annotation.

Cameras

Type IDStabilitySummary
spql.CameraCalibrationexperimentalFoxglove CameraCalibration and ROS CameraInfo fields; a pinhole has no distortion.

spql.CameraCalibration

Foxglove CameraCalibration and ROS CameraInfo fields; a pinhole has no distortion.

  • Stability: experimental
  • Storage: struct { width, height, distortion_model, distortion_coefficients, intrinsic, rectification, projection }

Fields

NameTypeDescription
widthu32Width of the calibrated image in pixels.
heightu32Height of the calibrated image in pixels.
distortion_modelutf8?Name of the lens distortion model, when present.
distortion_coefficientslist<f64>?Coefficients in the order defined by the distortion model.
intrinsiclist<f64>Intrinsic matrix K, 3x3 row-major.
rectificationlist<f64>?Rectification matrix R, 3x3 row-major.
projectionlist<f64>?Projection matrix P, 3x4 row-major.

Point Clouds

Type IDStabilitySummary
spql.EncodedPointCloudexperimentalAn encoded point cloud, such as PCD, LAS, LAZ or Draco, over a Blob.
spql.GridexperimentalA two-dimensional grid of packed cells; Foxglove Grid layout.
spql.LaserScanexperimentalPlanar range scan sample.
spql.PointCloudexperimentalPacked points with a field table; Foxglove PointCloud and ROS PointCloud2 layout.

spql.EncodedPointCloud

An encoded point cloud, such as PCD, LAS, LAZ or Draco, over a Blob.

  • Stability: experimental
  • Storage: struct { source, format, pose }

Fields

NameTypeDescription
sourcespql.BlobBlob containing the encoded point-cloud payload.
formatutf8Point-cloud encoding name, such as pcd, las, laz or draco.
posespql.Pose3D?Pose of the point cloud in the row's frame.

spql.Grid

A two-dimensional grid of packed cells; Foxglove Grid layout.

  • Stability: experimental
  • Storage: struct { pose, column_count, cell_size, row_stride, cell_stride, fields, data }

Fields

NameTypeDescription
posespql.Pose3D?Pose of the grid in the row's frame.
column_countu32Number of cells in each grid row.
cell_sizespql.Vector2DWidth and height of one cell in grid coordinates.
row_strideu32Bytes from the start of one row to the start of the next.
cell_strideu32Bytes from the start of one cell to the start of the next.
fieldslist<spql.PackedField>Field names, types and byte offsets within each packed cell.
databinaryPacked cell records using the declared fields and strides.

spql.LaserScan

Planar range scan sample.

  • Stability: experimental
  • Storage: struct { pose, start_angle, end_angle, ranges, intensities }

Fields

NameTypeDescription
posespql.Pose3DPose of the range sensor in the row's frame.
start_anglef64Angle of the first range measurement.
end_anglef64Angle of the last range measurement.
rangeslist<f64>Range measurements ordered from start_angle to end_angle.
intensitieslist<f64>?Per-measurement intensities aligned with ranges.

spql.PointCloud

Packed points with a field table; Foxglove PointCloud and ROS PointCloud2 layout.

  • Stability: experimental
  • Storage: struct { pose, point_stride, fields, data }

Fields

NameTypeDescription
posespql.Pose3D?Pose of the point cloud in the row's frame.
point_strideu32Bytes from the start of one point to the start of the next.
fieldslist<spql.PackedField>Field names, types and byte offsets within each packed point.
databinaryPacked point records using the declared fields and point_stride.

Poses and Transforms

Type IDStabilitySummary
spql.Points2DexperimentalAligned two-dimensional point components.
spql.Points3DexperimentalAligned three-dimensional point components.
spql.Pose3DstablePosition and orientation of one object in the row's frame.
spql.Position2DstableTwo-dimensional position in a declared coordinate system.
spql.Position3DstableThree-dimensional position in a declared coordinate system.
spql.QuaternionstableUnit quaternion in x, y, z, w order.
spql.Transform3DstableRigid or similarity transform from the child frame to the parent frame.
spql.Vector2DstableTwo-dimensional direction or displacement.
spql.Vector3DstableThree-dimensional direction or displacement.

spql.Points2D

Aligned two-dimensional point components.

  • Stability: experimental
  • Storage: struct { positions, colors, radii, labels, topology }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
positionslist<spql.Position2D>Two-dimensional point positions in order.
colorslist<spql.Color>?Per-point colors aligned with positions.
radiilist<f64>?Per-point radii aligned with positions.
labelslist<utf8>?Per-point text labels aligned with positions.
topologyutf8?Connectivity description for the points.

spql.Points3D

Aligned three-dimensional point components.

  • Stability: experimental
  • Storage: struct { positions, colors, radii, labels }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
positionslist<spql.Position3D>Three-dimensional point positions in order.
colorslist<spql.Color>?Per-point colors aligned with positions.
radiilist<f64>?Per-point radii aligned with positions.
labelslist<utf8>?Per-point text labels aligned with positions.

spql.Pose3D

Position and orientation of one object in the row's frame.

  • Stability: stable
  • Storage: struct { position, orientation }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
positionspql.Position3DPosition of the object in the row's frame.
orientationspql.QuaternionOrientation of the object in the row's frame.

spql.Position2D

Two-dimensional position in a declared coordinate system.

  • Stability: stable
  • Storage: struct { x, y }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
xf64X coordinate in the declared coordinate system.
yf64Y coordinate in the declared coordinate system.

spql.Position3D

Three-dimensional position in a declared coordinate system.

  • Stability: stable
  • Storage: struct { x, y, z }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
xf64X coordinate in the declared coordinate system.
yf64Y coordinate in the declared coordinate system.
zf64Z coordinate in the declared coordinate system.

spql.Quaternion

Unit quaternion in x, y, z, w order.

  • Stability: stable
  • Storage: struct { x, y, z, w }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
xf64X component of the unit quaternion.
yf64Y component of the unit quaternion.
zf64Z component of the unit quaternion.
wf64Scalar component of the unit quaternion.

spql.Transform3D

Rigid or similarity transform from the child frame to the parent frame.

  • Stability: stable
  • Storage: struct { translation, rotation, scale, parent_frame_id, child_frame_id }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
translationspql.Vector3DTranslation from the child frame into the parent frame.
rotationspql.QuaternionRotation from the child frame into the parent frame.
scalespql.Vector3D?Scale along each child-frame axis, when supplied.
parent_frame_idutf8?Identifier of the frame the transform maps into.
child_frame_idutf8?Identifier of the frame the transform maps from.

spql.Vector2D

Two-dimensional direction or displacement.

  • Stability: stable
  • Storage: struct { x, y }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
xf64X component of the direction or displacement.
yf64Y component of the direction or displacement.

spql.Vector3D

Three-dimensional direction or displacement.

  • Stability: stable
  • Storage: struct { x, y, z }
  • Units: REP 103 (metres, radians); frame by column

Fields

NameTypeDescription
xf64X component of the direction or displacement.
yf64Y component of the direction or displacement.
zf64Z component of the direction or displacement.

Kinematics

Type IDStabilitySummary
spql.JointStateexperimentalInstantaneous state of one revolute or prismatic joint.

spql.JointState

Instantaneous state of one revolute or prismatic joint.

  • Stability: experimental
  • Storage: struct { name, position, velocity, acceleration, effort }

Fields

NameTypeDescription
nameutf8Name of the joint.
positionf64?Angular or linear joint position, when known.
velocityf64?Angular or linear joint velocity, when known.
accelerationf64?Angular or linear joint acceleration, when known.
effortf64?Torque or force applied at the joint, when known.
Type IDStabilitySummary
spql.GeoPositionexperimentalGeographic position in latitude, longitude, and altitude.
spql.LocationFixexperimentalInstantaneous geographic location estimate.
spql.OdometryexperimentalInstantaneous pose and velocity estimate.

spql.GeoPosition

Geographic position in latitude, longitude, and altitude.

  • Stability: experimental
  • Storage: struct { latitude, longitude, altitude }

Fields

NameTypeDescription
latitudef64Latitude in degrees.
longitudef64Longitude in degrees.
altitudef64?Altitude of the geographic position, when known.

spql.LocationFix

Instantaneous geographic location estimate.

  • Stability: experimental
  • Storage: struct { position, covariance, covariance_type, heading, velocity, color, metadata }

Fields

NameTypeDescription
positionspql.GeoPositionEstimated geographic position.
covariancelist<f64>?Covariance values for the geographic position estimate.
covariance_typei32?Code describing how to interpret the covariance.
headingf64?Heading of the location estimate, when known.
velocityspql.Vector3D?Estimated three-dimensional velocity, when known.
colorspql.Color?Display color for the location estimate.
metadatalist<spql.KeyValue>?Additional key-value attributes of the estimate.

spql.Odometry

Instantaneous pose and velocity estimate.

  • Stability: experimental
  • Storage: struct { pose, linear_velocity, angular_velocity, pose_covariance, velocity_covariance, metadata }

Fields

NameTypeDescription
posespql.Pose3DEstimated position and orientation.
linear_velocityspql.Vector3D?Estimated linear velocity.
angular_velocityspql.Vector3D?Estimated angular velocity.
pose_covariancelist<f64>?Covariance values for the pose estimate.
velocity_covariancelist<f64>?Covariance values for the velocity estimate.
metadatalist<spql.KeyValue>?Additional key-value attributes of the estimate.

Scenes

Type IDStabilitySummary
spql.Arrow3DexperimentalPosed three-dimensional arrow.
spql.Box3DexperimentalPosed three-dimensional box.
spql.ColorstableUnit-interval RGBA color.
spql.Cylinder3DexperimentalPosed cylinder or frustum.
spql.Line3DexperimentalPosed three-dimensional line topology.
spql.Mesh3DexperimentalPosed triangle mesh.
spql.Model3DexperimentalPosed model asset reference or embedded payload.
spql.SceneEntity3DexperimentalIdentified collection of three-dimensional primitives.
spql.SceneEntityDeletionexperimentalDeletion of one matching scene entity or all entities.
spql.SceneUpdate3DexperimentalOrdered additions, replacements, and deletions for a 3D scene.
spql.Sphere3DexperimentalPosed ellipsoid.
spql.Text3DexperimentalPosed three-dimensional text.

spql.Arrow3D

Posed three-dimensional arrow.

  • Stability: experimental
  • Storage: struct { pose, shaft_length, shaft_diameter, head_length, head_diameter, color }

Fields

NameTypeDescription
posespql.Pose3DPosition and orientation of the arrow.
shaft_lengthf64Length of the arrow shaft in scene units.
shaft_diameterf64Diameter of the arrow shaft in scene units.
head_lengthf64Length of the arrow head in scene units.
head_diameterf64Diameter of the arrow head in scene units.
colorspql.Color?Color of the arrow.

spql.Box3D

Posed three-dimensional box.

  • Stability: experimental
  • Storage: struct { pose, size, color }

Fields

NameTypeDescription
posespql.Pose3DPosition and orientation of the box.
sizespql.Vector3DBox dimensions along its local axes.
colorspql.Color?Color of the box.

spql.Color

Unit-interval RGBA color.

  • Stability: stable
  • Storage: struct { r, g, b, a }

Fields

NameTypeDescription
rf64Red channel in the unit interval.
gf64Green channel in the unit interval.
bf64Blue channel in the unit interval.
af64Alpha channel in the unit interval; zero is transparent.

spql.Cylinder3D

Posed cylinder or frustum.

  • Stability: experimental
  • Storage: struct { pose, size, top_scale, bottom_scale, color }

Fields

NameTypeDescription
posespql.Pose3DPosition and orientation of the cylinder.
sizespql.Vector3DCylinder dimensions along its local axes.
top_scalef64Scale factor for the top cap.
bottom_scalef64Scale factor for the bottom cap.
colorspql.Color?Color of the cylinder.

spql.Line3D

Posed three-dimensional line topology.

  • Stability: experimental
  • Storage: struct { pose, points, color, colors, indices, topology, thickness, scale_invariant }

Fields

NameTypeDescription
posespql.Pose3DPose that places the line points in the scene.
pointslist<spql.Position3D>Line vertices in local coordinates.
colorspql.Color?Shared color of the line.
colorslist<spql.Color>?Per-vertex colors aligned with points.
indiceslist<u32>?Vertex indices defining connectivity.
topologyutf8Connectivity description for the line vertices.
thicknessf64?Thickness of the line.
scale_invariantbool?Whether line thickness stays constant as the view scale changes.

spql.Mesh3D

Posed triangle mesh.

  • Stability: experimental
  • Storage: struct { pose, vertices, indices, color, colors }

Fields

NameTypeDescription
posespql.Pose3DPose that places the mesh in the scene.
verticeslist<spql.Position3D>Mesh vertices in local coordinates.
indiceslist<u32>?Vertex indices defining the mesh triangles.
colorspql.Color?Shared color of the mesh.
colorslist<spql.Color>?Per-vertex colors aligned with vertices.

spql.Model3D

Posed model asset reference or embedded payload.

  • Stability: experimental
  • Storage: struct { pose, scale, source, media_type, color, override_color }

Fields

NameTypeDescription
posespql.Pose3DPosition and orientation of the model.
scalespql.Vector3D?Scale along each local model axis.
sourcespql.Blob?Blob containing the model asset.
media_typeutf8?Media type of the model asset.
colorspql.Color?Color applied to the model.
override_colorbool?Whether the supplied color overrides model material colors.

spql.SceneEntity3D

Identified collection of three-dimensional primitives.

  • Stability: experimental
  • Storage: struct { id, frame_id, lifetime_ns, frame_locked, arrows, boxes, cylinders, spheres, lines, meshes, text, models, metadata }
  • Frame: frame_id field: the frame its primitives are posed in

Fields

NameTypeDescription
idutf8Identifier used to replace or delete this entity.
frame_idutf8Frame in which the entity primitives are posed.
lifetime_nsi64?Lifetime of the entity in nanoseconds, when supplied.
frame_lockedbool?Whether the entity remains attached to its frame as that frame moves.
arrowslist<spql.Arrow3D>?Arrow primitives belonging to the entity.
boxeslist<spql.Box3D>?Box primitives belonging to the entity.
cylinderslist<spql.Cylinder3D>?Cylinder primitives belonging to the entity.
sphereslist<spql.Sphere3D>?Ellipsoid primitives belonging to the entity.
lineslist<spql.Line3D>?Line primitives belonging to the entity.
mesheslist<spql.Mesh3D>?Mesh primitives belonging to the entity.
textlist<spql.Text3D>?Text primitives belonging to the entity.
modelslist<spql.Model3D>?Model primitives belonging to the entity.
metadatalist<spql.KeyValue>?Additional key-value attributes of the entity.

spql.SceneEntityDeletion

Deletion of one matching scene entity or all entities.

  • Stability: experimental
  • Storage: struct { id, all }

Fields

NameTypeDescription
idutf8?Identifier of the entity to delete when all is false.
allboolWhether the deletion targets every scene entity.

spql.SceneUpdate3D

Ordered additions, replacements, and deletions for a 3D scene.

  • Stability: experimental
  • Storage: struct { entities, deletions }

Fields

NameTypeDescription
entitieslist<spql.SceneEntity3D>?Entities to add or replace in the scene.
deletionslist<spql.SceneEntityDeletion>?Entity deletion operations for the scene update.

spql.Sphere3D

Posed ellipsoid.

  • Stability: experimental
  • Storage: struct { pose, size, color }

Fields

NameTypeDescription
posespql.Pose3DPosition and orientation of the ellipsoid.
sizespql.Vector3DEllipsoid dimensions along its local axes.
colorspql.Color?Color of the ellipsoid.

spql.Text3D

Posed three-dimensional text.

  • Stability: experimental
  • Storage: struct { pose, text, color, font_size, billboard, scale_invariant }

Fields

NameTypeDescription
posespql.Pose3DPosition and orientation of the text.
textutf8Text to display.
colorspql.Color?Text color.
font_sizef64?Size of the displayed text.
billboardbool?Whether the text faces the viewer.
scale_invariantbool?Whether text size stays constant as the view scale changes.

Logs

Type IDStabilitySummary
spql.LogEntryexperimentalOne structured log record.

spql.LogEntry

One structured log record.

  • Stability: experimental
  • Storage: struct { level, message, name, file, line }

Fields

NameTypeDescription
leveli32Severity code of the log record.
messageutf8Text of the log message.
nameutf8?Name of the logger or emitting component.
fileutf8?Source file associated with the record.
lineu32?Source line associated with the record.

Tensors

Type IDStabilitySummary
spql.TensorstableA dense tensor whose shape may differ from value to value, with optional dimension names, the permutation from logical to physical dimensions and the dimension sizes every value shares, as Arrow's canonical variable-shape tensor defines them.
vortex.tensor.fixed_shape_tensorA dense primitive tensor with the same logical shape for every value. Dimension names describe logical dimensions; permutation[i] gives the physical dimension for logical dimension i. Without a permutation, logical and physical order are identical.
vortex.tensor.vectorA fixed-length one-dimensional vector of non-nullable floating-point elements.

spql.Tensor

A dense tensor whose shape may differ from value to value, with optional dimension names, the permutation from logical to physical dimensions and the dimension sizes every value shares, as Arrow's canonical variable-shape tensor defines them.

  • Stability: stable
  • Storage: struct {data: list<E>, shape: fixed_size_list<i32, N>}, written spql.Tensor<E, N> in field types: the row-major samples of primitive type E and the sizes of the tensor's N dimensions. dim_names, permutation and uniform_shape, when present, have one entry per dimension.
  • Aliases: vortex.tensor.variable_shape_tensor
  • Arrow extension name: arrow.variable_shape_tensor

Type parameters

NameKindDescription
dim_nameslist<utf8>?
permutationlist<u32>?
uniform_shapelist<i32?>?

vortex.tensor.fixed_shape_tensor

A dense primitive tensor with the same logical shape for every value. Dimension names describe logical dimensions; permutation[i] gives the physical dimension for logical dimension i. Without a permutation, logical and physical order are identical.

  • Defined by: the Vortex file format
  • Storage: fixed_size_list<E, product(shape)>, where E is a non-nullable primitive element type. Optional names and permutation each have one entry per dimension.
  • Arrow extension name: arrow.fixed_shape_tensor

Type parameters

NameKindDescription
shapelist<u32>
dim_nameslist<utf8>?
permutationlist<u32>?

vortex.tensor.vector

A fixed-length one-dimensional vector of non-nullable floating-point elements.

  • Defined by: the Vortex file format
  • Storage: fixed_size_list<E, N>, where E is f16, f32 or f64 and N is the vector dimension. The element type and dimension come from the storage; there are no metadata parameters.

Vector Quantization

Type IDStabilitySummary
spql.RaBitQstableA vector quantized with RaBitQ for approximate distance estimation: sign codes and optional extra-bit codes of its coordinates after a deterministic rotation, with the per-row factors that correct the estimate.
vortex.turboquantstableA vector compressed with TurboQuant: split into blocks, each stored as its norm and the scalar-quantized coordinates of its unit direction after a structured random rotation. Lossy; spql.vector.dequantize decodes it.

spql.RaBitQ

A vector quantized with RaBitQ for approximate distance estimation: sign codes and optional extra-bit codes of its coordinates after a deterministic rotation, with the per-row factors that correct the estimate.

  • Stability: stable
  • Storage: struct {signs, extra_codes?, norm_sq, one_bit_scale, full_scale?, full_error_scale?, error_scale}: fixed_size_list<u8, code_dimensions> sign codes, extra-bit codes when num_bits is above 1, and per-row f32 or f64 correction factors, the multi-bit ones when num_bits is above 1.
  • Aliases: vortex.rabitq

Type parameters

NameKindDescription
dimensionsu32Dimensions of the original vectors, before zero padding.
code_dimensionsu32Dimensions of the rotated codes, dimensions rounded up to a multiple of 64.
num_bitsu8Bits per coordinate, including the sign bit, from 1 to 9.
seedu64Seed of the deterministic rotation.
rotationrabitq_rotationThe rotation contract, fht_kac_v1.

vortex.turboquant

A vector compressed with TurboQuant: split into blocks, each stored as its norm and the scalar-quantized coordinates of its unit direction after a structured random rotation. Lossy; spql.vector.dequantize decodes it.

  • Stability: stable
  • Defined by: the Vortex file format
  • Storage: struct {block_0: struct {norms: E, codes: fixed_size_list<u8, B0>}, ...}: one struct per entry of block_sizes, holding each row's norm of type element_ptype and one quantizer code per coordinate of the block.

Type parameters

NameKindDescription
element_ptypeptypeElement type of the original vectors and of the stored norms; f16, f32 or f64.
dimensionsu32Dimensions of the original vectors, before block decomposition.
bit_widthu8Bits per coordinate in the scalar quantizer's codebook, from 1 to 8.
seedu64Global seed from which each block's structured random rotation derives.
num_roundsu8Sign-diagonal and Walsh-Hadamard rounds in each block's rotation.
block_sizeslist<u32>Power-of-two block widths, in coordinate order, summing to at least dimensions.

Geospatial

Type IDStabilitySummary
vortex.st.boxExports to Arrow as geoarrow.box.
vortex.st.linestringExports to Arrow as geoarrow.linestring.
vortex.st.multilinestringExports to Arrow as geoarrow.multilinestring.
vortex.st.multipointExports to Arrow as geoarrow.multipoint.
vortex.st.multipolygonExports to Arrow as geoarrow.multipolygon.
vortex.st.pointExports to Arrow as geoarrow.point.
vortex.st.polygonExports to Arrow as geoarrow.polygon.
vortex.st.wkbExports to Arrow as geoarrow.wkb.

vortex.st.box

Exports to Arrow as geoarrow.box.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.box

vortex.st.linestring

Exports to Arrow as geoarrow.linestring.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.linestring

vortex.st.multilinestring

Exports to Arrow as geoarrow.multilinestring.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.multilinestring

vortex.st.multipoint

Exports to Arrow as geoarrow.multipoint.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.multipoint

vortex.st.multipolygon

Exports to Arrow as geoarrow.multipolygon.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.multipolygon

vortex.st.point

Exports to Arrow as geoarrow.point.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.point

vortex.st.polygon

Exports to Arrow as geoarrow.polygon.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.polygon

vortex.st.wkb

Exports to Arrow as geoarrow.wkb.

  • Defined by: the Vortex file format
  • Arrow extension name: geoarrow.wkb
Found a problem? Edit this page or report an issue.

On this page