{- | Copyright : (C) 2025-2026, QBayLogic B.V. License : BSD2 (see the file LICENSE) Maintainer : QBayLogic B.V. <devops@qbaylogic.com> Module : Clash.Shockwaves Description : Shockwaves: Typed waveforms Shockwaves is a system for typed waveforms in Clash. "Clash.Shockwaves" exports the minimum requirements for using Shockwaves. For more options, see "Clash.Shockwaves.Waveform", "Clash.Shockwaves.Style", "Clash.Shockwaves.LUT" and "Clash.Shockwaves.Trace". For the HOWTO guides on using Shockwaves, check out [the documentation in the GitHub repository](https://github.com/clash-lang/clash-shockwaves/blob/main/docs/howto/README.md). Note: this exports the "Clash.Shockwaves.Trace" module, which creates name space collisions with "Clash.Signal.Trace". Import qualified or selectively. -} module Clash.Shockwaves ( -- * Waveform Waveform (constructorStyles), WaveStyle (..), -- * Tracing module Clash.Shockwaves.Trace, writeFileJSON, ) where import Clash.Shockwaves.Internal.Types import Clash.Shockwaves.Internal.Util import Clash.Shockwaves.Internal.Waveform import Clash.Shockwaves.Trace