2.0 KiB
2.0 KiB
name, lang, domain, description, tags, uses_functions, uses_types, framework, entry_point, dir_path, repo_url
| name | lang | domain | description | tags | uses_functions | uses_types | framework | entry_point | dir_path | repo_url | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| chart_demo | cpp | viz | Demo ImGui de primitivos viz del registry: line_plot, scatter_plot, bar_chart, heatmap. Cada chart en su propia tab del TabBar. Usado como showcase y como build gate de las funciones viz/. |
|
|
imgui | main.cpp | cpp/apps/chart_demo |
Que hace
App de una sola ventana con cuatro tabs (Line / Scatter / Bar / Heatmap) que renderiza datos sinteticos para mostrar el aspecto y la API de los primitivos viz del registry. Sirve como:
- Showcase visual de las funciones viz existentes — al añadir una nueva primitiva, anadir su tab aqui es la forma natural de probar el binding.
- Build gate: si una de las funciones rompe API, esta app deja de
compilar y lo cazamos sin tener que tocar
registry_dashboardograph_explorer.
Estructura
main.cpp (~93 lineas):
init_data()— genera arrays sinteticos una vez (estado modulo).render()— DockSpaceOverViewport + TabBar con 4 tabs, cada una invoca un primitivo del registry.main()→fn::run_app(...)con AppConfig estandar (titulo, tamaño, about, log).
Build
# Linux
cd cpp && cmake -B build/linux -S . && cmake --build build/linux --target chart_demo
# Windows (cross-compile)
cd cpp && cmake -B build/windows -S . -DCMAKE_TOOLCHAIN_FILE=toolchains/mingw-w64.cmake \
&& cmake --build build/windows --target chart_demo
Decisiones
viewports = true(default defn::run_app): las ventanas se pueden arrastrar fuera del main window.init_gl_loader = false: solo usa ImGui/ImPlot, sin gl* directo.- Sin persistencia propia (no abre BD).
log: file_path = "chart_demo.log"con nivel Debug — elinit_dataemite info+debug para verificar que el logger funciona.