Owen Animation System

Multi-Scheme Animation Naming

Experience the power of flexible animation naming with support for Legacy, Artist, Hierarchical, and Semantic schemes.

View on GitHub

Key Features

🎯

Multi-Scheme Support

Seamlessly work with Legacy, Artist, Hierarchical, and Semantic naming schemes in the same project.

🔄

Automatic Conversion

Convert animation names between schemes automatically with built-in validation and error handling.

Performance Optimized

Efficient caching and lazy loading ensure smooth performance even with large animation libraries.

🛠️

Developer Tools

Comprehensive CLI tools, validation scripts, and documentation generators for streamlined workflows.

Live Animation Conversion

Converted Names:

Legacy: -
Artist: -
Hierarchical: -
Semantic: -

Usage Examples

import { OwenAnimationContext } from '@kjanat/owen'

// Initialize with semantic naming scheme
const animationContext = new OwenAnimationContext({
  namingScheme: 'semantic',
  autoConvert: true
})

// Play an animation
await animationContext.playAnimation('character_walk_forward')

// The system automatically handles scheme conversions
await animationContext.playAnimation('CharacterWalkForward') // Artist scheme
import { AnimationNameMapper } from '@kjanat/owen'

const mapper = new AnimationNameMapper()

// Convert between schemes
const semanticName = mapper.convert('CharacterWalkForward', 'semantic')
// Result: 'character_walk_forward'

const hierarchicalName = mapper.convert('walk_forward', 'hierarchical')
// Result: 'character.movement.walk.forward'

// Batch conversion
const animations = ['jump', 'run', 'idle']
const converted = mapper.convertBatch(animations, 'legacy', 'artist')
// Result: ['Jump', 'Run', 'Idle']
import { AnimationValidator } from '@kjanat/owen'

const validator = new AnimationValidator()

// Validate animation name for specific scheme
const isValid = validator.validate('character_walk_forward', 'semantic')
// Result: true

// Get validation details
const validation = validator.validateDetailed('InvalidName123', 'semantic')
console.log(validation.errors) // Array of validation errors
console.log(validation.suggestions) // Suggested corrections