#pragma once // tabs.h — entry points de cada tab del testbed. // // Cada tab vive en SU PROPIO `tab_.cpp`. main.cpp solo orquesta tab bar. // Mismo namespace `tables_qa::tabs` para minimizar collisions. namespace tables_qa::tabs { // Implementadas (fase 1) void render_basic(); void render_renderers(); // Fase 2 — una funcion por tab. Cada agente fn-constructor implementa SU // funcion en `tab_.cpp` siguiendo el patron de tab_basic.cpp y // tab_renderers.cpp. NO comparten estado entre si: cada uno su TabState // estatico local + sus chips/badges/event handlers. void render_buttons(); // CellRenderer::Button + events Retry/Cancel/Inspect void render_color_rules(); // ColorScale numerico + CategoricalChip runtime void render_dots(); // CellRenderer::Dots — status timeline void render_joins(); // 2 tablas + JoinStrategy Left/Inner/Right/Full void render_tql(); // TQL pipeline + Ask AI void render_drill(); // Drill stages + breadcrumb void render_events(); // Inyector via worker thread (modelo altsnap) void render_compat(); // Version selector + side-by-side downgrade } // namespace tables_qa::tabs