#pragma once
// Cada demo_xxx() renderiza una seccion completa para un primitivo.
// Se llaman desde main.cpp en funcion del item seleccionado en el sidebar.

namespace gallery {

// --- Core ---
void demo_button();
void demo_icon_button();
void demo_toolbar();
void demo_modal();
void demo_text_input();
void demo_select();
void demo_toast();
void demo_tree_view();
void demo_kpi_card();
void demo_badge();
void demo_empty_state();
void demo_page_header();
void demo_dashboard_panel();
void demo_text_editor();      // wave 1, issue 0025
void demo_file_watcher();     // wave 1, issue 0025
void demo_process_runner();
void demo_tween();            // issue 0031
void demo_bezier_editor();    // issue 0031
void demo_timeline();         // issue 0031
void demo_sql_workbench();    // issue 0032

// --- Viz ---
void demo_bar_chart();
void demo_pie_chart();
void demo_line_plot();
void demo_scatter_plot();
void demo_histogram();
void demo_sparkline();
void demo_graph();
void demo_candlestick();
void demo_gauge();
void demo_heatmap();
void demo_table_view();
void demo_surface_plot_3d();   // issue 0028, ImPlot3D
void demo_scatter_3d();        // issue 0028, ImPlot3D
void demo_mesh_viewer();       // issue 0029
void demo_treemap();           // issue 0034
void demo_sankey();            // issue 0034
void demo_chord();             // issue 0034
void demo_contour();           // issue 0034
void demo_voronoi();           // issue 0034

// --- Gfx ---
void demo_shader_canvas();
void demo_gl_texture();       // wave 1, issue 0026

} // namespace gallery
