← Jobs
success

build ant/term ↗

main @ 7a144b892f7557f3df7df5c20d86f73a89b22b58 · pipeline build #29 → · 2 more pipelines from this commit →
started 17 Sep 2026 08:38 UTC · ran for
3s, success 3s, success 3s, success 3s, success 12s, success 3s, success 3s, success 4s, success 3s, success 3s, success avg 4s ± 3s over the last 10 runs
fix: pin HarfBuzz's advance-query load flags to match cell_metrics hb_ft_font_create leaves HarfBuzz's own glyph-advance query on an internal default that isn't font.LOAD_DEFAULT. At some pixel sizes (font-dependent — reproduced with both the Nerd Font build in use and DejaVu Sans Mono, just at different sizes for each) that path returns each glyph's *unhinted* advance, while cell_metrics derives cell_w from face.size.metrics.max_advance, a *hinted* value — same font, same size, two disagreeing numbers. draw_shaped_run accumulates HarfBuzz's advance across a run but resets each new run's origin_x from the grid (start_col * cell_w), so the 1px-per-character gap only became visible at the next Row_Run_Key boundary (a color/style change) — read as "extra space before differently-styled text, growing the further right you look" rather than uniform drift, and vanishing entirely for plain single-color text where nothing ever resets against it. hb_ft_font_set_load_flags(font, font.LOAD_DEFAULT) makes HarfBuzz use the exact same hinted advance font.odin's own rasterize() already loads glyphs with, closing the gap between the two paths.
$ build success · exit 0 · raw
++ mktemp -d
+ checkout=/tmp/tmp.2rxSfbBfgQ
+ trap 'rm -rf "$checkout"' EXIT
+ cp -R /var/lib/ci-tron/sources/94a9d95059a7af3b/. /tmp/tmp.2rxSfbBfgQ
+ cd /tmp/tmp.2rxSfbBfgQ
+ nix develop --command odin build . -out:term
GC Warning: Could not open /proc/stat
+ rm -rf /tmp/tmp.2rxSfbBfgQ
Artifacts

no artifacts