Decoder side of RBCF. Reverses what encode/ does: parses the frame header, walks the per-column headers,
reads the encoding tag and dispatches to the matching reader, and reconstructs a typed Frame. Decoding is
defensive - malformed payloads return a typed DecodeError rather than panicking, since payloads can come from
untrusted peers.
Encoder side of RBCF. Takes a Frame of typed columns and lays them out into the binary wire format - frame
header, per-column header, optional none-bitmap, encoded value bytes - selecting an encoding per column based
on the heuristics in heuristics.rs. The fixed and varlen submodules handle the two width regimes the values
split into.
Per-column wire encodings: plain, dictionary, run-length, and delta. Each encoding has a stable tag in the RBCF
header so the decoder can pick the right reader without out-of-band coordination. New encodings need a new tag
and a coordinated update on every peer that might receive the resulting payload.