Repository navigation
Release 1.4.0: new encoder
⚠️ New default wire format: V6
Encoders now write V6 and refine resolutions to the data by default. Decoders from 1.3.1 and earlier cannot read V6 (they report Unsupported encoding version. Current is:5, got: 6). Update every reader, including the Foxglove extension, or keep writing V5:
cloudini_rosbag_converter --encoding-version 5- topic converter:
-p encoding_version:=5 - point_cloud_transport plugin:
cloudini_encoding_version: 5 - C++:
EncodingInfo::version = 5
Highlights
- V6 predicts x, y, z per chunk (previous point, point K back, LOCO-I median, second order), skips no-return points with a validity mask, and gives each other float field its own stream. With ZSTD, the median output is 13% smaller than V5 across 13 LiDAR/depth datasets.
- Resolution refinement: integer-valued floats such as intensity are stored at resolution 1, with the same error bound. On a 2.8 GB warehouse bag, 1.4.0 output is 24% smaller than 1.3.1 and decodes 1.75x faster.
- Faster decoding of V4, V5 and V6.
PointcloudEncoderCache: one encoder per stream (rosbag converter, topic converter, point_cloud_transport plugin).- Fixes: hardened decoding of corrupted input; packed rgb/rgba fields are kept lossless; header resolutions are parsed independently of the locale.
- Decoders that receive a newer format now ask the user to update Cloudini.
Assets
cloudini_rosbag_converter-1.4.0-x86_64.AppImage: standalone MCAP convertercloudini.foxglove-cloudini-converter-1.4.0.foxe: Foxglove extension (decodes V4–V6)cloudini-wasm-1.4.0.zip: WebAssembly build
Full changelog: cloudini_lib/CHANGELOG.rst