LfSource acts as a specification and as a state object at the same time
When using LfSourceExpr::Envelope the envelope needs to be looked up in a HashMap which seems undesirable in terms of performance
Desired situation:
[x] In the same way that StageSpec and WaveformSpec are separated from Stage and Waveform, LfSource should be split into a spec and state object. Done in 6e9b0fd4b22321eba7bdfdc01294535d2866064f.
[x] Envelopes should be looked up once on waveform creation and be stored in the state object. Done in 0a0b4b70c7e1439a59994c8b359d1726da28b9ea.
Current situation:
LfSource
acts as a specification and as a state object at the same timeLfSourceExpr::Envelope
the envelope needs to be looked up in aHashMap
which seems undesirable in terms of performanceDesired situation:
StageSpec
andWaveformSpec
are separated fromStage
andWaveform
,LfSource
should be split into a spec and state object. Done in 6e9b0fd4b22321eba7bdfdc01294535d2866064f.