Implement multi-scheme animation name mapper for Owen Animation System
Some checks failed
CI/CD Pipeline / Test & Lint (16.x) (push) Has been cancelled
CI/CD Pipeline / Test & Lint (18.x) (push) Has been cancelled
CI/CD Pipeline / Test & Lint (20.x) (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Release (push) Has been cancelled
Release / Validate Version (push) Has been cancelled
Release / Build and Test (push) Has been cancelled
Release / Create Release (push) Has been cancelled
Release / Publish to NPM (push) Has been cancelled
Release / Deploy Demo (push) Has been cancelled
Animation Processing Pipeline / Validate Animation Names (push) Has been cancelled
Animation Processing Pipeline / Process Blender Animation Assets (push) Has been cancelled
Animation Processing Pipeline / Update Animation Documentation (push) Has been cancelled
Animation Processing Pipeline / Deploy Animation Demo (push) Has been cancelled

- Added AnimationNameMapper class to handle conversion between different animation naming schemes (legacy, artist, hierarchical, semantic).
- Included methods for initialization, pattern matching, conversion, and validation of animation names.
- Developed comprehensive unit tests for the animation name converter and demo pages using Playwright.
- Created a Vite configuration for the demo application, including asset handling and optimization settings.
- Enhanced the demo with features for batch conversion, performance metrics, and responsive design.
This commit is contained in:
2025-05-24 05:18:13 +02:00
parent d513e80c07
commit ad8dbb95dd
55 changed files with 20060 additions and 6686 deletions

View File

@ -0,0 +1,163 @@
name: Animation Scheme Issue
description: Report issues specific to animation naming schemes or conversions
title: "[Scheme]: "
labels: ["animation-scheme", "naming", "needs-investigation"]
projects: ["kjanat/Owen"]
assignees:
- kjanat
body:
- type: markdown
attributes:
value: |
Report issues specific to animation naming schemes, conversions, or multi-scheme functionality.
- type: checkboxes
id: affected-schemes
attributes:
label: Affected Animation Schemes
description: Which naming schemes are affected by this issue?
options:
- label: Legacy scheme
- label: Artist scheme
- label: Hierarchical scheme
- label: Semantic scheme
- label: Multi-scheme conversion
- label: All schemes
- type: dropdown
id: issue-category
attributes:
label: Issue Category
description: What category best describes this issue?
options:
- Name Conversion Error
- Scheme Validation Failure
- Conflict Detection Issue
- Performance Problem
- Missing Animation Names
- Incorrect Mapping
- Blender Integration
- Documentation Mismatch
- API Inconsistency
validations:
required: true
- type: textarea
id: animation-names
attributes:
label: Animation Names Involved
description: Provide the specific animation names that are causing issues
placeholder: |
Source scheme: artist
Animation name: "char_walk_01"
Target scheme: semantic
Expected result: "character.movement.walk.forward"
Actual result: "character.walk.01"
validations:
required: true
- type: textarea
id: conversion-details
attributes:
label: Conversion Details
description: Provide details about the conversion or mapping issue
placeholder: |
- What conversion were you attempting?
- What was the expected behavior?
- What actually happened?
- Are there error messages?
- type: textarea
id: reproduction-code
attributes:
label: Reproduction Code
description: Provide code to reproduce the issue
render: javascript
placeholder: |
```javascript
import { AnimationNameMapper } from 'owen-animation-system';
const mapper = new AnimationNameMapper();
// Code that reproduces the issue
const result = mapper.convert('char_walk_01', 'artist', 'semantic');
console.log(result); // Shows unexpected result
```
validations:
required: true
- type: textarea
id: validation-output
attributes:
label: Validation Output
description: If you ran validation scripts, provide the output
render: shell
placeholder: |
$ npm run check:naming-conflicts
# Output from validation scripts
- type: dropdown
id: severity
attributes:
label: Severity
description: How severe is this issue?
options:
- Low - Minor inconvenience
- Medium - Affects workflow but has workarounds
- High - Breaks functionality significantly
- Critical - Prevents system usage
validations:
required: true
- type: textarea
id: environment-details
attributes:
label: Environment Details
description: Provide environment information
placeholder: |
- Owen Animation System version: v1.2.3
- Node.js version: v18.17.0
- Animation assets source: Blender 3.6
- Integration: React/Vue/Vanilla JS
- OS: Windows/macOS/Linux
- type: textarea
id: workaround
attributes:
label: Current Workaround
description: If you found a workaround, please describe it
placeholder: Describe any temporary solutions you're using
- type: checkboxes
id: impact
attributes:
label: Impact Assessment
options:
- label: Affects multiple animation assets
- label: Blocks automated processing
- label: Requires manual intervention
- label: Affects production builds
- label: Impacts team workflow
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our Code of Conduct
options:
- label: I agree to follow this project's Code of Conduct
required: true
- type: checkboxes
id: checklist
attributes:
label: Pre-submission checklist
options:
- label: I have provided specific animation names and schemes
required: true
- label: I have included reproduction code
required: true
- label: I have checked existing issues for similar problems
required: true

129
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,129 @@
name: Bug Report
description: Create a report to help us improve the Owen Animation System
title: "[Bug]: "
labels: ["bug", "needs-triage"]
projects: ["kjanat/Owen"]
assignees:
- kjanat
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please provide as much detail as possible to help us understand and reproduce the issue.
- type: textarea
id: what-happened
attributes:
label: What happened?
description: A clear and concise description of what the bug is.
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
placeholder: What should have happened instead?
validations:
required: true
- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
validations:
required: true
- type: dropdown
id: animation-scheme
attributes:
label: Animation Naming Scheme
description: Which animation naming scheme were you using when the bug occurred?
options:
- Legacy
- Artist
- Hierarchical
- Semantic
- Multiple schemes
- Not applicable
validations:
required: true
- type: dropdown
id: environment
attributes:
label: Environment
description: Where did you encounter this bug?
options:
- Browser (Web)
- Node.js
- React integration
- Vue integration
- Blender integration
- Demo application
- Documentation
- Other
validations:
required: true
- type: textarea
id: browser-info
attributes:
label: Browser/Runtime Information
description: If applicable, provide browser or runtime version information
placeholder: |
- Browser: Chrome 91.0
- Node.js: v18.17.0
- OS: Windows 11
- Owen Animation System: v1.2.3
- type: textarea
id: code-sample
attributes:
label: Code Sample
description: If applicable, provide a minimal code sample that reproduces the issue
render: javascript
placeholder: |
```javascript
import { AnimationNameMapper } from 'owen-animation-system';
const mapper = new AnimationNameMapper();
// Your code that demonstrates the issue
```
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our Code of Conduct
options:
- label: I agree to follow this project's Code of Conduct
required: true
- type: checkboxes
id: checklist
attributes:
label: Pre-submission checklist
description: Please verify the following before submitting
options:
- label: I have searched existing issues to make sure this is not a duplicate
required: true
- label: I have provided a clear and concise description of the bug
required: true
- label: I have included steps to reproduce the issue
required: true

17
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,17 @@
blank_issues_enabled: false
contact_links:
- name: Discussion Forum
url: https://github.com/kjanat/Owen/discussions
about: Ask questions, share ideas, and discuss the Owen Animation System with the community
- name: Discord Community
url: https://discord.gg/owen-animation
about: Join our Discord server for real-time chat and support
- name: Documentation
url: https://kjanat.github.io/Owen/
about: Check our comprehensive documentation and guides
- name: Multi-Scheme Guide
url: https://github.com/kjanat/Owen/blob/main/MULTI_SCHEME_GUIDE.md
about: Learn about animation naming schemes and conversions
- name: Demo Application
url: https://kjanat.github.io/Owen/demo/
about: Try the interactive demo to understand the system capabilities

139
.github/ISSUE_TEMPLATE/documentation.yml vendored Normal file
View File

@ -0,0 +1,139 @@
name: Documentation Issue
description: Report an issue with documentation or suggest improvements
title: "[Docs]: "
labels: ["documentation", "needs-review"]
projects: ["kjanat/Owen"]
assignees:
- kjanat
body:
- type: markdown
attributes:
value: |
Thanks for helping improve our documentation! Please provide details about the documentation issue or improvement.
- type: dropdown
id: doc-type
attributes:
label: Documentation Type
description: What type of documentation is affected?
options:
- API Documentation (JSDoc)
- README.md
- Multi-Scheme Guide
- Code Examples
- Demo Application
- Installation Guide
- Integration Guide
- Changelog
- Contributing Guide
- Other
validations:
required: true
- type: dropdown
id: issue-type
attributes:
label: Issue Type
description: What type of documentation issue is this?
options:
- Error/Mistake
- Missing Information
- Unclear/Confusing
- Outdated Information
- Missing Examples
- Formatting Issues
- Typo/Grammar
- Improvement Suggestion
- New Documentation Needed
validations:
required: true
- type: textarea
id: location
attributes:
label: Location
description: Where did you find this issue? Provide a link or file path if possible.
placeholder: |
- URL: https://example.com/docs/...
- File: README.md (line 45)
- Section: "Animation Name Mapping"
validations:
required: true
- type: textarea
id: current-content
attributes:
label: Current Content
description: What is the current documentation content that needs improvement?
placeholder: Copy the current text or describe what's missing
validations:
required: true
- type: textarea
id: suggested-improvement
attributes:
label: Suggested Improvement
description: How should the documentation be improved?
placeholder: |
- What should be added, changed, or removed?
- Provide suggested text if applicable
- Include code examples if relevant
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional Context
description: Any additional context about why this improvement is needed
placeholder: |
- What task were you trying to accomplish?
- What confused you?
- How would this help other users?
- type: textarea
id: code-example
attributes:
label: Code Example
description: If suggesting code documentation improvements, provide examples
render: javascript
placeholder: |
```javascript
// Current example (if exists)
// Suggested improved example
```
- type: checkboxes
id: affected-users
attributes:
label: Who would benefit from this improvement?
options:
- label: New users learning the system
- label: Experienced developers integrating the system
- label: Contributors to the project
- label: Users of specific naming schemes
- label: Blender integration users
- label: React/Vue integration users
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our Code of Conduct
options:
- label: I agree to follow this project's Code of Conduct
required: true
- type: checkboxes
id: checklist
attributes:
label: Pre-submission checklist
description: Please verify the following before submitting
options:
- label: I have checked that this documentation issue hasn't been reported already
required: true
- label: I have provided specific location information
required: true
- label: I have suggested concrete improvements
required: true

View File

@ -0,0 +1,144 @@
name: Feature Request
description: Suggest an idea for the Owen Animation System
title: "[Feature]: "
labels: ["enhancement", "feature-request"]
projects: ["kjanat/Owen"]
assignees:
- kjanat
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a new feature! Please provide as much detail as possible to help us understand your request.
- type: textarea
id: problem-description
attributes:
label: Problem Description
description: Is your feature request related to a problem? Please describe the problem or limitation you're experiencing.
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
id: proposed-solution
attributes:
label: Proposed Solution
description: Describe the solution you'd like to see implemented.
placeholder: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Describe any alternative solutions or features you've considered.
placeholder: A clear and concise description of any alternative solutions or features you've considered.
- type: dropdown
id: feature-area
attributes:
label: Feature Area
description: Which area of the system would this feature affect?
options:
- Animation Name Mapping
- Naming Schemes (Legacy/Artist/Hierarchical/Semantic)
- Core Animation System
- Blender Integration
- Documentation
- Demo Application
- Build System
- Testing Framework
- Performance
- Developer Experience
- API Design
- Other
validations:
required: true
- type: dropdown
id: priority
attributes:
label: Priority
description: How important is this feature to you?
options:
- Low - Nice to have
- Medium - Would improve workflow
- High - Blocking current work
- Critical - Major limitation
validations:
required: true
- type: textarea
id: use-case
attributes:
label: Use Case
description: Describe how you would use this feature and what benefits it would provide.
placeholder: |
Describe your specific use case:
- What are you trying to accomplish?
- How would this feature help?
- Who else might benefit from this feature?
validations:
required: true
- type: textarea
id: implementation-ideas
attributes:
label: Implementation Ideas
description: If you have ideas about how this could be implemented, please share them.
placeholder: |
Any thoughts on implementation approach:
- API design suggestions
- Integration points
- Configuration options
- Breaking changes considerations
- type: textarea
id: code-example
attributes:
label: Code Example
description: If applicable, provide a code example showing how you'd like to use this feature.
render: javascript
placeholder: |
```javascript
// Example of how the feature might be used
const mapper = new AnimationNameMapper();
// Your proposed API usage
mapper.newFeature(options);
```
- type: checkboxes
id: compatibility
attributes:
label: Compatibility Considerations
description: Please consider the impact of this feature
options:
- label: This feature should be backward compatible
- label: This feature may require breaking changes (acceptable)
- label: This feature should work with all naming schemes
- label: This feature affects the public API
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our Code of Conduct
options:
- label: I agree to follow this project's Code of Conduct
required: true
- type: checkboxes
id: checklist
attributes:
label: Pre-submission checklist
description: Please verify the following before submitting
options:
- label: I have searched existing issues and discussions for similar requests
required: true
- label: I have provided a clear description of the problem and proposed solution
required: true
- label: I have considered the impact on existing functionality
required: true