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>
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
---
|
||||
name: tables_qa
|
||||
lang: cpp
|
||||
domain: tools
|
||||
version: 0.1.0
|
||||
description: "Testbed agresivo del modulo data_table — multi-tabla, menu QA toggleable, inyector eventos, counters live, version selector"
|
||||
tags: [imgui, dashboard, qa, testing, data-table, regression]
|
||||
uses_functions: []
|
||||
uses_modules:
|
||||
- data_table_cpp
|
||||
uses_types: []
|
||||
framework: "imgui"
|
||||
entry_point: "main.cpp"
|
||||
dir_path: "apps/tables_qa"
|
||||
repo_url: "https://gitea.organic-machine.com/dataforge/tables_qa"
|
||||
icon:
|
||||
phosphor: "test-tube"
|
||||
accent: "#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
|
||||
|
||||
```bash
|
||||
cd cpp && cmake --build build --target tables_qa -j
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
```bash
|
||||
./cpp/build/apps/tables_qa/tables_qa
|
||||
```
|
||||
|
||||
## Headless self-test
|
||||
|
||||
```bash
|
||||
./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.
|
||||
Reference in New Issue
Block a user