build_binned_facet_label_expr builds its strip labels as a Vega expression comparing datum.value against a midpoint string produced by calculate_midpoint_string (src/writer/vegalite/mod.rs:879). For the temporal arms — Date, DateTime, Time — that midpoint is emitted as a quoted ISO string ('1973-06-25T00:00:00'), which never equals the serialized facet column value at runtime. No condition ever fires, so the strips fall through to datum.value and show raw values instead of the bin range.
The hephaestus writer computes the same labels from typed values (scales::bin_at_centre, joining the column's bin centre back to its bin) and is correct — that is the behaviour to match.
build_binned_facet_label_exprbuilds its strip labels as a Vega expression comparingdatum.valueagainst a midpoint string produced bycalculate_midpoint_string(src/writer/vegalite/mod.rs:879). For the temporal arms —Date,DateTime,Time— that midpoint is emitted as a quoted ISO string ('1973-06-25T00:00:00'), which never equals the serialized facet column value at runtime. No condition ever fires, so the strips fall through todatum.valueand show raw values instead of the bin range.The hephaestus writer computes the same labels from typed values (
scales::bin_at_centre, joining the column's bin centre back to its bin) and is correct — that is the behaviour to match.