From 958189227d712ebe6d429a8a1b91e8e8793dc6cf Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Tue, 28 Apr 2026 23:40:51 +0200 Subject: [PATCH] chore(registry): notes en huerfanas usadas por framework/apps Auditoria del issue 0044: anota en notes: el contexto de consumo de huerfanos que no pueden registrarse en uses_functions porque sus consumidores no son funciones del registry: - consumido por cpp/framework/app_base.cpp (framework no indexado) - consumido por cpp/apps/{shaders_lab,chart_demo,text_editor_smoke}/main.cpp - scaffolding/demo en primitives_gallery 31 huerfanas anotadas. Las que quedan en uses_functions=[] tras esto son hojas legitimas (no llaman a nada) o realmente sin uso (lista DEAD reportada en el issue 0044). Co-Authored-By: Claude Opus 4.7 (1M context) --- cpp/functions/core/app_about.md | 1 + cpp/functions/core/app_settings.md | 1 + cpp/functions/core/dashboard_panel.md | 1 + cpp/functions/core/file_watcher.md | 1 + cpp/functions/core/fps_overlay.md | 1 + cpp/functions/core/fullscreen_window.md | 1 + cpp/functions/core/layout_storage_sqlite.md | 1 + cpp/functions/core/layouts_menu.md | 1 + cpp/functions/core/orbit_camera.md | 1 + cpp/functions/core/panel_menu.md | 1 + cpp/functions/core/text_editor.md | 1 + cpp/functions/core/tokens.md | 1 + cpp/functions/core/tween_curves.md | 1 + cpp/functions/gfx/dag_catalog.md | 1 + cpp/functions/gfx/gl_loader.md | 1 + cpp/functions/gfx/mesh_obj_load.md | 1 + cpp/functions/gfx/shaderlab_db.md | 1 + cpp/functions/gfx/uniform_parser.md | 1 + cpp/functions/viz/candlestick.md | 1 + cpp/functions/viz/chord.md | 1 + cpp/functions/viz/contour.md | 1 + cpp/functions/viz/gauge.md | 1 + cpp/functions/viz/graph_force_layout.md | 1 + cpp/functions/viz/heatmap.md | 1 + cpp/functions/viz/sankey.md | 1 + cpp/functions/viz/scatter_3d.md | 1 + cpp/functions/viz/sparkline.md | 1 + cpp/functions/viz/surface_plot_3d.md | 1 + cpp/functions/viz/table_view.md | 1 + cpp/functions/viz/treemap.md | 1 + cpp/functions/viz/voronoi.md | 1 + 31 files changed, 31 insertions(+) diff --git a/cpp/functions/core/app_about.md b/cpp/functions/core/app_about.md index fb7b991f..091fa3a5 100644 --- a/cpp/functions/core/app_about.md +++ b/cpp/functions/core/app_about.md @@ -29,6 +29,7 @@ params: - name: label desc: "Texto del MenuItem en la menubar (default 'About...')" output: "about_window_set_info muta el estado global del modulo. about_window_render es no-op si la ventana esta cerrada. about_window_menu_item retorna true si el usuario clico" +notes: "consumido por cpp/framework/app_base.cpp" --- # app_about diff --git a/cpp/functions/core/app_settings.md b/cpp/functions/core/app_settings.md index bcec249e..f05f3faf 100644 --- a/cpp/functions/core/app_settings.md +++ b/cpp/functions/core/app_settings.md @@ -29,6 +29,7 @@ params: - name: label desc: "Texto del MenuItem en la menubar (default 'Settings...')" output: "settings() devuelve referencia mutable al estado vivo. settings_window_render() es no-op si la ventana esta cerrada. add_section es idempotente por id" +notes: "consumido por cpp/framework/app_base.cpp" --- # app_settings diff --git a/cpp/functions/core/dashboard_panel.md b/cpp/functions/core/dashboard_panel.md index 1e3d4373..c3f4abbd 100644 --- a/cpp/functions/core/dashboard_panel.md +++ b/cpp/functions/core/dashboard_panel.md @@ -27,6 +27,7 @@ params: - name: min_height desc: "Alto minimo del panel en pixels (0 = sin restriccion)" output: "true si el panel es visible y se debe renderizar contenido; llamar siempre dashboard_panel_end() independientemente del valor de retorno" +notes: "scaffolding/demo en primitives_gallery" --- # dashboard_panel diff --git a/cpp/functions/core/file_watcher.md b/cpp/functions/core/file_watcher.md index 11deb877..517b38e4 100644 --- a/cpp/functions/core/file_watcher.md +++ b/cpp/functions/core/file_watcher.md @@ -20,6 +20,7 @@ test_file_path: "" file_path: "cpp/functions/core/file_watcher.cpp" params: [] output: "FileWatcher opaco con cola interna de eventos. poll() devuelve std::vector con {path, kind in {Modified, Created, Deleted}}. Errores acumulados en last_error()." +notes: "consumido por cpp/apps/text_editor_smoke/main.cpp; scaffolding/demo en primitives_gallery" --- # file_watcher diff --git a/cpp/functions/core/fps_overlay.md b/cpp/functions/core/fps_overlay.md index 3ec9c16d..601a23c1 100644 --- a/cpp/functions/core/fps_overlay.md +++ b/cpp/functions/core/fps_overlay.md @@ -21,6 +21,7 @@ file_path: "cpp/functions/core/fps_overlay.cpp" framework: imgui params: [] output: "Renderiza el overlay de FPS en el frame ImGui actual" +notes: "consumido por cpp/framework/app_base.cpp" --- # fps_overlay diff --git a/cpp/functions/core/fullscreen_window.md b/cpp/functions/core/fullscreen_window.md index ecdda5d9..f517b67e 100644 --- a/cpp/functions/core/fullscreen_window.md +++ b/cpp/functions/core/fullscreen_window.md @@ -23,6 +23,7 @@ params: - name: id desc: "Identificador ImGui de la ventana, default ##fullscreen (el prefijo ## oculta el texto del titulo)" output: "true si la ventana es visible (siempre true en fullscreen); llamar siempre fullscreen_window_end() independientemente del valor de retorno" +notes: "scaffolding/demo en primitives_gallery" --- # fullscreen_window diff --git a/cpp/functions/core/layout_storage_sqlite.md b/cpp/functions/core/layout_storage_sqlite.md index 89de5b4f..f0bf69f8 100644 --- a/cpp/functions/core/layout_storage_sqlite.md +++ b/cpp/functions/core/layout_storage_sqlite.md @@ -26,6 +26,7 @@ params: - name: blob desc: "Contenido INI serializado con ImGui::SaveIniSettingsToMemory." output: "Las funciones bool retornan true en exito, false en error SQLite. load_blob retorna string vacia si el layout no existe o hay error. list retorna vector vacio en error. Ningun error se propaga como excepcion." +notes: "consumido por cpp/apps/shaders_lab/main.cpp" --- # layout_storage_sqlite diff --git a/cpp/functions/core/layouts_menu.md b/cpp/functions/core/layouts_menu.md index 5fbb1f8b..384e8e45 100644 --- a/cpp/functions/core/layouts_menu.md +++ b/cpp/functions/core/layouts_menu.md @@ -25,6 +25,7 @@ params: - name: cb desc: "LayoutCallbacks con los cinco hooks (list, on_apply, on_save, on_delete, on_reset) y el campo active_name para marcar el layout activo. Callbacks nulos se saltan silenciosamente." output: "true si el usuario disparo alguna accion (aplicar layout, guardar, borrar o reset) en este frame." +notes: "consumido por cpp/apps/shaders_lab/main.cpp" --- # layouts_menu diff --git a/cpp/functions/core/orbit_camera.md b/cpp/functions/core/orbit_camera.md index c7f59aa0..8288c694 100644 --- a/cpp/functions/core/orbit_camera.md +++ b/cpp/functions/core/orbit_camera.md @@ -27,6 +27,7 @@ params: - name: wheel desc: "Float scroll wheel (Imgui::GetIO().MouseWheel). distance *= (1 - wheel*0.1), clamp >0.1" output: "orbit_camera_matrices: CameraMatrices con view (lookAt eye→origin, up=Y) y proj (perspective). Ambas row-major; al pasar a glUniformMatrix4fv usar transpose=GL_TRUE. orbit_camera_handle_drag: muta cam in-place, sin allocacion." +notes: "scaffolding/demo en primitives_gallery" --- # orbit_camera diff --git a/cpp/functions/core/panel_menu.md b/cpp/functions/core/panel_menu.md index ca59de2c..48ff10c1 100644 --- a/cpp/functions/core/panel_menu.md +++ b/cpp/functions/core/panel_menu.md @@ -27,6 +27,7 @@ params: - name: count desc: "Numero de elementos en items." output: "true si el usuario togglo algun panel este frame; false si no hubo cambios o si la MainMenuBar no se abrio (solo para panel_menu)." +notes: "consumido por cpp/apps/shaders_lab/main.cpp" --- # panel_menu diff --git a/cpp/functions/core/text_editor.md b/cpp/functions/core/text_editor.md index 3f620fa0..25a35df5 100644 --- a/cpp/functions/core/text_editor.md +++ b/cpp/functions/core/text_editor.md @@ -24,6 +24,7 @@ source_license: "MIT" source_file: "TextEditor.h, TextEditor.cpp" params: [] output: "TextEditorState opaco — encapsula el editor del vendor + buffer de texto cacheado + flag dirty. Render devuelve true cuando el contenido cambio en el frame actual." +notes: "consumido por cpp/apps/text_editor_smoke/main.cpp; scaffolding/demo en primitives_gallery" --- # text_editor diff --git a/cpp/functions/core/tokens.md b/cpp/functions/core/tokens.md index e37c6b4a..4acb8619 100644 --- a/cpp/functions/core/tokens.md +++ b/cpp/functions/core/tokens.md @@ -21,6 +21,7 @@ file_path: "cpp/functions/core/tokens.cpp" framework: imgui params: [] output: "Tokens constexpr accesibles como fn_tokens::colors::*, spacing::*, radius::*, font_size::*. apply_dark_theme() aplica los tokens al ImGuiStyle global." +notes: "consumido por cpp/framework/app_base.cpp; scaffolding/demo en primitives_gallery" --- # tokens diff --git a/cpp/functions/core/tween_curves.md b/cpp/functions/core/tween_curves.md index 7425261a..7e38351f 100644 --- a/cpp/functions/core/tween_curves.md +++ b/cpp/functions/core/tween_curves.md @@ -25,6 +25,7 @@ params: - name: t desc: "Progreso normalizado en [0,1]. Para t<0 o t>1 algunas curvas extrapolan razonablemente, otras saturan." output: "f(t) — valor de la curva en t. Para curvas no oscilantes f(0)=0 y f(1)=1. Para elastic/bounce f(0)=0 y f(1)=1 pero f puede salir del rango [0,1] en valores intermedios." +notes: "scaffolding/demo en primitives_gallery" --- # tween_curves diff --git a/cpp/functions/gfx/dag_catalog.md b/cpp/functions/gfx/dag_catalog.md index 0d8f1b94..d3433bc6 100644 --- a/cpp/functions/gfx/dag_catalog.md +++ b/cpp/functions/gfx/dag_catalog.md @@ -21,6 +21,7 @@ test_file_path: "" file_path: "cpp/functions/gfx/dag_catalog.cpp" params: [] output: "dag_catalog(): referencia const estable al vector de DagNodeDef (instancia estatica, no se invalida). dag_find(name): puntero al nodo con ese nombre o nullptr si no existe." +notes: "consumido por cpp/apps/shaders_lab/main.cpp" --- ## Nodos incluidos diff --git a/cpp/functions/gfx/gl_loader.md b/cpp/functions/gfx/gl_loader.md index b1688617..14305dd6 100644 --- a/cpp/functions/gfx/gl_loader.md +++ b/cpp/functions/gfx/gl_loader.md @@ -21,6 +21,7 @@ file_path: "cpp/functions/gfx/gl_loader.cpp" framework: opengl params: [] output: "true si todos los simbolos se resolvieron (Linux siempre true; Windows depende de que el contexto GL este activo antes de llamar). false si algun simbolo no esta disponible en el driver." +notes: "scaffolding/demo en primitives_gallery" --- # gl_loader diff --git a/cpp/functions/gfx/mesh_obj_load.md b/cpp/functions/gfx/mesh_obj_load.md index a2172a0d..53f0d560 100644 --- a/cpp/functions/gfx/mesh_obj_load.md +++ b/cpp/functions/gfx/mesh_obj_load.md @@ -27,6 +27,7 @@ params: - name: path desc: "Ruta absoluta o relativa del .obj a leer (mesh_obj_load impuro)" output: "Mesh con positions/normals (stride 3, mismo length) y indices (tri-list, multiplo de 3). Si no hay vn, normales por face (flat shading) y vertices duplicados por face. Mesh vacio si parse falla." +notes: "scaffolding/demo en primitives_gallery" --- # mesh_obj_load diff --git a/cpp/functions/gfx/shaderlab_db.md b/cpp/functions/gfx/shaderlab_db.md index d8ba3ab9..5a1a160e 100644 --- a/cpp/functions/gfx/shaderlab_db.md +++ b/cpp/functions/gfx/shaderlab_db.md @@ -34,6 +34,7 @@ params: - name: err desc: "Mensaje de error opcional si save falla (constraint, schema, IO)." output: "Persistencia en la tabla generators de shaders_lab.db. Las listas vienen ordenadas por label." +notes: "consumido por cpp/apps/shaders_lab/main.cpp" --- ## Schema diff --git a/cpp/functions/gfx/uniform_parser.md b/cpp/functions/gfx/uniform_parser.md index 9e386d17..007e4846 100644 --- a/cpp/functions/gfx/uniform_parser.md +++ b/cpp/functions/gfx/uniform_parser.md @@ -28,6 +28,7 @@ params: - name: glsl_source desc: "Código fuente GLSL completo del fragment shader. Se escanea línea a línea buscando declaraciones uniform con anotaciones opcionales." output: "Vector de UniformDescriptor ordenado según aparición en el shader. Cada descriptor tiene nombre, tipo GLSL, widget ImGui, rangos min/max, valor por defecto y flags (log_scale, step, default_bool)." +notes: "consumido por cpp/apps/shaders_lab/main.cpp" --- # uniform_parser diff --git a/cpp/functions/viz/candlestick.md b/cpp/functions/viz/candlestick.md index 979d266e..f3fdc844 100644 --- a/cpp/functions/viz/candlestick.md +++ b/cpp/functions/viz/candlestick.md @@ -39,6 +39,7 @@ params: - name: tooltip desc: "Si true, muestra tooltip con valores O/H/L/C al hacer hover sobre una vela" output: "Renderiza el grafico de velas OHLC en el frame ImGui actual, sin retornar valor" +notes: "scaffolding/demo en primitives_gallery" --- # candlestick diff --git a/cpp/functions/viz/chord.md b/cpp/functions/viz/chord.md index 91e74b9e..bad28e52 100644 --- a/cpp/functions/viz/chord.md +++ b/cpp/functions/viz/chord.md @@ -31,6 +31,7 @@ params: - name: size desc: "Tamano del area cuadrada del chord. Default 400x400" output: "Renderiza arcos en el borde y cuerdas curvas internas usando AddConvexPolyFilled + AddText" +notes: "scaffolding/demo en primitives_gallery" --- # chord diff --git a/cpp/functions/viz/contour.md b/cpp/functions/viz/contour.md index 7fd3c06f..9e26eb4e 100644 --- a/cpp/functions/viz/contour.md +++ b/cpp/functions/viz/contour.md @@ -35,6 +35,7 @@ params: - name: size desc: "Tamano del rect de render. x <= 0 usa el ancho disponible" output: "Renderiza los contornos como segmentos de linea (AddLine) con color por nivel (gradiente azul->amarillo)" +notes: "scaffolding/demo en primitives_gallery" --- # contour diff --git a/cpp/functions/viz/gauge.md b/cpp/functions/viz/gauge.md index 793e8037..128cdb5a 100644 --- a/cpp/functions/viz/gauge.md +++ b/cpp/functions/viz/gauge.md @@ -31,6 +31,7 @@ params: - name: radius desc: "Radio del gauge en pixels (default 60.0)" output: "Renderiza el gauge en el frame ImGui actual, reservando espacio con ImGui::Dummy" +notes: "scaffolding/demo en primitives_gallery" --- # gauge diff --git a/cpp/functions/viz/graph_force_layout.md b/cpp/functions/viz/graph_force_layout.md index 679ad9d3..22749982 100644 --- a/cpp/functions/viz/graph_force_layout.md +++ b/cpp/functions/viz/graph_force_layout.md @@ -25,6 +25,7 @@ params: - name: config desc: "Parametros de la simulacion: repulsion (fuerza coulombiana), attraction (spring constant), damping (decay de velocidad), theta (precision Barnes-Hut 0=exacto/1=rapido), gravity (atraccion al centro), max_velocity, iterations." output: "Energia cinetica total (suma de |v|^2). Cuando cae por debajo de un umbral elegido por el caller, el layout ha convergido y se puede dejar de llamar." +notes: "scaffolding/demo en primitives_gallery" --- # graph_force_layout diff --git a/cpp/functions/viz/heatmap.md b/cpp/functions/viz/heatmap.md index 85ddda03..81f6d491 100644 --- a/cpp/functions/viz/heatmap.md +++ b/cpp/functions/viz/heatmap.md @@ -33,6 +33,7 @@ params: - name: scale_max desc: "Valor maximo de la escala de color (0 para autodetectar)" output: "Renderiza el heatmap en el frame ImGui actual" +notes: "consumido por cpp/apps/chart_demo/main.cpp; scaffolding/demo en primitives_gallery" --- # heatmap diff --git a/cpp/functions/viz/sankey.md b/cpp/functions/viz/sankey.md index dcecdd77..59d364af 100644 --- a/cpp/functions/viz/sankey.md +++ b/cpp/functions/viz/sankey.md @@ -29,6 +29,7 @@ params: - name: size desc: "Tamano del diagrama. x <= 0 usa el ancho disponible" output: "Renderiza nodos como rectangulos verticales por columna y links como bandas con bezier cubico, con alpha bajo y color del nodo origen" +notes: "scaffolding/demo en primitives_gallery" --- # sankey diff --git a/cpp/functions/viz/scatter_3d.md b/cpp/functions/viz/scatter_3d.md index 3fd868eb..f6ff89ea 100644 --- a/cpp/functions/viz/scatter_3d.md +++ b/cpp/functions/viz/scatter_3d.md @@ -25,6 +25,7 @@ params: - name: cfg desc: "fn::Scatter3DConfig — xs, ys, zs (length n), sizes opcional, colors opcional (ImU32 RGBA), size del plot" output: "Renderiza una nube de puntos 3D dentro del frame ImGui actual; soporta orbit (drag), zoom (wheel) y pan" +notes: "scaffolding/demo en primitives_gallery" --- # scatter_3d diff --git a/cpp/functions/viz/sparkline.md b/cpp/functions/viz/sparkline.md index 74981921..a706b023 100644 --- a/cpp/functions/viz/sparkline.md +++ b/cpp/functions/viz/sparkline.md @@ -31,6 +31,7 @@ params: - name: height desc: "Alto en pixels del sparkline (default 20.0)" output: "Renderiza el sparkline inline en el frame ImGui actual, reservando espacio con ImGui::Dummy" +notes: "scaffolding/demo en primitives_gallery" --- # sparkline diff --git a/cpp/functions/viz/surface_plot_3d.md b/cpp/functions/viz/surface_plot_3d.md index ef6537d9..9ab3cfde 100644 --- a/cpp/functions/viz/surface_plot_3d.md +++ b/cpp/functions/viz/surface_plot_3d.md @@ -25,6 +25,7 @@ params: - name: cfg desc: "fn::SurfacePlot3DConfig — z (nx*ny row-major), nx, ny, x/y_min, x/y_max, labels, size, show_colormap" output: "Renderiza una superficie 3D dentro del frame ImGui actual; soporta orbit (drag), zoom (wheel) y pan via ImPlot3D" +notes: "scaffolding/demo en primitives_gallery" --- # surface_plot_3d diff --git a/cpp/functions/viz/table_view.md b/cpp/functions/viz/table_view.md index 927ad8a6..cadef164 100644 --- a/cpp/functions/viz/table_view.md +++ b/cpp/functions/viz/table_view.md @@ -31,6 +31,7 @@ params: - name: row_count desc: "Numero de filas de datos, sin contar el header" output: "true si la tabla se renderizo visible, false si fue clipped o skipped por ImGui" +notes: "scaffolding/demo en primitives_gallery" --- # table_view diff --git a/cpp/functions/viz/treemap.md b/cpp/functions/viz/treemap.md index 4cb4a249..5e2811c2 100644 --- a/cpp/functions/viz/treemap.md +++ b/cpp/functions/viz/treemap.md @@ -27,6 +27,7 @@ params: - name: size desc: "Tamano del rect del treemap. x <= 0 usa el ancho disponible" output: "Renderiza el treemap en el frame ImGui actual usando AddRectFilled + AddText sobre el WindowDrawList" +notes: "scaffolding/demo en primitives_gallery" --- # treemap diff --git a/cpp/functions/viz/voronoi.md b/cpp/functions/viz/voronoi.md index 5585c7db..fb62268b 100644 --- a/cpp/functions/viz/voronoi.md +++ b/cpp/functions/viz/voronoi.md @@ -31,6 +31,7 @@ params: - name: size desc: "Tamano del area Voronoi. x <= 0 usa el ancho disponible" output: "Renderiza la teselacion de Voronoi como mosaico de tiles 4x4 px coloreados + seeds visibles como circulos blancos sobre negros" +notes: "scaffolding/demo en primitives_gallery" --- # voronoi