diff --git a/app.md b/app.md index a079fc0..876bd9f 100644 --- a/app.md +++ b/app.md @@ -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 `/`. 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. diff --git a/appicon.ico b/appicon.ico index e9bdbfe..44161ec 100644 Binary files a/appicon.ico and b/appicon.ico differ diff --git a/playground/tables/DEPRECATED.md b/playground/tables/DEPRECATED.md new file mode 100644 index 0000000..1a3f9db --- /dev/null +++ b/playground/tables/DEPRECATED.md @@ -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/`. diff --git a/playground/tables/data_table_logic.h b/playground/tables/data_table_logic.h index 8ab4b06..c7acd06 100644 --- a/playground/tables/data_table_logic.h +++ b/playground/tables/data_table_logic.h @@ -177,30 +177,9 @@ std::string build_csv(const char* const* cells, int rows, int cols, const std::vector& 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 hist; - std::vector> 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