feat(cpp/core): design tokens + primitivos UI para dashboards ImGui
Trasladar principios del DESIGN_SYSTEM.md de @fn_library (Mantine/React)
al mundo C++/ImGui sin añadir deps externas:
cpp/functions/core/
tokens — colors/spacing/radius/font_size como constexpr +
apply_dark_theme() al ImGuiStyle global. Dark + indigo
primary (Mantine-inspired).
badge — etiqueta inline 6 variantes (Default/Success/Warning/
Error/Info/Outline). <Badge> de @fn_library en C++.
empty_state — placeholder centrado para tablas/listas vacías.
page_header — header con title + subtitle + separator + hueco
para acciones (patrón begin/end).
Scope limitado (KISS) a fases 1-2 del plan: tokens + 3 primitivos.
No se duplica dashboard_panel con un "card" — el existente ya cumple
el rol. Fases 3-5 (charts ImPlot line/area, app_shell con navbar,
toast/alert) quedan fuera hasta que el dashboard crezca en alcance.
Resultado:
- 869 funciones (+4) en registry.db.
- Dashboard con header homogéneo y empty states en todas las tablas.
- Sin hardcode de ImVec4 disperso en views.cpp.
Diary + CHANGELOG actualizados.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -61,3 +61,19 @@ El `.exe` del escritorio abría una ventana de consola negra al lanzarlo (mingw
|
||||
- Hecho: `WIN32_EXECUTABLE TRUE` en el `CMakeLists.txt` del target `registry_dashboard` → mingw pasa `-mwindows` (subsystem:windows).
|
||||
- Hecho: rebuild Windows + copy al Desktop reemplazando el anterior (hash `e361387f...`).
|
||||
- Commit en subrepo del dashboard.
|
||||
|
||||
## 14:50 — Design system C++ (fases 1 y 2)
|
||||
|
||||
Trasladar principios del DESIGN_SYSTEM.md de `@fn_library` (Mantine/React) al dashboard ImGui sin añadir deps externas.
|
||||
|
||||
- Hecho: `cpp/functions/core/tokens.{h,cpp,md}` — namespace `fn_tokens` con `colors`, `spacing`, `radius`, `font_size` (constexpr) + `apply_dark_theme()` que aplica los tokens al `ImGuiStyle` global. Paleta dark + indigo primary (Mantine-inspired).
|
||||
- Hecho: `cpp/functions/core/badge.{h,cpp,md}` — etiqueta inline con 6 variantes (Default/Success/Warning/Error/Info/Outline). Equivalente a `<Badge>` de `@fn_library`.
|
||||
- Hecho: `cpp/functions/core/empty_state.{h,cpp,md}` — placeholder centrado para tablas vacías.
|
||||
- Hecho: `cpp/functions/core/page_header.{h,cpp,md}` — header con título/subtítulo + hueco para acciones + separator (patrón begin/end).
|
||||
- Hecho: migrado `views.cpp` para usar `page_header_begin/end` en lugar de `Text + Separator + Button` manual; `empty_state` en las 4 tablas cuando están vacías; `apply_dark_theme` al primer frame.
|
||||
- Hecho: `CMakeLists.txt` del dashboard añade los 4 nuevos .cpp.
|
||||
- Hecho: build Linux (OK) + Windows (OK, hash `772b0aef...`), copiado a Desktop.
|
||||
- Hecho: `fn index` pasa de 865 → 869 funciones.
|
||||
- Fix yaml en `tokens.md`: `params:` con item `- name: -` rompía el parser YAML (el `-` colisionaba con el array marker). Cambiado a `params: []`.
|
||||
|
||||
**Scope respetado (KISS)**: sólo fases 1+2 del plan propuesto — no se crearon card ni line_chart ni app_shell ni sistema de toast. Se mantiene `dashboard_panel` existente en vez de duplicar con un `card`.
|
||||
|
||||
Reference in New Issue
Block a user