Files
tables_qa/app.md
T
egutierrez b15106fc09 chore: auto-commit (23 archivos)
- 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>
2026-05-19 00:31:32 +02:00

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
dashboard
qa
testing
data-table
regression
data_table_cpp
imgui main.cpp apps/tables_qa https://gitea.organic-machine.com/dataforge/tables_qa
phosphor accent
test-tube #f59e0b

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.