- CMakeLists.txt - app.md - appicon.ico - main.cpp - perf_tests.cpp - perf_tests.h - qa_panel.cpp - qa_panel.h - qa_state.cpp - qa_state.h - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.0 KiB
name, lang, domain, version, description, tags, uses_functions, uses_modules, uses_types, framework, entry_point, dir_path, repo_url, icon
| name | lang | domain | version | description | tags | uses_functions | uses_modules | uses_types | framework | entry_point | dir_path | repo_url | icon | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tables_qa | cpp | tools | 0.1.0 | Testbed agresivo del modulo data_table — multi-tabla, menu QA toggleable, inyector eventos, counters live, version selector |
|
|
imgui | main.cpp | apps/tables_qa | https://gitea.organic-machine.com/dataforge/tables_qa |
|
tables_qa
Testbed agresivo del modulo data_table_cpp (v2.0.0+). Sustituye al tables_playground legacy (issue 0108).
Provee un panel de control QA con toggles, inyector de eventos, counters live y version selector para ejercer todas las capacidades del modulo en runtime.
Capacidades cubiertas
Cada tab demuestra UNA capacidad del modulo. Toda capacidad listada en docs/MODULES_API.md::Capability matrix consolidada tiene su tab.
| Tab | Capacidad |
|---|---|
basic |
Text default + sort + filter chips |
renderers |
1 columna por cada CellRenderer (Badge, Progress, Duration, Icon, Button, Dots, CategoricalChip, ColorScale) |
buttons |
Click events: Retry, Cancel, Inspect (consumido en events_out) |
color_rules |
ColorScale numerico + CategoricalChip configurado |
dots |
Status timeline sparkline |
joins |
2 tablas + JoinStrategy Left/Inner/Right/Full toggleable |
tql |
Pipeline TQL completo + Ask AI panel |
drill |
Drill-down stages con breadcrumb |
events |
Inyector de eventos via worker thread (RowDoubleClick, RowRightClick, ButtonClick) |
compat |
Version selector + side-by-side con downgrade |
Panel QA superior
Barra de control con:
- Toggles por feature (15+ checkboxes que mutan ColumnSpec en runtime).
- Inyector de eventos (4 botones que disparan TableEvents via worker).
- Counters live (
data_table::internal::*— pendiente implementar en modulo). - Version dropdown (2.0.0 / 1.5.0 compat / 1.4.0 compat).
- Boton "Run --self-test" (suite headless).
- Boton "Export golden" (regenera PNGs baseline).
Build
cd cpp && cmake --build build --target tables_qa -j
Run
./cpp/build/apps/tables_qa/tables_qa
Headless self-test
./cpp/build/apps/tables_qa/tables_qa --self-test
# Exit 0 = todas las capacidades verde
# Exit 1 = algun TableEvent no se emite o renderer crash
Relacion con tables_playground (deprecado)
apps/primitives_gallery/playground/tables/ queda como legacy archive post-0108. Su self_test.cpp (603 checks contra logica legacy) NO se reemplaza directo — los tests aplicables a logica pura del registry ya viven en cpp/tests/ (Catch2). Los tests aplicables a data_table::render viven aqui en tables_qa --self-test.
Capability growth log
Una linea por bump SemVer. Bump-type segun .claude/commands/version.md:
-
major: breaking observable (CLI args, schema BBDD propia, formato wire). -
minor: feature aditiva (nuevo panel, endpoint, opcion). -
patch: bugfix sin cambio observable. -
v0.1.0 (2026-05-18) — baseline.