Files
fn_registry/CHANGELOG.md
T
egutierrez fda89ca3ba 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>
2026-04-24 14:52:09 +02:00

3.5 KiB

Changelog

Todos los cambios notables de fn_registry se documentan aquí.

Formato basado en Keep a Changelog. Al no haber releases semver formales, las entradas se ordenan por fecha.

Para contexto detallado del trabajo diario ver docs/diary/. Para decisiones arquitecturales ver docs/adr/.

[Unreleased]

2026-04-24

Added

  • 6 funciones bash/infra/systemd_local_* (install_unit, enable, start, restart, status, uninstall) para gestionar servicios systemd del sistema desde el registry (complementa las versiones remotas SSH ya existentes).
  • Pipeline install_systemd_service_bash_pipelines que compone las anteriores: genera unit file + install + enable + start + status.
  • Servicio systemd sqlite_api.service instalado y habilitado en aurgi-pc — arranque automático al iniciar WSL en 127.0.0.1:8484.
  • projects/fn_monitoring/launcher.sh — launcher del dashboard (arranca API si no está + lanza ventana + cleanup).
  • Regla .claude/rules/kiss.md — filosofía KISS para proyectos y apps.
  • Documentación ADR en docs/adr/ con plantilla y ADR 0001 (experimento GitButler).
  • Diario en docs/diary/ + slash command /entrada_diario para añadir entradas.
  • CHANGELOG.md (este archivo).
  • Submódulo cpp/vendor/glfw re-registrado con path limpio (antes heredado con path absoluto /home/lucas/...).
  • aurgi-pc registrado en el server centralizado (registry.organic-machine.com) con 18 pc_locations.

Changed

  • registry.db ahora está gitignorada. Es regenerable con fn index + completable con fn sync. Evita conflictos entre ramas y PCs.
  • sqlite_api ahora se distribuye como binario compilado (projects/fn_monitoring/apps/sqlite_api/sqlite_api) en lugar de go run al vuelo.

Fixed

  • http_client.cpp del dashboard: añadido #include <cstdint> requerido por mingw-w64 para cross-compile Windows (g++ Linux lo incluía transitivamente).
  • registry_dashboard.exe (Windows) ya no abre ventana de consola al lanzarse — enlazado como GUI app (WIN32_EXECUTABLE TRUE / -mwindows).

Added (design system C++)

  • cpp/functions/core/tokens — design tokens para dashboards ImGui (colors, spacing, radius, font_size) inspirados en @fn_library (Mantine v9). Paleta dark + indigo primary. apply_dark_theme() aplica los tokens al ImGuiStyle global.
  • cpp/functions/core/badge — etiqueta inline con 6 variantes (Default/Success/Warning/Error/Info/Outline). Equivalente a <Badge> de @fn_library.
  • cpp/functions/core/empty_state — placeholder centrado para tablas/listas vacías.
  • cpp/functions/core/page_header — header de página con título/subtítulo + hueco para acciones + separator.
  • registry_dashboard migrado a los nuevos componentes: page_header_begin/end en el header, empty_state en las 4 tablas cuando están vacías, apply_dark_theme() al primer frame. Sin hardcode de colores disperso.
  • systemd_local_{enable,start,restart}: stdout de systemctl redirigido a stderr para no contaminar el JSON capturado por el pipeline.
  • .gitmodules: entry fantasma cpp/vendor/glfw con path absoluto /home/lucas/... que bloqueaba git submodule status y el cross-compile Windows.

Removed

  • Integración de GitButler de Claude Code — binario ~/.local/bin/but, plugin gitbutler-tools, skill .claude/skills/gitbutler/, hooks en settings.json, ramas gitbutler/* + e-branch-*, estado interno .git/gitbutler/. Ver ADR 0001 para motivos.