pub struct StaticResolution { /* private fields */ }Expand description
Validated profile and declarations that require no asset I/O.
Implementations§
Source§impl StaticResolution
impl StaticResolution
Sourcepub const fn profile(&self) -> &'static EngineProfile
pub const fn profile(&self) -> &'static EngineProfile
Exact immutable selected profile.
Sourcepub const fn document_settings(&self) -> &BTreeMap<SettingId, SettingValue>
pub const fn document_settings(&self) -> &BTreeMap<SettingId, SettingValue>
Fully materialized required document settings.
Sourcepub fn resolve_input(
&self,
source_format: SourceFormatV1,
clip_names: &[String],
) -> Result<ResolvedProfile, ResolutionError>
pub fn resolve_input( &self, source_format: SourceFormatV1, clip_names: &[String], ) -> Result<ResolvedProfile, ResolutionError>
Resolve the authoritative input format and actual clip names.
Non-exact globs apply in lexical selector order, then an exact clip-name table applies last. Overlay is field-by-field. The result contains one sorted row per actual clip, including repeated clip names.
§Errors
Returns ResolutionError::UnacceptedInputFormat outside the profile’s
bounded V1 input set, ResolutionError::MissingRequiredSetting when
any real clip lacks an applicable required-without-default setting, or
ResolutionError::ResolvedSettingsContract when the fully
materialized settings exceed the V1 row/text bounds.
Sourcepub fn resolve_input_iter<'a>(
&self,
source_format: SourceFormatV1,
clip_names: impl ExactSizeIterator<Item = &'a str>,
) -> Result<ResolvedProfile, ResolutionError>
pub fn resolve_input_iter<'a>( &self, source_format: SourceFormatV1, clip_names: impl ExactSizeIterator<Item = &'a str>, ) -> Result<ResolvedProfile, ResolutionError>
Resolve input from a borrowed, exactly sized clip-name iterator.
This entry point lets loaders reject an oversized actual-clip inventory before cloning or traversing any names.
§Errors
Returns the same typed errors as Self::resolve_input. An iterator
longer than the V1 collection bound is rejected before its first item is
consumed.
Sourcepub fn resolve_input_v2_iter<'a>(
&self,
source_format: SourceFormatV1,
clip_names: impl ExactSizeIterator<Item = &'a str>,
) -> Result<ResolvedProfileV2, ResolutionError>
pub fn resolve_input_v2_iter<'a>( &self, source_format: SourceFormatV1, clip_names: impl ExactSizeIterator<Item = &'a str>, ) -> Result<ResolvedProfileV2, ResolutionError>
Resolve an input into the bounded V2 settings projection.
In contrast with Self::resolve_input_iter, an actual inventory
larger than 4,096 is a successful, explicitly partial result. The
source iterator is only consumed for the retained prefix. The exact
iterator length supplies the N+1 overflow sentinel, so no tail name or
settings value is cloned, validated, materialized, or canonicalized.
Prefix validation deliberately happens before the overflow result: a malformed retained row is still an ordinary typed configuration error, while a defect solely in the tail cannot outrank bounded overflow.
§Errors
Returns the same configuration and profile errors as V1 for the document and retained source-order prefix.
Trait Implementations§
Source§impl Clone for StaticResolution
impl Clone for StaticResolution
Source§fn clone(&self) -> StaticResolution
fn clone(&self) -> StaticResolution
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more