From 0e27401e0332edb04d97d3620c62b67fa91bbaa4 Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Tue, 28 Apr 2026 23:41:19 +0200 Subject: [PATCH] docs: cerrar issue 0042 --- .../0042-cpp-layout-storage-public.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 dev/issues/completed/0042-cpp-layout-storage-public.md diff --git a/dev/issues/completed/0042-cpp-layout-storage-public.md b/dev/issues/completed/0042-cpp-layout-storage-public.md new file mode 100644 index 00000000..1847f754 --- /dev/null +++ b/dev/issues/completed/0042-cpp-layout-storage-public.md @@ -0,0 +1,27 @@ +--- +id: "0042" +title: "C++ layout_storage: extraer y publicar como API reutilizable" +status: completed +created_at: 2026-04-28 +tags: [cpp, ui, refactor, layouts, sqlite] +--- + +# 0042 — C++ layout_storage: extraer y publicar como API reutilizable + +## Objetivo + +Extraer la persistencia de layouts ImGui (privada en `shaders_lab/main.cpp`) +a una funcion publica del registry: `layout_storage_cpp_core`. Cualquier app +puede pasarla a `app_menubar` via `LayoutCallbacks` con un solo setup. + +## Resultado + +- Nueva funcion publica `cpp/functions/core/layout_storage.{h,cpp,md}` con + handle opaco `LayoutStorage*` y helper `layout_storage_make_callbacks` que + rellena un `LayoutCallbacks` listo para `app_menubar`. +- Tabla SQLite `imgui_layouts(name, ini, updated_at)` creada con + `CREATE TABLE IF NOT EXISTS` para no chocar con tablas pre-existentes. +- `shaders_lab` migrado a la nueva API. La capa low-level + `layout_storage_sqlite` se deja intacta para casos que comparten conexion. +- `fn_framework` ahora enlaza `SQLite::SQLite3` para que cualquier app que + use el framework tenga acceso a `layout_storage` sin trabajo extra.