Expand description
Strict, immutable engine-import profile facts and deterministic settings resolution for AnimSmith.
The V1 registry has exactly five version-pinned profiles. resolve_static
validates a profile tuple and every declared setting before asset I/O;
StaticResolution::resolve_input then checks the authoritative
animsmith_core::SourceFormatV1 and materializes per-clip settings.
Unknown engine behavior remains FactState::Unknown. This crate performs
no filesystem access, parses no TOML, and imports no format crate. Its
one-way project_prediction_provenance_v1 adapter publishes the already
resolved profile/settings and same-load core source evidence. The borrowed
EngineAddressabilityCheck uses that evidence for the single frozen Bevy
0.19.0 source-animation index-selector prediction; other engine behavior
remains outside this crate unless a version-pinned rule is added.
BevyAnimationAssetLabelV1 is the one bounded selector formatter used by
that check, while build_bevy_animation_addressability_adapter_v1 runs
the same check lifecycle once and packages its unchanged evaluation for the
standalone glTF animation-addressability contract.
EngineImportAdviceV1 independently projects exact materialized Unity
importer settings beside same-load provenance and bounded clip evidence;
profiles without modeled settings produce a typed refusal rather than a
guessed preset.
§Example
use animsmith_core::SourceFormatV1;
use animsmith_engine::{
BakeOrExtract, EngineDeclaration, ProfileSelection, SettingValue,
resolve_static,
};
let mut declaration = EngineDeclaration {
selection: Some(ProfileSelection::new(
"unity-generic", 1, "6000.3", "fbx-model-importer",
)),
document_settings: Some(Default::default()),
..EngineDeclaration::default()
};
let document = declaration.document_settings.as_mut().unwrap();
document.insert("convert_units".into(), SettingValue::Boolean(true));
document.insert("bake_axis_conversion".into(), SettingValue::Boolean(true));
document.insert(
"root_motion_source".into(),
SettingValue::SourceTransformPath("Reference/Root".into()),
);
declaration.clip_settings.insert(
"walk_*".into(),
[
("root_rotation".into(), SettingValue::BakeOrExtract(BakeOrExtract::Extract)),
("root_position_y".into(), SettingValue::BakeOrExtract(BakeOrExtract::Bake)),
("root_position_xz".into(), SettingValue::BakeOrExtract(BakeOrExtract::Extract)),
].into(),
);
let static_profile = resolve_static(declaration)?.unwrap();
let resolved = static_profile.resolve_input(SourceFormatV1::Fbx, &["walk_forward".into()])?;
assert_eq!(resolved.clip_settings().len(), 1);The crate has no public feature flags and supports the workspace MSRV, Rust 1.88. Its Rust API is pre-1.0.
Structs§
- Bevy
Animation Asset Label Error - A Bevy animation asset-label index outside the bounded raw-source animation inventory.
- Bevy
Animation Asset Label V1 - One exact Bevy 0.19.0
GltfAssetLabel::Animation(index)display selector. - Coordinate
Basis - Known target coordinate basis.
- Engine
Addressability Check - The engine addressability check over borrowed same-load source evidence.
- Engine
Declaration - Full public input to phase-one static resolution.
- Engine
Import Advice Clip Evidence V1 - Exact engine-neutral evidence retained beside one suggestion row.
- Engine
Import Advice Clip V1 - One file-scoped normalized clip and its source/intent/measurement evidence.
- Engine
Import Advice Identity V1 - Domain-separated canonical identity of one import-advice payload.
- Engine
Import Advice Input - Staged bounded reader input for the standalone advice contract.
- Engine
Import Advice Readback V1 - Strict read-side representation of one import-advice document.
- Engine
Import Advice Tool Readback V1 - Validated producer metadata from strict readback.
- Engine
Import Advice V1 - Standalone producer envelope for
generate import-advice. - Engine
Profile - One immutable, revisioned registry profile.
- Gltf
Animation Addressability Animation SetV1 - Coverage-qualified source animation rows.
- Gltf
Animation Addressability Animation V1 - One exact source-order raw animation row.
- Gltf
Animation Addressability Bevy Adapter V1 - Exact optional Bevy adapter embedded in the standalone envelope.
- Gltf
Animation Addressability Bevy Readback V1 - Validated read-side Bevy adapter.
- Gltf
Animation Addressability Channel SetV1 - Coverage-qualified raw channel rows for one source animation.
- Gltf
Animation Addressability Channel V1 - One exact source-order raw animation channel row.
- Gltf
Animation Addressability Check Readback V1 - Validated read-side representation of the exact embedded check subset.
- Gltf
Animation Addressability Identity V1 - Domain-separated identity of one engine-neutral animation inventory.
- Gltf
Animation Addressability Input - Staged bounded reader input for a standalone addressability document.
- Gltf
Animation Addressability Inventory V1 - Engine-neutral glTF animation inventory projected from one immutable load.
- Gltf
Animation Addressability Readback V1 - Fully validated read-side standalone document.
- Gltf
Animation Addressability Tool Readback V1 - Validated read-side producer identity.
- Gltf
Animation Addressability V1 - Standalone producer envelope for
generate addressability. - Gltf
Animation Coverage V1 - Coverage and typed reason for one raw animation row domain.
- Gltf
Animation Target V1 - Source target identity for one raw animation channel.
- Primary
Source - One primary source retained by an immutable profile record.
- Profile
Fact - One stable fact and its explicit evidence state.
- Profile
Selection - Exact four-field key selecting one revisioned engine profile.
- Resolved
Clip Settings - Fully materialized settings for one real clip.
- Resolved
Profile - Input-validated profile and fully materialized deterministic settings.
- Setting
Descriptor - Immutable descriptor for one stable setting id.
- Static
Resolution - Validated profile and declarations that require no asset I/O.
- Unity
Clip Advice V1 - Exact Unity per-clip importer suggestions.
- Unity
Document Advice V1 - Exact Unity document-level importer suggestions.
Enums§
- Animation
Addressability - Known animation-asset addressability behavior.
- Bake
OrExtract - Exact policy for a Unity root transform component.
- Conversion
Control - A known importer control relevant to source-to-target conversion.
- Default
Status - Verified default status of a setting.
- Engine
Import Advice Error - Import-advice producer or strict-reader contract failure.
- Engine
Import Advice Movement Owner V1 - Project-declared owner of one world-movement component.
- Engine
Import Advice Payload V1 - Profile-specific V1 advice payload.
- Engine
Import Advice Read Error - Bounded-reader transport/shape failure.
- Engine
Import Advice Refusal Reason V1 - Exact reason why V1 emitted no clip suggestions.
- Engine
Import Advice Source Name V1 - Bounded source animation/take name evidence.
- Engine
Import Advice Source Unavailable Reason V1 - Stable raw-source reason retained for a source-name observation.
- Engine
Import Advice State V1 - Whether requested advice could be emitted without guessing.
- FactId
- Stable id for one immutable fact in every V1 profile record.
- Fact
State - Evidence state of one profile fact.
- Fact
Value - Typed value of a known immutable profile fact.
- Forward
Axis - Signed world axis used as forward.
- Gltf
Animation Addressability Adapter Error - Typed failure while constructing the optional exact Bevy adapter for a glTF animation-addressability document.
- Gltf
Animation Addressability Error - A producer or reader encountered an invalid addressability V1 contract.
- Gltf
Animation Addressability Read Error - A serialized standalone addressability document could not be read safely.
- Gltf
Animation Channel Property V1 - Format-neutral property targeted by one raw animation channel.
- Gltf
Animation Coverage State V1 - Exhaustiveness state of one raw animation row domain.
- Gltf
Animation Observation V1 - Exact state of one scalar raw animation observation.
- Gltf
Animation Target Kind V1 - Source target identity kind for one raw animation channel.
- Gltf
Animation Unavailable Reason V1 - Stable reason why a raw animation observation is incomplete.
- Handedness
- Coordinate-system handedness.
- Import
Handling - Known importer treatment for a fact domain.
- Invalid
Setting Reason - Why a closed setting value failed its declared domain.
- Linear
Unit - Known target linear unit.
- Prediction
Provenance Projection Error - Failure to project already-resolved engine and same-load source evidence.
- Prediction
Rule Error - Typed failure while binding an engine-owned check to immutable evidence.
- Registry
Validation Error - Author-owned invariant failure in the built-in V1 registry.
- Resolution
Error - Typed failure from static or input-dependent engine resolution.
- Root
Motion Addressability - Known root-motion addressability behavior.
- Setting
Applicability - Whether a descriptor applies to a profile revision.
- Setting
Domain - Closed value domain of a setting.
- Setting
Id - Stable setting id in the closed V1 vocabulary.
- Setting
Location - Location of one settings declaration.
- Setting
Scope - Configuration scope of a setting.
- Setting
Value - Closed public value vocabulary for engine settings.
- Setting
Value Kind - Runtime kind of one closed
SettingValuevariant. - Target
Addressability - Known animation-target addressability behavior.
- UpAxis
- Positive world axis used as up.
Constants§
- ENGINE_
ADDRESSABILITY_ CHECK_ ID - Stable check id for engine scene, animation, target, and runtime-label addressability.
- ENGINE_
CHECK_ IDS_ V1 - Versioned engine-owned check ids callers may use for pre-I/O selection validation.
- ENGINE_
IMPORT_ ADVICE_ COMMAND - Stable command spelling carried by the standalone contract.
- ENGINE_
IMPORT_ ADVICE_ SCHEMA_ VERSION - Standalone engine-import-advice schema version.
- ENGINE_
IMPORT_ ADVICE_ V1_ ID - Immutable standalone engine-import-advice contract identity.
- ENGINE_
IMPORT_ ADVICE_ V1_ MAX_ REPORT_ BYTES - Maximum serialized bytes accepted by the strict V1 reader.
- GLTF_
ANIMATION_ ADDRESSABILITY_ COMMAND - Immutable command discriminator carried by the standalone envelope.
- GLTF_
ANIMATION_ ADDRESSABILITY_ SCHEMA_ VERSION - Version of the standalone glTF animation-addressability envelope.
- GLTF_
ANIMATION_ ADDRESSABILITY_ V1_ ID - Immutable identity of the standalone glTF animation-addressability contract.
- GLTF_
ANIMATION_ ADDRESSABILITY_ V1_ MAX_ REPORT_ BYTES - Maximum serialized bytes accepted by the standalone report reader.
- SOURCE_
TRANSFORM_ PATH_ MAX_ BYTES - Maximum UTF-8 byte count of a V1 source-transform path.
Functions§
- build_
bevy_ animation_ addressability_ adapter_ v1 - Build the optional exact Bevy 0.19.0 adapter for one addressability document.
- lookup_
profile - Find one exact registry tuple without aliases, ranges, or fallback.
- profiles_
v1 - Enumerate the five immutable V1 engine profiles in tuple order.
- project_
prediction_ provenance_ v1 - Project one resolved engine profile and its same-load source evidence into the self-contained prediction-provenance V1 contract.
- resolve_
static - Validate an engine declaration without inspecting an asset.
- validate_
registry_ v1 - Validate all author-owned registry declarations and cross references.
Type Aliases§
- Setting
Map - String-keyed setting declarations used at the TOML-free public boundary.