UNPKG

dcl-scene-writer

Version:

Programmatically write DCL scenes

1 lines 1.01 MB
module.exports=function(e,n){"use strict";var t={};function __webpack_require__(n){if(t[n]){return t[n].exports}var a=t[n]={i:n,l:false,exports:{}};e[n].call(a.exports,a,a.exports,__webpack_require__);a.l=true;return a.exports}return __webpack_require__(732)}({336:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:true});const a=t(946);const r=t(623);class LightweightWriter extends r.SceneWriter{constructor(){super(...arguments);this.instanceCount=0;this.nameMapping={}}addEntity(e,n){if(this.entities.has(e)){throw new Error(`There is already an entity with name "${e}"`)}this.nameMapping[e]=++this.instanceCount;this.entities.set(e,n)}getEntityName(e){const n=super.getEntityName(e);if(!n){return n}return""+this.nameMapping[n]}stepPrologue(){return`dcl.subscribe('sceneStart');\n`}stepStartEntity(e,n){return`dcl.addEntity('${n}');\n`}stepSetEntityParent(e,n,t){let a="0";if(t){a=this.getEntityName(t);if(!a){throw new Error(`Parent entity of "${super.getEntityName(e)}" is missing, you should add parents first.`)}}return`dcl.setParent('${n}', '${a}');\n`}stepWriteComponentDeclaration(e,n,t,r){if(a.getComponentName(n)==="engine.transform"){return`dcl.updateEntityComponent('${this.getEntityName(e)}', 'engine.transform', ${a.getComponentClassId(n)}, JSON.stringify(${JSON.stringify(n)}));\n`}return`dcl.componentCreated('${t}', '${a.getComponentName(n)}', ${a.getComponentClassId(n)});\ndcl.componentUpdated('${t}', JSON.stringify(${JSON.stringify(n)}));\n`}stepSetComponentParent(e,n,t,r){const o=a.getComponentClassId(r);if(o!==null){if(a.isDisposableComponent(r)){return`dcl.attachEntityComponent('${n}', '${a.getComponentName(r)}', '${t}');\n`}}return""}writeComponent(e,n,t){return""}}n.LightweightWriter=LightweightWriter},546:function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:true});function isLowerCaseChar(e){return!!e&&e.length===1&&e.toLowerCase()===e}n.isLowerCaseChar=isLowerCaseChar;function toCamelCase(e){let n="";let t=true;for(let a=0;a<e.length;a++){n+=t?e[a].toLowerCase():e[a];if(a<e.length-2&&isLowerCaseChar(e[a+2])){t=false}}return n}n.toCamelCase=toCamelCase;n.blacklist=["Shape","ObservableComponent"]},623:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:true});const a=t(546);class SceneWriter{constructor(e,n){this.entities=new Map;this.DCL=e;this.map=n||t(847)}addEntity(e,n){if(this.entities.has(e)){throw new Error(`There is already an entity with name "${e}"`)}this.entities.set(e,n)}emitCode(){const e=[];e.push(this.stepPrologue());const n={instanceToName:new Map,takenNames:new Set};this.entities.forEach(t=>{e.push(this.writeEntity(t,n).trim()+"\n")});return e.join("\n")}writeEntity(e,n){const t=[];const r=this.getEntityName(e);t.push(this.stepStartEntity(e,r));const o=e.getParent();t.push(this.stepSetEntityParent(e,r,o));const d=Object.keys(e.components);for(let o of d){const d=e.components[o];try{let o=n.instanceToName.get(d);if(!o){const r=this.getConstructorName(d);const i=a.toCamelCase(r);let c=1;o=i;while(n.takenNames.has(o)){c++;o=`${i}${c}`}const s=this.writeComponent(o,r,d);n.takenNames.add(o);n.instanceToName.set(d,o);t.push(this.stepWriteComponentDeclaration(e,d,o,s))}t.push(this.stepSetComponentParent(e,r,o,d))}catch(e){console.log(e,e.stack)}}return t.join("")}stepPrologue(){return""}stepStartEntity(e,n){return`const ${n} = new Entity('${n}')\n`}stepSetEntityParent(e,n,t){if(t){const e=this.getEntityName(t);if(!e){throw new Error(`Parent entity of "${n}" is missing, you should add parents first.`)}return`engine.addEntity(${n})\n${n}.setParent(${e})\n`}return`engine.addEntity(${n})\n`}stepWriteComponentDeclaration(e,n,t,a){return`const ${t} = ${a}\n`}stepSetComponentParent(e,n,t,a){return`${n}.addComponentOrReplace(${t})\n`}getConstructorName(e){const n=this.map.members[0];const t=n.members.filter(e=>e.kind==="Class"&&!a.blacklist.includes(e.name)).map(e=>e.name);for(const n of t){if(e instanceof this.DCL[n]){return n}}}writeComponent(e,n,t){if(n==="Transform"){return`new Transform(${this.getTransformComponentData(t.data)})`}else{let a=`new ${n}(${this.getConstructorValues(n,t.data)})`;const r=this.getConstructorParameters(n).reduce((e,n)=>e.add(n),new Set);const o=this.getReadOnlyProperties(n).reduce((e,n)=>e.add(n),new Set);const d=Object.keys(t.data).filter(e=>!r.has(e)&&!o.has(e));for(const n of d){a+=`\n${e}.${n} = ${JSON.stringify(t.data[n])}`}return a}}getEntityName(e){for(let n of this.entities){if(n[1]===e){return n[0]}}}getConstructorValues(e,n){const t=this.getConstructorParameters(e);if(!t){return""}const a=t.map(e=>JSON.stringify(n[e]));return a.join(", ")}getConstructorParameters(e){const n=this.map.members[0];const t=n.members.find(n=>n.name===e);const a=t.members.find(e=>e.kind==="Constructor");if(a){return a.parameters.map(e=>e.parameterName)}return[]}getReadOnlyProperties(e){const n=this.map.members[0];const t=n.members.find(n=>n.name===e);const a=t.members.filter(e=>e.kind==="Property"&&e.excerptTokens.some(e=>e.text.toLowerCase().includes("readonly"))).map(e=>e.name);return a}getTransformComponentData(e){const n=[];for(const t in e){if(e[t]instanceof this.DCL.Vector3){n.push(`${t}: new Vector3(${e[t].x}, ${e[t].y}, ${e[t].z})`)}if(e[t]instanceof this.DCL.Quaternion){n.push(`${t}: new Quaternion(${e[t].x}, ${e[t].y}, ${e[t].z}, ${e[t].w})`)}}return`{\n ${n.join(",\n ")}\n}`}}n.SceneWriter=SceneWriter},732:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:true});const a=t(623);n.SceneWriter=a.SceneWriter;const r=t(336);n.LightweightWriter=r.LightweightWriter;n.default=a.SceneWriter},847:function(e){e.exports={metadata:{toolPackage:"@microsoft/api-extractor",toolVersion:"7.4.4",schemaVersion:1003,oldestForwardsCompatibleVersion:1001},kind:"Package",canonicalReference:"decentraland-ecs!",docComment:"",name:"decentraland-ecs",members:[{kind:"EntryPoint",canonicalReference:"decentraland-ecs!",name:"",members:[{kind:"Enum",canonicalReference:"decentraland-ecs!ActionButton:enum",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare enum ActionButton "}],releaseTag:"Public",name:"ActionButton",members:[{kind:"EnumMember",canonicalReference:"decentraland-ecs!ActionButton.ANY:member",docComment:"",excerptTokens:[{kind:"Content",text:"ANY = "},{kind:"Content",text:'"ANY"'}],releaseTag:"Public",name:"ANY",initializerTokenRange:{startIndex:1,endIndex:2}},{kind:"EnumMember",canonicalReference:"decentraland-ecs!ActionButton.POINTER:member",docComment:"",excerptTokens:[{kind:"Content",text:"POINTER = "},{kind:"Content",text:'"POINTER"'}],releaseTag:"Public",name:"POINTER",initializerTokenRange:{startIndex:1,endIndex:2}},{kind:"EnumMember",canonicalReference:"decentraland-ecs!ActionButton.PRIMARY:member",docComment:"",excerptTokens:[{kind:"Content",text:"PRIMARY = "},{kind:"Content",text:'"PRIMARY"'}],releaseTag:"Public",name:"PRIMARY",initializerTokenRange:{startIndex:1,endIndex:2}},{kind:"EnumMember",canonicalReference:"decentraland-ecs!ActionButton.SECONDARY:member",docComment:"",excerptTokens:[{kind:"Content",text:"SECONDARY = "},{kind:"Content",text:'"SECONDARY"'}],releaseTag:"Public",name:"SECONDARY",initializerTokenRange:{startIndex:1,endIndex:2}}]},{kind:"Class",canonicalReference:"decentraland-ecs!Angle:class",docComment:"/**\n * Defines angle representation\n *\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class Angle "}],releaseTag:"Public",name:"Angle",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!Angle:constructor(1)",docComment:'/**\n * Creates an Angle object of "radians" radians (float).\n */\n',excerptTokens:[{kind:"Content",text:"constructor(radians: "},{kind:"Content",text:"number"},{kind:"Content",text:");"}],releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"radians",parameterTypeTokenRange:{startIndex:1,endIndex:2}}]},{kind:"Method",canonicalReference:"decentraland-ecs!Angle.BetweenTwoPoints:member(1)",docComment:"/**\n * Gets a new Angle object valued with the angle value in radians between the two given vectors\n *\n * @param a - defines first vector\n *\n * @param b - defines second vector\n *\n * @returns a new Angle\n */\n",excerptTokens:[{kind:"Content",text:"static BetweenTwoPoints(a: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:", b: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:"): "},{kind:"Reference",text:"Angle",canonicalReference:"decentraland-ecs!Angle:class"},{kind:"Content",text:";"}],isStatic:true,returnTypeTokenRange:{startIndex:5,endIndex:6},releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"a",parameterTypeTokenRange:{startIndex:1,endIndex:2}},{parameterName:"b",parameterTypeTokenRange:{startIndex:3,endIndex:4}}],name:"BetweenTwoPoints"},{kind:"Method",canonicalReference:"decentraland-ecs!Angle#degrees:member(1)",docComment:"/**\n * Get value in degrees\n *\n * @returns the Angle value in degrees (float)\n */\n",excerptTokens:[{kind:"Content",text:"degrees(): "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"degrees"},{kind:"Method",canonicalReference:"decentraland-ecs!Angle.FromDegrees:member(1)",docComment:"/**\n * Gets a new Angle object from the given float in degrees\n *\n * @param degrees - defines the angle value in degrees\n *\n * @returns a new Angle\n */\n",excerptTokens:[{kind:"Content",text:"static FromDegrees(degrees: "},{kind:"Content",text:"number"},{kind:"Content",text:"): "},{kind:"Reference",text:"Angle",canonicalReference:"decentraland-ecs!Angle:class"},{kind:"Content",text:";"}],isStatic:true,returnTypeTokenRange:{startIndex:3,endIndex:4},releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"degrees",parameterTypeTokenRange:{startIndex:1,endIndex:2}}],name:"FromDegrees"},{kind:"Method",canonicalReference:"decentraland-ecs!Angle.FromRadians:member(1)",docComment:"/**\n * Gets a new Angle object from the given float in radians\n *\n * @param radians - defines the angle value in radians\n *\n * @returns a new Angle\n */\n",excerptTokens:[{kind:"Content",text:"static FromRadians(radians: "},{kind:"Content",text:"number"},{kind:"Content",text:"): "},{kind:"Reference",text:"Angle",canonicalReference:"decentraland-ecs!Angle:class"},{kind:"Content",text:";"}],isStatic:true,returnTypeTokenRange:{startIndex:3,endIndex:4},releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"radians",parameterTypeTokenRange:{startIndex:1,endIndex:2}}],name:"FromRadians"},{kind:"Method",canonicalReference:"decentraland-ecs!Angle#radians:member(1)",docComment:"/**\n * Get value in radians\n *\n * @returns the Angle value in radians (float)\n */\n",excerptTokens:[{kind:"Content",text:"radians(): "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"radians"}],implementsTokenRanges:[]},{kind:"TypeAlias",canonicalReference:"decentraland-ecs!AnimationParams:type",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare type AnimationParams = "},{kind:"Content",text:"{\n looping?: boolean;\n speed?: number;\n weight?: number;\n}"},{kind:"Content",text:";"}],releaseTag:"Public",name:"AnimationParams",typeTokenRange:{startIndex:1,endIndex:2}},{kind:"Class",canonicalReference:"decentraland-ecs!AnimationState:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class AnimationState extends "},{kind:"Reference",text:"ObservableComponent",canonicalReference:"decentraland-ecs!ObservableComponent:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"AnimationState",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!AnimationState:constructor(1)",docComment:"/**\n * Constructs a new instance of the `AnimationState` class\n */\n",excerptTokens:[{kind:"Content",text:"constructor(clip: "},{kind:"Content",text:"string"},{kind:"Content",text:", params?: "},{kind:"Reference",text:"AnimationParams",canonicalReference:"decentraland-ecs!AnimationParams:type"},{kind:"Content",text:");"}],releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"clip",parameterTypeTokenRange:{startIndex:1,endIndex:2}},{parameterName:"params",parameterTypeTokenRange:{startIndex:3,endIndex:4}}]},{kind:"Property",canonicalReference:"decentraland-ecs!AnimationState#clip:member",docComment:"/**\n * Name of the animation in the model\n */\n",excerptTokens:[{kind:"Content",text:"readonly clip: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"clip",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AnimationState#looping:member",docComment:"/**\n * Does the animation loop?, default: true\n */\n",excerptTokens:[{kind:"Content",text:"looping: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"looping",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Method",canonicalReference:"decentraland-ecs!AnimationState#pause:member(1)",docComment:"/**\n * Pauses the animation\n */\n",excerptTokens:[{kind:"Content",text:"pause(): "},{kind:"Content",text:"void"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"pause"},{kind:"Method",canonicalReference:"decentraland-ecs!AnimationState#play:member(1)",docComment:"/**\n * Starts the animation\n */\n",excerptTokens:[{kind:"Content",text:"play(): "},{kind:"Content",text:"void"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"play"},{kind:"Property",canonicalReference:"decentraland-ecs!AnimationState#playing:member",docComment:"/**\n * Is the animation playing? default: true\n */\n",excerptTokens:[{kind:"Content",text:"playing: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"playing",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Method",canonicalReference:"decentraland-ecs!AnimationState#reset:member(1)",docComment:"/**\n * Resets the animation state to the frame 0\n */\n",excerptTokens:[{kind:"Content",text:"reset(): "},{kind:"Content",text:"void"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"reset"},{kind:"Method",canonicalReference:"decentraland-ecs!AnimationState#setParams:member(1)",docComment:"/**\n * Sets the clip parameters\n */\n",excerptTokens:[{kind:"Content",text:"setParams(params: "},{kind:"Reference",text:"AnimationParams",canonicalReference:"decentraland-ecs!AnimationParams:type"},{kind:"Content",text:"): "},{kind:"Content",text:"this"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:3,endIndex:4},releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"params",parameterTypeTokenRange:{startIndex:1,endIndex:2}}],name:"setParams"},{kind:"Property",canonicalReference:"decentraland-ecs!AnimationState#shouldReset:member",docComment:"/**\n * Does any anyone asked to reset the animation? default: false\n */\n",excerptTokens:[{kind:"Content",text:"shouldReset: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"shouldReset",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AnimationState#speed:member",docComment:"/**\n * The animation speed\n */\n",excerptTokens:[{kind:"Content",text:"speed: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"speed",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Method",canonicalReference:"decentraland-ecs!AnimationState#stop:member(1)",docComment:"/**\n * Resets and pauses the animation\n */\n",excerptTokens:[{kind:"Content",text:"stop(): "},{kind:"Content",text:"void"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"stop"},{kind:"Method",canonicalReference:"decentraland-ecs!AnimationState#toJSON:member(1)",docComment:"",excerptTokens:[{kind:"Content",text:"toJSON(): "},{kind:"Content",text:"any"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"toJSON"},{kind:"Property",canonicalReference:"decentraland-ecs!AnimationState#weight:member",docComment:"/**\n * Weight of the animation, values from 0 to 1, used to blend several animations. default: 1\n */\n",excerptTokens:[{kind:"Content",text:"weight: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"weight",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!Animator:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class Animator extends "},{kind:"Reference",text:"Shape",canonicalReference:"decentraland-ecs!Shape:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"Animator",members:[{kind:"Method",canonicalReference:"decentraland-ecs!Animator#addClip:member(1)",docComment:"/**\n * Adds an AnimationState to the animation lists.\n */\n",excerptTokens:[{kind:"Content",text:"addClip(clip: "},{kind:"Reference",text:"AnimationState",canonicalReference:"decentraland-ecs!AnimationState:class"},{kind:"Content",text:"): "},{kind:"Content",text:"this"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:3,endIndex:4},releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"clip",parameterTypeTokenRange:{startIndex:1,endIndex:2}}],name:"addClip"},{kind:"Method",canonicalReference:"decentraland-ecs!Animator#getClip:member(1)",docComment:"/**\n * Gets the animation clip instance for the specified clip name. If the clip doesn't exist a new one will be created.\n */\n",excerptTokens:[{kind:"Content",text:"getClip(clipName: "},{kind:"Content",text:"string"},{kind:"Content",text:"): "},{kind:"Reference",text:"AnimationState",canonicalReference:"decentraland-ecs!AnimationState:class"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:3,endIndex:4},releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"clipName",parameterTypeTokenRange:{startIndex:1,endIndex:2}}],name:"getClip"}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!Arc2:class",docComment:"/**\n * This represents an arc in a 2d space.\n *\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class Arc2 "}],releaseTag:"Public",name:"Arc2",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!Arc2:constructor(1)",docComment:"/**\n * Creates an Arc object from the three given points : start, middle and end.\n *\n * @param startPoint - Defines the start point of the arc\n *\n * @param midPoint - Defines the midlle point of the arc\n *\n * @param endPoint - Defines the end point of the arc\n */\n",excerptTokens:[{kind:"Content",text:"constructor(\n startPoint: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:", \n midPoint: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:", \n endPoint: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:");"}],releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"startPoint",parameterTypeTokenRange:{startIndex:1,endIndex:2}},{parameterName:"midPoint",parameterTypeTokenRange:{startIndex:3,endIndex:4}},{parameterName:"endPoint",parameterTypeTokenRange:{startIndex:5,endIndex:6}}]},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#angle:member",docComment:"/**\n * Defines the angle of the arc (from mid point to end point).\n */\n",excerptTokens:[{kind:"Content",text:"angle: "},{kind:"Reference",text:"Angle",canonicalReference:"decentraland-ecs!Angle:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"angle",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#centerPoint:member",docComment:"/**\n * Defines the center point of the arc.\n */\n",excerptTokens:[{kind:"Content",text:"centerPoint: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"centerPoint",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#endPoint:member",docComment:"/**\n * Defines the end point of the arc\n */\n",excerptTokens:[{kind:"Content",text:"endPoint: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"endPoint",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#midPoint:member",docComment:"/**\n * Defines the mid point of the arc\n */\n",excerptTokens:[{kind:"Content",text:"midPoint: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"midPoint",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#orientation:member",docComment:"/**\n * Defines the orientation of the arc (clock wise/counter clock wise).\n */\n",excerptTokens:[{kind:"Content",text:"orientation: "},{kind:"Reference",text:"Orientation",canonicalReference:"decentraland-ecs!Orientation:enum"},{kind:"Content",text:";"}],releaseTag:"Public",name:"orientation",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#radius:member",docComment:"/**\n * Defines the radius of the arc.\n */\n",excerptTokens:[{kind:"Content",text:"radius: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"radius",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#startAngle:member",docComment:"/**\n * Defines the start angle of the arc (from start point to middle point).\n */\n",excerptTokens:[{kind:"Content",text:"startAngle: "},{kind:"Reference",text:"Angle",canonicalReference:"decentraland-ecs!Angle:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"startAngle",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Arc2#startPoint:member",docComment:"/**\n * Defines the start point of the arc\n */\n",excerptTokens:[{kind:"Content",text:"startPoint: "},{kind:"Reference",text:"Vector2",canonicalReference:"decentraland-ecs!Vector2:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"startPoint",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!Attachable:class",docComment:"/**\n * Entities can be attached to each other by using the `setParent` method. However, there are cases where we might want to attach entities to other objects that are not entities created by the same scene (for example, the player's avatar). For those cases, we have this class.\n */\n",excerptTokens:[{kind:"Content",text:"export declare abstract class Attachable "}],releaseTag:"Public",name:"Attachable",members:[{kind:"Property",canonicalReference:"decentraland-ecs!Attachable.AVATAR:member",docComment:"/**\n * Used to attach entities to the avatar. Entities will follow the avatar when it moves\n */\n",excerptTokens:[{kind:"Content",text:"static readonly AVATAR: "},{kind:"Reference",text:"Attachable",canonicalReference:"decentraland-ecs!Attachable:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"AVATAR",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:true},{kind:"Property",canonicalReference:"decentraland-ecs!Attachable.FIRST_PERSON_CAMERA:member",docComment:"/**\n * Used to attach entities to the camera. When in first person mode, the attached entities will also rotate with the camera\n */\n",excerptTokens:[{kind:"Content",text:"static readonly FIRST_PERSON_CAMERA: "},{kind:"Reference",text:"Attachable",canonicalReference:"decentraland-ecs!Attachable:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"FIRST_PERSON_CAMERA",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:true}],implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!AudioClip:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class AudioClip extends "},{kind:"Reference",text:"ObservableComponent",canonicalReference:"decentraland-ecs!ObservableComponent:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"AudioClip",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!AudioClip:constructor(1)",docComment:"/**\n * Constructs a new instance of the `AudioClip` class\n */\n",excerptTokens:[{kind:"Content",text:"constructor(url: "},{kind:"Content",text:"string"},{kind:"Content",text:");"}],releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"url",parameterTypeTokenRange:{startIndex:1,endIndex:2}}]},{kind:"Property",canonicalReference:"decentraland-ecs!AudioClip#loop:member",docComment:"/**\n * Is this clip looping by default?\n */\n",excerptTokens:[{kind:"Content",text:"loop: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"loop",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioClip#url:member",docComment:"",excerptTokens:[{kind:"Content",text:"readonly url: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"url",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioClip#volume:member",docComment:"/**\n * Clip's master volume. This volume affects all the AudioSources. Valid ranges from 0 to 1\n */\n",excerptTokens:[{kind:"Content",text:"volume: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"volume",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!AudioSource:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class AudioSource extends "},{kind:"Reference",text:"ObservableComponent",canonicalReference:"decentraland-ecs!ObservableComponent:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"AudioSource",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!AudioSource:constructor(1)",docComment:"/**\n * Constructs a new instance of the `AudioSource` class\n */\n",excerptTokens:[{kind:"Content",text:"constructor(audioClip: "},{kind:"Reference",text:"AudioClip",canonicalReference:"decentraland-ecs!AudioClip:class"},{kind:"Content",text:");"}],releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"audioClip",parameterTypeTokenRange:{startIndex:1,endIndex:2}}]},{kind:"Property",canonicalReference:"decentraland-ecs!AudioSource#audioClip:member",docComment:"",excerptTokens:[{kind:"Content",text:"readonly audioClip: "},{kind:"Reference",text:"AudioClip",canonicalReference:"decentraland-ecs!AudioClip:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"audioClip",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioSource#audioClipId:member",docComment:"",excerptTokens:[{kind:"Content",text:"readonly audioClipId: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"audioClipId",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioSource#loop:member",docComment:"/**\n * Is this clip looping by default?\n */\n",excerptTokens:[{kind:"Content",text:"loop: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"loop",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioSource#pitch:member",docComment:"/**\n * Pitch, default: 1.0, range from 0.0 to MaxFloat\n */\n",excerptTokens:[{kind:"Content",text:"pitch: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"pitch",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioSource#playing:member",docComment:"/**\n * Is this AudioSource playing?\n */\n",excerptTokens:[{kind:"Content",text:"playing: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"playing",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Method",canonicalReference:"decentraland-ecs!AudioSource#playOnce:member(1)",docComment:"/**\n * Disables the looping and plays the current source once. If the sound was playing, it stops and starts over.\n */\n",excerptTokens:[{kind:"Content",text:"playOnce(): "},{kind:"Content",text:"this"},{kind:"Content",text:";"}],isStatic:false,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"playOnce"},{kind:"Property",canonicalReference:"decentraland-ecs!AudioSource#volume:member",docComment:"/**\n * Clip's master volume. This volume affects all the AudioSources. Valid ranges from 0 to 1\n */\n",excerptTokens:[{kind:"Content",text:"volume: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"volume",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!AudioStream:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class AudioStream extends "},{kind:"Reference",text:"ObservableComponent",canonicalReference:"decentraland-ecs!ObservableComponent:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"AudioStream",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!AudioStream:constructor(1)",docComment:"/**\n * Constructs a new instance of the `AudioStream` class\n */\n",excerptTokens:[{kind:"Content",text:"constructor(url: "},{kind:"Content",text:"string"},{kind:"Content",text:");"}],releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"url",parameterTypeTokenRange:{startIndex:1,endIndex:2}}]},{kind:"Property",canonicalReference:"decentraland-ecs!AudioStream#playing:member",docComment:"",excerptTokens:[{kind:"Content",text:"playing: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"playing",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioStream#url:member",docComment:"",excerptTokens:[{kind:"Content",text:"readonly url: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"url",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AudioStream#volume:member",docComment:"",excerptTokens:[{kind:"Content",text:"volume: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"volume",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"TypeAlias",canonicalReference:"decentraland-ecs!AvatarForRenderer:type",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare type AvatarForRenderer = "},{kind:"Content",text:"{\n bodyShape: "},{kind:"Reference",text:"WearableId",canonicalReference:"decentraland-ecs!WearableId:type"},{kind:"Content",text:";\n skinColor: "},{kind:"Reference",text:"ReadOnlyColor4",canonicalReference:"decentraland-ecs!ReadOnlyColor4:type"},{kind:"Content",text:";\n hairColor: "},{kind:"Reference",text:"ReadOnlyColor4",canonicalReference:"decentraland-ecs!ReadOnlyColor4:type"},{kind:"Content",text:";\n eyeColor: "},{kind:"Reference",text:"ReadOnlyColor4",canonicalReference:"decentraland-ecs!ReadOnlyColor4:type"},{kind:"Content",text:";\n wearables: "},{kind:"Reference",text:"WearableId",canonicalReference:"decentraland-ecs!WearableId:type"},{kind:"Content",text:"[];\n}"},{kind:"Content",text:";"}],releaseTag:"Public",name:"AvatarForRenderer",typeTokenRange:{startIndex:1,endIndex:12}},{kind:"Class",canonicalReference:"decentraland-ecs!AvatarShape:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class AvatarShape extends "},{kind:"Reference",text:"ObservableComponent",canonicalReference:"decentraland-ecs!ObservableComponent:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"AvatarShape",members:[{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#bodyShape:member",docComment:"",excerptTokens:[{kind:"Content",text:"bodyShape: "},{kind:"Reference",text:"WearableId",canonicalReference:"decentraland-ecs!WearableId:type"},{kind:"Content",text:";"}],releaseTag:"Public",name:"bodyShape",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Method",canonicalReference:"decentraland-ecs!AvatarShape.Dummy:member(1)",docComment:"",excerptTokens:[{kind:"Content",text:"static Dummy(): "},{kind:"Reference",text:"AvatarShape",canonicalReference:"decentraland-ecs!AvatarShape:class"},{kind:"Content",text:";"}],isStatic:true,returnTypeTokenRange:{startIndex:1,endIndex:2},releaseTag:"Public",overloadIndex:1,parameters:[],name:"Dummy"},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#expressionTriggerId:member",docComment:"",excerptTokens:[{kind:"Content",text:"expressionTriggerId: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"expressionTriggerId",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#expressionTriggerTimestamp:member",docComment:"",excerptTokens:[{kind:"Content",text:"expressionTriggerTimestamp: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"expressionTriggerTimestamp",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#eyeColor:member",docComment:"",excerptTokens:[{kind:"Content",text:"eyeColor: "},{kind:"Reference",text:"ReadOnlyColor4",canonicalReference:"decentraland-ecs!ReadOnlyColor4:type"},{kind:"Content",text:";"}],releaseTag:"Public",name:"eyeColor",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#hairColor:member",docComment:"",excerptTokens:[{kind:"Content",text:"hairColor: "},{kind:"Reference",text:"ReadOnlyColor4",canonicalReference:"decentraland-ecs!ReadOnlyColor4:type"},{kind:"Content",text:";"}],releaseTag:"Public",name:"hairColor",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#id:member",docComment:"",excerptTokens:[{kind:"Content",text:"id: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"id",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#name:member",docComment:"",excerptTokens:[{kind:"Content",text:"name: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"name",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#skinColor:member",docComment:"",excerptTokens:[{kind:"Content",text:"skinColor: "},{kind:"Reference",text:"ReadOnlyColor4",canonicalReference:"decentraland-ecs!ReadOnlyColor4:type"},{kind:"Content",text:";"}],releaseTag:"Public",name:"skinColor",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#useDummyModel:member",docComment:"",excerptTokens:[{kind:"Content",text:"useDummyModel: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"useDummyModel",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!AvatarShape#wearables:member",docComment:"",excerptTokens:[{kind:"Content",text:"wearables: "},{kind:"Reference",text:"WearableId",canonicalReference:"decentraland-ecs!WearableId:type"},{kind:"Content",text:"[]"},{kind:"Content",text:";"}],releaseTag:"Public",name:"wearables",propertyTypeTokenRange:{startIndex:1,endIndex:3},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!Axis:class",docComment:"/**\n * Defines the 3 main axes\n *\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class Axis "}],releaseTag:"Public",name:"Axis",members:[{kind:"Property",canonicalReference:"decentraland-ecs!Axis.X:member",docComment:"/**\n * X axis\n */\n",excerptTokens:[{kind:"Content",text:"static X: "},{kind:"Reference",text:"Vector3",canonicalReference:"decentraland-ecs!Vector3:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"X",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:true},{kind:"Property",canonicalReference:"decentraland-ecs!Axis.Y:member",docComment:"/**\n * Y axis\n */\n",excerptTokens:[{kind:"Content",text:"static Y: "},{kind:"Reference",text:"Vector3",canonicalReference:"decentraland-ecs!Vector3:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"Y",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:true},{kind:"Property",canonicalReference:"decentraland-ecs!Axis.Z:member",docComment:"/**\n * Z axis\n */\n",excerptTokens:[{kind:"Content",text:"static Z: "},{kind:"Reference",text:"Vector3",canonicalReference:"decentraland-ecs!Vector3:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"Z",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:true}],implementsTokenRanges:[]},{kind:"Interface",canonicalReference:"decentraland-ecs!BasicAvatarInfo:interface",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export interface BasicAvatarInfo "}],releaseTag:"Public",name:"BasicAvatarInfo",members:[{kind:"PropertySignature",canonicalReference:"decentraland-ecs!BasicAvatarInfo#name:member",docComment:"",excerptTokens:[{kind:"Content",text:"name: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"name",propertyTypeTokenRange:{startIndex:1,endIndex:2}},{kind:"PropertySignature",canonicalReference:"decentraland-ecs!BasicAvatarInfo#userId:member",docComment:"",excerptTokens:[{kind:"Content",text:"userId: "},{kind:"Content",text:"string"},{kind:"Content",text:";"}],releaseTag:"Public",name:"userId",propertyTypeTokenRange:{startIndex:1,endIndex:2}}],extendsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!BasicMaterial:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class BasicMaterial extends "},{kind:"Reference",text:"ObservableComponent",canonicalReference:"decentraland-ecs!ObservableComponent:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"BasicMaterial",members:[{kind:"Property",canonicalReference:"decentraland-ecs!BasicMaterial#alphaTest:member",docComment:"/**\n * A number between 0 and 1. Any pixel with an alpha lower than this value will be shown as transparent.\n */\n",excerptTokens:[{kind:"Content",text:"alphaTest: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"alphaTest",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!BasicMaterial#texture:member",docComment:"/**\n * The source of the texture image.\n */\n",excerptTokens:[{kind:"Content",text:"texture?: "},{kind:"Reference",text:"Texture",canonicalReference:"decentraland-ecs!Texture:class"},{kind:"Content",text:" | "},{kind:"Reference",text:"VideoTexture",canonicalReference:"decentraland-ecs!VideoTexture:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"texture",propertyTypeTokenRange:{startIndex:1,endIndex:4},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!BezierCurve:class",docComment:"/**\n * Class used to represent a Bezier curve\n *\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class BezierCurve "}],releaseTag:"Public",name:"BezierCurve",members:[{kind:"Method",canonicalReference:"decentraland-ecs!BezierCurve.Interpolate:member(1)",docComment:'/**\n * Returns the cubic Bezier interpolated value (float) at "t" (float) from the given x1, y1, x2, y2 floats\n *\n * @param t - defines the time\n *\n * @param x1 - defines the left coordinate on X axis\n *\n * @param y1 - defines the left coordinate on Y axis\n *\n * @param x2 - defines the right coordinate on X axis\n *\n * @param y2 - defines the right coordinate on Y axis\n *\n * @returns the interpolated value\n */\n',excerptTokens:[{kind:"Content",text:"static Interpolate(t: "},{kind:"Content",text:"number"},{kind:"Content",text:", x1: "},{kind:"Content",text:"number"},{kind:"Content",text:", y1: "},{kind:"Content",text:"number"},{kind:"Content",text:", x2: "},{kind:"Content",text:"number"},{kind:"Content",text:", y2: "},{kind:"Content",text:"number"},{kind:"Content",text:"): "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],isStatic:true,returnTypeTokenRange:{startIndex:11,endIndex:12},releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"t",parameterTypeTokenRange:{startIndex:1,endIndex:2}},{parameterName:"x1",parameterTypeTokenRange:{startIndex:3,endIndex:4}},{parameterName:"y1",parameterTypeTokenRange:{startIndex:5,endIndex:6}},{parameterName:"x2",parameterTypeTokenRange:{startIndex:7,endIndex:8}},{parameterName:"y2",parameterTypeTokenRange:{startIndex:9,endIndex:10}}],name:"Interpolate"}],implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!Billboard:class",docComment:"/**\n * Billboard defines a behavior that makes the entity face the camera in any moment.\n *\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class Billboard extends "},{kind:"Reference",text:"ObservableComponent",canonicalReference:"decentraland-ecs!ObservableComponent:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"Billboard",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!Billboard:constructor(1)",docComment:"/**\n * Constructs a new instance of the `Billboard` class\n */\n",excerptTokens:[{kind:"Content",text:"constructor(x?: "},{kind:"Content",text:"boolean"},{kind:"Content",text:", y?: "},{kind:"Content",text:"boolean"},{kind:"Content",text:", z?: "},{kind:"Content",text:"boolean"},{kind:"Content",text:");"}],releaseTag:"Public",overloadIndex:1,parameters:[{parameterName:"x",parameterTypeTokenRange:{startIndex:1,endIndex:2}},{parameterName:"y",parameterTypeTokenRange:{startIndex:3,endIndex:4}},{parameterName:"z",parameterTypeTokenRange:{startIndex:5,endIndex:6}}]},{kind:"Property",canonicalReference:"decentraland-ecs!Billboard#x:member",docComment:"",excerptTokens:[{kind:"Content",text:"x: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"x",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Billboard#y:member",docComment:"",excerptTokens:[{kind:"Content",text:"y: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"y",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Billboard#z:member",docComment:"",excerptTokens:[{kind:"Content",text:"z: "},{kind:"Content",text:"boolean"},{kind:"Content",text:";"}],releaseTag:"Public",name:"z",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"TypeAlias",canonicalReference:"decentraland-ecs!BodyShapeRespresentation:type",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare type BodyShapeRespresentation = "},{kind:"Content",text:"{\n bodyShapes: string[];\n mainFile: string;\n contents: "},{kind:"Reference",text:"FileAndHash",canonicalReference:"decentraland-ecs!FileAndHash:type"},{kind:"Content",text:"[];\n}"},{kind:"Content",text:";"}],releaseTag:"Public",name:"BodyShapeRespresentation",typeTokenRange:{startIndex:1,endIndex:4}},{kind:"Class",canonicalReference:"decentraland-ecs!BoxShape:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class BoxShape extends "},{kind:"Reference",text:"Shape",canonicalReference:"decentraland-ecs!Shape:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"BoxShape",members:[],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!Camera:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class Camera "}],releaseTag:"Public",name:"Camera",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!Camera:constructor(1)",docComment:"/**\n * Constructs a new instance of the `Camera` class\n */\n",excerptTokens:[{kind:"Content",text:"constructor();"}],releaseTag:"Public",overloadIndex:1,parameters:[]},{kind:"Property",canonicalReference:"decentraland-ecs!Camera#feetPosition:member",docComment:"/**\n * Feet position, relative to the parcel.\n */\n",excerptTokens:[{kind:"Content",text:"readonly feetPosition: "},{kind:"Reference",text:"Vector3",canonicalReference:"decentraland-ecs!Vector3:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"feetPosition",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Camera#position:member",docComment:"/**\n * Camera position, relative to the parcel.\n */\n",excerptTokens:[{kind:"Content",text:"readonly position: "},{kind:"Reference",text:"Vector3",canonicalReference:"decentraland-ecs!Vector3:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"position",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Camera#rotation:member",docComment:"/**\n * Camera rotation\n */\n",excerptTokens:[{kind:"Content",text:"readonly rotation: "},{kind:"Reference",text:"Quaternion",canonicalReference:"decentraland-ecs!Quaternion:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"rotation",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!Camera#worldPosition:member",docComment:"/**\n * Camera position, absolute.\n */\n",excerptTokens:[{kind:"Content",text:"readonly worldPosition: "},{kind:"Reference",text:"Vector3",canonicalReference:"decentraland-ecs!Vector3:class"},{kind:"Content",text:";"}],releaseTag:"Public",name:"worldPosition",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!CircleShape:class",docComment:"/**\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class CircleShape extends "},{kind:"Reference",text:"Shape",canonicalReference:"decentraland-ecs!Shape:class"},{kind:"Content",text:" "}],releaseTag:"Public",name:"CircleShape",members:[{kind:"Property",canonicalReference:"decentraland-ecs!CircleShape#arc:member",docComment:"",excerptTokens:[{kind:"Content",text:"arc?: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"arc",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false},{kind:"Property",canonicalReference:"decentraland-ecs!CircleShape#segments:member",docComment:"",excerptTokens:[{kind:"Content",text:"segments?: "},{kind:"Content",text:"number"},{kind:"Content",text:";"}],releaseTag:"Public",name:"segments",propertyTypeTokenRange:{startIndex:1,endIndex:2},isStatic:false}],extendsTokenRange:{startIndex:1,endIndex:3},implementsTokenRanges:[]},{kind:"Class",canonicalReference:"decentraland-ecs!Color3:class",docComment:"/**\n * Class used to hold a RBG color\n *\n * @public\n */\n",excerptTokens:[{kind:"Content",text:"export declare class Color3 "}],releaseTag:"Public",name:"Color3",members:[{kind:"Constructor",canonicalReference:"decentraland-ecs!Color3:constructor(1)",docComment:"/**\n * Creates a new Color3 object from red, green, blue values, all between 0 and 1\n *\n * @param r - defines the red component (between 0 and 1, default is 0)\n *\n * @param g - defines the green component (between 0 and 1, default is 0)\n *\n * @param b - defines the blue component (between 0 and 1, default is 0)\n */\n",excerptTokens:[{kind:"Content",text:"constructor(\n r?: "},{kind:"Content",text:"number"},{kind:"Content",text:", \n g?: "},{kind:"Content",text:"number"},{kind:"Content",text