pub struct Compatibility {
pub min_host_app_version: Option<String>,
pub max_host_app_version_exclusive: Option<String>,
pub min_macos_version: Option<String>,
pub min_ram_gb: Option<f64>,
pub min_nvidia_driver_version: Option<String>,
pub host_environments: Option<Vec<String>>,
pub additional: BTreeMap<String, Value>,
}Expand description
Host requirements a caller may enforce. Scrollcase records them; it does not decide policy.
This is the one object the canonical schemas declare additionalProperties: true. A publishing
project may state constraints of its own beside the defined ones, and the builder copies them
through verbatim without interpreting any of them, so a parse that refused an unrecognised key
would make this crate stricter than the schema it ships — and would refuse boxes the schema, the
builder, and the Node and Python consumers all accept. Unknown constraints therefore land in
Compatibility::additional, carried rather than dropped or rejected.
Carrying them costs no safety, because the schema puts the obligation on the application, not on the parser: a consumer that cannot evaluate a constraint must refuse the box rather than assume it passes. That decision needs the constraint in hand to be made at all, which is precisely what refusing the document took away.
Fields§
§min_host_app_version: Option<String>Minimum version of the consuming application.
max_host_app_version_exclusive: Option<String>First version of the consuming application this box no longer supports.
min_macos_version: Option<String>Minimum macOS version.
min_ram_gb: Option<f64>Minimum installed memory, in decimal gigabytes.
min_nvidia_driver_version: Option<String>Minimum NVIDIA driver version.
host_environments: Option<Vec<String>>Execution environments this payload was validated for.
additional: BTreeMap<String, Value>Constraints this format does not define, in the publishing project’s own vocabulary.
Empty for a box that declares only the fields above. Scrollcase never evaluates an entry here; an application that finds one it does not understand must refuse the box.
Trait Implementations§
Source§impl Clone for Compatibility
impl Clone for Compatibility
Source§fn clone(&self) -> Compatibility
fn clone(&self) -> Compatibility
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more