Add state handler implementations and documentation
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

- 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
This commit is contained in:
2025-05-24 12:31:01 +02:00
parent e217642174
commit e2402d8fdc
66 changed files with 27837 additions and 5 deletions

View File

@ -0,0 +1,377 @@
@font-face {
font-family: "Open Sans";
font-weight: normal;
font-style: normal;
src: url("../fonts/OpenSans-Regular-webfont.eot");
src:
local("Open Sans"),
local("OpenSans"),
url("../fonts/OpenSans-Regular-webfont.eot?#iefix")
format("embedded-opentype"),
url("../fonts/OpenSans-Regular-webfont.woff") format("woff"),
url("../fonts/OpenSans-Regular-webfont.svg#open_sansregular") format("svg");
}
@font-face {
font-family: "Open Sans Light";
font-weight: normal;
font-style: normal;
src: url("../fonts/OpenSans-Light-webfont.eot");
src:
local("Open Sans Light"),
local("OpenSans Light"),
url("../fonts/OpenSans-Light-webfont.eot?#iefix")
format("embedded-opentype"),
url("../fonts/OpenSans-Light-webfont.woff") format("woff"),
url("../fonts/OpenSans-Light-webfont.svg#open_sanslight") format("svg");
}
html {
overflow: auto;
background-color: #fff;
font-size: 14px;
}
body {
font-family: "Open Sans", sans-serif;
line-height: 1.5;
color: #4d4e53;
background-color: white;
}
a,
a:visited,
a:active {
color: #0095dd;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
header {
display: block;
padding: 0px 4px;
}
tt,
code,
kbd,
samp {
font-family: Consolas, Monaco, "Andale Mono", monospace;
}
.class-description {
font-size: 130%;
line-height: 140%;
margin-bottom: 1em;
margin-top: 1em;
}
.class-description:empty {
margin: 0;
}
#main {
float: left;
width: 70%;
}
article dl {
margin-bottom: 40px;
}
article img {
max-width: 100%;
}
section {
display: block;
background-color: #fff;
padding: 12px 24px;
border-bottom: 1px solid #ccc;
margin-right: 30px;
}
.variation {
display: none;
}
.signature-attributes {
font-size: 60%;
color: #aaa;
font-style: italic;
font-weight: lighter;
}
nav {
display: block;
float: right;
margin-top: 28px;
width: 30%;
box-sizing: border-box;
border-left: 1px solid #ccc;
padding-left: 16px;
}
nav ul {
font-family: "Lucida Grande", "Lucida Sans Unicode", arial, sans-serif;
font-size: 100%;
line-height: 17px;
padding: 0;
margin: 0;
list-style-type: none;
}
nav ul a,
nav ul a:visited,
nav ul a:active {
font-family: Consolas, Monaco, "Andale Mono", monospace;
line-height: 18px;
color: #4d4e53;
}
nav h3 {
margin-top: 12px;
}
nav li {
margin-top: 6px;
}
footer {
display: block;
padding: 6px;
margin-top: 12px;
font-style: italic;
font-size: 90%;
}
h1,
h2,
h3,
h4 {
font-weight: 200;
margin: 0;
}
h1 {
font-family: "Open Sans Light", sans-serif;
font-size: 48px;
letter-spacing: -2px;
margin: 12px 24px 20px;
}
h2,
h3.subsection-title {
font-size: 30px;
font-weight: 700;
letter-spacing: -1px;
margin-bottom: 12px;
}
h3 {
font-size: 24px;
letter-spacing: -0.5px;
margin-bottom: 12px;
}
h4 {
font-size: 18px;
letter-spacing: -0.33px;
margin-bottom: 12px;
color: #4d4e53;
}
h5,
.container-overview .subsection-title {
font-size: 120%;
font-weight: bold;
letter-spacing: -0.01em;
margin: 8px 0 3px 0;
}
h6 {
font-size: 100%;
letter-spacing: -0.01em;
margin: 6px 0 3px 0;
font-style: italic;
}
table {
border-spacing: 0;
border: 0;
border-collapse: collapse;
}
td,
th {
border: 1px solid #ddd;
margin: 0px;
text-align: left;
vertical-align: top;
padding: 4px 6px;
display: table-cell;
}
thead tr {
background-color: #ddd;
font-weight: bold;
}
th {
border-right: 1px solid #aaa;
}
tr > th:last-child {
border-right: 1px solid #ddd;
}
.ancestors,
.attribs {
color: #999;
}
.ancestors a,
.attribs a {
color: #999 !important;
text-decoration: none;
}
.clear {
clear: both;
}
.important {
font-weight: bold;
color: #950b02;
}
.yes-def {
text-indent: -1000px;
}
.type-signature {
color: #aaa;
}
.name,
.signature {
font-family: Consolas, Monaco, "Andale Mono", monospace;
}
.details {
margin-top: 14px;
border-left: 2px solid #ddd;
}
.details dt {
width: 120px;
float: left;
padding-left: 10px;
padding-top: 6px;
}
.details dd {
margin-left: 70px;
}
.details ul {
margin: 0;
}
.details ul {
list-style-type: none;
}
.details li {
margin-left: 30px;
padding-top: 6px;
}
.details pre.prettyprint {
margin: 0;
}
.details .object-value {
padding-top: 0;
}
.description {
margin-bottom: 1em;
margin-top: 1em;
}
.code-caption {
font-style: italic;
font-size: 107%;
margin: 0;
}
.source {
border: 1px solid #ddd;
width: 80%;
overflow: auto;
}
.prettyprint.source {
width: inherit;
}
.source code {
font-size: 100%;
line-height: 18px;
display: block;
padding: 4px 12px;
margin: 0;
background-color: #fff;
color: #4d4e53;
}
.prettyprint code span.line {
display: inline-block;
}
.prettyprint.linenums {
padding-left: 70px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.prettyprint.linenums ol {
padding-left: 0;
}
.prettyprint.linenums li {
border-left: 3px #ddd solid;
}
.prettyprint.linenums li.selected,
.prettyprint.linenums li.selected * {
background-color: lightyellow;
}
.prettyprint.linenums li * {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
.params .name,
.props .name,
.name code {
color: #4d4e53;
font-family: Consolas, Monaco, "Andale Mono", monospace;
font-size: 100%;
}
.params td.description > p:first-child,
.props td.description > p:first-child {
margin-top: 0;
padding-top: 0;
}
.params td.description > p:last-child,
.props td.description > p:last-child {
margin-bottom: 0;
padding-bottom: 0;
}
.disabled {
color: #454545;
}

View File

@ -0,0 +1,111 @@
/* JSDoc prettify.js theme */
/* plain text */
.pln {
color: #000000;
font-weight: normal;
font-style: normal;
}
/* string content */
.str {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a keyword */
.kwd {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* a comment */
.com {
font-weight: normal;
font-style: italic;
}
/* a type name */
.typ {
color: #000000;
font-weight: normal;
font-style: normal;
}
/* a literal value */
.lit {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* punctuation */
.pun {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* lisp open bracket */
.opn {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* lisp close bracket */
.clo {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* a markup tag name */
.tag {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a markup attribute name */
.atn {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a markup attribute value */
.atv {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a declaration */
.dec {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* a variable name */
.var {
color: #000000;
font-weight: normal;
font-style: normal;
}
/* a function name */
.fun {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* Specify class=linenums on a pre to get line numbering */
ol.linenums {
margin-top: 0;
margin-bottom: 0;
}

View File

@ -0,0 +1,163 @@
/* Tomorrow Theme */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* Pretty printing styles. Used with prettify.js. */
/* SPAN elements with the classes below are added by prettyprint. */
/* plain text */
.pln {
color: #4d4d4c;
}
@media screen {
/* string content */
.str {
color: #718c00;
}
/* a keyword */
.kwd {
color: #8959a8;
}
/* a comment */
.com {
color: #8e908c;
}
/* a type name */
.typ {
color: #4271ae;
}
/* a literal value */
.lit {
color: #f5871f;
}
/* punctuation */
.pun {
color: #4d4d4c;
}
/* lisp open bracket */
.opn {
color: #4d4d4c;
}
/* lisp close bracket */
.clo {
color: #4d4d4c;
}
/* a markup tag name */
.tag {
color: #c82829;
}
/* a markup attribute name */
.atn {
color: #f5871f;
}
/* a markup attribute value */
.atv {
color: #3e999f;
}
/* a declaration */
.dec {
color: #f5871f;
}
/* a variable name */
.var {
color: #c82829;
}
/* a function name */
.fun {
color: #4271ae;
}
}
/* Use higher contrast and text-weight for printable form. */
@media print, projection {
.str {
color: #060;
}
.kwd {
color: #006;
font-weight: bold;
}
.com {
color: #600;
font-style: italic;
}
.typ {
color: #404;
font-weight: bold;
}
.lit {
color: #044;
}
.pun,
.opn,
.clo {
color: #440;
}
.tag {
color: #006;
font-weight: bold;
}
.atn {
color: #404;
}
.atv {
color: #060;
}
}
/* Style */
/*
pre.prettyprint {
background: white;
font-family: Consolas, Monaco, 'Andale Mono', monospace;
font-size: 12px;
line-height: 1.5;
border: 1px solid #ccc;
padding: 10px; }
*/
/* Specify class=linenums on a pre to get line numbering */
ol.linenums {
margin-top: 0;
margin-bottom: 0;
}
/* IE indents via margin-left */
li.L0,
li.L1,
li.L2,
li.L3,
li.L4,
li.L5,
li.L6,
li.L7,
li.L8,
li.L9 {
/* */
}
/* Alternate shading for lines */
li.L1,
li.L3,
li.L5,
li.L7,
li.L9 {
/* */
}