Skip to main content

Crate animsmith_engine

Crate animsmith_engine 

Source
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§

BevyAddressabilityRuleSourceV1
Immutable primary-source authority for one Bevy addressability rule.
BevyAnimationAssetLabelError
A Bevy animation asset-label index outside the bounded raw-source animation inventory.
BevyAnimationAssetLabelV1
One exact Bevy 0.19.0 GltfAssetLabel::Animation(index) display selector.
BevyAnimationTargetV1
One typed AnimationClip target ID observed from Bevy.
BevyGltfAddressabilityProjectionV2
Structured rich projections paired with the one engine-addressability check.
BevyGltfAddressabilityRulesV1
Separately versioned exact Bevy glTF addressability authority.
BevyGltfAddressabilitySettingsV2
Exact revision-3 settings consumed by the addressability rule bundle.
BevyHarnessIdentityV1
Frozen executable and resolved-lock identity.
BevyIndexedLabelV1
One source-indexed Bevy subasset label.
BevyNamedWinnerV1
One name-to-source-index winner in Bevy’s named map.
BevyObservationV1
Typed observations retained from one Bevy load lifecycle.
BevyPredictionReferenceV1
Exact V2 document identity plus its canonical V4 provenance header.
BevyReadbackV1
Closed standalone root with a canonical self-identity.
BevyWarningV1
Bounded redacted tracing metadata, never formatted warning prose.
CoordinateBasis
Known target coordinate basis.
EngineAddressabilityCheck
The engine addressability check over borrowed same-load source evidence.
EngineAddressabilityCheckV2
Current-lint V2 engine addressability check. Standalone addressability artifacts keep using EngineAddressabilityCheck and immutable V1 wire evidence.
EngineAddressabilityCheckV3
Current-output V3 engine addressability check.
EngineClipBoundaryCheck
Engine-owned Unreal 5.8 check over exact same-load FBX stack timing.
EngineDeclaration
Full public input to phase-one static resolution.
EngineDeclarationV2
Public input to revision-2 static settings resolution.
EngineImportAdviceClipEvidenceV1
Exact engine-neutral evidence retained beside one suggestion row.
EngineImportAdviceClipV1
One file-scoped normalized clip and its source/intent/measurement evidence.
EngineImportAdviceIdentityV1
Domain-separated canonical identity of one import-advice payload.
EngineImportAdviceIdentityV2
Domain-separated canonical identity of one V2 advice envelope.
EngineImportAdviceInput
Staged bounded reader input for the standalone advice contract.
EngineImportAdviceInputV2
Staged bounded reader input for the V2 advice contract.
EngineImportAdviceProjectionFieldV2
One exact native importer field and its resolved authority.
EngineImportAdviceProjectionV2
Exact bounded document-level importer projection.
EngineImportAdviceReadbackV1
Strict read-side representation of one import-advice document.
EngineImportAdviceReadbackV2
Validated strict read-side representation of one V2 advice document.
EngineImportAdviceToolReadbackV1
Validated producer metadata from strict readback.
EngineImportAdviceV1
Standalone producer envelope for generate import-advice.
EngineImportAdviceV2
Standalone producer envelope for document-level V2 import advice.
EngineProfile
One immutable, revisioned registry profile.
EngineProfileV2
One immutable revision-2 engine-profile registry record.
EngineRootMotionCheck
Engine-owned check for the exact Unity Generic revision-2 FBX profile.
EngineTrackSupportCheck
Engine-owned check for Bevy revision 3’s two materialized loading gates.
EngineUnitScaleCheck
Engine-owned check for the exact Bevy revision-2 glTF/GLB profile.
GltfAddressabilityBevyAdapterV2
Exact Bevy adapter paired with one real engine-addressability evaluation.
GltfAddressabilityBevyReadbackV2
Strict read-side exact Bevy adapter.
GltfAddressabilityCheckReadbackV2
Strict read-side representation of the one rich check evaluation.
GltfAddressabilityInventoryV2
Rich engine-neutral inventory adapter that reuses the immutable V1 animation inventory beside the raw scene/node/skin sidecar.
GltfAddressabilityNamedMapV2
One independently coverage-qualified named-map projection.
GltfAddressabilityNamedMapWinnerV2
One exact named-map winner, separate from typed index labels.
GltfAddressabilityReadbackV2
Fully validated read-side V2 addressability report.
GltfAddressabilitySceneV2
One exact typed Bevy scene label.
GltfAddressabilitySkinV2
One source skin’s distinct conditional skin and eager inverse-bind labels.
GltfAddressabilityTargetChannelV2
One source animation channel contributing to a unique target node.
GltfAddressabilityTargetV2
One unique source animation target node and all contributing channels.
GltfAddressabilityTargetValueV2
Exact Bevy target path and reproduced UUID.
GltfAddressabilityV2
Standalone producer envelope for rich glTF addressability.
GltfAnimationAddressabilityAnimationSetV1
Coverage-qualified source animation rows.
GltfAnimationAddressabilityAnimationV1
One exact source-order raw animation row.
GltfAnimationAddressabilityBevyAdapterV1
Exact optional Bevy adapter embedded in the standalone envelope.
GltfAnimationAddressabilityBevyReadbackV1
Validated read-side Bevy adapter.
GltfAnimationAddressabilityChannelSetV1
Coverage-qualified raw channel rows for one source animation.
GltfAnimationAddressabilityChannelV1
One exact source-order raw animation channel row.
GltfAnimationAddressabilityCheckReadbackV1
Validated read-side representation of the exact embedded check subset.
GltfAnimationAddressabilityIdentityV1
Domain-separated identity of one engine-neutral animation inventory.
GltfAnimationAddressabilityInput
Staged bounded reader input for a standalone addressability document.
GltfAnimationAddressabilityInventoryV1
Engine-neutral glTF animation inventory projected from one immutable load.
GltfAnimationAddressabilityReadbackV1
Fully validated read-side standalone document.
GltfAnimationAddressabilityToolReadbackV1
Validated read-side producer identity.
GltfAnimationAddressabilityV1
Standalone producer envelope for generate addressability.
GltfAnimationCoverageV1
Coverage and typed reason for one raw animation row domain.
GltfAnimationTargetV1
Source target identity for one raw animation channel.
PrimarySource
One primary source retained by an immutable profile record.
PrimarySourceV2
Primary source retained by an immutable revision-2 profile record.
ProfileFact
One stable fact and its explicit evidence state.
ProfileSelection
Exact four-field key selecting one revisioned engine profile.
ResolvedClipSettings
Fully materialized settings for one real clip.
ResolvedClipSettingsV2
One materialized revision-2 clip settings row.
ResolvedEngineSettingsWorkV2
Bounded work accounting for one V2 settings resolution.
ResolvedProfile
Input-validated profile and fully materialized deterministic settings.
ResolvedProfileSettingsV2
Input-validated revision-2 profile settings.
ResolvedProfileV2
V2 bounded engine resolution retaining a valid canonical prefix.
ResolvedSettingV2
One fully materialized revision-2 setting and its value origin.
SettingDescriptor
Immutable descriptor for one stable setting id.
SettingDescriptorV2
Immutable descriptor for one revision-2 setting.
StaticResolution
Validated profile and declarations that require no asset I/O.
StaticResolutionV2
Validated revision-2 profile and fully materialized document settings.
UnityClipAdviceV1
Exact Unity per-clip importer suggestions.
UnityDocumentAdviceV1
Exact Unity document-level importer suggestions.

Enums§

AnimationAddressability
Known animation-asset addressability behavior.
BakeOrExtract
Exact policy for a Unity root transform component.
BevyAnimationTargetIdError
A bounded Bevy animation-target UUID could not be reproduced.
BevyConformanceCodeV1
A closed reason prediction and observation differ.
BevyConformanceV1
Result of exact comparison with the independently strict-read V2 report.
BevyGltfHandlerEnvironmentV2
Supported version-pinned glTF extension-handler environment.
BevyLoadErrorCodeV1
Closed, prose-free classification of a public Bevy load error variant.
BevyLoadMeshesStateV2
Exact state of Bevy’s RenderAssetUsages mesh-loading flags.
BevyNamedMapDuplicatePolicyV1
Named-map duplicate policy in the pinned Bevy loader.
BevyReadbackV1Error
Bounded strict-reader failure for Bevy readback V1.
BevyTerminalStateV1
Terminal state observed from stock Bevy asset loading.
ConversionControl
A known importer control relevant to source-to-target conversion.
DefaultStatus
Verified default status of a setting.
EngineImportAdviceError
Import-advice producer or strict-reader contract failure.
EngineImportAdviceMovementOwnerV1
Project-declared owner of one world-movement component.
EngineImportAdvicePayloadV1
Profile-specific V1 advice payload.
EngineImportAdviceProjectionValueV2
Native scalar carried by a V2 importer projection.
EngineImportAdviceReadError
Bounded-reader transport/shape failure.
EngineImportAdviceRefusalReasonV1
Exact reason why V1 emitted no clip suggestions.
EngineImportAdviceRefusalReasonV2
Why a V2 document projection was refused.
EngineImportAdviceSourceNameV1
Bounded source animation/take name evidence.
EngineImportAdviceSourceUnavailableReasonV1
Stable raw-source reason retained for a source-name observation.
EngineImportAdviceStateV1
Whether requested advice could be emitted without guessing.
EngineImportAdviceStateV2
Whether the exact V2 document projection was emitted.
FactId
Stable id for one immutable fact in every V1 profile record.
FactState
Evidence state of one profile fact.
FactValue
Typed value of a known immutable profile fact.
ForwardAxis
Signed world axis used as forward.
GltfAddressabilityNamedMapKindV2
One Bevy named-map domain.
GltfAddressabilityProjectionV2
Exact projection state for one rich addressability value.
GltfAddressabilityReadErrorV2
Bounded rich report reader failure.
GltfAddressabilitySettingOriginV2
Origin of one exact setting consumed by the rich Bevy projection.
GltfAddressabilityUnavailableReasonV2
Stable reason one exact rich Bevy projection is required-unavailable.
GltfAddressabilityV2Error
Invalid rich glTF addressability input or adapter evidence.
GltfAnimationAddressabilityAdapterError
Typed failure while constructing the optional exact Bevy adapter for a glTF animation-addressability document.
GltfAnimationAddressabilityError
A producer or reader encountered an invalid addressability V1 contract.
GltfAnimationAddressabilityReadError
A serialized standalone addressability document could not be read safely.
GltfAnimationChannelPropertyV1
Format-neutral property targeted by one raw animation channel.
GltfAnimationCoverageStateV1
Exhaustiveness state of one raw animation row domain.
GltfAnimationObservationV1
Exact state of one scalar raw animation observation.
GltfAnimationTargetKindV1
Source target identity kind for one raw animation channel.
GltfAnimationUnavailableReasonV1
Stable reason why a raw animation observation is incomplete.
Handedness
Coordinate-system handedness.
ImportHandling
Known importer treatment for a fact domain.
InvalidSettingReason
Why a closed setting value failed its declared domain.
LinearUnit
Known target linear unit.
PredictionProvenanceProjectionError
Failure to project already-resolved engine and same-load source evidence.
PredictionRuleError
Typed failure while binding an engine-owned check to immutable evidence.
RegistryValidationError
Author-owned invariant failure in the built-in V1 registry.
RegistryValidationErrorV2
Author-owned invariant failure in the revision-2 registry.
ResolutionError
Typed failure from static or input-dependent engine resolution.
ResolutionErrorV2
Typed failure from revision-2 settings resolution.
ResolvedClipCoverageReasonV2
Stable reason why V2 settings do not cover every actual clip.
ResolvedClipCoverageV2
Complete or explicitly partial actual-clip coverage in a V2 resolution.
ResolvedSettingOriginV2
Origin of one fully materialized revision-2 setting value.
RootMotionAddressability
Known root-motion addressability behavior.
SettingApplicability
Whether a descriptor applies to a profile revision.
SettingDefaultV2
Declaration/default policy for one revision-2 setting.
SettingDomain
Closed value domain of a setting.
SettingDomainV2
Closed value domain for revision-2 settings.
SettingId
Stable setting id in the closed V1 vocabulary.
SettingIdV2
Stable setting id in the revision-2 engine-profile vocabulary.
SettingLocation
Location of one settings declaration.
SettingScope
Configuration scope of a setting.
SettingValue
Closed public value vocabulary for engine settings.
SettingValueKind
Runtime kind of one closed SettingValue variant.
SettingValueV2
Closed public value vocabulary for revision-2 settings.
TargetAddressability
Known animation-target addressability behavior.
TargetPointerWidth
Explicit target pointer width used by Bevy’s target-id preimage.
UnityAnimationTypeV2
Closed Unity animation-type values supported by the revision-2 profile.
UnityAvatarSetupV2
Closed Unity avatar-setup values supported by the revision-2 profile.
UnrealSampleRateV2
Exact Unreal FBX animation sample-rate policy.
UpAxis
Positive world axis used as up.

Constants§

BEVY_READBACK_V1_ID
Immutable schema identifier for Bevy readback V1.
BEVY_READBACK_V1_LOCK_BYTES
Frozen byte count of the committed excluded-tool lock graph.
BEVY_READBACK_V1_LOCK_SHA256
Frozen SHA-256 of the committed excluded-tool lock graph.
BEVY_READBACK_V1_MAX_REPORT_BYTES
Maximum serialized readback bytes accepted by the strict reader.
BEVY_READBACK_V1_MAX_ROWS
Maximum rows in each observed collection.
BEVY_READBACK_V1_MAX_UPDATES
Maximum App::update calls before the harness stops.
BEVY_READBACK_V1_MAX_WORK
Maximum aggregate observed rows.
BEVY_READBACK_V1_RUSTC
Exact compiler identity required by the isolated harness build script.
BEVY_READBACK_V1_SCHEMA_VERSION
Immutable schema version for Bevy readback V1.
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_names exactly.
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.
compare_bevy_readback_v1
Compare a V1 readback with an independently strict-read V2 prediction.
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_bevy_readback_prediction_v1
Verify a stored V1 result against its independently strict-read V2 input.
validate_bevy_readback_v1
Strictly read one complete bounded V1 document.
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§

SettingMap
String-keyed setting declarations used at the TOML-free public boundary.
SettingMapV2
String-keyed setting declarations for revision-2 profiles.