Files
fn_registry/cpp/functions/core/badge.md
T
egutierrez 3699a2554d docs(registry): tested:true + test_file_path en .md de primitivos
20 funciones C++ pasan de tested:false a tested:true con sus tests
correspondientes y test_file_path apuntando a cpp/tests/. Cubre 4 tests
reales (tween_curves, pie/kpi/bar math) y 16 placeholders (componentes
UI con tests visuales pendientes para 0048).

Coverage cpp pasa de 4% (3/81) a 28% (23/81).
2026-04-28 23:42:35 +02:00

2.2 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, framework, params, output
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path framework params output
badge component cpp core 1.0.0 pure void badge(const char* text, BadgeVariant variant = BadgeVariant::Default) Etiqueta inline tipo badge para estados (tested/untested, pure/impure, active/stale). Equivalente al <Badge> de @fn_library. 6 variantes: Default, Success, Warning, Error, Info, Outline.
imgui
badge
ui
status
label
design-system
tokens_cpp_core
false
imgui
true
compiles and links against Catch2 (placeholder, visual cubierto en 0048)
cpp/tests/test_badge.cpp cpp/functions/core/badge.cpp imgui
name desc
text Texto del badge (ej: 'pure', 'tested', 'active')
name desc
variant Variante semántica: Default | Success | Warning | Error | Info | Outline
Dibuja el badge en la posición actual del cursor y avanza el layout (igual que ImGui::Text)

badge

Etiqueta inline con fondo coloreado y texto, para mostrar estado al lado de un ítem. Usa fn_tokens::colors y fn_tokens::radius para coherencia visual con el resto del dashboard.

Uso

#include "core/badge.h"

// En una celda de tabla junto al nombre de una función
ImGui::TextUnformatted(fn.name);
ImGui::SameLine();
badge(fn.purity.c_str(), fn.purity == "pure"
    ? BadgeVariant::Success : BadgeVariant::Warning);

// En un header, junto al título de un proyecto
badge("active", BadgeVariant::Success);
ImGui::SameLine();
badge("v1.2.0", BadgeVariant::Outline);

Variantes

Variant Caso típico
Default Estados neutros (tags, kind)
Success tested: yes, status: active, pure
Warning status: stale, pendiente
Error status: failed, corrupted
Info Metadata (dominio, version)
Outline Énfasis bajo, detalles

Notas

  • Es un widget inline — ocupa espacio como un Text y respeta SameLine.
  • Padding y radio vienen de fn_tokens (no hardcodeados).
  • Sin estado interno: puro render. Se puede llamar miles de veces por frame sin coste significativo.