Sobre el proyecto

Altara es una librería de componentes React diseñada para construir tableros de telemetría en tiempo real en aplicaciones de robótica, aeroespacial, vehículos autónomos e IoT industrial. Proporciona un conjunto de instrumentos renderizados en canvas, gráficos de series temporales, mapas en vivo y pantallas de vuelo que pueden integrarse directamente en cualquier aplicación React. La librería está organizada en varios paquetes: - **@altara/core**: El paquete fundamental con componentes como TimeSeries, Gauge, Attitude, SignalPanel, LiveMap, EventLog, ConnectionBar, MultiAxisPlot y DashboardLayout. También incluye adaptadores de fuentes de datos (mock, MQTT) y un pipeline basado en workers para diezmado fuera del hilo principal. - **@altara/aerospace**: Instrumentos de vuelo que incluyen PrimaryFlightDisplay, HorizontalSituationIndicator, Altimeter, VerticalSpeedIndicator, AirspeedIndicator, EngineInstrumentCluster, RadioAltimeter, TerrainAwareness, TCASDisplay, AutopilotModeAnnunciator y FuelGauge. - **@altara/av**: Componentes de UI para vehículos autónomos como LiDARPointCloud (Three.js), OccupancyGrid, ObjectDetectionOverlay, PathPlannerOverlay, VelocityVectorDisplay, PerceptionStateMachine, SensorHealthMatrix, CameraFeed, ControlTrace, RadarSweep y SLAMMap. - **@altara/industrial**: Componentes SCADA/HMI incluyendo WaterfallSpectrogram (FFT), OEEDashboard, AlarmAnnunciatorPanel, TrendRecorder, PIDTuningPanel, PIDNode, ProcessFlowDiagram, MotorDashboard y PredictiveMaintenanceGauge. - **@altara/ros**: Un adaptador rosbridge con fábricas tipadas para tipos de mensajes comunes de sensor_msgs. - **@altara/mqtt**: Un adaptador MQTT sobre WebSocket. Las características clave incluyen: - **Alto rendimiento**: Renderizado en canvas con requestAnimationFrame y RingBuffer para actualizaciones suaves a más de 60 fps. Un pipeline de workers mueve la ingesta de datos y el diezmado fuera del hilo principal para flujos de alto rendimiento. - **Modo simulación**: Cada componente soporta un `mockMode` que genera datos sintéticos realistas, facilitando el prototipado antes de conectar fuentes de datos reales. - **Compatibilidad con SSR**: Todos los paquetes incluyen la directiva `"use client"`, permitiendo importaciones directas en componentes de servidor de Next.js App Router sin envoltorios de cliente manuales. Las dependencias opcionales (Leaflet, Three.js, MQTT) se importan dinámicamente en tiempo de ejecución. - **Adaptadores de datos**: Conéctese a ROS2 vía rosbridge, brokers MQTT, o use fuentes de datos mock y basadas en workers integradas. - **Temática**: Un `AltaraProvider` soporta personalización de temas (por ejemplo, tema oscuro). El README incluye una comparación con Grafana, Foxglove y Recharts, posicionando a Altara como una librería que se integra nativamente en aplicaciones React, con un enfoque en instrumentos aeroespaciales e industriales. También proporciona resultados de benchmarks para el rendimiento de renderizado y la eficiencia del pipeline de workers. Altara está en pre-1.0, con la API pública aún no considerada estable. La documentación incluye un Storybook con demos en vivo, un tablero de demostración con múltiples pestañas, guías, libros de recetas y comparaciones. El repositorio está estructurado como un monorepo con paquetes, aplicaciones (Storybook y demo), configuración de Docker para ROS2 y scripts para benchmarks y grabación de GIFs.