egutierrez
b341d5d9ad
feat(viz): agent_runs_timeline helpers — pure filter/sort/format
Issue 0118.
Pure helpers in fn_viz::timeline namespace, free of ImGui:
- passes_filter / filter_and_sort (multi-select app + status + since_ts)
- format_duration (running | Ns | MmSSs | HhMMm | —)
- status_color_token / status_icon_id (status → fn_tokens index / TI_*)
- app_chip_hex (app id → accent hex, fallback gray)
Designed for unit-test isolation. Render layer (separate commit) consumes
these via agent_runs_timeline.h.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 18:31:17 +02:00
..
2026-05-18 18:31:17 +02:00
2026-05-18 18:31:17 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 20:59:51 +02:00
2026-04-28 23:44:55 +02:00
2026-04-28 23:38:51 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:52:43 +02:00
2026-04-25 21:52:43 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:52:48 +02:00
2026-04-25 21:52:48 +02:00
2026-05-14 00:28:20 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-29 23:29:16 +02:00
2026-04-29 23:29:16 +02:00
2026-04-29 23:29:16 +02:00
2026-04-29 23:42:31 +02:00
2026-04-29 23:42:31 +02:00
2026-04-29 22:44:40 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:53:32 +02:00
2026-05-04 11:51:10 +02:00
2026-04-29 23:53:32 +02:00
2026-04-29 23:53:32 +02:00
2026-05-04 11:51:10 +02:00
2026-04-29 23:42:31 +02:00
2026-04-29 23:42:31 +02:00
2026-04-29 23:42:31 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:12:31 +02:00
2026-04-29 23:12:31 +02:00
2026-04-29 23:12:31 +02:00
2026-04-29 22:44:40 +02:00
2026-04-29 22:44:40 +02:00
2026-05-04 11:51:10 +02:00
2026-04-29 23:42:31 +02:00
2026-05-04 11:51:10 +02:00
2026-05-04 11:51:10 +02:00
2026-04-29 23:42:31 +02:00
2026-05-04 11:51:10 +02:00
2026-04-06 23:46:36 +02:00
2026-04-06 23:46:36 +02:00
2026-04-28 23:40:51 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 21:31:00 +02:00
2026-05-14 00:28:20 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-04-25 21:51:22 +02:00
2026-04-25 21:51:22 +02:00
2026-05-14 00:28:20 +02:00
2026-04-28 23:38:51 +02:00
2026-04-24 21:31:00 +02:00
2026-04-28 23:44:55 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 21:31:00 +02:00
2026-04-25 21:52:37 +02:00
2026-04-25 21:52:37 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:48:43 +02:00
2026-04-25 21:48:43 +02:00
2026-05-14 00:28:20 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 21:31:00 +02:00
2026-04-28 23:40:37 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-05-18 18:17:08 +02:00
2026-04-25 21:48:43 +02:00
2026-04-25 21:48:43 +02:00
2026-05-14 00:28:20 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-04-28 23:44:55 +02:00
2026-04-25 21:52:33 +02:00
2026-04-25 21:52:33 +02:00
2026-05-14 00:28:20 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-04-25 21:52:52 +02:00
2026-04-25 21:52:52 +02:00
2026-05-14 00:28:20 +02:00