#include #include "app_base.h" #include "core/panel_menu.h" #include "core/icons_tabler.h" #include "core/logger.h" // #include "viz/data_table.h" // uncomment to enable data_table::render() panel static bool g_show_tree = true; static bool g_show_inspector = true; static void draw_tree() { if (!ImGui::Begin(TI_GRAPH " Tree", &g_show_tree)) { ImGui::End(); return; } ImGui::TextUnformatted("skill_tree v0.1.0 — fase A (shell)"); ImGui::TextUnformatted(""); ImGui::TextUnformatted("Parsers de dev/issues + dev/flows pendientes (0109a)."); ImGui::TextUnformatted("Render anillos pendiente (0109b)."); ImGui::End(); } static void draw_inspector() { if (!ImGui::Begin(TI_INFO_CIRCLE " Inspector", &g_show_inspector)) { ImGui::End(); return; } ImGui::TextDisabled("Click en un nodo del Tree para inspeccionar."); ImGui::End(); } static void render() { if (g_show_tree) draw_tree(); if (g_show_inspector) draw_inspector(); } int main(int /*argc*/, char** /*argv*/) { static fn_ui::PanelToggle panels[] = { { "Tree", nullptr, &g_show_tree }, { "Inspector", nullptr, &g_show_inspector }, }; fn::AppConfig cfg; cfg.title = "skill_tree"; cfg.about = { "skill_tree", "0.1.0", "Mapa interactivo de issues+flows en anillos concentricos por estado." }; cfg.log = { "skill_tree.log", 1 }; cfg.panels = panels; cfg.panel_count = sizeof(panels) / sizeof(panels[0]); return fn::run_app(cfg, render); }