`}}class Zt extends Wt{static singleLineInput=!0;setInputs(e=[],t=!1){if(e&&0!=e.length||(e=[this.getInput()]),super.setInputs(e,!1),t){let i=[];for(const n of e){let e=parseFloat(n);isNaN(e)&&(e=0,t=!1),i.push(e)}this.setDefaultValue(i,e)}}setDefaultValue(e=[],t){this.element.setDefaultValue(e[0])}}class Yt extends Zt{setDefaultValue(e=[],t=e){this.element.getDefaultValue(!0).value=e[0],this.inputContentElements[0].innerText=this.element.getDefaultValue()?.toString(),this.element.requestUpdate()}renderInput(){return $`
`}}class qt extends Yt{setInputs(e=[],t=!1){if(e&&0!=e.length||(e=[this.getInput()]),super.setInputs(e,!1),t){if(!e[0].match(/[\-\+]?[0-9]+/))return;const t=[BigInt(e[0])];this.setDefaultValue(t,e)}}}
/**
* @license
* Copyright 2017 Google LLC
@@ -30,4 +30,4 @@ var q,J;class Q extends g{constructor(){super(...arguments),this.renderOptions={
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
- */const ei=(e=>(...t)=>({_$litDirective$:e,values:t}))(class extends Qt{constructor(e){var t;if(super(e),e.type!==Jt||"style"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,i)=>{const n=e[i];return null==n?t:t+`${i=i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${n};`}),"")}update(e,[t]){const{style:i}=e.element;if(void 0===this.vt){this.vt=new Set;for(const e in t)this.vt.add(e);return this.render(t)}this.vt.forEach((e=>{null==t[e]&&(this.vt.delete(e),e.includes("-")?i.removeProperty(e):i[e]="")}));for(const e in t){const n=t[e];null!=n&&(this.vt.add(e),e.includes("-")?i.setProperty(e,n):i[e]=n)}return H}});class ti extends ft{toggleAdvancedDisplayHandler;getDraggableElement(){return this.element.querySelector(".ueb-window-top")}createDraggableObject(){return new gt(this.element,this.blueprint,{draggableElement:this.getDraggableElement(),ignoreScale:!0,ignoreTranslateCompensate:!1,movementSpace:this.blueprint,stepSize:1})}render(){return $`
`}renderWindowName(){return $`Color Picker`}}class ni extends Lt{#qe;#Je=e=>{e.preventDefault(),this.blueprint.setFocused(!0),this.#qe=st.getConstructor("ueb-window").newObject({type:new ii,windowOptions:{getPinColor:()=>this.element.defaultValue,setPinColor:e=>this.element.setDefaultValue(e)}}),this.blueprint.append(this.#qe);const t=()=>{this.element.setDefaultValue(this.#qe.template.color)},i=()=>{this.#qe.removeEventListener(re.windowApplyEventName,t),this.#qe.removeEventListener(re.windowCloseEventName,i),this.#qe=null};this.#qe.addEventListener(re.windowApplyEventName,t),this.#qe.addEventListener(re.windowCloseEventName,i)};renderInput(){return $``}}class si extends Wt{static singleLineInput=!0}class ri extends Zt{setDefaultValue(e=[],t=e){this.element.setDefaultValue(e[0])}renderInput(){return $`
`}}class ai extends Lt{renderIcon(){return te.referencePin}}class oi extends Zt{#Qe(){return se.minDecimals(this.element.getDefaultValue()?.R??0)}#et(){return se.minDecimals(this.element.getDefaultValue()?.P??0)}#tt(){return se.minDecimals(this.element.getDefaultValue()?.Y??0)}setDefaultValue(e=[],t=e){const i=this.element.getDefaultValue(!0);if(!(i instanceof Ne))throw new TypeError("Expected DefaultValue to be a RotatorEntity");i.R=e[0],i.P=e[1],i.Y=e[2],this.element.requestUpdate("DefaultValue",i)}renderInput(){return $`
X
Y
Z
`}}class li extends Wt{}class ui extends Zt{#it(){return se.minDecimals(this.element.getDefaultValue()?.X??0)}#tt(){return se.minDecimals(this.element.getDefaultValue()?.Y??0)}setDefaultValue(e,t){const i=this.element.getDefaultValue(!0);if(!(i instanceof Ae))throw new TypeError("Expected DefaultValue to be a Vector2DEntity");i.X=e[0],i.Y=e[1],this.element.requestUpdate("DefaultValue",i)}renderInput(){return $`
X
Y
`}}class ci extends Zt{#it(){return se.minDecimals(this.element.getDefaultValue()?.X??0)}#tt(){return se.minDecimals(this.element.getDefaultValue()?.Y??0)}#nt(){return se.minDecimals(this.element.getDefaultValue()?.Z??0)}setDefaultValue(e,t){const i=this.element.getDefaultValue(!0);if(!(i instanceof Me))throw new TypeError("Expected DefaultValue to be a VectorEntity");i.X=e[0],i.Y=e[1],i.Z=e[2],this.element.requestUpdate("DefaultValue",i)}renderInput(){return $`
X
Y
Z
`}}class hi extends Qe{static#st={"/Script/CoreUObject.LinearColor":ni,"/Script/CoreUObject.Rotator":oi,"/Script/CoreUObject.Vector":ci,"/Script/CoreUObject.Vector2D":ui,bool:Kt,byte:Yt,int:Yt,int64:qt,MUTABLE_REFERENCE:ai,name:si,real:ri,string:li};static properties={pinId:{type:ge,converter:{fromAttribute:(e,t)=>e?Ge.grammar.Guid.parse(e).value:null,toAttribute:(e,t)=>e?.toString()},attribute:"data-id",reflect:!0},pinType:{type:String,attribute:"data-type",reflect:!0},advancedView:{type:String,attribute:"data-advanced-view",reflect:!0},color:{type:Ee,converter:{fromAttribute:(e,t)=>e?Ge.grammar.LinearColorFromAnyColor.parse(e).value:null,toAttribute:(e,t)=>e?se.printLinearColor(e):null},attribute:"data-color",reflect:!0},defaultValue:{type:String,attribute:!1},isLinked:{type:Boolean,converter:se.booleanConverter,attribute:"data-linked",reflect:!0},pinDirection:{type:String,attribute:"data-direction",reflect:!0}};nodeElement;static getTypeTemplate(e){if(e.PinType.bIsReference&&!e.PinType.bIsConst)return hi.#st.MUTABLE_REFERENCE;if("exec"===e.getType())return Xt;let t;return e.isInput()&&(t=hi.#st[e.getType()]),t??Lt}static newObject(e=new Be,t=new(hi.getTypeTemplate(e)),i){const n=new hi;return n.initialize(e,t,i),n}initialize(e=new Be,t=new(hi.getTypeTemplate(e)),i){super.initialize(e,t),this.pinId=this.entity.PinId,this.pinType=this.entity.getType(),this.advancedView=this.entity.bAdvancedView,this.defaultValue=this.entity.getDefaultValue(),this.color=hi.properties.color.converter.fromAttribute(this.getColor().toString()),this.isLinked=!1,this.pinDirection=e.isInput()?"input":e.isOutput()?"output":"hidden",this.nodeElement=i}setup(){super.setup(),this.nodeElement=this.closest("ueb-node")}createPinReference(){return new xe({objectName:this.nodeElement.getNodeName(),pinGuid:this.getPinId()})}getPinId(){return this.entity.PinId}getPinName(){return this.entity.PinName}getPinDisplayName(){return this.entity.getDisplayName()}getColor(){return this.entity.pinColor()}isInput(){return this.entity.isInput()}isOutput(){return this.entity.isOutput()}getLinkLocation(){return this.template.getLinkLocation()}getNodeElement(){return this.nodeElement}getLinks(){return this.entity.LinkedTo??[]}getDefaultValue(e=!1){return this.defaultValue=this.entity.getDefaultValue(e)}setDefaultValue(e){this.entity.DefaultValue=e,this.defaultValue=e}sanitizeLinks(e=[]){this.entity.LinkedTo=this.entity.LinkedTo?.filter((t=>{let i=this.blueprint.getPin(t);if(i){if(e.length&&!e.includes(i.nodeElement))return!1;let t=this.blueprint.getLink(this,i);t||(t=st.getConstructor("ueb-link").newObject(this,i),this.blueprint.addGraphElement(t))}return i})),this.isLinked=this.entity.isLinked()}linkTo(e){const t=this.createPinReference();!this.isLinked||!this.isOutput()||"exec"!==this.pinType&&"exec"!==e.pinType||this.getLinks().some((e=>t.equals(e)))||this.unlinkFromAll(),this.entity.linkTo(e.getNodeElement().getNodeName(),e.entity)&&(this.isLinked=this.entity.isLinked(),this.nodeElement?.template.linksChanged())}unlinkFrom(e,t=!0){this.entity.unlinkFrom(e.getNodeElement().getNodeName(),e.entity)&&(this.isLinked=this.entity.isLinked(),this.nodeElement?.template.linksChanged(),t&&this.blueprint.getLink(this,e)?.remove())}unlinkFromAll(){const e=this.getLinks().length;this.getLinks().map((e=>this.blueprint.getPin(e))).forEach((e=>this.unlinkFrom(e))),e&&this.nodeElement?.template.linksChanged()}redirectLink(e,t){const i=this.getLinks().findIndex((t=>t.objectName.toString()==e.getNodeElement().getNodeName()&&t.pinGuid.valueOf()==e.entity.PinId.valueOf()));return i>=0&&(this.entity.LinkedTo[i]=t,!0)}}class di{constructor(e=(e=>e),t=null){this.array=new Uint32Array(t),this.comparisonValueSupplier=e,this.length=0,this.currentPosition=0}get(e){return e>=0&&e=0&&this.currentPosition=0&&this.currentPosition0?this.get(this.currentPosition-1):null}getPrevValue(){return this.currentPosition>0?this.comparisonValueSupplier(this.get(this.currentPosition-1)):Number.MIN_SAFE_INTEGER}shiftLeft(e,t=1){this.array.set(this.array.subarray(e+t),e)}shiftRight(e,t=1){this.array.set(this.array.subarray(e,-t),e+t)}}class pi{constructor(e,t,i,n){this.initialPosition=e,this.finalPosition=e,this.metadata=new Array(t.length),this.primaryOrder=new di((e=>this.metadata[e].primaryBoundary)),this.secondaryOrder=new di((e=>this.metadata[e].secondaryBoundary)),this.selectFunc=n,this.rectangles=t,this.primaryOrder.reserve(this.rectangles.length),this.secondaryOrder.reserve(this.rectangles.length),t.forEach(((e,t)=>{let s={primaryBoundary:this.initialPosition[0],secondaryBoundary:this.initialPosition[1],rectangle:t,onSecondaryAxis:!1};this.metadata[t]=s,n(e,!1);const r=i(e);this.initialPosition[1]{if(this.metadata[i].onSecondaryAxis)this.selectFunc(this.rectangles[i],n);else if(n){this.secondaryOrder.insert(i,e[1]);const n=this.metadata[i].secondaryBoundary;Math.sign(e[1]-n)==t[1]&&Math.sign(n-this.initialPosition[1])==t[1]&&this.selectFunc(this.rectangles[i],!0)}else this.selectFunc(this.rectangles[i],!1),this.secondaryOrder.remove(i);this.computeBoundaries(),this.selectTo(e)};e[0]this.boundaries.primaryN.v&&e[0]this.boundaries.primaryP.v&&(++this.primaryOrder.currentPosition,i(this.boundaries.primaryP.i,this.initialPosition[0]{this.selectFunc(this.rectangles[t],i),this.computeBoundaries(),this.selectTo(e)};e[1]this.boundaries.secondaryN.v&&e[1]this.boundaries.secondaryP.v&&(++this.secondaryOrder.currentPosition,n(this.boundaries.secondaryP.i,this.initialPosition[1]bi.#rt[e],toAttribute:(e,t)=>Object.entries(bi.#rt).find((([t,i])=>e.constructor===i))?.[0]}}};static newObject(e={},t=e.type??new ti){const i=new bi;return i.initialize(e,t),i}initialize(e={},t=e.type??new ti){e.windowOptions??={},this.type=e.type,this.windowOptions=e.windowOptions,super.initialize(e,t)}setup(){super.setup(),this.locationX=this.blueprint.mousePosition[0],this.locationY=this.blueprint.mousePosition[1]}cleanup(){super.cleanup(),this.acknowledgeClose()}acknowledgeClose(){let e=new CustomEvent(re.windowCloseEventName);this.dispatchEvent(e)}}class vi extends Ge{constructor(e,t,i,n,s,r,a){e=e??(e=>`(${e})`),super(t,i,n,s,r,a),this.wrap=e}read(e){const t=_e.getGrammarForType(Ge.grammar,this.entityType).parse(e);if(!t.status)throw new Error(`Error when trying to parse the entity ${this.entityType.prototype.constructor.name}.`);return t.value}write(e,t,i=!1){return this.wrap(this.subWrite(e,[],t,i),t)}}class fi extends vi{#at;constructor(e,t){super(void 0,t),this.#at=e}write(e,t,i=!1){return this.#at(t,i)}}class yi extends vi{constructor(e){super(void 0,e)}write(e,t,i){return i||t.constructor!==String?se.escapeString(t.toString()):`"${se.escapeString(t.toString())}"`}}!function(){const e=e=>`(${e})`;oe.registerSerializer(null,new fi(((e,t)=>"()"),null)),oe.registerSerializer(Array,new fi(((e,t)=>`(${e.map((e=>oe.getSerializer(se.getType(e)).serialize(e,t)+",")).join("")})`),Array)),oe.registerSerializer(BigInt,new yi(BigInt)),oe.registerSerializer(Boolean,new fi(((e,t)=>e?t?"true":"True":t?"false":"False"),Boolean)),oe.registerSerializer(ce,new yi(ce)),oe.registerSerializer(de,new yi(de)),oe.registerSerializer(me,new vi(e,me)),oe.registerSerializer(ge,new yi(ge)),oe.registerSerializer(be,new yi(be)),oe.registerSerializer(ve,new yi(ve)),oe.registerSerializer(ue,new yi(ue)),oe.registerSerializer(fe,new vi((e=>`${fe.lookbehind}(${e})`),fe,"",", ",!1,"",(e=>""))),oe.registerSerializer(ye,new vi(e,ye)),oe.registerSerializer(Ee,new vi(e,Ee)),oe.registerSerializer(Se,new vi((e=>`${Se.lookbehind}(${e})`),Se,"",", ",!1,"",(e=>""))),oe.registerSerializer(Ce,new vi(e,Ce)),oe.registerSerializer(Number,new yi(Number)),oe.registerSerializer(He,new Fe),oe.registerSerializer(pe,new fi((e=>(e.type??"")+(e.path?e.type?`'"${e.path}"'`:`"${e.path}"`:"")),pe)),oe.registerSerializer(Pe,new yi(Pe)),oe.registerSerializer(Be,new vi((e=>`${Be.lookbehind} (${e})`),Be,"",",",!0)),oe.registerSerializer(xe,new vi((e=>e),xe,""," ",!1,"",(e=>""))),oe.registerSerializer(ke,new vi(e,ke)),oe.registerSerializer(we,new yi(we)),oe.registerSerializer(Ne,new vi(e,Ne)),oe.registerSerializer(String,new fi(((e,t)=>t?se.escapeString(e):`"${se.escapeString(e)}"`),String)),oe.registerSerializer(Le,new fi(((e,t)=>`${e.P}, ${e.Y}, ${e.R}`),Le)),oe.registerSerializer(Te,new fi(((e,t)=>`${e.X}, ${e.Y}`),Te)),oe.registerSerializer(De,new fi(((e,t)=>`${e.X}, ${e.Y}, ${e.Z}`),De)),oe.registerSerializer(he,new yi(he)),oe.registerSerializer(Ie,new vi(((e,t)=>`${t.lookbehind??""}(${e})`),Ie)),oe.registerSerializer($e,new vi(e,$e)),oe.registerSerializer(Ae,new vi(e,Ae)),oe.registerSerializer(Me,new vi(e,Me))}(),customElements.define("ueb-color-handler",Rt),st.registerElement("ueb-color-handler",Rt),customElements.define("ueb-input",jt),st.registerElement("ueb-input",jt),customElements.define("ueb-link",mt),st.registerElement("ueb-link",mt),customElements.define("ueb-node",Ht),st.registerElement("ueb-node",Ht),customElements.define("ueb-pin",hi),st.registerElement("ueb-pin",hi),customElements.define("ueb-selector",gi),st.registerElement("ueb-selector",gi),customElements.define("ueb-ui-slider",Gt),st.registerElement("ueb-ui-slider",Gt),customElements.define("ueb-window",bi),st.registerElement("ueb-window",bi);export{Ot as Blueprint,re as Configuration,mt as LinkElement,Ht as NodeElement,se as Utility};
+ */const ei=(e=>(...t)=>({_$litDirective$:e,values:t}))(class extends Qt{constructor(e){var t;if(super(e),e.type!==Jt||"style"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,i)=>{const n=e[i];return null==n?t:t+`${i=i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${n};`}),"")}update(e,[t]){const{style:i}=e.element;if(void 0===this.vt){this.vt=new Set;for(const e in t)this.vt.add(e);return this.render(t)}this.vt.forEach((e=>{null==t[e]&&(this.vt.delete(e),e.includes("-")?i.removeProperty(e):i[e]="")}));for(const e in t){const n=t[e];null!=n&&(this.vt.add(e),e.includes("-")?i.setProperty(e,n):i[e]=n)}return H}});class ti extends ft{toggleAdvancedDisplayHandler;getDraggableElement(){return this.element.querySelector(".ueb-window-top")}createDraggableObject(){return new gt(this.element,this.blueprint,{draggableElement:this.getDraggableElement(),ignoreScale:!0,ignoreTranslateCompensate:!1,movementSpace:this.blueprint,stepSize:1})}render(){return $`
`}renderWindowName(){return $`Color Picker`}}class ni extends Lt{#qe;#Je=e=>{e.preventDefault(),this.blueprint.setFocused(!0),this.#qe=st.getConstructor("ueb-window").newObject({type:new ii,windowOptions:{getPinColor:()=>this.element.defaultValue,setPinColor:e=>this.element.setDefaultValue(e)}}),this.blueprint.append(this.#qe);const t=()=>{this.element.setDefaultValue(this.#qe.template.color)},i=()=>{this.#qe.removeEventListener(te.windowApplyEventName,t),this.#qe.removeEventListener(te.windowCloseEventName,i),this.#qe=null};this.#qe.addEventListener(te.windowApplyEventName,t),this.#qe.addEventListener(te.windowCloseEventName,i)};renderInput(){return $``}}class si extends Wt{static singleLineInput=!0}class ri extends Zt{setDefaultValue(e=[],t=e){this.element.setDefaultValue(e[0])}renderInput(){return $`
`}}class ai extends Lt{renderIcon(){return Be.referencePin}}class oi extends Zt{#Qe(){return ae.minDecimals(this.element.getDefaultValue()?.R??0)}#et(){return ae.minDecimals(this.element.getDefaultValue()?.P??0)}#tt(){return ae.minDecimals(this.element.getDefaultValue()?.Y??0)}setDefaultValue(e=[],t=e){const i=this.element.getDefaultValue(!0);if(!(i instanceof ke))throw new TypeError("Expected DefaultValue to be a RotatorEntity");i.R=e[0],i.P=e[1],i.Y=e[2],this.element.requestUpdate("DefaultValue",i)}renderInput(){return $`
X
Y
Z
`}}class li extends Wt{}class ui extends Zt{#it(){return ae.minDecimals(this.element.getDefaultValue()?.X??0)}#tt(){return ae.minDecimals(this.element.getDefaultValue()?.Y??0)}setDefaultValue(e,t){const i=this.element.getDefaultValue(!0);if(!(i instanceof Le))throw new TypeError("Expected DefaultValue to be a Vector2DEntity");i.X=e[0],i.Y=e[1],this.element.requestUpdate("DefaultValue",i)}renderInput(){return $`
X
Y
`}}class ci extends Zt{#it(){return ae.minDecimals(this.element.getDefaultValue()?.X??0)}#tt(){return ae.minDecimals(this.element.getDefaultValue()?.Y??0)}#nt(){return ae.minDecimals(this.element.getDefaultValue()?.Z??0)}setDefaultValue(e,t){const i=this.element.getDefaultValue(!0);if(!(i instanceof Te))throw new TypeError("Expected DefaultValue to be a VectorEntity");i.X=e[0],i.Y=e[1],i.Z=e[2],this.element.requestUpdate("DefaultValue",i)}renderInput(){return $`
X
Y
Z
`}}class hi extends Qe{static#st={"/Script/CoreUObject.LinearColor":ni,"/Script/CoreUObject.Rotator":oi,"/Script/CoreUObject.Vector":ci,"/Script/CoreUObject.Vector2D":ui,bool:Kt,byte:Yt,int:Yt,int64:qt,MUTABLE_REFERENCE:ai,name:si,real:ri,string:li};static properties={pinId:{type:me,converter:{fromAttribute:(e,t)=>e?Ge.grammar.Guid.parse(e).value:null,toAttribute:(e,t)=>e?.toString()},attribute:"data-id",reflect:!0},pinType:{type:String,attribute:"data-type",reflect:!0},advancedView:{type:String,attribute:"data-advanced-view",reflect:!0},color:{type:we,converter:{fromAttribute:(e,t)=>e?Ge.grammar.LinearColorFromAnyColor.parse(e).value:null,toAttribute:(e,t)=>e?ae.printLinearColor(e):null},attribute:"data-color",reflect:!0},defaultValue:{type:String,attribute:!1},isLinked:{type:Boolean,converter:ae.booleanConverter,attribute:"data-linked",reflect:!0},pinDirection:{type:String,attribute:"data-direction",reflect:!0}};nodeElement;static getTypeTemplate(e){if(e.PinType.bIsReference&&!e.PinType.bIsConst)return hi.#st.MUTABLE_REFERENCE;if("exec"===e.getType())return Xt;let t;return e.isInput()&&(t=hi.#st[e.getType()]),t??Lt}static newObject(e=new De,t=new(hi.getTypeTemplate(e)),i){const n=new hi;return n.initialize(e,t,i),n}initialize(e=new De,t=new(hi.getTypeTemplate(e)),i){super.initialize(e,t),this.pinId=this.entity.PinId,this.pinType=this.entity.getType(),this.advancedView=this.entity.bAdvancedView,this.defaultValue=this.entity.getDefaultValue(),this.color=hi.properties.color.converter.fromAttribute(this.getColor().toString()),this.isLinked=!1,this.pinDirection=e.isInput()?"input":e.isOutput()?"output":"hidden",this.nodeElement=i}setup(){super.setup(),this.nodeElement=this.closest("ueb-node")}createPinReference(){return new Pe({objectName:this.nodeElement.getNodeName(),pinGuid:this.getPinId()})}getPinId(){return this.entity.PinId}getPinName(){return this.entity.PinName}getPinDisplayName(){return this.entity.getDisplayName()}getColor(){return this.entity.pinColor()}isInput(){return this.entity.isInput()}isOutput(){return this.entity.isOutput()}getLinkLocation(){return this.template.getLinkLocation()}getNodeElement(){return this.nodeElement}getLinks(){return this.entity.LinkedTo??[]}getDefaultValue(e=!1){return this.defaultValue=this.entity.getDefaultValue(e)}setDefaultValue(e){this.entity.DefaultValue=e,this.defaultValue=e}sanitizeLinks(e=[]){this.entity.LinkedTo=this.entity.LinkedTo?.filter((t=>{let i=this.blueprint.getPin(t);if(i){if(e.length&&!e.includes(i.nodeElement))return!1;let t=this.blueprint.getLink(this,i);t||(t=st.getConstructor("ueb-link").newObject(this,i),this.blueprint.addGraphElement(t))}return i})),this.isLinked=this.entity.isLinked()}linkTo(e){const t=this.createPinReference();!this.isLinked||!this.isOutput()||"exec"!==this.pinType&&"exec"!==e.pinType||this.getLinks().some((e=>t.equals(e)))||this.unlinkFromAll(),this.entity.linkTo(e.getNodeElement().getNodeName(),e.entity)&&(this.isLinked=this.entity.isLinked(),this.nodeElement?.template.linksChanged())}unlinkFrom(e,t=!0){this.entity.unlinkFrom(e.getNodeElement().getNodeName(),e.entity)&&(this.isLinked=this.entity.isLinked(),this.nodeElement?.template.linksChanged(),t&&this.blueprint.getLink(this,e)?.remove())}unlinkFromAll(){const e=this.getLinks().length;this.getLinks().map((e=>this.blueprint.getPin(e))).forEach((e=>this.unlinkFrom(e))),e&&this.nodeElement?.template.linksChanged()}redirectLink(e,t){const i=this.getLinks().findIndex((t=>t.objectName.toString()==e.getNodeElement().getNodeName()&&t.pinGuid.valueOf()==e.entity.PinId.valueOf()));return i>=0&&(this.entity.LinkedTo[i]=t,!0)}}class di{constructor(e=(e=>e),t=null){this.array=new Uint32Array(t),this.comparisonValueSupplier=e,this.length=0,this.currentPosition=0}get(e){return e>=0&&e=0&&this.currentPosition=0&&this.currentPosition0?this.get(this.currentPosition-1):null}getPrevValue(){return this.currentPosition>0?this.comparisonValueSupplier(this.get(this.currentPosition-1)):Number.MIN_SAFE_INTEGER}shiftLeft(e,t=1){this.array.set(this.array.subarray(e+t),e)}shiftRight(e,t=1){this.array.set(this.array.subarray(e,-t),e+t)}}class pi{constructor(e,t,i,n){this.initialPosition=e,this.finalPosition=e,this.metadata=new Array(t.length),this.primaryOrder=new di((e=>this.metadata[e].primaryBoundary)),this.secondaryOrder=new di((e=>this.metadata[e].secondaryBoundary)),this.selectFunc=n,this.rectangles=t,this.primaryOrder.reserve(this.rectangles.length),this.secondaryOrder.reserve(this.rectangles.length),t.forEach(((e,t)=>{let s={primaryBoundary:this.initialPosition[0],secondaryBoundary:this.initialPosition[1],rectangle:t,onSecondaryAxis:!1};this.metadata[t]=s,n(e,!1);const r=i(e);this.initialPosition[1]{if(this.metadata[i].onSecondaryAxis)this.selectFunc(this.rectangles[i],n);else if(n){this.secondaryOrder.insert(i,e[1]);const n=this.metadata[i].secondaryBoundary;Math.sign(e[1]-n)==t[1]&&Math.sign(n-this.initialPosition[1])==t[1]&&this.selectFunc(this.rectangles[i],!0)}else this.selectFunc(this.rectangles[i],!1),this.secondaryOrder.remove(i);this.computeBoundaries(),this.selectTo(e)};e[0]this.boundaries.primaryN.v&&e[0]this.boundaries.primaryP.v&&(++this.primaryOrder.currentPosition,i(this.boundaries.primaryP.i,this.initialPosition[0]{this.selectFunc(this.rectangles[t],i),this.computeBoundaries(),this.selectTo(e)};e[1]this.boundaries.secondaryN.v&&e[1]this.boundaries.secondaryP.v&&(++this.secondaryOrder.currentPosition,n(this.boundaries.secondaryP.i,this.initialPosition[1]bi.#rt[e],toAttribute:(e,t)=>Object.entries(bi.#rt).find((([t,i])=>e.constructor===i))?.[0]}}};static newObject(e={},t=e.type??new ti){const i=new bi;return i.initialize(e,t),i}initialize(e={},t=e.type??new ti){e.windowOptions??={},this.type=e.type,this.windowOptions=e.windowOptions,super.initialize(e,t)}setup(){super.setup(),this.locationX=this.blueprint.mousePosition[0],this.locationY=this.blueprint.mousePosition[1]}cleanup(){super.cleanup(),this.acknowledgeClose()}acknowledgeClose(){let e=new CustomEvent(te.windowCloseEventName);this.dispatchEvent(e)}}class vi extends Ge{constructor(e,t,i,n,s,r,a){e=e??(e=>`(${e})`),super(t,i,n,s,r,a),this.wrap=e}read(e){const t=_e.getGrammarForType(Ge.grammar,this.entityType).parse(e);if(!t.status)throw new Error(`Error when trying to parse the entity ${this.entityType.prototype.constructor.name}.`);return t.value}write(e,t,i=!1){return this.wrap(this.subWrite(e,[],t,i),t)}}class fi extends vi{#at;constructor(e,t){super(void 0,t),this.#at=e}write(e,t,i=!1){return this.#at(t,i)}}class yi extends vi{constructor(e){super(void 0,e)}write(e,t,i){return i||t.constructor!==String?ae.escapeString(t.toString()):`"${ae.escapeString(t.toString())}"`}}!function(){const e=e=>`(${e})`;ne.registerSerializer(null,new fi(((e,t)=>"()"),null)),ne.registerSerializer(Array,new fi(((e,t)=>`(${e.map((e=>ne.getSerializer(ae.getType(e)).serialize(e,t)+",")).join("")})`),Array)),ne.registerSerializer(BigInt,new yi(BigInt)),ne.registerSerializer(Boolean,new fi(((e,t)=>e?t?"true":"True":t?"false":"False"),Boolean)),ne.registerSerializer(ue,new yi(ue)),ne.registerSerializer(he,new yi(he)),ne.registerSerializer(pe,new vi(e,pe)),ne.registerSerializer(me,new yi(me)),ne.registerSerializer(ge,new yi(ge)),ne.registerSerializer(be,new yi(be)),ne.registerSerializer(le,new yi(le)),ne.registerSerializer(ve,new vi((e=>`${ve.lookbehind}(${e})`),ve,"",", ",!1,"",(e=>""))),ne.registerSerializer(fe,new vi(e,fe)),ne.registerSerializer(we,new vi(e,we)),ne.registerSerializer(Ee,new vi((e=>`${Ee.lookbehind}(${e})`),Ee,"",", ",!1,"",(e=>""))),ne.registerSerializer(Se,new vi(e,Se)),ne.registerSerializer(Number,new yi(Number)),ne.registerSerializer(He,new Fe),ne.registerSerializer(de,new fi((e=>(e.type??"")+(e.path?e.type?`'"${e.path}"'`:`"${e.path}"`:"")),de)),ne.registerSerializer(Ce,new yi(Ce)),ne.registerSerializer(De,new vi((e=>`${De.lookbehind} (${e})`),De,"",",",!0)),ne.registerSerializer(Pe,new vi((e=>e),Pe,""," ",!1,"",(e=>""))),ne.registerSerializer(xe,new vi(e,xe)),ne.registerSerializer(ye,new yi(ye)),ne.registerSerializer(ke,new vi(e,ke)),ne.registerSerializer(String,new fi(((e,t)=>t?ae.escapeString(e):`"${ae.escapeString(e)}"`),String)),ne.registerSerializer(Ne,new fi(((e,t)=>`${e.P}, ${e.Y}, ${e.R}`),Ne)),ne.registerSerializer(Ae,new fi(((e,t)=>`${e.X}, ${e.Y}`),Ae)),ne.registerSerializer(Me,new fi(((e,t)=>`${e.X}, ${e.Y}, ${e.Z}`),Me)),ne.registerSerializer(ce,new yi(ce)),ne.registerSerializer(Ie,new vi(((e,t)=>`${t.lookbehind??""}(${e})`),Ie)),ne.registerSerializer($e,new vi(e,$e)),ne.registerSerializer(Le,new vi(e,Le)),ne.registerSerializer(Te,new vi(e,Te))}(),customElements.define("ueb-color-handler",Rt),st.registerElement("ueb-color-handler",Rt),customElements.define("ueb-input",jt),st.registerElement("ueb-input",jt),customElements.define("ueb-link",mt),st.registerElement("ueb-link",mt),customElements.define("ueb-node",Ht),st.registerElement("ueb-node",Ht),customElements.define("ueb-pin",hi),st.registerElement("ueb-pin",hi),customElements.define("ueb-selector",gi),st.registerElement("ueb-selector",gi),customElements.define("ueb-ui-slider",Gt),st.registerElement("ueb-ui-slider",Gt),customElements.define("ueb-window",bi),st.registerElement("ueb-window",bi);export{Ot as Blueprint,te as Configuration,mt as LinkElement,Ht as NodeElement,ae as Utility};
diff --git a/js/entity/ObjectEntity.js b/js/entity/ObjectEntity.js
index 814336e..1b6c121 100755
--- a/js/entity/ObjectEntity.js
+++ b/js/entity/ObjectEntity.js
@@ -444,6 +444,8 @@ export default class ObjectEntity extends IEntity {
let title = ObjectEntity.keyName(keyName) ?? Utility.formatStringName(keyName)
if (this.getClass() === Configuration.nodeType.inputDebugKey) {
title = "Debug Key " + title
+ } else if (this.getClass() === Configuration.nodeType.getInputAxisKeyValue) {
+ title = "Get " + title
}
return title
}