buildAxisIndicator function

Widget buildAxisIndicator(
  1. String label,
  2. double value,
  3. Color color
)

Implementation

Widget buildAxisIndicator(String label, double value, Color color) {
  // Normalizar valor de -1.0 a 1.0 para visualización (0.0 a 1.0)
  // El slider va de -10 a 10 normalmente, ajusta según NeomGeneratorConstants
  double normalized = (value - NeomGeneratorConstants.positionMin) / (NeomGeneratorConstants.positionMax - NeomGeneratorConstants.positionMin);
  // Clamp por seguridad
  normalized = normalized.clamp(0.0, 1.0);

  return Container(
    width: 100,
    padding: const EdgeInsets.all(10),
    decoration: BoxDecoration(
        color: Colors.black26,
        borderRadius: BorderRadius.circular(8),
        border: Border.all(color: Colors.white10)
    ),
    child: Column(
      children: [
        Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            Text(label, style: TextStyle(color: color, fontWeight: FontWeight.bold)),
            Text(value.toString(), style: const TextStyle(color: Colors.white70, fontSize: 12, fontFamily: 'Courier')),
          ],
        ),
        const SizedBox(height: 5),
        ClipRRect(
          borderRadius: BorderRadius.circular(2),
          child: LinearProgressIndicator(
            value: normalized,
            backgroundColor: Colors.white10,
            valueColor: AlwaysStoppedAnimation<Color>(color.withValues(alpha: 0.7)),
            minHeight: 5,
          ),
        )
      ],
    ),
  );
}