ab6ce8f822
registry/indexer.go ahora escanea <lang>/apps/*/app.md ademas de apps/ y projects/*/apps/. cpp/apps/chart_demo y cpp/apps/shaders_lab pasan a estar en registry.db con sus manifests. Infraestructura de tests e2e (opt-in con -DFN_BUILD_TESTS=ON): - vendor de Dear ImGui Test Engine (personal/open-source license). - chart_demo_tests target con tests/chart_demo_tests.cpp. - /e2e-cpp slash command para crear y ejecutar tests e2e. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.