chore: auto-commit (4 archivos)

- app.md
- appicon.ico
- playground/tables/data_table_logic.h
- playground/tables/DEPRECATED.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-19 00:31:32 +02:00
parent c1790f2141
commit 61d21cc1ff
4 changed files with 55 additions and 24 deletions
+11
View File
@@ -2,6 +2,7 @@
name: primitives_gallery
lang: cpp
domain: gfx
version: 0.1.0
description: "Visual catalog de primitivas C++ UI del fn_registry. Demos por categoria (charts, controls, layout, gl_info). Soporta modo --capture para regresion visual."
tags: [imgui, gallery, gfx, demo, capture]
uses_functions: []
@@ -38,3 +39,13 @@ Renderiza cada demo offscreen y guarda PNGs en `<out_dir>/`. Permite gate visual
- `auto_dockspace = false` — usa `fullscreen_window` que ocupa todo el viewport.
- `init_gl_loader = true` — necesario para demos de OpenGL 4.3 core (compute, SSBOs).
## 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.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 13 KiB

+41
View File
@@ -0,0 +1,41 @@
# DEPRECATED — tables_playground
Esta carpeta queda como **archivo historico** post issue 0108 (2026-05-17).
## Sustituido por
`apps/tables_qa/` — testbed agresivo del modulo `fn_module_data_table` v2.0.0+. Usa la API publica del modulo en vez de re-implementar la logica localmente.
## Por que se deprecó
El playground compila sus propias copias de:
- `data_table.cpp` (4777 LOC pre-0107c)
- `data_table_logic.cpp`
- `tql.cpp` / `tql_to_sql.cpp`
- `lua_engine.cpp` / `llm_anthropic.cpp` / `viz.cpp`
Estas versiones son LEGACY — la fuente de verdad ahora es el modulo `modules/data_table/` + sub-funciones del registry en `cpp/functions/viz/data_table_*.cpp`. Mantener ambos paralelos = drift inevitable.
## Tests legacy (430 checks)
`self_test.cpp` ejerce parsers, comparators, TQL, Lua, SQL transpile. Su cobertura va a:
- **Logica pura del registry** → `cpp/tests/` (Catch2). Hoy ya cubre `compute_column_stats`, `auto_detect_type`, `sql_parse`, etc.
- **Render UI del modulo** → `apps/tables_qa/main.cpp --self-test` (fase 2 del issue 0108, con `imgui_test_engine`).
## Si necesitas revivir el playground
Edita `cpp/CMakeLists.txt` y descomenta:
```cmake
if(EXISTS ${_PG_DIR}/playground/tables/CMakeLists.txt)
add_subdirectory(${_PG_DIR}/playground/tables
${CMAKE_BINARY_DIR}/apps/primitives_gallery/playground/tables)
endif()
```
Y rebuild. Pero ese codigo NO se mantiene activamente — usa `tables_qa` en su lugar.
## Eliminacion definitiva
Cuando `tables_qa` cubra todas las capacidades del playground (fase 2 del issue 0108) y se considere estable: `rm -rf apps/primitives_gallery/playground/tables/`.
+3 -24
View File
@@ -177,30 +177,9 @@ std::string build_csv(const char* const* cells, int rows, int cols,
const std::vector<int>& visible_rows);
// ----------------------------------------------------------------------------
// Column statistics (no movido todavia al registry).
// Column statistics — desde v1.5.0, ColStats + HIST_BINS + compute_column_stats
// viven en core/compute_column_stats.h (transitivamente via data_table_types.h).
// El playground los reutiliza directo, sin redefinir.
// ----------------------------------------------------------------------------
struct ColStats {
int total = 0;
int empty_count = 0;
int unique_count = 0;
bool unique_capped = false;
bool numeric = false;
int numeric_count = 0;
double min = 0;
double max = 0;
double sum = 0;
double mean = 0;
double p25 = 0;
double p50 = 0;
double p75 = 0;
std::vector<float> hist;
std::vector<std::pair<std::string,int>> top_categories;
};
constexpr int HIST_BINS = 24;
ColStats compute_column_stats(const char* const* cells, int rows, int cols,
int col, int unique_cap = 100000,
const int* indices = nullptr, int n_indices = 0);
} // namespace data_table