From e70448cb6a28ab74e3c2f791097cd289eb3edf7a Mon Sep 17 00:00:00 2001 From: s-prechtl Date: Wed, 11 Jan 2023 12:30:08 +0100 Subject: [PATCH] test docs --- frontend/docs/.nojekyll | 1 + frontend/docs/assets/highlight.css | 64 + frontend/docs/assets/main.js | 58 + frontend/docs/assets/search.js | 1 + frontend/docs/assets/style.css | 1280 +++++++++++++++++ frontend/docs/classes/Entity.Entity.html | 286 ++++ frontend/docs/classes/Obstacle.Obstacle.html | 417 ++++++ frontend/docs/classes/Pipe.Pipe.html | 328 +++++ frontend/docs/classes/Position.Position.html | 170 +++ .../docs/classes/Raspberry.Raspberry.html | 475 ++++++ frontend/docs/index.html | 47 + .../interfaces/Collidable.Collidable.html | 95 ++ frontend/docs/modules.html | 56 + frontend/docs/modules/Collidable.html | 59 + frontend/docs/modules/Entity.html | 59 + frontend/docs/modules/Obstacle.html | 59 + frontend/docs/modules/Pipe.html | 59 + frontend/docs/modules/Position.html | 59 + frontend/docs/modules/Raspberry.html | 59 + frontend/game.ts | 30 +- frontend/package-lock.json | 147 +- frontend/package.json | 3 +- 22 files changed, 3795 insertions(+), 17 deletions(-) create mode 100644 frontend/docs/.nojekyll create mode 100644 frontend/docs/assets/highlight.css create mode 100644 frontend/docs/assets/main.js create mode 100644 frontend/docs/assets/search.js create mode 100644 frontend/docs/assets/style.css create mode 100644 frontend/docs/classes/Entity.Entity.html create mode 100644 frontend/docs/classes/Obstacle.Obstacle.html create mode 100644 frontend/docs/classes/Pipe.Pipe.html create mode 100644 frontend/docs/classes/Position.Position.html create mode 100644 frontend/docs/classes/Raspberry.Raspberry.html create mode 100644 frontend/docs/index.html create mode 100644 frontend/docs/interfaces/Collidable.Collidable.html create mode 100644 frontend/docs/modules.html create mode 100644 frontend/docs/modules/Collidable.html create mode 100644 frontend/docs/modules/Entity.html create mode 100644 frontend/docs/modules/Obstacle.html create mode 100644 frontend/docs/modules/Pipe.html create mode 100644 frontend/docs/modules/Position.html create mode 100644 frontend/docs/modules/Raspberry.html diff --git a/frontend/docs/.nojekyll b/frontend/docs/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/frontend/docs/.nojekyll @@ -0,0 +1 @@ +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/frontend/docs/assets/highlight.css b/frontend/docs/assets/highlight.css new file mode 100644 index 0000000..2fc0b95 --- /dev/null +++ b/frontend/docs/assets/highlight.css @@ -0,0 +1,64 @@ +:root { + --light-hl-0: #AF00DB; + --dark-hl-0: #C586C0; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #267F99; + --dark-hl-2: #4EC9B0; + --light-hl-3: #795E26; + --dark-hl-3: #DCDCAA; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --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); + --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); + --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); + --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); + --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); } +pre, code { background: var(--code-background); } diff --git a/frontend/docs/assets/main.js b/frontend/docs/assets/main.js new file mode 100644 index 0000000..d55df03 --- /dev/null +++ b/frontend/docs/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(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 h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}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(ou?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=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 u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,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 h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+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),u=0;u1?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)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default: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 ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function B(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){le.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()}ensureFocusedElementVisible(){this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null);let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n.tagName!=="SECTION";)n=n.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}};var I=class{constructor(e){this.el=e.el,this.app=e.app}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends I{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;ii.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{He(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?pe(e,-1):s.key==="ArrowDown"?pe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ae(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function He(t,e,n,r){if(Ae(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${fe(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function pe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function fe(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(ie(t.substring(s,o)),`${ie(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",j="mouseup",Z={x:0,y:0},ge=!1,se=!1,Be=!1,A=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",ye="touchmove",j="touchend");document.addEventListener(F,t=>{se=!0,A=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(se&&!A){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);A=Math.sqrt(n*n+r*r)>10}});document.addEventListener(j,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends I{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(j,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(j,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){A||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!A&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends I{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends I{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();B(X,".menu-highlight");B(K,"a[data-toggle]");B(te,".tsd-index-accordion");B(ee,".tsd-filter-item input[type=checkbox]");var we=document.getElementById("theme");we&&be(we);var je=new Y;Object.defineProperty(window,"app",{value:je});})(); +/*! 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/frontend/docs/assets/search.js b/frontend/docs/assets/search.js new file mode 100644 index 0000000..5793068 --- /dev/null +++ b/frontend/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"kinds\":{\"2\":\"Module\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"262144\":\"Accessor\"},\"rows\":[{\"kind\":2,\"name\":\"Collidable\",\"url\":\"modules/Collidable.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":256,\"name\":\"Collidable\",\"url\":\"interfaces/Collidable.Collidable.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"Collidable\"},{\"kind\":2048,\"name\":\"collides\",\"url\":\"interfaces/Collidable.Collidable.html#collides\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Collidable.Collidable\"},{\"kind\":2,\"name\":\"Entity\",\"url\":\"modules/Entity.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"Entity\",\"url\":\"classes/Entity.Entity.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"Entity\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Entity.Entity.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-protected\",\"parent\":\"Entity.Entity\"},{\"kind\":1024,\"name\":\"_position\",\"url\":\"classes/Entity.Entity.html#_position\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Entity.Entity\"},{\"kind\":1024,\"name\":\"_width\",\"url\":\"classes/Entity.Entity.html#_width\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Entity.Entity\"},{\"kind\":1024,\"name\":\"_height\",\"url\":\"classes/Entity.Entity.html#_height\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Entity.Entity\"},{\"kind\":1024,\"name\":\"fill\",\"url\":\"classes/Entity.Entity.html#fill\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Entity.Entity\"},{\"kind\":1024,\"name\":\"_showHitbox\",\"url\":\"classes/Entity.Entity.html#_showHitbox\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Entity.Entity\"},{\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Entity.Entity.html#position\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Entity.Entity\"},{\"kind\":262144,\"name\":\"width\",\"url\":\"classes/Entity.Entity.html#width\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Entity.Entity\"},{\"kind\":262144,\"name\":\"height\",\"url\":\"classes/Entity.Entity.html#height\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Entity.Entity\"},{\"kind\":262144,\"name\":\"showHitbox\",\"url\":\"classes/Entity.Entity.html#showHitbox\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Entity.Entity\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/Entity.Entity.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Entity.Entity\"},{\"kind\":2048,\"name\":\"draw\",\"url\":\"classes/Entity.Entity.html#draw\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Entity.Entity\"},{\"kind\":2,\"name\":\"Obstacle\",\"url\":\"modules/Obstacle.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"Obstacle\",\"url\":\"classes/Obstacle.Obstacle.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"Obstacle\"},{\"kind\":1024,\"name\":\"_distanceBetweenPipes\",\"url\":\"classes/Obstacle.Obstacle.html#_distanceBetweenPipes\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":1024,\"name\":\"_startX\",\"url\":\"classes/Obstacle.Obstacle.html#_startX\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":262144,\"name\":\"startX\",\"url\":\"classes/Obstacle.Obstacle.html#startX\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":262144,\"name\":\"distanceBetweenPipes\",\"url\":\"classes/Obstacle.Obstacle.html#distanceBetweenPipes\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Obstacle.Obstacle.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":1024,\"name\":\"pipeTop\",\"url\":\"classes/Obstacle.Obstacle.html#pipeTop\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":1024,\"name\":\"pipeBottom\",\"url\":\"classes/Obstacle.Obstacle.html#pipeBottom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":1024,\"name\":\"padding\",\"url\":\"classes/Obstacle.Obstacle.html#padding\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":1024,\"name\":\"speed\",\"url\":\"classes/Obstacle.Obstacle.html#speed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2048,\"name\":\"createPipes\",\"url\":\"classes/Obstacle.Obstacle.html#createPipes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2048,\"name\":\"resetPosition\",\"url\":\"classes/Obstacle.Obstacle.html#resetPosition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2048,\"name\":\"randomizeHeight\",\"url\":\"classes/Obstacle.Obstacle.html#randomizeHeight\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2048,\"name\":\"randomRange\",\"url\":\"classes/Obstacle.Obstacle.html#randomRange\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/Obstacle.Obstacle.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2048,\"name\":\"draw\",\"url\":\"classes/Obstacle.Obstacle.html#draw\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2048,\"name\":\"collides\",\"url\":\"classes/Obstacle.Obstacle.html#collides\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Obstacle.Obstacle.html#position\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":262144,\"name\":\"width\",\"url\":\"classes/Obstacle.Obstacle.html#width\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":262144,\"name\":\"height\",\"url\":\"classes/Obstacle.Obstacle.html#height\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":262144,\"name\":\"showHitbox\",\"url\":\"classes/Obstacle.Obstacle.html#showHitbox\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Obstacle.Obstacle\"},{\"kind\":2,\"name\":\"Pipe\",\"url\":\"modules/Pipe.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"Pipe\",\"url\":\"classes/Pipe.Pipe.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"Pipe\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Pipe.Pipe.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Pipe.Pipe\"},{\"kind\":1024,\"name\":\"_image\",\"url\":\"classes/Pipe.Pipe.html#_image\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Pipe.Pipe\"},{\"kind\":262144,\"name\":\"image\",\"url\":\"classes/Pipe.Pipe.html#image\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Pipe.Pipe\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/Pipe.Pipe.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Pipe.Pipe\"},{\"kind\":2048,\"name\":\"draw\",\"url\":\"classes/Pipe.Pipe.html#draw\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Pipe.Pipe\"},{\"kind\":2048,\"name\":\"move\",\"url\":\"classes/Pipe.Pipe.html#move\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Pipe.Pipe\"},{\"kind\":2048,\"name\":\"collides\",\"url\":\"classes/Pipe.Pipe.html#collides\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Pipe.Pipe\"},{\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Pipe.Pipe.html#position\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Pipe.Pipe\"},{\"kind\":262144,\"name\":\"width\",\"url\":\"classes/Pipe.Pipe.html#width\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Pipe.Pipe\"},{\"kind\":262144,\"name\":\"height\",\"url\":\"classes/Pipe.Pipe.html#height\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Pipe.Pipe\"},{\"kind\":262144,\"name\":\"showHitbox\",\"url\":\"classes/Pipe.Pipe.html#showHitbox\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Pipe.Pipe\"},{\"kind\":2,\"name\":\"Position\",\"url\":\"modules/Position.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"Position\",\"url\":\"classes/Position.Position.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"Position\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Position.Position.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Position.Position\"},{\"kind\":1024,\"name\":\"_x\",\"url\":\"classes/Position.Position.html#_x\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Position.Position\"},{\"kind\":1024,\"name\":\"_y\",\"url\":\"classes/Position.Position.html#_y\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Position.Position\"},{\"kind\":262144,\"name\":\"x\",\"url\":\"classes/Position.Position.html#x\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Position.Position\"},{\"kind\":262144,\"name\":\"y\",\"url\":\"classes/Position.Position.html#y\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Position.Position\"},{\"kind\":2,\"name\":\"Raspberry\",\"url\":\"modules/Raspberry.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"Raspberry\",\"url\":\"classes/Raspberry.Raspberry.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"Raspberry\"},{\"kind\":1024,\"name\":\"position\",\"url\":\"classes/Raspberry.Raspberry.html#position\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"maxVelocity\",\"url\":\"classes/Raspberry.Raspberry.html#maxVelocity\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"WIDTH\",\"url\":\"classes/Raspberry.Raspberry.html#WIDTH\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"HEIGHT\",\"url\":\"classes/Raspberry.Raspberry.html#HEIGHT\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"FILL\",\"url\":\"classes/Raspberry.Raspberry.html#FILL\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Raspberry.Raspberry.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"lift\",\"url\":\"classes/Raspberry.Raspberry.html#lift\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"gravity\",\"url\":\"classes/Raspberry.Raspberry.html#gravity\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"_velocity\",\"url\":\"classes/Raspberry.Raspberry.html#_velocity\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":1024,\"name\":\"_image\",\"url\":\"classes/Raspberry.Raspberry.html#_image\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":262144,\"name\":\"velocity\",\"url\":\"classes/Raspberry.Raspberry.html#velocity\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":262144,\"name\":\"image\",\"url\":\"classes/Raspberry.Raspberry.html#image\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/Raspberry.Raspberry.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"applyGravity\",\"url\":\"classes/Raspberry.Raspberry.html#applyGravity\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"forceBoundaries\",\"url\":\"classes/Raspberry.Raspberry.html#forceBoundaries\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"boundaryTop\",\"url\":\"classes/Raspberry.Raspberry.html#boundaryTop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"boundaryBottom\",\"url\":\"classes/Raspberry.Raspberry.html#boundaryBottom\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"boost\",\"url\":\"classes/Raspberry.Raspberry.html#boost\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"draw\",\"url\":\"classes/Raspberry.Raspberry.html#draw\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"drawObject\",\"url\":\"classes/Raspberry.Raspberry.html#drawObject\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"drawRocket\",\"url\":\"classes/Raspberry.Raspberry.html#drawRocket\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"drawHitBox\",\"url\":\"classes/Raspberry.Raspberry.html#drawHitBox\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":2048,\"name\":\"setPose\",\"url\":\"classes/Raspberry.Raspberry.html#setPose\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Raspberry.Raspberry.html#position-1\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":262144,\"name\":\"width\",\"url\":\"classes/Raspberry.Raspberry.html#width-1\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":262144,\"name\":\"height\",\"url\":\"classes/Raspberry.Raspberry.html#height-1\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Raspberry.Raspberry\"},{\"kind\":262144,\"name\":\"showHitbox\",\"url\":\"classes/Raspberry.Raspberry.html#showHitbox\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"Raspberry.Raspberry\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,35.723]],[\"comment/0\",[]],[\"name/1\",[0,35.723]],[\"comment/1\",[]],[\"name/2\",[1,32.359]],[\"comment/2\",[]],[\"name/3\",[2,35.723]],[\"comment/3\",[]],[\"name/4\",[2,35.723]],[\"comment/4\",[]],[\"name/5\",[3,27.839]],[\"comment/5\",[]],[\"name/6\",[4,40.832]],[\"comment/6\",[]],[\"name/7\",[5,40.832]],[\"comment/7\",[]],[\"name/8\",[6,40.832]],[\"comment/8\",[]],[\"name/9\",[7,35.723]],[\"comment/9\",[]],[\"name/10\",[8,40.832]],[\"comment/10\",[]],[\"name/11\",[9,24.737]],[\"comment/11\",[]],[\"name/12\",[10,27.839]],[\"comment/12\",[]],[\"name/13\",[11,27.839]],[\"comment/13\",[]],[\"name/14\",[12,29.846]],[\"comment/14\",[]],[\"name/15\",[13,29.846]],[\"comment/15\",[]],[\"name/16\",[14,29.846]],[\"comment/16\",[]],[\"name/17\",[15,35.723]],[\"comment/17\",[]],[\"name/18\",[15,35.723]],[\"comment/18\",[]],[\"name/19\",[16,40.832]],[\"comment/19\",[]],[\"name/20\",[17,40.832]],[\"comment/20\",[]],[\"name/21\",[18,40.832]],[\"comment/21\",[]],[\"name/22\",[19,40.832]],[\"comment/22\",[]],[\"name/23\",[3,27.839]],[\"comment/23\",[]],[\"name/24\",[20,40.832]],[\"comment/24\",[]],[\"name/25\",[21,40.832]],[\"comment/25\",[]],[\"name/26\",[22,40.832]],[\"comment/26\",[]],[\"name/27\",[23,40.832]],[\"comment/27\",[]],[\"name/28\",[24,40.832]],[\"comment/28\",[]],[\"name/29\",[25,40.832]],[\"comment/29\",[]],[\"name/30\",[26,40.832]],[\"comment/30\",[]],[\"name/31\",[27,40.832]],[\"comment/31\",[]],[\"name/32\",[13,29.846]],[\"comment/32\",[]],[\"name/33\",[14,29.846]],[\"comment/33\",[]],[\"name/34\",[1,32.359]],[\"comment/34\",[]],[\"name/35\",[9,24.737]],[\"comment/35\",[]],[\"name/36\",[10,27.839]],[\"comment/36\",[]],[\"name/37\",[11,27.839]],[\"comment/37\",[]],[\"name/38\",[12,29.846]],[\"comment/38\",[]],[\"name/39\",[28,35.723]],[\"comment/39\",[]],[\"name/40\",[28,35.723]],[\"comment/40\",[]],[\"name/41\",[3,27.839]],[\"comment/41\",[]],[\"name/42\",[29,35.723]],[\"comment/42\",[]],[\"name/43\",[30,35.723]],[\"comment/43\",[]],[\"name/44\",[13,29.846]],[\"comment/44\",[]],[\"name/45\",[14,29.846]],[\"comment/45\",[]],[\"name/46\",[31,40.832]],[\"comment/46\",[]],[\"name/47\",[1,32.359]],[\"comment/47\",[]],[\"name/48\",[9,24.737]],[\"comment/48\",[]],[\"name/49\",[10,27.839]],[\"comment/49\",[]],[\"name/50\",[11,27.839]],[\"comment/50\",[]],[\"name/51\",[12,29.846]],[\"comment/51\",[]],[\"name/52\",[9,24.737]],[\"comment/52\",[]],[\"name/53\",[9,24.737]],[\"comment/53\",[]],[\"name/54\",[3,27.839]],[\"comment/54\",[]],[\"name/55\",[32,40.832]],[\"comment/55\",[]],[\"name/56\",[33,40.832]],[\"comment/56\",[]],[\"name/57\",[34,40.832]],[\"comment/57\",[]],[\"name/58\",[35,40.832]],[\"comment/58\",[]],[\"name/59\",[36,35.723]],[\"comment/59\",[]],[\"name/60\",[36,35.723]],[\"comment/60\",[]],[\"name/61\",[9,24.737]],[\"comment/61\",[]],[\"name/62\",[37,40.832]],[\"comment/62\",[]],[\"name/63\",[10,27.839]],[\"comment/63\",[]],[\"name/64\",[11,27.839]],[\"comment/64\",[]],[\"name/65\",[7,35.723]],[\"comment/65\",[]],[\"name/66\",[3,27.839]],[\"comment/66\",[]],[\"name/67\",[38,40.832]],[\"comment/67\",[]],[\"name/68\",[39,40.832]],[\"comment/68\",[]],[\"name/69\",[40,40.832]],[\"comment/69\",[]],[\"name/70\",[29,35.723]],[\"comment/70\",[]],[\"name/71\",[41,40.832]],[\"comment/71\",[]],[\"name/72\",[30,35.723]],[\"comment/72\",[]],[\"name/73\",[13,29.846]],[\"comment/73\",[]],[\"name/74\",[42,40.832]],[\"comment/74\",[]],[\"name/75\",[43,40.832]],[\"comment/75\",[]],[\"name/76\",[44,40.832]],[\"comment/76\",[]],[\"name/77\",[45,40.832]],[\"comment/77\",[]],[\"name/78\",[46,40.832]],[\"comment/78\",[]],[\"name/79\",[14,29.846]],[\"comment/79\",[]],[\"name/80\",[47,40.832]],[\"comment/80\",[]],[\"name/81\",[48,40.832]],[\"comment/81\",[]],[\"name/82\",[49,40.832]],[\"comment/82\",[]],[\"name/83\",[50,40.832]],[\"comment/83\",[]],[\"name/84\",[9,24.737]],[\"comment/84\",[]],[\"name/85\",[10,27.839]],[\"comment/85\",[]],[\"name/86\",[11,27.839]],[\"comment/86\",[]],[\"name/87\",[12,29.846]],[\"comment/87\",[]]],\"invertedIndex\":[[\"_distancebetweenpipes\",{\"_index\":16,\"name\":{\"19\":{}},\"comment\":{}}],[\"_height\",{\"_index\":6,\"name\":{\"8\":{}},\"comment\":{}}],[\"_image\",{\"_index\":29,\"name\":{\"42\":{},\"70\":{}},\"comment\":{}}],[\"_position\",{\"_index\":4,\"name\":{\"6\":{}},\"comment\":{}}],[\"_showhitbox\",{\"_index\":8,\"name\":{\"10\":{}},\"comment\":{}}],[\"_startx\",{\"_index\":17,\"name\":{\"20\":{}},\"comment\":{}}],[\"_velocity\",{\"_index\":40,\"name\":{\"69\":{}},\"comment\":{}}],[\"_width\",{\"_index\":5,\"name\":{\"7\":{}},\"comment\":{}}],[\"_x\",{\"_index\":32,\"name\":{\"55\":{}},\"comment\":{}}],[\"_y\",{\"_index\":33,\"name\":{\"56\":{}},\"comment\":{}}],[\"applygravity\",{\"_index\":42,\"name\":{\"74\":{}},\"comment\":{}}],[\"boost\",{\"_index\":46,\"name\":{\"78\":{}},\"comment\":{}}],[\"boundarybottom\",{\"_index\":45,\"name\":{\"77\":{}},\"comment\":{}}],[\"boundarytop\",{\"_index\":44,\"name\":{\"76\":{}},\"comment\":{}}],[\"collidable\",{\"_index\":0,\"name\":{\"0\":{},\"1\":{}},\"comment\":{}}],[\"collides\",{\"_index\":1,\"name\":{\"2\":{},\"34\":{},\"47\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":3,\"name\":{\"5\":{},\"23\":{},\"41\":{},\"54\":{},\"66\":{}},\"comment\":{}}],[\"createpipes\",{\"_index\":24,\"name\":{\"28\":{}},\"comment\":{}}],[\"distancebetweenpipes\",{\"_index\":19,\"name\":{\"22\":{}},\"comment\":{}}],[\"draw\",{\"_index\":14,\"name\":{\"16\":{},\"33\":{},\"45\":{},\"79\":{}},\"comment\":{}}],[\"drawhitbox\",{\"_index\":49,\"name\":{\"82\":{}},\"comment\":{}}],[\"drawobject\",{\"_index\":47,\"name\":{\"80\":{}},\"comment\":{}}],[\"drawrocket\",{\"_index\":48,\"name\":{\"81\":{}},\"comment\":{}}],[\"entity\",{\"_index\":2,\"name\":{\"3\":{},\"4\":{}},\"comment\":{}}],[\"fill\",{\"_index\":7,\"name\":{\"9\":{},\"65\":{}},\"comment\":{}}],[\"forceboundaries\",{\"_index\":43,\"name\":{\"75\":{}},\"comment\":{}}],[\"gravity\",{\"_index\":39,\"name\":{\"68\":{}},\"comment\":{}}],[\"height\",{\"_index\":11,\"name\":{\"13\":{},\"37\":{},\"50\":{},\"64\":{},\"86\":{}},\"comment\":{}}],[\"image\",{\"_index\":30,\"name\":{\"43\":{},\"72\":{}},\"comment\":{}}],[\"lift\",{\"_index\":38,\"name\":{\"67\":{}},\"comment\":{}}],[\"maxvelocity\",{\"_index\":37,\"name\":{\"62\":{}},\"comment\":{}}],[\"move\",{\"_index\":31,\"name\":{\"46\":{}},\"comment\":{}}],[\"obstacle\",{\"_index\":15,\"name\":{\"17\":{},\"18\":{}},\"comment\":{}}],[\"padding\",{\"_index\":22,\"name\":{\"26\":{}},\"comment\":{}}],[\"pipe\",{\"_index\":28,\"name\":{\"39\":{},\"40\":{}},\"comment\":{}}],[\"pipebottom\",{\"_index\":21,\"name\":{\"25\":{}},\"comment\":{}}],[\"pipetop\",{\"_index\":20,\"name\":{\"24\":{}},\"comment\":{}}],[\"position\",{\"_index\":9,\"name\":{\"11\":{},\"35\":{},\"48\":{},\"52\":{},\"53\":{},\"61\":{},\"84\":{}},\"comment\":{}}],[\"randomizeheight\",{\"_index\":26,\"name\":{\"30\":{}},\"comment\":{}}],[\"randomrange\",{\"_index\":27,\"name\":{\"31\":{}},\"comment\":{}}],[\"raspberry\",{\"_index\":36,\"name\":{\"59\":{},\"60\":{}},\"comment\":{}}],[\"resetposition\",{\"_index\":25,\"name\":{\"29\":{}},\"comment\":{}}],[\"setpose\",{\"_index\":50,\"name\":{\"83\":{}},\"comment\":{}}],[\"showhitbox\",{\"_index\":12,\"name\":{\"14\":{},\"38\":{},\"51\":{},\"87\":{}},\"comment\":{}}],[\"speed\",{\"_index\":23,\"name\":{\"27\":{}},\"comment\":{}}],[\"startx\",{\"_index\":18,\"name\":{\"21\":{}},\"comment\":{}}],[\"update\",{\"_index\":13,\"name\":{\"15\":{},\"32\":{},\"44\":{},\"73\":{}},\"comment\":{}}],[\"velocity\",{\"_index\":41,\"name\":{\"71\":{}},\"comment\":{}}],[\"width\",{\"_index\":10,\"name\":{\"12\":{},\"36\":{},\"49\":{},\"63\":{},\"85\":{}},\"comment\":{}}],[\"x\",{\"_index\":34,\"name\":{\"57\":{}},\"comment\":{}}],[\"y\",{\"_index\":35,\"name\":{\"58\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/frontend/docs/assets/style.css b/frontend/docs/assets/style.css new file mode 100644 index 0000000..2d02570 --- /dev/null +++ b/frontend/docs/assets/style.css @@ -0,0 +1,1280 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-text: #222; + --light-color-text-aside: #707070; + --light-color-link: #4da6ff; + --light-color-ts: #db1373; + --light-color-ts-interface: #139d2c; + --light-color-ts-enum: #9c891a; + --light-color-ts-class: #2484e5; + --light-color-ts-function: #572be7; + --light-color-ts-namespace: #b111c9; + --light-color-ts-private: #707070; + --light-color-ts-variable: #4d68ff; + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + --dark-color-ts: #ff6492; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-class: #61b0ff; + --dark-color-ts-function: #9772ff; + --dark-color-ts-namespace: #e14dff; + --dark-color-ts-private: #e2e2e2; + --dark-color-ts-variable: #4d68ff; + --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-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-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-private: var(--light-color-ts-private); + --color-ts-variable: var(--light-color-ts-variable); + --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-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-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-private: var(--dark-color-ts-private); + --color-ts-variable: var(--dark-color-ts-variable); + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --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-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-private: var(--light-color-ts-private); + --color-ts-variable: var(--light-color-ts-variable); + --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-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-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-private: var(--dark-color-ts-private); + --color-ts-variable: var(--dark-color-ts-variable); + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.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; +} + +.uppercase { + text-transform: uppercase; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1600px; + padding: 0 2rem; +} + +@media (min-width: 640px) { + .container { + padding: 0 4rem; + } +} +@media (min-width: 1200px) { + .container { + padding: 0 8rem; + } +} +@media (min-width: 1600px) { + .container { + padding: 0 12rem; + } +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + display: flex; + justify-content: space-between; + position: relative; + margin: 0 auto; +} + +.col-4, +.col-8 { + box-sizing: border-box; + float: left; + padding: 2rem 1rem; +} + +.col-4 { + flex: 0 0 25%; +} +.col-8 { + flex: 1 0; + flex-wrap: wrap; + padding-left: 0; +} + +@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: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +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; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + padding: 10px; + border: 0.1em solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.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 (max-width: 1024px) { + html .col-content { + float: none; + max-width: 100%; + width: 100%; + padding-top: 3rem; + } + html .col-menu { + 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; + max-width: 25rem; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-menu > *:last-child { + padding-bottom: 20px; + } + html .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 :is(header, footer, .col-content) { + animation: shift-to-left 0.4s; + } + + .to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu :is(header, footer, .col-content) { + animation: unshift-to-left 0.4s; + } + + .from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu :is(header, footer, .col-content) { + transform: translate(-25%, 0); + } + .has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + display: grid; + align-items: center; + grid-template-rows: auto 1fr; + grid-gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +.tsd-breadcrumb { + margin: 0; + 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: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-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 + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.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); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.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-index-panel a, +.tsd-index-panel a.tsd-parent-kind-module { + color: var(--color-ts); +} +.tsd-index-panel a.tsd-parent-kind-interface { + color: var(--color-ts-interface); +} +.tsd-index-panel a.tsd-parent-kind-enum { + color: var(--color-ts-enum); +} +.tsd-index-panel a.tsd-parent-kind-class { + color: var(--color-ts-class); +} +.tsd-index-panel a.tsd-kind-module { + color: var(--color-ts-namespace); +} +.tsd-index-panel a.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-index-panel a.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-index-panel a.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-index-panel a.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-index-panel a.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-index-panel a.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-index-panel a.tsd-is-private { + color: var(--color-ts-private); +} + +.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: absolute; + 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-member [data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member [data-tsd-kind="Interface"] { + color: var(--color-ts-interface); +} +.tsd-member [data-tsd-kind="Enum"] { + color: var(--color-ts-enum); +} +.tsd-member [data-tsd-kind="Class"] { + color: var(--color-ts-class); +} +.tsd-member [data-tsd-kind="Private"] { + color: var(--color-ts-private); +} + +.tsd-navigation a { + display: block; + margin: 0.4rem 0; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.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 .tsd-accordion-details > ul { + margin-top: 0.75rem; +} +.tsd-navigation.primary a { + padding: 0.75rem 0.5rem; + margin: 0; +} +.tsd-navigation.primary ul li a { + margin-left: 0.5rem; +} +.tsd-navigation.primary ul li li a { + margin-left: 1.5rem; +} +.tsd-navigation.primary ul li li li a { + margin-left: 2.5rem; +} +.tsd-navigation.primary ul li li li li a { + margin-left: 3.5rem; +} +.tsd-navigation.primary ul li li li li li a { + margin-left: 4.5rem; +} +.tsd-navigation.primary ul li li li li li li a { + margin-left: 5.5rem; +} +.tsd-navigation.primary li.current > a { + border-left: 0.15rem var(--color-text) solid; +} +.tsd-navigation.primary li.selected > a { + font-weight: bold; + border-left: 0.2rem var(--color-text) solid; +} +.tsd-navigation.primary ul li a:hover { + border-left: 0.2rem var(--color-text-aside) solid; +} +.tsd-navigation.primary li.globals + li > span, +.tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary > ul { + display: inline; + padding-right: 0.5rem; + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 0; +} +.tsd-navigation.secondary ul li li a { + padding-left: 1.1rem; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 2.2rem; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 3.3rem; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 4.4rem; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 5.5rem; +} + +#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 { + margin: 0.25rem 0; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; +} +.tsd-accordion-summary > h1, +.tsd-accordion-summary > h2, +.tsd-accordion-summary > h3, +.tsd-accordion-summary > h4, +.tsd-accordion-summary > h5 { + display: inline-flex; + align-items: center; + vertical-align: middle; + margin-bottom: 0; + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.tsd-accordion-summary { + display: block; + cursor: pointer; +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; +} +.tsd-index-accordion .tsd-accordion-summary svg { + margin-right: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +@media (min-width: 1024px) { + .col-content { + margin: 2rem auto; + } + + .menu-sticky-wrap { + position: sticky; + height: calc(100vh - 2rem); + top: 4rem; + right: 0; + padding: 0 1.5rem; + padding-top: 1rem; + margin-top: 3rem; + transition: 0.3s ease-in-out; + transition-property: top, padding-top, padding, height; + overflow-y: auto; + } + .col-menu { + border-left: 1px solid var(--color-accent); + } + .col-menu--hide { + top: 1rem; + } + .col-menu .tsd-navigation:not(:last-child) { + padding-bottom: 1.75rem; + } +} + +.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: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#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: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.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, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + 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-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.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-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-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: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +@media (max-width: 1024px) { + .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; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +* { + 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); +} diff --git a/frontend/docs/classes/Entity.Entity.html b/frontend/docs/classes/Entity.Entity.html new file mode 100644 index 0000000..39432b8 --- /dev/null +++ b/frontend/docs/classes/Entity.Entity.html @@ -0,0 +1,286 @@ +Entity | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Class EntityAbstract

+
+

General rectangular entities.

+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Constructs the Entity.

    +
    +
    +

    Parameters

    +
      +
    • +
      position: Position
      +

      starting Position

      +
    • +
    • +
      width: number
      +

      entity width

      +
    • +
    • +
      height: number
      +

      entity height

      +
    • +
    • +
      fill: number
      +

      fill color

      +
    +

    Returns Entity

+
+

Properties

+
+ +
_height: number
+

Height.

+
+
+ +
_position: Position
+

Position.

+
+
+ +
_showHitbox: boolean
+

Whether the hitbox (rectangular surrounding) is shown, or not.

+
+
+ +
_width: number
+

Width.

+
+
+ +
fill: number
+

Color.

+
+
+

Accessors

+
+ +
    +
  • get height(): number
  • +
  • +

    Get height.

    +
    +

    Returns number

  • +
  • set height(value: number): void
  • +
  • +

    Set height.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
+
+ +
    +
  • get showHitbox(): boolean
  • +
  • +

    Get the hitbox's visibility.

    +
    +

    Returns boolean

  • +
  • set showHitbox(value: boolean): void
  • +
  • +

    Set the hitbox's visibility.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: boolean
    +

    Returns void

+
+ +
    +
  • get width(): number
  • +
  • +

    Get width.

    +
    +

    Returns number

  • +
  • set width(value: number): void
  • +
  • +

    Set width.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+

Methods

+
+ +
    + +
  • +

    Draws the entity.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Updates the entity.

    +
    +

    Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/classes/Obstacle.Obstacle.html b/frontend/docs/classes/Obstacle.Obstacle.html new file mode 100644 index 0000000..f99d782 --- /dev/null +++ b/frontend/docs/classes/Obstacle.Obstacle.html @@ -0,0 +1,417 @@ +Obstacle | Raspberry Rocketeer Docs
+
+ +
+
+
+ +
+

Obstacle of the game. Built from 2 pipes, one at the bottom, one at the top.

+
+
+

Hierarchy

+
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs the Obstacle with the given image.

    +
    +
    +

    Parameters

    +
      +
    • +
      position: Position
      +

      starting position of the obstacle

      +
    • +
    • +
      obstacleWidth: number
      +

      width of the obstacle

      +
    • +
    • +
      obstacleHeight: number
      +

      height of the obstacle

      +
    • +
    • +
      pipeImagePath: string
      +

      path to the image to be used

      +
    +

    Returns Obstacle

+
+

Properties

+
+ +
padding: number = 150
+
+ +
pipeBottom: Pipe
+
+ +
pipeTop: Pipe
+
+ +
speed: number = 3
+
+ +
_distanceBetweenPipes: number
+
+ +
_startX: number
+
+

Accessors

+
+ +
    +
  • get height(): number
  • +
  • +

    Get height.

    +
    +

    Returns number

  • +
  • set height(value: number): void
  • +
  • +

    Set height.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
    +
  • get position(): Position
  • +
  • +

    Get position.

    +
    +

    Returns Position

  • +
  • set position(value: Position): void
  • +
  • +

    Set position.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    +
  • get showHitbox(): boolean
  • +
  • +

    Get the hitbox's visibility.

    +
    +

    Returns boolean

  • +
  • set showHitbox(value: boolean): void
  • +
  • +

    Set the hitbox's visibility.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: boolean
    +

    Returns void

+
+ +
    +
  • get width(): number
  • +
  • +

    Get width.

    +
    +

    Returns number

  • +
  • set width(value: number): void
  • +
  • +

    Set width.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
    +
  • set distanceBetweenPipes(value: number): void
  • +
  • +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
    +
  • set startX(value: number): void
  • +
  • +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+

Methods

+
+ +
    + +
  • +

    Determines when the obstacle is colliding with another entity

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • Private +

    Creates the pipes.

    +
    +
    +

    Parameters

    +
      +
    • +
      position: Position
    • +
    • +
      obstacleHeight: number
    • +
    • +
      obstacleWidth: number
    • +
    • +
      pipeImagePath: string
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Creates a random number between the min and max parameter

    +
    +
    +

    Parameters

    +
      +
    • +
      min: number
      +

      minimum number

      +
    • +
    • +
      max: number
      +

      maximum number

      +
    +

    Returns number

+
+ +
    + +
  • +

    Randomizes the height of the pipes

    +
    +

    Returns void

+
+ +
    + +
  • +

    Resets the position of the obstacle to the Obstacle.startX variable +Randomises the height of the pipes using the padding variable

    +
    +

    Returns void

+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/classes/Pipe.Pipe.html b/frontend/docs/classes/Pipe.Pipe.html new file mode 100644 index 0000000..6943c9a --- /dev/null +++ b/frontend/docs/classes/Pipe.Pipe.html @@ -0,0 +1,328 @@ +Pipe | Raspberry Rocketeer Docs
+
+ +
+
+
+ +
+

Rectangular obstacle.

+
+
+

Hierarchy

+
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Constructs the pipe.

    +
    +
    +

    Parameters

    +
      +
    • +
      positionX: number
      +

      starting x-Position

      +
    • +
    • +
      width: number
      +

      pipe width

      +
    • +
    • +
      height: number
      +

      pipe height

      +
    • +
    • +
      image: string
      +

      path to image.

      +
    +

    Returns Pipe

+
+

Properties

+
+ +
_image: Image
+

Pipe's image.

+
+
+

Accessors

+
+ +
    +
  • get height(): number
  • +
  • +

    Get height.

    +
    +

    Returns number

  • +
  • set height(value: number): void
  • +
  • +

    Set height.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
    +
  • get image(): Image
  • +
  • +

    Gets the image.

    +
    +

    Returns Image

  • +
  • set image(path: any): void
  • +
  • +

    Sets the image.

    +
    +
    +

    Parameters

    +
      +
    • +
      path: any
      +

      Path to image

      +
    +

    Returns void

+
+ +
    +
  • get position(): Position
  • +
  • +

    Get position.

    +
    +

    Returns Position

  • +
  • set position(value: Position): void
  • +
  • +

    Set position.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    +
  • get showHitbox(): boolean
  • +
  • +

    Get the hitbox's visibility.

    +
    +

    Returns boolean

  • +
  • set showHitbox(value: boolean): void
  • +
  • +

    Set the hitbox's visibility.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: boolean
    +

    Returns void

+
+ +
    +
  • get width(): number
  • +
  • +

    Get width.

    +
    +

    Returns number

  • +
  • set width(value: number): void
  • +
  • +

    Set width.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+

Methods

+
+ +
    + +
  • +

    Determines when the pipe is colliding with another entity

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
    + +
  • +

    Moves the pipe to the lift with the given speed

    +
    +
    +

    Parameters

    +
      +
    • +
      speed: number
      +

      how fast the pipe moves

      +
    +

    Returns void

+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/classes/Position.Position.html b/frontend/docs/classes/Position.Position.html new file mode 100644 index 0000000..2c437ea --- /dev/null +++ b/frontend/docs/classes/Position.Position.html @@ -0,0 +1,170 @@ +Position | Raspberry Rocketeer Docs
+
+ +
+
+
+ +
+

2D Point.

+
+
+

Hierarchy

+
    +
  • Position
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
_x +_y +
+
+

Accessors

+
x +y +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs the position.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      x-Position

      +
    • +
    • +
      y: number
      +

      y-Position

      +
    +

    Returns Position

+
+

Properties

+
+ +
_x: number
+

X coordinate.

+
+
+ +
_y: number
+

Y coordinate.

+
+
+

Accessors

+
+ +
    +
  • get x(): number
  • +
  • +

    Get x.

    +
    +

    Returns number

  • +
  • set x(value: number): void
  • +
  • +

    Set x.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
    +
  • get y(): number
  • +
  • +

    Get y.

    +
    +

    Returns number

  • +
  • set y(value: number): void
  • +
  • +

    Set y.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/classes/Raspberry.Raspberry.html b/frontend/docs/classes/Raspberry.Raspberry.html new file mode 100644 index 0000000..1353e10 --- /dev/null +++ b/frontend/docs/classes/Raspberry.Raspberry.html @@ -0,0 +1,475 @@ +Raspberry | Raspberry Rocketeer Docs
+
+ +
+
+
+ +
+

Raspberry class.

+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
_image: Image
+

Image for the raspberry.

+
+
+ +
_velocity: number = 0
+

Current speed.

+
+
+ +
gravity: number = 1.314159265358979323846264338
+

Gravity applied.

+
+
+ +
lift: number = -20
+

Amount of lift applied when boosting.

+
+
+ +
FILL: number = 0
+

Color.

+
+
+ +
HEIGHT: number = 70
+

Height.

+
+
+ +
WIDTH: number = 180
+

Width.

+
+
+ +
maxVelocity: number = 100
+

Maximum velocity, so the raspberry doesn't get to infinite speed when boosting.

+
+
+ +
position: Position
+

Position.

+
+
+

Accessors

+
+ +
    +
  • get height(): number
  • +
  • +

    Get height.

    +
    +

    Returns number

  • +
  • set height(value: number): void
  • +
  • +

    Set height.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
    +
  • get image(): Image
  • +
  • +

    Gets the image.

    +
    +

    Returns Image

  • +
  • set image(path: any): void
  • +
  • +

    Sets the image by path.

    +
    +
    +

    Parameters

    +
      +
    • +
      path: any
    +

    Returns void

+
+ +
    +
  • get position(): Position
  • +
  • +

    Get position.

    +
    +

    Returns Position

  • +
  • set position(value: Position): void
  • +
  • +

    Set position.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    +
  • get showHitbox(): boolean
  • +
  • +

    Get the hitbox's visibility.

    +
    +

    Returns boolean

  • +
  • set showHitbox(value: boolean): void
  • +
  • +

    Set the hitbox's visibility.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: boolean
    +

    Returns void

+
+ +
    +
  • get velocity(): number
  • +
  • +

    Gets the velocity.

    +
    +

    Returns number

  • +
  • set velocity(value: number): void
  • +
  • +

    Sets the velocity.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+ +
    +
  • get width(): number
  • +
  • +

    Get width.

    +
    +

    Returns number

  • +
  • set width(value: number): void
  • +
  • +

    Set width.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
    +

    Returns void

+
+

Methods

+
+ +
    + +
  • +

    Lets the Raspberry fall to the ground

    +
    +

    Returns void

+
+ +
    + +
  • +

    Lets the raspberry jump.

    +
    +

    Returns void

+
+ +
    + +
  • Private +

    Forces the boundaries at the canvas' bottom.

    +
    +

    Returns void

+
+ +
    + +
  • Private +

    Forces the boundaries at the canvas' top.

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    If enabled, draws the hitbox.

    +
    +

    Returns void

+
+ +
    + +
  • Private +

    Draws the rocket.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Handles the drawing of the object.

    +
    +

    Returns void

+
+ +
    + +
  • Private +

    Limits the raspberry's movement to the shown canvas.

    +
    +

    Returns void

+
+ +
    + +
  • Private +

    Rotation and position of the rocket.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Applies gravity and keeps the raspberry within the canvas.

    +
    +

    Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/index.html b/frontend/docs/index.html new file mode 100644 index 0000000..6bb684d --- /dev/null +++ b/frontend/docs/index.html @@ -0,0 +1,47 @@ +Raspberry Rocketeer Docs
+
+ +
+
+
+
+

Raspberry Rocketeer Docs

+
classDiagram
direction BT
class Collidable {
collides(o: Entity) boolean
}
class Entity {
constructor(position: Position, width: number, height: number, fill: number)
Position _position
number _width
number _height
number fill
boolean _showHitbox
update() void
draw() void
Position position
number width
number height
boolean showHitbox
}
class Obstacle {
constructor(position: Position, obstacleWidth: number, obstacleHeight: number, pipeImagePath: string)
Pipe pipeTop
Pipe pipeBottom
number padding
number speed
number _distanceBetweenPipes
number _startX
createPipes(position: Position, obstacleHeight: number, obstacleWidth: number, pipeImagePath: string) void
resetPosition() void
randomizeHeight() void
randomRange(min: number, max: number) number
update() void
draw() void
collides(o: Entity) boolean
any startX
any distanceBetweenPipes
}
class Pipe {
constructor(positionX: number, width: number, height: number, image: string)
p5.Image _image
update() void
draw() void
move(speed: number) void
collides(o: Entity) boolean
p5.Image image
}
class Position {
constructor(x: number, y: number)
number _x
number _y
number x
number y
}
class Raspberry {
constructor(image: string)
number lift
number gravity
number _velocity
p5.Image _image
Position position
number maxVelocity
number WIDTH
number HEIGHT
number FILL
update() void
applyGravity() void
forceBoundaries() void
boundaryTop() void
boundaryBottom() void
boost() void
draw() void
drawObject() void
drawRocket() void
drawHitBox() void
setPose() void
number velocity
p5.Image image
}

Obstacle ..> Collidable
Obstacle --> Entity
Pipe ..> Collidable
Pipe --> Entity
Raspberry --> Entity
+
+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/interfaces/Collidable.Collidable.html b/frontend/docs/interfaces/Collidable.Collidable.html new file mode 100644 index 0000000..0804eef --- /dev/null +++ b/frontend/docs/interfaces/Collidable.Collidable.html @@ -0,0 +1,95 @@ +Collidable | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Interface Collidable

+
+

Collide-able objects.

+
+
+

Hierarchy

+
    +
  • Collidable
+
+

Implemented by

+
+
+
+
+ +
+
+

Methods

+
+
+

Methods

+
+ +
    + +
  • +

    Determines when two entities collide

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/modules.html b/frontend/docs/modules.html new file mode 100644 index 0000000..467a96f --- /dev/null +++ b/frontend/docs/modules.html @@ -0,0 +1,56 @@ +Raspberry Rocketeer Docs
+
+ +
+
+
+
+

Raspberry Rocketeer Docs

+
+
+

Index

+
+

Modules

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/modules/Collidable.html b/frontend/docs/modules/Collidable.html new file mode 100644 index 0000000..7d74622 --- /dev/null +++ b/frontend/docs/modules/Collidable.html @@ -0,0 +1,59 @@ +Collidable | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Module Collidable

+
+
+
+
+

Index

+
+

Interfaces

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/modules/Entity.html b/frontend/docs/modules/Entity.html new file mode 100644 index 0000000..5df6aa0 --- /dev/null +++ b/frontend/docs/modules/Entity.html @@ -0,0 +1,59 @@ +Entity | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Module Entity

+
+
+
+
+

Index

+
+

Classes

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/modules/Obstacle.html b/frontend/docs/modules/Obstacle.html new file mode 100644 index 0000000..ab63f5b --- /dev/null +++ b/frontend/docs/modules/Obstacle.html @@ -0,0 +1,59 @@ +Obstacle | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Module Obstacle

+
+
+
+
+

Index

+
+

Classes

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/modules/Pipe.html b/frontend/docs/modules/Pipe.html new file mode 100644 index 0000000..8b1cf61 --- /dev/null +++ b/frontend/docs/modules/Pipe.html @@ -0,0 +1,59 @@ +Pipe | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Module Pipe

+
+
+
+
+

Index

+
+

Classes

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/modules/Position.html b/frontend/docs/modules/Position.html new file mode 100644 index 0000000..3fb5a57 --- /dev/null +++ b/frontend/docs/modules/Position.html @@ -0,0 +1,59 @@ +Position | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Module Position

+
+
+
+
+

Index

+
+

Classes

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/docs/modules/Raspberry.html b/frontend/docs/modules/Raspberry.html new file mode 100644 index 0000000..9b0c790 --- /dev/null +++ b/frontend/docs/modules/Raspberry.html @@ -0,0 +1,59 @@ +Raspberry | Raspberry Rocketeer Docs
+
+ +
+
+
+
+ +

Module Raspberry

+
+
+
+
+

Index

+
+

Classes

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/frontend/game.ts b/frontend/game.ts index f99cb76..ad485a4 100644 --- a/frontend/game.ts +++ b/frontend/game.ts @@ -202,18 +202,18 @@ function resetScore(): void { /** * Handler for key events. */ -function keyPressed() { - if (!ready) return; - // Jump - if (BOOST_KEYS.includes(key.toLowerCase())) { - resetScore(); - raspberry.boost(); - } - - // Pause the Game - if (key == "Escape") { - paused = !paused; - } else if (paused) { - paused = false; - } -} +// function keyPressed() { +// if (!ready) return; +// // Jump +// if (BOOST_KEYS.includes(key.toLowerCase())) { +// resetScore(); +// raspberry.boost(); +// } +// +// // Pause the Game +// if (key == "Escape") { +// paused = !paused; +// } else if (paused) { +// paused = false; +// } +// } diff --git a/frontend/package-lock.json b/frontend/package-lock.json index e46be8b..7f892a7 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,7 +8,8 @@ "@types/p5": "^1.4.3", "browser-sync": "^2.27.10", "npm-run-all": "^4.1.5", - "p5": "^1.5.0" + "p5": "^1.5.0", + "typedoc": "^0.23.24" } }, "node_modules/@socket.io/component-emitter": { @@ -1200,6 +1201,11 @@ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, "node_modules/jsonfile": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", @@ -1310,6 +1316,22 @@ "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==" }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "node_modules/marked": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", + "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -1918,6 +1940,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/shiki": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.12.1.tgz", + "integrity": "sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ==", + "dependencies": { + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -2274,6 +2306,45 @@ "node": ">=0.6" } }, + "node_modules/typedoc": { + "version": "0.23.24", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.24.tgz", + "integrity": "sha512-bfmy8lNQh+WrPYcJbtjQ6JEEsVl/ce1ZIXyXhyW+a1vFrjO39t6J8sL/d6FfAGrJTc7McCXgk9AanYBSNvLdIA==", + "dependencies": { + "lunr": "^2.3.9", + "marked": "^4.2.5", + "minimatch": "^5.1.2", + "shiki": "^0.12.1" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 14.14" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/typescript": { "version": "4.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", @@ -2359,6 +2430,16 @@ "node": ">= 0.8" } }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -3373,6 +3454,11 @@ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, "jsonfile": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", @@ -3462,6 +3548,16 @@ "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==" }, + "lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "marked": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", + "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==" + }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -3912,6 +4008,16 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" }, + "shiki": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.12.1.tgz", + "integrity": "sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ==", + "requires": { + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -4177,6 +4283,35 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, + "typedoc": { + "version": "0.23.24", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.24.tgz", + "integrity": "sha512-bfmy8lNQh+WrPYcJbtjQ6JEEsVl/ce1ZIXyXhyW+a1vFrjO39t6J8sL/d6FfAGrJTc7McCXgk9AanYBSNvLdIA==", + "requires": { + "lunr": "^2.3.9", + "marked": "^4.2.5", + "minimatch": "^5.1.2", + "shiki": "^0.12.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "typescript": { "version": "4.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", @@ -4227,6 +4362,16 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, + "vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" + }, + "vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index a3f301f..2736011 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,6 +9,7 @@ "@types/p5": "^1.4.3", "browser-sync": "^2.27.10", "npm-run-all": "^4.1.5", - "p5": "^1.5.0" + "p5": "^1.5.0", + "typedoc": "^0.23.24" } }