9a59708422
Initial scaffold via init_cpp_app_bash_pipelines: - main.cpp con Tree + Inspector panels (placeholders) - app.md con trio icon (tree-structure + #c026d3) + e2e_checks - CMakeLists.txt via add_imgui_app - appicon.ico generado con generate_app_icon_py_infra Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
#include <imgui.h>
|
|
#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);
|
|
}
|