Initial commit: registry_dashboard — Dashboard ImGui para fn_registry
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <cstdint>
|
||||
|
||||
struct RegistryStats {
|
||||
int total_functions = 0;
|
||||
int total_types = 0;
|
||||
int total_apps = 0;
|
||||
int total_analysis = 0;
|
||||
int total_unit_tests = 0;
|
||||
int total_proposals = 0;
|
||||
int tested_functions = 0;
|
||||
int pure_functions = 0;
|
||||
int impure_functions = 0;
|
||||
};
|
||||
|
||||
struct LangCount {
|
||||
std::string lang;
|
||||
int count = 0;
|
||||
};
|
||||
|
||||
struct DomainCount {
|
||||
std::string domain;
|
||||
int count = 0;
|
||||
};
|
||||
|
||||
struct KindCount {
|
||||
std::string kind;
|
||||
int count = 0;
|
||||
};
|
||||
|
||||
struct DateCount {
|
||||
std::string date; // YYYY-MM-DD
|
||||
int count = 0;
|
||||
};
|
||||
|
||||
struct FunctionRow {
|
||||
std::string id;
|
||||
std::string name;
|
||||
std::string lang;
|
||||
std::string domain;
|
||||
std::string kind;
|
||||
std::string purity;
|
||||
std::string description;
|
||||
std::string created_at;
|
||||
bool tested = false;
|
||||
};
|
||||
|
||||
struct AppRow {
|
||||
std::string id;
|
||||
std::string name;
|
||||
std::string lang;
|
||||
std::string domain;
|
||||
std::string description;
|
||||
std::string framework;
|
||||
};
|
||||
|
||||
struct AnalysisRow {
|
||||
std::string id;
|
||||
std::string name;
|
||||
std::string domain;
|
||||
std::string description;
|
||||
};
|
||||
|
||||
struct TypeRow {
|
||||
std::string id;
|
||||
std::string name;
|
||||
std::string lang;
|
||||
std::string domain;
|
||||
std::string algebraic;
|
||||
std::string description;
|
||||
};
|
||||
|
||||
// All data loaded from registry.db in one shot
|
||||
struct RegistryData {
|
||||
RegistryStats stats;
|
||||
std::vector<LangCount> by_lang;
|
||||
std::vector<DomainCount> by_domain;
|
||||
std::vector<KindCount> by_kind;
|
||||
std::vector<DateCount> by_date; // last 30 days
|
||||
std::vector<FunctionRow> recent_funcs; // last 20
|
||||
std::vector<AppRow> apps;
|
||||
std::vector<AnalysisRow> analyses;
|
||||
std::vector<TypeRow> types;
|
||||
|
||||
// For chart data (populated by prepare_chart_data)
|
||||
std::vector<std::string> lang_labels;
|
||||
std::vector<float> lang_values;
|
||||
std::vector<std::string> domain_labels;
|
||||
std::vector<float> domain_values;
|
||||
std::vector<std::string> kind_labels;
|
||||
std::vector<float> kind_values;
|
||||
std::vector<std::string> date_labels;
|
||||
std::vector<float> date_values;
|
||||
|
||||
void prepare_chart_data();
|
||||
};
|
||||
|
||||
// Load all data from registry.db. Returns true on success.
|
||||
bool load_registry_data(const char* db_path, RegistryData& out);
|
||||
Reference in New Issue
Block a user