#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Vst3HostingDecision {
Deferred,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Vst3ScopeDecision {
pub native_export_blocker: String,
pub hosting: Vst3HostingDecision,
pub hosting_reason: String,
pub sdk_requirements: Vec<String>,
}
impl Vst3ScopeDecision {
pub fn native_export_supported(&self) -> bool {
self.native_export_blocker.is_empty()
}
}
pub fn current_vst3_scope() -> Vst3ScopeDecision {
Vst3ScopeDecision {
native_export_blocker: "native .vst3 bundle export needs the Steinberg VST3 SDK, \
platform bundle layout, and host validator/signing policy outside this repo"
.to_owned(),
hosting: Vst3HostingDecision::Deferred,
hosting_reason: "native VST3 hosting is deferred until SDK licensing, binary loading, \
and host lifecycle ownership are approved"
.to_owned(),
sdk_requirements: vec![
"Steinberg VST3 SDK".to_owned(),
"platform .vst3 bundle layout".to_owned(),
"host validator or smoke host".to_owned(),
],
}
}