- I'm a couple more weeks and several thousand more lines of code deep into development of Raug - What's the shiny new stuff? - FFT module - Serde support - VST3 Plugin and GUI! - What have I learned? - It isn't necessary to copy Max and Pure Data's designs verbatim - They are old and originally designed for much slower computers - They separate audio and control-rate signals mostly for legacy performance reasons (from what I understand) - This kind of design is harder to implement and work with - Raug has always been audio-rate-only, but this clarified some things - Gone are Messages - I was a little confused about what I was trying to do here - New Signal trait / AnySignal enum - Computers are fast when you let them be - Designing structures around cache/memory efficiency and vectorization will go a LONG way - Vec of Enums versus Enum of Vecs - Similar to "Struct of Arrays versus Array of Structs" in game engine ECS design - Take advantage of niche properties of your design and goals - Factor out large structures into smaller ones that can work independently