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. EngineImportAdviceV2 separately projects the exact
Godot and Unreal revision-2 document settings with origin-bearing shared
provenance and an advice-owned native scalar vocabulary.
§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
Addressability Rule Source V1 - Immutable primary-source authority for one Bevy addressability rule.
- 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. - Bevy
Gltf Addressability Projection V2 - Structured rich projections paired with the one engine-addressability check.
- Bevy
Gltf Addressability Rules V1 - Separately versioned exact Bevy glTF addressability authority.
- Bevy
Gltf Addressability Settings V2 - Exact revision-3 settings consumed by the addressability rule bundle.
- Coordinate
Basis - Known target coordinate basis.
- Engine
Addressability Check - The engine addressability check over borrowed same-load source evidence.
- Engine
Addressability Check V2 - Current-lint V2 engine addressability check. Standalone addressability
artifacts keep using
EngineAddressabilityCheckand immutable V1 wire evidence. - Engine
Addressability Check V3 - Current-output V3 engine addressability check.
- Engine
Clip Boundary Check - Engine-owned Unreal 5.8 check over exact same-load FBX stack timing.
- Engine
Declaration - Full public input to phase-one static resolution.
- Engine
Declaration V2 - Public input to revision-2 static settings 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 Identity V2 - Domain-separated canonical identity of one V2 advice envelope.
- Engine
Import Advice Input - Staged bounded reader input for the standalone advice contract.
- Engine
Import Advice Input V2 - Staged bounded reader input for the V2 advice contract.
- Engine
Import Advice Projection Field V2 - One exact native importer field and its resolved authority.
- Engine
Import Advice Projection V2 - Exact bounded document-level importer projection.
- Engine
Import Advice Readback V1 - Strict read-side representation of one import-advice document.
- Engine
Import Advice Readback V2 - Validated strict read-side representation of one V2 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
Import Advice V2 - Standalone producer envelope for document-level V2 import advice.
- Engine
Profile - One immutable, revisioned registry profile.
- Engine
Profile V2 - One immutable revision-2 engine-profile registry record.
- Engine
Root Motion Check - Engine-owned check for the exact Unity Generic revision-2 FBX profile.
- Engine
Track Support Check - Engine-owned check for Bevy revision 3’s two materialized loading gates.
- Engine
Unit Scale Check - Engine-owned check for the exact Bevy revision-2 glTF/GLB profile.
- Gltf
Addressability Bevy Adapter V2 - Exact Bevy adapter paired with one real
engine-addressabilityevaluation. - Gltf
Addressability Bevy Readback V2 - Strict read-side exact Bevy adapter.
- Gltf
Addressability Check Readback V2 - Strict read-side representation of the one rich check evaluation.
- Gltf
Addressability Inventory V2 - Rich engine-neutral inventory adapter that reuses the immutable V1 animation inventory beside the raw scene/node/skin sidecar.
- Gltf
Addressability Named MapV2 - One independently coverage-qualified named-map projection.
- Gltf
Addressability Named MapWinner V2 - One exact named-map winner, separate from typed index labels.
- Gltf
Addressability Readback V2 - Fully validated read-side V2 addressability report.
- Gltf
Addressability Scene V2 - One exact typed Bevy scene label.
- Gltf
Addressability Skin V2 - One source skin’s distinct conditional skin and eager inverse-bind labels.
- Gltf
Addressability Target Channel V2 - One source animation channel contributing to a unique target node.
- Gltf
Addressability Target V2 - One unique source animation target node and all contributing channels.
- Gltf
Addressability Target Value V2 - Exact Bevy target path and reproduced UUID.
- Gltf
Addressability V2 - Standalone producer envelope for rich glTF addressability.
- 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.
- Primary
Source V2 - Primary source retained by an immutable revision-2 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
Clip Settings V2 - One materialized revision-2 clip settings row.
- Resolved
Engine Settings Work V2 - Bounded work accounting for one V2 settings resolution.
- Resolved
Profile - Input-validated profile and fully materialized deterministic settings.
- Resolved
Profile Settings V2 - Input-validated revision-2 profile settings.
- Resolved
Profile V2 - V2 bounded engine resolution retaining a valid canonical prefix.
- Resolved
Setting V2 - One fully materialized revision-2 setting and its value origin.
- Setting
Descriptor - Immutable descriptor for one stable setting id.
- Setting
Descriptor V2 - Immutable descriptor for one revision-2 setting.
- Static
Resolution - Validated profile and declarations that require no asset I/O.
- Static
Resolution V2 - Validated revision-2 profile and fully materialized document settings.
- 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.
- Bevy
Animation Target IdError - A bounded Bevy animation-target UUID could not be reproduced.
- Bevy
Gltf Handler Environment V2 - Supported version-pinned glTF extension-handler environment.
- Bevy
Load Meshes State V2 - Exact state of Bevy’s
RenderAssetUsagesmesh-loading flags. - Bevy
Named MapDuplicate Policy V1 - Named-map duplicate policy in the pinned Bevy loader.
- 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 Projection Value V2 - Native scalar carried by a V2 importer projection.
- 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 Refusal Reason V2 - Why a V2 document projection was refused.
- 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.
- Engine
Import Advice State V2 - Whether the exact V2 document projection was emitted.
- 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
Addressability Named MapKind V2 - One Bevy named-map domain.
- Gltf
Addressability Projection V2 - Exact projection state for one rich addressability value.
- Gltf
Addressability Read Error V2 - Bounded rich report reader failure.
- Gltf
Addressability Setting Origin V2 - Origin of one exact setting consumed by the rich Bevy projection.
- Gltf
Addressability Unavailable Reason V2 - Stable reason one exact rich Bevy projection is required-unavailable.
- Gltf
Addressability V2Error - Invalid rich glTF addressability input or adapter evidence.
- 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.
- Registry
Validation Error V2 - Author-owned invariant failure in the revision-2 registry.
- Resolution
Error - Typed failure from static or input-dependent engine resolution.
- Resolution
Error V2 - Typed failure from revision-2 settings resolution.
- Resolved
Clip Coverage Reason V2 - Stable reason why V2 settings do not cover every actual clip.
- Resolved
Clip Coverage V2 - Complete or explicitly partial actual-clip coverage in a V2 resolution.
- Resolved
Setting Origin V2 - Origin of one fully materialized revision-2 setting value.
- Root
Motion Addressability - Known root-motion addressability behavior.
- Setting
Applicability - Whether a descriptor applies to a profile revision.
- Setting
Default V2 - Declaration/default policy for one revision-2 setting.
- Setting
Domain - Closed value domain of a setting.
- Setting
Domain V2 - Closed value domain for revision-2 settings.
- Setting
Id - Stable setting id in the closed V1 vocabulary.
- Setting
IdV2 - Stable setting id in the revision-2 engine-profile 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. - Setting
Value V2 - Closed public value vocabulary for revision-2 settings.
- Target
Addressability - Known animation-target addressability behavior.
- Target
Pointer Width - Explicit target pointer width used by Bevy’s target-id preimage.
- Unity
Animation Type V2 - Closed Unity animation-type values supported by the revision-2 profile.
- Unity
Avatar Setup V2 - Closed Unity avatar-setup values supported by the revision-2 profile.
- Unreal
Sample Rate V2 - Exact Unreal FBX animation sample-rate policy.
- 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_
CHECK_ IDS_ V2 - Current engine-owned check ids in immutable catalog order.
- ENGINE_
CLIP_ BOUNDARY_ CHECK_ ID - Stable id for the exact Unreal FBX animation-stack boundary check.
- 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.
- ENGINE_
IMPORT_ ADVICE_ V2_ ID - Immutable standalone engine-import-advice V2 contract identity.
- ENGINE_
IMPORT_ ADVICE_ V2_ MAX_ REPORT_ BYTES - Maximum serialized bytes accepted by the strict V2 reader.
- ENGINE_
IMPORT_ ADVICE_ V2_ SCHEMA_ VERSION - Standalone engine-import-advice V2 schema version.
- ENGINE_
ROOT_ MOTION_ CHECK_ ID - Stable id for exact Unity Generic root-motion routing prediction.
- ENGINE_
TRACK_ SUPPORT_ CHECK_ ID - Stable id for the exact Bevy raw animation/channel gate prediction.
- ENGINE_
UNIT_ SCALE_ CHECK_ ID - Stable id for Bevy’s exact glTF unit/static-scale prediction.
- GLTF_
ADDRESSABILITY_ V2_ ID - Immutable identity of the rich standalone glTF addressability contract.
- GLTF_
ADDRESSABILITY_ V2_ MAX_ DOMAIN_ ROWS - Maximum rows retained independently for each rich addressability domain.
- GLTF_
ADDRESSABILITY_ V2_ MAX_ EVALUATED_ SCOPES - Maximum completed check scopes implied by all bounded V2 row domains.
- GLTF_
ADDRESSABILITY_ V2_ MAX_ PATH_ BYTES - Maximum UTF-8 bytes retained by one slash-delimited target path.
- GLTF_
ADDRESSABILITY_ V2_ MAX_ PATH_ SEGMENTS - Maximum segments retained by one target path.
- GLTF_
ADDRESSABILITY_ V2_ MAX_ REPORT_ BYTES - Maximum serialized bytes accepted by the rich report reader.
- GLTF_
ADDRESSABILITY_ V2_ MAX_ SEGMENT_ BYTES - Maximum UTF-8 bytes retained by one source name or path segment.
- GLTF_
ADDRESSABILITY_ V2_ MAX_ STRUCTURAL_ REFERENCES - Maximum aggregate structural references retained by the new rich projections (the two embedded sealed inventories enforce their own bounds).
- GLTF_
ADDRESSABILITY_ V2_ MAX_ TOTAL_ TEXT_ BYTES - Maximum aggregate text retained by the new rich projections (excluding the two embedded sealed inventories, which enforce their own text bounds).
- GLTF_
ADDRESSABILITY_ V2_ SCHEMA_ VERSION - Version of the rich standalone glTF addressability envelope.
- 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.
- RESOLVED_
ENGINE_ SETTINGS_ V2_ MAX_ CLIPS - Maximum actual clip settings rows retained by the bounded V2 projection.
- SOURCE_
TRANSFORM_ PATH_ MAX_ BYTES - Maximum UTF-8 byte count of a V1 source-transform path.
Functions§
- bevy_
animation_ target_ id_ v1 - Reproduce Bevy 0.19.0’s
AnimationTargetId::from_namesexactly. - build_
bevy_ addressability_ adapter_ v2 - Build the optional exact revision-3 Bevy adapter through one check run.
- 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.
- lookup_
profile_ v2 - Find one exact revision-2 registry tuple without fallback to revision 1.
- profiles_
v1 - Enumerate the five immutable V1 engine profiles in tuple order.
- profiles_
v2 - Enumerate immutable V2-contract profile records in exact tuple order.
- project_
engine_ profile_ v2 - Project one engine-owned revision-2 profile into the core-owned V2 wire contract without changing the historical V1 projection.
- project_
prediction_ provenance_ v1 - Project one resolved engine profile and its same-load source evidence into the self-contained prediction-provenance V1 contract.
- project_
prediction_ provenance_ v2 - Project one bounded V2 engine resolution into V2 prediction provenance.
- project_
prediction_ provenance_ v3 - Project one bounded V2 engine resolution and same-load exact source evidence into V3 prediction provenance.
- project_
prediction_ provenance_ v4 - Project one revision-2 profile resolution, normalized rule inputs, and all same-load V4 source evidence.
- project_
prediction_ provenance_ v5 - Project V5 provenance by binding immutable V4 authority to the bounded same-load raw animation/channel inventory required by engine-track-support.
- project_
prediction_ provenance_ v6 - Project V6 provenance for the exact Unity Generic root-motion slice.
- project_
resolved_ engine_ settings_ v3 - Project input-validated revision-2 settings into the core-owned V3 origin-bearing contract.
- resolve_
static - Validate an engine declaration without inspecting an asset.
- resolve_
static_ v2 - Validate and fully materialize a revision-2 engine declaration.
- validate_
registry_ v1 - Validate all author-owned registry declarations and cross references.
- validate_
registry_ v2 - Validate revision-2 registry declarations and source cross-references.
Type Aliases§
- Setting
Map - String-keyed setting declarations used at the TOML-free public boundary.
- Setting
MapV2 - String-keyed setting declarations for revision-2 profiles.