Files
Owen/docs/module-animation.AnimationClipFactory.html
Kaj Kowalski e2402d8fdc
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
Release / Validate Version (push) Has been cancelled
CI/CD Pipeline / Release (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
Multi-Scheme Testing / Validate Naming Schemes (artist) (push) Has been cancelled
Multi-Scheme Testing / Validate Naming Schemes (hierarchical) (push) Has been cancelled
Multi-Scheme Testing / Validate Naming Schemes (legacy) (push) Has been cancelled
Multi-Scheme Testing / Validate Naming Schemes (semantic) (push) Has been cancelled
Multi-Scheme Testing / Test Scheme Conversions (push) Has been cancelled
Multi-Scheme Testing / Validate Demo Functionality (push) Has been cancelled
Multi-Scheme Testing / Performance Benchmarks (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, artist) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, hierarchical) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, legacy) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (100, semantic) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, artist) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, hierarchical) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, legacy) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (1000, semantic) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, artist) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, hierarchical) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, legacy) (push) Has been cancelled
Performance Testing / Animation Conversion Performance (5000, semantic) (push) Has been cancelled
Performance Testing / Memory Usage Analysis (push) Has been cancelled
Performance Testing / Demo Performance Audit (push) Has been cancelled
Performance Testing / Generate Performance Report (push) Has been cancelled
Add state handler implementations and documentation
- Implemented StateHandler class with methods for entering, exiting, and updating states.
- Created TypeStateHandler for handling typing state with appropriate animations and transitions.
- Developed WaitStateHandler for managing idle state with quirk animations.
- Added JSDoc documentation for all new classes and methods.
- Included CSS styles for documentation formatting and syntax highlighting.

fix: update standard configuration to include ignore for scripts directory
2025-05-24 13:12:14 +02:00

568 lines
16 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>JSDoc: Class: AnimationClipFactory</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link
type="text/css"
rel="stylesheet"
href="styles/prettify-tomorrow.css"
/>
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css" />
</head>
<body>
<div id="main">
<h1 class="page-title">Class: AnimationClipFactory</h1>
<section>
<header>
<h2>
<span class="attribs"><span class="type-signature"></span></span>
<span class="ancestors"
><a href="module-animation.html">animation</a>.</span
>AnimationClipFactory<span class="signature">(animationLoader)</span
><span class="type-signature"></span>
</h2>
<div class="class-description">
<p>Factory for creating animation clips with parsed metadata</p>
</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="AnimationClipFactory">
<span class="type-signature"></span>new AnimationClipFactory<span
class="signature"
>(animationLoader)</span
><span class="type-signature"></span>
</h4>
<div class="description">
<p>Create an animation clip factory</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>animationLoader</code></td>
<td class="type">
<span class="param-type">AnimationLoader</span>
</td>
<td class="description last">
<p>The animation loader instance</p>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line117"
>line 117</a
>
</li>
</ul>
</dd>
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id="animationLoader">
<span class="type-signature"></span>animationLoader<span
class="type-signature"
>
:AnimationLoader</span
>
</h4>
<div class="description">
<p>The animation loader for loading animation data</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">AnimationLoader</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line127">line 127</a>
</li>
</ul>
</dd>
</dl>
<h4 class="name" id="clipCache">
<span class="type-signature"></span>clipCache<span
class="type-signature"
>
:Map.&lt;string, AnimationClip></span
>
</h4>
<div class="description">
<p>Cache for created animation clips</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Map.&lt;string, AnimationClip></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line133">line 133</a>
</li>
</ul>
</dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="clearCache">
<span class="type-signature"></span>clearCache<span
class="signature"
>()</span
><span class="type-signature"> &rarr; {void}</span>
</h4>
<div class="description">
<p>Clear the clip cache</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line245">line 245</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>Type</dt>
<dd>
<span class="param-type">void</span>
</dd>
</dl>
<h4 class="name" id="createClip">
<span class="type-signature">(async) </span>createClip<span
class="signature"
>(name)</span
><span class="type-signature">
&rarr; {Promise.&lt;AnimationClip>}</span
>
</h4>
<div class="description">
<p>Create an animation clip from a name</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"><p>The animation name</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line210">line 210</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The created animation clip</p>
</div>
<dl>
<dt>Type</dt>
<dd>
<span class="param-type">Promise.&lt;AnimationClip></span>
</dd>
</dl>
<h4 class="name" id="createClipsFromModel">
<span class="type-signature">(async) </span
>createClipsFromModel<span class="signature">(model)</span
><span class="type-signature">
&rarr; {Promise.&lt;Map.&lt;string, AnimationClip>>}</span
>
</h4>
<div class="description">
<p>Create all animation clips from a model's animations</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>model</code></td>
<td class="type">
<span class="param-type">THREE.Object3D</span>
</td>
<td class="description last">
<p>The 3D model containing animations</p>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line229">line 229</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Map of animation name to clip</p>
</div>
<dl>
<dt>Type</dt>
<dd>
<span class="param-type"
>Promise.&lt;Map.&lt;string, AnimationClip>></span
>
</dd>
</dl>
<h4 class="name" id="getCachedClip">
<span class="type-signature"></span>getCachedClip<span
class="signature"
>(name)</span
><span class="type-signature">
&rarr; {AnimationClip|undefined}</span
>
</h4>
<div class="description">
<p>Get cached clip by name</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"><p>The animation name</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line254">line 254</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The cached clip or undefined</p>
</div>
<dl>
<dt>Type</dt>
<dd>
<span class="param-type">AnimationClip</span>
|
<span class="param-type">undefined</span>
</dd>
</dl>
<h4 class="name" id="parseAnimationName">
<span class="type-signature"></span>parseAnimationName<span
class="signature"
>(name)</span
><span class="type-signature"> &rarr; {Object}</span>
</h4>
<div class="description">
<p>
Parse animation name and create clip metadata Format:
[state]<em>[action]</em>[type] or
[state]<em>[action]2[toState]</em>[emotion]_T
</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<p>The animation name to parse</p>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="animation_AnimationClip.js.html"
>animation/AnimationClip.js</a
>,
<a href="animation_AnimationClip.js.html#line142">line 142</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Parsed metadata object</p>
</div>
<dl>
<dt>Type</dt>
<dd>
<span class="param-type">Object</span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2>
<h3>Modules</h3>
<ul>
<li><a href="module-StateHandler.html">StateHandler</a></li>
<li><a href="module-animation.html">animation</a></li>
<li>
<a href="module-animation_AnimationConstants.html"
>animation/AnimationConstants</a
>
</li>
<li>
<a href="module-animation_AnimationNameMapper.html"
>animation/AnimationNameMapper</a
>
</li>
<li><a href="module-constants.html">constants</a></li>
<li><a href="module-core.html">core</a></li>
<li><a href="module-factories.html">factories</a></li>
<li><a href="module-loaders.html">loaders</a></li>
<li><a href="module-owen.html">owen</a></li>
<li><a href="module-states.html">states</a></li>
</ul>
<h3>Classes</h3>
<ul>
<li>
<a href="module-StateHandler.StateHandler.html">StateHandler</a>
</li>
<li><a href="module-animation.AnimationClip.html">AnimationClip</a></li>
<li>
<a href="module-animation.AnimationClipFactory.html"
>AnimationClipFactory</a
>
</li>
<li>
<a
href="module-animation_AnimationNameMapper.AnimationNameMapper.html"
>AnimationNameMapper</a
>
</li>
<li>
<a href="module-core.OwenAnimationContext.html"
>OwenAnimationContext</a
>
</li>
<li>
<a href="module-factories.OwenSystemFactory.html"
>OwenSystemFactory</a
>
</li>
<li>
<a href="module-loaders.AnimationLoader.html">AnimationLoader</a>
</li>
<li>
<a href="module-loaders.GLTFAnimationLoader.html"
>GLTFAnimationLoader</a
>
</li>
<li>
<a href="module-states.ReactStateHandler.html">ReactStateHandler</a>
</li>
<li>
<a href="module-states.SleepStateHandler.html">SleepStateHandler</a>
</li>
<li><a href="module-states.StateFactory.html">StateFactory</a></li>
<li>
<a href="module-states.TypeStateHandler.html">TypeStateHandler</a>
</li>
<li>
<a href="module-states.WaitStateHandler.html">WaitStateHandler</a>
</li>
</ul>
</nav>
<br class="clear" />
<footer>
Documentation generated by
<a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Sat May 24
2025 12:29:38 GMT+0200 (Midden-Europese zomertijd)
</footer>
<script>
prettyPrint();
</script>
<script src="scripts/linenumber.js"></script>
</body>
</html>