7eb7b3d0c8
Snapshot de WIP acumulado de sesiones previas antes de merge wave 1 del flow 0008 (kanban_cpp + agent_runner_api + DoD schema). Incluye: - dev/flows/0008-kanban-cpp-and-agent-workflows.md - dev/issues/0112-0119*.md (7 sub-issues) - WIP previo en cmd/fn/doctor.go, registry/*, modules/, cpp/, etc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48 lines
1.7 KiB
C++
48 lines
1.7 KiB
C++
// Module manifest visible to fn_framework's About panel.
|
|
//
|
|
// Each app gets an auto-generated <app>_modules_generated.cpp (codegen via
|
|
// python/functions/infra/codegen_app_modules.py, invoked by add_imgui_app at
|
|
// CMake configure time) that defines the array + count below from the app's
|
|
// `uses_modules:` declaration in its app.md.
|
|
//
|
|
// Apps without uses_modules still get a stub array of length 0 — links cleanly.
|
|
//
|
|
// Framework reads via:
|
|
//
|
|
// for (size_t i = 0; i < fn::app_modules_count; ++i) {
|
|
// const auto& m = fn::app_modules_array[i];
|
|
// ImGui::Text("%s v%s — %s", m.name, m.version, m.description);
|
|
// }
|
|
|
|
#pragma once
|
|
|
|
#include <cstddef>
|
|
|
|
namespace fn {
|
|
|
|
struct ModuleInfo {
|
|
const char* name;
|
|
const char* version;
|
|
const char* description;
|
|
};
|
|
|
|
extern const ModuleInfo app_modules_array[];
|
|
extern const unsigned long app_modules_count;
|
|
|
|
// App identity para el header badge en viewports secundarios (panels arrastrados
|
|
// fuera del main window). Auto-generados desde el bloque `icon:` del app.md
|
|
// por codegen_app_modules.py. Permiten que el framework dibuje el cuadrado
|
|
// accent con la identidad visual de la app sin que main.cpp deba pasar el hex
|
|
// manualmente.
|
|
//
|
|
// app_header_accent_hex: "#RRGGBB" desde icon.accent (default "" si no se
|
|
// declara — framework cae a hash-derived).
|
|
// app_header_glyph_name: nombre del glyph Phosphor desde icon.phosphor.
|
|
// Hoy informativo: el framework C++ no tiene fuente
|
|
// Phosphor cargada, asi que cae a primera letra de
|
|
// about.name. Reservado para futuro mapping Tabler.
|
|
extern const char* const app_header_accent_hex;
|
|
extern const char* const app_header_glyph_name;
|
|
|
|
} // namespace fn
|