@altara/industrial
v0.1.4
Published
Industrial / SCADA / HMI React components for Altara — waterfall spectrogram (FFT), OEE dashboard, PID tuning, alarm annunciator, multi-pen trend recorder, P&ID symbols, process flow diagram, motor dashboard, predictive-maintenance gauge for manufacturing
Maintainers
Readme
@altara/industrial
Industrial / SCADA / HMI React components for Altara. Embeddable waterfall spectrogram (FFT + Canvas), OEE dashboard, PID tuning panel, alarm annunciator, multi-pen trend recorder, P&ID instrument symbols, process flow diagram, motor dashboard, and predictive-maintenance gauge — for manufacturing HMIs, energy control rooms, water-treatment dashboards, smart-factory monitors, and process-control UIs.

Install
npm install @altara/core @altara/industrialImport the design-token stylesheet from @altara/core once at your app root:
import '@altara/core/styles.css';Quick start
import { AltaraProvider } from '@altara/core';
import { WaterfallSpectrogram, OEEDashboard, AlarmAnnunciatorPanel } from '@altara/industrial';
export function FactoryFloor() {
return (
<AltaraProvider theme="dark">
<WaterfallSpectrogram mockMode width={720} height={360} />
<OEEDashboard mockMode shift="A1" />
<AlarmAnnunciatorPanel mockMode columns={6} />
</AltaraProvider>
);
}See it live: Website · Live demo · Storybook
Components
| Component | Description |
| --- | --- |
| WaterfallSpectrogram | Real-time FFT spectrogram waterfall — Hann window + radix-2 FFT, dB color mapping (heat / viridis / plasma / grayscale). Built for vibration / acoustic / RF analysis. |
| OEEDashboard | Overall Equipment Effectiveness — three ring gauges (availability × performance × quality) + Pareto loss-category chart. |
| AlarmAnnunciatorPanel | Industrial alarm tile grid — blink while unacknowledged, click to acknowledge, priority-based status colors. |
| TrendRecorder | Multi-pen chart recorder, up to 8 channels each on its own Y range. Time scales from 1 minute to 24 hours. |
| PIDTuningPanel | Setpoint / process-value / controller-output overlay with Kp/Ki/Kd readouts and live error band. |
| PIDNode | Single P&ID instrument symbol per the ISA 5.1 standard (FIC, TT, PIC, …). Field / panel / DCS location styles. |
| ProcessFlowDiagram | Composable SVG diagram — tanks, pumps, heat exchangers, valves, instruments connected by flow paths. |
| MotorDashboard | Motor health — RPM, torque, current, temperature in arc gauges + active fault log. |
| PredictiveMaintenanceGauge | Weighted health index from contributor metrics (vibration / temperature / current / acoustic), plus RUL with confidence band. |
Showcase
FFT performance
WaterfallSpectrogram runs an inline radix-2 Cooley-Tukey FFT on the main
thread. Cost grows with fftSize and scrollRate.
If a large transform at a high scroll rate starts costing you frames, compute the
spectrum upstream — in a worker you own, or on the producer — and feed the
component the result. createWorkerDataSource from @altara/core will not
offload this: it moves socket ingest, ring buffering, and min/max decimation into
its worker, but the FFT belongs to this component and stays where it is. Profile
against your own hardware and settings rather than assuming a threshold.
Data sources
Every component accepts an AltaraDataSource from @altara/core. Pair with @altara/mqtt for broker-published industrial telemetry (Mosquitto, HiveMQ, EMQX), or @altara/ros for collaborative-robotics / process-line ROS2 deployments.
Documentation
- 📚 Storybook — open the Industrial/ section for the full component playground.
- 🛰️ Live demo — Industrial / SCADA tab (spectrogram, OEE, alarms, motor, trend recorder, P&ID).
Or run them locally:
git clone https://github.com/JayaSaiKishanChapparam/altara.git
cd altara
pnpm install
pnpm --filter @altara/storybook storybook # http://localhost:6006
pnpm --filter @altara/demo dev # http://localhost:5173Sibling packages
| Package | What it does |
| --- | --- |
| @altara/core | Components, hooks, MQTT/mock adapters, design tokens. The starting point. |
| @altara/aerospace | Flight instruments — PFD, HSI, altimeter, airspeed, VSI, engine cluster, TCAS, TAWS, FMA, fuel gauge, radio altimeter. |
| @altara/av | Autonomous-vehicle UI — LiDAR (Three.js), occupancy grid, object detection, path planner, perception state machine, SLAM, radar, control trace. |
| @altara/ros | ROS2 / rosbridge adapter + typed factories for common sensor_msgs/* message types. |
| @altara/mqtt | MQTT-over-WebSocket adapter for IoT brokers. |
Links
Stability
Pre-1.0. Every package is below 1.0.0, and until one reaches it the public
API is not considered stable:
- Patch (
0.2.1->0.2.2) — bug fixes, docs, packaging. Safe. - Minor (
0.2.x->0.3.0) — new features, and may include breaking changes. This is the pre-1.0 semver allowance, not an accident. Pin the minor (~0.2.0) if you need that not to happen. - Breaking changes are always described in the package's CHANGELOG; anything spanning packages also lands in MIGRATION.md.
In practice the component APIs have been stable since 0.1.0 and every break so
far has been in the adapter layer. That is a track record, not a guarantee.
License
MIT — see LICENSE.
