Sonosthesia unity envelope
npm install com.sonosthesia.envelopeEnvelope primitives and utilities for the Sonosthesia framework. Provides reusable envelope implementations (ADSR and variants, animation-curve, constant), runtime factories, and editor tooling so audio/visual affordances can stay in sync with timing and easing data.
IEnvelope exposes duration, initial/final values, and an Evaluate(time) API for any time-based curve you want to drive. IEnvelope.csEnvelopePhase couples an EaseType with a duration; phased envelopes compose phases into A, AHR, ADSR, ADS, and SR shapes for common attack/decay workflows. PhasedEnvelope.csWarpedEnvelope to scale time and amplitude without rewriting the source envelope. AnimationCurveEnvelope.cs ConstantEnvelope.cs WarpedEnvelope.csEnvelopeSettings selects an envelope type (phased, curve, constant, or custom factory), exposes helpers to build ADSR/AHR/ADS/SR presets, and includes an extension that constructs the runtime envelope on demand. EnvelopeSettings.csEnvelopeFactory is a ScriptableObject wrapper around EnvelopeSettings so scenes and prefabs can instantiate envelopes at runtime; legacy EnvelopeBuilder components remain for backward compatibility. EnvelopeFactory.cs EnvelopeBuilder.cscom.sonosthesia.interaction uses EnvelopeSettings for interactive envelopes and triggers, warping attack/release timing per interaction and optionally filtering via One Euro smoothing. IInteractiveEnvelopeSettings.cs IInteractiveTriggerSettings.cscom.sonosthesia.trigger builds trigger playback envelopes from extracted values (attack/sustain/release) before driving signal-based trigger controllers. SignalTriggerConfiguration.cscom.sonosthesia.fmodinteraction feeds interactive envelopes into FMOD emitter configurations so volume/excitation/body parameters follow event-driven curves rather than static values. FMODEmitterConfiguration.cscom.sonosthesia.deforminteraction and com.sonosthesia.collide extend the interactive envelope settings to modulate mesh noise, falloff, and collision responses with ADSR-style curves per event type. MeshNoiseConfiguration.cs CollidePeakConfiguration.cs