Files
Owen/CHANGELOG.md
Kaj Kowalski 22d24e41e0 Refactor code for consistency and readability
- Updated import statements to use consistent formatting across files.
- Adjusted method definitions and class constructors for uniform spacing and style.
- Simplified promise handling and error messages in state handlers.
- Enhanced state transition logic in various state handlers.
- Improved quirk animation handling in WaitStateHandler.
- Streamlined animation loading and caching mechanisms in AnimationLoader.
- Updated Vite configuration for aliasing.
2025-05-24 01:25:07 +02:00

3.4 KiB

Changelog

All notable changes to the Owen Animation System will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.1 - 2025-05-24

Changed

  • 🎨 Standardized code style throughout the codebase
  • 🔧 Converted semicolons to non-semicolons according to JavaScript Standard Style
  • 📝 Improved code consistency and readability

1.0.0 - 2025-05-23

Added

  • 🎉 Initial release of Owen Animation System
  • Complete state machine implementation with Wait, React, Type, and Sleep states
  • 🤖 Emotional response system for character animations
  • 🏗️ Clean architecture with dependency injection and factory patterns
  • 📝 Animation naming convention parser
  • 🔄 Smooth animation transitions with fade in/out support
  • Performance-optimized animation caching
  • 🧩 Extensible design for custom states and emotions
  • 📊 Comprehensive JSDoc documentation
  • 🎮 Interactive demo with keyboard controls
  • 📦 TypeScript type definitions
  • 🛠️ Development tooling (ESLint, Vite, JSDoc)

Architecture

  • Core Classes:

    • OwenAnimationContext - Main system controller
    • AnimationClip - Individual animation management
    • AnimationClipFactory - Animation creation with metadata parsing
    • StateHandler - Abstract base for state implementations
    • StateFactory - Dynamic state handler creation
  • State Handlers:

    • WaitStateHandler - Idle state with quirk animations
    • ReactStateHandler - User input response with emotion analysis
    • TypeStateHandler - Typing state with emotional variations
    • SleepStateHandler - Inactive state management
  • Animation Loaders:

    • AnimationLoader - Abstract animation loading interface
    • GLTFAnimationLoader - GLTF/GLB model animation loader
  • Factories:

    • OwenSystemFactory - Main system assembly factory

Features

  • Animation System:

    • Support for Loop (L), Quirk (Q), Transition (T), and Nested animations
    • Automatic metadata parsing from animation names
    • Efficient animation caching and resource management
    • Smooth transitions between states and emotions
  • State Machine:

    • Four core states: Wait, React, Type, Sleep
    • Emotional state transitions (Neutral, Angry, Shocked, Happy, Sad)
    • Automatic inactivity detection and sleep transitions
    • Message analysis for emotional response determination
  • Developer Experience:

    • Comprehensive TypeScript type definitions
    • JSDoc documentation for all public APIs
    • Example implementations and demos
    • ESLint configuration for code quality
    • Vite development server setup

Documentation

  • Complete README with installation and usage instructions
  • API documentation via JSDoc
  • Code examples for basic and advanced usage
  • Animation naming convention guide
  • Troubleshooting section

Examples

  • Basic browser demo with Three.js integration
  • Simple Node.js example for testing
  • Interactive controls for state transitions
  • Mock model implementation for development