concinnity-core 0.19.0

Runtime vocabulary for the Concinnity engine: GPU layouts, ECS components, registry, CPU kernels
Documentation
// src/components/audio_occlusion_probe.rs

/// Runtime-only occlusion probe for a positional audio emitter.
///
/// The audio system attaches one to each emitter's entity and refreshes
/// `from` (the listener) and `to` (the emitter) every frame; `PhysicsSystem`
/// (which steps earlier) raycasts the segment against scene geometry and
/// writes back `blocked`. The audio system then muffles the emitter when the
/// path is blocked. The exchange is one frame behind the listener, which is
/// inaudible. Riding the emitter's entity, the probe despawns with it.
///
/// Not authored in world files: it has no `args`.
#[derive(Debug, Clone, Default)]
pub struct AudioOcclusionProbe {
    /// Listener position in world space (the ray origin).
    pub from: [f32; 3],
    /// Emitter position in world space (the ray target).
    pub to: [f32; 3],
    /// Whether scene geometry blocks the segment, or `None` when unanswered
    /// (no physics in the world, or the first frame).
    pub blocked: Option<bool>,
}