diff --git a/README.md b/README.md index c649e1f..271844f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ![SDF-2D logo](media/logo-colored.svg) SDF-2D library -A graphics library for real-time rendering of 2D signed distance fields on the web. +A graphics library to enable the real-time rendering of 2D signed distance fields on the web. ![screenshot of a bumpy tunnel](media/tunnels-screenshot.png) @@ -16,18 +16,18 @@ A graphics library for real-time rendering of 2D signed distance fields on the w ## Features - Works with both WebGL and WebGL2 - > The former is mainly needed to support older iPhones. + > The former is mostly required for supporting iPhones. - Performant even on low-end mobile devices > Try it out yourself! -- Comes with a number of built-in shapes and lights +- Has a number of built-in shapes and lights - Easily extensible with new shapes -- Antialiasing is built in -- Built-in quality autoscaling +- Antialiasing is implemented +- Has built-in quality autoscaling - Requires no boilerplate code - - WebGL and its extensions are detected automatically - - Shaders are compiled in parallel, without blocking - - Context loss is handled with automatic restoration - - Can be used without thinking about the GPU _(although for stunning results, it should be kept in mind)_ + - Automatic detection of WebGL and its extensions is provided + - Parallel, non-blocking shader compiling + - Context lost is handled with automatic restoration + - Can be used without thinking of the GPU _(although for stunning results it, should be kept in mind)_ ![four screenshots from mobiles](media/mobile-screenshots.png) @@ -65,7 +65,7 @@ main(); For further examples, please visit the following repositories: - [Minimal example (using Webpack)](https://github.com/schmelczerandras/sdf-2d-minimal-example) -- [More complex example](https://github.com/schmelczerandras/sdf-2d-more-complex-example) +- [More complex example](https://github.com/schmelczerandras/sdf-2d-minimal-example) - [Source for the demo page](https://github.com/schmelczerandras/sdf-2d-demo) - [Source for decla.red, the multiplayer game](https://github.com/schmelczerandras/decla.red) diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e2ac661..0000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css new file mode 100644 index 0000000..3c0dcab --- /dev/null +++ b/docs/assets/css/main.css @@ -0,0 +1 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4,.tsd-index-panel h3{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:80%}sub{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure,form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button]{-webkit-appearance:button;cursor:pointer;*overflow:visible}input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.hljs{display:inline-block;padding:.5em;background:#fff;color:#000}.hljs-comment,.hljs-annotation,.hljs-template_comment,.diff .hljs-header,.hljs-chunk,.apache .hljs-cbracket{color:green}.hljs-keyword,.hljs-id,.hljs-built_in,.css .smalltalk .hljs-class,.hljs-winutils,.bash .hljs-variable,.tex .hljs-command,.hljs-request,.hljs-status,.nginx .hljs-title{color:blue}.xml .hljs-tag{color:blue}.xml .hljs-tag .hljs-value{color:blue}.hljs-string,.hljs-title,.hljs-parent,.hljs-tag .hljs-value,.hljs-rules .hljs-value{color:#a31515}.ruby .hljs-symbol{color:#a31515}.ruby .hljs-symbol .hljs-string{color:#a31515}.hljs-template_tag,.django .hljs-variable,.hljs-addition,.hljs-flow,.hljs-stream,.apache .hljs-tag,.hljs-date,.tex .hljs-formula,.coffeescript .hljs-attribute{color:#a31515}.ruby .hljs-string,.hljs-decorator,.hljs-filter .hljs-argument,.hljs-localvars,.hljs-array,.hljs-attr_selector,.hljs-pseudo,.hljs-pi,.hljs-doctype,.hljs-deletion,.hljs-envvar,.hljs-shebang,.hljs-preprocessor,.hljs-pragma,.userType,.apache .hljs-sqbracket,.nginx .hljs-built_in,.tex .hljs-special,.hljs-prompt{color:#2b91af}.hljs-phpdoc,.hljs-javadoc,.hljs-xmlDocTag{color:gray}.vhdl .hljs-typename{font-weight:bold}.vhdl .hljs-string{color:#666}.vhdl .hljs-literal{color:#a31515}.vhdl .hljs-attribute{color:#00b0e8}.xml .hljs-attribute{color:red}ul.tsd-descriptions>li>:first-child,.tsd-panel>:first-child,.col>:first-child,.col-11>:first-child,.col-10>:first-child,.col-9>:first-child,.col-8>:first-child,.col-7>:first-child,.col-6>:first-child,.col-5>:first-child,.col-4>:first-child,.col-3>:first-child,.col-2>:first-child,.col-1>:first-child,ul.tsd-descriptions>li>:first-child>:first-child,.tsd-panel>:first-child>:first-child,.col>:first-child>:first-child,.col-11>:first-child>:first-child,.col-10>:first-child>:first-child,.col-9>:first-child>:first-child,.col-8>:first-child>:first-child,.col-7>:first-child>:first-child,.col-6>:first-child>:first-child,.col-5>:first-child>:first-child,.col-4>:first-child>:first-child,.col-3>:first-child>:first-child,.col-2>:first-child>:first-child,.col-1>:first-child>:first-child,ul.tsd-descriptions>li>:first-child>:first-child>:first-child,.tsd-panel>:first-child>:first-child>:first-child,.col>:first-child>:first-child>:first-child,.col-11>:first-child>:first-child>:first-child,.col-10>:first-child>:first-child>:first-child,.col-9>:first-child>:first-child>:first-child,.col-8>:first-child>:first-child>:first-child,.col-7>:first-child>:first-child>:first-child,.col-6>:first-child>:first-child>:first-child,.col-5>:first-child>:first-child>:first-child,.col-4>:first-child>:first-child>:first-child,.col-3>:first-child>:first-child>:first-child,.col-2>:first-child>:first-child>:first-child,.col-1>:first-child>:first-child>:first-child{margin-top:0}ul.tsd-descriptions>li>:last-child,.tsd-panel>:last-child,.col>:last-child,.col-11>:last-child,.col-10>:last-child,.col-9>:last-child,.col-8>:last-child,.col-7>:last-child,.col-6>:last-child,.col-5>:last-child,.col-4>:last-child,.col-3>:last-child,.col-2>:last-child,.col-1>:last-child,ul.tsd-descriptions>li>:last-child>:last-child,.tsd-panel>:last-child>:last-child,.col>:last-child>:last-child,.col-11>:last-child>:last-child,.col-10>:last-child>:last-child,.col-9>:last-child>:last-child,.col-8>:last-child>:last-child,.col-7>:last-child>:last-child,.col-6>:last-child>:last-child,.col-5>:last-child>:last-child,.col-4>:last-child>:last-child,.col-3>:last-child>:last-child,.col-2>:last-child>:last-child,.col-1>:last-child>:last-child,ul.tsd-descriptions>li>:last-child>:last-child>:last-child,.tsd-panel>:last-child>:last-child>:last-child,.col>:last-child>:last-child>:last-child,.col-11>:last-child>:last-child>:last-child,.col-10>:last-child>:last-child>:last-child,.col-9>:last-child>:last-child>:last-child,.col-8>:last-child>:last-child>:last-child,.col-7>:last-child>:last-child>:last-child,.col-6>:last-child>:last-child>:last-child,.col-5>:last-child>:last-child>:last-child,.col-4>:last-child>:last-child>:last-child,.col-3>:last-child>:last-child>:last-child,.col-2>:last-child>:last-child>:last-child,.col-1>:last-child>:last-child>:last-child{margin-bottom:0}.container{max-width:1200px;margin:0 auto;padding:0 40px}@media(max-width: 640px){.container{padding:0 20px}}.container-main{padding-bottom:200px}.row{display:flex;position:relative;margin:0 -10px}.row:after{visibility:hidden;display:block;content:"";clear:both;height:0}.col,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{box-sizing:border-box;float:left;padding:0 10px}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.tsd-kind-icon{display:block;position:relative;padding-left:20px;text-indent:-20px}.tsd-kind-icon:before{content:"";display:inline-block;vertical-align:middle;width:17px;height:17px;margin:0 3px 2px 0;background-image:url(../images/icons.png)}@media(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi){.tsd-kind-icon:before{background-image:url(../images/icons@2x.png);background-size:238px 204px}}.tsd-signature.tsd-kind-icon:before{background-position:0 -153px}.tsd-kind-object-literal>.tsd-kind-icon:before{background-position:0px -17px}.tsd-kind-object-literal.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -17px}.tsd-kind-object-literal.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -17px}.tsd-kind-class>.tsd-kind-icon:before{background-position:0px -34px}.tsd-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -34px}.tsd-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -34px}.tsd-kind-class.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -51px}.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -51px}.tsd-kind-class.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -51px}.tsd-kind-interface>.tsd-kind-icon:before{background-position:0px -68px}.tsd-kind-interface.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -68px}.tsd-kind-interface.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -68px}.tsd-kind-interface.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -85px}.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -85px}.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -85px}.tsd-kind-namespace>.tsd-kind-icon:before{background-position:0px -102px}.tsd-kind-namespace.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -102px}.tsd-kind-namespace.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -102px}.tsd-kind-module>.tsd-kind-icon:before{background-position:0px -102px}.tsd-kind-module.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -102px}.tsd-kind-module.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -102px}.tsd-kind-enum>.tsd-kind-icon:before{background-position:0px -119px}.tsd-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -119px}.tsd-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -119px}.tsd-kind-enum-member>.tsd-kind-icon:before{background-position:0px -136px}.tsd-kind-enum-member.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -136px}.tsd-kind-enum-member.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -136px}.tsd-kind-signature>.tsd-kind-icon:before{background-position:0px -153px}.tsd-kind-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -153px}.tsd-kind-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -153px}.tsd-kind-type-alias>.tsd-kind-icon:before{background-position:0px -170px}.tsd-kind-type-alias.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -170px}.tsd-kind-type-alias.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -170px}.tsd-kind-type-alias.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -187px}.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -187px}.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -187px}.tsd-kind-variable>.tsd-kind-icon:before{background-position:-136px -0px}.tsd-kind-variable.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -0px}.tsd-kind-variable.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -0px}.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -0px}.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -0px}.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -0px}.tsd-kind-property>.tsd-kind-icon:before{background-position:-136px -0px}.tsd-kind-property.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -0px}.tsd-kind-property.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -0px}.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -0px}.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -0px}.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -0px}.tsd-kind-get-signature>.tsd-kind-icon:before{background-position:-136px -17px}.tsd-kind-get-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -17px}.tsd-kind-get-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -17px}.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -17px}.tsd-kind-set-signature>.tsd-kind-icon:before{background-position:-136px -34px}.tsd-kind-set-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -34px}.tsd-kind-set-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -34px}.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -34px}.tsd-kind-accessor>.tsd-kind-icon:before{background-position:-136px -51px}.tsd-kind-accessor.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -51px}.tsd-kind-accessor.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -51px}.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -51px}.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -51px}.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -51px}.tsd-kind-function>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-function.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-function.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-method>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-method.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-method.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-call-signature>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-call-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-call-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-function.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:-136px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -85px}.tsd-kind-method.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:-136px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -85px}.tsd-kind-constructor>.tsd-kind-icon:before{background-position:-136px -102px}.tsd-kind-constructor.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -102px}.tsd-kind-constructor.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -102px}.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -102px}.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -102px}.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -102px}.tsd-kind-constructor-signature>.tsd-kind-icon:before{background-position:-136px -102px}.tsd-kind-constructor-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -102px}.tsd-kind-constructor-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -102px}.tsd-kind-index-signature>.tsd-kind-icon:before{background-position:-136px -119px}.tsd-kind-index-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -119px}.tsd-kind-index-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -119px}.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -119px}.tsd-kind-event>.tsd-kind-icon:before{background-position:-136px -136px}.tsd-kind-event.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -136px}.tsd-kind-event.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -136px}.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -136px}.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -136px}.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -136px}.tsd-is-static>.tsd-kind-icon:before{background-position:-136px -153px}.tsd-is-static.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -153px}.tsd-is-static.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -153px}.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -153px}.tsd-is-static.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -153px}.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -153px}.tsd-is-static.tsd-kind-function>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-function.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-function.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-method>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-method.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-method.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-call-signature>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-event>.tsd-kind-icon:before{background-position:-136px -187px}.tsd-is-static.tsd-kind-event.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -187px}.tsd-is-static.tsd-kind-event.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -187px}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{from{opacity:1;visibility:visible}to{opacity:0}}@keyframes fade-in-delayed{0%{opacity:0}33%{opacity:0}100%{opacity:1}}@keyframes fade-out-delayed{0%{opacity:1;visibility:visible}66%{opacity:0}100%{opacity:0}}@keyframes shift-to-left{from{transform:translate(0, 0)}to{transform:translate(-25%, 0)}}@keyframes unshift-to-left{from{transform:translate(-25%, 0)}to{transform:translate(0, 0)}}@keyframes pop-in-from-right{from{transform:translate(100%, 0)}to{transform:translate(0, 0)}}@keyframes pop-out-to-right{from{transform:translate(0, 0);visibility:visible}to{transform:translate(100%, 0)}}body{background:#fdfdfd;font-family:"Segoe UI",sans-serif;font-size:16px;color:#222}a{color:#4da6ff;text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:.2em;margin:0;font-size:14px;background-color:rgba(0,0,0,.04)}pre{padding:10px}pre code{padding:0;font-size:100%;background-color:transparent}.tsd-typography{line-height:1.333em}.tsd-typography ul{list-style:square;padding:0 0 0 20px;margin:0}.tsd-typography h4,.tsd-typography .tsd-index-panel h3,.tsd-index-panel .tsd-typography h3,.tsd-typography h5,.tsd-typography h6{font-size:1em;margin:0}.tsd-typography h5,.tsd-typography h6{font-weight:normal}.tsd-typography p,.tsd-typography ul,.tsd-typography ol{margin:1em 0}@media(min-width: 901px)and (max-width: 1024px){html.default .col-content{width:72%}html.default .col-menu{width:28%}html.default .tsd-navigation{padding-left:10px}}@media(max-width: 900px){html.default .col-content{float:none;width:100%}html.default .col-menu{position:fixed !important;overflow:auto;-webkit-overflow-scrolling:touch;z-index:1024;top:0 !important;bottom:0 !important;left:auto !important;right:0 !important;width:100%;padding:20px 20px 0 0;max-width:450px;visibility:hidden;background-color:#fff;transform:translate(100%, 0)}html.default .col-menu>*:last-child{padding-bottom:20px}html.default .overlay{content:"";display:block;position:fixed;z-index:1023;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.75);visibility:hidden}html.default.to-has-menu .overlay{animation:fade-in .4s}html.default.to-has-menu header,html.default.to-has-menu footer,html.default.to-has-menu .col-content{animation:shift-to-left .4s}html.default.to-has-menu .col-menu{animation:pop-in-from-right .4s}html.default.from-has-menu .overlay{animation:fade-out .4s}html.default.from-has-menu header,html.default.from-has-menu footer,html.default.from-has-menu .col-content{animation:unshift-to-left .4s}html.default.from-has-menu .col-menu{animation:pop-out-to-right .4s}html.default.has-menu body{overflow:hidden}html.default.has-menu .overlay{visibility:visible}html.default.has-menu header,html.default.has-menu footer,html.default.has-menu .col-content{transform:translate(-25%, 0)}html.default.has-menu .col-menu{visibility:visible;transform:translate(0, 0)}}.tsd-page-title{padding:70px 0 20px 0;margin:0 0 40px 0;background:#fff;box-shadow:0 0 5px rgba(0,0,0,.35)}.tsd-page-title h1{margin:0}.tsd-breadcrumb{margin:0;padding:0;color:#707070}.tsd-breadcrumb a{color:#707070;text-decoration:none}.tsd-breadcrumb a:hover{text-decoration:underline}.tsd-breadcrumb li{display:inline}.tsd-breadcrumb li:after{content:" / "}html.minimal .container{margin:0}html.minimal .container-main{padding-top:50px;padding-bottom:0}html.minimal .content-wrap{padding-left:300px}html.minimal .tsd-navigation{position:fixed !important;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;z-index:1;left:0;top:40px;bottom:0;width:300px;padding:20px;margin:0}html.minimal .tsd-member .tsd-member{margin-left:0}html.minimal .tsd-page-toolbar{position:fixed;z-index:2}html.minimal #tsd-filter .tsd-filter-group{right:0;transform:none}html.minimal footer{background-color:transparent}html.minimal footer .container{padding:0}html.minimal .tsd-generator{padding:0}@media(max-width: 900px){html.minimal .tsd-navigation{display:none}html.minimal .content-wrap{padding-left:0}}dl.tsd-comment-tags{overflow:hidden}dl.tsd-comment-tags dt{float:left;padding:1px 5px;margin:0 10px 0 0;border-radius:4px;border:1px solid #707070;color:#707070;font-size:.8em;font-weight:normal}dl.tsd-comment-tags dd{margin:0 0 10px 0}dl.tsd-comment-tags dd:before,dl.tsd-comment-tags dd:after{display:table;content:" "}dl.tsd-comment-tags dd pre,dl.tsd-comment-tags dd:after{clear:both}dl.tsd-comment-tags p{margin:0}.tsd-panel.tsd-comment .lead{font-size:1.1em;line-height:1.333em;margin-bottom:2em}.tsd-panel.tsd-comment .lead:last-child{margin-bottom:0}.toggle-protected .tsd-is-private{display:none}.toggle-public .tsd-is-private,.toggle-public .tsd-is-protected,.toggle-public .tsd-is-private-protected{display:none}.toggle-inherited .tsd-is-inherited{display:none}.toggle-only-exported .tsd-is-not-exported{display:none}.toggle-externals .tsd-is-external{display:none}#tsd-filter{position:relative;display:inline-block;height:40px;vertical-align:bottom}.no-filter #tsd-filter{display:none}#tsd-filter .tsd-filter-group{display:inline-block;height:40px;vertical-align:bottom;white-space:nowrap}#tsd-filter input{display:none}@media(max-width: 900px){#tsd-filter .tsd-filter-group{display:block;position:absolute;top:40px;right:20px;height:auto;background-color:#fff;visibility:hidden;transform:translate(50%, 0);box-shadow:0 0 4px rgba(0,0,0,.25)}.has-options #tsd-filter .tsd-filter-group{visibility:visible}.to-has-options #tsd-filter .tsd-filter-group{animation:fade-in .2s}.from-has-options #tsd-filter .tsd-filter-group{animation:fade-out .2s}#tsd-filter label,#tsd-filter .tsd-select{display:block;padding-right:20px}}footer{border-top:1px solid #eee;background-color:#fff}footer.with-border-bottom{border-bottom:1px solid #eee}footer .tsd-legend-group{font-size:0}footer .tsd-legend{display:inline-block;width:25%;padding:0;font-size:16px;list-style:none;line-height:1.333em;vertical-align:top}@media(max-width: 900px){footer .tsd-legend{width:50%}}.tsd-hierarchy{list-style:square;padding:0 0 0 20px;margin:0}.tsd-hierarchy .target{font-weight:bold}.tsd-index-panel .tsd-index-content{margin-bottom:-30px !important}.tsd-index-panel .tsd-index-section{margin-bottom:30px !important}.tsd-index-panel h3{margin:0 -20px 10px -20px;padding:0 20px 10px 20px;border-bottom:1px solid #eee}.tsd-index-panel ul.tsd-index-list{-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3;-webkit-column-gap:20px;-moz-column-gap:20px;-ms-column-gap:20px;-o-column-gap:20px;column-gap:20px;padding:0;list-style:none;line-height:1.333em}@media(max-width: 900px){.tsd-index-panel ul.tsd-index-list{-webkit-column-count:1;-moz-column-count:1;-ms-column-count:1;-o-column-count:1;column-count:1}}@media(min-width: 901px)and (max-width: 1024px){.tsd-index-panel ul.tsd-index-list{-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}}.tsd-index-panel ul.tsd-index-list li{-webkit-page-break-inside:avoid;-moz-page-break-inside:avoid;-ms-page-break-inside:avoid;-o-page-break-inside:avoid;page-break-inside:avoid}.tsd-index-panel a,.tsd-index-panel .tsd-parent-kind-module a{color:#9600ff}.tsd-index-panel .tsd-parent-kind-interface a{color:#647f1b}.tsd-index-panel .tsd-parent-kind-enum a{color:#937210}.tsd-index-panel .tsd-parent-kind-class a{color:#0672de}.tsd-index-panel .tsd-kind-module a{color:#9600ff}.tsd-index-panel .tsd-kind-interface a{color:#647f1b}.tsd-index-panel .tsd-kind-enum a{color:#937210}.tsd-index-panel .tsd-kind-class a{color:#0672de}.tsd-index-panel .tsd-is-private a{color:#707070}.tsd-flag{display:inline-block;padding:1px 5px;border-radius:4px;color:#fff;background-color:#707070;text-indent:0;font-size:14px;font-weight:normal}.tsd-anchor{position:absolute;top:-100px}.tsd-member{position:relative}.tsd-member .tsd-anchor+h3{margin-top:0;margin-bottom:0;border-bottom:none}.tsd-navigation{margin:0 0 0 40px}.tsd-navigation a{display:block;padding-top:2px;padding-bottom:2px;border-left:2px solid transparent;color:#222;text-decoration:none;transition:border-left-color .1s}.tsd-navigation a:hover{text-decoration:underline}.tsd-navigation ul{margin:0;padding:0;list-style:none}.tsd-navigation li{padding:0}.tsd-navigation.primary{padding-bottom:40px}.tsd-navigation.primary a{display:block;padding-top:6px;padding-bottom:6px}.tsd-navigation.primary ul li a{padding-left:5px}.tsd-navigation.primary ul li li a{padding-left:25px}.tsd-navigation.primary ul li li li a{padding-left:45px}.tsd-navigation.primary ul li li li li a{padding-left:65px}.tsd-navigation.primary ul li li li li li a{padding-left:85px}.tsd-navigation.primary ul li li li li li li a{padding-left:105px}.tsd-navigation.primary>ul{border-bottom:1px solid #eee}.tsd-navigation.primary li{border-top:1px solid #eee}.tsd-navigation.primary li.current>a{font-weight:bold}.tsd-navigation.primary li.label span{display:block;padding:20px 0 6px 5px;color:#707070}.tsd-navigation.primary li.globals+li>span,.tsd-navigation.primary li.globals+li>a{padding-top:20px}.tsd-navigation.secondary{max-height:calc(100vh - 1rem - 40px);overflow:auto;position:-webkit-sticky;position:sticky;top:calc(.5rem + 40px);transition:.3s}.tsd-navigation.secondary.tsd-navigation--toolbar-hide{max-height:calc(100vh - 1rem);top:.5rem}.tsd-navigation.secondary ul{transition:opacity .2s}.tsd-navigation.secondary ul li a{padding-left:25px}.tsd-navigation.secondary ul li li a{padding-left:45px}.tsd-navigation.secondary ul li li li a{padding-left:65px}.tsd-navigation.secondary ul li li li li a{padding-left:85px}.tsd-navigation.secondary ul li li li li li a{padding-left:105px}.tsd-navigation.secondary ul li li li li li li a{padding-left:125px}.tsd-navigation.secondary ul.current a{border-left-color:#eee}.tsd-navigation.secondary li.focus>a,.tsd-navigation.secondary ul.current li.focus>a{border-left-color:#000}.tsd-navigation.secondary li.current{margin-top:20px;margin-bottom:20px;border-left-color:#eee}.tsd-navigation.secondary li.current>a{font-weight:bold}@media(min-width: 901px){.menu-sticky-wrap{position:static}}.tsd-panel{margin:20px 0;padding:20px;background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.25)}.tsd-panel:empty{display:none}.tsd-panel>h1,.tsd-panel>h2,.tsd-panel>h3{margin:1.5em -20px 10px -20px;padding:0 20px 10px 20px;border-bottom:1px solid #eee}.tsd-panel>h1.tsd-before-signature,.tsd-panel>h2.tsd-before-signature,.tsd-panel>h3.tsd-before-signature{margin-bottom:0;border-bottom:0}.tsd-panel table{display:block;width:100%;overflow:auto;margin-top:10px;word-break:normal;word-break:keep-all}.tsd-panel table th{font-weight:bold}.tsd-panel table th,.tsd-panel table td{padding:6px 13px;border:1px solid #ddd}.tsd-panel table tr{background-color:#fff;border-top:1px solid #ccc}.tsd-panel table tr:nth-child(2n){background-color:#f8f8f8}.tsd-panel-group{margin:60px 0}.tsd-panel-group>h1,.tsd-panel-group>h2,.tsd-panel-group>h3{padding-left:20px;padding-right:20px}#tsd-search{transition:background-color .2s}#tsd-search .title{position:relative;z-index:2}#tsd-search .field{position:absolute;left:0;top:0;right:40px;height:40px}#tsd-search .field input{box-sizing:border-box;position:relative;top:-50px;z-index:1;width:100%;padding:0 10px;opacity:0;outline:0;border:0;background:transparent;color:#222}#tsd-search .field label{position:absolute;overflow:hidden;right:-40px}#tsd-search .field input,#tsd-search .title{transition:opacity .2s}#tsd-search .results{position:absolute;visibility:hidden;top:40px;width:100%;margin:0;padding:0;list-style:none;box-shadow:0 0 4px rgba(0,0,0,.25)}#tsd-search .results li{padding:0 10px;background-color:#fdfdfd}#tsd-search .results li:nth-child(even){background-color:#fff}#tsd-search .results li.state{display:none}#tsd-search .results li.current,#tsd-search .results li:hover{background-color:#eee}#tsd-search .results a{display:block}#tsd-search .results a:before{top:10px}#tsd-search .results span.parent{color:#707070;font-weight:normal}#tsd-search.has-focus{background-color:#eee}#tsd-search.has-focus .field input{top:0;opacity:1}#tsd-search.has-focus .title{z-index:0;opacity:0}#tsd-search.has-focus .results{visibility:visible}#tsd-search.loading .results li.state.loading{display:block}#tsd-search.failure .results li.state.failure{display:block}.tsd-signature{margin:0 0 1em 0;padding:10px;border:1px solid #eee;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:14px;overflow-x:auto}.tsd-signature.tsd-kind-icon{padding-left:30px}.tsd-signature.tsd-kind-icon:before{top:10px;left:10px}.tsd-panel>.tsd-signature{margin-left:-20px;margin-right:-20px;border-width:1px 0}.tsd-panel>.tsd-signature.tsd-kind-icon{padding-left:40px}.tsd-panel>.tsd-signature.tsd-kind-icon:before{left:20px}.tsd-signature-symbol{color:#707070;font-weight:normal}.tsd-signature-type{font-style:italic;font-weight:normal}.tsd-signatures{padding:0;margin:0 0 1em 0;border:1px solid #eee}.tsd-signatures .tsd-signature{margin:0;border-width:1px 0 0 0;transition:background-color .1s}.tsd-signatures .tsd-signature:first-child{border-top-width:0}.tsd-signatures .tsd-signature.current{background-color:#eee}.tsd-signatures.active>.tsd-signature{cursor:pointer}.tsd-panel>.tsd-signatures{margin-left:-20px;margin-right:-20px;border-width:1px 0}.tsd-panel>.tsd-signatures .tsd-signature.tsd-kind-icon{padding-left:40px}.tsd-panel>.tsd-signatures .tsd-signature.tsd-kind-icon:before{left:20px}.tsd-panel>a.anchor+.tsd-signatures{border-top-width:0;margin-top:-20px}ul.tsd-descriptions{position:relative;overflow:hidden;padding:0;list-style:none}ul.tsd-descriptions.active>.tsd-description{display:none}ul.tsd-descriptions.active>.tsd-description.current{display:block}ul.tsd-descriptions.active>.tsd-description.fade-in{animation:fade-in-delayed .3s}ul.tsd-descriptions.active>.tsd-description.fade-out{animation:fade-out-delayed .3s;position:absolute;display:block;top:0;left:0;right:0;opacity:0;visibility:hidden}ul.tsd-descriptions h4,ul.tsd-descriptions .tsd-index-panel h3,.tsd-index-panel ul.tsd-descriptions h3{font-size:16px;margin:1em 0 .5em 0}ul.tsd-parameters,ul.tsd-type-parameters{list-style:square;margin:0;padding-left:20px}ul.tsd-parameters>li.tsd-parameter-signature,ul.tsd-type-parameters>li.tsd-parameter-signature{list-style:none;margin-left:-20px}ul.tsd-parameters h5,ul.tsd-type-parameters h5{font-size:16px;margin:1em 0 .5em 0}ul.tsd-parameters .tsd-comment,ul.tsd-type-parameters .tsd-comment{margin-top:-0.5em}.tsd-sources{font-size:14px;color:#707070;margin:0 0 1em 0}.tsd-sources a{color:#707070;text-decoration:underline}.tsd-sources ul,.tsd-sources p{margin:0 !important}.tsd-sources ul{list-style:none;padding:0}.tsd-page-toolbar{position:fixed;z-index:1;top:0;left:0;width:100%;height:40px;color:#333;background:#fff;border-bottom:1px solid #eee;transition:transform .3s linear}.tsd-page-toolbar a{color:#333;text-decoration:none}.tsd-page-toolbar a.title{font-weight:bold}.tsd-page-toolbar a.title:hover{text-decoration:underline}.tsd-page-toolbar .table-wrap{display:table;width:100%;height:40px}.tsd-page-toolbar .table-cell{display:table-cell;position:relative;white-space:nowrap;line-height:40px}.tsd-page-toolbar .table-cell:first-child{width:100%}.tsd-page-toolbar--hide{transform:translateY(-100%)}.tsd-select .tsd-select-list li:before,.tsd-select .tsd-select-label:before,.tsd-widget:before{content:"";display:inline-block;width:40px;height:40px;margin:0 -8px 0 0;background-image:url(../images/widgets.png);background-repeat:no-repeat;text-indent:-1024px;vertical-align:bottom}@media(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi){.tsd-select .tsd-select-list li:before,.tsd-select .tsd-select-label:before,.tsd-widget:before{background-image:url(../images/widgets@2x.png);background-size:320px 40px}}.tsd-widget{display:inline-block;overflow:hidden;opacity:.6;height:40px;transition:opacity .1s,background-color .2s;vertical-align:bottom;cursor:pointer}.tsd-widget:hover{opacity:.8}.tsd-widget.active{opacity:1;background-color:#eee}.tsd-widget.no-caption{width:40px}.tsd-widget.no-caption:before{margin:0}.tsd-widget.search:before{background-position:0 0}.tsd-widget.menu:before{background-position:-40px 0}.tsd-widget.options:before{background-position:-80px 0}.tsd-widget.options,.tsd-widget.menu{display:none}@media(max-width: 900px){.tsd-widget.options,.tsd-widget.menu{display:inline-block}}input[type=checkbox]+.tsd-widget:before{background-position:-120px 0}input[type=checkbox]:checked+.tsd-widget:before{background-position:-160px 0}.tsd-select{position:relative;display:inline-block;height:40px;transition:opacity .1s,background-color .2s;vertical-align:bottom;cursor:pointer}.tsd-select .tsd-select-label{opacity:.6;transition:opacity .2s}.tsd-select .tsd-select-label:before{background-position:-240px 0}.tsd-select.active .tsd-select-label{opacity:.8}.tsd-select.active .tsd-select-list{visibility:visible;opacity:1;transition-delay:0s}.tsd-select .tsd-select-list{position:absolute;visibility:hidden;top:40px;left:0;margin:0;padding:0;opacity:0;list-style:none;box-shadow:0 0 4px rgba(0,0,0,.25);transition:visibility 0s .2s,opacity .2s}.tsd-select .tsd-select-list li{padding:0 20px 0 0;background-color:#fdfdfd}.tsd-select .tsd-select-list li:before{background-position:40px 0}.tsd-select .tsd-select-list li:nth-child(even){background-color:#fff}.tsd-select .tsd-select-list li:hover{background-color:#eee}.tsd-select .tsd-select-list li.selected:before{background-position:-200px 0}@media(max-width: 900px){.tsd-select .tsd-select-list{top:0;left:auto;right:100%;margin-right:-5px}.tsd-select .tsd-select-label:before{background-position:-280px 0}}img{max-width:100%} diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js deleted file mode 100644 index 60aef28..0000000 --- a/docs/assets/hierarchy.js +++ /dev/null @@ -1 +0,0 @@ -window.hierarchyData = "eJyNjs0KgzAQhN9lztHiD1JytW8hImmSYmhMSjbSg+Tdi1WhPbWXYRnmm50FwftI4F1Z9QxB36yW0XhH4AvKalUnJg2OSxBPcbUaDHfjFHhRnhnmYMEhrSDSdFJ7hobjyg8sH+NkwbYoOCKpbO3JNoNBjsaqoB14V9RNnxiKuvn433rrw222rQny3xU0ioemQe5oJt9s/l31Y1lK6QWJ4mRz" \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css deleted file mode 100644 index e6a0dd1..0000000 --- a/docs/assets/highlight.css +++ /dev/null @@ -1,106 +0,0 @@ -:root { - --light-hl-0: #0000FF; - --dark-hl-0: #569CD6; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #001080; - --dark-hl-2: #9CDCFE; - --light-hl-3: #AF00DB; - --dark-hl-3: #C586C0; - --light-hl-4: #795E26; - --dark-hl-4: #DCDCAA; - --light-hl-5: #098658; - --dark-hl-5: #B5CEA8; - --light-hl-6: #A31515; - --dark-hl-6: #CE9178; - --light-hl-7: #0070C1; - --dark-hl-7: #4FC1FF; - --light-hl-8: #800000; - --dark-hl-8: #808080; - --light-hl-9: #800000; - --dark-hl-9: #569CD6; - --light-hl-10: #E50000; - --dark-hl-10: #9CDCFE; - --light-hl-11: #0000FF; - --dark-hl-11: #CE9178; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); - --hl-11: var(--light-hl-11); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); - --hl-11: var(--dark-hl-11); - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); - --hl-11: var(--light-hl-11); - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); - --hl-11: var(--dark-hl-11); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -.hl-6 { color: var(--hl-6); } -.hl-7 { color: var(--hl-7); } -.hl-8 { color: var(--hl-8); } -.hl-9 { color: var(--hl-9); } -.hl-10 { color: var(--hl-10); } -.hl-11 { color: var(--hl-11); } -pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js deleted file mode 100644 index 4fbadc5..0000000 --- a/docs/assets/icons.js +++ /dev/null @@ -1,18 +0,0 @@ -(function() { - addIcons(); - function addIcons() { - if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); - const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; - svg.style.display = "none"; - if (location.protocol === "file:") updateUseElements(); - } - - function updateUseElements() { - document.querySelectorAll("use").forEach(el => { - if (el.getAttribute("href").includes("#icon-")) { - el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); - } - }); - } -})() \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg deleted file mode 100644 index be7798f..0000000 --- a/docs/assets/icons.svg +++ /dev/null @@ -1 +0,0 @@ -MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/assets/images/icons.png b/docs/assets/images/icons.png new file mode 100644 index 0000000..3836d5f Binary files /dev/null and b/docs/assets/images/icons.png differ diff --git a/docs/assets/images/icons@2x.png b/docs/assets/images/icons@2x.png new file mode 100644 index 0000000..5a209e2 Binary files /dev/null and b/docs/assets/images/icons@2x.png differ diff --git a/docs/assets/images/widgets.png b/docs/assets/images/widgets.png new file mode 100644 index 0000000..c738053 Binary files /dev/null and b/docs/assets/images/widgets.png differ diff --git a/docs/assets/images/widgets@2x.png b/docs/assets/images/widgets@2x.png new file mode 100644 index 0000000..4bbbd57 Binary files /dev/null and b/docs/assets/images/widgets@2x.png differ diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js new file mode 100644 index 0000000..c2190a9 --- /dev/null +++ b/docs/assets/js/main.js @@ -0,0 +1,51 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}([function(e,t,r){var n,i; +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */!function(){var s,o,a,u,l,c,h,d,f,p,y,m,v,g,x,w,L,E,b,S,k,Q,O,P,T,_,C=function(e){var t=new C.Builder;return t.pipeline.add(C.trimmer,C.stopWordFilter,C.stemmer),t.searchPipeline.add(C.stemmer),e.call(t,t),t.build()};C.version="2.3.9" +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */,C.utils={},C.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),C.utils.asString=function(e){return null==e?"":e.toString()},C.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),n=0;n0){var u=C.utils.clone(t)||{};u.position=[o,a],u.index=i.length,i.push(new C.Token(r.slice(o,s),u))}o=s+1}}return i},C.tokenizer.separator=/[\s\-]+/ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */,C.Pipeline=function(){this._stack=[]},C.Pipeline.registeredFunctions=Object.create(null),C.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&C.utils.warn("Overwriting existing registered function: "+t),e.label=t,C.Pipeline.registeredFunctions[e.label]=e},C.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||C.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},C.Pipeline.load=function(e){var t=new C.Pipeline;return e.forEach((function(e){var r=C.Pipeline.registeredFunctions[e];if(!r)throw new Error("Cannot load unregistered function: "+e);t.add(r)})),t},C.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){C.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},C.Pipeline.prototype.after=function(e,t){C.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");r+=1,this._stack.splice(r,0,t)},C.Pipeline.prototype.before=function(e,t){C.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");this._stack.splice(r,0,t)},C.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},C.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=i),s!=e);)n=r-t,i=t+Math.floor(n/2),s=this.elements[2*i];return s==e||s>e?2*i:sa?l+=2:o==a&&(t+=r[u+1]*n[l+1],u+=2,l+=2);return t},C.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},C.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var s,o=i.str.charAt(0);o in i.node.edges?s=i.node.edges[o]:(s=new C.TokenSet,i.node.edges[o]=s),1==i.str.length&&(s.final=!0),n.push({node:s,editsRemaining:i.editsRemaining,str:i.str.slice(1)})}if(0!=i.editsRemaining){if("*"in i.node.edges)var a=i.node.edges["*"];else{a=new C.TokenSet;i.node.edges["*"]=a}if(0==i.str.length&&(a.final=!0),n.push({node:a,editsRemaining:i.editsRemaining-1,str:i.str}),i.str.length>1&&n.push({node:i.node,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)}),1==i.str.length&&(i.node.final=!0),i.str.length>=1){if("*"in i.node.edges)var u=i.node.edges["*"];else{u=new C.TokenSet;i.node.edges["*"]=u}1==i.str.length&&(u.final=!0),n.push({node:u,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)})}if(i.str.length>1){var l,c=i.str.charAt(0),h=i.str.charAt(1);h in i.node.edges?l=i.node.edges[h]:(l=new C.TokenSet,i.node.edges[h]=l),1==i.str.length&&(l.final=!0),n.push({node:l,editsRemaining:i.editsRemaining-1,str:c+i.str.slice(2)})}}}return r},C.TokenSet.fromString=function(e){for(var t=new C.TokenSet,r=t,n=0,i=e.length;n=e;t--){var r=this.uncheckedNodes[t],n=r.child.toString();n in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[n]:(r.child._str=n,this.minimizedNodes[n]=r.child),this.uncheckedNodes.pop()}} +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */,C.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},C.Index.prototype.search=function(e){return this.query((function(t){new C.QueryParser(e,t).parse()}))},C.Index.prototype.query=function(e){for(var t=new C.Query(this.fields),r=Object.create(null),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a1?1:e},C.Builder.prototype.k1=function(e){this._k1=e},C.Builder.prototype.add=function(e,t){var r=e[this._ref],n=Object.keys(this._fields);this._documents[r]=t||{},this.documentCount+=1;for(var i=0;i=this.length)return C.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},C.QueryLexer.prototype.width=function(){return this.pos-this.start},C.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},C.QueryLexer.prototype.backup=function(){this.pos-=1},C.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=C.QueryLexer.EOS&&this.backup()},C.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(C.QueryLexer.TERM)),e.ignore(),e.more())return C.QueryLexer.lexText},C.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(C.QueryLexer.EDIT_DISTANCE),C.QueryLexer.lexText},C.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(C.QueryLexer.BOOST),C.QueryLexer.lexText},C.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(C.QueryLexer.TERM)},C.QueryLexer.termSeparator=C.tokenizer.separator,C.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==C.QueryLexer.EOS)return C.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return C.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(C.QueryLexer.TERM),C.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(C.QueryLexer.TERM),C.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(C.QueryLexer.PRESENCE),C.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(C.QueryLexer.PRESENCE),C.QueryLexer.lexText;if(t.match(C.QueryLexer.termSeparator))return C.QueryLexer.lexTerm}else e.escapeCharacter()}},C.QueryParser=function(e,t){this.lexer=new C.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},C.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=C.QueryParser.parseClause;e;)e=e(this);return this.query},C.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},C.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},C.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},C.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case C.QueryLexer.PRESENCE:return C.QueryParser.parsePresence;case C.QueryLexer.FIELD:return C.QueryParser.parseField;case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(r+=" with value '"+t.str+"'"),new C.QueryParseError(r,t.start,t.end)}},C.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=C.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=C.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+t.str+"'";throw new C.QueryParseError(r,t.start,t.end)}var n=e.peekLexeme();if(null==n){r="expecting term or field, found nothing";throw new C.QueryParseError(r,t.start,t.end)}switch(n.type){case C.QueryLexer.FIELD:return C.QueryParser.parseField;case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:r="expecting term or field, found '"+n.type+"'";throw new C.QueryParseError(r,n.start,n.end)}}},C.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var r=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),n="unrecognised field '"+t.str+"', possible fields: "+r;throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.fields=[t.str];var i=e.peekLexeme();if(null==i){n="expecting term, found nothing";throw new C.QueryParseError(n,t.start,t.end)}switch(i.type){case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:n="expecting term, found '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}}},C.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(null!=r)switch(r.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+r.type+"'";throw new C.QueryParseError(n,r.start,r.end)}else e.nextClause()}},C.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="edit distance must be numeric";throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.editDistance=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}else e.nextClause()}},C.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="boost must be numeric";throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.boost=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}else e.nextClause()}},void 0===(i="function"==typeof(n=function(){return C})?n.call(t,r,t,e):n)||(e.exports=i)}()},function(e,t,r){},function(e,t,r){"use strict";r.r(t);var n=[];function i(e,t){n.push({selector:t,constructor:e})}var s,o,a=function(){function e(){this.createComponents(document.body)}return e.prototype.createComponents=function(e){n.forEach((function(t){e.querySelectorAll(t.selector).forEach((function(e){e.dataset.hasInstance||(new t.constructor({el:e}),e.dataset.hasInstance=String(!0))}))}))},e}(),u=function(e){this.el=e.el},l=r(0),c=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});!function(e){e[e.Idle=0]="Idle",e[e.Loading=1]="Loading",e[e.Ready=2]="Ready",e[e.Failure=3]="Failure"}(o||(o={}));var h=function(e){function t(t){var r=e.call(this,t)||this;r.query="",r.loadingState=o.Idle,r.hasFocus=!1,r.preventPress=!1,r.data=null,r.index=null,r.resultClicked=!1;var n=document.querySelector("#tsd-search-field"),i=document.querySelector(".results");if(!n||!i)throw new Error("The input field or the result list wrapper are not found");return r.field=n,r.results=i,r.base=r.el.dataset.base+"/",r.bindEvents(),r}return c(t,e),t.prototype.loadIndex=function(){var e=this;if(this.loadingState==o.Idle&&!this.data){setTimeout((function(){e.loadingState==o.Idle&&e.setLoadingState(o.Loading)}),500);var t=this.el.dataset.index;t?fetch(t).then((function(e){if(!e.ok)throw new Error("The search index is missing");return e.json()})).then((function(t){e.data=t,e.index=l.Index.load(t.index),e.setLoadingState(o.Ready)})).catch((function(t){console.error(t),e.setLoadingState(o.Failure)})):this.setLoadingState(o.Failure)}},t.prototype.updateResults=function(){if(this.loadingState==o.Ready&&(this.results.textContent="",this.query&&this.index&&this.data)){var e=this.index.search("*"+this.query+"*");0===e.length&&(e=this.index.search("*"+this.query+"~1*"));for(var t=0,r=Math.min(10,e.length);t"+e+""})),s=n.parent||"";(s=s.replace(new RegExp(this.query,"i"),(function(e){return""+e+""})))&&(i=''+s+"."+i);var a=document.createElement("li");a.classList.value=n.classes,a.innerHTML='\n '+i+"\n ",this.results.appendChild(a)}}},t.prototype.setLoadingState=function(e){this.loadingState!=e&&(this.el.classList.remove(o[this.loadingState].toLowerCase()),this.loadingState=e,this.el.classList.add(o[this.loadingState].toLowerCase()),this.updateResults())},t.prototype.setHasFocus=function(e){this.hasFocus!=e&&(this.hasFocus=e,this.el.classList.toggle("has-focus"),e?(this.setQuery(""),this.field.value=""):this.field.value=this.query)},t.prototype.setQuery=function(e){this.query=e.trim(),this.updateResults()},t.prototype.setCurrentResult=function(e){var t=this.results.querySelector(".current");if(t){var r=1==e?t.nextElementSibling:t.previousElementSibling;r&&(t.classList.remove("current"),r.classList.add("current"))}else(t=this.results.querySelector(1==e?"li:first-child":"li:last-child"))&&t.classList.add("current")},t.prototype.gotoCurrentResult=function(){var e=this.results.querySelector(".current");if(e||(e=this.results.querySelector("li:first-child")),e){var t=e.querySelector("a");t&&(window.location.href=t.href),this.field.blur()}},t.prototype.bindEvents=function(){var e=this;this.results.addEventListener("mousedown",(function(){e.resultClicked=!0})),this.results.addEventListener("mouseup",(function(){e.resultClicked=!1,e.setHasFocus(!1)})),this.field.addEventListener("focusin",(function(){e.setHasFocus(!0),e.loadIndex()})),this.field.addEventListener("focusout",(function(){e.resultClicked?e.resultClicked=!1:setTimeout((function(){return e.setHasFocus(!1)}),100)})),this.field.addEventListener("input",(function(){e.setQuery(e.field.value)})),this.field.addEventListener("keydown",(function(t){13==t.keyCode||27==t.keyCode||38==t.keyCode||40==t.keyCode?(e.preventPress=!0,t.preventDefault(),13==t.keyCode?e.gotoCurrentResult():27==t.keyCode?e.field.blur():38==t.keyCode?e.setCurrentResult(-1):40==t.keyCode&&e.setCurrentResult(1)):e.preventPress=!1})),this.field.addEventListener("keypress",(function(t){e.preventPress&&t.preventDefault()})),document.body.addEventListener("keydown",(function(t){t.altKey||t.ctrlKey||t.metaKey||!e.hasFocus&&t.keyCode>47&&t.keyCode<112&&e.field.focus()}))},t}(u),d=function(){function e(){this.listeners={}}return e.prototype.addEventListener=function(e,t){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(t)},e.prototype.removeEventListener=function(e,t){if(e in this.listeners)for(var r=this.listeners[e],n=0,i=r.length;n=this.scrollTop||0===this.scrollTop,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},t.instance=new t,t}(d),m=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),v=function(e){function t(t){var r=e.call(this,t)||this;return r.anchors=[],r.index=-1,y.instance.addEventListener("resize",(function(){return r.onResize()})),y.instance.addEventListener("scroll",(function(e){return r.onScroll(e)})),r.createAnchors(),r}return m(t,e),t.prototype.createAnchors=function(){var e=this,t=window.location.href;-1!=t.indexOf("#")&&(t=t.substr(0,t.indexOf("#"))),this.el.querySelectorAll("a").forEach((function(r){var n=r.href;if(-1!=n.indexOf("#")&&n.substr(0,t.length)==t){var i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;s&&o&&e.anchors.push({link:o,anchor:s,position:0})}})),this.onResize()},t.prototype.onResize=function(){for(var e,t=0,r=this.anchors.length;t-1&&r[i].position>t;)i-=1;for(;i-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=i,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))},t}(u),g=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),x=function(){function e(e,t){this.signature=e,this.description=t}return e.prototype.addClass=function(e){return this.signature.classList.add(e),this.description.classList.add(e),this},e.prototype.removeClass=function(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this},e}(),w=function(e){function t(t){var r=e.call(this,t)||this;return r.groups=[],r.index=-1,r.createGroups(),r.container&&(r.el.classList.add("active"),Array.from(r.el.children).forEach((function(e){e.addEventListener("touchstart",(function(e){return r.onClick(e)})),e.addEventListener("click",(function(e){return r.onClick(e)}))})),r.container.classList.add("active"),r.setIndex(0)),r}return g(t,e),t.prototype.setIndex=function(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index!=e){var t=this.groups[e];if(this.index>-1){var r=this.groups[this.index];r.removeClass("current").addClass("fade-out"),t.addClass("current"),t.addClass("fade-in"),y.instance.triggerResize(),setTimeout((function(){r.removeClass("fade-out"),t.removeClass("fade-in")}),300)}else t.addClass("current"),y.instance.triggerResize();this.index=e}},t.prototype.createGroups=function(){var e=this.el.children;if(!(e.length<2)){this.container=this.el.nextElementSibling;var t=this.container.children;this.groups=[];for(var r=0;r10}})),document.addEventListener(b,(function(){Q=!1})),document.addEventListener("click",(function(e){k&&(e.preventDefault(),e.stopImmediatePropagation(),k=!1)}));var T=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),_=function(e){function t(t){var r=e.call(this,t)||this;return r.className=r.el.dataset.toggle||"",r.el.addEventListener(b,(function(e){return r.onPointerUp(e)})),r.el.addEventListener("click",(function(e){return e.preventDefault()})),document.addEventListener(L,(function(e){return r.onDocumentPointerDown(e)})),document.addEventListener(b,(function(e){return r.onDocumentPointerUp(e)})),r}return T(t,e),t.prototype.setActive=function(e){if(this.active!=e){this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);var t=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(t),setTimeout((function(){return document.documentElement.classList.remove(t)}),500)}},t.prototype.onPointerUp=function(e){O||(this.setActive(!0),e.preventDefault())},t.prototype.onDocumentPointerDown=function(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}},t.prototype.onDocumentPointerUp=function(e){var t=this;if(!O&&this.active&&e.target.closest(".col-menu")){var r=e.target.closest("a");if(r){var n=window.location.href;-1!=n.indexOf("#")&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout((function(){return t.setActive(!1)}),250)}}},t}(u),C=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),R=function(){function e(e,t){this.key=e,this.value=t,this.defaultValue=t,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return e.prototype.initialize=function(){},e.prototype.setValue=function(e){if(this.value!=e){var t=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(t,e)}},e}(),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return C(t,e),t.prototype.initialize=function(){var e=this,t=document.querySelector("#tsd-filter-"+this.key);t&&(this.checkbox=t,this.checkbox.addEventListener("change",(function(){e.setValue(e.checkbox.checked)})))},t.prototype.handleValueChange=function(e,t){this.checkbox&&(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))},t.prototype.fromLocalStorage=function(e){return"true"==e},t.prototype.toLocalStorage=function(e){return e?"true":"false"},t}(R),j=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return C(t,e),t.prototype.initialize=function(){var e=this;document.documentElement.classList.add("toggle-"+this.key+this.value);var t=document.querySelector("#tsd-filter-"+this.key);if(t){this.select=t;var r=function(){e.select.classList.add("active")};this.select.addEventListener(L,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",(function(){e.select.classList.remove("active")})),this.select.querySelectorAll("li").forEach((function(r){r.addEventListener(b,(function(r){t.classList.remove("active"),e.setValue(r.target.dataset.value||"")}))})),document.addEventListener(L,(function(t){e.select.contains(t.target)||e.select.classList.remove("active")}))}},t.prototype.handleValueChange=function(e,t){this.select.querySelectorAll("li.selected").forEach((function(e){e.classList.remove("selected")}));var r=this.select.querySelector('li[data-value="'+t+'"]'),n=this.select.querySelector(".tsd-select-label");r&&n&&(r.classList.add("selected"),n.textContent=r.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+t)},t.prototype.fromLocalStorage=function(e){return e},t.prototype.toLocalStorage=function(e){return e},t}(R),F=function(e){function t(t){var r=e.call(this,t)||this;return r.optionVisibility=new j("visibility","private"),r.optionInherited=new I("inherited",!0),r.optionExternals=new I("externals",!0),r.optionOnlyExported=new I("only-exported",!1),r}return C(t,e),t.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},t}(u);r(1);i(h,"#tsd-search"),i(v,".menu-highlight"),i(w,".tsd-signatures"),i(_,"a[data-toggle]"),F.isSupported()?i(F,"#tsd-filter"):document.documentElement.classList.add("no-filter");var N=new a;Object.defineProperty(window,"app",{value:N})}]); \ No newline at end of file diff --git a/docs/assets/js/search.json b/docs/assets/js/search.json new file mode 100644 index 0000000..96e2fa2 --- /dev/null +++ b/docs/assets/js/search.json @@ -0,0 +1 @@ +{"kinds":{"2":"Namespace","4":"Enumeration","16":"Enumeration member","32":"Variable","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","2097152":"Object literal","4194304":"Type alias"},"rows":[{"id":0,"kind":256,"name":"DrawableDescriptor","url":"interfaces/drawabledescriptor.html","classes":"tsd-kind-interface"},{"id":1,"kind":1024,"name":"propertyUniformMapping","url":"interfaces/drawabledescriptor.html#propertyuniformmapping","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawableDescriptor"},{"id":2,"kind":65536,"name":"__type","url":"interfaces/drawabledescriptor.html#propertyuniformmapping.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"DrawableDescriptor.propertyUniformMapping"},{"id":3,"kind":1024,"name":"uniformCountMacroName","url":"interfaces/drawabledescriptor.html#uniformcountmacroname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawableDescriptor"},{"id":4,"kind":1024,"name":"sdf","url":"interfaces/drawabledescriptor.html#sdf","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawableDescriptor"},{"id":5,"kind":1024,"name":"objectCountScaler","url":"interfaces/drawabledescriptor.html#objectcountscaler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawableDescriptor"},{"id":6,"kind":1024,"name":"shaderCombinationSteps","url":"interfaces/drawabledescriptor.html#shadercombinationsteps","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawableDescriptor"},{"id":7,"kind":1024,"name":"empty","url":"interfaces/drawabledescriptor.html#empty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DrawableDescriptor"},{"id":8,"kind":128,"name":"Drawable","url":"classes/drawable.html","classes":"tsd-kind-class"},{"id":9,"kind":1024,"name":"descriptor","url":"classes/drawable.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-static","parent":"Drawable"},{"id":10,"kind":2048,"name":"minDistance","url":"classes/drawable.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Drawable"},{"id":11,"kind":2048,"name":"getObjectToSerialize","url":"classes/drawable.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"Drawable"},{"id":12,"kind":4,"name":"WrapOptions","url":"enums/wrapoptions.html","classes":"tsd-kind-enum"},{"id":13,"kind":16,"name":"CLAMP_TO_EDGE","url":"enums/wrapoptions.html#clamp_to_edge","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"WrapOptions"},{"id":14,"kind":16,"name":"REPEAT","url":"enums/wrapoptions.html#repeat","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"WrapOptions"},{"id":15,"kind":16,"name":"MIRRORED_REPEAT","url":"enums/wrapoptions.html#mirrored_repeat","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"WrapOptions"},{"id":16,"kind":4,"name":"FilteringOptions","url":"enums/filteringoptions.html","classes":"tsd-kind-enum"},{"id":17,"kind":16,"name":"LINEAR","url":"enums/filteringoptions.html#linear","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"FilteringOptions"},{"id":18,"kind":16,"name":"NEAREST","url":"enums/filteringoptions.html#nearest","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"FilteringOptions"},{"id":19,"kind":256,"name":"TextureOptions","url":"interfaces/textureoptions.html","classes":"tsd-kind-interface"},{"id":20,"kind":1024,"name":"wrapS","url":"interfaces/textureoptions.html#wraps","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TextureOptions"},{"id":21,"kind":1024,"name":"wrapT","url":"interfaces/textureoptions.html#wrapt","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TextureOptions"},{"id":22,"kind":1024,"name":"minFilter","url":"interfaces/textureoptions.html#minfilter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TextureOptions"},{"id":23,"kind":1024,"name":"maxFilter","url":"interfaces/textureoptions.html#maxfilter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TextureOptions"},{"id":24,"kind":4194304,"name":"TextureWithOptions","url":"globals.html#texturewithoptions","classes":"tsd-kind-type-alias"},{"id":25,"kind":65536,"name":"__type","url":"globals.html#texturewithoptions.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"TextureWithOptions"},{"id":26,"kind":32,"name":"source","url":"globals.html#texturewithoptions.__type.source","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"TextureWithOptions.__type"},{"id":27,"kind":32,"name":"overrides","url":"globals.html#texturewithoptions.__type.overrides","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"TextureWithOptions.__type"},{"id":28,"kind":256,"name":"RuntimeSettings","url":"interfaces/runtimesettings.html","classes":"tsd-kind-interface"},{"id":29,"kind":1024,"name":"enableHighDpiRendering","url":"interfaces/runtimesettings.html#enablehighdpirendering","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":30,"kind":1024,"name":"tileMultiplier","url":"interfaces/runtimesettings.html#tilemultiplier","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":31,"kind":1024,"name":"isWorldInverted","url":"interfaces/runtimesettings.html#isworldinverted","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":32,"kind":1024,"name":"lightCutoffDistance","url":"interfaces/runtimesettings.html#lightcutoffdistance","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":33,"kind":1024,"name":"colorPalette","url":"interfaces/runtimesettings.html#colorpalette","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":34,"kind":1024,"name":"distanceRenderScale","url":"interfaces/runtimesettings.html#distancerenderscale","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":35,"kind":1024,"name":"lightsRenderScale","url":"interfaces/runtimesettings.html#lightsrenderscale","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":36,"kind":1024,"name":"motionBlur","url":"interfaces/runtimesettings.html#motionblur","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":37,"kind":1024,"name":"textures","url":"interfaces/runtimesettings.html#textures","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":38,"kind":65536,"name":"__type","url":"interfaces/runtimesettings.html#textures.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"RuntimeSettings.textures"},{"id":39,"kind":1024,"name":"ambientLight","url":"interfaces/runtimesettings.html#ambientlight","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RuntimeSettings"},{"id":40,"kind":256,"name":"StartupSettings","url":"interfaces/startupsettings.html","classes":"tsd-kind-interface"},{"id":41,"kind":1024,"name":"enableStopwatch","url":"interfaces/startupsettings.html#enablestopwatch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"StartupSettings"},{"id":42,"kind":1024,"name":"shadowTraceCount","url":"interfaces/startupsettings.html#shadowtracecount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"StartupSettings"},{"id":43,"kind":1024,"name":"lightPenetrationRatio","url":"interfaces/startupsettings.html#lightpenetrationratio","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"StartupSettings"},{"id":44,"kind":1024,"name":"paletteSize","url":"interfaces/startupsettings.html#palettesize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"StartupSettings"},{"id":45,"kind":1024,"name":"enableContextLostSimulator","url":"interfaces/startupsettings.html#enablecontextlostsimulator","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"StartupSettings"},{"id":46,"kind":1024,"name":"backgroundColor","url":"interfaces/startupsettings.html#backgroundcolor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"StartupSettings"},{"id":47,"kind":1024,"name":"ignoreWebGL2","url":"interfaces/startupsettings.html#ignorewebgl2","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"StartupSettings"},{"id":48,"kind":256,"name":"RendererInfo","url":"interfaces/rendererinfo.html","classes":"tsd-kind-interface"},{"id":49,"kind":1024,"name":"isWebGL2","url":"interfaces/rendererinfo.html#iswebgl2","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":50,"kind":1024,"name":"vendor","url":"interfaces/rendererinfo.html#vendor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":51,"kind":1024,"name":"renderer","url":"interfaces/rendererinfo.html#renderer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":52,"kind":1024,"name":"sdf2dVersion","url":"interfaces/rendererinfo.html#sdf2dversion","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":53,"kind":1024,"name":"extensions","url":"interfaces/rendererinfo.html#extensions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":54,"kind":65536,"name":"__type","url":"interfaces/rendererinfo.html#extensions.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"RendererInfo.extensions"},{"id":55,"kind":1024,"name":"floatInterpolationEnabled","url":"interfaces/rendererinfo.html#floatinterpolationenabled","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":56,"kind":1024,"name":"programCount","url":"interfaces/rendererinfo.html#programcount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":57,"kind":1024,"name":"renderPasses","url":"interfaces/rendererinfo.html#renderpasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":58,"kind":65536,"name":"__type","url":"interfaces/rendererinfo.html#renderpasses.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"RendererInfo.renderPasses"},{"id":59,"kind":32,"name":"distance","url":"interfaces/rendererinfo.html#renderpasses.__type-1.distance","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type"},{"id":60,"kind":65536,"name":"__type","url":"interfaces/rendererinfo.html#renderpasses.__type-1.distance.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"RendererInfo.renderPasses.__type.distance"},{"id":61,"kind":32,"name":"renderScale","url":"interfaces/rendererinfo.html#renderpasses.__type-1.distance.__type-2.renderscale","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type.distance.__type"},{"id":62,"kind":32,"name":"drawableCount","url":"interfaces/rendererinfo.html#renderpasses.__type-1.distance.__type-2.drawablecount","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type.distance.__type"},{"id":63,"kind":32,"name":"drawnDrawableCount","url":"interfaces/rendererinfo.html#renderpasses.__type-1.distance.__type-2.drawndrawablecount","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type.distance.__type"},{"id":64,"kind":32,"name":"tileCount","url":"interfaces/rendererinfo.html#renderpasses.__type-1.distance.__type-2.tilecount","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type.distance.__type"},{"id":65,"kind":32,"name":"lights","url":"interfaces/rendererinfo.html#renderpasses.__type-1.lights","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type"},{"id":66,"kind":65536,"name":"__type","url":"interfaces/rendererinfo.html#renderpasses.__type-1.lights.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"RendererInfo.renderPasses.__type.lights"},{"id":67,"kind":32,"name":"renderScale","url":"interfaces/rendererinfo.html#renderpasses.__type-1.lights.__type-3.renderscale-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type.lights.__type"},{"id":68,"kind":32,"name":"drawnDrawableCount","url":"interfaces/rendererinfo.html#renderpasses.__type-1.lights.__type-3.drawndrawablecount-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"RendererInfo.renderPasses.__type.lights.__type"},{"id":69,"kind":1024,"name":"startupTimeInMilliseconds","url":"interfaces/rendererinfo.html#startuptimeinmilliseconds","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RendererInfo"},{"id":70,"kind":256,"name":"Renderer","url":"interfaces/renderer.html","classes":"tsd-kind-interface"},{"id":71,"kind":1024,"name":"canvasSize","url":"interfaces/renderer.html#canvassize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Renderer"},{"id":72,"kind":1024,"name":"viewAreaSize","url":"interfaces/renderer.html#viewareasize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Renderer"},{"id":73,"kind":2048,"name":"setViewArea","url":"interfaces/renderer.html#setviewarea","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Renderer"},{"id":74,"kind":2048,"name":"displayToWorldCoordinates","url":"interfaces/renderer.html#displaytoworldcoordinates","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Renderer"},{"id":75,"kind":2048,"name":"worldToDisplayCoordinates","url":"interfaces/renderer.html#worldtodisplaycoordinates","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Renderer"},{"id":76,"kind":2048,"name":"setRuntimeSettings","url":"interfaces/renderer.html#setruntimesettings","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Renderer"},{"id":77,"kind":2048,"name":"addDrawable","url":"interfaces/renderer.html#adddrawable","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"Renderer"},{"id":78,"kind":2048,"name":"renderDrawables","url":"interfaces/renderer.html#renderdrawables","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Renderer"},{"id":79,"kind":2048,"name":"destroy","url":"interfaces/renderer.html#destroy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Renderer"},{"id":80,"kind":1024,"name":"insights","url":"interfaces/renderer.html#insights","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Renderer"},{"id":81,"kind":128,"name":"CircleLight","url":"classes/circlelight.html","classes":"tsd-kind-class"},{"id":82,"kind":2097152,"name":"descriptor","url":"classes/circlelight.html#descriptor","classes":"tsd-kind-object-literal tsd-parent-kind-class tsd-is-overwrite tsd-is-static","parent":"CircleLight"},{"id":83,"kind":2097152,"name":"propertyUniformMapping","url":"classes/circlelight.html#descriptor.propertyuniformmapping","classes":"tsd-kind-object-literal tsd-parent-kind-object-literal","parent":"CircleLight.descriptor"},{"id":84,"kind":32,"name":"center","url":"classes/circlelight.html#descriptor.propertyuniformmapping.center-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"CircleLight.descriptor.propertyUniformMapping"},{"id":85,"kind":32,"name":"color","url":"classes/circlelight.html#descriptor.propertyuniformmapping.color-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"CircleLight.descriptor.propertyUniformMapping"},{"id":86,"kind":32,"name":"intensity","url":"classes/circlelight.html#descriptor.propertyuniformmapping.intensity-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"CircleLight.descriptor.propertyUniformMapping"},{"id":87,"kind":32,"name":"uniformCountMacroName","url":"classes/circlelight.html#descriptor.uniformcountmacroname","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"CircleLight.descriptor"},{"id":88,"kind":32,"name":"shaderCombinationSteps","url":"classes/circlelight.html#descriptor.shadercombinationsteps","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"CircleLight.descriptor"},{"id":89,"kind":32,"name":"empty","url":"classes/circlelight.html#descriptor.empty","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"CircleLight.descriptor"},{"id":90,"kind":512,"name":"constructor","url":"classes/circlelight.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"CircleLight"},{"id":91,"kind":1024,"name":"lightnessRatio","url":"classes/circlelight.html#lightnessratio","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"CircleLight"},{"id":92,"kind":1024,"name":"center","url":"classes/circlelight.html#center","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"CircleLight"},{"id":93,"kind":1024,"name":"color","url":"classes/circlelight.html#color","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"CircleLight"},{"id":94,"kind":1024,"name":"intensity","url":"classes/circlelight.html#intensity","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"CircleLight"},{"id":95,"kind":2048,"name":"setLightnessRatio","url":"classes/circlelight.html#setlightnessratio","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"CircleLight"},{"id":96,"kind":2048,"name":"minDistance","url":"classes/circlelight.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"CircleLight"},{"id":97,"kind":2048,"name":"getObjectToSerialize","url":"classes/circlelight.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"CircleLight"},{"id":98,"kind":128,"name":"Flashlight","url":"classes/flashlight.html","classes":"tsd-kind-class"},{"id":99,"kind":2097152,"name":"descriptor","url":"classes/flashlight.html#descriptor","classes":"tsd-kind-object-literal tsd-parent-kind-class tsd-is-overwrite tsd-is-static","parent":"Flashlight"},{"id":100,"kind":2097152,"name":"propertyUniformMapping","url":"classes/flashlight.html#descriptor.propertyuniformmapping","classes":"tsd-kind-object-literal tsd-parent-kind-object-literal","parent":"Flashlight.descriptor"},{"id":101,"kind":32,"name":"center","url":"classes/flashlight.html#descriptor.propertyuniformmapping.center-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor.propertyUniformMapping"},{"id":102,"kind":32,"name":"color","url":"classes/flashlight.html#descriptor.propertyuniformmapping.color-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor.propertyUniformMapping"},{"id":103,"kind":32,"name":"intensity","url":"classes/flashlight.html#descriptor.propertyuniformmapping.intensity-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor.propertyUniformMapping"},{"id":104,"kind":32,"name":"direction","url":"classes/flashlight.html#descriptor.propertyuniformmapping.direction-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor.propertyUniformMapping"},{"id":105,"kind":32,"name":"startCutoff","url":"classes/flashlight.html#descriptor.propertyuniformmapping.startcutoff-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor.propertyUniformMapping"},{"id":106,"kind":32,"name":"uniformCountMacroName","url":"classes/flashlight.html#descriptor.uniformcountmacroname","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor"},{"id":107,"kind":32,"name":"shaderCombinationSteps","url":"classes/flashlight.html#descriptor.shadercombinationsteps","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor"},{"id":108,"kind":32,"name":"empty","url":"classes/flashlight.html#descriptor.empty","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"Flashlight.descriptor"},{"id":109,"kind":512,"name":"constructor","url":"classes/flashlight.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"Flashlight"},{"id":110,"kind":1024,"name":"direction","url":"classes/flashlight.html#direction","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Flashlight"},{"id":111,"kind":1024,"name":"startCutoff","url":"classes/flashlight.html#startcutoff","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Flashlight"},{"id":112,"kind":2048,"name":"getObjectToSerialize","url":"classes/flashlight.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"Flashlight"},{"id":113,"kind":1024,"name":"lightnessRatio","url":"classes/flashlight.html#lightnessratio","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Flashlight"},{"id":114,"kind":1024,"name":"center","url":"classes/flashlight.html#center","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Flashlight"},{"id":115,"kind":1024,"name":"color","url":"classes/flashlight.html#color","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Flashlight"},{"id":116,"kind":1024,"name":"intensity","url":"classes/flashlight.html#intensity","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Flashlight"},{"id":117,"kind":2048,"name":"setLightnessRatio","url":"classes/flashlight.html#setlightnessratio","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Flashlight"},{"id":118,"kind":2048,"name":"minDistance","url":"classes/flashlight.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"Flashlight"},{"id":119,"kind":128,"name":"CircleBase","url":"classes/circlebase.html","classes":"tsd-kind-class"},{"id":120,"kind":512,"name":"constructor","url":"classes/circlebase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"CircleBase"},{"id":121,"kind":1024,"name":"center","url":"classes/circlebase.html#center","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CircleBase"},{"id":122,"kind":1024,"name":"radius","url":"classes/circlebase.html#radius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CircleBase"},{"id":123,"kind":1024,"name":"descriptor","url":"classes/circlebase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"CircleBase"},{"id":124,"kind":2048,"name":"minDistance","url":"classes/circlebase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"CircleBase"},{"id":125,"kind":2048,"name":"getObjectToSerialize","url":"classes/circlebase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"CircleBase"},{"id":126,"kind":64,"name":"CircleFactory","url":"globals.html#circlefactory","classes":"tsd-kind-function"},{"id":127,"kind":128,"name":"HexagonBase","url":"classes/hexagonbase.html","classes":"tsd-kind-class"},{"id":128,"kind":512,"name":"constructor","url":"classes/hexagonbase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"HexagonBase"},{"id":129,"kind":1024,"name":"center","url":"classes/hexagonbase.html#center","classes":"tsd-kind-property tsd-parent-kind-class","parent":"HexagonBase"},{"id":130,"kind":1024,"name":"radius","url":"classes/hexagonbase.html#radius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"HexagonBase"},{"id":131,"kind":1024,"name":"descriptor","url":"classes/hexagonbase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"HexagonBase"},{"id":132,"kind":2048,"name":"minDistance","url":"classes/hexagonbase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"HexagonBase"},{"id":133,"kind":2048,"name":"getObjectToSerialize","url":"classes/hexagonbase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"HexagonBase"},{"id":134,"kind":64,"name":"HexagonFactory","url":"globals.html#hexagonfactory","classes":"tsd-kind-function"},{"id":135,"kind":128,"name":"ColorfulCircle","url":"classes/colorfulcircle.html","classes":"tsd-kind-class"},{"id":136,"kind":2097152,"name":"descriptor","url":"classes/colorfulcircle.html#descriptor","classes":"tsd-kind-object-literal tsd-parent-kind-class tsd-is-overwrite tsd-is-static","parent":"ColorfulCircle"},{"id":137,"kind":2097152,"name":"sdf","url":"classes/colorfulcircle.html#descriptor.sdf","classes":"tsd-kind-object-literal tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor"},{"id":138,"kind":32,"name":"shader","url":"classes/colorfulcircle.html#descriptor.sdf.shader","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor.sdf"},{"id":139,"kind":32,"name":"distanceFunctionName","url":"classes/colorfulcircle.html#descriptor.sdf.distancefunctionname","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor.sdf"},{"id":140,"kind":2097152,"name":"propertyUniformMapping","url":"classes/colorfulcircle.html#descriptor.propertyuniformmapping","classes":"tsd-kind-object-literal tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor"},{"id":141,"kind":32,"name":"center","url":"classes/colorfulcircle.html#descriptor.propertyuniformmapping.center-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor.propertyUniformMapping"},{"id":142,"kind":32,"name":"radius","url":"classes/colorfulcircle.html#descriptor.propertyuniformmapping.radius-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor.propertyUniformMapping"},{"id":143,"kind":32,"name":"colorIndex","url":"classes/colorfulcircle.html#descriptor.propertyuniformmapping.colorindex-1","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor.propertyUniformMapping"},{"id":144,"kind":32,"name":"uniformCountMacroName","url":"classes/colorfulcircle.html#descriptor.uniformcountmacroname","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor"},{"id":145,"kind":32,"name":"shaderCombinationSteps","url":"classes/colorfulcircle.html#descriptor.shadercombinationsteps","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor"},{"id":146,"kind":32,"name":"empty","url":"classes/colorfulcircle.html#descriptor.empty","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"ColorfulCircle.descriptor"},{"id":147,"kind":512,"name":"constructor","url":"classes/colorfulcircle.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"ColorfulCircle"},{"id":148,"kind":1024,"name":"center","url":"classes/colorfulcircle.html#center","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ColorfulCircle"},{"id":149,"kind":1024,"name":"radius","url":"classes/colorfulcircle.html#radius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ColorfulCircle"},{"id":150,"kind":1024,"name":"colorIndex","url":"classes/colorfulcircle.html#colorindex","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ColorfulCircle"},{"id":151,"kind":2048,"name":"minDistance","url":"classes/colorfulcircle.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"ColorfulCircle"},{"id":152,"kind":2048,"name":"getObjectToSerialize","url":"classes/colorfulcircle.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"ColorfulCircle"},{"id":153,"kind":128,"name":"DropletBase","url":"classes/dropletbase.html","classes":"tsd-kind-class"},{"id":154,"kind":512,"name":"constructor","url":"classes/dropletbase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DropletBase"},{"id":155,"kind":1024,"name":"from","url":"classes/dropletbase.html#from","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DropletBase"},{"id":156,"kind":1024,"name":"to","url":"classes/dropletbase.html#to","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DropletBase"},{"id":157,"kind":1024,"name":"fromRadius","url":"classes/dropletbase.html#fromradius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DropletBase"},{"id":158,"kind":1024,"name":"toRadius","url":"classes/dropletbase.html#toradius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DropletBase"},{"id":159,"kind":1024,"name":"descriptor","url":"classes/dropletbase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"DropletBase"},{"id":160,"kind":2048,"name":"minDistance","url":"classes/dropletbase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"DropletBase"},{"id":161,"kind":2048,"name":"getObjectToSerialize","url":"classes/dropletbase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"DropletBase"},{"id":162,"kind":64,"name":"DropletFactory","url":"globals.html#dropletfactory","classes":"tsd-kind-function"},{"id":163,"kind":128,"name":"InvertedTunnelBase","url":"classes/invertedtunnelbase.html","classes":"tsd-kind-class"},{"id":164,"kind":512,"name":"constructor","url":"classes/invertedtunnelbase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"InvertedTunnelBase"},{"id":165,"kind":1024,"name":"from","url":"classes/invertedtunnelbase.html#from","classes":"tsd-kind-property tsd-parent-kind-class","parent":"InvertedTunnelBase"},{"id":166,"kind":1024,"name":"to","url":"classes/invertedtunnelbase.html#to","classes":"tsd-kind-property tsd-parent-kind-class","parent":"InvertedTunnelBase"},{"id":167,"kind":1024,"name":"fromRadius","url":"classes/invertedtunnelbase.html#fromradius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"InvertedTunnelBase"},{"id":168,"kind":1024,"name":"toRadius","url":"classes/invertedtunnelbase.html#toradius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"InvertedTunnelBase"},{"id":169,"kind":1024,"name":"descriptor","url":"classes/invertedtunnelbase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"InvertedTunnelBase"},{"id":170,"kind":2048,"name":"minDistance","url":"classes/invertedtunnelbase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"InvertedTunnelBase"},{"id":171,"kind":2048,"name":"getObjectToSerialize","url":"classes/invertedtunnelbase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"InvertedTunnelBase"},{"id":172,"kind":64,"name":"InvertedTunnelFactory","url":"globals.html#invertedtunnelfactory","classes":"tsd-kind-function"},{"id":173,"kind":128,"name":"MetaCircleBase","url":"classes/metacirclebase.html","classes":"tsd-kind-class"},{"id":174,"kind":512,"name":"constructor","url":"classes/metacirclebase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"MetaCircleBase"},{"id":175,"kind":1024,"name":"center","url":"classes/metacirclebase.html#center","classes":"tsd-kind-property tsd-parent-kind-class","parent":"MetaCircleBase"},{"id":176,"kind":1024,"name":"radius","url":"classes/metacirclebase.html#radius","classes":"tsd-kind-property tsd-parent-kind-class","parent":"MetaCircleBase"},{"id":177,"kind":1024,"name":"descriptor","url":"classes/metacirclebase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"MetaCircleBase"},{"id":178,"kind":2048,"name":"minDistance","url":"classes/metacirclebase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"MetaCircleBase"},{"id":179,"kind":2048,"name":"getObjectToSerialize","url":"classes/metacirclebase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"MetaCircleBase"},{"id":180,"kind":32,"name":"_id","url":"globals.html#_id","classes":"tsd-kind-variable"},{"id":181,"kind":64,"name":"MetaCircleFactory","url":"globals.html#metacirclefactory","classes":"tsd-kind-function"},{"id":182,"kind":128,"name":"PolygonBase","url":"classes/polygonbase.html","classes":"tsd-kind-class"},{"id":183,"kind":512,"name":"constructor","url":"classes/polygonbase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"PolygonBase"},{"id":184,"kind":1024,"name":"vertices","url":"classes/polygonbase.html#vertices","classes":"tsd-kind-property tsd-parent-kind-class","parent":"PolygonBase"},{"id":185,"kind":1024,"name":"descriptor","url":"classes/polygonbase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"PolygonBase"},{"id":186,"kind":2048,"name":"minDistance","url":"classes/polygonbase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"PolygonBase"},{"id":187,"kind":2048,"name":"getObjectToSerialize","url":"classes/polygonbase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"PolygonBase"},{"id":188,"kind":64,"name":"PolygonFactory","url":"globals.html#polygonfactory","classes":"tsd-kind-function"},{"id":189,"kind":256,"name":"NoisyPolygonBase","url":"interfaces/noisypolygonbase.html","classes":"tsd-kind-interface"},{"id":190,"kind":1024,"name":"randomOffset","url":"interfaces/noisypolygonbase.html#randomoffset","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NoisyPolygonBase"},{"id":191,"kind":512,"name":"constructor","url":"interfaces/noisypolygonbase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-interface tsd-is-inherited","parent":"NoisyPolygonBase"},{"id":192,"kind":1024,"name":"vertices","url":"interfaces/noisypolygonbase.html#vertices","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NoisyPolygonBase"},{"id":193,"kind":1024,"name":"descriptor","url":"interfaces/noisypolygonbase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"NoisyPolygonBase"},{"id":194,"kind":2048,"name":"minDistance","url":"interfaces/noisypolygonbase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-overwrite tsd-is-inherited","parent":"NoisyPolygonBase"},{"id":195,"kind":2048,"name":"getObjectToSerialize","url":"interfaces/noisypolygonbase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"NoisyPolygonBase"},{"id":196,"kind":64,"name":"NoisyPolygonFactory","url":"globals.html#noisypolygonfactory","classes":"tsd-kind-function"},{"id":197,"kind":128,"name":"RotatedRectangleBase","url":"classes/rotatedrectanglebase.html","classes":"tsd-kind-class"},{"id":198,"kind":512,"name":"constructor","url":"classes/rotatedrectanglebase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"RotatedRectangleBase"},{"id":199,"kind":1024,"name":"center","url":"classes/rotatedrectanglebase.html#center","classes":"tsd-kind-property tsd-parent-kind-class","parent":"RotatedRectangleBase"},{"id":200,"kind":1024,"name":"size","url":"classes/rotatedrectanglebase.html#size","classes":"tsd-kind-property tsd-parent-kind-class","parent":"RotatedRectangleBase"},{"id":201,"kind":1024,"name":"rotation","url":"classes/rotatedrectanglebase.html#rotation","classes":"tsd-kind-property tsd-parent-kind-class","parent":"RotatedRectangleBase"},{"id":202,"kind":1024,"name":"descriptor","url":"classes/rotatedrectanglebase.html#descriptor","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-static","parent":"RotatedRectangleBase"},{"id":203,"kind":2048,"name":"minDistance","url":"classes/rotatedrectanglebase.html#mindistance","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"RotatedRectangleBase"},{"id":204,"kind":2048,"name":"getObjectToSerialize","url":"classes/rotatedrectanglebase.html#getobjecttoserialize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited tsd-is-protected","parent":"RotatedRectangleBase"},{"id":205,"kind":64,"name":"RotatedRectangleFactory","url":"globals.html#rotatedrectanglefactory","classes":"tsd-kind-function"},{"id":206,"kind":64,"name":"renderNoise","url":"globals.html#rendernoise","classes":"tsd-kind-function"},{"id":207,"kind":64,"name":"rgb255","url":"globals.html#rgb255","classes":"tsd-kind-function"},{"id":208,"kind":64,"name":"hex","url":"globals.html#hex","classes":"tsd-kind-function"},{"id":209,"kind":64,"name":"rgb","url":"globals.html#rgb","classes":"tsd-kind-function"},{"id":210,"kind":64,"name":"hsl","url":"globals.html#hsl","classes":"tsd-kind-function"},{"id":211,"kind":64,"name":"rgba","url":"globals.html#rgba","classes":"tsd-kind-function"},{"id":212,"kind":64,"name":"rgba255","url":"globals.html#rgba255","classes":"tsd-kind-function"},{"id":213,"kind":128,"name":"DeltaTimeCalculator","url":"classes/deltatimecalculator.html","classes":"tsd-kind-class"},{"id":214,"kind":512,"name":"constructor","url":"classes/deltatimecalculator.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DeltaTimeCalculator"},{"id":215,"kind":2048,"name":"getNextDeltaTime","url":"classes/deltatimecalculator.html#getnextdeltatime","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DeltaTimeCalculator"},{"id":216,"kind":2048,"name":"destroy","url":"classes/deltatimecalculator.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DeltaTimeCalculator"},{"id":217,"kind":128,"name":"FpsQualityAutoscaler","url":"classes/fpsqualityautoscaler.html","classes":"tsd-kind-class"},{"id":218,"kind":1024,"name":"fpsTarget","url":"classes/fpsqualityautoscaler.html#fpstarget","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-static","parent":"FpsQualityAutoscaler"},{"id":219,"kind":1024,"name":"fpsHysteresis","url":"classes/fpsqualityautoscaler.html#fpshysteresis","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FpsQualityAutoscaler"},{"id":220,"kind":512,"name":"constructor","url":"classes/fpsqualityautoscaler.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"FpsQualityAutoscaler"},{"id":221,"kind":262144,"name":"FPS","url":"classes/fpsqualityautoscaler.html#fps","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"FpsQualityAutoscaler"},{"id":222,"kind":2048,"name":"addDeltaTime","url":"classes/fpsqualityautoscaler.html#adddeltatime","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FpsQualityAutoscaler"},{"id":223,"kind":64,"name":"runAnimation","url":"globals.html#runanimation","classes":"tsd-kind-function"},{"id":224,"kind":2,"name":"__global","url":"modules/__global.html","classes":"tsd-kind-namespace"},{"id":225,"kind":256,"name":"Array","url":"interfaces/__global.array.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"__global"},{"id":226,"kind":1024,"name":"x","url":"interfaces/__global.array.html#x","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"__global.Array"},{"id":227,"kind":1024,"name":"y","url":"interfaces/__global.array.html#y","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"__global.Array"},{"id":228,"kind":256,"name":"ReadonlyArray","url":"interfaces/__global.readonlyarray.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"__global"},{"id":229,"kind":1024,"name":"x","url":"interfaces/__global.readonlyarray.html#x","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"__global.ReadonlyArray"},{"id":230,"kind":1024,"name":"y","url":"interfaces/__global.readonlyarray.html#y","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"__global.ReadonlyArray"},{"id":231,"kind":256,"name":"Float32Array","url":"interfaces/__global.float32array.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"__global"},{"id":232,"kind":1024,"name":"x","url":"interfaces/__global.float32array.html#x","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"__global.Float32Array"},{"id":233,"kind":1024,"name":"y","url":"interfaces/__global.float32array.html#y","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"__global.Float32Array"},{"id":234,"kind":2097152,"name":"defaultRuntimeSettings","url":"globals.html#defaultruntimesettings","classes":"tsd-kind-object-literal"},{"id":235,"kind":32,"name":"enableHighDpiRendering","url":"globals.html#defaultruntimesettings.enablehighdpirendering","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":236,"kind":32,"name":"tileMultiplier","url":"globals.html#defaultruntimesettings.tilemultiplier","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":237,"kind":32,"name":"isWorldInverted","url":"globals.html#defaultruntimesettings.isworldinverted","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":238,"kind":32,"name":"lightCutoffDistance","url":"globals.html#defaultruntimesettings.lightcutoffdistance","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":239,"kind":32,"name":"distanceRenderScale","url":"globals.html#defaultruntimesettings.distancerenderscale","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":240,"kind":32,"name":"lightsRenderScale","url":"globals.html#defaultruntimesettings.lightsrenderscale","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":241,"kind":32,"name":"colorPalette","url":"globals.html#defaultruntimesettings.colorpalette","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":242,"kind":32,"name":"motionBlur","url":"globals.html#defaultruntimesettings.motionblur","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":243,"kind":32,"name":"ambientLight","url":"globals.html#defaultruntimesettings.ambientlight","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":244,"kind":32,"name":"textures","url":"globals.html#defaultruntimesettings.textures","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultRuntimeSettings"},{"id":245,"kind":65536,"name":"__type","url":"globals.html#defaultruntimesettings.textures.__type","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"defaultRuntimeSettings.textures"},{"id":246,"kind":2097152,"name":"defaultStartupSettings","url":"globals.html#defaultstartupsettings","classes":"tsd-kind-object-literal"},{"id":247,"kind":32,"name":"shadowTraceCount","url":"globals.html#defaultstartupsettings.shadowtracecount","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultStartupSettings"},{"id":248,"kind":32,"name":"paletteSize","url":"globals.html#defaultstartupsettings.palettesize","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultStartupSettings"},{"id":249,"kind":32,"name":"ignoreWebGL2","url":"globals.html#defaultstartupsettings.ignorewebgl2","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultStartupSettings"},{"id":250,"kind":32,"name":"backgroundColor","url":"globals.html#defaultstartupsettings.backgroundcolor","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultStartupSettings"},{"id":251,"kind":32,"name":"lightPenetrationRatio","url":"globals.html#defaultstartupsettings.lightpenetrationratio","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultStartupSettings"},{"id":252,"kind":32,"name":"enableStopwatch","url":"globals.html#defaultstartupsettings.enablestopwatch","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultStartupSettings"},{"id":253,"kind":32,"name":"enableContextLostSimulator","url":"globals.html#defaultstartupsettings.enablecontextlostsimulator","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"defaultStartupSettings"},{"id":254,"kind":64,"name":"compile","url":"globals.html#compile","classes":"tsd-kind-function"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,35.303]],["parent/0",[]],["name/1",[1,40.411]],["parent/1",[0,3.253]],["name/2",[2,34.051]],["parent/2",[3,4.736]],["name/3",[4,40.411]],["parent/3",[0,3.253]],["name/4",[5,46.289]],["parent/4",[0,3.253]],["name/5",[6,51.397]],["parent/5",[0,3.253]],["name/6",[7,40.411]],["parent/6",[0,3.253]],["name/7",[8,40.411]],["parent/7",[0,3.253]],["name/8",[9,40.411]],["parent/8",[]],["name/9",[10,30.194]],["parent/9",[9,3.723]],["name/10",[11,30.194]],["parent/10",[9,3.723]],["name/11",[12,30.194]],["parent/11",[9,3.723]],["name/12",[13,40.411]],["parent/12",[]],["name/13",[14,51.397]],["parent/13",[13,3.723]],["name/14",[15,51.397]],["parent/14",[13,3.723]],["name/15",[16,51.397]],["parent/15",[13,3.723]],["name/16",[17,42.924]],["parent/16",[]],["name/17",[18,51.397]],["parent/17",[17,3.955]],["name/18",[19,51.397]],["parent/18",[17,3.955]],["name/19",[20,38.404]],["parent/19",[]],["name/20",[21,51.397]],["parent/20",[20,3.539]],["name/21",[22,51.397]],["parent/21",[20,3.539]],["name/22",[23,51.397]],["parent/22",[20,3.539]],["name/23",[24,51.397]],["parent/23",[20,3.539]],["name/24",[25,46.289]],["parent/24",[]],["name/25",[2,34.051]],["parent/25",[25,4.265]],["name/26",[26,51.397]],["parent/26",[27,4.265]],["name/27",[28,51.397]],["parent/27",[27,4.265]],["name/28",[29,31.028]],["parent/28",[]],["name/29",[30,46.289]],["parent/29",[29,2.859]],["name/30",[31,46.289]],["parent/30",[29,2.859]],["name/31",[32,46.289]],["parent/31",[29,2.859]],["name/32",[33,46.289]],["parent/32",[29,2.859]],["name/33",[34,46.289]],["parent/33",[29,2.859]],["name/34",[35,46.289]],["parent/34",[29,2.859]],["name/35",[36,46.289]],["parent/35",[29,2.859]],["name/36",[37,46.289]],["parent/36",[29,2.859]],["name/37",[38,46.289]],["parent/37",[29,2.859]],["name/38",[2,34.051]],["parent/38",[39,4.736]],["name/39",[40,46.289]],["parent/39",[29,2.859]],["name/40",[41,34.051]],["parent/40",[]],["name/41",[42,46.289]],["parent/41",[41,3.137]],["name/42",[43,46.289]],["parent/42",[41,3.137]],["name/43",[44,46.289]],["parent/43",[41,3.137]],["name/44",[45,46.289]],["parent/44",[41,3.137]],["name/45",[46,46.289]],["parent/45",[41,3.137]],["name/46",[47,46.289]],["parent/46",[41,3.137]],["name/47",[48,46.289]],["parent/47",[41,3.137]],["name/48",[49,31.938]],["parent/48",[]],["name/49",[50,51.397]],["parent/49",[49,2.943]],["name/50",[51,51.397]],["parent/50",[49,2.943]],["name/51",[52,30.194]],["parent/51",[49,2.943]],["name/52",[53,51.397]],["parent/52",[49,2.943]],["name/53",[54,51.397]],["parent/53",[49,2.943]],["name/54",[2,34.051]],["parent/54",[55,4.736]],["name/55",[56,51.397]],["parent/55",[49,2.943]],["name/56",[57,51.397]],["parent/56",[49,2.943]],["name/57",[58,51.397]],["parent/57",[49,2.943]],["name/58",[2,34.051]],["parent/58",[59,4.736]],["name/59",[60,51.397]],["parent/59",[61,4.265]],["name/60",[2,34.051]],["parent/60",[62,4.736]],["name/61",[63,46.289]],["parent/61",[64,3.723]],["name/62",[65,51.397]],["parent/62",[64,3.723]],["name/63",[66,46.289]],["parent/63",[64,3.723]],["name/64",[67,51.397]],["parent/64",[64,3.723]],["name/65",[68,51.397]],["parent/65",[61,4.265]],["name/66",[2,34.051]],["parent/66",[69,4.736]],["name/67",[63,46.289]],["parent/67",[70,4.265]],["name/68",[66,46.289]],["parent/68",[70,4.265]],["name/69",[71,51.397]],["parent/69",[49,2.943]],["name/70",[52,30.194]],["parent/70",[]],["name/71",[72,51.397]],["parent/71",[52,2.782]],["name/72",[73,51.397]],["parent/72",[52,2.782]],["name/73",[74,51.397]],["parent/73",[52,2.782]],["name/74",[75,51.397]],["parent/74",[52,2.782]],["name/75",[76,51.397]],["parent/75",[52,2.782]],["name/76",[77,51.397]],["parent/76",[52,2.782]],["name/77",[78,51.397]],["parent/77",[52,2.782]],["name/78",[79,51.397]],["parent/78",[52,2.782]],["name/79",[80,46.289]],["parent/79",[52,2.782]],["name/80",[81,51.397]],["parent/80",[52,2.782]],["name/81",[82,31.938]],["parent/81",[]],["name/82",[10,30.194]],["parent/82",[82,2.943]],["name/83",[1,40.411]],["parent/83",[83,3.723]],["name/84",[84,31.938]],["parent/84",[85,3.955]],["name/85",[86,40.411]],["parent/85",[85,3.955]],["name/86",[87,40.411]],["parent/86",[85,3.955]],["name/87",[4,40.411]],["parent/87",[83,3.723]],["name/88",[7,40.411]],["parent/88",[83,3.723]],["name/89",[8,40.411]],["parent/89",[83,3.723]],["name/90",[88,29.425]],["parent/90",[82,2.943]],["name/91",[89,46.289]],["parent/91",[82,2.943]],["name/92",[84,31.938]],["parent/92",[82,2.943]],["name/93",[86,40.411]],["parent/93",[82,2.943]],["name/94",[87,40.411]],["parent/94",[82,2.943]],["name/95",[90,46.289]],["parent/95",[82,2.943]],["name/96",[11,30.194]],["parent/96",[82,2.943]],["name/97",[12,30.194]],["parent/97",[82,2.943]],["name/98",[91,30.194]],["parent/98",[]],["name/99",[10,30.194]],["parent/99",[91,2.782]],["name/100",[1,40.411]],["parent/100",[92,3.723]],["name/101",[84,31.938]],["parent/101",[93,3.539]],["name/102",[86,40.411]],["parent/102",[93,3.539]],["name/103",[87,40.411]],["parent/103",[93,3.539]],["name/104",[94,46.289]],["parent/104",[93,3.539]],["name/105",[95,46.289]],["parent/105",[93,3.539]],["name/106",[4,40.411]],["parent/106",[92,3.723]],["name/107",[7,40.411]],["parent/107",[92,3.723]],["name/108",[8,40.411]],["parent/108",[92,3.723]],["name/109",[88,29.425]],["parent/109",[91,2.782]],["name/110",[94,46.289]],["parent/110",[91,2.782]],["name/111",[95,46.289]],["parent/111",[91,2.782]],["name/112",[12,30.194]],["parent/112",[91,2.782]],["name/113",[89,46.289]],["parent/113",[91,2.782]],["name/114",[84,31.938]],["parent/114",[91,2.782]],["name/115",[86,40.411]],["parent/115",[91,2.782]],["name/116",[87,40.411]],["parent/116",[91,2.782]],["name/117",[90,46.289]],["parent/117",[91,2.782]],["name/118",[11,30.194]],["parent/118",[91,2.782]],["name/119",[96,35.303]],["parent/119",[]],["name/120",[88,29.425]],["parent/120",[96,3.253]],["name/121",[84,31.938]],["parent/121",[96,3.253]],["name/122",[97,38.404]],["parent/122",[96,3.253]],["name/123",[10,30.194]],["parent/123",[96,3.253]],["name/124",[11,30.194]],["parent/124",[96,3.253]],["name/125",[12,30.194]],["parent/125",[96,3.253]],["name/126",[98,51.397]],["parent/126",[]],["name/127",[99,35.303]],["parent/127",[]],["name/128",[88,29.425]],["parent/128",[99,3.253]],["name/129",[84,31.938]],["parent/129",[99,3.253]],["name/130",[97,38.404]],["parent/130",[99,3.253]],["name/131",[10,30.194]],["parent/131",[99,3.253]],["name/132",[11,30.194]],["parent/132",[99,3.253]],["name/133",[12,30.194]],["parent/133",[99,3.253]],["name/134",[100,51.397]],["parent/134",[]],["name/135",[101,34.051]],["parent/135",[]],["name/136",[10,30.194]],["parent/136",[101,3.137]],["name/137",[5,46.289]],["parent/137",[102,3.539]],["name/138",[103,51.397]],["parent/138",[104,4.265]],["name/139",[105,51.397]],["parent/139",[104,4.265]],["name/140",[1,40.411]],["parent/140",[102,3.539]],["name/141",[84,31.938]],["parent/141",[106,3.955]],["name/142",[97,38.404]],["parent/142",[106,3.955]],["name/143",[107,46.289]],["parent/143",[106,3.955]],["name/144",[4,40.411]],["parent/144",[102,3.539]],["name/145",[7,40.411]],["parent/145",[102,3.539]],["name/146",[8,40.411]],["parent/146",[102,3.539]],["name/147",[88,29.425]],["parent/147",[101,3.137]],["name/148",[84,31.938]],["parent/148",[101,3.137]],["name/149",[97,38.404]],["parent/149",[101,3.137]],["name/150",[107,46.289]],["parent/150",[101,3.137]],["name/151",[11,30.194]],["parent/151",[101,3.137]],["name/152",[12,30.194]],["parent/152",[101,3.137]],["name/153",[108,32.939]],["parent/153",[]],["name/154",[88,29.425]],["parent/154",[108,3.035]],["name/155",[109,46.289]],["parent/155",[108,3.035]],["name/156",[110,46.289]],["parent/156",[108,3.035]],["name/157",[111,46.289]],["parent/157",[108,3.035]],["name/158",[112,46.289]],["parent/158",[108,3.035]],["name/159",[10,30.194]],["parent/159",[108,3.035]],["name/160",[11,30.194]],["parent/160",[108,3.035]],["name/161",[12,30.194]],["parent/161",[108,3.035]],["name/162",[113,51.397]],["parent/162",[]],["name/163",[114,32.939]],["parent/163",[]],["name/164",[88,29.425]],["parent/164",[114,3.035]],["name/165",[109,46.289]],["parent/165",[114,3.035]],["name/166",[110,46.289]],["parent/166",[114,3.035]],["name/167",[111,46.289]],["parent/167",[114,3.035]],["name/168",[112,46.289]],["parent/168",[114,3.035]],["name/169",[10,30.194]],["parent/169",[114,3.035]],["name/170",[11,30.194]],["parent/170",[114,3.035]],["name/171",[12,30.194]],["parent/171",[114,3.035]],["name/172",[115,51.397]],["parent/172",[]],["name/173",[116,35.303]],["parent/173",[]],["name/174",[88,29.425]],["parent/174",[116,3.253]],["name/175",[84,31.938]],["parent/175",[116,3.253]],["name/176",[97,38.404]],["parent/176",[116,3.253]],["name/177",[10,30.194]],["parent/177",[116,3.253]],["name/178",[11,30.194]],["parent/178",[116,3.253]],["name/179",[12,30.194]],["parent/179",[116,3.253]],["name/180",[117,51.397]],["parent/180",[]],["name/181",[118,51.397]],["parent/181",[]],["name/182",[119,36.734]],["parent/182",[]],["name/183",[88,29.425]],["parent/183",[119,3.385]],["name/184",[120,46.289]],["parent/184",[119,3.385]],["name/185",[10,30.194]],["parent/185",[119,3.385]],["name/186",[11,30.194]],["parent/186",[119,3.385]],["name/187",[12,30.194]],["parent/187",[119,3.385]],["name/188",[121,51.397]],["parent/188",[]],["name/189",[122,35.303]],["parent/189",[]],["name/190",[123,51.397]],["parent/190",[122,3.253]],["name/191",[88,29.425]],["parent/191",[122,3.253]],["name/192",[120,46.289]],["parent/192",[122,3.253]],["name/193",[10,30.194]],["parent/193",[122,3.253]],["name/194",[11,30.194]],["parent/194",[122,3.253]],["name/195",[12,30.194]],["parent/195",[122,3.253]],["name/196",[124,51.397]],["parent/196",[]],["name/197",[125,34.051]],["parent/197",[]],["name/198",[88,29.425]],["parent/198",[125,3.137]],["name/199",[84,31.938]],["parent/199",[125,3.137]],["name/200",[126,51.397]],["parent/200",[125,3.137]],["name/201",[127,51.397]],["parent/201",[125,3.137]],["name/202",[10,30.194]],["parent/202",[125,3.137]],["name/203",[11,30.194]],["parent/203",[125,3.137]],["name/204",[12,30.194]],["parent/204",[125,3.137]],["name/205",[128,51.397]],["parent/205",[]],["name/206",[129,51.397]],["parent/206",[]],["name/207",[130,51.397]],["parent/207",[]],["name/208",[131,51.397]],["parent/208",[]],["name/209",[132,51.397]],["parent/209",[]],["name/210",[133,51.397]],["parent/210",[]],["name/211",[134,51.397]],["parent/211",[]],["name/212",[135,51.397]],["parent/212",[]],["name/213",[136,40.411]],["parent/213",[]],["name/214",[88,29.425]],["parent/214",[136,3.723]],["name/215",[137,51.397]],["parent/215",[136,3.723]],["name/216",[80,46.289]],["parent/216",[136,3.723]],["name/217",[138,36.734]],["parent/217",[]],["name/218",[139,51.397]],["parent/218",[138,3.385]],["name/219",[140,51.397]],["parent/219",[138,3.385]],["name/220",[88,29.425]],["parent/220",[138,3.385]],["name/221",[141,51.397]],["parent/221",[138,3.385]],["name/222",[142,51.397]],["parent/222",[138,3.385]],["name/223",[143,51.397]],["parent/223",[]],["name/224",[144,40.411]],["parent/224",[]],["name/225",[145,51.397]],["parent/225",[144,3.723]],["name/226",[146,42.924]],["parent/226",[147,4.265]],["name/227",[148,42.924]],["parent/227",[147,4.265]],["name/228",[149,51.397]],["parent/228",[144,3.723]],["name/229",[146,42.924]],["parent/229",[150,4.265]],["name/230",[148,42.924]],["parent/230",[150,4.265]],["name/231",[151,51.397]],["parent/231",[144,3.723]],["name/232",[146,42.924]],["parent/232",[152,4.265]],["name/233",[148,42.924]],["parent/233",[152,4.265]],["name/234",[153,31.028]],["parent/234",[]],["name/235",[30,46.289]],["parent/235",[153,2.859]],["name/236",[31,46.289]],["parent/236",[153,2.859]],["name/237",[32,46.289]],["parent/237",[153,2.859]],["name/238",[33,46.289]],["parent/238",[153,2.859]],["name/239",[35,46.289]],["parent/239",[153,2.859]],["name/240",[36,46.289]],["parent/240",[153,2.859]],["name/241",[34,46.289]],["parent/241",[153,2.859]],["name/242",[37,46.289]],["parent/242",[153,2.859]],["name/243",[40,46.289]],["parent/243",[153,2.859]],["name/244",[38,46.289]],["parent/244",[153,2.859]],["name/245",[2,34.051]],["parent/245",[154,4.736]],["name/246",[155,34.051]],["parent/246",[]],["name/247",[43,46.289]],["parent/247",[155,3.137]],["name/248",[45,46.289]],["parent/248",[155,3.137]],["name/249",[48,46.289]],["parent/249",[155,3.137]],["name/250",[47,46.289]],["parent/250",[155,3.137]],["name/251",[44,46.289]],["parent/251",[155,3.137]],["name/252",[42,46.289]],["parent/252",[155,3.137]],["name/253",[46,46.289]],["parent/253",[155,3.137]],["name/254",[156,51.397]],["parent/254",[]]],"invertedIndex":[["__global",{"_index":144,"name":{"224":{}},"parent":{"225":{},"228":{},"231":{}}}],["__global.array",{"_index":147,"name":{},"parent":{"226":{},"227":{}}}],["__global.float32array",{"_index":152,"name":{},"parent":{"232":{},"233":{}}}],["__global.readonlyarray",{"_index":150,"name":{},"parent":{"229":{},"230":{}}}],["__type",{"_index":2,"name":{"2":{},"25":{},"38":{},"54":{},"58":{},"60":{},"66":{},"245":{}},"parent":{}}],["_id",{"_index":117,"name":{"180":{}},"parent":{}}],["adddeltatime",{"_index":142,"name":{"222":{}},"parent":{}}],["adddrawable",{"_index":78,"name":{"77":{}},"parent":{}}],["ambientlight",{"_index":40,"name":{"39":{},"243":{}},"parent":{}}],["array",{"_index":145,"name":{"225":{}},"parent":{}}],["backgroundcolor",{"_index":47,"name":{"46":{},"250":{}},"parent":{}}],["canvassize",{"_index":72,"name":{"71":{}},"parent":{}}],["center",{"_index":84,"name":{"84":{},"92":{},"101":{},"114":{},"121":{},"129":{},"141":{},"148":{},"175":{},"199":{}},"parent":{}}],["circlebase",{"_index":96,"name":{"119":{}},"parent":{"120":{},"121":{},"122":{},"123":{},"124":{},"125":{}}}],["circlefactory",{"_index":98,"name":{"126":{}},"parent":{}}],["circlelight",{"_index":82,"name":{"81":{}},"parent":{"82":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{}}}],["circlelight.descriptor",{"_index":83,"name":{},"parent":{"83":{},"87":{},"88":{},"89":{}}}],["circlelight.descriptor.propertyuniformmapping",{"_index":85,"name":{},"parent":{"84":{},"85":{},"86":{}}}],["clamp_to_edge",{"_index":14,"name":{"13":{}},"parent":{}}],["color",{"_index":86,"name":{"85":{},"93":{},"102":{},"115":{}},"parent":{}}],["colorfulcircle",{"_index":101,"name":{"135":{}},"parent":{"136":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{}}}],["colorfulcircle.descriptor",{"_index":102,"name":{},"parent":{"137":{},"140":{},"144":{},"145":{},"146":{}}}],["colorfulcircle.descriptor.propertyuniformmapping",{"_index":106,"name":{},"parent":{"141":{},"142":{},"143":{}}}],["colorfulcircle.descriptor.sdf",{"_index":104,"name":{},"parent":{"138":{},"139":{}}}],["colorindex",{"_index":107,"name":{"143":{},"150":{}},"parent":{}}],["colorpalette",{"_index":34,"name":{"33":{},"241":{}},"parent":{}}],["compile",{"_index":156,"name":{"254":{}},"parent":{}}],["constructor",{"_index":88,"name":{"90":{},"109":{},"120":{},"128":{},"147":{},"154":{},"164":{},"174":{},"183":{},"191":{},"198":{},"214":{},"220":{}},"parent":{}}],["defaultruntimesettings",{"_index":153,"name":{"234":{}},"parent":{"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{}}}],["defaultruntimesettings.textures",{"_index":154,"name":{},"parent":{"245":{}}}],["defaultstartupsettings",{"_index":155,"name":{"246":{}},"parent":{"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{}}}],["deltatimecalculator",{"_index":136,"name":{"213":{}},"parent":{"214":{},"215":{},"216":{}}}],["descriptor",{"_index":10,"name":{"9":{},"82":{},"99":{},"123":{},"131":{},"136":{},"159":{},"169":{},"177":{},"185":{},"193":{},"202":{}},"parent":{}}],["destroy",{"_index":80,"name":{"79":{},"216":{}},"parent":{}}],["direction",{"_index":94,"name":{"104":{},"110":{}},"parent":{}}],["displaytoworldcoordinates",{"_index":75,"name":{"74":{}},"parent":{}}],["distance",{"_index":60,"name":{"59":{}},"parent":{}}],["distancefunctionname",{"_index":105,"name":{"139":{}},"parent":{}}],["distancerenderscale",{"_index":35,"name":{"34":{},"239":{}},"parent":{}}],["drawable",{"_index":9,"name":{"8":{}},"parent":{"9":{},"10":{},"11":{}}}],["drawablecount",{"_index":65,"name":{"62":{}},"parent":{}}],["drawabledescriptor",{"_index":0,"name":{"0":{}},"parent":{"1":{},"3":{},"4":{},"5":{},"6":{},"7":{}}}],["drawabledescriptor.propertyuniformmapping",{"_index":3,"name":{},"parent":{"2":{}}}],["drawndrawablecount",{"_index":66,"name":{"63":{},"68":{}},"parent":{}}],["dropletbase",{"_index":108,"name":{"153":{}},"parent":{"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{}}}],["dropletfactory",{"_index":113,"name":{"162":{}},"parent":{}}],["empty",{"_index":8,"name":{"7":{},"89":{},"108":{},"146":{}},"parent":{}}],["enablecontextlostsimulator",{"_index":46,"name":{"45":{},"253":{}},"parent":{}}],["enablehighdpirendering",{"_index":30,"name":{"29":{},"235":{}},"parent":{}}],["enablestopwatch",{"_index":42,"name":{"41":{},"252":{}},"parent":{}}],["extensions",{"_index":54,"name":{"53":{}},"parent":{}}],["filteringoptions",{"_index":17,"name":{"16":{}},"parent":{"17":{},"18":{}}}],["flashlight",{"_index":91,"name":{"98":{}},"parent":{"99":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{}}}],["flashlight.descriptor",{"_index":92,"name":{},"parent":{"100":{},"106":{},"107":{},"108":{}}}],["flashlight.descriptor.propertyuniformmapping",{"_index":93,"name":{},"parent":{"101":{},"102":{},"103":{},"104":{},"105":{}}}],["float32array",{"_index":151,"name":{"231":{}},"parent":{}}],["floatinterpolationenabled",{"_index":56,"name":{"55":{}},"parent":{}}],["fps",{"_index":141,"name":{"221":{}},"parent":{}}],["fpshysteresis",{"_index":140,"name":{"219":{}},"parent":{}}],["fpsqualityautoscaler",{"_index":138,"name":{"217":{}},"parent":{"218":{},"219":{},"220":{},"221":{},"222":{}}}],["fpstarget",{"_index":139,"name":{"218":{}},"parent":{}}],["from",{"_index":109,"name":{"155":{},"165":{}},"parent":{}}],["fromradius",{"_index":111,"name":{"157":{},"167":{}},"parent":{}}],["getnextdeltatime",{"_index":137,"name":{"215":{}},"parent":{}}],["getobjecttoserialize",{"_index":12,"name":{"11":{},"97":{},"112":{},"125":{},"133":{},"152":{},"161":{},"171":{},"179":{},"187":{},"195":{},"204":{}},"parent":{}}],["hex",{"_index":131,"name":{"208":{}},"parent":{}}],["hexagonbase",{"_index":99,"name":{"127":{}},"parent":{"128":{},"129":{},"130":{},"131":{},"132":{},"133":{}}}],["hexagonfactory",{"_index":100,"name":{"134":{}},"parent":{}}],["hsl",{"_index":133,"name":{"210":{}},"parent":{}}],["ignorewebgl2",{"_index":48,"name":{"47":{},"249":{}},"parent":{}}],["insights",{"_index":81,"name":{"80":{}},"parent":{}}],["intensity",{"_index":87,"name":{"86":{},"94":{},"103":{},"116":{}},"parent":{}}],["invertedtunnelbase",{"_index":114,"name":{"163":{}},"parent":{"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{}}}],["invertedtunnelfactory",{"_index":115,"name":{"172":{}},"parent":{}}],["iswebgl2",{"_index":50,"name":{"49":{}},"parent":{}}],["isworldinverted",{"_index":32,"name":{"31":{},"237":{}},"parent":{}}],["lightcutoffdistance",{"_index":33,"name":{"32":{},"238":{}},"parent":{}}],["lightnessratio",{"_index":89,"name":{"91":{},"113":{}},"parent":{}}],["lightpenetrationratio",{"_index":44,"name":{"43":{},"251":{}},"parent":{}}],["lights",{"_index":68,"name":{"65":{}},"parent":{}}],["lightsrenderscale",{"_index":36,"name":{"35":{},"240":{}},"parent":{}}],["linear",{"_index":18,"name":{"17":{}},"parent":{}}],["maxfilter",{"_index":24,"name":{"23":{}},"parent":{}}],["metacirclebase",{"_index":116,"name":{"173":{}},"parent":{"174":{},"175":{},"176":{},"177":{},"178":{},"179":{}}}],["metacirclefactory",{"_index":118,"name":{"181":{}},"parent":{}}],["mindistance",{"_index":11,"name":{"10":{},"96":{},"118":{},"124":{},"132":{},"151":{},"160":{},"170":{},"178":{},"186":{},"194":{},"203":{}},"parent":{}}],["minfilter",{"_index":23,"name":{"22":{}},"parent":{}}],["mirrored_repeat",{"_index":16,"name":{"15":{}},"parent":{}}],["motionblur",{"_index":37,"name":{"36":{},"242":{}},"parent":{}}],["nearest",{"_index":19,"name":{"18":{}},"parent":{}}],["noisypolygonbase",{"_index":122,"name":{"189":{}},"parent":{"190":{},"191":{},"192":{},"193":{},"194":{},"195":{}}}],["noisypolygonfactory",{"_index":124,"name":{"196":{}},"parent":{}}],["objectcountscaler",{"_index":6,"name":{"5":{}},"parent":{}}],["overrides",{"_index":28,"name":{"27":{}},"parent":{}}],["palettesize",{"_index":45,"name":{"44":{},"248":{}},"parent":{}}],["polygonbase",{"_index":119,"name":{"182":{}},"parent":{"183":{},"184":{},"185":{},"186":{},"187":{}}}],["polygonfactory",{"_index":121,"name":{"188":{}},"parent":{}}],["programcount",{"_index":57,"name":{"56":{}},"parent":{}}],["propertyuniformmapping",{"_index":1,"name":{"1":{},"83":{},"100":{},"140":{}},"parent":{}}],["radius",{"_index":97,"name":{"122":{},"130":{},"142":{},"149":{},"176":{}},"parent":{}}],["randomoffset",{"_index":123,"name":{"190":{}},"parent":{}}],["readonlyarray",{"_index":149,"name":{"228":{}},"parent":{}}],["renderdrawables",{"_index":79,"name":{"78":{}},"parent":{}}],["renderer",{"_index":52,"name":{"51":{},"70":{}},"parent":{"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{}}}],["rendererinfo",{"_index":49,"name":{"48":{}},"parent":{"49":{},"50":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"69":{}}}],["rendererinfo.extensions",{"_index":55,"name":{},"parent":{"54":{}}}],["rendererinfo.renderpasses",{"_index":59,"name":{},"parent":{"58":{}}}],["rendererinfo.renderpasses.__type",{"_index":61,"name":{},"parent":{"59":{},"65":{}}}],["rendererinfo.renderpasses.__type.distance",{"_index":62,"name":{},"parent":{"60":{}}}],["rendererinfo.renderpasses.__type.distance.__type",{"_index":64,"name":{},"parent":{"61":{},"62":{},"63":{},"64":{}}}],["rendererinfo.renderpasses.__type.lights",{"_index":69,"name":{},"parent":{"66":{}}}],["rendererinfo.renderpasses.__type.lights.__type",{"_index":70,"name":{},"parent":{"67":{},"68":{}}}],["rendernoise",{"_index":129,"name":{"206":{}},"parent":{}}],["renderpasses",{"_index":58,"name":{"57":{}},"parent":{}}],["renderscale",{"_index":63,"name":{"61":{},"67":{}},"parent":{}}],["repeat",{"_index":15,"name":{"14":{}},"parent":{}}],["rgb",{"_index":132,"name":{"209":{}},"parent":{}}],["rgb255",{"_index":130,"name":{"207":{}},"parent":{}}],["rgba",{"_index":134,"name":{"211":{}},"parent":{}}],["rgba255",{"_index":135,"name":{"212":{}},"parent":{}}],["rotatedrectanglebase",{"_index":125,"name":{"197":{}},"parent":{"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{}}}],["rotatedrectanglefactory",{"_index":128,"name":{"205":{}},"parent":{}}],["rotation",{"_index":127,"name":{"201":{}},"parent":{}}],["runanimation",{"_index":143,"name":{"223":{}},"parent":{}}],["runtimesettings",{"_index":29,"name":{"28":{}},"parent":{"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"39":{}}}],["runtimesettings.textures",{"_index":39,"name":{},"parent":{"38":{}}}],["sdf",{"_index":5,"name":{"4":{},"137":{}},"parent":{}}],["sdf2dversion",{"_index":53,"name":{"52":{}},"parent":{}}],["setlightnessratio",{"_index":90,"name":{"95":{},"117":{}},"parent":{}}],["setruntimesettings",{"_index":77,"name":{"76":{}},"parent":{}}],["setviewarea",{"_index":74,"name":{"73":{}},"parent":{}}],["shader",{"_index":103,"name":{"138":{}},"parent":{}}],["shadercombinationsteps",{"_index":7,"name":{"6":{},"88":{},"107":{},"145":{}},"parent":{}}],["shadowtracecount",{"_index":43,"name":{"42":{},"247":{}},"parent":{}}],["size",{"_index":126,"name":{"200":{}},"parent":{}}],["source",{"_index":26,"name":{"26":{}},"parent":{}}],["startcutoff",{"_index":95,"name":{"105":{},"111":{}},"parent":{}}],["startupsettings",{"_index":41,"name":{"40":{}},"parent":{"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{}}}],["startuptimeinmilliseconds",{"_index":71,"name":{"69":{}},"parent":{}}],["textureoptions",{"_index":20,"name":{"19":{}},"parent":{"20":{},"21":{},"22":{},"23":{}}}],["textures",{"_index":38,"name":{"37":{},"244":{}},"parent":{}}],["texturewithoptions",{"_index":25,"name":{"24":{}},"parent":{"25":{}}}],["texturewithoptions.__type",{"_index":27,"name":{},"parent":{"26":{},"27":{}}}],["tilecount",{"_index":67,"name":{"64":{}},"parent":{}}],["tilemultiplier",{"_index":31,"name":{"30":{},"236":{}},"parent":{}}],["to",{"_index":110,"name":{"156":{},"166":{}},"parent":{}}],["toradius",{"_index":112,"name":{"158":{},"168":{}},"parent":{}}],["uniformcountmacroname",{"_index":4,"name":{"3":{},"87":{},"106":{},"144":{}},"parent":{}}],["vendor",{"_index":51,"name":{"50":{}},"parent":{}}],["vertices",{"_index":120,"name":{"184":{},"192":{}},"parent":{}}],["viewareasize",{"_index":73,"name":{"72":{}},"parent":{}}],["worldtodisplaycoordinates",{"_index":76,"name":{"75":{}},"parent":{}}],["wrapoptions",{"_index":13,"name":{"12":{}},"parent":{"13":{},"14":{},"15":{}}}],["wraps",{"_index":21,"name":{"20":{}},"parent":{}}],["wrapt",{"_index":22,"name":{"21":{}},"parent":{}}],["x",{"_index":146,"name":{"226":{},"229":{},"232":{}},"parent":{}}],["y",{"_index":148,"name":{"227":{},"230":{},"233":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js deleted file mode 100644 index 8182cee..0000000 --- a/docs/assets/main.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse","folder":"Folder","search_index_not_available":"The search index is not available","search_no_results_found_for_0":"No results found for {0}","kind_1":"Project","kind_2":"Module","kind_4":"Namespace","kind_8":"Enumeration","kind_16":"Enumeration Member","kind_32":"Variable","kind_64":"Function","kind_128":"Class","kind_256":"Interface","kind_512":"Constructor","kind_1024":"Property","kind_2048":"Method","kind_4096":"Call Signature","kind_8192":"Index Signature","kind_16384":"Constructor Signature","kind_32768":"Parameter","kind_65536":"Type Literal","kind_131072":"Type Parameter","kind_262144":"Accessor","kind_524288":"Get Signature","kind_1048576":"Set Signature","kind_2097152":"Type Alias","kind_4194304":"Reference","kind_8388608":"Document"}; -"use strict";(()=>{var Ke=Object.create;var he=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ye=Object.prototype.hasOwnProperty;var et=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var tt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ze(e))!Ye.call(t,i)&&i!==n&&he(t,i,{get:()=>e[i],enumerable:!(r=Ge(e,i))||r.enumerable});return t};var nt=(t,e,n)=>(n=t!=null?Ke(Xe(t)):{},tt(e||!t||!t.__esModule?he(n,"default",{value:t,enumerable:!0}):n,t));var ye=et((me,ge)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=(function(e){return function(n){e.console&&console.warn&&console.warn(n)}})(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,l],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?d+=2:a==c&&(n+=r[l+1]*i[d+1],l+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),f=s.str.charAt(1),p;f in s.node.edges?p=s.node.edges[f]:(p=new t.TokenSet,s.node.edges[f]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}if(s.type===t.QueryLexer.TERM)return t.QueryParser.parseTerm;var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},(function(e,n){typeof define=="function"&&define.amd?define(n):typeof me=="object"?ge.exports=n():e.lunr=n()})(this,function(){return t})})()});var M,G={getItem(){return null},setItem(){}},K;try{K=localStorage,M=K}catch{K=G,M=G}var S={getItem:t=>M.getItem(t),setItem:(t,e)=>M.setItem(t,e),disableWritingLocalStorage(){M=G},disable(){localStorage.clear(),M=G},enable(){M=K}};window.TypeDoc||={disableWritingLocalStorage(){S.disableWritingLocalStorage()},disableLocalStorage:()=>{S.disable()},enableLocalStorage:()=>{S.enable()}};window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse",search_index_not_available:"The search index is not available",search_no_results_found_for_0:"No results found for {0}",folder:"Folder",kind_1:"Project",kind_2:"Module",kind_4:"Namespace",kind_8:"Enumeration",kind_16:"Enumeration Member",kind_32:"Variable",kind_64:"Function",kind_128:"Class",kind_256:"Interface",kind_512:"Constructor",kind_1024:"Property",kind_2048:"Method",kind_4096:"Call Signature",kind_8192:"Index Signature",kind_16384:"Constructor Signature",kind_32768:"Parameter",kind_65536:"Type Literal",kind_131072:"Type Parameter",kind_262144:"Accessor",kind_524288:"Get Signature",kind_1048576:"Set Signature",kind_2097152:"Type Alias",kind_4194304:"Reference",kind_8388608:"Document"};var pe=[];function X(t,e){pe.push({selector:e,constructor:t})}var Z=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){pe.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!rt(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function rt(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var fe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var Ie=nt(ye(),1);async function R(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}var Y="closing",ae="tsd-overlay";function it(){let t=Math.abs(window.innerWidth-document.documentElement.clientWidth);document.body.style.overflow="hidden",document.body.style.paddingRight=`${t}px`}function st(){document.body.style.removeProperty("overflow"),document.body.style.removeProperty("padding-right")}function Ee(t,e){t.addEventListener("animationend",()=>{t.classList.contains(Y)&&(t.classList.remove(Y),document.getElementById(ae)?.remove(),t.close(),st())}),t.addEventListener("cancel",n=>{n.preventDefault(),ve(t)}),e?.closeOnClick&&document.addEventListener("click",n=>{t.open&&!t.contains(n.target)&&ve(t)},!0)}function xe(t){if(t.open)return;let e=document.createElement("div");e.id=ae,document.body.appendChild(e),t.showModal(),it()}function ve(t){if(!t.open)return;document.getElementById(ae)?.classList.add(Y),t.classList.add(Y)}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var be=document.head.appendChild(document.createElement("style"));be.dataset.for="filters";var le={};function Le(t){for(let e of t.split(/\s+/))if(le.hasOwnProperty(e)&&!le[e])return!0;return!1}var ee=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),be.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=S.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){S.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),le[`tsd-is-${this.el.name}`]=this.value,this.app.filterChanged(),this.app.updateIndexVisibility()}};var we=0;async function Se(t,e){if(!window.searchData)return;let n=await R(window.searchData);t.data=n,t.index=Ie.Index.load(n.index),e.innerHTML=""}function _e(){let t=document.getElementById("tsd-search-trigger"),e=document.getElementById("tsd-search"),n=document.getElementById("tsd-search-input"),r=document.getElementById("tsd-search-results"),i=document.getElementById("tsd-search-script"),s=document.getElementById("tsd-search-status");if(!(t&&e&&n&&r&&i&&s))throw new Error("Search controls missing");let o={base:document.documentElement.dataset.base};o.base.endsWith("/")||(o.base+="/"),i.addEventListener("error",()=>{let a=window.translations.search_index_not_available;Pe(s,a)}),i.addEventListener("load",()=>{Se(o,s)}),Se(o,s),ot({trigger:t,searchEl:e,results:r,field:n,status:s},o)}function ot(t,e){let{field:n,results:r,searchEl:i,status:s,trigger:o}=t;Ee(i,{closeOnClick:!0});function a(){xe(i),n.setSelectionRange(0,n.value.length)}o.addEventListener("click",a),n.addEventListener("input",fe(()=>{at(r,n,s,e)},200)),n.addEventListener("keydown",l=>{if(r.childElementCount===0||l.ctrlKey||l.metaKey||l.altKey)return;let d=n.getAttribute("aria-activedescendant"),f=d?document.getElementById(d):null;if(f){let p=!1,v=!1;switch(l.key){case"Home":case"End":case"ArrowLeft":case"ArrowRight":v=!0;break;case"ArrowDown":case"ArrowUp":p=l.shiftKey;break}(p||v)&&ke(n)}if(!l.shiftKey)switch(l.key){case"Enter":f?.querySelector("a")?.click();break;case"ArrowUp":Te(r,n,f,-1),l.preventDefault();break;case"ArrowDown":Te(r,n,f,1),l.preventDefault();break}});function c(){ke(n)}n.addEventListener("change",c),n.addEventListener("blur",c),n.addEventListener("click",c),document.body.addEventListener("keydown",l=>{if(l.altKey||l.metaKey||l.shiftKey)return;let d=l.ctrlKey&&l.key==="k",f=!l.ctrlKey&&!ut()&&l.key==="/";(d||f)&&(l.preventDefault(),a())})}function at(t,e,n,r){if(!r.index||!r.data)return;t.innerHTML="",n.innerHTML="",we+=1;let i=e.value.trim(),s;if(i){let a=i.split(" ").map(c=>c.length?`*${c}*`:"").join(" ");s=r.index.search(a).filter(({ref:c})=>{let l=r.data.rows[Number(c)].classes;return!l||!Le(l)})}else s=[];if(s.length===0&&i){let a=window.translations.search_no_results_found_for_0.replace("{0}",` "${te(i)}" `);Pe(n,a);return}for(let a=0;ac.score-a.score);let o=Math.min(10,s.length);for(let a=0;a`,f=Ce(c.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(f+=` (score: ${s[a].score.toFixed(2)})`),c.parent&&(f=` - ${Ce(c.parent,i)}.${f}`);let p=document.createElement("li");p.id=`tsd-search:${we}-${a}`,p.role="option",p.ariaSelected="false",p.classList.value=c.classes??"";let v=document.createElement("a");v.tabIndex=-1,v.href=r.base+c.url,v.innerHTML=d+`${f}`,p.append(v),t.appendChild(p)}}function Te(t,e,n,r){let i;if(r===1?i=n?.nextElementSibling||t.firstElementChild:i=n?.previousElementSibling||t.lastElementChild,i!==n){if(!i||i.role!=="option"){console.error("Option missing");return}i.ariaSelected="true",i.scrollIntoView({behavior:"smooth",block:"nearest"}),e.setAttribute("aria-activedescendant",i.id),n?.setAttribute("aria-selected","false")}}function ke(t){let e=t.getAttribute("aria-activedescendant");(e?document.getElementById(e):null)?.setAttribute("aria-selected","false"),t.setAttribute("aria-activedescendant","")}function Ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(te(t.substring(s,o)),`${te(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(te(t.substring(s))),i.join("")}var lt={"&":"&","<":"<",">":">","'":"'",'"':"""};function te(t){return t.replace(/[&<>"'"]/g,e=>lt[e])}function Pe(t,e){t.innerHTML=e?`
${e}
`:""}var ct=["button","checkbox","file","hidden","image","radio","range","reset","submit"];function ut(){let t=document.activeElement;return t?t.isContentEditable||t.tagName==="TEXTAREA"||t.tagName==="SEARCH"?!0:t.tagName==="INPUT"&&!ct.includes(t.type):!1}var D="mousedown",Me="mousemove",$="mouseup",ne={x:0,y:0},Qe=!1,ce=!1,dt=!1,F=!1,Oe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Oe?"is-mobile":"not-mobile");Oe&&"ontouchstart"in document.documentElement&&(dt=!0,D="touchstart",Me="touchmove",$="touchend");document.addEventListener(D,t=>{ce=!0,F=!1;let e=D=="touchstart"?t.targetTouches[0]:t;ne.y=e.pageY||0,ne.x=e.pageX||0});document.addEventListener(Me,t=>{if(ce&&!F){let e=D=="touchstart"?t.targetTouches[0]:t,n=ne.x-(e.pageX||0),r=ne.y-(e.pageY||0);F=Math.sqrt(n*n+r*r)>10}});document.addEventListener($,()=>{ce=!1});document.addEventListener("click",t=>{Qe&&(t.preventDefault(),t.stopImmediatePropagation(),Qe=!1)});var re=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener($,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(D,n=>this.onDocumentPointerDown(n)),document.addEventListener($,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){F||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!F&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var ue=new Map,de=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;S.setItem(this.key,e.toString())}},ie=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(ue.has(i))s=ue.get(i);else{let o=S.getItem(i),a=o?o==="true":this.el.open;s=new de(i,a),ue.set(i,s)}s.add(this.el)}};function He(t){let e=S.getItem("tsd-theme")||"os";t.value=e,Ae(e),t.addEventListener("change",()=>{S.setItem("tsd-theme",t.value),Ae(t.value)})}function Ae(t){document.documentElement.dataset.theme=t}var se;function Ne(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Re),Re())}async function Re(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await R(window.navigationData);se=document.documentElement.dataset.base,se.endsWith("/")||(se+="/"),t.innerHTML="";for(let n of e)Ve(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ve(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',De(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let c=a.appendChild(document.createElement("ul"));c.className="tsd-nested-navigation";for(let l of t.children)Ve(l,c,i)}else De(t,r,t.class)}function De(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));if(r.href=se+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&(r.classList.add("current"),r.ariaCurrent="page"),t.kind){let i=window.translations[`kind_${t.kind}`].replaceAll('"',""");r.innerHTML=``}r.appendChild(Fe(t.text,document.createElement("span")))}else{let r=e.appendChild(document.createElement("span")),i=window.translations.folder.replaceAll('"',""");r.innerHTML=``,r.appendChild(Fe(t.text,document.createElement("span")))}}function Fe(t,e){let n=t.split(/(?<=[^A-Z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?<=[_-])(?=[^_-])/);for(let r=0;r{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=gt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function pt(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Be),Be())}async function Be(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await R(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),ft(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function ft(t,e,n){let r=e.roots.filter(i=>mt(e,i,n));for(let i of r)t.appendChild(je(e,i,n))}function je(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let c=t.reflections[a],l=s.appendChild(document.createElement("a"));l.textContent=c.name,l.href=oe+c.url,l.className=c.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=oe+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let c=je(t,a,n,r);c&&o.appendChild(c)}}return r.delete(e),s}function mt(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function gt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='',t}X(re,"a[data-toggle]");X(ie,".tsd-accordion");X(ee,".tsd-filter-item input[type=checkbox]");var qe=document.getElementById("tsd-theme");qe&&He(qe);var yt=new Z;Object.defineProperty(window,"app",{value:yt});_e();Ne();$e();"virtualKeyboard"in navigator&&(navigator.virtualKeyboard.overlaysContent=!0);})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js deleted file mode 100644 index da10e0d..0000000 --- a/docs/assets/navigation.js +++ /dev/null @@ -1 +0,0 @@ -window.navigationData = "eJytmttu3DYQht9le2umiWOnje/SBEED9OgEyEUQLGYlakWUIlWSsr0o8u6FTrs8DUXt5soLa+b7Z0hqxNOX/zaGPpnN3aaQTcs43VxtWjD15m7TyLLjVP84PXhWm4Zvrjb/MFFu7q6vNkXNeKmo2Nx9wSFVJwrDpDhhorhXN9++frs6YkoFj7DjVG/iMvPzMNij53b+lRX3uwBYcNA6DnwXJb+4/jmaAympLhRrjVQ54VrmqyJ/F1FhwlBVQbEoFEI87dtXTm60ac2B5PSCa+lRLSJn+9pg3V0wVXBKBpuU2AjZ2uZZbfh2cPjNxYcDIIa3XNPDoeKg69wMTsZZ8b+PsNHwLfZ7RMaPfTDJ6u5Jw3Xwe91G6xpa9DWfWrqCwkh1SOmOmK3rsKLv3/sSp7q1JOIAklWtkFyqquNkJOTk43rkJTT5vPVEwgGBiLiApSInW07Nii7yPDJr3OCzppN8GReR7KaaPsFeihU5eR5ZOf06+qzJyZdxEcmcmHigytCSmE4Iylfkhnhm5fhh8v00uK5JFVONEpOZN9QAWV1IIl5ZGf9ODayvKDG1gJTMUkimD6SV/LBu5Eb9sjL9o/f8a3Rck2tcMUJL5rs+03NynAL6BXROHfUVLO+wiF75ImvaEFHKaTglDfTvlaKFAbFf9VKgvlmNeT9638/OaxLGlRFqpA2+Ou2wV9DWrMBmHvNjwtlOwRBlfLkj+l+ES20IfSpo2ycQNuWM2/rcbZyAz5MrBQ0lu66qqMIWR7SCjhvimWaHZPttY7Ds6M6TzJMa1jYNLRkY+n1SRYmp+WtNeYv2BBXDQsvpY82ajkN0MYjHOapskzy8qSY3+mSo0CvHp6t8ROBie2pIDap8BEUJE5U8Qy1gJNaNEkrSCVZJ1ZyhZLvjItrI9hFMUZ+hcPRNjaIWFHBOOZk2R1YNjsAZT6RVcq+gQYZrpWDfUGGIrqGkikjBD+Tkkh/Q6LJN8RIv9iWSbJl/AX2RPY0kAkrBgUBnpC6AM7G/JKdFaGpk9X86RdHvF5eKnGyyY5tctg4Ab5eSaQOioJdI+YxEDwOnxlwk5iFwrQs0ctlEDnMCfYHGjMjbTWLcUMXE/k9fl4quOUfVJ7ph2JPhzwra7yZrwXDFT6NTIGrtna5XdqHhXmog/5mZOgjBHNpL1C2mF8Hz1z+9uL32ZsSdYA9UaeBEUVEO3TXPNNaMvAQmVaeOxti3qdXk3w44M6cSmPxMHoHbuGveq9Dqv0fPNxHNeSWYrxnjpTfYRiRpQaNnIXNddE2X28Wy38YgS5v1FwmGCFzuEp2EQNjM6ER+nnHDMCO1jHODoWobZ+BZ9xsl52q5vllDfTTu92Gip3cr1CxSeivirNRWJXUfSMTKekrlPi7nnYfN5oQ1Laf9nBcWNgISmh5k6b3oHdLLrKRWuLpKN+UHR2tlc45yNirWrs75EDWGiT1a/KbtCdUJwxpKLPPl1piNtxglq2Em5/vR92MQwAMoNmxmnRdCHO9G9tItZjNLG1Cmay9sFJ+yplE+jr6XNkoQQhyfbJTLRshZIwMdEum3BhdNDgK/Jl3W+2f1OtrdmQkHoskODovFtFLW/cL4gZWZn5bAK5woZO/4DWv0UHXaCxqe4vW84NC0qPPwNOEsS0oqqci4JIeioLHp0gyLWafgwzJfEm2mOTqGdewWgFhRr+lTWmE4Cs0akQ7qNJuJwHygfyis+WJMmufFZKPQmHqYD/QnUPvdUkxqv8ub/dkoLKYeFgDDmK5vbzPCur69zY3MASaC65ExchgiZAQIueFBVnDwLGRGAstrPFjRepDbfDC1Xwifzs/sGQY3QIaPUwG8wA40Jomodd7Fj97zE2vo24jKvPxOqkQI6QU3fWqloMIw4KSkRaKaB5aJczGpGugPbPDSeTJJn60UstkxAciOoHWAYhsmlvKgI9s78+kI6GDTxrpZwfAy3TC/PtuOOuNTYhslFslds6PDF2fPNScVl4CnEzPG0Y/AcFT/MLWf0ACLrP76/15yKS3g/DBeGjkd4Y/Umxevb14+v7Hiid5wxHDzTUIUhtwwi/Amy+OFNwyJXj62WbMJBklWixA4FIy+XjglDIWjtx8t4slmCRO7rosDnSvEODp+Sy6GHSyXhw1+FBBCq9n2dFyBYhN3YS2gbYWhonPFE2N8jDljd/CinN5yucWi80SLo3nCeeG+XIibr8mNt+SWo0tcTwvh/a203PqSvA0WoodLYNMtpmV49BpWCJ14u9FsAZYRZHZ84S5jCLM2OzFMdAcWI4nJDIXF1gYWZHiccI7OQx3/0SKBiEyyHQAsuC+HAOkYFm+cRaCjy/Ge2XLnq068EaxB9nstcifAssNw2HFkCJxO/ZarbeqIEcU+MlMvo6PHtSHzUUGLwbw9OgJ4YzqP85Y/0c45rYFcom0dWwD9D65qAkA=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js deleted file mode 100644 index ec426da..0000000 --- a/docs/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = "eJzFXduS2ziS/ZUN+VUqM8G733rs7pmO6Nva3ukHR0cFS0JVcYYitSTly3b0v28AJKVMICmBElXz1OoycZAJHAAJHFz+XNTVl2bx5tOfi3/n5WbxRiwXZbaVizeLdbXd5YVcLBf7uli8WWyrzb6Qzev+73fP7bZYLBfrImsa2SzeLBZ/LQeUKBiFedyX6zavyiPQOOBysctqWbYI5pjH0dJNnX3JHpRtwy/L6MMn98Ovk/aDSA7o70zMPgWH+W4cHPnC2HvMOgRcBWXT1vt1W9WTc39FE7tacgDBpeGJY31uZLOu891FJpG011gkvOBYQU+y/fXhX3Ldfqw+yDrPivz/plfWqyfZVhqlrRqEcrSybTarvFnt6qqV61ZurrR6m5fv8qbNyvUFxm7zcnNMfFVJnmhFK6auxxsU+vpk2xJhZLWtd3ZGednK+jFbn83Lxpja+rCfI6yX2137bTbbXg1wF1jIYI4Z3fH5bbUv2w/rrJDzFe6rDnqtoJsB+rbO7OpqJ+v22/+U+WNVb3/Odru8fJrPowF/3+FvD/i3davZPM7nQwd2Y4Ofs42s31bbh7zM1ED+oZW7ZkYfNP76iN/0+Ld1q6923Vh+ztZ19Yv6+2xe9fC6wWwVfNnBz+4U15/r3mblEBvRD0/34kw+Rf703Dav13m9LuRK/9+JzLqv7/HXzjHZW53oJ5KDPXhyOaCUrsME59Y18ZqLWROjN8ZEDDlG+rVUvL7a1AHFipXy8lnW+WisdKnVVTFH+RbVC9qsOpCyyVEMcaHdGOiFbNcflrJp3qv++FoHDmh1jzYeYf/XTd1ymsg4uTRpWuNu7TWTHCe7J095Zq+QC2ZETp6NzY9uan8j259mbSqNbM+3lvl8GR/RH4useXYcz4/fOo/mP9jwoyWG4H84ldOpwkDuzDCOj1t02SDO4l07gp8y8srhe5q9bmP3yTK9auCeZO0mr6VerLzKYoxyCw5MiC1OWDlDYDHJ6qlRxQnTbxZSTHKoabO6fbtvq8fHq7zROOsB5xaEmRL5nOL1BWHPOTtniHlOWDzTGu8lvkwKbk64MEtkM8nyC8KaU+yeL6Y568V4QKP/47Ii0jtEv5+8MNI8Zzt5CMIeMxUQfDuRa/f9Pf3eVXDrorsfjEyOstu5bEh618iK99CtVNSA/rgvVl1ih2KhCdwXjfp0b2k+NotH8qHpp5aM4eU1gae7fRMjUN5WA/jiUHSK2XZMeguL1Vc/lhv5da7CLqo67/FuanmdbfJ9M4/VB6ybWuwUc0ywelLwMdXya6KQCT7MFI5c5Z1bXDLBqWnS9GTbx8eRTV3tCtm6D69GAtfx9V2XbMIAa2ZEESYOJKabTmXzLL9mT1XpXjZGAtey+UeXbELZmBlRhIllY7rpVDZ5+VnWrdys2n1ZysK9jEYSupbVj33yjzr1hCIby5cFnFiCY4XhVJJb2WarqUEuk8i1BH+WbTY52uXys4AmlhrnuFOJlVXefFvtquLbpNbJJnMttV9U4t+6tBPKjc+TAZtYdnwROJXe5HKbUmJ45tA7+LescRgkzUxQ4olFM14oF88Zzhl32YThBOpYPKi6mXwtHWLYsyYjqNvZOyV+PWvxSPDqtvoxyYcZItmz3txKRrzc0UlB7Vn/rltym+QF6qan99AjWVzWLV/UIddVm6ngQekdWfk0JQwYTeo6rL3vAN4P6ScU3HjeI6ATy3K8WLhSfaqz3XO+bl4PP1ZF/lBn9bfX66ps5dd2VVRNu5Jf13JHtKmhbId09ybAPQ/guJw5btdjnW3l6mH/+Cjr1xv5mO2LdoX/OMFEnOyew5rX2jmsvJ11etvhVm7yrJWzFOgo4NV2P8tiJ+vXstS7FQnRmny7LzJuE/m41R3c/Um4mW2WX7UAOqlBUTMPCHNZ9iTb1XNWb75ktVzl5WM13TQLYi7biirbrPptrdPNwqnnsqhpq92XrF0/TzfnkPRqW3ZZnRWFLFb9gaUppLfSXm9NXT3V2Vb1Kk9bWbarbnf1qiqLb6v+H6cY2KW4PwU3m835FQbms1tzuS1zW9K3mlVW19m3VbZvK3UCIy+friivs5hXW6/6730tu5XeVf9/EyztU9yT9LNZNcT3VxhmQsxm2y4rZNteY5qBMJtll1t0I0tWlQ5om8stGhBOWoZ2LuZFK+u8fPrVyFiW++0l2ZqAp2ca0wsGrW4cT+H99OMv33/3/ja2vyryUmbja0mTXbCy4X1SHn3/4eONnFIuyaZ9Ga+OdPu9znZzMQ1hvQjJ3v703c+/3X/89f77d3//fnbrX62LbLu7b6t7uXkaFx6n1wsuctavn398//7X99+/u3///W/ff3c94SzPtnldV7Xc3NdyJ7M5OXfWt1u59EKe4JPGH7sUZutBB/um+0Uxb9iK8EL0Nvva9RU38+HVNvv6OGQxVw0Z5T/mXF7e3Lm8/A8596XOdh9u55iCH9dAbunUx9s6NWdHMeqU8NIYQmH2F7/n7bPZZ7Tfdtf4hyBfqMuoPsu6zjfyZi68wjnMXFW4BsZ23lf7Gik9czt3gH8Rz1ymPfsy/yzrJitWtSw3Omwc1kgnTH1OoEydmB0AXj/umtX/7rMib4/rCKcWwQ4p7/mU7ofIds1/d6m/s7MdxD/3bDk4x+Z6tjCm6/gz2O2k7Dv7wOYz1j4fd80/vjWtrGWT24L/HL497ppnnMMLe/cxq5+kfXhxJs/aAf3GXolIQHD064ffPtzKoxfwBW8HyDabd7Jos4/51t4PMIdL2WazURm0+YlLPebz7VT/2/1a7bKmOa5qoj+69MTo83sO4/LRAVvXHa25xjYbYR7LrjBpRltkfRD8M63eDX92t0nW9zzEDLapfXsX2kSTum7w6L5XGw65ywQn5IeAJo/oY+5PLb2Lys2t9tCix3szF25+diqj9+M5OpYTU0L0DE5Wfs6aD3gn2lVGvuoAG3MP2lR7D6jjp64b3f3MZDaCu6HRn3P55btaZjOWt4LMapndpMStYdw8sXmd7WrcPiLe0PSNbNq6Yi8QvMDsI9otTc6bXZF9+1j9XtXF5m1V1Rt1IZuci/A9flt9Ufhrgn9Dt7oPBx7N5Uz35w1CvaELjWzf70sVa36QbZuXT3N50ci27oCbI/BtHfln3yHN58HQH93WdE3aj9W7jsTztw6N31Z9I7lp65gUr6zy7a6Qau9Pdnrv6QlXDYwZYtEj8sk9cidtOrs1jomrfsTZTazwLkeMdH2Q1fk/doXtsDvxYo6OmPyKIF9pPYEfXXIpqqz9URm/qwpNou/1DszN3J7pjHKckTxk9BKO5s3v8uHvP4m5/cqbL/LhqRAv5Ea/iUxfrjq3Kz32usd+CXesydtMriDcl3Pjty6jm7iyG7Bfwp1m8yg2/5Q12cI9kzsa+/MB+0XcUddA7XdqzfLH8ue8KPJGrqtyM3tV9RmpsC8vtzSjl3D0syw3/L3v13h1QL2RCycDkyF8PhyG6cPqVWMG7CdilOHb+zGQk+GKj45pdenH5gyfszrvjitdZASPPjmWOV9kl5Z9z+/ryt4EmVj2H7rkV5a9ZQSPfn3ZW0U2teyv4vsknpOw/KJZ8Xi+s3H6BJdJV5htH3JZtvRe8zmtf9XnMFy2er0rZjYn71r6rduIfhvXdA67Qw4v59ogkXUjhX5p4zYeDhl1AE2f0cs52s19/pE/Pb/b5e8H3Nv42uX1nD89b3Z5jfJ6OXfzRi99Dteq3MbPvNFLPfkxk5dzUPcC3Y2l1nH5WZ3UGXVXmp69G+pmjjY3b59dNv+p1rmt1PrE34q9ayw90bsO/6HDfzm3+s1ztxnNXyH0F3QpL+TP+6LNd0XuvIow1bG8kFucx03dc4sKr4rEJ0XgOCoci70di9vKd7Zo+0SUTejykK3//VRX+3LzltyePqcDr46Z2BesX+qQmdPpuOJtt1Plp6ppP1g3Bszqa5dfvzNG3SmAbyh4abc/WKfWb+ArPhr/cg7mT2VVy0kr2BO963KYvpZ9tWt6qP/1s6yLbPdebvb0lYBZfdRZVV1WNcrqhZ39TZay1Td2l/QW8Pmd3R2zsq8Iv7Wz/Qxywg6ZiS72GUzdL3O1Y+quhurLxzpbyylCzETvulxalctkSeYSF09GHv21Bvrqsc/5xm27nZXIUaDubyHRVyhY+fT3jOh/nIanD7aO4el/nIhXbeTqsapX3U0K2XotmW2uAz738dT89IUN1appyWqBlRP57II89PWvJ+H1bbOu200x2HGbKQPHQiKi2zY6eNIU5zxpCmdPENioJwqOhRz3pCkcPKmfHs54Uj89OG8BRmBjnig4HnLUEwXr5IkIw/POiDCc4A+GPOGSAh3FPuWYwnfyLTvvWTbBr8zFq+xuBPWUR5mjP06VlU2rrcyxurK+vkbgT7p3psb0QZOVnpivs2I9crNabxH7sfORusOhmbd2RsPxmZMZMQBOpcH7OP3Y3EXGOR2UO2Uoh+y6Mfg6y89tDJ7L6ifZ/iK/tuOHqi4z/0m2pfzanj9KdY0fZnuSX3dqV1ebZ8VqI9fjsZv14bQYRcWUmbrCcDQEOn4xDVld8Yffyx7DN7+blkuRNfbh4uE2v6xxPTLco23z0VBtm5+O0Wys5nx4ib+Zhl7utw9SR6ZPRVOs9I7AsVy4b6fl9iXLR9HVvzmibbPc3pur/ngyfQBp4HvnXpKy4F51N98fr/rlG6226VxmVPoey+q0fH0uI/4ZKCav/sPDu1QXZdff5Xgyn+GLizI4NUrbmR06VxI8XJbx2PNpKLdzp2scs3hn374+npnD00Bns2WfeOGy1B9eSf3RW+TsDB+HT4833V2W5fiLvigz/NFF2XAz8iP+84mHss4Ajzw0w+ahPryyhrj5OMqjGY9ozwCffgTGzmrYJ9A9z3KlV+Pvp9gZqydOZunnTz0/YmerXwfp76K/MmPuEQ87wz6vh+6razI679w8flmHfO2Mzm4sP5NFl54evR7Lpey/uiwjZrUIZaD/9VJgbj2AYHcfXApvr58Q8PHzaA7QZ03PrrD93MMJTIZdisNzBlcSuN6X35X5lj9QhnLdlxn67KKsRm4BtDPr94VcOcqeuERsNMsveft8ZbbcNaF2fupqtYkZCVxnq2y00si/Oi+vcTQ4rrFRTPzx6SUlaulffywX3Qudb/5cDAc63izEnX+XLpaLx1wWm2bx5lNn1FJF7+qg4mK52FTrvf75R//ZP6Vivfq4+/q1t1h+8pZBcgfpH38sPw1p9d/1HwaI4190OhhJB1Y6IOnEYvkJlqG484KEJBRWQkES+ovlJ7EMwjvfowl9K6FPEgaL5Sd/6ad3QQgkYWAlDEjCcLH8FCwDuPNSmjC0EoYkYbRYfgqXgX/neTFJGFkJI5IwXiw/RVzC2EoYk4SJLlU/vfPDZBksfbjzYp8gJBZCQhDSxfJTzNVLaiVMKREUL5JlGN+lXkSpYHMIDBIpbqRsWoZHlEigmeSxiW0uASUTKIoAsIltPgElFCiagGAT25wCSipQVAGfTWzzCiixINKNwA/uRCSWECiqxAmtL7BJBpRloLgDYZ94CRELY1MOKOdAk47lDNhsA0o3SMdaJdiEA8o4oUgECdP5CJtxgjJOKBJByqW1GSeMrktxSHhs58X0XpRxQvdffM9nM05QxolgrCsSNuEEJZwIx3ojYfNNUL6JaKxDEjbLBGWZUGwRgnXY5pag3BKKLYJtJcLmlqDcEoouImBztsklKLl8b4yYvk0un5LLhzFi+ja5fEouX4wR07e55RtDo+ZWyJWWz4yOlFt+MMpq3yaXT8nlh6Os9m12+ZRdvu7NItZsm14+pZcfjzUJ32aXT9nlJ2NNwrfJ5VNy+elYk/BtbvmUW4E32iQCm1wBJVcAuO8XMddpBzbNAkqzQPdhydD3i3Qpkrs4oJ4ENuMCyrhAcchnSRPYjAuMgExHZDDY4Is+cKEwTHRGuRcoNvk+a4PNvYByL4hGo0KbegGlXhCPNfPApl5AqRcoNvkBx/nA5l5AuRfoQZNt54FNvoCSL/RGw1mbeyHlXghjDSa0GRdSxoVirMGENs1CSrNQd2wDR5c+G6mENuFCSrhQE46NVEKbZqExCwipDQlrAzMloIQLNeFS1gabcSFlXBj3Nvh3AGIZeEs/vBNeuAyg/0UBbRqGlIahIlbA9kShTcOQ0jBMiTWq/cJdFPjLwGetsakZUmpGmprsgB3Z3IwoNyOgZRMeyibirIlswkaUsJHiYMCyJbIZG1HGRpSxAcuWyGZsRBkb6YCPZUtkMzaijI3Csb4tsmkaGVNXPXdlZ1URM3ulNI1Gx+TIZmREGRmNjsmRTciIEjIaHZMjm3sR5V6s2BSyEUxscy+m3Isp90IxcC9kW0Jscy+m3IsVm0K2JcQ292LKvVhxKAyXENxB6i/DaCnSu0CPF0sR3QVhvAyT/m8U2uZjTPkYBz20uIM0WIbpUsCdF8TLyFuK8E6kywiWQtzFvliq6ET/I83Dpm1MaRuH1Px0KYK7II00YP/LZ823WR1TVsfRmPm21cso6Fyiedjkj421m5jmER+Qw8Ov6PAr5vJgVnloI4mTPo/oLo1Dhdz3vFHC8s1uOTFtOXFKyjxKB8rE3uEX9OSh0HbDimnDSjxia3xoGzHbNhK7sSW0sSXQAQq4A/CXMbv6kdhNLKFNLBHUrsN4EbPjRWI3u4Q2u8QnFR/3VbuMk+FH2v9IPK5lJHbrS2jrSwJicqLrRqTJMmGH/8RuagltaklIijIRbFHazSqhzSqhzerg3jLxB4+D4UfIED6xG1VCG1USU8+HKlomcV8GFNBuQYmxUEpb0AFmmbAtKGGWTWkLStIxwJQFtNtNQttN6pG6ST1udpTarSWlrSUFYpeC6bqKlOVMareblLabVLE+ZUPG1G4jKW0jqSJ0yq7npDb9U0r/VJE3ZedMqU31lFI9VZRNQ9Zsm+ApJXiq2JiyKxSpzd2UcjdVzEtjNrHN05TyNFUsS9ll9dTmZGqs5StGpWz0mDLL+eZ6vl5e9fiVdY9b0zcW9T29DObxq+ses7DvGSv7Xre0z6+we8zivmes7nt6ed/jV9k9ZoHfM1b4Pb3E77GBWPePJoCxyu/pZX6Pnat3/2gCGCv9XqQBWO51/2gCGIv8XkyH9miIAcGLh7EdPDYe7NKa+Mbqv6eX/72hl1sCeMefbB/TJTFhDV3AS7UyM1L3jDbgGfSF0QVc4AQpS5HS5B0RaFhVyiBvp0sB210Bp0yZ0lSvTfHU4dQpU57q9CngqcMpVKZE1WlUEA9hN0ByYAykBx4Jr//AyIFht6ljaUWK5MDALkEAS09O4jI1rk7kgsNwrGGHn4KlJyd5mZpXJ3oJ/0B1ERx/hsoHMMI74MQwUw3TCpcC8MVdKMQSBC/KceKYoY5BJ48JXphjFDIwJDLoNDLBLXACo5KBIZOBVr6UM8yEHBilDAypDLT6BYIXhhm1DAy5DLQEBv6IOMy0AEMzA9GptPwQxuhmYAhnoMUw8PlujBHPwFDPQAtiwC9vAyOggaGggRbFgF9qBkZEA0NFAy2MAb/cDIyQBoaSBlodA5/vhxg1DQw5DTo9zWdDKGAkNTA0NehENZ/fncDoamAIa+D7fVPwo7sggCX4KdsuGZkNDJ0NtHQWH3ZpHFENKIaehuoGWkiDgOc3I7yBobyBFtMgGNkAwdDTUN9AK2oQ8PxmFDgwJDjQshoE/DjLyHBg6HCgtTX19BcLwNDTEOMg8E50U4weB4YgB1pag4BvIIwUB4YWB1pUg4BvIIwIB4YKB1pYg4BvIIwQB4YSB1pSg4BvIIwEB4YGB0HHxHSYXUJ4jAJDWIr4LgxMWIafhjoHWnFTL5uydjH8NCQ66DQ6bNdgzBL4xVlgxDsw1DvQghyEPOkYAQ8MBQ+0KKeMGfbwhCHboTB6HhiCHmiRDkKePoyoB4aqB1qpg5CnD6PsgSHtgZbrIOTpw8h7YOh7oIU6CPmRnhH2wFD2QIt1EPE9ISPugaHugZbpIOJ7QkbWA0PXAy3VQcRTlZH2wND2QEtzEI1sCWNIaWh5oOU5iHhSMnIeGHoeaDkOIr4jY+Q7MPQ70JIcRDwTGQkPDA0PIjCaRcTubwBGvQNDvgOtyEHEk5JR8MCQ8EBrcRDxpGS0OzDEO9B6HMQ8KRn9DgwBD7QoBzFPSkbEA0PFAy3MQcyTkhHywFDyQKtzEPOkZNQ8MOQ8iLrdgTwpGUkPDE0PtE4HMU9KRtcDQ9gDrdVBzJOS0fbAEPdAa3MQx4eNkjGr5gIj64Gh64GW6iDmOcVIe2Boe6AFOUh4TjECHhgKHmi1DQ6iGiRwmNMn4viTVdiAUe/AkO9Aa26QHOfDas2/n3GrhXs9EBuwDJUN6Q60zAYJP0gxshwYuhzE3XadhJ1JMZobGKIbaM0MkpG6Y6hsiGyglTFI2e1SwChpYEhpoJUwSPn+gFHOwJDOIOm2vbKr98BoZmCIZpB02xP5/oDRyMAQyUBLWloY5Sxg+GtoYJB0/OX7A0byAkPzAi1egVrN5yxgmGioXaC1KeBX9IHRssAQs0BrUZDyTGS0KzDEK9DaE6SHNVfhecef/Joro2CBIWGBVqCEN8IOhp+GZAXp+Joro1SBIVVBCifWOhhlCgxpCtJuZzbPTkadAkOeAq04CS847Iv0+LCcEavAUKsg7TbURkcsPpZhtCswxCvQepTwjvs1PX79gZGywNCyQMtTYuTEBCNngaFngZaoxMipCUbSAkPTgrTrSJlhYSmAX5NlxC4w1C7QApaG7YY2AcMgthQQHH+G7NDGKGJgSGJCK1yCX1EXjCQmDElMaIVLANt1CEYSE4YkJrTCxW+4FYwiJgxFTHSKGLsmLBhBTBiCmND6Ft9CBaOHCUMPE1re4s6LCUYME4YYJrS2NdJBCUYME4YYJrR4xZ4eE4zWJQytS2iRaqTwmOMIhqYltETF7z8VjKQlDElLaI2KH7wFo2kJQ9MSWqIaORDBSFrCkLREJ2nxEZRgJC1hSFpCK1T85lfBKFrCULREp2jxAZRgFC1hKFpC60/8flfB6FXC0KuEVpf4HaqCUaOEoUYJLSPxe0oFIzsJQ3YSWi/i94MKRl8Shr4ktEbE73IUjKYkzBNX4sRaqeBOXZnHrnpNiS8B7uiVdfZKjEewgj1+ZXBQnAhABXcEyzyD1YlKfPwouHNY5kGsTlTiwz/BHcYyT2NpjYjfHSq4A1nmiazuSBaMGMDQ0DyVpSUifmOJ4M5lmQezOkmJ31YhuLNZhqQktELE7+YRjKIkDEVJ+N04nB7iKeFx8ZRgxCVhiEtCa0VjpcmIS8Pf9GHu7kKUH7tD3Z8+LYYbbf9c3PcnvdVUXOekDn2ryfabP//663i2+82ff6Hj3erfVGbqbfDjRXQIDCIEBu5gh6uQENbxpbA/F0q3dMIiTzghsDBGYCG4gR1P3B+RVFUekFRlOSF19x4fUZLgCJI4urZvK/1wSk1LHJBjXjIJSt8Jh4wKpxulnpMm9ogAM8DNHut9BYQXpQgv8t3w9o+PtJgixKWO48tFHPb/dXO1Ax2egSPgngnuCvZYZ7QBRagxdva5QumLyrdyk2ctRUT14egpvv0MEd/DTEvcanadlZ+zprvOHZMEV6pwq9S1VB7Srgu1RK9L1jXI5SKI3UD76+uOoLjXCXqmhOkEsMOFLwgTESTwu9Rq6uQOandouD9LBkjHklQXo9+31b3cPBHfU9R7p45csRosqlrRV4Yvuv+6Di/m5YKoJFH7CMLB7QmoHQ5GRO0jcCQ1eUwPDzIJHmQc65dcToqbG24jqVtfcLgt8YiDqNc3ERiKbRImqeQYESVx9RNdHIyKH5V+b17ak6Y3N4i6/0Z9dautlP2HnmvO6vog0iki++O4h/Pcuoz+HlxcUyGuKbc22A8j/TNSx0efMJtw/BO4Nccetn8jgofFA7Qj49mLMXEJYFOTdCCYq83HKymPmMjKvuKHXq7nid/XW9jTIXKtvv4aaBxp4hBYDHxI3WK7Ta7u+jKjREQJ35ERebMrsm9tpd88XFdVvVH9gqS1h7srtZXOEdl+GhMzAvc0oaO1TMSOSNAPctC33eDQ5zhWEnNbKep90Cg14DqWRI/bvGZnHGjkQpSbgCq3u5ZSC1eXY3M4oHVPJr62R0HAHc60Ej2g4vtLURWiluDKLhPZBkUVFjg2qgNo85ztJFcIAg22gdsYZKP2gQYZkcAMAKfj9lffElg05ExsYwfY/r5WAotKIXQb0C3Y4/uqqPtFcUM4lWI9rroWlWAicjmG1BamvvOUgKK2EF1Irv6uUQKLytVx1mnB9ldBYlg8pseu1tJrlFHdo3YVBkNP6FawVk+FQ1e3uOrUS4F4ouLhLtCtQY09cIzXBTBsOAUWvfeHzcSz28itJcmva7kzh348CYjdmCO/trJsDJwI47h1xQccGjME2DXfbRRi6IYn7UE/QIb9QB/2MVo4BGX9wBz1A3/Uf+fIefsmbzRJRU0o7c0QjpQdGfTQIC2GiAIcLe2ePEBgZHBO3VqjRtErOLuq0HPBjqobWo84yvbdOuVHozUmGMNxOv64o3wiHoIbxR93zfO3ppW1bHIDDQffrqW+a/53nxV5+21sVRS76dglPu7UtOmJDttAIjhwizPsZT3UAg/Lj24N0X73Bc+7cNmlbsY9ybZ6+Jdct23VyDrPCmNxDo+nfVvoG7ffz8DCoVG79UrquQ/aQoLpLeTwgOHwg5gcml3ucmSVd3mY7se9M3Hf4JN+Gpn0ziXDFKDHS3q8ZJiN9nhJj5f0eMPsN+3x0h7PdXmBeanRbH9kZchx5sPAdr8o2fGqIhwWXKLhx8UuDJesv2YWY0CQHuBKf9SrNN0t6zgHIktNZByTw/HOeJwJDqGGpU/wh6mw79bZnnr6k9Ee1NkTtJwzVJnj8rfDC+d03ol7/uDicjTfMqWBHeagY0R/4nlTGuRhbMdY5DmrN6bKhWPa2K0Y6Auo2CZcgbFbH06fP8XDO46KHaNP9PYpxYLpoQJ+sY+C4T7fUdliHjDFiKQu3QZT5iFRjEhqwq0fYh70xFoIkczcYlT+YU0MirtLx9V37kVLDInbdTK9qtGjkhiVaFSTakiHOxQMV46j+mi/YkejJxKHTGos3XN0FA2PMemkMjRiTrURd7L0Q16iw8EW7hEcRT38Dh2GwmxO3UaYwzN0FAmH5+mkyuyekaNo/vR4kjwph7FQLarttW5YRs+Eq2+IN4Xj3MF8kwkt96AWEA6hueP0y+zqUjJOHOa8bqzNn8qqll/kw1Mh6FCGqzVy41q+3RVS/cXaaQPYYXBUUfLysSIjNZgjtXsolpeNXtGmRuGSE65Ael2mNWRDxLR+suFsGPvQFVq9RBURDroZuHUkecPULF66Bd+tweaNVrK41WXAE2JwXLcu8oc6q79xU4gQ67luRBnQrLk6VsMu3Co0YA/jT2kqTRGesJIJ6VRsY+jAu6UcA1MDsKgyUlW4TTtGMAYiu94a4w1wboH4ALvL6qwoJOnQYrx1za2jPcDV1VOdbRURnvQHGBZFMMk0Xg2wOVlkR7R3DLNMvP6/BBVX0bS2NKD2syWCipq8Y/A2oPavNdnTgATvG3ELIEzMQcwmsGjAdQwNTVhmOw+eDiTT2tKA2v+XLF+jbp+uETmj78tcvc5Eo1l13RpaFXItXHNbGQ5iJ2Cs9231+MjVDeCtlxC6EunpuS1l09QqKqABGho1+6UV35XzT89t9VnWRbar5WZvbdpQ59BR/DLB/Z0sZattLS2LISZ7AFzpqQKPsQ0beJcoOKqzRV7KjDRGPI90nP3oB7pxCIM55zjnUUohGW9jc+weFmnPQnUvOWNyICx1ts0N5GsnN9HWhMM8x3kA8wwoCskQCyJvCMncmsM2L7mmhYOeHrCfFvh9pBv2cWXk1n1t85IrCrLD3LFQ87quarm5r+VO0okyXhVwnERuK9WyHoq9sTUcN6zQrWGpRiApAVME48hh9uVVVNfIxeggUbr52mkz62pftrauhSdEbhVRlQUxDa82OkY0nAaLKOE4eKmOt843xnY2snXScUNqP1Rbm8pxDAiOjN9lxmkYPCu7XAFRsGykAnjPOjjOyDRaYU9F8VgIjl2JxmKUH4FHaVcvmW0zqE9yXLsnjwojJETUaNjc4igOjbfMEC8HHHphR64wkbdntiYkFDpWSIeqGzydcuPezXc2cSfr9lsfzm+z3c7cN0OWL1xBP+cmX2KyxuVW071kT9sDGWfdqrfONvmeNAUfNX1HWerwQC+hBz5+4+YUp6Km432II95hLxlde8I9nHD1k5MqyQ6OZLBwWB8blqPUVYRdExFuEdCQmbkKB3g7ITjG6/y+L7I27jjNIY9v42LA4as4+Dql4nfds7rEVyKSuoJZYRLy03GF3FKfyK78YQu2cGv1nPCEe6ShuxOOx7dszQlPNYddFcJxRZWVmzAzhm0ZQjiSbezZbtQ54JN0Q1TneC613hsTFXxKyvEQKX3jG4Phc3DD8QXhO9YzJ/Pj1ho4FuCpkyy4qkO3rqTZPNJOFXcgrghiMzxjTRooNsdx63gj2xOLEqihDeUfOLopT54BwrvGwXeGZKoArCo9bBNZDns5ls4bLhrZfs6l2hZBGzXekgyOvG6eM2MExcGF4ySlA8GH6VppbJsix6mcQasvbZ2tpR2fxWSpzLFquB3SeMOL48JHU+1rY2JB5GfHk1d6+023dEfojKActwtzG3lwMOW6IenUwTW8IRoix2bb4an2lZfbvCjyRu1Y3xgjNmZt4Ei41gpNEsKIoY05Dt7MUjHe4cJvM3RF5abwaARKBwHY8chPj2pUDw57HI939EBf8vaZMRHIBg1vmAQ6Br5tXsjtvmjzXZEb4S8+/gmRW9O1997iQdJRdWhpVJyE44RZOm9l6FRgMndGnb3j8jAjAOHVcEflr0fRneU2W9dVaYirZKuGW2DxWZYbYzMZPpwDjme0lAidrylncZzjuF1hGPWs1Sd8bAwcg06tj7dVf/Jz9Mgn9tYxqvtSZzuu0SPCpUPI7RhWKEijeZJN9u6G0XGU7GF3ucHgj+Vil++kEjQWbz798ddf/w/aULu3"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css deleted file mode 100644 index 44328e9..0000000 --- a/docs/assets/style.css +++ /dev/null @@ -1,1633 +0,0 @@ -@layer typedoc { - :root { - --dim-toolbar-contents-height: 2.5rem; - --dim-toolbar-border-bottom-width: 1px; - --dim-header-height: calc( - var(--dim-toolbar-border-bottom-width) + - var(--dim-toolbar-contents-height) - ); - - /* 0rem For mobile; unit is required for calculation in `calc` */ - --dim-container-main-margin-y: 0rem; - - --dim-footer-height: 3.5rem; - - --modal-animation-duration: 0.2s; - } - - :root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ - --light-color-background-active: #d6d8da; - --light-color-background-warning: #e6e600; - --light-color-warning-text: #222; - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-background-active); - --light-color-text: #222; - --light-color-contrast-text: #000; - --light-color-text-aside: #5e5e5e; - - --light-color-icon-background: var(--light-color-background); - --light-color-icon-text: var(--light-color-text); - - --light-color-comment-tag-text: var(--light-color-text); - --light-color-comment-tag: var(--light-color-background); - - --light-color-link: #1f70c2; - --light-color-focus-outline: #3584e4; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: #9f5f30; - --light-color-ts-method: #be3989; - --light-color-ts-reference: #ff4d82; - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var( - --light-color-ts-constructor - ); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: #c73c3c; - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - --light-color-document: #000000; - - --light-color-alert-note: #0969d9; - --light-color-alert-tip: #1a7f37; - --light-color-alert-important: #8250df; - --light-color-alert-warning: #9a6700; - --light-color-alert-caution: #cf222e; - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - } - - :root { - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ - --dark-color-background-active: #5d5d6a; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: var(--dark-color-background-active); - --dark-color-text: #f5f5f5; - --dark-color-contrast-text: #ffffff; - --dark-color-text-aside: #dddddd; - - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-icon-text: var(--dark-color-text); - - --dark-color-comment-tag-text: var(--dark-color-text); - --dark-color-comment-tag: var(--dark-color-background); - - --dark-color-link: #00aff4; - --dark-color-focus-outline: #4c97f2; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: #ff984d; - --dark-color-ts-method: #ff4db8; - --dark-color-ts-reference: #ff4d82; - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: #ff6060; - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - --dark-color-document: #ffffff; - - --dark-color-alert-note: #0969d9; - --dark-color-alert-tip: #1a7f37; - --dark-color-alert-important: #8250df; - --dark-color-alert-warning: #9a6700; - --dark-color-alert-caution: #cf222e; - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; - } - - @media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var( - --light-color-background-secondary - ); - --color-background-active: var(--light-color-background-active); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-contrast-text: var(--light-color-contrast-text); - --color-text-aside: var(--light-color-text-aside); - - --color-icon-background: var(--light-color-icon-background); - --color-icon-text: var(--light-color-icon-text); - - --color-comment-tag-text: var(--light-color-text); - --color-comment-tag: var(--light-color-background); - - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-project: var(--light-color-ts-project); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-reference: var(--light-color-ts-reference); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --color-alert-note: var(--light-color-alert-note); - --color-alert-tip: var(--light-color-alert-tip); - --color-alert-important: var(--light-color-alert-important); - --color-alert-warning: var(--light-color-alert-warning); - --color-alert-caution: var(--light-color-alert-caution); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } - } - - @media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var( - --dark-color-background-secondary - ); - --color-background-active: var(--dark-color-background-active); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-contrast-text: var(--dark-color-contrast-text); - --color-text-aside: var(--dark-color-text-aside); - - --color-icon-background: var(--dark-color-icon-background); - --color-icon-text: var(--dark-color-icon-text); - - --color-comment-tag-text: var(--dark-color-text); - --color-comment-tag: var(--dark-color-background); - - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-project: var(--dark-color-ts-project); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-reference: var(--dark-color-ts-reference); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --color-alert-note: var(--dark-color-alert-note); - --color-alert-tip: var(--dark-color-alert-tip); - --color-alert-important: var(--dark-color-alert-important); - --color-alert-warning: var(--dark-color-alert-warning); - --color-alert-caution: var(--dark-color-alert-caution); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } - } - - :root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-active: var(--light-color-background-active); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-contrast-text: var(--light-color-contrast-text); - --color-text-aside: var(--light-color-text-aside); - --color-icon-text: var(--light-color-icon-text); - - --color-comment-tag-text: var(--light-color-text); - --color-comment-tag: var(--light-color-background); - - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-project: var(--light-color-ts-project); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-reference: var(--light-color-ts-reference); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --color-note: var(--light-color-note); - --color-tip: var(--light-color-tip); - --color-important: var(--light-color-important); - --color-warning: var(--light-color-warning); - --color-caution: var(--light-color-caution); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } - - :root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-active: var(--dark-color-background-active); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-contrast-text: var(--dark-color-contrast-text); - --color-text-aside: var(--dark-color-text-aside); - --color-icon-text: var(--dark-color-icon-text); - - --color-comment-tag-text: var(--dark-color-text); - --color-comment-tag: var(--dark-color-background); - - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-project: var(--dark-color-ts-project); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-reference: var(--dark-color-ts-reference); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --color-note: var(--dark-color-note); - --color-tip: var(--dark-color-tip); - --color-important: var(--dark-color-important); - --color-warning: var(--dark-color-warning); - --color-caution: var(--dark-color-caution); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } - - html { - color-scheme: var(--color-scheme); - @media (prefers-reduced-motion: no-preference) { - scroll-behavior: smooth; - } - } - - *:focus-visible, - .tsd-accordion-summary:focus-visible svg { - outline: 2px solid var(--color-focus-outline); - } - - .always-visible, - .always-visible .tsd-signatures { - display: inherit !important; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - line-height: 1.2; - } - - h1 { - font-size: 1.875rem; - margin: 0.67rem 0; - } - - h2 { - font-size: 1.5rem; - margin: 0.83rem 0; - } - - h3 { - font-size: 1.25rem; - margin: 1rem 0; - } - - h4 { - font-size: 1.05rem; - margin: 1.33rem 0; - } - - h5 { - font-size: 1rem; - margin: 1.5rem 0; - } - - h6 { - font-size: 0.875rem; - margin: 2.33rem 0; - } - - dl, - menu, - ol, - ul { - margin: 1em 0; - } - - dd { - margin: 0 0 0 34px; - } - - .container { - max-width: 1700px; - padding: 0 2rem; - } - - /* Footer */ - footer { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: var(--dim-footer-height); - } - footer > p { - margin: 0 1em; - } - - .container-main { - margin: var(--dim-container-main-margin-y) auto; - /* toolbar, footer, margin */ - min-height: calc( - 100svh - var(--dim-header-height) - var(--dim-footer-height) - - 2 * var(--dim-container-main-margin-y) - ); - } - - @keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - @keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } - } - @keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } - } - @keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } - } - body { - background: var(--color-background); - font-family: - -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - font-size: 16px; - color: var(--color-text); - margin: 0; - } - - a { - color: var(--color-link); - text-decoration: none; - } - a:hover { - text-decoration: underline; - } - a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; - } - a.tsd-anchor-link { - color: var(--color-text); - } - :target { - scroll-margin-block: calc(var(--dim-header-height) + 0.5rem); - } - - code, - pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; - } - - pre { - position: relative; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); - margin-bottom: 8px; - } - pre code { - padding: 0; - font-size: 100%; - } - pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; - } - pre:hover > button, - pre > button.visible, - pre > button:focus-visible { - opacity: 1; - } - - blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; - } - - img { - max-width: 100%; - } - - * { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); - } - - *::-webkit-scrollbar { - width: 0.75rem; - } - - *::-webkit-scrollbar-track { - background: var(--color-icon-background); - } - - *::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); - } - - dialog { - border: none; - outline: none; - padding: 0; - background-color: var(--color-background); - } - dialog::backdrop { - display: none; - } - #tsd-overlay { - background-color: rgba(0, 0, 0, 0.5); - position: fixed; - z-index: 9999; - top: 0; - left: 0; - right: 0; - bottom: 0; - animation: fade-in var(--modal-animation-duration) forwards; - } - #tsd-overlay.closing { - animation-name: fade-out; - } - - .tsd-typography { - line-height: 1.333em; - } - .tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; - } - .tsd-typography .tsd-index-panel h3, - .tsd-index-panel .tsd-typography h3, - .tsd-typography h4, - .tsd-typography h5, - .tsd-typography h6 { - font-size: 1em; - } - .tsd-typography h5, - .tsd-typography h6 { - font-weight: normal; - } - .tsd-typography p, - .tsd-typography ul, - .tsd-typography ol { - margin: 1em 0; - } - .tsd-typography table { - border-collapse: collapse; - border: none; - } - .tsd-typography td, - .tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); - } - .tsd-typography thead, - .tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); - } - - .tsd-alert { - padding: 8px 16px; - margin-bottom: 16px; - border-left: 0.25em solid var(--alert-color); - } - .tsd-alert blockquote > :last-child, - .tsd-alert > :last-child { - margin-bottom: 0; - } - .tsd-alert-title { - color: var(--alert-color); - display: inline-flex; - align-items: center; - } - .tsd-alert-title span { - margin-left: 4px; - } - - .tsd-alert-note { - --alert-color: var(--color-alert-note); - } - .tsd-alert-tip { - --alert-color: var(--color-alert-tip); - } - .tsd-alert-important { - --alert-color: var(--color-alert-important); - } - .tsd-alert-warning { - --alert-color: var(--color-alert-warning); - } - .tsd-alert-caution { - --alert-color: var(--color-alert-caution); - } - - .tsd-breadcrumb { - margin: 0; - margin-top: 1rem; - padding: 0; - color: var(--color-text-aside); - } - .tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; - } - .tsd-breadcrumb a:hover { - text-decoration: underline; - } - .tsd-breadcrumb li { - display: inline; - } - .tsd-breadcrumb li:after { - content: " / "; - } - - .tsd-comment-tags { - display: flex; - flex-direction: column; - } - dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; - } - dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; - } - dl.tsd-comment-tag-group dd { - margin: 0; - } - code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; - } - h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; - } - - dl.tsd-comment-tag-group dd:before, - dl.tsd-comment-tag-group dd:after { - content: " "; - } - dl.tsd-comment-tag-group dd pre, - dl.tsd-comment-tag-group dd:after { - clear: both; - } - dl.tsd-comment-tag-group p { - margin: 0; - } - - .tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; - } - .tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; - } - - .tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; - } - .tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; - } - .tsd-filter-input { - display: flex; - width: -moz-fit-content; - width: fit-content; - align-items: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - } - .tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; - } - .tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; - } - .tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; - } - .tsd-filter-input input[type="checkbox"]:focus-visible + svg { - outline: 2px solid var(--color-focus-outline); - } - .tsd-checkbox-background { - fill: var(--color-accent); - } - input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); - } - .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; - } - .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); - } - - .settings-label { - font-weight: bold; - text-transform: uppercase; - display: inline-block; - } - - .tsd-filter-visibility .settings-label { - margin: 0.75rem 0 0.5rem 0; - } - - .tsd-theme-toggle .settings-label { - margin: 0.75rem 0.75rem 0 0; - } - - .tsd-hierarchy h4 label:hover span { - text-decoration: underline; - } - - .tsd-hierarchy { - list-style: square; - margin: 0; - } - .tsd-hierarchy-target { - font-weight: bold; - } - .tsd-hierarchy-toggle { - color: var(--color-link); - cursor: pointer; - } - - .tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); - } - .tsd-full-hierarchy, - .tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; - } - .tsd-full-hierarchy ul { - padding-left: 1.5rem; - } - .tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); - } - .tsd-full-hierarchy svg[data-dropdown] { - cursor: pointer; - } - .tsd-full-hierarchy svg[data-dropdown="false"] { - transform: rotate(-90deg); - } - .tsd-full-hierarchy svg[data-dropdown="false"] ~ ul { - display: none; - } - - .tsd-panel-group.tsd-index-group { - margin-bottom: 0; - } - .tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; - } - @media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } - } - @media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } - } - .tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; - } - - .tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; - } - - .tsd-anchor { - position: relative; - top: -100px; - } - - .tsd-member { - position: relative; - } - .tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; - } - - .tsd-navigation.settings { - margin: 0; - margin-bottom: 1rem; - } - .tsd-navigation > a, - .tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; - } - .tsd-navigation a, - .tsd-navigation summary > span, - .tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; - } - .tsd-navigation a.current, - .tsd-page-navigation a.current { - background: var(--color-active-menu-item); - color: var(--color-contrast-text); - } - .tsd-navigation a:hover, - .tsd-page-navigation a:hover { - text-decoration: underline; - } - .tsd-navigation ul, - .tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; - } - .tsd-navigation li, - .tsd-page-navigation li { - padding: 0; - max-width: 100%; - } - .tsd-navigation .tsd-nav-link { - display: none; - } - .tsd-nested-navigation { - margin-left: 3rem; - } - .tsd-nested-navigation > li > details { - margin-left: -1.5rem; - } - .tsd-small-nested-navigation { - margin-left: 1.5rem; - } - .tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; - } - - .tsd-page-navigation-section > summary { - padding: 0.25rem; - } - .tsd-page-navigation-section > summary > svg { - margin-right: 0.25rem; - } - .tsd-page-navigation-section > div { - margin-left: 30px; - } - .tsd-page-navigation ul { - padding-left: 1.75rem; - } - - #tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; - } - #tsd-sidebar-links a:last-of-type { - margin-bottom: 0; - } - - a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); - } - .tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ - display: flex; - align-items: center; - gap: 0.25rem; - box-sizing: border-box; - } - .tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ - } - .tsd-accordion-summary, - .tsd-accordion-summary a { - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; - - cursor: pointer; - } - .tsd-accordion-summary a { - width: calc(100% - 1.5rem); - } - .tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; - } - /* - * We need to be careful to target the arrow indicating whether the accordion - * is open, but not any other SVGs included in the details element. - */ - .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child { - transform: rotate(-90deg); - } - .tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; - } - .tsd-index-summary { - margin-top: 1.5rem; - margin-bottom: 0.75rem; - display: flex; - align-content: center; - } - - .tsd-no-select { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - .tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; - } - .tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; - } - - .tsd-panel { - margin-bottom: 2.5rem; - } - .tsd-panel.tsd-member { - margin-bottom: 4rem; - } - .tsd-panel:empty { - display: none; - } - .tsd-panel > h1, - .tsd-panel > h2, - .tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; - } - .tsd-panel > h1.tsd-before-signature, - .tsd-panel > h2.tsd-before-signature, - .tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; - } - - .tsd-panel-group { - margin: 2rem 0; - } - .tsd-panel-group.tsd-index-group { - margin: 2rem 0; - } - .tsd-panel-group.tsd-index-group details { - margin: 2rem 0; - } - .tsd-panel-group > .tsd-accordion-summary { - margin-bottom: 1rem; - } - - #tsd-search[open] { - animation: fade-in var(--modal-animation-duration) ease-out forwards; - } - #tsd-search[open].closing { - animation-name: fade-out; - } - - /* Avoid setting `display` on closed dialog */ - #tsd-search[open] { - display: flex; - flex-direction: column; - padding: 1rem; - width: 32rem; - max-width: 90vw; - max-height: calc(100vh - env(keyboard-inset-height, 0px) - 25vh); - /* Anchor dialog to top */ - margin-top: 10vh; - border-radius: 6px; - will-change: max-height; - } - #tsd-search-input { - box-sizing: border-box; - width: 100%; - padding: 0 0.625rem; /* 10px */ - outline: 0; - border: 2px solid var(--color-accent); - background-color: transparent; - color: var(--color-text); - border-radius: 4px; - height: 2.5rem; - flex: 0 0 auto; - font-size: 0.875rem; - transition: border-color 0.2s, background-color 0.2s; - } - #tsd-search-input:focus-visible { - background-color: var(--color-background-active); - border-color: transparent; - color: var(--color-contrast-text); - } - #tsd-search-input::placeholder { - color: inherit; - opacity: 0.8; - } - #tsd-search-results { - margin: 0; - padding: 0; - list-style: none; - flex: 1 1 auto; - display: flex; - flex-direction: column; - overflow-y: auto; - } - #tsd-search-results:not(:empty) { - margin-top: 0.5rem; - } - #tsd-search-results > li { - background-color: var(--color-background); - line-height: 1.5; - box-sizing: border-box; - border-radius: 4px; - } - #tsd-search-results > li:nth-child(even) { - background-color: var(--color-background-secondary); - } - #tsd-search-results > li:is(:hover, [aria-selected="true"]) { - background-color: var(--color-background-active); - color: var(--color-contrast-text); - } - /* It's important that this takes full size of parent `li`, to capture a click on `li` */ - #tsd-search-results > li > a { - display: flex; - align-items: center; - padding: 0.5rem 0.25rem; - box-sizing: border-box; - width: 100%; - } - #tsd-search-results > li > a > .text { - flex: 1 1 auto; - min-width: 0; - overflow-wrap: anywhere; - } - #tsd-search-results > li > a .parent { - color: var(--color-text-aside); - } - #tsd-search-results > li > a mark { - color: inherit; - background-color: inherit; - font-weight: bold; - } - #tsd-search-status { - flex: 1; - display: grid; - place-content: center; - text-align: center; - overflow-wrap: anywhere; - } - #tsd-search-status:not(:empty) { - min-height: 6rem; - } - - .tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; - } - - .tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; - } - - .tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; - } - - .tsd-signature-type { - font-style: italic; - font-weight: normal; - } - - .tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; - } - .tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; - } - .tsd-signatures .tsd-index-signature:not(:last-child) { - margin-bottom: 1em; - } - .tsd-signatures .tsd-index-signature .tsd-signature { - border-width: 1px; - } - .tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; - } - - ul.tsd-parameter-list, - ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; - } - ul.tsd-parameter-list > li.tsd-parameter-signature, - ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; - } - ul.tsd-parameter-list h5, - ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; - } - .tsd-sources { - margin-top: 1rem; - font-size: 0.875em; - } - .tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; - } - .tsd-sources ul { - list-style: none; - padding: 0; - } - - .tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: var(--dim-toolbar-border-bottom-width) - var(--color-accent) solid; - transition: transform 0.3s ease-in-out; - } - .tsd-page-toolbar a { - color: var(--color-text); - } - .tsd-toolbar-contents { - display: flex; - align-items: center; - height: var(--dim-toolbar-contents-height); - margin: 0 auto; - } - .tsd-toolbar-contents > .title { - font-weight: bold; - margin-right: auto; - } - #tsd-toolbar-links { - display: flex; - align-items: center; - gap: 1.5rem; - margin-right: 1rem; - } - - .tsd-widget { - box-sizing: border-box; - display: inline-block; - opacity: 0.8; - height: 2.5rem; - width: 2.5rem; - transition: opacity 0.1s, background-color 0.1s; - text-align: center; - cursor: pointer; - border: none; - background-color: transparent; - } - .tsd-widget:hover { - opacity: 0.9; - } - .tsd-widget:active { - opacity: 1; - background-color: var(--color-accent); - } - #tsd-toolbar-menu-trigger { - display: none; - } - - .tsd-member-summary-name { - display: inline-flex; - align-items: center; - padding: 0.25rem; - text-decoration: none; - } - - .tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - color: var(--color-text); - vertical-align: middle; - } - - .tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; - } - - .tsd-member-summary-name:hover > .tsd-anchor-icon svg, - .tsd-anchor-link:hover > .tsd-anchor-icon svg, - .tsd-anchor-icon:focus-visible svg { - visibility: visible; - } - - .deprecated { - text-decoration: line-through !important; - } - - .warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); - } - - .tsd-kind-project { - color: var(--color-ts-project); - } - .tsd-kind-module { - color: var(--color-ts-module); - } - .tsd-kind-namespace { - color: var(--color-ts-namespace); - } - .tsd-kind-enum { - color: var(--color-ts-enum); - } - .tsd-kind-enum-member { - color: var(--color-ts-enum-member); - } - .tsd-kind-variable { - color: var(--color-ts-variable); - } - .tsd-kind-function { - color: var(--color-ts-function); - } - .tsd-kind-class { - color: var(--color-ts-class); - } - .tsd-kind-interface { - color: var(--color-ts-interface); - } - .tsd-kind-constructor { - color: var(--color-ts-constructor); - } - .tsd-kind-property { - color: var(--color-ts-property); - } - .tsd-kind-method { - color: var(--color-ts-method); - } - .tsd-kind-reference { - color: var(--color-ts-reference); - } - .tsd-kind-call-signature { - color: var(--color-ts-call-signature); - } - .tsd-kind-index-signature { - color: var(--color-ts-index-signature); - } - .tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); - } - .tsd-kind-parameter { - color: var(--color-ts-parameter); - } - .tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); - } - .tsd-kind-accessor { - color: var(--color-ts-accessor); - } - .tsd-kind-get-signature { - color: var(--color-ts-get-signature); - } - .tsd-kind-set-signature { - color: var(--color-ts-set-signature); - } - .tsd-kind-type-alias { - color: var(--color-ts-type-alias); - } - - /* if we have a kind icon, don't color the text by kind */ - .tsd-kind-icon ~ span { - color: var(--color-text); - } - - /* mobile */ - @media (max-width: 769px) { - #tsd-toolbar-menu-trigger { - display: inline-block; - /* temporary fix to vertically align, for compatibility */ - line-height: 2.5; - } - #tsd-toolbar-links { - display: none; - } - - .container-main { - display: flex; - } - .col-content { - float: none; - max-width: 100%; - width: 100%; - } - .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - .col-sidebar > *:last-child { - padding-bottom: 20px; - } - .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } - .tsd-navigation .tsd-nav-link { - display: flex; - } - } - - /* one sidebar */ - @media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - --dim-container-main-margin-y: 2rem; - } - - .tsd-breadcrumb { - margin-top: 0; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } - } - @media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc( - 100vh - var(--dim-header-height) - var(--dim-footer-height) - - 2 * var(--dim-container-main-margin-y) - ); - overflow: auto; - position: sticky; - top: calc( - var(--dim-header-height) + var(--dim-container-main-margin-y) - ); - } - .site-menu { - margin-top: 1rem; - } - } - - /* two sidebars */ - @media (min-width: 1200px) { - .container-main { - grid-template-columns: - minmax(0, 1fr) minmax(0, 2.5fr) minmax( - 0, - 20rem - ); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 0rem; - } - - .page-menu, - .site-menu { - max-height: calc( - 100vh - var(--dim-header-height) - var(--dim-footer-height) - - 2 * var(--dim-container-main-margin-y) - ); - overflow: auto; - position: sticky; - top: calc( - var(--dim-header-height) + var(--dim-container-main-margin-y) - ); - } - } -} diff --git a/docs/classes/circlebase.html b/docs/classes/circlebase.html new file mode 100644 index 0000000..31756e5 --- /dev/null +++ b/docs/classes/circlebase.html @@ -0,0 +1,303 @@ + + + + + + CircleBase | SDF-2D - v0.7.6 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CircleBase

+
+
+
+
+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + EmptyDrawable +
      +
    • + CircleBase +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new CircleBase(center: vec2, radius: number): CircleBase
  • +
+ +
+
+
+

Properties

+
+ +

center

+
center: vec2
+ +
+
+ +

radius

+
radius: number
+ +
+
+ +

Static Readonly descriptor

+
descriptor: DrawableDescriptor
+ +
+
+
+

Methods

+
+ +

Protected getObjectToSerialize

+
    +
  • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
  • +
+ +
+
+ +

minDistance

+
    +
  • minDistance(target: vec2): number
  • +
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Protected method
  • +
+
    +
  • Static property
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/circlelight.html b/docs/classes/circlelight.html new file mode 100644 index 0000000..4d7472e --- /dev/null +++ b/docs/classes/circlelight.html @@ -0,0 +1,444 @@ + + + + + + CircleLight | SDF-2D - v0.7.6 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CircleLight

+
+
+
+
+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + LightDrawable +
      +
    • + CircleLight +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+

Object literals

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new CircleLight(center: vec2, color: vec3, intensity: number): CircleLight
  • +
+ +
+
+
+

Properties

+
+ +

center

+
center: vec2
+ +
+
+ +

color

+
color: vec3
+ +
+
+ +

intensity

+
intensity: number
+ +
+
+ +

Protected lightnessRatio

+
lightnessRatio: number = 1
+ +
+
+
+

Methods

+
+ +

Protected getObjectToSerialize

+
    +
  • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
  • +
+ +
+
+ +

minDistance

+
    +
  • minDistance(target: vec2): number
  • +
+ +
+
+ +

setLightnessRatio

+
    +
  • setLightnessRatio(ratio: number): void
  • +
+ +
+
+
+

Object literals

+
+ +

Static Readonly descriptor

+
descriptor: object
+ +
+ +

empty

+
empty: CircleLight = new CircleLight(vec2.create(), vec3.create(), 0)
+ +
+
+ +

shaderCombinationSteps

+
shaderCombinationSteps: number[] = [0, 1, 2, 4, 8, 16]
+ +
+
+ +

uniformCountMacroName

+
uniformCountMacroName: string = "CIRCLE_LIGHT_COUNT"
+ +
+
+ +

propertyUniformMapping

+
propertyUniformMapping: object
+ +
+ +

center

+
center: string = "circleLightCenters"
+ +
+
+ +

color

+
color: string = "circleLightColors"
+ +
+
+ +

intensity

+
intensity: string = "circleLightIntensities"
+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Protected method
  • +
+
    +
  • Static property
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/colorfulcircle.html b/docs/classes/colorfulcircle.html new file mode 100644 index 0000000..227834a --- /dev/null +++ b/docs/classes/colorfulcircle.html @@ -0,0 +1,421 @@ + + + + + + ColorfulCircle | SDF-2D - v0.7.6 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class ColorfulCircle

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Drawable +
      +
    • + ColorfulCircle +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+

Object literals

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new ColorfulCircle(center: vec2, radius: number, colorIndex: number): ColorfulCircle
  • +
+ +
+
+
+

Properties

+
+ +

center

+
center: vec2
+ +
+
+ +

colorIndex

+
colorIndex: number
+ +
+
+ +

radius

+
radius: number
+ +
+
+
+

Methods

+
+ +

Protected getObjectToSerialize

+
    +
  • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
  • +
+ +
+
+ +

minDistance

+
    +
  • minDistance(target: vec2): number
  • +
+ +
+
+
+

Object literals

+
+ +

Static descriptor

+
descriptor: object
+ +
+ +

empty

+
empty: ColorfulCircle = new ColorfulCircle(vec2.create(), 0, 0)
+ +
+
+ +

shaderCombinationSteps

+
shaderCombinationSteps: number[] = [0, 1, 2, 3, 8, 16]
+ +
+
+ +

uniformCountMacroName

+
uniformCountMacroName: string = "COLORFUL_CIRCLE_COUNT"
+ +
+
+ +

propertyUniformMapping

+
propertyUniformMapping: object
+ +
+ +

center

+
center: string = "colorfulCircleCenters"
+ +
+
+ +

colorIndex

+
colorIndex: string = "colorfulCircleColorIndex"
+ +
+
+ +

radius

+
radius: string = "colorfulCircleRadii"
+ +
+
+
+ +

sdf

+
sdf: object
+ +
+ +

distanceFunctionName

+
distanceFunctionName: string = "circleMinDistance"
+ +
+
+ +

shader

+
shader: string = `uniform vec2 colorfulCircleCenters[COLORFUL_CIRCLE_COUNT];uniform float colorfulCircleRadii[COLORFUL_CIRCLE_COUNT];uniform int colorfulCircleColorIndex[COLORFUL_CIRCLE_COUNT];float circleMinDistance(vec2 target, out vec4 color) {float minDistance = 1000.0;for (int i = 0; i < COLORFUL_CIRCLE_COUNT; i++) {float dist = distance(colorfulCircleCenters[i], target) - colorfulCircleRadii[i];if (dist < minDistance) {color = readFromPalette(colorfulCircleColorIndex[i]);dist = minDistance;}}return minDistance;}`
+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Protected method
  • +
+
    +
  • Static property
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/deltatimecalculator.html b/docs/classes/deltatimecalculator.html new file mode 100644 index 0000000..8c45e47 --- /dev/null +++ b/docs/classes/deltatimecalculator.html @@ -0,0 +1,241 @@ + + + + + + DeltaTimeCalculator | SDF-2D - v0.7.6 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DeltaTimeCalculator

+
+
+
+
+
+
+
+
+
+

A helper class for calculating the elapsed time between frames.

+
+

Handles the case, where the browser tab is not in focus and requestAnimationFrame + does not get called for performance reasons. In this case, the return deltaTime won't be + an unreasonably large value.

+
+
+
+

Hierarchy

+
    +
  • + DeltaTimeCalculator +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Methods

+
+ +

destroy

+
    +
  • destroy(): void
  • +
+ +
+
+ +

getNextDeltaTime

+
    +
  • getNextDeltaTime(currentTime: DOMHighResTimeStamp): DOMHighResTimeStamp
  • +
+
    +
  • + +
    +
    +

    Return the elapsed time in milliseconds since the previous call of this + method by subtracting the previously given currentTime argument from the + current currentTime argument.

    +
    +

    Takes visibilitychange events into account.

    +
    +

    Parameters

    +
      +
    • +
      currentTime: DOMHighResTimeStamp
      +
      +

      Current time acquired e.g. with requestAnimationFrame.

      +
      +
    • +
    +

    Returns DOMHighResTimeStamp

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Protected method
  • +
+
    +
  • Static property
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/drawable.html b/docs/classes/drawable.html new file mode 100644 index 0000000..03f4991 --- /dev/null +++ b/docs/classes/drawable.html @@ -0,0 +1,265 @@ + + + + + + Drawable | SDF-2D - v0.7.6 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Drawable

+
+
+
+
+
+
+
+
+
+

Base class of every drawable object.

+
+

To create your own drawables, you need to subclass from this.

+
+

Although lights are also subclasses of Drawable, you cannot create your own light sources.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Static Readonly descriptor

+
descriptor: DrawableDescriptor
+ +
+
+

This should be defined in inherited classes.

+
+
+
+
+
+

Methods

+
+ +

Protected Abstract getObjectToSerialize

+
    +
  • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
  • +
+
    +
  • + +
    +
    +

    Return the values that should be given to the shaders through uniform inputs.

    +
    +
    +

    Parameters

    +
      +
    • +
      transform2d: mat2d
      +
      +

      position-like properties should be transformed by this matrix + before being returned.

      +
      +
    • +
    • +
      transform1d: number
      +
      +

      scalar properties should be transformed by this number + before being returned.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract minDistance

+
    +
  • minDistance(target: vec2): number
  • +
+
    +
  • + +
    +
    +

    The lower bound of the distance between the target and the object.

    +
    +

    It can return 0 by default, the only consequence of this, is a reduced performance. + Because this object won't benefit from tile-based rendering.

    +
    +

    Parameters

    +
      +
    • +
      target: vec2
      +
      +
      +
    • +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Protected method
  • +
+
    +
  • Static property
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/drawables_drawable.Drawable.html b/docs/classes/drawables_drawable.Drawable.html deleted file mode 100644 index c82caf3..0000000 --- a/docs/classes/drawables_drawable.Drawable.html +++ /dev/null @@ -1,19 +0,0 @@ -Drawable | SDF-2D - v0.7.6
SDF-2D - v0.7.6
    Preparing search index...

    Class DrawableAbstract

    Base class of every drawable object.

    -

    To create your own drawables, you need to subclass from this.

    -
    -

    Although lights are also subclasses of Drawable, you cannot create your own light sources.

    -
    -

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    descriptor: DrawableDescriptor

    This should be defined in inherited classes.

    -

    Methods

    • Return the values that should be given to the shaders through uniform inputs.

      -

      Parameters

      • transform2d: mat2d

        position-like properties should be transformed by this matrix -before being returned.

        -
      • transform1d: number

        scalar properties should be transformed by this number -before being returned.

        -

      Returns any

    • The lower bound of the distance between the target and the object.

      -

      It can return 0 by default, the only consequence of this, is a reduced performance. -Because this object won't benefit from tile-based rendering.

      -

      Parameters

      • target: vec2

      Returns number

    diff --git a/docs/classes/drawables_lights_circle-light.CircleLight.html b/docs/classes/drawables_lights_circle-light.CircleLight.html deleted file mode 100644 index 8f13c11..0000000 --- a/docs/classes/drawables_lights_circle-light.CircleLight.html +++ /dev/null @@ -1,19 +0,0 @@ -CircleLight | SDF-2D - v0.7.6
    SDF-2D - v0.7.6
      Preparing search index...
      Index

      Constructors

      • Parameters

        • center: vec2
        • color: vec3
        • intensity: number

        Returns CircleLight

      Properties

      center: vec2
      color: vec3
      intensity: number
      lightnessRatio: number = 1
      descriptor: DrawableDescriptor = ...

      This should be defined in inherited classes.

      -

      Methods

      • Return the values that should be given to the shaders through uniform inputs.

        -

        Parameters

        • transform2d: mat2d

          position-like properties should be transformed by this matrix -before being returned.

          -
        • transform1d: number

          scalar properties should be transformed by this number -before being returned.

          -

        Returns any

      • The lower bound of the distance between the target and the object.

        -

        It can return 0 by default, the only consequence of this, is a reduced performance. -Because this object won't benefit from tile-based rendering.

        -

        Parameters

        • target: vec2

        Returns number

      • Parameters

        • ratio: number

        Returns void

      diff --git a/docs/classes/drawables_lights_flashlight.Flashlight.html b/docs/classes/drawables_lights_flashlight.Flashlight.html deleted file mode 100644 index 98d3388..0000000 --- a/docs/classes/drawables_lights_flashlight.Flashlight.html +++ /dev/null @@ -1,16 +0,0 @@ -Flashlight | SDF-2D - v0.7.6
      SDF-2D - v0.7.6
        Preparing search index...
        Index

        Constructors

        • Parameters

          • center: vec2
          • color: vec3
          • intensity: number
          • direction: vec2
          • startCutoff: number = 0

          Returns Flashlight

        Properties

        center: vec2
        color: vec3
        direction: vec2
        intensity: number
        lightnessRatio: number = 1
        startCutoff: number = 0
        descriptor: DrawableDescriptor = ...

        This should be defined in inherited classes.

        -

        Methods

        • Parameters

          • transform2d: mat2d
          • transform1d: number

          Returns any

        • The lower bound of the distance between the target and the object.

          -

          It can return 0 by default, the only consequence of this, is a reduced performance. -Because this object won't benefit from tile-based rendering.

          -

          Parameters

          • target: vec2

          Returns number

        • Parameters

          • ratio: number

          Returns void

        diff --git a/docs/classes/drawables_shapes_colorful-circle.ColorfulCircle.html b/docs/classes/drawables_shapes_colorful-circle.ColorfulCircle.html deleted file mode 100644 index 5e1741e..0000000 --- a/docs/classes/drawables_shapes_colorful-circle.ColorfulCircle.html +++ /dev/null @@ -1,22 +0,0 @@ -ColorfulCircle | SDF-2D - v0.7.6
        SDF-2D - v0.7.6
          Preparing search index...

          Base class of every drawable object.

          -

          To create your own drawables, you need to subclass from this.

          -
          -

          Although lights are also subclasses of Drawable, you cannot create your own light sources.

          -
          -

          Hierarchy (View Summary)

          Index

          Constructors

          • Parameters

            • center: vec2
            • radius: number
            • colorIndex: number

            Returns ColorfulCircle

          Properties

          center: vec2
          colorIndex: number
          radius: number
          descriptor: DrawableDescriptor = ...

          This should be defined in inherited classes.

          -

          Methods

          • Return the values that should be given to the shaders through uniform inputs.

            -

            Parameters

            • transform2d: mat2d

              position-like properties should be transformed by this matrix -before being returned.

              -
            • transform1d: number

              scalar properties should be transformed by this number -before being returned.

              -

            Returns any

          • The lower bound of the distance between the target and the object.

            -

            It can return 0 by default, the only consequence of this, is a reduced performance. -Because this object won't benefit from tile-based rendering.

            -

            Parameters

            • target: vec2

            Returns number

          diff --git a/docs/classes/drawables_shapes_polygon-factory.PolygonBase.html b/docs/classes/drawables_shapes_polygon-factory.PolygonBase.html deleted file mode 100644 index 6937f5e..0000000 --- a/docs/classes/drawables_shapes_polygon-factory.PolygonBase.html +++ /dev/null @@ -1,15 +0,0 @@ -PolygonBase | SDF-2D - v0.7.6
          SDF-2D - v0.7.6
            Preparing search index...
            Index

            Constructors

            • Parameters

              • vertices: vec2[]

              Returns PolygonBase

            Properties

            vertices: vec2[]
            descriptor: DrawableDescriptor

            This should be defined in inherited classes.

            -

            Methods

            • Return the values that should be given to the shaders through uniform inputs.

              -

              Parameters

              • transform2d: mat2d

                position-like properties should be transformed by this matrix -before being returned.

                -
              • transform1d: number

                scalar properties should be transformed by this number -before being returned.

                -

              Returns any

            • The lower bound of the distance between the target and the object.

              -

              It can return 0 by default, the only consequence of this, is a reduced performance. -Because this object won't benefit from tile-based rendering.

              -

              Parameters

              • target: vec2

              Returns number

            diff --git a/docs/classes/dropletbase.html b/docs/classes/dropletbase.html new file mode 100644 index 0000000..bda9fbd --- /dev/null +++ b/docs/classes/dropletbase.html @@ -0,0 +1,337 @@ + + + + + + DropletBase | SDF-2D - v0.7.6 + + + + + + +
            +
            +
            +
            + +
            +
            + Options +
            +
            + All +
              +
            • Public
            • +
            • Public/Protected
            • +
            • All
            • +
            +
            + + +
            +
            + Menu +
            +
            +
            +
            +
            +
            + +

            Class DropletBase

            +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            +

            Hierarchy

            +
              +
            • + EmptyDrawable +
                +
              • + DropletBase +
              • +
              +
            • +
            +
            +
            +

            Index

            +
            +
            +
            +

            Constructors

            + +
            +
            +

            Properties

            + +
            +
            +

            Methods

            + +
            +
            +
            +
            +
            +

            Constructors

            +
            + +

            constructor

            +
              +
            • new DropletBase(from: vec2, to: vec2, fromRadius: number, toRadius: number): DropletBase
            • +
            + +
            +
            +
            +

            Properties

            +
            + +

            Readonly from

            +
            from: vec2
            + +
            +
            + +

            Readonly fromRadius

            +
            fromRadius: number
            + +
            +
            + +

            Readonly to

            +
            to: vec2
            + +
            +
            + +

            Readonly toRadius

            +
            toRadius: number
            + +
            +
            + +

            Static Readonly descriptor

            +
            descriptor: DrawableDescriptor
            + +
            +
            +
            +

            Methods

            +
            + +

            Protected getObjectToSerialize

            +
              +
            • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
            • +
            + +
            +
            + +

            minDistance

            +
              +
            • minDistance(target: vec2): number
            • +
            + +
            +
            +
            + +
            +
            +
            +
            +

            Legend

            +
            +
              +
            • Constructor
            • +
            • Property
            • +
            • Method
            • +
            +
              +
            • Property
            • +
            • Method
            • +
            +
              +
            • Inherited property
            • +
            • Inherited method
            • +
            +
              +
            • Protected method
            • +
            +
              +
            • Static property
            • +
            +
            +
            +
            +
            + + + \ No newline at end of file diff --git a/docs/classes/flashlight.html b/docs/classes/flashlight.html new file mode 100644 index 0000000..54b4906 --- /dev/null +++ b/docs/classes/flashlight.html @@ -0,0 +1,497 @@ + + + + + + Flashlight | SDF-2D - v0.7.6 + + + + + + +
            +
            +
            +
            + +
            +
            + Options +
            +
            + All +
              +
            • Public
            • +
            • Public/Protected
            • +
            • All
            • +
            +
            + + +
            +
            + Menu +
            +
            +
            +
            +
            +
            + +

            Class Flashlight

            +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            +

            Hierarchy

            +
              +
            • + LightDrawable +
                +
              • + Flashlight +
              • +
              +
            • +
            +
            +
            +

            Index

            +
            +
            +
            +

            Constructors

            + +
            +
            +

            Properties

            + +
            +
            +

            Methods

            + +
            +
            +

            Object literals

            + +
            +
            +
            +
            +
            +

            Constructors

            +
            + +

            constructor

            +
              +
            • new Flashlight(center: vec2, color: vec3, intensity: number, direction: vec2, startCutoff?: number): Flashlight
            • +
            +
              +
            • + +

              Parameters

              +
                +
              • +
                center: vec2
                +
              • +
              • +
                color: vec3
                +
              • +
              • +
                intensity: number
                +
              • +
              • +
                direction: vec2
                +
              • +
              • +
                Default value startCutoff: number = 0
                +
              • +
              +

              Returns Flashlight

              +
            • +
            +
            +
            +
            +

            Properties

            +
            + +

            center

            +
            center: vec2
            + +
            +
            + +

            color

            +
            color: vec3
            + +
            +
            + +

            direction

            +
            direction: vec2
            + +
            +
            + +

            intensity

            +
            intensity: number
            + +
            +
            + +

            Protected lightnessRatio

            +
            lightnessRatio: number = 1
            + +
            +
            + +

            startCutoff

            +
            startCutoff: number
            + +
            +
            +
            +

            Methods

            +
            + +

            Protected getObjectToSerialize

            +
              +
            • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
            • +
            + +
            +
            + +

            minDistance

            +
              +
            • minDistance(target: vec2): number
            • +
            + +
            +
            + +

            setLightnessRatio

            +
              +
            • setLightnessRatio(ratio: number): void
            • +
            + +
            +
            +
            +

            Object literals

            +
            + +

            Static Readonly descriptor

            +
            descriptor: object
            + +
            + +

            empty

            +
            empty: Flashlight = new Flashlight(vec2.create(), vec3.create(), 0, vec2.create())
            + +
            +
            + +

            shaderCombinationSteps

            +
            shaderCombinationSteps: number[] = [0, 1, 2, 4]
            + +
            +
            + +

            uniformCountMacroName

            +
            uniformCountMacroName: string = "FLASHLIGHT_COUNT"
            + +
            +
            + +

            propertyUniformMapping

            +
            propertyUniformMapping: object
            + +
            + +

            center

            +
            center: string = "flashlightCenters"
            + +
            +
            + +

            color

            +
            color: string = "flashlightColors"
            + +
            +
            + +

            direction

            +
            direction: string = "flashlightDirections"
            + +
            +
            + +

            intensity

            +
            intensity: string = "flashlightIntensities"
            + +
            +
            + +

            startCutoff

            +
            startCutoff: string = "flashlightStartCutoffs"
            + +
            +
            +
            +
            +
            + +
            +
            +
            +
            +

            Legend

            +
            +
              +
            • Constructor
            • +
            • Property
            • +
            • Method
            • +
            +
              +
            • Property
            • +
            • Method
            • +
            +
              +
            • Inherited property
            • +
            • Inherited method
            • +
            +
              +
            • Protected method
            • +
            +
              +
            • Static property
            • +
            +
            +
            +
            +
            + + + \ No newline at end of file diff --git a/docs/classes/fpsqualityautoscaler.html b/docs/classes/fpsqualityautoscaler.html new file mode 100644 index 0000000..66c5f87 --- /dev/null +++ b/docs/classes/fpsqualityautoscaler.html @@ -0,0 +1,290 @@ + + + + + + FpsQualityAutoscaler | SDF-2D - v0.7.6 + + + + + + +
            +
            +
            +
            + +
            +
            + Options +
            +
            + All +
              +
            • Public
            • +
            • Public/Protected
            • +
            • All
            • +
            +
            + + +
            +
            + Menu +
            +
            +
            +
            +
            +
            + +

            Class FpsQualityAutoscaler

            +
            +
            +
            +
            +
            +
            +
            +
            +
            +

            Set the quality of rendering based on FPS values.

            +
            +

            When using this the size of the canvas must be fixed with CSS.

            +

            The addDeltaTime method should be called once every frame.

            +

            Usage:

            +
             const renderer = await compile(...);
            + const autoscaler = new FpsQualityAutoscaler(renderer);
            +
            +
            +
            +
            +

            Hierarchy

            +
              +
            • + FpsQualityAutoscaler +
            • +
            +
            +
            +

            Index

            +
            +
            +
            +

            Constructors

            + +
            +
            +

            Properties

            + +
            +
            +

            Accessors

            + +
            +
            +

            Methods

            + +
            +
            +
            +
            +
            +

            Constructors

            +
            + +

            constructor

            + + +
            +
            +
            +

            Properties

            +
            + +

            fpsHysteresis

            +
            fpsHysteresis: number = 5
            + +
            +
            + +

            Static fpsTarget

            +
            fpsTarget: number = 30
            + +
            +
            +
            +

            Accessors

            +
            + +

            FPS

            +
              +
            • get FPS(): number
            • +
            + +
            +
            +
            +

            Methods

            +
            + +

            addDeltaTime

            +
              +
            • addDeltaTime(deltaTimeInMilliseconds: DOMHighResTimeStamp): void
            • +
            + +
            +
            +
            + +
            +
            +
            +
            +

            Legend

            +
            +
              +
            • Constructor
            • +
            • Property
            • +
            • Method
            • +
            +
              +
            • Property
            • +
            • Method
            • +
            +
              +
            • Inherited property
            • +
            • Inherited method
            • +
            +
              +
            • Protected method
            • +
            +
              +
            • Static property
            • +
            +
            +
            +
            +
            + + + \ No newline at end of file diff --git a/docs/classes/graphics_rendering_fps-quality-autoscaler.FpsQualityAutoscaler.html b/docs/classes/graphics_rendering_fps-quality-autoscaler.FpsQualityAutoscaler.html deleted file mode 100644 index b5bbccf..0000000 --- a/docs/classes/graphics_rendering_fps-quality-autoscaler.FpsQualityAutoscaler.html +++ /dev/null @@ -1,14 +0,0 @@ -FpsQualityAutoscaler | SDF-2D - v0.7.6
            SDF-2D - v0.7.6
              Preparing search index...

              Set the quality of rendering based on FPS values.

              -

              When using this the size of the canvas must be fixed with CSS.

              -

              The addDeltaTime method should be called once every frame.

              -

              Usage:

              -
               const renderer = await compile(...);
              const autoscaler = new FpsQualityAutoscaler(renderer); -
              - -
              Index

              Constructors

              Properties

              Accessors

              FPS -

              Methods

              Constructors

              Properties

              fpsHysteresis: number = 5
              fpsTarget: number = 30

              Accessors

              • get FPS(): number

                Returns number

              Methods

              • Autoscaling is also done by calling this function

                -

                Parameters

                • deltaTimeInMilliseconds: number

                Returns void

              diff --git a/docs/classes/helper_delta-time-calculator.DeltaTimeCalculator.html b/docs/classes/helper_delta-time-calculator.DeltaTimeCalculator.html deleted file mode 100644 index e0146cf..0000000 --- a/docs/classes/helper_delta-time-calculator.DeltaTimeCalculator.html +++ /dev/null @@ -1,13 +0,0 @@ -DeltaTimeCalculator | SDF-2D - v0.7.6
              SDF-2D - v0.7.6
                Preparing search index...

                A helper class for calculating the elapsed time between frames.

                -

                Handles the case, where the browser tab is not in focus and requestAnimationFrame -does not get called for performance reasons. In this case, the return deltaTime won't be -an unreasonably large value.

                -
                Index

                Constructors

                Methods

                Constructors

                Methods

                • Returns void

                • Return the elapsed time in milliseconds since the previous call of this -method by subtracting the previously given currentTime argument from the -current currentTime argument.

                  -

                  Takes visibilitychange events into account.

                  -

                  Parameters

                  • currentTime: number

                    Current time acquired e.g. with requestAnimationFrame.

                    -

                  Returns number

                diff --git a/docs/classes/hexagonbase.html b/docs/classes/hexagonbase.html new file mode 100644 index 0000000..7198d1b --- /dev/null +++ b/docs/classes/hexagonbase.html @@ -0,0 +1,303 @@ + + + + + + HexagonBase | SDF-2D - v0.7.6 + + + + + + +
                +
                +
                +
                + +
                +
                + Options +
                +
                + All +
                  +
                • Public
                • +
                • Public/Protected
                • +
                • All
                • +
                +
                + + +
                +
                + Menu +
                +
                +
                +
                +
                +
                + +

                Class HexagonBase

                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +

                Hierarchy

                +
                  +
                • + EmptyDrawable +
                    +
                  • + HexagonBase +
                  • +
                  +
                • +
                +
                +
                +

                Index

                +
                +
                +
                +

                Constructors

                + +
                +
                +

                Properties

                + +
                +
                +

                Methods

                + +
                +
                +
                +
                +
                +

                Constructors

                +
                + +

                constructor

                +
                  +
                • new HexagonBase(center: vec2, radius: number): HexagonBase
                • +
                + +
                +
                +
                +

                Properties

                +
                + +

                center

                +
                center: vec2
                + +
                +
                + +

                radius

                +
                radius: number
                + +
                +
                + +

                Static Readonly descriptor

                +
                descriptor: DrawableDescriptor
                + +
                +
                +
                +

                Methods

                +
                + +

                Protected getObjectToSerialize

                +
                  +
                • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
                • +
                + +
                +
                + +

                minDistance

                +
                  +
                • minDistance(target: vec2): number
                • +
                + +
                +
                +
                + +
                +
                +
                +
                +

                Legend

                +
                +
                  +
                • Constructor
                • +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Inherited property
                • +
                • Inherited method
                • +
                +
                  +
                • Protected method
                • +
                +
                  +
                • Static property
                • +
                +
                +
                +
                +
                + + + \ No newline at end of file diff --git a/docs/classes/invertedtunnelbase.html b/docs/classes/invertedtunnelbase.html new file mode 100644 index 0000000..7226372 --- /dev/null +++ b/docs/classes/invertedtunnelbase.html @@ -0,0 +1,337 @@ + + + + + + InvertedTunnelBase | SDF-2D - v0.7.6 + + + + + + +
                +
                +
                +
                + +
                +
                + Options +
                +
                + All +
                  +
                • Public
                • +
                • Public/Protected
                • +
                • All
                • +
                +
                + + +
                +
                + Menu +
                +
                +
                +
                +
                +
                + +

                Class InvertedTunnelBase

                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +

                Hierarchy

                +
                  +
                • + EmptyDrawable +
                    +
                  • + InvertedTunnelBase +
                  • +
                  +
                • +
                +
                +
                +

                Index

                +
                +
                +
                +

                Constructors

                + +
                +
                +

                Properties

                + +
                +
                +

                Methods

                + +
                +
                +
                +
                +
                +

                Constructors

                +
                + +

                constructor

                +
                  +
                • new InvertedTunnelBase(from: vec2, to: vec2, fromRadius: number, toRadius: number): InvertedTunnelBase
                • +
                + +
                +
                +
                +

                Properties

                +
                + +

                Readonly from

                +
                from: vec2
                + +
                +
                + +

                Readonly fromRadius

                +
                fromRadius: number
                + +
                +
                + +

                Readonly to

                +
                to: vec2
                + +
                +
                + +

                Readonly toRadius

                +
                toRadius: number
                + +
                +
                + +

                Static Readonly descriptor

                +
                descriptor: DrawableDescriptor
                + +
                +
                +
                +

                Methods

                +
                + +

                Protected getObjectToSerialize

                +
                  +
                • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
                • +
                + +
                +
                + +

                minDistance

                +
                  +
                • minDistance(target: vec2): number
                • +
                + +
                +
                +
                + +
                +
                +
                +
                +

                Legend

                +
                +
                  +
                • Constructor
                • +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Inherited property
                • +
                • Inherited method
                • +
                +
                  +
                • Protected method
                • +
                +
                  +
                • Static property
                • +
                +
                +
                +
                +
                + + + \ No newline at end of file diff --git a/docs/classes/metacirclebase.html b/docs/classes/metacirclebase.html new file mode 100644 index 0000000..148c870 --- /dev/null +++ b/docs/classes/metacirclebase.html @@ -0,0 +1,303 @@ + + + + + + MetaCircleBase | SDF-2D - v0.7.6 + + + + + + +
                +
                +
                +
                + +
                +
                + Options +
                +
                + All +
                  +
                • Public
                • +
                • Public/Protected
                • +
                • All
                • +
                +
                + + +
                +
                + Menu +
                +
                +
                +
                +
                +
                + +

                Class MetaCircleBase

                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +

                Hierarchy

                +
                  +
                • + EmptyDrawable +
                    +
                  • + MetaCircleBase +
                  • +
                  +
                • +
                +
                +
                +

                Index

                +
                +
                +
                +

                Constructors

                + +
                +
                +

                Properties

                + +
                +
                +

                Methods

                + +
                +
                +
                +
                +
                +

                Constructors

                +
                + +

                constructor

                +
                  +
                • new MetaCircleBase(center: vec2, radius: number): MetaCircleBase
                • +
                + +
                +
                +
                +

                Properties

                +
                + +

                center

                +
                center: vec2
                + +
                +
                + +

                radius

                +
                radius: number
                + +
                +
                + +

                Static Readonly descriptor

                +
                descriptor: DrawableDescriptor
                + +
                +
                +
                +

                Methods

                +
                + +

                Protected getObjectToSerialize

                +
                  +
                • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
                • +
                + +
                +
                + +

                minDistance

                +
                  +
                • minDistance(target: vec2): number
                • +
                + +
                +
                +
                + +
                +
                +
                +
                +

                Legend

                +
                +
                  +
                • Constructor
                • +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Inherited property
                • +
                • Inherited method
                • +
                +
                  +
                • Protected method
                • +
                +
                  +
                • Static property
                • +
                +
                +
                +
                +
                + + + \ No newline at end of file diff --git a/docs/classes/polygonbase.html b/docs/classes/polygonbase.html new file mode 100644 index 0000000..1908c5f --- /dev/null +++ b/docs/classes/polygonbase.html @@ -0,0 +1,291 @@ + + + + + + PolygonBase | SDF-2D - v0.7.6 + + + + + + +
                +
                +
                +
                + +
                +
                + Options +
                +
                + All +
                  +
                • Public
                • +
                • Public/Protected
                • +
                • All
                • +
                +
                + + +
                +
                + Menu +
                +
                +
                +
                +
                +
                + +

                Class PolygonBase

                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +

                Hierarchy

                + +
                +
                +

                Index

                +
                +
                +
                +

                Constructors

                + +
                +
                +

                Properties

                + +
                +
                +

                Methods

                + +
                +
                +
                +
                +
                +

                Constructors

                +
                + +

                constructor

                + + +
                +
                +
                +

                Properties

                +
                + +

                vertices

                +
                vertices: Array<vec2>
                + +
                +
                + +

                Static Readonly descriptor

                +
                descriptor: DrawableDescriptor
                + +
                +
                +
                +

                Methods

                +
                + +

                Protected getObjectToSerialize

                +
                  +
                • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
                • +
                + +
                +
                + +

                minDistance

                +
                  +
                • minDistance(target: vec2): number
                • +
                + +
                +
                +
                + +
                +
                +
                +
                +

                Legend

                +
                +
                  +
                • Constructor
                • +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Inherited property
                • +
                • Inherited method
                • +
                +
                  +
                • Protected method
                • +
                +
                  +
                • Static property
                • +
                +
                +
                +
                +
                + + + \ No newline at end of file diff --git a/docs/classes/rotatedrectanglebase.html b/docs/classes/rotatedrectanglebase.html new file mode 100644 index 0000000..240ea62 --- /dev/null +++ b/docs/classes/rotatedrectanglebase.html @@ -0,0 +1,320 @@ + + + + + + RotatedRectangleBase | SDF-2D - v0.7.6 + + + + + + +
                +
                +
                +
                + +
                +
                + Options +
                +
                + All +
                  +
                • Public
                • +
                • Public/Protected
                • +
                • All
                • +
                +
                + + +
                +
                + Menu +
                +
                +
                +
                +
                +
                + +

                Class RotatedRectangleBase

                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                +

                Hierarchy

                +
                  +
                • + EmptyDrawable +
                    +
                  • + RotatedRectangleBase +
                  • +
                  +
                • +
                +
                +
                +

                Index

                +
                +
                +
                +

                Constructors

                + +
                +
                +

                Properties

                + +
                +
                +

                Methods

                + +
                +
                +
                +
                +
                +

                Constructors

                +
                + +

                constructor

                + + +
                +
                +
                +

                Properties

                +
                + +

                center

                +
                center: vec2
                + +
                +
                + +

                rotation

                +
                rotation: number
                + +
                +
                + +

                size

                +
                size: vec2
                + +
                +
                + +

                Static Readonly descriptor

                +
                descriptor: DrawableDescriptor
                + +
                +
                +
                +

                Methods

                +
                + +

                Protected getObjectToSerialize

                +
                  +
                • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
                • +
                + +
                +
                + +

                minDistance

                +
                  +
                • minDistance(target: vec2): number
                • +
                + +
                +
                +
                + +
                +
                +
                +
                +

                Legend

                +
                +
                  +
                • Constructor
                • +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Inherited property
                • +
                • Inherited method
                • +
                +
                  +
                • Protected method
                • +
                +
                  +
                • Static property
                • +
                +
                +
                +
                +
                + + + \ No newline at end of file diff --git a/docs/enums/filteringoptions.html b/docs/enums/filteringoptions.html new file mode 100644 index 0000000..72af880 --- /dev/null +++ b/docs/enums/filteringoptions.html @@ -0,0 +1,163 @@ + + + + + + FilteringOptions | SDF-2D - v0.7.6 + + + + + + +
                +
                +
                +
                + +
                +
                + Options +
                +
                + All +
                  +
                • Public
                • +
                • Public/Protected
                • +
                • All
                • +
                +
                + + +
                +
                + Menu +
                +
                +
                +
                +
                +
                + +

                Enumeration FilteringOptions

                +
                +
                +
                +
                +
                +
                +
                +

                Index

                +
                +
                +
                +

                Enumeration members

                + +
                +
                +
                +
                +
                +

                Enumeration members

                +
                + +

                LINEAR

                +
                LINEAR: = "LINEAR"
                + +
                +
                + +

                NEAREST

                +
                NEAREST: = "NEAREST"
                + +
                +
                +
                + +
                +
                +
                +
                +

                Legend

                +
                +
                  +
                • Constructor
                • +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Property
                • +
                • Method
                • +
                +
                  +
                • Inherited property
                • +
                • Inherited method
                • +
                +
                  +
                • Protected method
                • +
                +
                  +
                • Static property
                • +
                +
                +
                +
                +
                + + + \ No newline at end of file diff --git a/docs/enums/graphics_graphics-library_texture_texture-options.FilteringOptions.html b/docs/enums/graphics_graphics-library_texture_texture-options.FilteringOptions.html deleted file mode 100644 index 8788e1f..0000000 --- a/docs/enums/graphics_graphics-library_texture_texture-options.FilteringOptions.html +++ /dev/null @@ -1,3 +0,0 @@ -FilteringOptions | SDF-2D - v0.7.6
                SDF-2D - v0.7.6
                  Preparing search index...
                  Index

                  Enumeration Members

                  Enumeration Members

                  LINEAR: "LINEAR"
                  NEAREST: "NEAREST"
                  diff --git a/docs/enums/graphics_graphics-library_texture_texture-options.WrapOptions.html b/docs/enums/graphics_graphics-library_texture_texture-options.WrapOptions.html deleted file mode 100644 index 78700b0..0000000 --- a/docs/enums/graphics_graphics-library_texture_texture-options.WrapOptions.html +++ /dev/null @@ -1,6 +0,0 @@ -WrapOptions | SDF-2D - v0.7.6
                  SDF-2D - v0.7.6
                    Preparing search index...
                    Index

                    Enumeration Members

                    Enumeration Members

                    CLAMP_TO_EDGE: "CLAMP_TO_EDGE"
                    MIRRORED_REPEAT: "MIRRORED_REPEAT"

                    On WebGL it only work with power of 2 texture sizes.

                    -
                    REPEAT: "REPEAT"

                    On WebGL it only work with power of 2 texture sizes.

                    -
                    diff --git a/docs/enums/wrapoptions.html b/docs/enums/wrapoptions.html new file mode 100644 index 0000000..a357364 --- /dev/null +++ b/docs/enums/wrapoptions.html @@ -0,0 +1,187 @@ + + + + + + WrapOptions | SDF-2D - v0.7.6 + + + + + + +
                    +
                    +
                    +
                    + +
                    +
                    + Options +
                    +
                    + All +
                      +
                    • Public
                    • +
                    • Public/Protected
                    • +
                    • All
                    • +
                    +
                    + + +
                    +
                    + Menu +
                    +
                    +
                    +
                    +
                    +
                    + +

                    Enumeration WrapOptions

                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Index

                    +
                    +
                    +
                    +

                    Enumeration members

                    + +
                    +
                    +
                    +
                    +
                    +

                    Enumeration members

                    +
                    + +

                    CLAMP_TO_EDGE

                    +
                    CLAMP_TO_EDGE: = "CLAMP_TO_EDGE"
                    + +
                    +
                    + +

                    MIRRORED_REPEAT

                    +
                    MIRRORED_REPEAT: = "MIRRORED_REPEAT"
                    + +
                    +
                    +

                    On WebGL it only work with power of 2 texture sizes.

                    +
                    +
                    +
                    +
                    + +

                    REPEAT

                    +
                    REPEAT: = "REPEAT"
                    + +
                    +
                    +

                    On WebGL it only work with power of 2 texture sizes.

                    +
                    +
                    +
                    +
                    +
                    + +
                    +
                    +
                    +
                    +

                    Legend

                    +
                    +
                      +
                    • Constructor
                    • +
                    • Property
                    • +
                    • Method
                    • +
                    +
                      +
                    • Property
                    • +
                    • Method
                    • +
                    +
                      +
                    • Inherited property
                    • +
                    • Inherited method
                    • +
                    +
                      +
                    • Protected method
                    • +
                    +
                      +
                    • Static property
                    • +
                    +
                    +
                    +
                    +
                    + + + \ No newline at end of file diff --git a/docs/assets/favicon.ico b/docs/favicon.ico similarity index 100% rename from docs/assets/favicon.ico rename to docs/favicon.ico diff --git a/docs/functions/compile.compile.html b/docs/functions/compile.compile.html deleted file mode 100644 index 544adec..0000000 --- a/docs/functions/compile.compile.html +++ /dev/null @@ -1,17 +0,0 @@ -compile | SDF-2D - v0.7.6
                    SDF-2D - v0.7.6
                      Preparing search index...

                      Function compile

                      • Compiles a new renderer instance. There can multiple renderers on a single page.

                        -
                        -

                        Asynchronous behaviour is required for parallel shader compiling. -Trying to draw before the returned promise resolves, results in no action taken. -Settings can be set before promise resolution and they will be applied later.

                        -
                        -

                        The descriptors of every to-be-drawn objects are required before creating the renderer, -allowing the compiler to only create the shaders that will actually be used.

                        -

                        Example usage:

                        -
                         import { compile, hsl, CircleFactory, CircleLight } from 'sdf-2d';

                        const canvas = document.querySelector('canvas');
                        const Circle = CircleFactory(hsl(30, 66, 50));
                        const renderer = await compile(canvas, [Circle.descriptor, CircleLight.descriptor]); -
                        - -

                        Parameters

                        • canvas: HTMLCanvasElement

                          The returned renderer will only be able to draw to this canvas.

                          -
                        • descriptors: DrawableDescriptor[]

                          The descriptor of every single object (and light) that -ever needs to be drawn by this renderer has to be given before compiling.

                          -
                        • settingsOverrides: Partial<StartupSettings> = {}

                          Sensible defaults are provided, but these can be overridden.

                          -

                        Returns Promise<Renderer>

                      diff --git a/docs/functions/drawables_shapes_circle-factory.CircleFactory.html b/docs/functions/drawables_shapes_circle-factory.CircleFactory.html deleted file mode 100644 index dcb5a1e..0000000 --- a/docs/functions/drawables_shapes_circle-factory.CircleFactory.html +++ /dev/null @@ -1 +0,0 @@ -CircleFactory | SDF-2D - v0.7.6
                      SDF-2D - v0.7.6
                        Preparing search index...
                        • Parameters

                          • color:
                                | number
                                | IndexedCollection
                                | [number, number, number]
                                | [number, number, number, number]

                          Returns typeof CircleBase

                        diff --git a/docs/functions/drawables_shapes_droplet-factory.DropletFactory.html b/docs/functions/drawables_shapes_droplet-factory.DropletFactory.html deleted file mode 100644 index 8650a08..0000000 --- a/docs/functions/drawables_shapes_droplet-factory.DropletFactory.html +++ /dev/null @@ -1 +0,0 @@ -DropletFactory | SDF-2D - v0.7.6
                        SDF-2D - v0.7.6
                          Preparing search index...
                          • Parameters

                            • color:
                                  | number
                                  | IndexedCollection
                                  | [number, number, number]
                                  | [number, number, number, number]

                            Returns typeof DropletBase

                          diff --git a/docs/functions/drawables_shapes_hexagon-factory.HexagonFactory.html b/docs/functions/drawables_shapes_hexagon-factory.HexagonFactory.html deleted file mode 100644 index 4114781..0000000 --- a/docs/functions/drawables_shapes_hexagon-factory.HexagonFactory.html +++ /dev/null @@ -1 +0,0 @@ -HexagonFactory | SDF-2D - v0.7.6
                          SDF-2D - v0.7.6
                            Preparing search index...
                            • Parameters

                              • color:
                                    | number
                                    | IndexedCollection
                                    | [number, number, number]
                                    | [number, number, number, number]

                              Returns typeof HexagonBase

                            diff --git a/docs/functions/drawables_shapes_inverted-tunnel-factory.InvertedTunnelFactory.html b/docs/functions/drawables_shapes_inverted-tunnel-factory.InvertedTunnelFactory.html deleted file mode 100644 index 20997cf..0000000 --- a/docs/functions/drawables_shapes_inverted-tunnel-factory.InvertedTunnelFactory.html +++ /dev/null @@ -1,2 +0,0 @@ -InvertedTunnelFactory | SDF-2D - v0.7.6
                            SDF-2D - v0.7.6
                              Preparing search index...
                              • Providing a noise texture is required for this drawable.

                                -

                                Parameters

                                • color:
                                      | number
                                      | IndexedCollection
                                      | [number, number, number]
                                      | [number, number, number, number]

                                Returns typeof InvertedTunnelBase

                              diff --git a/docs/functions/drawables_shapes_meta-circle-factory.MetaCircleFactory.html b/docs/functions/drawables_shapes_meta-circle-factory.MetaCircleFactory.html deleted file mode 100644 index 873a7c1..0000000 --- a/docs/functions/drawables_shapes_meta-circle-factory.MetaCircleFactory.html +++ /dev/null @@ -1 +0,0 @@ -MetaCircleFactory | SDF-2D - v0.7.6
                              SDF-2D - v0.7.6
                                Preparing search index...
                                • Parameters

                                  • color:
                                        | number
                                        | IndexedCollection
                                        | [number, number, number]
                                        | [number, number, number, number]
                                  • k: number = 32

                                  Returns typeof MetaCircleBase

                                diff --git a/docs/functions/drawables_shapes_noisy-polygon-factory.NoisyPolygonFactory.html b/docs/functions/drawables_shapes_noisy-polygon-factory.NoisyPolygonFactory.html deleted file mode 100644 index d435507..0000000 --- a/docs/functions/drawables_shapes_noisy-polygon-factory.NoisyPolygonFactory.html +++ /dev/null @@ -1 +0,0 @@ -NoisyPolygonFactory | SDF-2D - v0.7.6
                                SDF-2D - v0.7.6
                                  Preparing search index...
                                  • Parameters

                                    • vertexCount: number
                                    • color:
                                          | number
                                          | IndexedCollection
                                          | [number, number, number]
                                          | [number, number, number, number]

                                    Returns typeof PolygonBase & NoisyPolygonBase

                                  diff --git a/docs/functions/drawables_shapes_polygon-factory.PolygonFactory.html b/docs/functions/drawables_shapes_polygon-factory.PolygonFactory.html deleted file mode 100644 index 5c4f625..0000000 --- a/docs/functions/drawables_shapes_polygon-factory.PolygonFactory.html +++ /dev/null @@ -1 +0,0 @@ -PolygonFactory | SDF-2D - v0.7.6
                                  SDF-2D - v0.7.6
                                    Preparing search index...
                                    • Parameters

                                      • vertexCount: number
                                      • color:
                                            | number
                                            | IndexedCollection
                                            | [number, number, number]
                                            | [number, number, number, number]

                                      Returns typeof PolygonBase

                                    diff --git a/docs/functions/drawables_shapes_rotated-rectangle-factory.RotatedRectangleFactory.html b/docs/functions/drawables_shapes_rotated-rectangle-factory.RotatedRectangleFactory.html deleted file mode 100644 index d8898a2..0000000 --- a/docs/functions/drawables_shapes_rotated-rectangle-factory.RotatedRectangleFactory.html +++ /dev/null @@ -1 +0,0 @@ -RotatedRectangleFactory | SDF-2D - v0.7.6
                                    SDF-2D - v0.7.6
                                      Preparing search index...
                                      • Parameters

                                        • color:
                                              | number
                                              | IndexedCollection
                                              | [number, number, number]
                                              | [number, number, number, number]

                                        Returns typeof RotatedRectangleBase

                                      diff --git a/docs/functions/graphics_rendering_renderer_noise-renderer.renderNoise.html b/docs/functions/graphics_rendering_renderer_noise-renderer.renderNoise.html deleted file mode 100644 index 6119e73..0000000 --- a/docs/functions/graphics_rendering_renderer_noise-renderer.renderNoise.html +++ /dev/null @@ -1,8 +0,0 @@ -renderNoise | SDF-2D - v0.7.6
                                      SDF-2D - v0.7.6
                                        Preparing search index...
                                        • Create a renderer, draw a 2D noise texture with it, -then destroy the used resources, -while returning the generated texture in the form of a canvas.

                                          -

                                          Parameters

                                          • textureSize: ReadonlyVec2

                                            The resolution of the end result

                                            -
                                          • scale: number

                                            A starting value can be 15

                                            -
                                          • amplitude: number

                                            A starting value can be 1

                                            -
                                          • ignoreWebGL2: boolean = false

                                            Ignore WebGL2, even when it's available

                                            -

                                          Returns Promise<HTMLCanvasElement>

                                        diff --git a/docs/functions/helper_colors_hex.hex.html b/docs/functions/helper_colors_hex.hex.html deleted file mode 100644 index 6882ca9..0000000 --- a/docs/functions/helper_colors_hex.hex.html +++ /dev/null @@ -1,5 +0,0 @@ -hex | SDF-2D - v0.7.6
                                        SDF-2D - v0.7.6
                                          Preparing search index...
                                          diff --git a/docs/functions/helper_colors_hsl.hsl.html b/docs/functions/helper_colors_hsl.hsl.html deleted file mode 100644 index 6be0d90..0000000 --- a/docs/functions/helper_colors_hsl.hsl.html +++ /dev/null @@ -1,6 +0,0 @@ -hsl | SDF-2D - v0.7.6
                                          SDF-2D - v0.7.6
                                            Preparing search index...
                                            • Return a color contained in a vec3.

                                              -

                                              Parameters

                                              Returns vec3

                                            diff --git a/docs/functions/helper_colors_rgb.rgb.html b/docs/functions/helper_colors_rgb.rgb.html deleted file mode 100644 index e503669..0000000 --- a/docs/functions/helper_colors_rgb.rgb.html +++ /dev/null @@ -1,5 +0,0 @@ -rgb | SDF-2D - v0.7.6
                                            SDF-2D - v0.7.6
                                              Preparing search index...
                                              • Return a color contained in a vec3.

                                                -

                                                Parameters

                                                • r: number

                                                  Should be between 0 and 1

                                                  -
                                                • g: number

                                                  Should be between 0 and 1

                                                  -
                                                • b: number

                                                  Should be between 0 and 1

                                                  -

                                                Returns vec3

                                              diff --git a/docs/functions/helper_colors_rgb255.rgb255.html b/docs/functions/helper_colors_rgb255.rgb255.html deleted file mode 100644 index 95ceca5..0000000 --- a/docs/functions/helper_colors_rgb255.rgb255.html +++ /dev/null @@ -1,5 +0,0 @@ -rgb255 | SDF-2D - v0.7.6
                                              SDF-2D - v0.7.6
                                                Preparing search index...
                                                • Return a color contained in a vec3.

                                                  -

                                                  Parameters

                                                  • r: number

                                                    Should be between 0 and 255

                                                    -
                                                  • g: number

                                                    Should be between 0 and 255

                                                    -
                                                  • b: number

                                                    Should be between 0 and 255

                                                    -

                                                  Returns vec3

                                                diff --git a/docs/functions/helper_colors_rgba.rgba.html b/docs/functions/helper_colors_rgba.rgba.html deleted file mode 100644 index d8db834..0000000 --- a/docs/functions/helper_colors_rgba.rgba.html +++ /dev/null @@ -1,6 +0,0 @@ -rgba | SDF-2D - v0.7.6
                                                SDF-2D - v0.7.6
                                                  Preparing search index...
                                                  • Return a color with transparency contained in a vec4.

                                                    -

                                                    Parameters

                                                    • r: number

                                                      Should be between 0 and 1

                                                      -
                                                    • g: number

                                                      Should be between 0 and 1

                                                      -
                                                    • b: number

                                                      Should be between 0 and 1

                                                      -
                                                    • a: number

                                                      Should be between 0 and 1

                                                      -

                                                    Returns vec4

                                                  diff --git a/docs/functions/helper_colors_rgba255.rgba255.html b/docs/functions/helper_colors_rgba255.rgba255.html deleted file mode 100644 index f785475..0000000 --- a/docs/functions/helper_colors_rgba255.rgba255.html +++ /dev/null @@ -1,6 +0,0 @@ -rgba255 | SDF-2D - v0.7.6
                                                  SDF-2D - v0.7.6
                                                    Preparing search index...
                                                    • Return a color with transparency contained in a vec4.

                                                      -

                                                      Parameters

                                                      • r: number

                                                        Should be between 0 and 255

                                                        -
                                                      • g: number

                                                        Should be between 0 and 255

                                                        -
                                                      • b: number

                                                        Should be between 0 and 255

                                                        -
                                                      • a: number

                                                        Should be between 0 and 255

                                                        -

                                                      Returns vec4

                                                    diff --git a/docs/functions/run-animation.runAnimation.html b/docs/functions/run-animation.runAnimation.html deleted file mode 100644 index 6e40b5e..0000000 --- a/docs/functions/run-animation.runAnimation.html +++ /dev/null @@ -1,21 +0,0 @@ -runAnimation | SDF-2D - v0.7.6
                                                    SDF-2D - v0.7.6
                                                      Preparing search index...

                                                      Function runAnimation

                                                      • Implements the boilerplate code required to run real-time animations -in the browser. An FPS based autoscaler is also used. This creates an additional fps -key in the renderers insights property.

                                                        -

                                                        Example usage:

                                                        -
                                                          <canvas id="main" style="width: 300px; height: 150px"></canvas>
                                                        -
                                                        - -
                                                        -

                                                        The canvas needs to have a fixed size specified by CSS.

                                                        -
                                                        -
                                                        import { CircleFactory, CircleLight, hsl, runAnimation } from 'sdf-2d';

                                                        const canvas = document.querySelector('canvas');
                                                        const Circle = CircleFactory(hsl(180, 100, 40));

                                                        runAnimation(canvas, [Circle.descriptor, CircleLight.descriptor], (renderer, time) => {
                                                        renderer.addDrawable(
                                                        new Circle([150 + 50 * Math.cos(time / 1000), 75 + 50 * Math.sin(time / 1000)], 25)
                                                        );
                                                        renderer.addDrawable(new CircleLight([150, 75], hsl(270, 100, 40), 0.1));
                                                        return true;
                                                        }); -
                                                        - -

                                                        Parameters

                                                        • canvas: HTMLCanvasElement

                                                          The returned renderer will only be able to draw to this canvas.

                                                          -
                                                        • descriptors: DrawableDescriptor[]

                                                          The descriptor of every single object (and light) that -ever needs to be drawn by this renderer has to be given before compiling.

                                                          -
                                                        • animate: (
                                                              renderer: Renderer,
                                                              currentTimeInMilliseconds: number,
                                                              deltaTimeInMilliseconds: number,
                                                          ) => boolean

                                                          This function will be called before rendering each frame. -renderDrawables must not be called by the animate function. It should return true -if the animation should be continued. To break out of the animation loop, a false (falsy) -return value must be given.

                                                          -
                                                        • settings: Partial<StartupSettings & RuntimeSettings> = {}

                                                        Returns Promise<void>

                                                      diff --git a/docs/globals.html b/docs/globals.html new file mode 100644 index 0000000..686f8be --- /dev/null +++ b/docs/globals.html @@ -0,0 +1,1311 @@ + + + + + + SDF-2D - v0.7.6 + + + + + + +
                                                      +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + Options +
                                                      +
                                                      + All +
                                                        +
                                                      • Public
                                                      • +
                                                      • Public/Protected
                                                      • +
                                                      • All
                                                      • +
                                                      +
                                                      + + +
                                                      +
                                                      + Menu +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      + +

                                                      SDF-2D - v0.7.6

                                                      +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Index

                                                      +
                                                      +
                                                      +
                                                      +

                                                      Namespaces

                                                      + +
                                                      +
                                                      +

                                                      Enumerations

                                                      + +
                                                      +
                                                      +

                                                      Drawable Classes

                                                      + +

                                                      Other Classes

                                                      + +
                                                      +
                                                      +

                                                      Interfaces

                                                      + +
                                                      +
                                                      +

                                                      Type aliases

                                                      + +
                                                      +
                                                      +

                                                      Variables

                                                      + +
                                                      +
                                                      +

                                                      Color Functions

                                                      + +

                                                      Drawable Functions

                                                      + +

                                                      Other Functions

                                                      + +
                                                      +
                                                      +

                                                      Object literals

                                                      + +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Type aliases

                                                      +
                                                      + +

                                                      TextureWithOptions

                                                      +
                                                      TextureWithOptions: { overrides: Partial<TextureOptions>; source: TexImageSource }
                                                      + +
                                                      +

                                                      Type declaration

                                                      +
                                                        +
                                                      • +
                                                        overrides: Partial<TextureOptions>
                                                        +
                                                      • +
                                                      • +
                                                        source: TexImageSource
                                                        +
                                                      • +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Variables

                                                      +
                                                      + +

                                                      Let _id

                                                      +
                                                      _id: number = 0
                                                      + +
                                                      +
                                                      +
                                                      +

                                                      Color Functions

                                                      +
                                                      + +

                                                      Const hex

                                                      +
                                                        +
                                                      • hex(hex: string): vec3
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const hsl

                                                      +
                                                        +
                                                      • hsl(hue: number, saturation: number, lightness: number): vec3
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const rgb

                                                      +
                                                        +
                                                      • rgb(r: number, g: number, b: number): vec3
                                                      • +
                                                      +
                                                        +
                                                      • + +
                                                        +
                                                        +

                                                        Return a color contained in a vec3.

                                                        +
                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          r: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          g: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          b: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        +

                                                        Returns vec3

                                                        +
                                                      • +
                                                      +
                                                      +
                                                      + +

                                                      Const rgb255

                                                      +
                                                        +
                                                      • rgb255(r: number, g: number, b: number): vec3
                                                      • +
                                                      +
                                                        +
                                                      • + +
                                                        +
                                                        +

                                                        Return a color contained in a vec3.

                                                        +
                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          r: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 255

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          g: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 255

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          b: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 255

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        +

                                                        Returns vec3

                                                        +
                                                      • +
                                                      +
                                                      +
                                                      + +

                                                      Const rgba

                                                      +
                                                        +
                                                      • rgba(r: number, g: number, b: number, a: number): vec4
                                                      • +
                                                      +
                                                        +
                                                      • + +
                                                        +
                                                        +

                                                        Return a color with transparency contained in a vec4.

                                                        +
                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          r: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          g: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          b: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          a: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        +

                                                        Returns vec4

                                                        +
                                                      • +
                                                      +
                                                      +
                                                      + +

                                                      Const rgba255

                                                      +
                                                        +
                                                      • rgba255(r: number, g: number, b: number, a: number): vec4
                                                      • +
                                                      +
                                                        +
                                                      • + +
                                                        +
                                                        +

                                                        Return a color with transparency contained in a vec4.

                                                        +
                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          r: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 255

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          g: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 255

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          b: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 255

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          a: number
                                                          +
                                                          +
                                                          +

                                                          Should be between 0 and 255

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        +

                                                        Returns vec4

                                                        +
                                                      • +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Drawable Functions

                                                      +
                                                      + +

                                                      Const CircleFactory

                                                      +
                                                        +
                                                      • CircleFactory(color: vec3 | vec4 | number): typeof CircleBase
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const DropletFactory

                                                      +
                                                        +
                                                      • DropletFactory(color: vec3 | vec4 | number): typeof DropletBase
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const HexagonFactory

                                                      +
                                                        +
                                                      • HexagonFactory(color: vec3 | vec4 | number): typeof HexagonBase
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const InvertedTunnelFactory

                                                      + + +
                                                      +
                                                      + +

                                                      Const MetaCircleFactory

                                                      +
                                                        +
                                                      • MetaCircleFactory(color: vec3 | vec4 | number, k?: number): typeof MetaCircleBase
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const NoisyPolygonFactory

                                                      +
                                                        +
                                                      • NoisyPolygonFactory(vertexCount: number, color: vec3 | vec4 | number): typeof PolygonBase & NoisyPolygonBase
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const PolygonFactory

                                                      +
                                                        +
                                                      • PolygonFactory(vertexCount: number, color: vec3 | vec4 | number): typeof PolygonBase
                                                      • +
                                                      + +
                                                      +
                                                      + +

                                                      Const RotatedRectangleFactory

                                                      + + +
                                                      +
                                                      +
                                                      +

                                                      Other Functions

                                                      +
                                                      + +

                                                      compile

                                                      + +
                                                        +
                                                      • + +
                                                        +
                                                        +

                                                        Compiles a new renderer instance. There can multiple renderers on a single page.

                                                        +
                                                        +

                                                        Asynchronous behaviour is required for parallel shader compiling. + Trying to draw before the returned promise resolves, results in no action taken. + Settings can be set before promise resolution and they will be applied later.

                                                        +
                                                        +
                                                        +

                                                        The descriptors of every to-be-drawn objects are required before creating the renderer, + allowing the compiler to only create the shaders that will actually be used.

                                                        +

                                                        Example usage:

                                                        +
                                                         import { compile, hsl, CircleFactory, CircleLight } from 'sdf-2d';
                                                        +
                                                        + const canvas = document.querySelector('canvas');
                                                        + const Circle = CircleFactory(hsl(30, 66, 50));
                                                        + const renderer = await compile(canvas, [Circle.descriptor, CircleLight.descriptor]);
                                                        +
                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          canvas: HTMLCanvasElement
                                                          +
                                                          +

                                                          The returned renderer will only be able to draw to this canvas.

                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          descriptors: Array<DrawableDescriptor>
                                                          +
                                                          +

                                                          The descriptor of every single object (and light) that + ever needs to be drawn by this renderer has to be given before compiling.

                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          Default value settingsOverrides: Partial<StartupSettings> = {}
                                                          +
                                                          +

                                                          Sensible defaults are provided, but these can be overridden.

                                                          +
                                                          +
                                                        • +
                                                        +

                                                        Returns Promise<Renderer>

                                                        +
                                                      • +
                                                      +
                                                      +
                                                      + +

                                                      Const renderNoise

                                                      +
                                                        +
                                                      • renderNoise(textureSize: ReadonlyVec2, scale: number, amplitude: number, ignoreWebGL2?: boolean): Promise<HTMLCanvasElement>
                                                      • +
                                                      +
                                                        +
                                                      • + +
                                                        +
                                                        +

                                                        Create a renderer, draw a 2D noise texture with it, + then destroy the used resources, + while returning the generated texture in the form of a canvas.

                                                        +
                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          textureSize: ReadonlyVec2
                                                          +
                                                          +
                                                          +

                                                          The resolution of the end result

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          scale: number
                                                          +
                                                          +
                                                          +

                                                          A starting value can be 15

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          amplitude: number
                                                          +
                                                          +
                                                          +

                                                          A starting value can be 1

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          Default value ignoreWebGL2: boolean = false
                                                          +
                                                          +
                                                          +

                                                          Ignore WebGL2, even when it's available

                                                          +
                                                          +
                                                          +
                                                        • +
                                                        +

                                                        Returns Promise<HTMLCanvasElement>

                                                        +
                                                      • +
                                                      +
                                                      +
                                                      + +

                                                      runAnimation

                                                      + +
                                                        +
                                                      • + +
                                                        +
                                                        +

                                                        Implements the boilerplate code required to run real-time animations + in the browser. An FPS based autoscaler is also used. This creates an additional fps + key in the renderers insights property.

                                                        +
                                                        +

                                                        Example usage:

                                                        +
                                                          <canvas id="main" style="width: 300px; height: 150px"></canvas>
                                                        +
                                                        +
                                                        +

                                                        The canvas needs to have a fixed size specified by CSS.

                                                        +
                                                        +
                                                        import { CircleFactory, CircleLight, hsl, runAnimation } from 'sdf-2d';
                                                        +
                                                        +const canvas = document.querySelector('canvas');
                                                        +const Circle = CircleFactory(hsl(180, 100, 40));
                                                        +
                                                        +runAnimation(canvas, [Circle.descriptor, CircleLight.descriptor], (renderer, time) => {
                                                        +  renderer.addDrawable(
                                                        +    new Circle([150 + 50 * Math.cos(time / 1000), 75 + 50 * Math.sin(time / 1000)], 25)
                                                        +  );
                                                        +  renderer.addDrawable(new CircleLight([150, 75], hsl(270, 100, 40), 0.1));
                                                        +  return true;
                                                        +});
                                                        +
                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          canvas: HTMLCanvasElement
                                                          +
                                                          +

                                                          The returned renderer will only be able to draw to this canvas.

                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          descriptors: Array<DrawableDescriptor>
                                                          +
                                                          +

                                                          The descriptor of every single object (and light) that + ever needs to be drawn by this renderer has to be given before compiling.

                                                          +
                                                          +
                                                        • +
                                                        • +
                                                          animate: (renderer: Renderer, currentTimeInMilliseconds: DOMHighResTimeStamp, deltaTimeInMilliseconds: DOMHighResTimeStamp) => boolean
                                                          +
                                                          +

                                                          This function will be called before rendering each frame. + renderDrawables must not be called by the animate function. It should return true + if the animation should be continued. To break out of the animation loop, a false (falsy) + return value must be given.

                                                          +
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (renderer: Renderer, currentTimeInMilliseconds: DOMHighResTimeStamp, deltaTimeInMilliseconds: DOMHighResTimeStamp): boolean
                                                            • +
                                                            +
                                                              +
                                                            • +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                renderer: Renderer
                                                                +
                                                              • +
                                                              • +
                                                                currentTimeInMilliseconds: DOMHighResTimeStamp
                                                                +
                                                              • +
                                                              • +
                                                                deltaTimeInMilliseconds: DOMHighResTimeStamp
                                                                +
                                                              • +
                                                              +

                                                              Returns boolean

                                                              +
                                                            • +
                                                            +
                                                          • +
                                                          +
                                                        • +
                                                        • +
                                                          Default value settings: Partial<StartupSettings & RuntimeSettings> = {}
                                                          +
                                                        • +
                                                        +

                                                        Returns Promise<void>

                                                        +
                                                      • +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Object literals

                                                      +
                                                      + +

                                                      Const defaultRuntimeSettings

                                                      +
                                                      defaultRuntimeSettings: object
                                                      + +
                                                      +
                                                      +

                                                      Contains the default values used for RuntimeSettings.

                                                      +
                                                      +
                                                      +
                                                      + +

                                                      ambientLight

                                                      +
                                                      ambientLight: vec3 = vec3.fromValues(0.25, 0.15, 0.25)
                                                      + +
                                                      +
                                                      + +

                                                      colorPalette

                                                      +
                                                      colorPalette: never[] = []
                                                      + +
                                                      +
                                                      + +

                                                      distanceRenderScale

                                                      +
                                                      distanceRenderScale: number = 0.5
                                                      + +
                                                      +
                                                      + +

                                                      enableHighDpiRendering

                                                      +
                                                      enableHighDpiRendering: false = false
                                                      + +
                                                      +
                                                      + +

                                                      isWorldInverted

                                                      +
                                                      isWorldInverted: false = false
                                                      + +
                                                      +
                                                      + +

                                                      lightCutoffDistance

                                                      +
                                                      lightCutoffDistance: number = 400
                                                      + +
                                                      +
                                                      + +

                                                      lightsRenderScale

                                                      +
                                                      lightsRenderScale: number = 1
                                                      + +
                                                      +
                                                      + +

                                                      motionBlur

                                                      +
                                                      motionBlur: number = 0.3
                                                      + +
                                                      +
                                                      + +

                                                      textures

                                                      +
                                                      textures: {}
                                                      + +
                                                      +

                                                      Type declaration

                                                      +
                                                        +
                                                      +
                                                      +
                                                      +
                                                      + +

                                                      tileMultiplier

                                                      +
                                                      tileMultiplier: number = 8
                                                      + +
                                                      +
                                                      +
                                                      + +

                                                      Const defaultStartupSettings

                                                      +
                                                      defaultStartupSettings: object
                                                      + +
                                                      +
                                                      +

                                                      Contains the default values used for StartupSettings.

                                                      +
                                                      +
                                                      +
                                                      + +

                                                      backgroundColor

                                                      +
                                                      backgroundColor: vec4 = vec4.fromValues(1, 1, 1, 1)
                                                      + +
                                                      +
                                                      + +

                                                      enableContextLostSimulator

                                                      +
                                                      enableContextLostSimulator: false = false
                                                      + +
                                                      +
                                                      + +

                                                      enableStopwatch

                                                      +
                                                      enableStopwatch: false = false
                                                      + +
                                                      +
                                                      + +

                                                      ignoreWebGL2

                                                      +
                                                      ignoreWebGL2: false = false
                                                      + +
                                                      +
                                                      + +

                                                      lightPenetrationRatio

                                                      +
                                                      lightPenetrationRatio: number = 0.75
                                                      + +
                                                      +
                                                      + +

                                                      paletteSize

                                                      +
                                                      paletteSize: number = 256
                                                      + +
                                                      +
                                                      + +

                                                      shadowTraceCount

                                                      +
                                                      shadowTraceCount: number = 16
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Legend

                                                      +
                                                      +
                                                        +
                                                      • Constructor
                                                      • +
                                                      • Property
                                                      • +
                                                      • Method
                                                      • +
                                                      +
                                                        +
                                                      • Property
                                                      • +
                                                      • Method
                                                      • +
                                                      +
                                                        +
                                                      • Inherited property
                                                      • +
                                                      • Inherited method
                                                      • +
                                                      +
                                                        +
                                                      • Protected method
                                                      • +
                                                      +
                                                        +
                                                      • Static property
                                                      • +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      + + + \ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html deleted file mode 100644 index 1a773b0..0000000 --- a/docs/hierarchy.html +++ /dev/null @@ -1 +0,0 @@ -SDF-2D - v0.7.6
                                                      SDF-2D - v0.7.6
                                                        Preparing search index...

                                                        SDF-2D - v0.7.6

                                                        Hierarchy Summary

                                                        diff --git a/docs/index.html b/docs/index.html index 8c5d546..4f266ca 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,53 +1,318 @@ -SDF-2D - v0.7.6
                                                        SDF-2D - v0.7.6
                                                          Preparing search index...

                                                          SDF-2D - v0.7.6

                                                          SDF-2D logo Documentation

                                                          -

                                                          The motivation behind this library and more in-depth information about the rendering techniques utilised can be found in my thesis.

                                                          - - - -
                                                            -
                                                          • To start using cutting-edge 2D graphics, first you have get a renderer instance. This is possible by calling the compile function. - -
                                                          • -
                                                          • After acquiring a renderer, the drawing of objects can be started through the Renderer interface.
                                                          • -
                                                          - -

                                                          If you're planning on creating animated content, use the runAnimation function to spare yourself from writing boilerplate code. -Further documentation on its usage is available in its documentation.

                                                          - -
                                                          -

                                                          Iñigo Quilez has some great 2D SDF-s

                                                          -
                                                          -
                                                            -
                                                          • Subclass Drawable
                                                          • -
                                                          • Implement its abstract methods
                                                          • -
                                                          • Add a static property to your class called descriptor of type DrawableDescriptors
                                                          • -
                                                          • Follow the instructions given in Usage
                                                          • -
                                                          - - -

                                                          The vec2, vec3, and vec4 types seen in the documentation come from the glMatrix library and are equivalent to regular JS Arrays or Float32Arrays. So, feel free to give [x, y] as an input for functions requiring vec2.

                                                          - -

                                                          Anywhere, where positions need to be specified, the y values grow upwards. That means, when setting the view area, the origin is at the bottom left corner of the display.

                                                          - -

                                                          For optimising the evaluation of the distance field, the display is divided up into a grid of tiles. The shaders for each tile are compiled to support a fix maximum number of objects on it. When using the built-in drawables it is possible that after a certain number of on-screen objects new ones won't be visible.

                                                          -

                                                          Mitigating this issue is quite easy. Instead of the following code:

                                                          -
                                                          this.renderer = await compile(canvas, [Circle.descriptor, CircleLight.descriptor]);
                                                          -
                                                          - -

                                                          Modify it to something similar:

                                                          -
                                                          this.renderer = await compile(canvas, [
                                                          {
                                                          ...Circle.descriptor,
                                                          shaderCombinationSteps: [0, 1, 2, 24, 64],
                                                          },
                                                          {
                                                          ...CircleLight.descriptor,
                                                          shaderCombinationSteps: [0, 1, 2, 4],
                                                          },
                                                          ]); -
                                                          - -

                                                          The usage of too large numbers is not advised for compatibility and performance reasons alike.

                                                          -
                                                          -

                                                          Steps are very useful for tile-based rendering, because it is possible for one tile (at a given moment) to be empty or contain just a few objects, while others have a large cluster of objects. The compiled shaders only take into account the necessary number of objects on each tile.

                                                          -
                                                          -
                                                          + + + + + + SDF-2D - v0.7.6 + + + + + + +
                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + Options +
                                                          +
                                                          + All +
                                                            +
                                                          • Public
                                                          • +
                                                          • Public/Protected
                                                          • +
                                                          • All
                                                          • +
                                                          +
                                                          + + +
                                                          +
                                                          + Menu +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          SDF-2D - v0.7.6

                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          SDF-2D logo Documentation

                                                          +
                                                          +

                                                          The motivation behind this library and more in-depth information about the rendering techniques utilised can be found in my thesis.

                                                          + +

                                                          Links

                                                          +
                                                          + + +

                                                          Usage (1st option)

                                                          +
                                                          +
                                                            +
                                                          • To start using cutting-edge 2D graphics, first you have get a renderer instance. This is possible by calling the compile function. +
                                                          • +
                                                          • After acquiring a renderer, the drawing of objects can be started through the Renderer interface.
                                                          • +
                                                          + +

                                                          Usage (2nd option)

                                                          +
                                                          +

                                                          If you're planning on creating animated content, use the runAnimation function to spare yourself from writing boilerplate code. + Further documentation on its usage is available in its documentation.

                                                          + +

                                                          Extending drawables

                                                          +
                                                          +
                                                          +

                                                          Iñigo Quilez has some great 2D SDF-s

                                                          +
                                                          +
                                                            +
                                                          • Subclass Drawable
                                                          • +
                                                          • Implement its abstract methods
                                                          • +
                                                          • Add a static property to your class called descriptor of type DrawableDescriptors
                                                          • +
                                                          • Follow the instructions given in Usage
                                                          • +
                                                          + +

                                                          Useful to know

                                                          +
                                                          + +

                                                          Math

                                                          +
                                                          +

                                                          The vec2, vec3, and vec4 types seen in the documentation come from the glMatrix library and are equivalent to regular JS Arrays or Float32Arrays. So, feel free to give [x, y] as an input for functions requiring vec2.

                                                          + +

                                                          Coordinates

                                                          +
                                                          +

                                                          Anywhere, where positions need to be specified, the y values grow upwards. That means, when setting the view area, the origin is at the bottom left corner of the display.

                                                          + +

                                                          Tile-based rendering

                                                          +
                                                          +

                                                          For optimising the evaluation of the distance field, the display is divided up into a grid of tiles. The shaders for each tile are compiled to support a fix maximum number of objects on it. When using the built-in drawables it is possible that after a certain number of on-screen objects new ones won't be visible.

                                                          +

                                                          Mitigating this issue is quite easy. Instead of the following code:

                                                          +
                                                          this.renderer = await compile(canvas, [Circle.descriptor, CircleLight.descriptor]);
                                                          +
                                                          +

                                                          Modify it to something similar:

                                                          +
                                                          this.renderer = await compile(canvas, [
                                                          +  {
                                                          +    ...Circle.descriptor,
                                                          +    shaderCombinationSteps: [0, 1, 2, 24, 64],
                                                          +  },
                                                          +  {
                                                          +    ...CircleLight.descriptor,
                                                          +    shaderCombinationSteps: [0, 1, 2, 4],
                                                          +  },
                                                          +]);
                                                          +
                                                          +

                                                          The usage of too large numbers is not advised for compatibility and performance reasons alike.

                                                          +
                                                          +

                                                          Steps are very useful for tile-based rendering, because it is possible for one tile (at a given moment) to be empty or contain just a few objects, while others have a large cluster of objects. The compiled shaders only take into account the necessary number of objects on each tile.

                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Legend

                                                          +
                                                          +
                                                            +
                                                          • Constructor
                                                          • +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Inherited property
                                                          • +
                                                          • Inherited method
                                                          • +
                                                          +
                                                            +
                                                          • Protected method
                                                          • +
                                                          +
                                                            +
                                                          • Static property
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + + \ No newline at end of file diff --git a/docs/interfaces/__global.array.html b/docs/interfaces/__global.array.html new file mode 100644 index 0000000..4a23bb7 --- /dev/null +++ b/docs/interfaces/__global.array.html @@ -0,0 +1,191 @@ + + + + + + Array | SDF-2D - v0.7.6 + + + + + + +
                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + Options +
                                                          +
                                                          + All +
                                                            +
                                                          • Public
                                                          • +
                                                          • Public/Protected
                                                          • +
                                                          • All
                                                          • +
                                                          +
                                                          + + +
                                                          +
                                                          + Menu +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          Interface Array<T>

                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Type parameters

                                                          +
                                                            +
                                                          • +

                                                            T

                                                            +
                                                          • +
                                                          +
                                                          +
                                                          +

                                                          Hierarchy

                                                          +
                                                            +
                                                          • + Array +
                                                          • +
                                                          +
                                                          +
                                                          +

                                                          Index

                                                          +
                                                          +
                                                          +
                                                          +

                                                          Properties

                                                          +
                                                            +
                                                          • x
                                                          • +
                                                          • y
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Properties

                                                          +
                                                          + +

                                                          x

                                                          +
                                                          x: T
                                                          + +
                                                          +
                                                          + +

                                                          y

                                                          +
                                                          y: T
                                                          + +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Legend

                                                          +
                                                          +
                                                            +
                                                          • Constructor
                                                          • +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Inherited property
                                                          • +
                                                          • Inherited method
                                                          • +
                                                          +
                                                            +
                                                          • Protected method
                                                          • +
                                                          +
                                                            +
                                                          • Static property
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + + \ No newline at end of file diff --git a/docs/interfaces/__global.float32array.html b/docs/interfaces/__global.float32array.html new file mode 100644 index 0000000..4f359fb --- /dev/null +++ b/docs/interfaces/__global.float32array.html @@ -0,0 +1,183 @@ + + + + + + Float32Array | SDF-2D - v0.7.6 + + + + + + +
                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + Options +
                                                          +
                                                          + All +
                                                            +
                                                          • Public
                                                          • +
                                                          • Public/Protected
                                                          • +
                                                          • All
                                                          • +
                                                          +
                                                          + + +
                                                          +
                                                          + Menu +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          Interface Float32Array

                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Hierarchy

                                                          +
                                                            +
                                                          • + Float32Array +
                                                          • +
                                                          +
                                                          +
                                                          +

                                                          Index

                                                          +
                                                          +
                                                          +
                                                          +

                                                          Properties

                                                          +
                                                            +
                                                          • x
                                                          • +
                                                          • y
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Properties

                                                          +
                                                          + +

                                                          x

                                                          +
                                                          x: number
                                                          + +
                                                          +
                                                          + +

                                                          y

                                                          +
                                                          y: number
                                                          + +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Legend

                                                          +
                                                          +
                                                            +
                                                          • Constructor
                                                          • +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Inherited property
                                                          • +
                                                          • Inherited method
                                                          • +
                                                          +
                                                            +
                                                          • Protected method
                                                          • +
                                                          +
                                                            +
                                                          • Static property
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + + \ No newline at end of file diff --git a/docs/interfaces/__global.readonlyarray.html b/docs/interfaces/__global.readonlyarray.html new file mode 100644 index 0000000..d0b0471 --- /dev/null +++ b/docs/interfaces/__global.readonlyarray.html @@ -0,0 +1,191 @@ + + + + + + ReadonlyArray | SDF-2D - v0.7.6 + + + + + + +
                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + Options +
                                                          +
                                                          + All +
                                                            +
                                                          • Public
                                                          • +
                                                          • Public/Protected
                                                          • +
                                                          • All
                                                          • +
                                                          +
                                                          + + +
                                                          +
                                                          + Menu +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          Interface ReadonlyArray<T>

                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Type parameters

                                                          +
                                                            +
                                                          • +

                                                            T

                                                            +
                                                          • +
                                                          +
                                                          +
                                                          +

                                                          Hierarchy

                                                          +
                                                            +
                                                          • + ReadonlyArray +
                                                          • +
                                                          +
                                                          +
                                                          +

                                                          Index

                                                          +
                                                          +
                                                          +
                                                          +

                                                          Properties

                                                          +
                                                            +
                                                          • x
                                                          • +
                                                          • y
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Properties

                                                          +
                                                          + +

                                                          x

                                                          +
                                                          x: T
                                                          + +
                                                          +
                                                          + +

                                                          y

                                                          +
                                                          y: T
                                                          + +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Legend

                                                          +
                                                          +
                                                            +
                                                          • Constructor
                                                          • +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Inherited property
                                                          • +
                                                          • Inherited method
                                                          • +
                                                          +
                                                            +
                                                          • Protected method
                                                          • +
                                                          +
                                                            +
                                                          • Static property
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + + \ No newline at end of file diff --git a/docs/interfaces/drawabledescriptor.html b/docs/interfaces/drawabledescriptor.html new file mode 100644 index 0000000..fde937a --- /dev/null +++ b/docs/interfaces/drawabledescriptor.html @@ -0,0 +1,284 @@ + + + + + + DrawableDescriptor | SDF-2D - v0.7.6 + + + + + + +
                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + Options +
                                                          +
                                                          + All +
                                                            +
                                                          • Public
                                                          • +
                                                          • Public/Protected
                                                          • +
                                                          • All
                                                          • +
                                                          +
                                                          + + +
                                                          +
                                                          + Menu +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          Interface DrawableDescriptor

                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Used for containing the required information to compile drawables into + shader code.

                                                          +
                                                          +

                                                          Each Drawable must have a static property of this type, called descriptor.

                                                          +

                                                          For more information on how to create your own DrawableDescriptor-s, look at the + code of CircleFactory or InvertedTunnelFactory.

                                                          +
                                                          +
                                                          +
                                                          +

                                                          Hierarchy

                                                          +
                                                            +
                                                          • + DrawableDescriptor +
                                                          • +
                                                          +
                                                          +
                                                          +

                                                          Index

                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +

                                                          Properties

                                                          +
                                                          + +

                                                          Readonly empty

                                                          +
                                                          empty: Drawable
                                                          + +
                                                          +
                                                          +

                                                          When no shaderCombinationStep matches the current number of drawables exactly, + the value of empty is used to pad out arrays.

                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          Optional objectCountScaler

                                                          +
                                                          objectCountScaler: undefined | number
                                                          + +
                                                          +
                                                          +

                                                          Calculating the number of objects to be drawn is done using the following pseudo-formula:

                                                          +
                                                          +

                                                          objectCountScaler * propertyUniformMapping[0].length

                                                          +

                                                          By default, its value is 1

                                                          +
                                                          +
                                                          +
                                                          + +

                                                          propertyUniformMapping

                                                          +
                                                          propertyUniformMapping: {}
                                                          + +
                                                          +
                                                          +

                                                          An object describing the relationship between the object returned by a Drawable's + getObjectToSerialize and the name of the arrays used in the GLSL code.

                                                          +
                                                          +
                                                          +
                                                          +

                                                          Type declaration

                                                          +
                                                            +
                                                          • +
                                                            [property: string]: string
                                                            +
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          Optional sdf

                                                          +
                                                          sdf: undefined | { distanceFunctionName: string; isInverted?: undefined | false | true; shader: string }
                                                          + +
                                                          +
                                                          +

                                                          Required property for shapes having physical dimensions.

                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +

                                                          shaderCombinationSteps

                                                          +
                                                          shaderCombinationSteps: Array<number>
                                                          + +
                                                          +
                                                          +

                                                          Number of possible drawables around each tile.

                                                          +
                                                          +

                                                          For each step, a shader will be generated. And at runtime the closes matching + shader will be used to render a given part of the scene.

                                                          +

                                                          Must contain 0 as a value.

                                                          +
                                                          +
                                                          +
                                                          + +

                                                          uniformCountMacroName

                                                          +
                                                          uniformCountMacroName: string
                                                          + +
                                                          +
                                                          +

                                                          The name of the uniform int used in the code to refer to the + number of drawables of this type.

                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Legend

                                                          +
                                                          +
                                                            +
                                                          • Constructor
                                                          • +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Property
                                                          • +
                                                          • Method
                                                          • +
                                                          +
                                                            +
                                                          • Inherited property
                                                          • +
                                                          • Inherited method
                                                          • +
                                                          +
                                                            +
                                                          • Protected method
                                                          • +
                                                          +
                                                            +
                                                          • Static property
                                                          • +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + + \ No newline at end of file diff --git a/docs/interfaces/drawables_drawable-descriptor.DrawableDescriptor.html b/docs/interfaces/drawables_drawable-descriptor.DrawableDescriptor.html deleted file mode 100644 index 6200b4b..0000000 --- a/docs/interfaces/drawables_drawable-descriptor.DrawableDescriptor.html +++ /dev/null @@ -1,34 +0,0 @@ -DrawableDescriptor | SDF-2D - v0.7.6
                                                          SDF-2D - v0.7.6
                                                            Preparing search index...

                                                            Used for containing the required information to compile drawables into -shader code.

                                                            -

                                                            Each [[Drawable]] must have a static property of this type, called descriptor.

                                                            -

                                                            For more information on how to create your own DrawableDescriptor-s, look at the -code of [[CircleFactory]] or [[InvertedTunnelFactory]].

                                                            -
                                                            interface DrawableDescriptor {
                                                                empty: Drawable;
                                                                objectCountScaler?: number;
                                                                propertyUniformMapping: { [property: string]: string };
                                                                sdf?: {
                                                                    distanceFunctionName: string;
                                                                    isInverted?: boolean;
                                                                    shader: string;
                                                                };
                                                                shaderCombinationSteps: number[];
                                                                uniformCountMacroName: string;
                                                            }
                                                            Index

                                                            Properties

                                                            empty: Drawable

                                                            When no shaderCombinationStep matches the current number of drawables exactly, -the value of empty is used to pad out arrays.

                                                            -
                                                            objectCountScaler?: number

                                                            Calculating the number of objects to be drawn is done using the following pseudo-formula:

                                                            -

                                                            objectCountScaler * propertyUniformMapping[0].length

                                                            -

                                                            By default, its value is 1

                                                            -
                                                            propertyUniformMapping: { [property: string]: string }

                                                            An object describing the relationship between the object returned by a [[Drawable]]'s -getObjectToSerialize and the name of the arrays used in the GLSL code.

                                                            -
                                                            sdf?: { distanceFunctionName: string; isInverted?: boolean; shader: string }

                                                            Required property for shapes having physical dimensions.

                                                            -

                                                            Type Declaration

                                                            • distanceFunctionName: string

                                                              The name of the function defined in the value of shader. -Its signature should look like this:

                                                              -
                                                               float (in vec2 target, out float colorIndex)
                                                              -
                                                              - -
                                                            • OptionalisInverted?: boolean

                                                              By default, drawables are not inverted.

                                                              -
                                                            • shader: string

                                                              The actual GLSL code for observing the drawables represented by this descriptor.

                                                              -

                                                              Your code should work with both version 100 and version 300 es

                                                              -
                                                            shaderCombinationSteps: number[]

                                                            Number of possible drawables around each tile.

                                                            -

                                                            For each step, a shader will be generated. And at runtime the closes matching -shader will be used to render a given part of the scene.

                                                            -

                                                            Must contain 0 as a value.

                                                            -
                                                            uniformCountMacroName: string

                                                            The name of the uniform int used in the code to refer to the -number of drawables of this type.

                                                            -
                                                            diff --git a/docs/interfaces/graphics_graphics-library_texture_texture-options.TextureOptions.html b/docs/interfaces/graphics_graphics-library_texture_texture-options.TextureOptions.html deleted file mode 100644 index 7e2c71b..0000000 --- a/docs/interfaces/graphics_graphics-library_texture_texture-options.TextureOptions.html +++ /dev/null @@ -1,5 +0,0 @@ -TextureOptions | SDF-2D - v0.7.6
                                                            SDF-2D - v0.7.6
                                                              Preparing search index...
                                                              interface TextureOptions {
                                                                  maxFilter: FilteringOptions;
                                                                  minFilter: FilteringOptions;
                                                                  wrapS: WrapOptions;
                                                                  wrapT: WrapOptions;
                                                              }
                                                              Index

                                                              Properties

                                                              maxFilter: FilteringOptions
                                                              minFilter: FilteringOptions
                                                              diff --git a/docs/interfaces/graphics_rendering_renderer_renderer-info.RendererInfo.html b/docs/interfaces/graphics_rendering_renderer_renderer-info.RendererInfo.html deleted file mode 100644 index 9d6ef01..0000000 --- a/docs/interfaces/graphics_rendering_renderer_renderer-info.RendererInfo.html +++ /dev/null @@ -1,10 +0,0 @@ -RendererInfo | SDF-2D - v0.7.6
                                                              SDF-2D - v0.7.6
                                                                Preparing search index...
                                                                interface RendererInfo {
                                                                    extensions: { [name: string]: boolean };
                                                                    floatInterpolationEnabled?: boolean;
                                                                    isWebGL2: boolean;
                                                                    programCount?: number;
                                                                    renderer?: string;
                                                                    renderPasses: {
                                                                        distance: {
                                                                            drawableCount?: number;
                                                                            drawnDrawableCount?: number;
                                                                            renderScale?: number;
                                                                            tileCount?: number;
                                                                        };
                                                                        lights: { drawnDrawableCount?: number; renderScale?: number };
                                                                    };
                                                                    sdf2dVersion?: string;
                                                                    startupTimeInMilliseconds?: number;
                                                                    vendor?: string;
                                                                    [k: string]: any;
                                                                }

                                                                Indexable

                                                                • [k: string]: any
                                                                Index

                                                                Properties

                                                                extensions: { [name: string]: boolean }
                                                                floatInterpolationEnabled?: boolean
                                                                isWebGL2: boolean
                                                                programCount?: number
                                                                renderer?: string
                                                                renderPasses: {
                                                                    distance: {
                                                                        drawableCount?: number;
                                                                        drawnDrawableCount?: number;
                                                                        renderScale?: number;
                                                                        tileCount?: number;
                                                                    };
                                                                    lights: { drawnDrawableCount?: number; renderScale?: number };
                                                                }
                                                                sdf2dVersion?: string
                                                                startupTimeInMilliseconds?: number
                                                                vendor?: string
                                                                diff --git a/docs/interfaces/graphics_rendering_renderer_renderer.Renderer.html b/docs/interfaces/graphics_rendering_renderer_renderer.Renderer.html deleted file mode 100644 index fd4ae91..0000000 --- a/docs/interfaces/graphics_rendering_renderer_renderer.Renderer.html +++ /dev/null @@ -1,45 +0,0 @@ -Renderer | SDF-2D - v0.7.6
                                                                SDF-2D - v0.7.6
                                                                  Preparing search index...

                                                                  The main interface through which rendering can be achieved.

                                                                  -

                                                                  Multiple renderers are permitted on a single page.

                                                                  -
                                                                  interface Renderer {
                                                                      canvasSize: ReadonlyVec2;
                                                                      insights: RendererInfo | null;
                                                                      viewAreaSize: ReadonlyVec2;
                                                                      addDrawable<T extends Drawable>(drawable: T): void;
                                                                      destroy(): void;
                                                                      displayToWorldCoordinates(displayCoordinates: ReadonlyVec2): vec2;
                                                                      renderDrawables(): void;
                                                                      setRuntimeSettings(overrides: Partial<RuntimeSettings>): void;
                                                                      setViewArea(topLeft: ReadonlyVec2, size: ReadonlyVec2): void;
                                                                      worldToDisplayCoordinates(worldCoordinates: ReadonlyVec2): vec2;
                                                                  }
                                                                  Index

                                                                  Properties

                                                                  canvasSize: ReadonlyVec2

                                                                  Get the actual resolution of the canvas without triggering a reflow.

                                                                  -

                                                                  A ResizeObserver is utilised fot achieving this.

                                                                  -
                                                                  insights: RendererInfo | null

                                                                  Get useful information about the hardware and the SDF2D renderer.

                                                                  -

                                                                  Its scheme is subject to change.

                                                                  -

                                                                  During context lost it might be null.

                                                                  -
                                                                  viewAreaSize: ReadonlyVec2

                                                                  Get the viewArea size set by the last setViewArea.

                                                                  -

                                                                  By default, canvasSize is used for the view area size.

                                                                  -

                                                                  Methods

                                                                  • Schedule a drawable to be rendered during the next renderDrawables call.

                                                                    -

                                                                    Type Parameters

                                                                    Parameters

                                                                    • drawable: T

                                                                      Must be a subclass of drawable and its class must contain a -static descriptor property of type [[DrawableDescriptor]].

                                                                      -

                                                                    Returns void

                                                                  • Let go of every GPU resource held by the renderer.

                                                                    -

                                                                    It's up to the browser and driver whether these resources are actually freed. -Nonetheless, when a renderer is no longer needed, this method should be called.

                                                                    -

                                                                    Returns void

                                                                  • The inverse of worldToDisplayCoordinates, returns the world coordinates -from a pixel's position.

                                                                    -

                                                                    The view area coordinates are also given in world coordinates.

                                                                    -

                                                                    Useful for picking.

                                                                    -

                                                                    Parameters

                                                                    • displayCoordinates: ReadonlyVec2

                                                                      The origin is in the display's top left corner. -Just as in mouse events' clientX and clientY.

                                                                      -

                                                                    Returns vec2

                                                                  • Render every drawable added since the last renderDrawables call.

                                                                    -

                                                                    Resizing of framebuffers and the canvas also takes effect -when calling renderDrawables.

                                                                    -

                                                                    Returns void

                                                                  • Patch the current runtime settings with new values.

                                                                    -

                                                                    Parameters

                                                                    Returns void

                                                                  • Set the camera transformation.

                                                                    -

                                                                    Parameters

                                                                    • topLeft: ReadonlyVec2

                                                                      top (!) left. By default, equals to [0, canvasHeight].

                                                                      -
                                                                    • size: ReadonlyVec2

                                                                      need not be equal to the canvas size, though their aspect ratio -should be the same to avoid stretching.

                                                                      -

                                                                    Returns void

                                                                  • The inverse of displayToWorldCoordinates, returns the screen space position -of a point given in world space coordinates.

                                                                    -

                                                                    While the origin for worldCoordinates resides in the bottom-left corner, -the origin of the returned display coordinates is placed in the top left.

                                                                    -

                                                                    Parameters

                                                                    • worldCoordinates: ReadonlyVec2

                                                                      Coordinates used when drawing objects.

                                                                      -

                                                                    Returns vec2

                                                                  diff --git a/docs/interfaces/graphics_rendering_settings_runtime-settings.RuntimeSettings.html b/docs/interfaces/graphics_rendering_settings_runtime-settings.RuntimeSettings.html deleted file mode 100644 index c5516e1..0000000 --- a/docs/interfaces/graphics_rendering_settings_runtime-settings.RuntimeSettings.html +++ /dev/null @@ -1,46 +0,0 @@ -RuntimeSettings | SDF-2D - v0.7.6
                                                                  SDF-2D - v0.7.6
                                                                    Preparing search index...

                                                                    Interface for a configuration object containing the settings -that can be changed during runtime.

                                                                    -

                                                                    The default values for RuntimeSettings can be found in [[defaultRuntimeSettings]].

                                                                    -
                                                                    interface RuntimeSettings {
                                                                        ambientLight: vec3;
                                                                        colorPalette: (
                                                                            | IndexedCollection
                                                                            | [number, number, number]
                                                                            | [number, number, number, number]
                                                                        )[];
                                                                        distanceRenderScale: number;
                                                                        enableHighDpiRendering: boolean;
                                                                        isWorldInverted: boolean;
                                                                        lightCutoffDistance: number;
                                                                        lightsRenderScale: number;
                                                                        motionBlur: number;
                                                                        textures: { [textureName: string]: TexImageSource | TextureWithOptions };
                                                                        tileMultiplier: number;
                                                                    }
                                                                    Index

                                                                    Properties

                                                                    ambientLight: vec3

                                                                    A light affecting every pixel (even the ones inside objects).

                                                                    -
                                                                    colorPalette: (
                                                                        | IndexedCollection
                                                                        | [number, number, number]
                                                                        | [number, number, number, number]
                                                                    )[]

                                                                    Its length should be less than the one specified in [[StartupSettings]].paletteSize.

                                                                    -

                                                                    The possible colors for the objects. Each color is referenced by its index in the -palette.

                                                                    -

                                                                    Can have transparency, but only if WebGL2 support is enabled.

                                                                    -
                                                                    distanceRenderScale: number

                                                                    The resolution of the distance field rendering will be scaled up or down with this value.

                                                                    -

                                                                    Because of interpolation, this can be set much lower than the lightsRenderScale, while -maintaining closely the same perceived quality.

                                                                    -

                                                                    Setting this is a great way to balance quality and performance.

                                                                    -
                                                                    enableHighDpiRendering: boolean

                                                                    When set to true rendering will be done on the screen's real resolution.

                                                                    -
                                                                    isWorldInverted: boolean

                                                                    By default, every pixel is outside of objects. Flipping this value to true will -result in every pixel being inside a large object. From then it only makes sense to -draw inverted objects.

                                                                    -
                                                                    lightCutoffDistance: number

                                                                    When lights reach the end of the display, they are slowly faded out. The length -of this phaseout can be set through this value.

                                                                    -
                                                                    lightsRenderScale: number

                                                                    The resolution of the final frame will be scaled by this value.

                                                                    -

                                                                    Setting this is a great way to balance quality and performance.

                                                                    -
                                                                    motionBlur: number

                                                                    Set the extent of the motion blur.

                                                                    -

                                                                    The values must be between 0 and 1. Where 0 means no motion blur, -and values just below 1 mean an extreme amount of motion blur.

                                                                    -
                                                                    textures: { [textureName: string]: TexImageSource | TextureWithOptions }

                                                                    It is possible to use your own textures in your SDF definitions.

                                                                    -

                                                                    The keys of the object should be the name used to reference them in the GLSL code, -and the values should be the textures themselves or a TextureWithOptions specifying -the texture's [[TextureOptions]]. -It can be a canvas, img element, Image and so on.

                                                                    -
                                                                    tileMultiplier: number

                                                                    First, the SDF of the scene is evaluated at every single pixel. -For speeding this process up, the screen is divided up into tiles, -this way each having to deal with a fewer objects.

                                                                    -

                                                                    For each tile, it is decided which objects are near its close vicinity. -This comes with some overhead for the CPU, while saving the GPU from loads of -calculations. The workload can be balanced between the CPU and the GPU by setting -this number.

                                                                    -
                                                                    diff --git a/docs/interfaces/graphics_rendering_settings_startup-settings.StartupSettings.html b/docs/interfaces/graphics_rendering_settings_startup-settings.StartupSettings.html deleted file mode 100644 index 8c96868..0000000 --- a/docs/interfaces/graphics_rendering_settings_startup-settings.StartupSettings.html +++ /dev/null @@ -1,39 +0,0 @@ -StartupSettings | SDF-2D - v0.7.6
                                                                    SDF-2D - v0.7.6
                                                                      Preparing search index...

                                                                      Interface for a configuration object containing the settings -that need to be given before shader compilation.

                                                                      -

                                                                      The default values for StartupSettings can be found in [[defaultStartupSettings]].

                                                                      -
                                                                      interface StartupSettings {
                                                                          backgroundColor:
                                                                              | IndexedCollection
                                                                              | [number, number, number]
                                                                              | [number, number, number, number];
                                                                          enableContextLostSimulator: boolean;
                                                                          enableStopwatch: boolean;
                                                                          ignoreWebGL2: boolean;
                                                                          lightOverlapReduction: number;
                                                                          lightPenetrationRatio: number;
                                                                          paletteSize: number;
                                                                          shadowTraceCount: number;
                                                                      }
                                                                      Index

                                                                      Properties

                                                                      backgroundColor:
                                                                          | IndexedCollection
                                                                          | [number, number, number]
                                                                          | [number, number, number, number]

                                                                      The default background color of the scene, can have transparency on every platform.

                                                                      -
                                                                      enableContextLostSimulator: boolean

                                                                      Many context lost event will be simulated when enabled.

                                                                      -

                                                                      Useful for testing.

                                                                      -
                                                                      enableStopwatch: boolean

                                                                      Creates a stopwatch used for measuring the GPU render time -when its required extension is available.

                                                                      -

                                                                      You should only have one renderer with enabled stopwatch.

                                                                      -
                                                                      ignoreWebGL2: boolean

                                                                      When set to true, rendering will fall back to WebGL -even when WebGL2 is present.

                                                                      -

                                                                      Useful for testing compatibility.

                                                                      -
                                                                      lightOverlapReduction: number

                                                                      Controls how overlapping lights combine.

                                                                      -

                                                                      At 0 lights are summed additively (the physically-correct default): -two nearby lights brighten their overlap and their glows merge into a -shape larger than either alone. At 1 overlapping lights instead take -the per-channel maximum, so a combination never reads brighter or larger -than its strongest contributor. Values in between blend the two.

                                                                      -

                                                                      A single light looks the same at any value. Should be between 0 and 1.

                                                                      -
                                                                      lightPenetrationRatio: number

                                                                      The illumination is multiplied by this constant where -the distance field is negative (i.e. inside objects).

                                                                      -

                                                                      Should be between 0 and 1, but other values are also permitted.

                                                                      -
                                                                      paletteSize: number

                                                                      Gives the number of possible object colors for the scene.

                                                                      -

                                                                      When using WebGL, only 256 different colors can be used. -On WebGL2, its value should not be larger than 4096 for -maintaining compatibility with low-end devices.

                                                                      -
                                                                      shadowTraceCount: number

                                                                      The raytracing algorithm used for shadows requires a step count. -Sensible values for this are between 8 and 32.

                                                                      -

                                                                      The higher the number, the harder the shadows will get. -Some ambient occlusion like effects can be visible on lower trace counts.

                                                                      -
                                                                      diff --git a/docs/interfaces/noisypolygonbase.html b/docs/interfaces/noisypolygonbase.html new file mode 100644 index 0000000..6299d75 --- /dev/null +++ b/docs/interfaces/noisypolygonbase.html @@ -0,0 +1,297 @@ + + + + + + NoisyPolygonBase | SDF-2D - v0.7.6 + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + Options +
                                                                      +
                                                                      + All +
                                                                        +
                                                                      • Public
                                                                      • +
                                                                      • Public/Protected
                                                                      • +
                                                                      • All
                                                                      • +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + Menu +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Interface NoisyPolygonBase

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Hierarchy

                                                                      + +
                                                                      +
                                                                      +

                                                                      Index

                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Constructors

                                                                      + +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      + +
                                                                      +
                                                                      +

                                                                      Methods

                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Constructors

                                                                      +
                                                                      + +

                                                                      constructor

                                                                      + + +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      +
                                                                      + +

                                                                      randomOffset

                                                                      +
                                                                      randomOffset: number
                                                                      + +
                                                                      +
                                                                      + +

                                                                      vertices

                                                                      +
                                                                      vertices: Array<vec2>
                                                                      + +
                                                                      +
                                                                      + +

                                                                      Static Readonly descriptor

                                                                      +
                                                                      descriptor: DrawableDescriptor
                                                                      + +
                                                                      +
                                                                      +
                                                                      +

                                                                      Methods

                                                                      +
                                                                      + +

                                                                      Protected getObjectToSerialize

                                                                      +
                                                                        +
                                                                      • getObjectToSerialize(transform2d: mat2d, transform1d: number): any
                                                                      • +
                                                                      + +
                                                                      +
                                                                      + +

                                                                      minDistance

                                                                      +
                                                                        +
                                                                      • minDistance(target: vec2): number
                                                                      • +
                                                                      + +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Legend

                                                                      +
                                                                      +
                                                                        +
                                                                      • Constructor
                                                                      • +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Inherited property
                                                                      • +
                                                                      • Inherited method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Protected method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Static property
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + + \ No newline at end of file diff --git a/docs/interfaces/renderer.html b/docs/interfaces/renderer.html new file mode 100644 index 0000000..8192a07 --- /dev/null +++ b/docs/interfaces/renderer.html @@ -0,0 +1,471 @@ + + + + + + Renderer | SDF-2D - v0.7.6 + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + Options +
                                                                      +
                                                                      + All +
                                                                        +
                                                                      • Public
                                                                      • +
                                                                      • Public/Protected
                                                                      • +
                                                                      • All
                                                                      • +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + Menu +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Interface Renderer

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      The main interface through which rendering can be achieved.

                                                                      +
                                                                      +

                                                                      Multiple renderers are permitted on a single page.

                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Hierarchy

                                                                      +
                                                                        +
                                                                      • + Renderer +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +

                                                                      Index

                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      +
                                                                      + +

                                                                      Readonly canvasSize

                                                                      +
                                                                      canvasSize: ReadonlyVec2
                                                                      + +
                                                                      +
                                                                      +

                                                                      Get the actual resolution of the canvas without triggering a reflow.

                                                                      +
                                                                      +

                                                                      A ResizeObserver is utilised fot achieving this.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Readonly insights

                                                                      +
                                                                      insights: RendererInfo | null
                                                                      + +
                                                                      +
                                                                      +

                                                                      Get useful information about the hardware and the SDF2D renderer.

                                                                      +
                                                                      +

                                                                      Its scheme is subject to change.

                                                                      +

                                                                      During context lost it might be null.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Readonly viewAreaSize

                                                                      +
                                                                      viewAreaSize: ReadonlyVec2
                                                                      + +
                                                                      +
                                                                      +

                                                                      Get the viewArea size set by the last setViewArea.

                                                                      +
                                                                      +

                                                                      By default, canvasSize is used for the view area size.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Methods

                                                                      +
                                                                      + +

                                                                      addDrawable

                                                                      +
                                                                        +
                                                                      • addDrawable<T>(drawable: T): void
                                                                      • +
                                                                      +
                                                                        +
                                                                      • + +
                                                                        +
                                                                        +

                                                                        Schedule a drawable to be rendered during the next renderDrawables call.

                                                                        +
                                                                        +
                                                                        +

                                                                        Type parameters

                                                                        + +

                                                                        Parameters

                                                                        +
                                                                          +
                                                                        • +
                                                                          drawable: T
                                                                          +
                                                                          +

                                                                          Must be a subclass of drawable and its class must contain a + static descriptor property of type DrawableDescriptor.

                                                                          +
                                                                          +
                                                                        • +
                                                                        +

                                                                        Returns void

                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      + +

                                                                      destroy

                                                                      +
                                                                        +
                                                                      • destroy(): void
                                                                      • +
                                                                      +
                                                                        +
                                                                      • + +
                                                                        +
                                                                        +

                                                                        Let go of every GPU resource held by the renderer.

                                                                        +
                                                                        +

                                                                        It's up to the browser and driver whether these resources are actually freed. + Nonetheless, when a renderer is no longer needed, this method should be called.

                                                                        +
                                                                        +

                                                                        Returns void

                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      + +

                                                                      displayToWorldCoordinates

                                                                      +
                                                                        +
                                                                      • displayToWorldCoordinates(displayCoordinates: ReadonlyVec2): vec2
                                                                      • +
                                                                      +
                                                                        +
                                                                      • + +
                                                                        +
                                                                        +

                                                                        The inverse of worldToDisplayCoordinates, returns the world coordinates + from a pixel's position.

                                                                        +
                                                                        +

                                                                        The view area coordinates are also given in world coordinates.

                                                                        +

                                                                        Useful for picking.

                                                                        +
                                                                        +

                                                                        Parameters

                                                                        +
                                                                          +
                                                                        • +
                                                                          displayCoordinates: ReadonlyVec2
                                                                          +
                                                                          +

                                                                          The origin is in the display's top left corner. + Just as in mouse events' clientX and clientY.

                                                                          +
                                                                          +
                                                                        • +
                                                                        +

                                                                        Returns vec2

                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      + +

                                                                      renderDrawables

                                                                      +
                                                                        +
                                                                      • renderDrawables(): void
                                                                      • +
                                                                      +
                                                                        +
                                                                      • + +
                                                                        +
                                                                        +

                                                                        Render every drawable added since the last renderDrawables call.

                                                                        +
                                                                        +

                                                                        Resizing of framebuffers and the canvas also takes effect + when calling renderDrawables.

                                                                        +
                                                                        +

                                                                        Returns void

                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      + +

                                                                      setRuntimeSettings

                                                                      + + +
                                                                      +
                                                                      + +

                                                                      setViewArea

                                                                      +
                                                                        +
                                                                      • setViewArea(topLeft: ReadonlyVec2, size: ReadonlyVec2): void
                                                                      • +
                                                                      +
                                                                        +
                                                                      • + +
                                                                        +
                                                                        +

                                                                        Set the camera transformation.

                                                                        +
                                                                        +
                                                                        +

                                                                        Parameters

                                                                        +
                                                                          +
                                                                        • +
                                                                          topLeft: ReadonlyVec2
                                                                          +
                                                                          +

                                                                          top (!) left. By default, equals to [0, canvasHeight].

                                                                          +
                                                                          +
                                                                        • +
                                                                        • +
                                                                          size: ReadonlyVec2
                                                                          +
                                                                          +

                                                                          need not be equal to the canvas size, though their aspect ratio + should be the same to avoid stretching.

                                                                          +
                                                                          +
                                                                        • +
                                                                        +

                                                                        Returns void

                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      + +

                                                                      worldToDisplayCoordinates

                                                                      +
                                                                        +
                                                                      • worldToDisplayCoordinates(worldCoordinates: ReadonlyVec2): vec2
                                                                      • +
                                                                      +
                                                                        +
                                                                      • + +
                                                                        +
                                                                        +

                                                                        The inverse of displayToWorldCoordinates, returns the screen space position + of a point given in world space coordinates.

                                                                        +
                                                                        +

                                                                        While the origin for worldCoordinates resides in the bottom-left corner, + the origin of the returned display coordinates is placed in the top left.

                                                                        +
                                                                        +

                                                                        Parameters

                                                                        +
                                                                          +
                                                                        • +
                                                                          worldCoordinates: ReadonlyVec2
                                                                          +
                                                                          +

                                                                          Coordinates used when drawing objects.

                                                                          +
                                                                          +
                                                                        • +
                                                                        +

                                                                        Returns vec2

                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Legend

                                                                      +
                                                                      +
                                                                        +
                                                                      • Constructor
                                                                      • +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Inherited property
                                                                      • +
                                                                      • Inherited method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Protected method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Static property
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + + \ No newline at end of file diff --git a/docs/interfaces/rendererinfo.html b/docs/interfaces/rendererinfo.html new file mode 100644 index 0000000..b31724c --- /dev/null +++ b/docs/interfaces/rendererinfo.html @@ -0,0 +1,314 @@ + + + + + + RendererInfo | SDF-2D - v0.7.6 + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + Options +
                                                                      +
                                                                      + All +
                                                                        +
                                                                      • Public
                                                                      • +
                                                                      • Public/Protected
                                                                      • +
                                                                      • All
                                                                      • +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + Menu +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Interface RendererInfo

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Hierarchy

                                                                      +
                                                                        +
                                                                      • + RendererInfo +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +

                                                                      Indexable

                                                                      +
                                                                      [k: string]: any
                                                                      +
                                                                      +
                                                                      +

                                                                      Index

                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      +
                                                                      + +

                                                                      extensions

                                                                      +
                                                                      extensions: {}
                                                                      + +
                                                                      +

                                                                      Type declaration

                                                                      +
                                                                        +
                                                                      • +
                                                                        [name: string]: boolean
                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Optional floatInterpolationEnabled

                                                                      +
                                                                      floatInterpolationEnabled: undefined | false | true
                                                                      + +
                                                                      +
                                                                      + +

                                                                      isWebGL2

                                                                      +
                                                                      isWebGL2: boolean
                                                                      + +
                                                                      +
                                                                      + +

                                                                      Optional programCount

                                                                      +
                                                                      programCount: undefined | number
                                                                      + +
                                                                      +
                                                                      + +

                                                                      renderPasses

                                                                      +
                                                                      renderPasses: { distance: { drawableCount?: undefined | number; drawnDrawableCount?: undefined | number; renderScale?: undefined | number; tileCount?: undefined | number }; lights: { drawnDrawableCount?: undefined | number; renderScale?: undefined | number } }
                                                                      + +
                                                                      +

                                                                      Type declaration

                                                                      +
                                                                        +
                                                                      • +
                                                                        distance: { drawableCount?: undefined | number; drawnDrawableCount?: undefined | number; renderScale?: undefined | number; tileCount?: undefined | number }
                                                                        +
                                                                          +
                                                                        • +
                                                                          Optional drawableCount?: undefined | number
                                                                          +
                                                                        • +
                                                                        • +
                                                                          Optional drawnDrawableCount?: undefined | number
                                                                          +
                                                                        • +
                                                                        • +
                                                                          Optional renderScale?: undefined | number
                                                                          +
                                                                        • +
                                                                        • +
                                                                          Optional tileCount?: undefined | number
                                                                          +
                                                                        • +
                                                                        +
                                                                      • +
                                                                      • +
                                                                        lights: { drawnDrawableCount?: undefined | number; renderScale?: undefined | number }
                                                                        +
                                                                          +
                                                                        • +
                                                                          Optional drawnDrawableCount?: undefined | number
                                                                          +
                                                                        • +
                                                                        • +
                                                                          Optional renderScale?: undefined | number
                                                                          +
                                                                        • +
                                                                        +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Optional renderer

                                                                      +
                                                                      renderer: undefined | string
                                                                      + +
                                                                      +
                                                                      + +

                                                                      Optional sdf2dVersion

                                                                      +
                                                                      sdf2dVersion: undefined | string
                                                                      + +
                                                                      +
                                                                      + +

                                                                      Optional startupTimeInMilliseconds

                                                                      +
                                                                      startupTimeInMilliseconds: undefined | number
                                                                      + +
                                                                      +
                                                                      + +

                                                                      Optional vendor

                                                                      +
                                                                      vendor: undefined | string
                                                                      + +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Legend

                                                                      +
                                                                      +
                                                                        +
                                                                      • Constructor
                                                                      • +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Inherited property
                                                                      • +
                                                                      • Inherited method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Protected method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Static property
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + + \ No newline at end of file diff --git a/docs/interfaces/runtimesettings.html b/docs/interfaces/runtimesettings.html new file mode 100644 index 0000000..f35fde9 --- /dev/null +++ b/docs/interfaces/runtimesettings.html @@ -0,0 +1,372 @@ + + + + + + RuntimeSettings | SDF-2D - v0.7.6 + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + Options +
                                                                      +
                                                                      + All +
                                                                        +
                                                                      • Public
                                                                      • +
                                                                      • Public/Protected
                                                                      • +
                                                                      • All
                                                                      • +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + Menu +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Interface RuntimeSettings

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Interface for a configuration object containing the settings + that can be changed during runtime.

                                                                      +
                                                                      +

                                                                      The default values for RuntimeSettings can be found in defaultRuntimeSettings.

                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Hierarchy

                                                                      +
                                                                        +
                                                                      • + RuntimeSettings +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +

                                                                      Index

                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      +
                                                                      + +

                                                                      ambientLight

                                                                      +
                                                                      ambientLight: vec3
                                                                      + +
                                                                      +
                                                                      +

                                                                      A light affecting every pixel (even the ones inside objects).

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      colorPalette

                                                                      +
                                                                      colorPalette: Array<vec3 | vec4>
                                                                      + +
                                                                      +
                                                                      +

                                                                      Its length should be less than the one specified in StartupSettings.paletteSize.

                                                                      +
                                                                      +

                                                                      The possible colors for the objects. Each color is referenced by its index in the + palette.

                                                                      +

                                                                      Can have transparency, but only if WebGL2 support is enabled.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      distanceRenderScale

                                                                      +
                                                                      distanceRenderScale: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      The resolution of the distance field rendering will be scaled up or down with this value.

                                                                      +
                                                                      +

                                                                      Because of interpolation, this can be set much lower than the lightsRenderScale, while + maintaining closely the same perceived quality.

                                                                      +

                                                                      Setting this is a great way to balance quality and performance.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      enableHighDpiRendering

                                                                      +
                                                                      enableHighDpiRendering: boolean
                                                                      + +
                                                                      +
                                                                      +

                                                                      When set to true rendering will be done on the screen's real resolution.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      isWorldInverted

                                                                      +
                                                                      isWorldInverted: boolean
                                                                      + +
                                                                      +
                                                                      +

                                                                      By default, every pixel is outside of objects. Flipping this value to true will + result in every pixel being inside a large object. From then it only makes sense to + draw inverted objects.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      lightCutoffDistance

                                                                      +
                                                                      lightCutoffDistance: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      When lights reach the end of the display, they are slowly faded out. The length + of this phaseout can be set through this value.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      lightsRenderScale

                                                                      +
                                                                      lightsRenderScale: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      The resolution of the final frame will be scaled by this value.

                                                                      +
                                                                      +

                                                                      Setting this is a great way to balance quality and performance.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      motionBlur

                                                                      +
                                                                      motionBlur: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      Set the extent of the motion blur.

                                                                      +
                                                                      +

                                                                      The values must be between 0 and 1. Where 0 means no motion blur, + and values just below 1 mean an extreme amount of motion blur.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      textures

                                                                      +
                                                                      textures: {}
                                                                      + +
                                                                      +
                                                                      +

                                                                      It is possible to use your own textures in your SDF definitions.

                                                                      +
                                                                      +

                                                                      The keys of the object should be the name used to reference them in the GLSL code, + and the values should be the textures themselves or a TextureWithOptions specifying + the texture's TextureOptions. + It can be a canvas, img element, Image and so on.

                                                                      +
                                                                      +
                                                                      +

                                                                      Type declaration

                                                                      + +
                                                                      +
                                                                      +
                                                                      + +

                                                                      tileMultiplier

                                                                      +
                                                                      tileMultiplier: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      First, the SDF of the scene is evaluated at every single pixel. + For speeding this process up, the screen is divided up into tiles, + this way each having to deal with a fewer objects.

                                                                      +
                                                                      +

                                                                      For each tile, it is decided which objects are near its close vicinity. + This comes with some overhead for the CPU, while saving the GPU from loads of + calculations. The workload can be balanced between the CPU and the GPU by setting + this number.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Legend

                                                                      +
                                                                      +
                                                                        +
                                                                      • Constructor
                                                                      • +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Inherited property
                                                                      • +
                                                                      • Inherited method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Protected method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Static property
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + + \ No newline at end of file diff --git a/docs/interfaces/startupsettings.html b/docs/interfaces/startupsettings.html new file mode 100644 index 0000000..00648fa --- /dev/null +++ b/docs/interfaces/startupsettings.html @@ -0,0 +1,298 @@ + + + + + + StartupSettings | SDF-2D - v0.7.6 + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + Options +
                                                                      +
                                                                      + All +
                                                                        +
                                                                      • Public
                                                                      • +
                                                                      • Public/Protected
                                                                      • +
                                                                      • All
                                                                      • +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + Menu +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Interface StartupSettings

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Interface for a configuration object containing the settings + that need to be given before shader compilation.

                                                                      +
                                                                      +

                                                                      The default values for StartupSettings can be found in defaultStartupSettings.

                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Hierarchy

                                                                      +
                                                                        +
                                                                      • + StartupSettings +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +

                                                                      Index

                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      +
                                                                      + +

                                                                      backgroundColor

                                                                      +
                                                                      backgroundColor: vec3 | vec4
                                                                      + +
                                                                      +
                                                                      +

                                                                      The default background color of the scene, can have transparency on every platform.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      enableContextLostSimulator

                                                                      +
                                                                      enableContextLostSimulator: boolean
                                                                      + +
                                                                      +
                                                                      +

                                                                      Many context lost event will be simulated when enabled.

                                                                      +
                                                                      +

                                                                      Useful for testing.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      enableStopwatch

                                                                      +
                                                                      enableStopwatch: boolean
                                                                      + +
                                                                      +
                                                                      +

                                                                      Creates a stopwatch used for measuring the GPU render time + when its required extension is available.

                                                                      +
                                                                      +

                                                                      You should only have one renderer with enabled stopwatch.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      ignoreWebGL2

                                                                      +
                                                                      ignoreWebGL2: boolean
                                                                      + +
                                                                      +
                                                                      +

                                                                      When set to true, rendering will fall back to WebGL + even when WebGL2 is present.

                                                                      +
                                                                      +

                                                                      Useful for testing compatibility.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      lightPenetrationRatio

                                                                      +
                                                                      lightPenetrationRatio: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      The illumination is multiplied by this constant where + the distance field is negative (i.e. inside objects).

                                                                      +
                                                                      +

                                                                      Should be between 0 and 1, but other values are also permitted.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      paletteSize

                                                                      +
                                                                      paletteSize: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      Gives the number of possible object colors for the scene.

                                                                      +
                                                                      +

                                                                      When using WebGL, only 256 different colors can be used. + On WebGL2, its value should not be larger than 4096 for + maintaining compatibility with low-end devices.

                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      shadowTraceCount

                                                                      +
                                                                      shadowTraceCount: number
                                                                      + +
                                                                      +
                                                                      +

                                                                      The raytracing algorithm used for shadows requires a step count. + Sensible values for this are between 8 and 32.

                                                                      +
                                                                      +

                                                                      The higher the number, the harder the shadows will get. + Some ambient occlusion like effects can be visible on lower trace counts.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Legend

                                                                      +
                                                                      +
                                                                        +
                                                                      • Constructor
                                                                      • +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Inherited property
                                                                      • +
                                                                      • Inherited method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Protected method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Static property
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + + \ No newline at end of file diff --git a/docs/interfaces/textureoptions.html b/docs/interfaces/textureoptions.html new file mode 100644 index 0000000..9e54d16 --- /dev/null +++ b/docs/interfaces/textureoptions.html @@ -0,0 +1,199 @@ + + + + + + TextureOptions | SDF-2D - v0.7.6 + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + Options +
                                                                      +
                                                                      + All +
                                                                        +
                                                                      • Public
                                                                      • +
                                                                      • Public/Protected
                                                                      • +
                                                                      • All
                                                                      • +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + Menu +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +

                                                                      Interface TextureOptions

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Hierarchy

                                                                      +
                                                                        +
                                                                      • + TextureOptions +
                                                                      • +
                                                                      +
                                                                      +
                                                                      +

                                                                      Index

                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      +
                                                                      + +

                                                                      maxFilter

                                                                      +
                                                                      maxFilter: FilteringOptions
                                                                      + +
                                                                      +
                                                                      + +

                                                                      minFilter

                                                                      +
                                                                      minFilter: FilteringOptions
                                                                      + +
                                                                      +
                                                                      + +

                                                                      wrapS

                                                                      + + +
                                                                      +
                                                                      + +

                                                                      wrapT

                                                                      + + +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Legend

                                                                      +
                                                                      +
                                                                        +
                                                                      • Constructor
                                                                      • +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Property
                                                                      • +
                                                                      • Method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Inherited property
                                                                      • +
                                                                      • Inherited method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Protected method
                                                                      • +
                                                                      +
                                                                        +
                                                                      • Static property
                                                                      • +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + + \ No newline at end of file diff --git a/docs/media/circles-screenshot.png b/docs/media/circles-screenshot.png new file mode 100644 index 0000000..9744afb Binary files /dev/null and b/docs/media/circles-screenshot.png differ diff --git a/docs/media/favicon.ico b/docs/media/favicon.ico new file mode 100644 index 0000000..b54e780 Binary files /dev/null and b/docs/media/favicon.ico differ diff --git a/docs/media/logo-white.svg b/docs/media/logo-white.svg new file mode 100644 index 0000000..f6f9c79 --- /dev/null +++ b/docs/media/logo-white.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/media/mobile-screenshots.png b/docs/media/mobile-screenshots.png new file mode 100644 index 0000000..ab459da Binary files /dev/null and b/docs/media/mobile-screenshots.png differ diff --git a/docs/media/tunnels-screenshot.png b/docs/media/tunnels-screenshot.png new file mode 100644 index 0000000..5d0e6cc Binary files /dev/null and b/docs/media/tunnels-screenshot.png differ diff --git a/docs/modules.html b/docs/modules.html deleted file mode 100644 index 9ee61a9..0000000 --- a/docs/modules.html +++ /dev/null @@ -1 +0,0 @@ -SDF-2D - v0.7.6
                                                                      SDF-2D - v0.7.6
                                                                        Preparing search index...

                                                                          SDF-2D - v0.7.6

                                                                          Modules

                                                                          compile
                                                                          drawables/drawable
                                                                          drawables/drawable-descriptor
                                                                          drawables/empty-drawable
                                                                          drawables/lights/circle-light
                                                                          drawables/lights/flashlight
                                                                          drawables/lights/light-drawable
                                                                          drawables/shapes/circle-factory
                                                                          drawables/shapes/colorful-circle
                                                                          drawables/shapes/droplet-factory
                                                                          drawables/shapes/hexagon-factory
                                                                          drawables/shapes/inverted-tunnel-factory
                                                                          drawables/shapes/meta-circle-factory
                                                                          drawables/shapes/noisy-polygon-factory
                                                                          drawables/shapes/polygon-factory
                                                                          drawables/shapes/rotated-rectangle-factory
                                                                          graphics/graphics-library/context-lost-exception
                                                                          graphics/graphics-library/frame-buffer/default-frame-buffer
                                                                          graphics/graphics-library/frame-buffer/frame-buffer
                                                                          graphics/graphics-library/frame-buffer/intermediate-frame-buffer
                                                                          graphics/graphics-library/helper/enable-context-lost-simulator
                                                                          graphics/graphics-library/helper/enable-extension
                                                                          graphics/graphics-library/helper/get-hardware-info
                                                                          graphics/graphics-library/helper/load-uniform
                                                                          graphics/graphics-library/helper/stopwatch
                                                                          graphics/graphics-library/parallel-compiler
                                                                          graphics/graphics-library/program/fragment-shader-only-program
                                                                          graphics/graphics-library/program/i-program
                                                                          graphics/graphics-library/program/program
                                                                          graphics/graphics-library/program/uniform-array-autoscaling-program
                                                                          graphics/graphics-library/texture/color-texture
                                                                          graphics/graphics-library/texture/distance-texture
                                                                          graphics/graphics-library/texture/palette-texture
                                                                          graphics/graphics-library/texture/texture
                                                                          graphics/graphics-library/texture/texture-options
                                                                          graphics/graphics-library/universal-rendering-context
                                                                          graphics/rendering/fps-quality-autoscaler
                                                                          graphics/rendering/render-pass/distance-render-pass
                                                                          graphics/rendering/render-pass/lights-render-pass
                                                                          graphics/rendering/render-pass/render-pass
                                                                          graphics/rendering/renderer/context-aware-renderer
                                                                          graphics/rendering/renderer/noise-renderer
                                                                          graphics/rendering/renderer/renderer
                                                                          graphics/rendering/renderer/renderer-implementation
                                                                          graphics/rendering/renderer/renderer-info
                                                                          graphics/rendering/settings/default-runtime-settings
                                                                          graphics/rendering/settings/default-startup-settings
                                                                          graphics/rendering/settings/runtime-settings
                                                                          graphics/rendering/settings/startup-settings
                                                                          graphics/rendering/uniforms-provider
                                                                          helper/array
                                                                          helper/clamp
                                                                          helper/code-for-color-access
                                                                          helper/color-to-string
                                                                          helper/colors/hex
                                                                          helper/colors/hsl
                                                                          helper/colors/rgb
                                                                          helper/colors/rgb255
                                                                          helper/colors/rgba
                                                                          helper/colors/rgba255
                                                                          helper/delta-time-calculator
                                                                          helper/exponential-decay
                                                                          helper/format-log
                                                                          helper/get-combinations
                                                                          helper/last
                                                                          helper/mix
                                                                          helper/ms-to-string
                                                                          helper/number-to-glsl-float
                                                                          helper/wait
                                                                          main
                                                                          run-animation
                                                                          diff --git a/docs/modules/__global.html b/docs/modules/__global.html new file mode 100644 index 0000000..95402df --- /dev/null +++ b/docs/modules/__global.html @@ -0,0 +1,138 @@ + + + + + + __global | SDF-2D - v0.7.6 + + + + + + +
                                                                          +
                                                                          +
                                                                          +
                                                                          + +
                                                                          +
                                                                          + Options +
                                                                          +
                                                                          + All +
                                                                            +
                                                                          • Public
                                                                          • +
                                                                          • Public/Protected
                                                                          • +
                                                                          • All
                                                                          • +
                                                                          +
                                                                          + + +
                                                                          +
                                                                          + Menu +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          + +

                                                                          Namespace __global

                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +

                                                                          Index

                                                                          +
                                                                          +
                                                                          +
                                                                          +

                                                                          Interfaces

                                                                          + +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          + +
                                                                          +
                                                                          +
                                                                          +
                                                                          +

                                                                          Legend

                                                                          +
                                                                          +
                                                                            +
                                                                          • Constructor
                                                                          • +
                                                                          • Property
                                                                          • +
                                                                          • Method
                                                                          • +
                                                                          +
                                                                            +
                                                                          • Property
                                                                          • +
                                                                          • Method
                                                                          • +
                                                                          +
                                                                            +
                                                                          • Inherited property
                                                                          • +
                                                                          • Inherited method
                                                                          • +
                                                                          +
                                                                            +
                                                                          • Protected method
                                                                          • +
                                                                          +
                                                                            +
                                                                          • Static property
                                                                          • +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          + + + \ No newline at end of file diff --git a/docs/modules/compile.html b/docs/modules/compile.html deleted file mode 100644 index 6563a81..0000000 --- a/docs/modules/compile.html +++ /dev/null @@ -1 +0,0 @@ -compile | SDF-2D - v0.7.6
                                                                          SDF-2D - v0.7.6
                                                                            Preparing search index...

                                                                            Module compile

                                                                            Functions

                                                                            compile
                                                                            diff --git a/docs/modules/drawables_drawable-descriptor.html b/docs/modules/drawables_drawable-descriptor.html deleted file mode 100644 index 961a848..0000000 --- a/docs/modules/drawables_drawable-descriptor.html +++ /dev/null @@ -1 +0,0 @@ -drawables/drawable-descriptor | SDF-2D - v0.7.6
                                                                            SDF-2D - v0.7.6
                                                                              Preparing search index...

                                                                              Module drawables/drawable-descriptor

                                                                              Interfaces

                                                                              DrawableDescriptor
                                                                              diff --git a/docs/modules/drawables_drawable.html b/docs/modules/drawables_drawable.html deleted file mode 100644 index f64a425..0000000 --- a/docs/modules/drawables_drawable.html +++ /dev/null @@ -1 +0,0 @@ -drawables/drawable | SDF-2D - v0.7.6
                                                                              SDF-2D - v0.7.6
                                                                                Preparing search index...

                                                                                Module drawables/drawable

                                                                                Classes

                                                                                Drawable
                                                                                diff --git a/docs/modules/drawables_empty-drawable.html b/docs/modules/drawables_empty-drawable.html deleted file mode 100644 index b754cab..0000000 --- a/docs/modules/drawables_empty-drawable.html +++ /dev/null @@ -1 +0,0 @@ -drawables/empty-drawable | SDF-2D - v0.7.6
                                                                                SDF-2D - v0.7.6
                                                                                  Preparing search index...

                                                                                  Module drawables/empty-drawable

                                                                                  diff --git a/docs/modules/drawables_lights_circle-light.html b/docs/modules/drawables_lights_circle-light.html deleted file mode 100644 index 3496e6a..0000000 --- a/docs/modules/drawables_lights_circle-light.html +++ /dev/null @@ -1 +0,0 @@ -drawables/lights/circle-light | SDF-2D - v0.7.6
                                                                                  SDF-2D - v0.7.6
                                                                                    Preparing search index...

                                                                                    Module drawables/lights/circle-light

                                                                                    Drawable

                                                                                    CircleLight
                                                                                    diff --git a/docs/modules/drawables_lights_flashlight.html b/docs/modules/drawables_lights_flashlight.html deleted file mode 100644 index dae17e9..0000000 --- a/docs/modules/drawables_lights_flashlight.html +++ /dev/null @@ -1 +0,0 @@ -drawables/lights/flashlight | SDF-2D - v0.7.6
                                                                                    SDF-2D - v0.7.6
                                                                                      Preparing search index...

                                                                                      Module drawables/lights/flashlight

                                                                                      Drawable

                                                                                      Flashlight
                                                                                      diff --git a/docs/modules/drawables_lights_light-drawable.html b/docs/modules/drawables_lights_light-drawable.html deleted file mode 100644 index 9a0df7e..0000000 --- a/docs/modules/drawables_lights_light-drawable.html +++ /dev/null @@ -1 +0,0 @@ -drawables/lights/light-drawable | SDF-2D - v0.7.6
                                                                                      SDF-2D - v0.7.6
                                                                                        Preparing search index...

                                                                                        Module drawables/lights/light-drawable

                                                                                        diff --git a/docs/modules/drawables_shapes_circle-factory.html b/docs/modules/drawables_shapes_circle-factory.html deleted file mode 100644 index 43b6059..0000000 --- a/docs/modules/drawables_shapes_circle-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/circle-factory | SDF-2D - v0.7.6
                                                                                        SDF-2D - v0.7.6
                                                                                          Preparing search index...

                                                                                          Module drawables/shapes/circle-factory

                                                                                          Drawable

                                                                                          CircleFactory
                                                                                          diff --git a/docs/modules/drawables_shapes_colorful-circle.html b/docs/modules/drawables_shapes_colorful-circle.html deleted file mode 100644 index 8538795..0000000 --- a/docs/modules/drawables_shapes_colorful-circle.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/colorful-circle | SDF-2D - v0.7.6
                                                                                          SDF-2D - v0.7.6
                                                                                            Preparing search index...

                                                                                            Module drawables/shapes/colorful-circle

                                                                                            Classes

                                                                                            ColorfulCircle
                                                                                            diff --git a/docs/modules/drawables_shapes_droplet-factory.html b/docs/modules/drawables_shapes_droplet-factory.html deleted file mode 100644 index 9245ce8..0000000 --- a/docs/modules/drawables_shapes_droplet-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/droplet-factory | SDF-2D - v0.7.6
                                                                                            SDF-2D - v0.7.6
                                                                                              Preparing search index...

                                                                                              Module drawables/shapes/droplet-factory

                                                                                              Drawable

                                                                                              DropletFactory
                                                                                              diff --git a/docs/modules/drawables_shapes_hexagon-factory.html b/docs/modules/drawables_shapes_hexagon-factory.html deleted file mode 100644 index 075e979..0000000 --- a/docs/modules/drawables_shapes_hexagon-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/hexagon-factory | SDF-2D - v0.7.6
                                                                                              SDF-2D - v0.7.6
                                                                                                Preparing search index...

                                                                                                Module drawables/shapes/hexagon-factory

                                                                                                Drawable

                                                                                                HexagonFactory
                                                                                                diff --git a/docs/modules/drawables_shapes_inverted-tunnel-factory.html b/docs/modules/drawables_shapes_inverted-tunnel-factory.html deleted file mode 100644 index 3bd70a4..0000000 --- a/docs/modules/drawables_shapes_inverted-tunnel-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/inverted-tunnel-factory | SDF-2D - v0.7.6
                                                                                                SDF-2D - v0.7.6
                                                                                                  Preparing search index...

                                                                                                  Module drawables/shapes/inverted-tunnel-factory

                                                                                                  Drawable

                                                                                                  InvertedTunnelFactory
                                                                                                  diff --git a/docs/modules/drawables_shapes_meta-circle-factory.html b/docs/modules/drawables_shapes_meta-circle-factory.html deleted file mode 100644 index d67a307..0000000 --- a/docs/modules/drawables_shapes_meta-circle-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/meta-circle-factory | SDF-2D - v0.7.6
                                                                                                  SDF-2D - v0.7.6
                                                                                                    Preparing search index...

                                                                                                    Module drawables/shapes/meta-circle-factory

                                                                                                    Drawable

                                                                                                    MetaCircleFactory
                                                                                                    diff --git a/docs/modules/drawables_shapes_noisy-polygon-factory.html b/docs/modules/drawables_shapes_noisy-polygon-factory.html deleted file mode 100644 index 8d2fcba..0000000 --- a/docs/modules/drawables_shapes_noisy-polygon-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/noisy-polygon-factory | SDF-2D - v0.7.6
                                                                                                    SDF-2D - v0.7.6
                                                                                                      Preparing search index...

                                                                                                      Module drawables/shapes/noisy-polygon-factory

                                                                                                      Drawable

                                                                                                      NoisyPolygonFactory
                                                                                                      diff --git a/docs/modules/drawables_shapes_polygon-factory.html b/docs/modules/drawables_shapes_polygon-factory.html deleted file mode 100644 index 733bc7a..0000000 --- a/docs/modules/drawables_shapes_polygon-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/polygon-factory | SDF-2D - v0.7.6
                                                                                                      SDF-2D - v0.7.6
                                                                                                        Preparing search index...

                                                                                                        Module drawables/shapes/polygon-factory

                                                                                                        Drawable

                                                                                                        PolygonBase
                                                                                                        PolygonFactory
                                                                                                        diff --git a/docs/modules/drawables_shapes_rotated-rectangle-factory.html b/docs/modules/drawables_shapes_rotated-rectangle-factory.html deleted file mode 100644 index dc96c1e..0000000 --- a/docs/modules/drawables_shapes_rotated-rectangle-factory.html +++ /dev/null @@ -1 +0,0 @@ -drawables/shapes/rotated-rectangle-factory | SDF-2D - v0.7.6
                                                                                                        SDF-2D - v0.7.6
                                                                                                          Preparing search index...

                                                                                                          Module drawables/shapes/rotated-rectangle-factory

                                                                                                          Drawable

                                                                                                          RotatedRectangleFactory
                                                                                                          diff --git a/docs/modules/graphics_graphics-library_context-lost-exception.html b/docs/modules/graphics_graphics-library_context-lost-exception.html deleted file mode 100644 index 1589386..0000000 --- a/docs/modules/graphics_graphics-library_context-lost-exception.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/context-lost-exception | SDF-2D - v0.7.6
                                                                                                          SDF-2D - v0.7.6
                                                                                                            Preparing search index...

                                                                                                            Module graphics/graphics-library/context-lost-exception

                                                                                                            diff --git a/docs/modules/graphics_graphics-library_frame-buffer_default-frame-buffer.html b/docs/modules/graphics_graphics-library_frame-buffer_default-frame-buffer.html deleted file mode 100644 index a04765d..0000000 --- a/docs/modules/graphics_graphics-library_frame-buffer_default-frame-buffer.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/frame-buffer/default-frame-buffer | SDF-2D - v0.7.6
                                                                                                            SDF-2D - v0.7.6
                                                                                                              Preparing search index...

                                                                                                              Module graphics/graphics-library/frame-buffer/default-frame-buffer

                                                                                                              diff --git a/docs/modules/graphics_graphics-library_frame-buffer_frame-buffer.html b/docs/modules/graphics_graphics-library_frame-buffer_frame-buffer.html deleted file mode 100644 index 48015ff..0000000 --- a/docs/modules/graphics_graphics-library_frame-buffer_frame-buffer.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/frame-buffer/frame-buffer | SDF-2D - v0.7.6
                                                                                                              SDF-2D - v0.7.6
                                                                                                                Preparing search index...

                                                                                                                Module graphics/graphics-library/frame-buffer/frame-buffer

                                                                                                                diff --git a/docs/modules/graphics_graphics-library_frame-buffer_intermediate-frame-buffer.html b/docs/modules/graphics_graphics-library_frame-buffer_intermediate-frame-buffer.html deleted file mode 100644 index e4aed8b..0000000 --- a/docs/modules/graphics_graphics-library_frame-buffer_intermediate-frame-buffer.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/frame-buffer/intermediate-frame-buffer | SDF-2D - v0.7.6
                                                                                                                SDF-2D - v0.7.6
                                                                                                                  Preparing search index...

                                                                                                                  Module graphics/graphics-library/frame-buffer/intermediate-frame-buffer

                                                                                                                  diff --git a/docs/modules/graphics_graphics-library_helper_enable-context-lost-simulator.html b/docs/modules/graphics_graphics-library_helper_enable-context-lost-simulator.html deleted file mode 100644 index c3d3285..0000000 --- a/docs/modules/graphics_graphics-library_helper_enable-context-lost-simulator.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/helper/enable-context-lost-simulator | SDF-2D - v0.7.6
                                                                                                                  SDF-2D - v0.7.6
                                                                                                                    Preparing search index...

                                                                                                                    Module graphics/graphics-library/helper/enable-context-lost-simulator

                                                                                                                    diff --git a/docs/modules/graphics_graphics-library_helper_enable-extension.html b/docs/modules/graphics_graphics-library_helper_enable-extension.html deleted file mode 100644 index 09fec11..0000000 --- a/docs/modules/graphics_graphics-library_helper_enable-extension.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/helper/enable-extension | SDF-2D - v0.7.6
                                                                                                                    SDF-2D - v0.7.6
                                                                                                                      Preparing search index...

                                                                                                                      Module graphics/graphics-library/helper/enable-extension

                                                                                                                      diff --git a/docs/modules/graphics_graphics-library_helper_get-hardware-info.html b/docs/modules/graphics_graphics-library_helper_get-hardware-info.html deleted file mode 100644 index a9932e4..0000000 --- a/docs/modules/graphics_graphics-library_helper_get-hardware-info.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/helper/get-hardware-info | SDF-2D - v0.7.6
                                                                                                                      SDF-2D - v0.7.6
                                                                                                                        Preparing search index...

                                                                                                                        Module graphics/graphics-library/helper/get-hardware-info

                                                                                                                        diff --git a/docs/modules/graphics_graphics-library_helper_load-uniform.html b/docs/modules/graphics_graphics-library_helper_load-uniform.html deleted file mode 100644 index 2efee59..0000000 --- a/docs/modules/graphics_graphics-library_helper_load-uniform.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/helper/load-uniform | SDF-2D - v0.7.6
                                                                                                                        SDF-2D - v0.7.6
                                                                                                                          Preparing search index...

                                                                                                                          Module graphics/graphics-library/helper/load-uniform

                                                                                                                          diff --git a/docs/modules/graphics_graphics-library_helper_stopwatch.html b/docs/modules/graphics_graphics-library_helper_stopwatch.html deleted file mode 100644 index 0bb829f..0000000 --- a/docs/modules/graphics_graphics-library_helper_stopwatch.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/helper/stopwatch | SDF-2D - v0.7.6
                                                                                                                          SDF-2D - v0.7.6
                                                                                                                            Preparing search index...

                                                                                                                            Module graphics/graphics-library/helper/stopwatch

                                                                                                                            diff --git a/docs/modules/graphics_graphics-library_parallel-compiler.html b/docs/modules/graphics_graphics-library_parallel-compiler.html deleted file mode 100644 index 458077d..0000000 --- a/docs/modules/graphics_graphics-library_parallel-compiler.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/parallel-compiler | SDF-2D - v0.7.6
                                                                                                                            SDF-2D - v0.7.6
                                                                                                                              Preparing search index...

                                                                                                                              Module graphics/graphics-library/parallel-compiler

                                                                                                                              diff --git a/docs/modules/graphics_graphics-library_program_fragment-shader-only-program.html b/docs/modules/graphics_graphics-library_program_fragment-shader-only-program.html deleted file mode 100644 index 88d19ea..0000000 --- a/docs/modules/graphics_graphics-library_program_fragment-shader-only-program.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/program/fragment-shader-only-program | SDF-2D - v0.7.6
                                                                                                                              SDF-2D - v0.7.6
                                                                                                                                Preparing search index...

                                                                                                                                Module graphics/graphics-library/program/fragment-shader-only-program

                                                                                                                                diff --git a/docs/modules/graphics_graphics-library_program_i-program.html b/docs/modules/graphics_graphics-library_program_i-program.html deleted file mode 100644 index 2552cd4..0000000 --- a/docs/modules/graphics_graphics-library_program_i-program.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/program/i-program | SDF-2D - v0.7.6
                                                                                                                                SDF-2D - v0.7.6
                                                                                                                                  Preparing search index...

                                                                                                                                  Module graphics/graphics-library/program/i-program

                                                                                                                                  diff --git a/docs/modules/graphics_graphics-library_program_program.html b/docs/modules/graphics_graphics-library_program_program.html deleted file mode 100644 index 1eeaf07..0000000 --- a/docs/modules/graphics_graphics-library_program_program.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/program/program | SDF-2D - v0.7.6
                                                                                                                                  SDF-2D - v0.7.6
                                                                                                                                    Preparing search index...

                                                                                                                                    Module graphics/graphics-library/program/program

                                                                                                                                    diff --git a/docs/modules/graphics_graphics-library_program_uniform-array-autoscaling-program.html b/docs/modules/graphics_graphics-library_program_uniform-array-autoscaling-program.html deleted file mode 100644 index b47358b..0000000 --- a/docs/modules/graphics_graphics-library_program_uniform-array-autoscaling-program.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/program/uniform-array-autoscaling-program | SDF-2D - v0.7.6
                                                                                                                                    SDF-2D - v0.7.6
                                                                                                                                      Preparing search index...

                                                                                                                                      Module graphics/graphics-library/program/uniform-array-autoscaling-program

                                                                                                                                      diff --git a/docs/modules/graphics_graphics-library_texture_color-texture.html b/docs/modules/graphics_graphics-library_texture_color-texture.html deleted file mode 100644 index e9557c3..0000000 --- a/docs/modules/graphics_graphics-library_texture_color-texture.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/texture/color-texture | SDF-2D - v0.7.6
                                                                                                                                      SDF-2D - v0.7.6
                                                                                                                                        Preparing search index...

                                                                                                                                        Module graphics/graphics-library/texture/color-texture

                                                                                                                                        diff --git a/docs/modules/graphics_graphics-library_texture_distance-texture.html b/docs/modules/graphics_graphics-library_texture_distance-texture.html deleted file mode 100644 index f0a4a82..0000000 --- a/docs/modules/graphics_graphics-library_texture_distance-texture.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/texture/distance-texture | SDF-2D - v0.7.6
                                                                                                                                        SDF-2D - v0.7.6
                                                                                                                                          Preparing search index...

                                                                                                                                          Module graphics/graphics-library/texture/distance-texture

                                                                                                                                          diff --git a/docs/modules/graphics_graphics-library_texture_palette-texture.html b/docs/modules/graphics_graphics-library_texture_palette-texture.html deleted file mode 100644 index 8f4bf67..0000000 --- a/docs/modules/graphics_graphics-library_texture_palette-texture.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/texture/palette-texture | SDF-2D - v0.7.6
                                                                                                                                          SDF-2D - v0.7.6
                                                                                                                                            Preparing search index...

                                                                                                                                            Module graphics/graphics-library/texture/palette-texture

                                                                                                                                            diff --git a/docs/modules/graphics_graphics-library_texture_texture-options.html b/docs/modules/graphics_graphics-library_texture_texture-options.html deleted file mode 100644 index 79a7b74..0000000 --- a/docs/modules/graphics_graphics-library_texture_texture-options.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/texture/texture-options | SDF-2D - v0.7.6
                                                                                                                                            SDF-2D - v0.7.6
                                                                                                                                              Preparing search index...

                                                                                                                                              Module graphics/graphics-library/texture/texture-options

                                                                                                                                              Enumerations

                                                                                                                                              FilteringOptions
                                                                                                                                              WrapOptions

                                                                                                                                              Interfaces

                                                                                                                                              TextureOptions

                                                                                                                                              Type Aliases

                                                                                                                                              TextureWithOptions
                                                                                                                                              diff --git a/docs/modules/graphics_graphics-library_texture_texture.html b/docs/modules/graphics_graphics-library_texture_texture.html deleted file mode 100644 index e60bca3..0000000 --- a/docs/modules/graphics_graphics-library_texture_texture.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/texture/texture | SDF-2D - v0.7.6
                                                                                                                                              SDF-2D - v0.7.6
                                                                                                                                                Preparing search index...

                                                                                                                                                Module graphics/graphics-library/texture/texture

                                                                                                                                                diff --git a/docs/modules/graphics_graphics-library_universal-rendering-context.html b/docs/modules/graphics_graphics-library_universal-rendering-context.html deleted file mode 100644 index 02938de..0000000 --- a/docs/modules/graphics_graphics-library_universal-rendering-context.html +++ /dev/null @@ -1 +0,0 @@ -graphics/graphics-library/universal-rendering-context | SDF-2D - v0.7.6
                                                                                                                                                SDF-2D - v0.7.6
                                                                                                                                                  Preparing search index...

                                                                                                                                                  Module graphics/graphics-library/universal-rendering-context

                                                                                                                                                  diff --git a/docs/modules/graphics_rendering_fps-quality-autoscaler.html b/docs/modules/graphics_rendering_fps-quality-autoscaler.html deleted file mode 100644 index 87d27f7..0000000 --- a/docs/modules/graphics_rendering_fps-quality-autoscaler.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/fps-quality-autoscaler | SDF-2D - v0.7.6
                                                                                                                                                  SDF-2D - v0.7.6
                                                                                                                                                    Preparing search index...

                                                                                                                                                    Module graphics/rendering/fps-quality-autoscaler

                                                                                                                                                    Classes

                                                                                                                                                    FpsQualityAutoscaler
                                                                                                                                                    diff --git a/docs/modules/graphics_rendering_render-pass_distance-render-pass.html b/docs/modules/graphics_rendering_render-pass_distance-render-pass.html deleted file mode 100644 index 1087bcf..0000000 --- a/docs/modules/graphics_rendering_render-pass_distance-render-pass.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/render-pass/distance-render-pass | SDF-2D - v0.7.6
                                                                                                                                                    SDF-2D - v0.7.6
                                                                                                                                                      Preparing search index...

                                                                                                                                                      Module graphics/rendering/render-pass/distance-render-pass

                                                                                                                                                      diff --git a/docs/modules/graphics_rendering_render-pass_lights-render-pass.html b/docs/modules/graphics_rendering_render-pass_lights-render-pass.html deleted file mode 100644 index 3dbae76..0000000 --- a/docs/modules/graphics_rendering_render-pass_lights-render-pass.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/render-pass/lights-render-pass | SDF-2D - v0.7.6
                                                                                                                                                      SDF-2D - v0.7.6
                                                                                                                                                        Preparing search index...

                                                                                                                                                        Module graphics/rendering/render-pass/lights-render-pass

                                                                                                                                                        diff --git a/docs/modules/graphics_rendering_render-pass_render-pass.html b/docs/modules/graphics_rendering_render-pass_render-pass.html deleted file mode 100644 index eb52374..0000000 --- a/docs/modules/graphics_rendering_render-pass_render-pass.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/render-pass/render-pass | SDF-2D - v0.7.6
                                                                                                                                                        SDF-2D - v0.7.6
                                                                                                                                                          Preparing search index...

                                                                                                                                                          Module graphics/rendering/render-pass/render-pass

                                                                                                                                                          diff --git a/docs/modules/graphics_rendering_renderer_context-aware-renderer.html b/docs/modules/graphics_rendering_renderer_context-aware-renderer.html deleted file mode 100644 index 5972e94..0000000 --- a/docs/modules/graphics_rendering_renderer_context-aware-renderer.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/renderer/context-aware-renderer | SDF-2D - v0.7.6
                                                                                                                                                          SDF-2D - v0.7.6
                                                                                                                                                            Preparing search index...

                                                                                                                                                            Module graphics/rendering/renderer/context-aware-renderer

                                                                                                                                                            diff --git a/docs/modules/graphics_rendering_renderer_noise-renderer.html b/docs/modules/graphics_rendering_renderer_noise-renderer.html deleted file mode 100644 index 72f2af9..0000000 --- a/docs/modules/graphics_rendering_renderer_noise-renderer.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/renderer/noise-renderer | SDF-2D - v0.7.6
                                                                                                                                                            SDF-2D - v0.7.6
                                                                                                                                                              Preparing search index...

                                                                                                                                                              Module graphics/rendering/renderer/noise-renderer

                                                                                                                                                              Functions

                                                                                                                                                              renderNoise
                                                                                                                                                              diff --git a/docs/modules/graphics_rendering_renderer_renderer-implementation.html b/docs/modules/graphics_rendering_renderer_renderer-implementation.html deleted file mode 100644 index d80f5c8..0000000 --- a/docs/modules/graphics_rendering_renderer_renderer-implementation.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/renderer/renderer-implementation | SDF-2D - v0.7.6
                                                                                                                                                              SDF-2D - v0.7.6
                                                                                                                                                                Preparing search index...

                                                                                                                                                                Module graphics/rendering/renderer/renderer-implementation

                                                                                                                                                                diff --git a/docs/modules/graphics_rendering_renderer_renderer-info.html b/docs/modules/graphics_rendering_renderer_renderer-info.html deleted file mode 100644 index a5f12c7..0000000 --- a/docs/modules/graphics_rendering_renderer_renderer-info.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/renderer/renderer-info | SDF-2D - v0.7.6
                                                                                                                                                                SDF-2D - v0.7.6
                                                                                                                                                                  Preparing search index...

                                                                                                                                                                  Module graphics/rendering/renderer/renderer-info

                                                                                                                                                                  Interfaces

                                                                                                                                                                  RendererInfo
                                                                                                                                                                  diff --git a/docs/modules/graphics_rendering_renderer_renderer.html b/docs/modules/graphics_rendering_renderer_renderer.html deleted file mode 100644 index af0a111..0000000 --- a/docs/modules/graphics_rendering_renderer_renderer.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/renderer/renderer | SDF-2D - v0.7.6
                                                                                                                                                                  SDF-2D - v0.7.6
                                                                                                                                                                    Preparing search index...

                                                                                                                                                                    Module graphics/rendering/renderer/renderer

                                                                                                                                                                    Interfaces

                                                                                                                                                                    Renderer
                                                                                                                                                                    diff --git a/docs/modules/graphics_rendering_settings_default-runtime-settings.html b/docs/modules/graphics_rendering_settings_default-runtime-settings.html deleted file mode 100644 index a11bdae..0000000 --- a/docs/modules/graphics_rendering_settings_default-runtime-settings.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/settings/default-runtime-settings | SDF-2D - v0.7.6
                                                                                                                                                                    SDF-2D - v0.7.6
                                                                                                                                                                      Preparing search index...

                                                                                                                                                                      Module graphics/rendering/settings/default-runtime-settings

                                                                                                                                                                      Variables

                                                                                                                                                                      defaultRuntimeSettings
                                                                                                                                                                      diff --git a/docs/modules/graphics_rendering_settings_default-startup-settings.html b/docs/modules/graphics_rendering_settings_default-startup-settings.html deleted file mode 100644 index 415558b..0000000 --- a/docs/modules/graphics_rendering_settings_default-startup-settings.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/settings/default-startup-settings | SDF-2D - v0.7.6
                                                                                                                                                                      SDF-2D - v0.7.6
                                                                                                                                                                        Preparing search index...

                                                                                                                                                                        Module graphics/rendering/settings/default-startup-settings

                                                                                                                                                                        Variables

                                                                                                                                                                        defaultStartupSettings
                                                                                                                                                                        diff --git a/docs/modules/graphics_rendering_settings_runtime-settings.html b/docs/modules/graphics_rendering_settings_runtime-settings.html deleted file mode 100644 index 092c743..0000000 --- a/docs/modules/graphics_rendering_settings_runtime-settings.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/settings/runtime-settings | SDF-2D - v0.7.6
                                                                                                                                                                        SDF-2D - v0.7.6
                                                                                                                                                                          Preparing search index...

                                                                                                                                                                          Module graphics/rendering/settings/runtime-settings

                                                                                                                                                                          Interfaces

                                                                                                                                                                          RuntimeSettings
                                                                                                                                                                          diff --git a/docs/modules/graphics_rendering_settings_startup-settings.html b/docs/modules/graphics_rendering_settings_startup-settings.html deleted file mode 100644 index 00a0699..0000000 --- a/docs/modules/graphics_rendering_settings_startup-settings.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/settings/startup-settings | SDF-2D - v0.7.6
                                                                                                                                                                          SDF-2D - v0.7.6
                                                                                                                                                                            Preparing search index...

                                                                                                                                                                            Module graphics/rendering/settings/startup-settings

                                                                                                                                                                            Interfaces

                                                                                                                                                                            StartupSettings
                                                                                                                                                                            diff --git a/docs/modules/graphics_rendering_uniforms-provider.html b/docs/modules/graphics_rendering_uniforms-provider.html deleted file mode 100644 index f1b1e22..0000000 --- a/docs/modules/graphics_rendering_uniforms-provider.html +++ /dev/null @@ -1 +0,0 @@ -graphics/rendering/uniforms-provider | SDF-2D - v0.7.6
                                                                                                                                                                            SDF-2D - v0.7.6
                                                                                                                                                                              Preparing search index...

                                                                                                                                                                              Module graphics/rendering/uniforms-provider

                                                                                                                                                                              diff --git a/docs/modules/helper_array.html b/docs/modules/helper_array.html deleted file mode 100644 index 9e1cb77..0000000 --- a/docs/modules/helper_array.html +++ /dev/null @@ -1 +0,0 @@ -helper/array | SDF-2D - v0.7.6
                                                                                                                                                                              SDF-2D - v0.7.6
                                                                                                                                                                                Preparing search index...

                                                                                                                                                                                Module helper/array

                                                                                                                                                                                diff --git a/docs/modules/helper_clamp.html b/docs/modules/helper_clamp.html deleted file mode 100644 index 5617992..0000000 --- a/docs/modules/helper_clamp.html +++ /dev/null @@ -1 +0,0 @@ -helper/clamp | SDF-2D - v0.7.6
                                                                                                                                                                                SDF-2D - v0.7.6
                                                                                                                                                                                  Preparing search index...

                                                                                                                                                                                  Module helper/clamp

                                                                                                                                                                                  diff --git a/docs/modules/helper_code-for-color-access.html b/docs/modules/helper_code-for-color-access.html deleted file mode 100644 index 3745b72..0000000 --- a/docs/modules/helper_code-for-color-access.html +++ /dev/null @@ -1 +0,0 @@ -helper/code-for-color-access | SDF-2D - v0.7.6
                                                                                                                                                                                  SDF-2D - v0.7.6
                                                                                                                                                                                    Preparing search index...

                                                                                                                                                                                    Module helper/code-for-color-access

                                                                                                                                                                                    diff --git a/docs/modules/helper_color-to-string.html b/docs/modules/helper_color-to-string.html deleted file mode 100644 index 92485d1..0000000 --- a/docs/modules/helper_color-to-string.html +++ /dev/null @@ -1 +0,0 @@ -helper/color-to-string | SDF-2D - v0.7.6
                                                                                                                                                                                    SDF-2D - v0.7.6
                                                                                                                                                                                      Preparing search index...

                                                                                                                                                                                      Module helper/color-to-string

                                                                                                                                                                                      diff --git a/docs/modules/helper_colors_hex.html b/docs/modules/helper_colors_hex.html deleted file mode 100644 index 8e901f1..0000000 --- a/docs/modules/helper_colors_hex.html +++ /dev/null @@ -1 +0,0 @@ -helper/colors/hex | SDF-2D - v0.7.6
                                                                                                                                                                                      SDF-2D - v0.7.6
                                                                                                                                                                                        Preparing search index...

                                                                                                                                                                                        Module helper/colors/hex

                                                                                                                                                                                        Color

                                                                                                                                                                                        hex
                                                                                                                                                                                        diff --git a/docs/modules/helper_colors_hsl.html b/docs/modules/helper_colors_hsl.html deleted file mode 100644 index 2392354..0000000 --- a/docs/modules/helper_colors_hsl.html +++ /dev/null @@ -1 +0,0 @@ -helper/colors/hsl | SDF-2D - v0.7.6
                                                                                                                                                                                        SDF-2D - v0.7.6
                                                                                                                                                                                          Preparing search index...

                                                                                                                                                                                          Module helper/colors/hsl

                                                                                                                                                                                          Color

                                                                                                                                                                                          hsl
                                                                                                                                                                                          diff --git a/docs/modules/helper_colors_rgb.html b/docs/modules/helper_colors_rgb.html deleted file mode 100644 index aad7184..0000000 --- a/docs/modules/helper_colors_rgb.html +++ /dev/null @@ -1 +0,0 @@ -helper/colors/rgb | SDF-2D - v0.7.6
                                                                                                                                                                                          SDF-2D - v0.7.6
                                                                                                                                                                                            Preparing search index...

                                                                                                                                                                                            Module helper/colors/rgb

                                                                                                                                                                                            Color

                                                                                                                                                                                            rgb
                                                                                                                                                                                            diff --git a/docs/modules/helper_colors_rgb255.html b/docs/modules/helper_colors_rgb255.html deleted file mode 100644 index db15503..0000000 --- a/docs/modules/helper_colors_rgb255.html +++ /dev/null @@ -1 +0,0 @@ -helper/colors/rgb255 | SDF-2D - v0.7.6
                                                                                                                                                                                            SDF-2D - v0.7.6
                                                                                                                                                                                              Preparing search index...

                                                                                                                                                                                              Module helper/colors/rgb255

                                                                                                                                                                                              Color

                                                                                                                                                                                              rgb255
                                                                                                                                                                                              diff --git a/docs/modules/helper_colors_rgba.html b/docs/modules/helper_colors_rgba.html deleted file mode 100644 index 04b985d..0000000 --- a/docs/modules/helper_colors_rgba.html +++ /dev/null @@ -1 +0,0 @@ -helper/colors/rgba | SDF-2D - v0.7.6
                                                                                                                                                                                              SDF-2D - v0.7.6
                                                                                                                                                                                                Preparing search index...

                                                                                                                                                                                                Module helper/colors/rgba

                                                                                                                                                                                                Color

                                                                                                                                                                                                rgba
                                                                                                                                                                                                diff --git a/docs/modules/helper_colors_rgba255.html b/docs/modules/helper_colors_rgba255.html deleted file mode 100644 index d55954f..0000000 --- a/docs/modules/helper_colors_rgba255.html +++ /dev/null @@ -1 +0,0 @@ -helper/colors/rgba255 | SDF-2D - v0.7.6
                                                                                                                                                                                                SDF-2D - v0.7.6
                                                                                                                                                                                                  Preparing search index...

                                                                                                                                                                                                  Module helper/colors/rgba255

                                                                                                                                                                                                  Color

                                                                                                                                                                                                  rgba255
                                                                                                                                                                                                  diff --git a/docs/modules/helper_delta-time-calculator.html b/docs/modules/helper_delta-time-calculator.html deleted file mode 100644 index fd14ac7..0000000 --- a/docs/modules/helper_delta-time-calculator.html +++ /dev/null @@ -1 +0,0 @@ -helper/delta-time-calculator | SDF-2D - v0.7.6
                                                                                                                                                                                                  SDF-2D - v0.7.6
                                                                                                                                                                                                    Preparing search index...

                                                                                                                                                                                                    Module helper/delta-time-calculator

                                                                                                                                                                                                    Classes

                                                                                                                                                                                                    DeltaTimeCalculator
                                                                                                                                                                                                    diff --git a/docs/modules/helper_exponential-decay.html b/docs/modules/helper_exponential-decay.html deleted file mode 100644 index 364b370..0000000 --- a/docs/modules/helper_exponential-decay.html +++ /dev/null @@ -1 +0,0 @@ -helper/exponential-decay | SDF-2D - v0.7.6
                                                                                                                                                                                                    SDF-2D - v0.7.6
                                                                                                                                                                                                      Preparing search index...

                                                                                                                                                                                                      Module helper/exponential-decay

                                                                                                                                                                                                      diff --git a/docs/modules/helper_format-log.html b/docs/modules/helper_format-log.html deleted file mode 100644 index 93b3873..0000000 --- a/docs/modules/helper_format-log.html +++ /dev/null @@ -1 +0,0 @@ -helper/format-log | SDF-2D - v0.7.6
                                                                                                                                                                                                      SDF-2D - v0.7.6
                                                                                                                                                                                                        Preparing search index...

                                                                                                                                                                                                        Module helper/format-log

                                                                                                                                                                                                        diff --git a/docs/modules/helper_get-combinations.html b/docs/modules/helper_get-combinations.html deleted file mode 100644 index a3166d9..0000000 --- a/docs/modules/helper_get-combinations.html +++ /dev/null @@ -1 +0,0 @@ -helper/get-combinations | SDF-2D - v0.7.6
                                                                                                                                                                                                        SDF-2D - v0.7.6
                                                                                                                                                                                                          Preparing search index...

                                                                                                                                                                                                          Module helper/get-combinations

                                                                                                                                                                                                          diff --git a/docs/modules/helper_last.html b/docs/modules/helper_last.html deleted file mode 100644 index b1eba42..0000000 --- a/docs/modules/helper_last.html +++ /dev/null @@ -1 +0,0 @@ -helper/last | SDF-2D - v0.7.6
                                                                                                                                                                                                          SDF-2D - v0.7.6
                                                                                                                                                                                                            Preparing search index...

                                                                                                                                                                                                            Module helper/last

                                                                                                                                                                                                            diff --git a/docs/modules/helper_mix.html b/docs/modules/helper_mix.html deleted file mode 100644 index 626ec0d..0000000 --- a/docs/modules/helper_mix.html +++ /dev/null @@ -1 +0,0 @@ -helper/mix | SDF-2D - v0.7.6
                                                                                                                                                                                                            SDF-2D - v0.7.6
                                                                                                                                                                                                              Preparing search index...

                                                                                                                                                                                                              Module helper/mix

                                                                                                                                                                                                              diff --git a/docs/modules/helper_ms-to-string.html b/docs/modules/helper_ms-to-string.html deleted file mode 100644 index 611250e..0000000 --- a/docs/modules/helper_ms-to-string.html +++ /dev/null @@ -1 +0,0 @@ -helper/ms-to-string | SDF-2D - v0.7.6
                                                                                                                                                                                                              SDF-2D - v0.7.6
                                                                                                                                                                                                                Preparing search index...

                                                                                                                                                                                                                Module helper/ms-to-string

                                                                                                                                                                                                                diff --git a/docs/modules/helper_number-to-glsl-float.html b/docs/modules/helper_number-to-glsl-float.html deleted file mode 100644 index eeced11..0000000 --- a/docs/modules/helper_number-to-glsl-float.html +++ /dev/null @@ -1 +0,0 @@ -helper/number-to-glsl-float | SDF-2D - v0.7.6
                                                                                                                                                                                                                SDF-2D - v0.7.6
                                                                                                                                                                                                                  Preparing search index...

                                                                                                                                                                                                                  Module helper/number-to-glsl-float

                                                                                                                                                                                                                  diff --git a/docs/modules/helper_wait.html b/docs/modules/helper_wait.html deleted file mode 100644 index 46bfdca..0000000 --- a/docs/modules/helper_wait.html +++ /dev/null @@ -1 +0,0 @@ -helper/wait | SDF-2D - v0.7.6
                                                                                                                                                                                                                  SDF-2D - v0.7.6
                                                                                                                                                                                                                    Preparing search index...

                                                                                                                                                                                                                    Module helper/wait

                                                                                                                                                                                                                    diff --git a/docs/modules/main.html b/docs/modules/main.html deleted file mode 100644 index 35320d5..0000000 --- a/docs/modules/main.html +++ /dev/null @@ -1,4 +0,0 @@ -main | SDF-2D - v0.7.6
                                                                                                                                                                                                                    SDF-2D - v0.7.6
                                                                                                                                                                                                                      Preparing search index...

                                                                                                                                                                                                                      Module main

                                                                                                                                                                                                                      Importing this file gives arrays (Array and Float32Array instances) -two new properties: x and y. The former refers to their 0th element, -and the latter to their 1st.

                                                                                                                                                                                                                      -

                                                                                                                                                                                                                      References

                                                                                                                                                                                                                      CircleFactory → CircleFactory
                                                                                                                                                                                                                      CircleLight → CircleLight
                                                                                                                                                                                                                      ColorfulCircle → ColorfulCircle
                                                                                                                                                                                                                      compile → compile
                                                                                                                                                                                                                      DeltaTimeCalculator → DeltaTimeCalculator
                                                                                                                                                                                                                      Drawable → Drawable
                                                                                                                                                                                                                      DrawableDescriptor → DrawableDescriptor
                                                                                                                                                                                                                      DropletFactory → DropletFactory
                                                                                                                                                                                                                      FilteringOptions → FilteringOptions
                                                                                                                                                                                                                      Flashlight → Flashlight
                                                                                                                                                                                                                      hex → hex
                                                                                                                                                                                                                      HexagonFactory → HexagonFactory
                                                                                                                                                                                                                      hsl → hsl
                                                                                                                                                                                                                      InvertedTunnelFactory → InvertedTunnelFactory
                                                                                                                                                                                                                      MetaCircleFactory → MetaCircleFactory
                                                                                                                                                                                                                      NoisyPolygonFactory → NoisyPolygonFactory
                                                                                                                                                                                                                      PolygonBase → PolygonBase
                                                                                                                                                                                                                      PolygonFactory → PolygonFactory
                                                                                                                                                                                                                      Renderer → Renderer
                                                                                                                                                                                                                      renderNoise → renderNoise
                                                                                                                                                                                                                      rgb → rgb
                                                                                                                                                                                                                      rgb255 → rgb255
                                                                                                                                                                                                                      rgba → rgba
                                                                                                                                                                                                                      rgba255 → rgba255
                                                                                                                                                                                                                      RotatedRectangleFactory → RotatedRectangleFactory
                                                                                                                                                                                                                      runAnimation → runAnimation
                                                                                                                                                                                                                      TextureOptions → TextureOptions
                                                                                                                                                                                                                      TextureWithOptions → TextureWithOptions
                                                                                                                                                                                                                      WrapOptions → WrapOptions
                                                                                                                                                                                                                      diff --git a/docs/modules/run-animation.html b/docs/modules/run-animation.html deleted file mode 100644 index 7104140..0000000 --- a/docs/modules/run-animation.html +++ /dev/null @@ -1 +0,0 @@ -run-animation | SDF-2D - v0.7.6
                                                                                                                                                                                                                      SDF-2D - v0.7.6
                                                                                                                                                                                                                        Preparing search index...

                                                                                                                                                                                                                        Module run-animation

                                                                                                                                                                                                                        Functions

                                                                                                                                                                                                                        runAnimation
                                                                                                                                                                                                                        diff --git a/docs/types/graphics_graphics-library_texture_texture-options.TextureWithOptions.html b/docs/types/graphics_graphics-library_texture_texture-options.TextureWithOptions.html deleted file mode 100644 index 3c1aca6..0000000 --- a/docs/types/graphics_graphics-library_texture_texture-options.TextureWithOptions.html +++ /dev/null @@ -1,3 +0,0 @@ -TextureWithOptions | SDF-2D - v0.7.6
                                                                                                                                                                                                                        SDF-2D - v0.7.6
                                                                                                                                                                                                                          Preparing search index...
                                                                                                                                                                                                                          type TextureWithOptions = {
                                                                                                                                                                                                                              overrides: Partial<TextureOptions>;
                                                                                                                                                                                                                              source: TexImageSource;
                                                                                                                                                                                                                          }
                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                          overrides: Partial<TextureOptions>
                                                                                                                                                                                                                          source: TexImageSource
                                                                                                                                                                                                                          diff --git a/docs/variables/graphics_rendering_settings_default-runtime-settings.defaultRuntimeSettings.html b/docs/variables/graphics_rendering_settings_default-runtime-settings.defaultRuntimeSettings.html deleted file mode 100644 index 109a036..0000000 --- a/docs/variables/graphics_rendering_settings_default-runtime-settings.defaultRuntimeSettings.html +++ /dev/null @@ -1,2 +0,0 @@ -defaultRuntimeSettings | SDF-2D - v0.7.6
                                                                                                                                                                                                                          SDF-2D - v0.7.6
                                                                                                                                                                                                                            Preparing search index...
                                                                                                                                                                                                                            defaultRuntimeSettings: RuntimeSettings = ...

                                                                                                                                                                                                                            Contains the default values used for [[RuntimeSettings]].

                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            diff --git a/docs/variables/graphics_rendering_settings_default-startup-settings.defaultStartupSettings.html b/docs/variables/graphics_rendering_settings_default-startup-settings.defaultStartupSettings.html deleted file mode 100644 index 13687a7..0000000 --- a/docs/variables/graphics_rendering_settings_default-startup-settings.defaultStartupSettings.html +++ /dev/null @@ -1,2 +0,0 @@ -defaultStartupSettings | SDF-2D - v0.7.6
                                                                                                                                                                                                                            SDF-2D - v0.7.6
                                                                                                                                                                                                                              Preparing search index...
                                                                                                                                                                                                                              defaultStartupSettings: StartupSettings = ...

                                                                                                                                                                                                                              Contains the default values used for [[StartupSettings]].

                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              diff --git a/documentation-readme.md b/documentation-readme.md index deda653..dbc37d1 100644 --- a/documentation-readme.md +++ b/documentation-readme.md @@ -12,46 +12,46 @@ The motivation behind this library and more in-depth information about the rende ## Usage (1st option) -- To start using cutting-edge 2D graphics, you first need a renderer instance. You can get one by calling the [compile function](globals.html#compile). - - For this, you have to provide one or more [DrawableDescriptors](interfaces/drawabledescriptor.html). - - Optionally, the default compile settings can be overridden using [StartupSettings](interfaces/startupsettings.html). -- Once you have a renderer, you can start drawing objects through the [Renderer](interfaces/renderer.html) interface. +- To start using cutting-edge 2D graphics, first you have get a renderer instance. This is possible by calling the [compile function](globals.html#compile). + - For this, some [DrawableDescriptors](interfaces/drawabledescriptor.html) has to be provided. + - Optionally, default compile settings can overridden using [StartupSettings](interfaces/startupsettings.html). +- After acquiring a renderer, the drawing of objects can be started through the [Renderer](interfaces/renderer.html) interface. ## Usage (2nd option) -If you're planning to create animated content, use the [runAnimation function](globals.html#runanimation) to save yourself from writing boilerplate code. -See its [documentation](globals.html#runanimation) for more details. +If you're planning on creating animated content, use the [runAnimation function](globals.html#runanimation) to spare yourself from writing boilerplate code. +Further documentation on its usage is available in its [documentation](globals.html#runanimation). ## Extending drawables -> Iñigo Quilez has a great collection of [2D SDFs](https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm) +> Iñigo Quilez has some great [2D SDF-s](https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm) - Subclass [Drawable](classes/drawable.html) - Implement its abstract methods -- Add a static `descriptor` property of type [DrawableDescriptor](interfaces/drawabledescriptor.html) to your class -- Follow the instructions given in [Usage](#usage-1st-option) +- Add a static property to your class called `descriptor` of type [DrawableDescriptors](interfaces/drawabledescriptor.html) +- Follow the instructions given in [Usage](#usage) ## Useful to know ### Math -The `vec2`, `vec3`, and `vec4` types seen in the documentation come from the [glMatrix](http://glmatrix.net/) library and are equivalent to regular JS Arrays or Float32Arrays, so feel free to pass `[x, y]` to functions that expect a `vec2`. +The `vec2`, `vec3`, and `vec4` types seen in the documentation come from the [glMatrix](http://glmatrix.net/) library and are equivalent to regular JS Arrays or Float32Arrays. So, feel free to give `[x, y]` as an input for functions requiring `vec2`. ### Coordinates -Wherever positions need to be specified, the `y` axis grows upwards. This means that when you set the view area, the origin is at the bottom-left corner of the display. +Anywhere, where positions need to be specified, the `y` values grow upwards. That means, when setting the view area, the origin is at the bottom left corner of the display. ### Tile-based rendering -To optimise the evaluation of the distance field, the display is divided into a grid of tiles. The shaders for each tile are compiled to support a fixed maximum number of objects. When using the built-in drawables, this means that beyond a certain number of on-screen objects, new ones may stop appearing. +For optimising the evaluation of the distance field, the display is divided up into a grid of tiles. The shaders for each tile are compiled to support a fix maximum number of objects on it. When using the built-in drawables it is possible that after a certain number of on-screen objects new ones won't be visible. -Mitigating this is easy. Instead of the following code: +Mitigating this issue is quite easy. Instead of the following code: ```js this.renderer = await compile(canvas, [Circle.descriptor, CircleLight.descriptor]); ``` -modify it to something like this: +Modify it to something similar: ```js this.renderer = await compile(canvas, [ @@ -66,6 +66,6 @@ this.renderer = await compile(canvas, [ ]); ``` -Using very large numbers is not advised, for both compatibility and performance reasons. +The usage of too large numbers is not advised for compatibility and performance reasons alike. -> Steps are especially useful for tile-based rendering: at any given moment, one tile may be empty or contain just a few objects, while another holds a large cluster. The compiled shaders only account for the number of objects actually present on each tile. +> Steps are very useful for tile-based rendering, because it is possible for one tile (at a given moment) to be empty or contain just a few objects, while others have a large cluster of objects. The compiled shaders only take into account the necessary number of objects on each tile. diff --git a/package.json b/package.json index 9a6ae02..a03c6f7 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,7 @@ "license": "ISC", "exports": { ".": { - "types": "./lib/src/main.d.ts", - "import": "./lib/main.js", - "require": "./lib/main.js", - "default": "./lib/main.js" + "import": "./lib/main.js" } }, "scripts": { diff --git a/src/drawables/shapes/circle-factory.ts b/src/drawables/shapes/circle-factory.ts index ad6c8b1..b88b5cd 100644 --- a/src/drawables/shapes/circle-factory.ts +++ b/src/drawables/shapes/circle-factory.ts @@ -15,10 +15,6 @@ class CircleBase extends EmptyDrawable { } } -// Suffixing the GLSL names with a per-factory-invocation id lets multiple -// circle types (e.g. different colors) coexist in one compiled shader. -let _id = 0; - /** * @category Drawable */ @@ -27,27 +23,27 @@ export const CircleFactory = (color: vec3 | vec4 | number): typeof CircleBase => public static descriptor: DrawableDescriptor = { sdf: { shader: ` - uniform vec2 circleCenters${_id}[CIRCLE_COUNT${_id}]; - uniform float circleRadii${_id}[CIRCLE_COUNT${_id}]; - - float circleMinDistance${_id}(vec2 target, out vec4 color) { + uniform vec2 circleCenters[CIRCLE_COUNT]; + uniform float circleRadii[CIRCLE_COUNT]; + + float circleMinDistance(vec2 target, out vec4 color) { color = ${codeForColorAccess(color)}; float minDistance = 1000.0; - for (int i = 0; i < CIRCLE_COUNT${_id}; i++) { - float dist = distance(circleCenters${_id}[i], target) - circleRadii${_id}[i]; + for (int i = 0; i < CIRCLE_COUNT; i++) { + float dist = distance(circleCenters[i], target) - circleRadii[i]; minDistance = min(minDistance, dist); } - + return minDistance; } `, - distanceFunctionName: `circleMinDistance${_id}`, + distanceFunctionName: 'circleMinDistance', }, propertyUniformMapping: { - center: `circleCenters${_id}`, - radius: `circleRadii${_id}`, + center: 'circleCenters', + radius: 'circleRadii', }, - uniformCountMacroName: `CIRCLE_COUNT${_id}`, + uniformCountMacroName: 'CIRCLE_COUNT', shaderCombinationSteps: [0, 1, 2, 3, 8, 16], empty: new Circle(vec2.create(), 0), }; @@ -64,7 +60,5 @@ export const CircleFactory = (color: vec3 | vec4 | number): typeof CircleBase => } } - _id++; - return Circle; }; diff --git a/src/drawables/shapes/colorful-circle.ts b/src/drawables/shapes/colorful-circle.ts index dbcf125..1a2e8d9 100644 --- a/src/drawables/shapes/colorful-circle.ts +++ b/src/drawables/shapes/colorful-circle.ts @@ -10,20 +10,20 @@ export class ColorfulCircle extends Drawable { uniform float colorfulCircleRadii[COLORFUL_CIRCLE_COUNT]; uniform int colorfulCircleColorIndex[COLORFUL_CIRCLE_COUNT]; - float colorfulCircleMinDistance(vec2 target, out vec4 color) { + float circleMinDistance(vec2 target, out vec4 color) { float minDistance = 1000.0; for (int i = 0; i < COLORFUL_CIRCLE_COUNT; i++) { float dist = distance(colorfulCircleCenters[i], target) - colorfulCircleRadii[i]; if (dist < minDistance) { color = readFromPalette(colorfulCircleColorIndex[i]); - minDistance = dist; + dist = minDistance; } } return minDistance; } `, - distanceFunctionName: 'colorfulCircleMinDistance', + distanceFunctionName: 'circleMinDistance', }, propertyUniformMapping: { center: 'colorfulCircleCenters', diff --git a/src/drawables/shapes/droplet-factory.ts b/src/drawables/shapes/droplet-factory.ts index 1c8c7ad..76289a3 100644 --- a/src/drawables/shapes/droplet-factory.ts +++ b/src/drawables/shapes/droplet-factory.ts @@ -41,7 +41,7 @@ export const DropletFactory = (color: vec3 | vec4 | number): typeof DropletBase float h = clamp( dot(targetFromDelta, toFromDeltas[i]) - / max(dot(toFromDeltas[i], toFromDeltas[i]), 0.00000001), + / dot(toFromDeltas[i], toFromDeltas[i]), 0.0, 1.0 ); diff --git a/src/drawables/shapes/inverted-tunnel-factory.ts b/src/drawables/shapes/inverted-tunnel-factory.ts index 9fe2d01..e219576 100644 --- a/src/drawables/shapes/inverted-tunnel-factory.ts +++ b/src/drawables/shapes/inverted-tunnel-factory.ts @@ -36,12 +36,7 @@ export const InvertedTunnelFactory = ( uniform float fromRadii[INVERTED_TUNNEL_COUNT]; uniform float toRadii[INVERTED_TUNNEL_COUNT]; - // Other drawables share this declaration; the include guard keeps - // the combined shader from declaring it twice. - #ifndef NOISE_TEXTURE_DECLARED - #define NOISE_TEXTURE_DECLARED - uniform sampler2D noiseTexture; - #endif + uniform sampler2D noiseTexture; #ifdef WEBGL2_IS_AVAILABLE float invertedTunnelTerrain(float h) { @@ -68,7 +63,7 @@ export const InvertedTunnelFactory = ( vec2 targetFromDelta = target - froms[i]; float h = dot(targetFromDelta, toFromDeltas[i]) - / max(dot(toFromDeltas[i], toFromDeltas[i]), 0.00000001); + / dot(toFromDeltas[i], toFromDeltas[i]); float clampedH = clamp(h, 0.0, 1.0); diff --git a/src/drawables/shapes/noisy-polygon-factory.ts b/src/drawables/shapes/noisy-polygon-factory.ts index e021f2a..3ca55fa 100644 --- a/src/drawables/shapes/noisy-polygon-factory.ts +++ b/src/drawables/shapes/noisy-polygon-factory.ts @@ -24,33 +24,23 @@ export const NoisyPolygonFactory = ( uniform float noisyPolygon${vertexCount}Lengths[NOISY_POLYGON${vertexCount}_COUNT]; uniform float noisyPolygon${vertexCount}Randoms[NOISY_POLYGON${vertexCount}_COUNT]; - // Other drawables (and other vertex-count variants of this one) - // share these declarations; the include guards keep the combined - // shader from declaring them twice. - #ifndef NOISE_TEXTURE_DECLARED - #define NOISE_TEXTURE_DECLARED - uniform sampler2D noiseTexture; - #endif + uniform sampler2D noiseTexture; - #ifndef MY_TERRAIN_DECLARED - #define MY_TERRAIN_DECLARED - #ifdef WEBGL2_IS_AVAILABLE - float myTerrain(vec2 h) { - return texture(noiseTexture, h)[0] - 0.5; - } - #else - float myTerrain(vec2 h) { - return texture2D(noiseTexture, h)[0] - 0.5; - } - #endif + #ifdef WEBGL2_IS_AVAILABLE + float myTerrain(vec2 h) { + return texture(noiseTexture, h)[0] - 0.5; + } + #else + float myTerrain(vec2 h) { + return texture2D(noiseTexture, h)[0] - 0.5; + } #endif vec2 noisyPolygon${vertexCount}LineDistance(vec2 target, vec2 from, vec2 to) { vec2 targetFromDelta = target - from; vec2 toFromDelta = to - from; float h = clamp( - dot(targetFromDelta, toFromDelta) - / max(dot(toFromDelta, toFromDelta), 0.00000001), + dot(targetFromDelta, toFromDelta) / dot(toFromDelta, toFromDelta), 0.0, 1.0 ); @@ -145,13 +135,9 @@ export const NoisyPolygonFactory = ( vec2.scale(center, center, 1 / transformedVertices.length); let length = 0; - for (let i = 1; i < transformedVertices.length; i++) { + for (let i = 1; i < this.vertices.length; i++) { length += vec2.distance(transformedVertices[i - 1], transformedVertices[i]); } - length += vec2.distance( - transformedVertices[transformedVertices.length - 1], - transformedVertices[0] - ); return { vertices: transformedVertices, diff --git a/src/drawables/shapes/polygon-factory.ts b/src/drawables/shapes/polygon-factory.ts index 375d9a6..c093ea9 100644 --- a/src/drawables/shapes/polygon-factory.ts +++ b/src/drawables/shapes/polygon-factory.ts @@ -31,8 +31,7 @@ export const PolygonFactory = ( vec2 targetFromDelta = target - from; vec2 toFromDelta = to - from; float h = clamp( - dot(targetFromDelta, toFromDelta) - / max(dot(toFromDelta, toFromDelta), 0.00000001), + dot(targetFromDelta, toFromDelta) / dot(toFromDelta, toFromDelta), 0.0, 1.0 ); @@ -94,10 +93,6 @@ export const PolygonFactory = ( constructor(vertices: Array) { super(vertices); - if (vertices.length === 0) { - throw new Error('Polygons must have at least one vertex'); - } - if (vertices.length > vertexCount) { throw new Error( `Too many vertices, expected ${vertexCount}, got ${vertices.length}` @@ -109,7 +104,7 @@ export const PolygonFactory = ( const startEnd = this.vertices[0]; let vb = startEnd; - let d = vec2.distance(target, vb); + let d = vec2.squaredDistance(target, vb); let sign = 1; for (let i = 1; i <= this.vertices.length; i++) { diff --git a/src/drawables/shapes/rotated-rectangle-factory.ts b/src/drawables/shapes/rotated-rectangle-factory.ts index 83e0506..1672669 100644 --- a/src/drawables/shapes/rotated-rectangle-factory.ts +++ b/src/drawables/shapes/rotated-rectangle-factory.ts @@ -39,7 +39,7 @@ export const RotatedRectangleFactory = ( vec2 top = rotatedRectangleTopCenters[i]; vec2 bottom = rotatedRectangleBottomCenters[i]; float height = length(bottom - top); - vec2 d = height > 0.00000001 ? (bottom - top) / height : vec2(0.0, 1.0); + vec2 d = (bottom - top) / height; vec2 q = (target - (top + bottom) * 0.5); q = mat2(d.x, -d.y, d.y, d.x) * q; diff --git a/src/graphics/graphics-library/frame-buffer/intermediate-frame-buffer.ts b/src/graphics/graphics-library/frame-buffer/intermediate-frame-buffer.ts index 3a0a1a2..dd00eba 100644 --- a/src/graphics/graphics-library/frame-buffer/intermediate-frame-buffer.ts +++ b/src/graphics/graphics-library/frame-buffer/intermediate-frame-buffer.ts @@ -26,8 +26,10 @@ export class IntermediateFrameBuffer extends FrameBuffer { } public destroy(): void { - this.distanceTexture?.destroy(); - this.colorTexture.destroy(); + if (this.distanceTexture) { + this.gl.deleteTexture(this.distanceTexture); + } + this.gl.deleteTexture(this.colorTexture); this.gl.deleteFramebuffer(this.frameBuffer); } diff --git a/src/graphics/graphics-library/parallel-compiler.ts b/src/graphics/graphics-library/parallel-compiler.ts index 997b4a2..bb170cb 100644 --- a/src/graphics/graphics-library/parallel-compiler.ts +++ b/src/graphics/graphics-library/parallel-compiler.ts @@ -79,16 +79,11 @@ export class ParallelCompiler { let replaceHappened: boolean; do { replaceHappened = false; - processedSource = processedSource.replace( - /{(\w+)}/gm, - (_, name: string): string => { - replaceHappened = true; - if (!(name in substitutions)) { - throw new Error(`Unknown shader substitution: '{${name}}'`); - } - return numberToGlslFloat(substitutions[name]); - } - ); + processedSource = processedSource.replace(/{(.+)}/gm, (_, name: string): string => { + replaceHappened = true; + const value = substitutions[name]; + return numberToGlslFloat(value); + }); } while (replaceHappened); const shader = this.gl.createShader(type)!; diff --git a/src/graphics/graphics-library/program/fragment-shader-only-program.ts b/src/graphics/graphics-library/program/fragment-shader-only-program.ts index a43ba9d..18c53e0 100644 --- a/src/graphics/graphics-library/program/fragment-shader-only-program.ts +++ b/src/graphics/graphics-library/program/fragment-shader-only-program.ts @@ -28,7 +28,7 @@ export class FragmentShaderOnlyProgram extends Program { if (this.gl.isWebGL2) { this.gl.bindVertexArray(this.vao!); } else { - this.vertexArrayExtension.bindVertexArrayOES(this.vao!); + this.vertexArrayExtension.createVertexArrayOES(); } } diff --git a/src/graphics/graphics-library/program/uniform-array-autoscaling-program.ts b/src/graphics/graphics-library/program/uniform-array-autoscaling-program.ts index cd0d86c..e0bc264 100644 --- a/src/graphics/graphics-library/program/uniform-array-autoscaling-program.ts +++ b/src/graphics/graphics-library/program/uniform-array-autoscaling-program.ts @@ -9,11 +9,6 @@ import { IProgram } from './i-program'; /** @internal */ export class UniformArrayAutoScalingProgram implements IProgram { - private static readonly farAwayTransform = mat2d.fromTranslation( - mat2d.create(), - vec2.fromValues(-10000, -10000) - ); - private programs: Array<{ program: FragmentShaderOnlyProgram; values: Array; @@ -53,13 +48,6 @@ export class UniformArrayAutoScalingProgram implements IProgram { } await Promise.all(promises); - - // draw() takes the first program with enough capacity; ordering by total - // capacity makes that the cheapest sufficient variant instead of an - // arbitrary one full of phantom objects. - this.programs.sort( - (a, b) => a.values.reduce((s, v) => s + v, 0) - b.values.reduce((s, v) => s + v, 0) - ); } private checkDescriptorValidity(descriptors: Array) { @@ -106,7 +94,7 @@ export class UniformArrayAutoScalingProgram implements IProgram { for (let i = 0; i < difference; i++) { d.empty.serializeToUniforms( uniforms, - UniformArrayAutoScalingProgram.farAwayTransform, + mat2d.fromTranslation(mat2d.create(), vec2.fromValues(-10000, -10000)), 0 ); } diff --git a/src/graphics/graphics-library/texture/palette-texture.ts b/src/graphics/graphics-library/texture/palette-texture.ts index b60699e..faee8a1 100644 --- a/src/graphics/graphics-library/texture/palette-texture.ts +++ b/src/graphics/graphics-library/texture/palette-texture.ts @@ -14,27 +14,21 @@ export class PaletteTexture extends Texture { } public setPalette(colors: Array) { - const data = new Uint8Array(this.paletteSize * 4); - const toByte = (v: number) => Math.min(255, Math.max(0, Math.round(v * 255))); + const canvas = document.createElement('canvas'); + canvas.width = this.paletteSize; + canvas.height = 1; + + const ctx = canvas.getContext('2d')!; + const imageData = ctx.createImageData(this.paletteSize, 1); colors.forEach((c, i) => { - data[4 * i + 0] = toByte(c[0]); - data[4 * i + 1] = toByte(c[1]); - data[4 * i + 2] = toByte(c[2]); - data[4 * i + 3] = c.length == 4 ? toByte(c[3]) : 255; + imageData.data[4 * i + 0] = c[0] * 255; + imageData.data[4 * i + 1] = c[1] * 255; + imageData.data[4 * i + 2] = c[2] * 255; + imageData.data[4 * i + 3] = c.length == 4 ? c[3] * 255 : 255; }); + ctx.putImageData(imageData, 0, 0); - this.bind(); - this.gl.texImage2D( - this.gl.TEXTURE_2D, - 0, - this.gl.RGBA, - this.paletteSize, - 1, - 0, - this.gl.RGBA, - this.gl.UNSIGNED_BYTE, - data - ); + this.setImage(canvas); } } diff --git a/src/graphics/graphics-library/universal-rendering-context.ts b/src/graphics/graphics-library/universal-rendering-context.ts index 2a94882..98d8707 100644 --- a/src/graphics/graphics-library/universal-rendering-context.ts +++ b/src/graphics/graphics-library/universal-rendering-context.ts @@ -31,11 +31,11 @@ export const getUniversalRenderingContext = ( result.isWebGL2 = true; } } else { - result = (canvas.getContext('webgl', contextAttributes) || - canvas.getContext( - 'experimental-webgl', - contextAttributes - )) as UniversalRenderingContext; + result = (canvas.getContext('webgl') || + canvas.getContext('experimental-webgl', { + ...contextAttributes, + alpha: false, + })) as UniversalRenderingContext; if (!result) { throw new Error('Neither WebGL nor WebGL2 is supported'); @@ -64,10 +64,8 @@ export const getUniversalRenderingContext = ( }; canvas.addEventListener('webglcontextlost', handleContextLost, false); - const boundFunctions = new Map(); - const contextLostHandler = { - get: function (target: UniversalRenderingContext, prop: string | symbol) { + get: function (target: UniversalRenderingContext, prop: string) { const value = (target as any)[prop]; if (typeof value === 'function') { @@ -76,13 +74,7 @@ export const getUniversalRenderingContext = ( throw new ContextLostException(); } - let bound = boundFunctions.get(prop); - if (bound === undefined) { - bound = value.bind(target); - boundFunctions.set(prop, bound); - } - - return bound; + return value.bind(target); } return value; diff --git a/src/graphics/rendering/fps-quality-autoscaler.ts b/src/graphics/rendering/fps-quality-autoscaler.ts index 56f16aa..e4371b8 100644 --- a/src/graphics/rendering/fps-quality-autoscaler.ts +++ b/src/graphics/rendering/fps-quality-autoscaler.ts @@ -1,7 +1,5 @@ import { clamp } from '../../helper/clamp'; import { Renderer } from './renderer/renderer'; -import { defaultRuntimeSettings } from './settings/default-runtime-settings'; -import { RuntimeSettings } from './settings/runtime-settings'; /** * Set the quality of rendering based on FPS values. @@ -25,24 +23,7 @@ export class FpsQualityAutoscaler { public static fpsTarget = 30; public fpsHysteresis = 5; - /** - * When `false`, FPS is still measured but the render scales are left alone. - */ - public scalingEnabled = true; - - constructor( - private readonly renderer: Renderer, - initialScales: Partial< - Pick - > = {} - ) { - // Starting from the renderer's actual scales avoids a quality jump on - // the first adjustment. - this.distanceScale = - initialScales.distanceRenderScale ?? defaultRuntimeSettings.distanceRenderScale; - this.lightsScale = - initialScales.lightsRenderScale ?? defaultRuntimeSettings.lightsRenderScale; - } + constructor(private readonly renderer: Renderer) {} public get FPS(): number { return this.fps; @@ -78,14 +59,10 @@ export class FpsQualityAutoscaler { this.fps = 1000 / ninetiethPercentile; } - private distanceScale: number; - private lightsScale: number; + private distanceScale = 0.33; + private lightsScale = 1; private adjustQuality() { - if (!this.scalingEnabled) { - return; - } - if (this.fps >= FpsQualityAutoscaler.fpsTarget + this.fpsHysteresis) { this.distanceScale = this.distanceScale + 0.1; this.lightsScale = this.lightsScale + 0.1; diff --git a/src/graphics/rendering/render-pass/distance-render-pass.ts b/src/graphics/rendering/render-pass/distance-render-pass.ts index ae3ad76..864251a 100644 --- a/src/graphics/rendering/render-pass/distance-render-pass.ts +++ b/src/graphics/rendering/render-pass/distance-render-pass.ts @@ -29,24 +29,13 @@ export class DistanceRenderPass extends RenderPass { const radiusInNDC = worldR * commonUniforms.scaleWorldLengthToNDC; const stepsInNDC = 2 * stepsInUV; - const maxMinDistance = radiusInNDC * (this.isWorldInverted ? -1 : 1); - - const serializedDrawables = this.drawables.map((drawable) => { - const drawableUniforms: { [name: string]: Array } = {}; - drawable.serializeToUniforms( - drawableUniforms, - commonUniforms.transformWorldToNDC, - commonUniforms.scaleWorldLengthToNDC - ); - return { drawable, drawableUniforms }; - }); let drawnDrawablesCount = 0; for (let x = -1; x < 1; x += stepsInNDC) { for (let y = -1; y < 1; y += stepsInNDC) { - const uniforms: any = { + const uniforms = { ...commonUniforms, - maxMinDistance, + maxMinDistance: radiusInNDC * (this.isWorldInverted ? -1 : 1), }; const uvBottomLeft = vec2.fromValues(x / 2 + 0.5, y / 2 + 0.5); @@ -66,20 +55,19 @@ export class DistanceRenderPass extends RenderPass { uniforms.uvToWorld ); - for (const { drawable, drawableUniforms } of serializedDrawables) { - if (drawable.minDistance(tileCenterWorldCoordinates) >= 2 * worldR) { - continue; - } + const drawablesNearTile = this.drawables.filter( + (d) => d.minDistance(tileCenterWorldCoordinates) < 2 * worldR + ); - drawnDrawablesCount++; + drawnDrawablesCount += drawablesNearTile.length; - for (const name in drawableUniforms) { - if (!Object.prototype.hasOwnProperty.call(uniforms, name)) { - uniforms[name] = []; - } - uniforms[name].push(...drawableUniforms[name]); - } - } + drawablesNearTile.forEach((p) => + p.serializeToUniforms( + uniforms, + uniforms.transformWorldToNDC, + uniforms.scaleWorldLengthToNDC + ) + ); this.program.draw(uniforms); } diff --git a/src/graphics/rendering/render-pass/lights-render-pass.ts b/src/graphics/rendering/render-pass/lights-render-pass.ts index ac1eaa1..8adcb29 100644 --- a/src/graphics/rendering/render-pass/lights-render-pass.ts +++ b/src/graphics/rendering/render-pass/lights-render-pass.ts @@ -22,14 +22,18 @@ export class LightsRenderPass extends RenderPass { commonUniforms.uvToWorld ); - const halfViewAreaX = commonUniforms.worldAreaInView.x / 2; - const halfViewAreaY = commonUniforms.worldAreaInView.y / 2; - const drawablesNearTile = this.drawables.filter((l) => { - const dX = Math.abs(l.center.x - tileCenterWorldCoordinates.x) - halfViewAreaX; - const dY = Math.abs(l.center.y - tileCenterWorldCoordinates.y) - halfViewAreaY; + const d = vec2.subtract( + vec2.create(), + [ + Math.abs(l.center.x - tileCenterWorldCoordinates.x), + Math.abs(l.center.y - tileCenterWorldCoordinates.y), + ], + vec2.scale(vec2.create(), commonUniforms.worldAreaInView, 0.5) + ); const distance = - Math.hypot(Math.max(dX, 0), Math.max(dY, 0)) + Math.min(Math.max(dX, dY), 0); + vec2.length([Math.max(d.x, 0), Math.max(d.y, 0)]) + + Math.min(Math.max(d.x, d.y), 0.0); l.setLightnessRatio(clamp01(1 - distance / this.lightCutoffDistance)); return distance < this.lightCutoffDistance; diff --git a/src/graphics/rendering/renderer/noise-renderer.ts b/src/graphics/rendering/renderer/noise-renderer.ts index e1f8a6c..ef4ac3a 100644 --- a/src/graphics/rendering/renderer/noise-renderer.ts +++ b/src/graphics/rendering/renderer/noise-renderer.ts @@ -1,6 +1,5 @@ import { ReadonlyVec2 } from 'gl-matrix'; import { DefaultFrameBuffer } from '../../graphics-library/frame-buffer/default-frame-buffer'; -import { tryEnableExtension } from '../../graphics-library/helper/enable-extension'; import { ParallelCompiler } from '../../graphics-library/parallel-compiler'; import { FragmentShaderOnlyProgram } from '../../graphics-library/program/fragment-shader-only-program'; import { getUniversalRenderingContext } from '../../graphics-library/universal-rendering-context'; @@ -49,12 +48,5 @@ export const renderNoise = async ( frameBuffer.destroy(); program.destroy(); - const result = document.createElement('canvas'); - result.width = canvas.width; - result.height = canvas.height; - result.getContext('2d')!.drawImage(canvas, 0, 0); - - tryEnableExtension(gl, 'WEBGL_lose_context')?.loseContext(); - - return result; + return canvas; }; diff --git a/src/graphics/rendering/renderer/renderer-implementation.ts b/src/graphics/rendering/renderer/renderer-implementation.ts index 9a1ff21..f5b8480 100644 --- a/src/graphics/rendering/renderer/renderer-implementation.ts +++ b/src/graphics/rendering/renderer/renderer-implementation.ts @@ -51,7 +51,6 @@ export class RendererImplementation implements Renderer { private _canvasSize: vec2; private blendFactor!: number; private canvasResizeObserver!: ResizeObserver; - private frameIndex = 0; private applyRuntimeSettings: { [key in keyof RuntimeSettings]: (value: any) => void; @@ -168,7 +167,6 @@ export class RendererImplementation implements Renderer { { shadowTraceCount: settings.shadowTraceCount.toString(), intensityInsideRatio: settings.lightPenetrationRatio, - lightOverlapReduction: settings.lightOverlapReduction, floatLinearEnabled: this.gl.insights.floatInterpolationEnabled ? '1' : '0', backgroundColor: colorToString(settings.backgroundColor), } @@ -194,7 +192,6 @@ export class RendererImplementation implements Renderer { private setTextures(v: { [textureName: string]: TexImageSource | TextureWithOptions }) { this.textures.forEach((t) => t.destroy()); this.textures = []; - this.uniformsProvider.textures = {}; let id = 3; for (const key in v) { @@ -249,18 +246,6 @@ export class RendererImplementation implements Renderer { distanceNdcPixelSize: 2 / Math.max(...this.distanceFieldFrameBuffer.getSize()), shadingNdcPixelSize: 2 / Math.max(...this.lightingFrameBuffer.getSize()), - - // The motion-blur blend multiplies the lights pass' output by - // blendFactor before it reaches the 8-bit canvas, which would attenuate - // the anti-banding dither below the quantization step it has to mask. - // Pre-scale the dither to arrive at full strength after blending; the - // clamp keeps extreme motion-blur values from injecting visible grain. - ditherStrength: lightsSizeChanged ? 1 : 1 / Math.max(this.blendFactor, 0.125), - - // Scroll the dither pattern every frame (golden-ratio offset), so the - // motion-blur blend averages independently dithered frames instead of - // freezing into a banded fixed point. - ditherSeed: (this.frameIndex = (this.frameIndex + 1) & 63) * 5.588238, }; this.distancePass.render(this.uniformsProvider.getUniforms(common), [ diff --git a/src/graphics/rendering/settings/default-startup-settings.ts b/src/graphics/rendering/settings/default-startup-settings.ts index 0493cdd..85b2a94 100644 --- a/src/graphics/rendering/settings/default-startup-settings.ts +++ b/src/graphics/rendering/settings/default-startup-settings.ts @@ -10,7 +10,6 @@ export const defaultStartupSettings: StartupSettings = { ignoreWebGL2: false, backgroundColor: vec4.fromValues(1, 1, 1, 1), lightPenetrationRatio: 0.75, - lightOverlapReduction: 0, enableStopwatch: false, enableContextLostSimulator: false, }; diff --git a/src/graphics/rendering/settings/startup-settings.ts b/src/graphics/rendering/settings/startup-settings.ts index 6447fbb..5cee633 100644 --- a/src/graphics/rendering/settings/startup-settings.ts +++ b/src/graphics/rendering/settings/startup-settings.ts @@ -32,19 +32,6 @@ export interface StartupSettings { */ lightPenetrationRatio: number; - /** - * Controls how overlapping lights combine. - * - * At `0` lights are summed additively (the physically-correct default): - * two nearby lights brighten their overlap and their glows merge into a - * shape larger than either alone. At `1` overlapping lights instead take - * the per-channel maximum, so a combination never reads brighter or larger - * than its strongest contributor. Values in between blend the two. - * - * A single light looks the same at any value. Should be between 0 and 1. - */ - lightOverlapReduction: number; - /** * Gives the number of possible object colors for the scene. * diff --git a/src/graphics/rendering/shaders/distance-fs-100.glsl b/src/graphics/rendering/shaders/distance-fs-100.glsl index 2c676c9..f1442cc 100644 --- a/src/graphics/rendering/shaders/distance-fs-100.glsl +++ b/src/graphics/rendering/shaders/distance-fs-100.glsl @@ -1,10 +1,6 @@ #version 100 -#ifdef GL_FRAGMENT_PRECISION_HIGH - precision highp float; -#else - precision mediump float; -#endif +precision lowp float; uniform float maxMinDistance; uniform float distanceNdcPixelSize; @@ -28,5 +24,5 @@ void main() { {functionCalls} - gl_FragColor = vec4(color.rgb, minDistance * 8.0 + 0.125); + gl_FragColor = vec4(color.rgb, minDistance * 8.0); } diff --git a/src/graphics/rendering/shaders/distance-fs.glsl b/src/graphics/rendering/shaders/distance-fs.glsl index a0c16fc..5f56e11 100644 --- a/src/graphics/rendering/shaders/distance-fs.glsl +++ b/src/graphics/rendering/shaders/distance-fs.glsl @@ -1,6 +1,6 @@ #version 300 es -precision highp float; +precision lowp float; #define FLOAT_LINEAR_ENABLED {floatLinearEnabled} @@ -33,7 +33,7 @@ void main() { #if FLOAT_LINEAR_ENABLED distanceValue = minDistance; #else - distanceValue = minDistance * 8.0 + 0.125; + distanceValue = minDistance * 8.0; #endif fragmentColor = color; diff --git a/src/graphics/rendering/shaders/distance-vs-100.glsl b/src/graphics/rendering/shaders/distance-vs-100.glsl index 0f46c00..4f5c453 100644 --- a/src/graphics/rendering/shaders/distance-vs-100.glsl +++ b/src/graphics/rendering/shaders/distance-vs-100.glsl @@ -1,6 +1,6 @@ #version 100 -precision highp float; +precision lowp float; uniform mat3 modelTransform; uniform vec2 squareToAspectRatio; diff --git a/src/graphics/rendering/shaders/distance-vs.glsl b/src/graphics/rendering/shaders/distance-vs.glsl index 1ddfbb8..0e54025 100644 --- a/src/graphics/rendering/shaders/distance-vs.glsl +++ b/src/graphics/rendering/shaders/distance-vs.glsl @@ -1,6 +1,6 @@ #version 300 es -precision highp float; +precision lowp float; uniform mat3 modelTransform; uniform vec2 squareToAspectRatio; diff --git a/src/graphics/rendering/shaders/shading-fs-100.glsl b/src/graphics/rendering/shaders/shading-fs-100.glsl index 4ef90cf..34be6a7 100644 --- a/src/graphics/rendering/shaders/shading-fs-100.glsl +++ b/src/graphics/rendering/shaders/shading-fs-100.glsl @@ -1,22 +1,13 @@ #version 100 -#ifdef GL_FRAGMENT_PRECISION_HIGH - precision highp float; -#else - precision mediump float; -#endif +precision lowp float; #define INTENSITY_INSIDE_RATIO {intensityInsideRatio} #define SHADOW_TRACE_COUNT {shadowTraceCount} -// 0.0 == lights add (overlaps brighten & merge); 1.0 == lights take the -// per-channel max (overlaps never exceed the brighter light). See main(). -#define LIGHT_OVERLAP_REDUCTION float({lightOverlapReduction}) {macroDefinitions} uniform float shadingNdcPixelSize; -uniform float ditherStrength; -uniform float ditherSeed; uniform vec2 squareToAspectRatioTimes2; uniform vec3 ambientLight; @@ -28,22 +19,19 @@ varying vec2 uvCoordinates; float getDistance(in vec2 target, out vec4 color) { vec4 values = texture2D(colorTexture, target); color = vec4(values.rgb, 1.0); - return (values[3] - 0.125) / 8.0; + return values[3] / 8.0; } float getDistance(in vec2 target) { - return (texture2D(colorTexture, target)[3] - 0.125) / 8.0; + return texture2D(colorTexture, target)[3] / 8.0; } float shadowTransparency(float startingDistance, float lightCenterDistance, vec2 direction) { - float rayLength = max(0.0, startingDistance); + float rayLength = startingDistance; for (int j = 0; j < SHADOW_TRACE_COUNT; j++) { - if (rayLength >= lightCenterDistance) { - break; - } rayLength += max(0.0, getDistance(uvCoordinates + direction * rayLength)); } - return min(1.0, pow(rayLength / max(lightCenterDistance, 0.00000001), 0.3)); + return min(1.0, pow(rayLength / lightCenterDistance, 0.3)); } #ifdef CIRCLE_LIGHT_COUNT @@ -71,29 +59,14 @@ float shadowTransparency(float startingDistance, float lightCenterDistance, vec2 #endif #endif -float ditherNoise() { - float ign = fract(52.9829189 * fract( - dot(gl_FragCoord.xy + ditherSeed, vec2(0.06711056, 0.00583715)) - )); - float t = 2.0 * ign - 1.0; - return sign(t) * (1.0 - sqrt(1.0 - abs(t))); -} - void main() { vec4 rgbaColorAtPosition; float startingDistance = getDistance(uvCoordinates, rgbaColorAtPosition); vec3 colorAtPosition = rgbaColorAtPosition.rgb; - // Each light contributes to two accumulators: an additive sum (overlaps - // brighten and glows bridge into one another) and a per-channel max - // (overlaps read as just the brightest light). LIGHT_OVERLAP_REDUCTION - // blends between them. Ambient stays a separate additive base, so a single - // light is identical to pure-additive (sum == max for one light). - vec3 lightSum = vec3(0.0); - vec3 lightMax = vec3(0.0); - vec3 lightSumInside = vec3(0.0); - vec3 lightMaxInside = vec3(0.0); + vec3 lighting = ambientLight; + vec3 lightingInside = ambientLight; #ifdef CIRCLE_LIGHT_COUNT #if CIRCLE_LIGHT_COUNT > 0 @@ -104,21 +77,14 @@ void main() { lightCenterDistance / circleLightIntensities[i] + 1.0, 2.0 ); - if (dot(lightColorAtPosition, lightColorAtPosition) < 0.000001) { - continue; - } - vec2 direction = normalize(circleLightCenters[i] - position) / squareToAspectRatioTimes2; - vec3 shadowed = lightColorAtPosition * shadowTransparency( - startingDistance, - lightCenterDistance, + lighting += lightColorAtPosition * shadowTransparency( + startingDistance, + lightCenterDistance, direction ); - lightSum += shadowed; - lightMax = max(lightMax, shadowed); - lightSumInside += lightColorAtPosition; - lightMaxInside = max(lightMaxInside, lightColorAtPosition); + lightingInside += lightColorAtPosition; } #endif #endif @@ -130,42 +96,35 @@ void main() { float lightCenterDistance = distance(flashlightCenters[i], position); - vec3 lightColorAtPosition = intensityInDirection(flashlightDirections[i], originalDirection) + vec3 lightColorAtPosition = intensityInDirection(flashlightDirections[i], originalDirection) * flashlightColors[i] / pow( lightCenterDistance / flashlightIntensities[i] + 1.0, 2.0 ); - if (dot(lightColorAtPosition, lightColorAtPosition) < 0.000001) { + vec2 direction = originalDirection / squareToAspectRatioTimes2; + + if (length(lightColorAtPosition) < 0.0) { continue; } - vec2 direction = originalDirection / squareToAspectRatioTimes2; - - vec3 shadowed = lightColorAtPosition * shadowTransparency( - startingDistance, - lightCenterDistance, + lighting += lightColorAtPosition * shadowTransparency( + startingDistance, + lightCenterDistance, direction ); - lightSum += shadowed; - lightMax = max(lightMax, shadowed); - lightSumInside += lightColorAtPosition; - lightMaxInside = max(lightMaxInside, lightColorAtPosition); + lightingInside += lightColorAtPosition; } #endif #endif - vec3 lighting = ambientLight + mix(lightSum, lightMax, LIGHT_OVERLAP_REDUCTION); - vec3 lightingInside = - ambientLight + mix(lightSumInside, lightMaxInside, LIGHT_OVERLAP_REDUCTION); - vec3 outsideColor = {backgroundColor}.rgb * lighting; vec3 insideColor = colorAtPosition * lightingInside * INTENSITY_INSIDE_RATIO; - float edge = clamp(startingDistance / shadingNdcPixelSize + 0.5, 0.0, 1.0); + float edge = clamp(startingDistance / shadingNdcPixelSize, 0.0, 1.0); vec3 antialiasedColor = mix(insideColor, outsideColor, edge); gl_FragColor = vec4( - antialiasedColor + ditherNoise() * ditherStrength / 255.0, + antialiasedColor, rgbaColorAtPosition.a ); } diff --git a/src/graphics/rendering/shaders/shading-fs.glsl b/src/graphics/rendering/shaders/shading-fs.glsl index 55c821b..71077ee 100644 --- a/src/graphics/rendering/shaders/shading-fs.glsl +++ b/src/graphics/rendering/shaders/shading-fs.glsl @@ -1,21 +1,15 @@ #version 300 es -precision highp float; -precision highp sampler2D; +precision lowp float; #define INTENSITY_INSIDE_RATIO {intensityInsideRatio} #define SHADOW_TRACE_COUNT {shadowTraceCount} #define FLOAT_LINEAR_ENABLED {floatLinearEnabled} -// 0.0 == lights add (overlaps brighten & merge); 1.0 == lights take the -// per-channel max (overlaps never exceed the brighter light). See main(). -#define LIGHT_OVERLAP_REDUCTION float({lightOverlapReduction}) {macroDefinitions} uniform float shadingNdcPixelSize; uniform float distanceNdcPixelSize; -uniform float ditherStrength; -uniform float ditherSeed; uniform vec2 squareToAspectRatioTimes2; uniform vec3 ambientLight; @@ -33,19 +27,16 @@ float getDistance(vec2 target) { #if FLOAT_LINEAR_ENABLED return texture(distanceTexture, target)[0]; #else - return (texture(distanceTexture, target)[0] - 0.125) / 8.0; + return texture(distanceTexture, target)[0] / 8.0; #endif } float shadowTransparency(float startingDistance, float lightCenterDistance, vec2 direction) { - float rayLength = max(0.0, startingDistance); + float rayLength = startingDistance; for (int i = 0; i < SHADOW_TRACE_COUNT; i++) { - if (rayLength >= lightCenterDistance) { - break; - } rayLength += max(0.0, getDistance(uvCoordinates + direction * rayLength)); } - return min(1.0, pow(rayLength / max(lightCenterDistance, 0.00000001), 0.3)); + return min(1.0, pow(rayLength / lightCenterDistance, 0.3)); } #ifdef CIRCLE_LIGHT_COUNT @@ -89,14 +80,6 @@ float shadowTransparency(float startingDistance, float lightCenterDistance, vec2 #endif #endif -float ditherNoise() { - float ign = fract(52.9829189 * fract( - dot(gl_FragCoord.xy + ditherSeed, vec2(0.06711056, 0.00583715)) - )); - float t = 2.0 * ign - 1.0; - return sign(t) * (1.0 - sqrt(1.0 - abs(t))); -} - out vec4 fragmentColor; void main() { vec4 rgbaColorAtPosition = getColor(uvCoordinates); @@ -104,37 +87,23 @@ void main() { float startingDistance = getDistance(uvCoordinates); - // Each light contributes to two accumulators: an additive sum (overlaps - // brighten and glows bridge into one another) and a per-channel max - // (overlaps read as just the brightest light). LIGHT_OVERLAP_REDUCTION - // blends between them. Ambient stays a separate additive base, so a single - // light is identical to pure-additive (sum == max for one light). - vec3 lightSum = vec3(0.0); - vec3 lightMax = vec3(0.0); - vec3 lightSumInside = vec3(0.0); - vec3 lightMaxInside = vec3(0.0); - + vec3 lighting = ambientLight; + vec3 lightingInside = ambientLight; + #ifdef CIRCLE_LIGHT_COUNT #if CIRCLE_LIGHT_COUNT > 0 for (int i = 0; i < CIRCLE_LIGHT_COUNT; i++) { float lightCenterDistance; vec3 lightColorAtPosition = colorInPosition(i, lightCenterDistance); - if (dot(lightColorAtPosition, lightColorAtPosition) < 0.000001) { - continue; - } - vec2 direction = normalize(circleLightCenters[i] - position) / squareToAspectRatioTimes2; - vec3 shadowed = lightColorAtPosition * shadowTransparency( - startingDistance, - lightCenterDistance, + lighting += lightColorAtPosition * shadowTransparency( + startingDistance, + lightCenterDistance, direction ); - - lightSum += shadowed; - lightMax = max(lightMax, shadowed); - lightSumInside += lightColorAtPosition; - lightMaxInside = max(lightMaxInside, lightColorAtPosition); + + lightingInside += lightColorAtPosition; } #endif #endif @@ -150,42 +119,35 @@ void main() { originalDirection, lightCenterDistance ); - + if (lightCenterDistance < flashlightStartCutoffs[i]) { continue; } - if (dot(lightColorAtPosition, lightColorAtPosition) < 0.000001) { - continue; - } - vec2 direction = originalDirection / squareToAspectRatioTimes2; - vec3 shadowed = lightColorAtPosition * shadowTransparency( - startingDistance, - lightCenterDistance, + if (length(lightColorAtPosition) < 0.0) { + continue; + } + + lighting += lightColorAtPosition * shadowTransparency( + startingDistance, + lightCenterDistance, direction ); - lightSum += shadowed; - lightMax = max(lightMax, shadowed); - lightSumInside += lightColorAtPosition; - lightMaxInside = max(lightMaxInside, lightColorAtPosition); + lightingInside += lightColorAtPosition; } #endif #endif - vec3 lighting = ambientLight + mix(lightSum, lightMax, LIGHT_OVERLAP_REDUCTION); - vec3 lightingInside = - ambientLight + mix(lightSumInside, lightMaxInside, LIGHT_OVERLAP_REDUCTION); - vec3 outsideColor = {backgroundColor}.rgb * lighting; vec3 insideColor = colorAtPosition * lightingInside * INTENSITY_INSIDE_RATIO; - float edge = clamp(startingDistance / shadingNdcPixelSize + 0.5, 0.0, 1.0); + float edge = clamp(startingDistance / shadingNdcPixelSize, 0.0, 1.0); vec3 antialiasedColor = mix(insideColor, outsideColor, edge); fragmentColor = vec4( - antialiasedColor + ditherNoise() * ditherStrength / 255.0, + antialiasedColor, rgbaColorAtPosition.a ); } diff --git a/src/graphics/rendering/shaders/shading-vs-100.glsl b/src/graphics/rendering/shaders/shading-vs-100.glsl index a71ed6b..c35ff4d 100644 --- a/src/graphics/rendering/shaders/shading-vs-100.glsl +++ b/src/graphics/rendering/shaders/shading-vs-100.glsl @@ -1,6 +1,6 @@ #version 100 -precision highp float; +precision lowp float; {macroDefinitions} diff --git a/src/graphics/rendering/shaders/shading-vs.glsl b/src/graphics/rendering/shaders/shading-vs.glsl index d699081..0f17bf1 100644 --- a/src/graphics/rendering/shaders/shading-vs.glsl +++ b/src/graphics/rendering/shaders/shading-vs.glsl @@ -1,6 +1,6 @@ #version 300 es -precision highp float; +precision lowp float; {macroDefinitions} diff --git a/src/helper/number-to-glsl-float.ts b/src/helper/number-to-glsl-float.ts index 5495c0f..8f2ec3d 100644 --- a/src/helper/number-to-glsl-float.ts +++ b/src/helper/number-to-glsl-float.ts @@ -3,13 +3,5 @@ * * Returns non-numbers as is. */ -export const numberToGlslFloat = (value: number | string): string => { - if (typeof value !== 'number') { - return String(value); - } - - const asString = value.toString(); - - // Very large integers stringify in exponent notation (1e21) - return Number.isInteger(value) && !asString.includes('e') ? `${asString}.0` : asString; -}; +export const numberToGlslFloat = (value: number | string): string => + Number.isInteger(value) ? `${value}.0` : value.toString(); diff --git a/src/run-animation.ts b/src/run-animation.ts index f426438..47a4b0b 100644 --- a/src/run-animation.ts +++ b/src/run-animation.ts @@ -42,8 +42,6 @@ import { DrawableDescriptor, Renderer } from './main'; * return value must be given. * @param startupSettingOverrides Sensible defaults are provided, but these can be overridden. * @param initialRuntimeSettingOverrides Sensible defaults are provided, but these can be overridden. - * Set `enableAutoscaler` to `false` to keep the render scales exactly as configured - * instead of letting the FPS-based autoscaler adjust them. */ export async function runAnimation( canvas: HTMLCanvasElement, @@ -53,9 +51,7 @@ export async function runAnimation( currentTimeInMilliseconds: DOMHighResTimeStamp, deltaTimeInMilliseconds: DOMHighResTimeStamp ) => boolean, - settings: Partial & { - enableAutoscaler?: boolean; - } = {} + settings: Partial = {} ): Promise { if (settings.enableContextLostSimulator) { enableContextLostSimulator(canvas); @@ -66,11 +62,7 @@ export async function runAnimation( let triggerIsOver: () => void; const isOver = new Promise((resolve) => (triggerIsOver = resolve)); renderer.setRuntimeSettings(settings); - const autoscaler = new FpsQualityAutoscaler(renderer, { - distanceRenderScale: settings.distanceRenderScale, - lightsRenderScale: settings.lightsRenderScale, - }); - autoscaler.scalingEnabled = settings.enableAutoscaler !== false; + const autoscaler = new FpsQualityAutoscaler(renderer); await renderer.initializedPromise;