rohd_waveform 0.1.0
rohd_waveform: ^0.1.0 copied to clipboard
Waveform data models and APIs for wave viewers - ModuleStructure, SignalWaveform, and waveform primitives.
rohd_waveform #
Pure-Dart waveform data services and models for ROHD wave viewers.
This package supplies waveform value data to remote clients, viewers, and
debugging tools while using rohd_hierarchy for module
and signal structure. It defines the boundary between a waveform source, such
as a simulator, debugger, VCD/Wellen reader, or DevTools connection, and a UI
that needs signal values over time.
Service #
rohd_waveform provides a small service layer for requesting, caching, and
streaming waveform values:
SignalWaveformApidefines the source-facing API for loading waveform data, streaming incremental updates, reading the current simulation time, and retrieving value snapshots.SignalWaveformRepositorywraps aSignalWaveformApi, waits for asynchronous sources to become ready, caches signal metadata and waveform values, and can synthesize computed sub-field waveforms from parent signal data.SignalDataServiceexposes a signal-centric interface for clients that work withSignalOccurrenceobjects fromrohd_hierarchy.RepositorySignalDataServiceadapts the repository cache intoWaveDataobjects for wave viewers and other clients.
The package does not include a waveform backend. Applications provide a
concrete SignalWaveformApi implementation for their data source, while this
package handles the shared service contract, caching, and transfer models.
Models #
The package also includes waveform-specific models used across the service boundary:
ModuleStructure— top-level waveform structure metadata and hierarchy roots.WaveformData— transfer payload returned by aSignalWaveformApifetch or stream. It carries a signal ID, data points, and whether the values were computed, but it does not provide hierarchy metadata or lookup behavior.SignalWaveform— repository/client-side waveform state for one signal. It can be built fromWaveformData, appended to over time, queried by time or range, and linked back toSignalOccurrencemetadata through a lookup function.WaveformUpdateEvent— event payload for waveform update notifications.WaveData— combinedSignalOccurrencemetadata and waveform data returned bySignalDataService.Data,WaveFormat, andMetaData— waveform data primitives.
In short, use WaveformData at the service/API boundary and SignalWaveform
inside clients or repositories that need cached state, incremental appends,
metadata access, or waveform queries.
For hierarchy types such as HierarchyOccurrence and SignalOccurrence,
import package:rohd_hierarchy/rohd_hierarchy.dart directly.
Copyright (C) 2026 Intel Corporation SPDX-License-Identifier: BSD-3-Clause