flow/src
CJ van den Berg dfe97250db
feat(gui): M3 - TrueType rasterizer with fontconfig font discovery
Replace the M2 stub rasterizer with a real font rasterizer:

- build.zig.zon: add TrueType as a lazy path dependency
- build.zig: swap stub_rasterizer_mod for truetype_rasterizer_mod; link
  fontconfig + libc on Linux; TrueType dep is lazy (falls back gracefully)
- src/gui/rasterizer/truetype.zig: andrewrk/TrueType rasterizer; loadFont
  uses fontconfig to locate the font file, derives cell dimensions from
  vertical metrics (ascent−descent) and 'M' advance width; render blits the
  A8 glyph bitmap into the caller-provided staging buffer with correct
  baseline placement (ascent_px + off_y) and double-wide support (+cell_w
  x-offset for kind=.right); arena allocator per render call
- src/gui/rasterizer/font_finder.zig: OS dispatcher (Linux only for now)
- src/gui/rasterizer/font_finder/linux.zig: fontconfig C API - FcFontMatch
  resolves a font name pattern to an absolute file path

Requires: libfontconfig-dev  (already present alongside libgl-dev etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 19:21:54 +02:00
..
buffer fix: move reflow message to Editor.reflow 2026-02-18 16:11:52 +01:00
gui feat(gui): M3 - TrueType rasterizer with fontconfig font discovery 2026-03-29 19:21:54 +02:00
keybind fix: make ignore_alt_text_modifiers actually do what it says 2026-02-20 16:01:07 +01:00
renderer feat(gui): M2 - sokol_gfx GPU backend initialised from wio window 2026-03-29 19:04:52 +02:00
tui feat: add {{reflow_width}} expansion 2026-03-26 09:38:28 +01:00
win32 feat(gui): M1 shared core — extract src/gui/ and replace -Dgui with -Drenderer 2026-03-28 23:22:31 +01:00
bin_path.zig
color.zig
command.zig
completion.zig
config.zig Add auto_open_panel_for_diagnostics 2026-02-21 17:32:26 +01:00
diff.zig
diffz.zig refactor: adapt diffz module to Buffer text caching API 2026-02-02 21:34:31 +01:00
dizzy.zig
EventHandler.zig
file_link.zig
file_type_config.zig invert priorities in file type guess 2026-03-24 13:56:25 +01:00
file_type_lsp.zig feat: configure default markdown formatter to reflow at reflow_width 2026-03-26 09:39:06 +01:00
git.zig feat: change base path of git blame for subrepo support 2026-03-24 14:02:54 +01:00
gui_config.zig
list_languages.zig
location_history.zig
log.zig
LSP.zig
lsp_config.zig
lsp_types.zig
main.zig
Project.zig fix: avoid dangling Project pointer crash in LSP and git handlers 2026-03-23 13:09:19 +01:00
project_manager.zig fix: avoid dangling Project pointer crash in LSP and git handlers 2026-03-23 13:09:19 +01:00
ripgrep.zig
service_template.zig
shell.zig fix: do not log EOL CR chars in shell module log handlers 2026-02-12 10:37:42 +01:00
snippet.zig
soft_root.zig
text_manip.zig
time_fmt.zig refactor: make time_fmt.age_short shorter (like tig) 2026-02-16 21:41:05 +01:00
tracy_noop.zig
TypedInt.zig
VcsBlame.zig
VcsStatus.zig
walk_tree.zig refactor: add maximum_symlink_depth and log_ignored_links options to walk_tree 2026-02-11 14:51:30 +01:00