b9716a7cd6
Snapshot de WIP acumulado de sesiones previas antes de merge wave 1 del flow 0008 (kanban_cpp + agent_runner_api + DoD schema). Incluye: - dev/flows/0008-kanban-cpp-and-agent-workflows.md - dev/issues/0112-0119*.md (7 sub-issues) - WIP previo en cmd/fn/doctor.go, registry/*, modules/, cpp/, etc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
---
|
|
name: line_plot
|
|
kind: component
|
|
lang: cpp
|
|
domain: viz
|
|
version: "1.3.0"
|
|
purity: pure
|
|
signature: "void line_plot(const char* title, const float* xs, const float* ys, int count, float height = 200.0f)"
|
|
description: "Line plot 2D con ImPlot, ejes pineados y altura explicita para no vibrar al redimensionar"
|
|
tags: [implot, chart, visualization, gpu, line, locked-axes, cpp-dashboard-viz]
|
|
uses_functions: ["plot_static_cpp_viz"]
|
|
uses_types: []
|
|
returns: []
|
|
returns_optional: false
|
|
error_type: ""
|
|
imports: [implot]
|
|
tested: false
|
|
tests: []
|
|
test_file_path: ""
|
|
file_path: "cpp/functions/viz/line_plot.cpp"
|
|
framework: imgui
|
|
params:
|
|
- name: title
|
|
desc: "Titulo del grafico / id interno del plot"
|
|
- name: xs
|
|
desc: "Array de coordenadas X"
|
|
- name: ys
|
|
desc: "Array de coordenadas Y"
|
|
- name: count
|
|
desc: "Numero de puntos en los arrays xs/ys"
|
|
- name: height
|
|
desc: "Altura del plot en pixeles (default 200). Explicita para evitar feedback loops con contenedores AutoResizeY"
|
|
output: "Renderiza la linea en el frame ImGui actual con ejes pineados"
|
|
notes: "consumido por cpp/apps/chart_demo/main.cpp; scaffolding/demo en primitives_gallery"
|
|
---
|
|
|
|
# line_plot
|
|
|
|
Wrapper atomico sobre `ImPlot::PlotLine` configurado para visualizacion estatica.
|
|
|
|
## v1.1
|
|
|
|
- **Altura explicita** (`height`) — evita vibracion en contenedores con `AutoResizeY`.
|
|
- **Ejes pineados** con `plot_static::kAxisFlags` + `ImPlotCond_Always` calculados a partir de los extremos de `xs`/`ys` con 5% de headroom en Y.
|
|
- **Sin inputs, sin auto-fit** — ver `viz/plot_static.h`.
|
|
|
|
Soporta `float` y `double`.
|
|
|
|
## Capability growth log
|
|
|
|
- v1.2.0 (2026-05-18) — Overloads `(..., y_min, y_max, height)` para series con dominio conocido (CPU%/RAM% -> 0,100). Mantiene los overloads de auto-fit historico intactos. Tipos float y double.
|
|
- v1.3.0 (2026-05-18) — Overloads `(..., x_min, x_max, y_min, y_max, height)` que pinea AMBOS ejes. Util para ventanas temporales fijas (ej. ultimos 5 min): xs en [0, 300], el grafico NO se aplasta al variar count durante warmup.
|