e39445dd55
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>
3.5 KiB
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_pipelinesque compone las anteriores: genera unit file + install + enable + start + status. - Servicio systemd
sqlite_api.serviceinstalado y habilitado en aurgi-pc — arranque automático al iniciar WSL en127.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_diariopara añadir entradas. CHANGELOG.md(este archivo).- Submódulo
cpp/vendor/glfwre-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.dbahora está gitignorada. Es regenerable confn index+ completable confn sync. Evita conflictos entre ramas y PCs.sqlite_apiahora se distribuye como binario compilado (projects/fn_monitoring/apps/sqlite_api/sqlite_api) en lugar dego runal vuelo.
Fixed
http_client.cppdel 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 alImGuiStyleglobal.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_dashboardmigrado a los nuevos componentes:page_header_begin/enden el header,empty_stateen 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 desystemctlredirigido a stderr para no contaminar el JSON capturado por el pipeline..gitmodules: entry fantasmacpp/vendor/glfwcon path absoluto/home/lucas/...que bloqueabagit submodule statusy el cross-compile Windows.
Removed
- Integración de GitButler de Claude Code — binario
~/.local/bin/but, plugingitbutler-tools, skill.claude/skills/gitbutler/, hooks ensettings.json, ramasgitbutler/*+e-branch-*, estado interno.git/gitbutler/. Ver ADR 0001 para motivos.