UNPKG

@babylonjs/viewer

Version:

The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.

3 lines (2 loc) 33.3 kB
import{V as e,b3 as t,C as a,aD as o,M as n,bc as r,b1 as l,i as u,y as i}from"./index-BPURObVq.esm.min.js";class s{constructor(e){this.value=this._toInt(e)}_toInt(e){return 0|e}add(e){return new s(this.value+e.value)}subtract(e){return new s(this.value-e.value)}multiply(e){return new s(Math.imul(this.value,e.value))}divide(e){return new s(this.value/e.value)}getClassName(){return s.ClassName}equals(e){return this.value===e.value}static FromValue(e){return new s(e)}toString(){return this.value.toString()}}s.ClassName="FlowGraphInteger";class c{constructor(e=[1,0,0,1]){this._m=e}get m(){return this._m}transformVector(e){return this.transformVectorToRef(e,new t)}transformVectorToRef(e,t){return t.x=e.x*this._m[0]+e.y*this._m[1],t.y=e.x*this._m[2]+e.y*this._m[3],t}asArray(){return this.toArray()}toArray(e=[]){for(let t=0;t<4;t++)e[t]=this._m[t];return e}fromArray(e){for(let t=0;t<4;t++)this._m[t]=e[t];return this}multiplyToRef(e,t){const a=e._m,o=this._m,n=t._m;return n[0]=a[0]*o[0]+a[1]*o[2],n[1]=a[0]*o[1]+a[1]*o[3],n[2]=a[2]*o[0]+a[3]*o[2],n[3]=a[2]*o[1]+a[3]*o[3],t}multiply(e){return this.multiplyToRef(e,new c)}divideToRef(e,t){const a=this._m,o=e._m,n=t._m;return n[0]=a[0]/o[0],n[1]=a[1]/o[1],n[2]=a[2]/o[2],n[3]=a[3]/o[3],t}divide(e){return this.divideToRef(e,new c)}addToRef(e,t){const a=this._m,o=e.m,n=t.m;return n[0]=a[0]+o[0],n[1]=a[1]+o[1],n[2]=a[2]+o[2],n[3]=a[3]+o[3],t}add(e){return this.addToRef(e,new c)}subtractToRef(e,t){const a=this._m,o=e.m,n=t.m;return n[0]=a[0]-o[0],n[1]=a[1]-o[1],n[2]=a[2]-o[2],n[3]=a[3]-o[3],t}subtract(e){return this.subtractToRef(e,new c)}transpose(){const e=this._m;return new c([e[0],e[2],e[1],e[3]])}determinant(){const e=this._m;return e[0]*e[3]-e[1]*e[2]}inverse(){const e=this.determinant();if(0===e)throw new Error("Matrix is not invertible");const t=this._m,a=1/e;return new c([t[3]*a,-t[1]*a,-t[2]*a,t[0]*a])}equals(e,t=0){const a=this._m,o=e.m;return 0===t?a[0]===o[0]&&a[1]===o[1]&&a[2]===o[2]&&a[3]===o[3]:Math.abs(a[0]-o[0])<t&&Math.abs(a[1]-o[1])<t&&Math.abs(a[2]-o[2])<t&&Math.abs(a[3]-o[3])<t}getClassName(){return"FlowGraphMatrix2D"}toString(){return`FlowGraphMatrix2D(${this._m.join(", ")})`}}class p{constructor(e=[1,0,0,0,1,0,0,0,1]){this._m=e}get m(){return this._m}transformVector(t){return this.transformVectorToRef(t,new e)}transformVectorToRef(e,t){const a=this._m;return t.x=e.x*a[0]+e.y*a[1]+e.z*a[2],t.y=e.x*a[3]+e.y*a[4]+e.z*a[5],t.z=e.x*a[6]+e.y*a[7]+e.z*a[8],t}multiplyToRef(e,t){const a=e._m,o=this._m,n=t.m;return n[0]=a[0]*o[0]+a[1]*o[3]+a[2]*o[6],n[1]=a[0]*o[1]+a[1]*o[4]+a[2]*o[7],n[2]=a[0]*o[2]+a[1]*o[5]+a[2]*o[8],n[3]=a[3]*o[0]+a[4]*o[3]+a[5]*o[6],n[4]=a[3]*o[1]+a[4]*o[4]+a[5]*o[7],n[5]=a[3]*o[2]+a[4]*o[5]+a[5]*o[8],n[6]=a[6]*o[0]+a[7]*o[3]+a[8]*o[6],n[7]=a[6]*o[1]+a[7]*o[4]+a[8]*o[7],n[8]=a[6]*o[2]+a[7]*o[5]+a[8]*o[8],t}multiply(e){return this.multiplyToRef(e,new p)}divideToRef(e,t){const a=this._m,o=e.m,n=t.m;return n[0]=a[0]/o[0],n[1]=a[1]/o[1],n[2]=a[2]/o[2],n[3]=a[3]/o[3],n[4]=a[4]/o[4],n[5]=a[5]/o[5],n[6]=a[6]/o[6],n[7]=a[7]/o[7],n[8]=a[8]/o[8],t}divide(e){return this.divideToRef(e,new p)}addToRef(e,t){const a=this._m,o=e.m,n=t.m;return n[0]=a[0]+o[0],n[1]=a[1]+o[1],n[2]=a[2]+o[2],n[3]=a[3]+o[3],n[4]=a[4]+o[4],n[5]=a[5]+o[5],n[6]=a[6]+o[6],n[7]=a[7]+o[7],n[8]=a[8]+o[8],t}add(e){return this.addToRef(e,new p)}subtractToRef(e,t){const a=this._m,o=e.m,n=t.m;return n[0]=a[0]-o[0],n[1]=a[1]-o[1],n[2]=a[2]-o[2],n[3]=a[3]-o[3],n[4]=a[4]-o[4],n[5]=a[5]-o[5],n[6]=a[6]-o[6],n[7]=a[7]-o[7],n[8]=a[8]-o[8],t}subtract(e){return this.subtractToRef(e,new p)}toArray(e=[]){for(let t=0;t<9;t++)e[t]=this._m[t];return e}asArray(){return this.toArray()}fromArray(e){for(let t=0;t<9;t++)this._m[t]=e[t];return this}transpose(){const e=this._m;return new p([e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]])}determinant(){const e=this._m;return e[0]*(e[4]*e[8]-e[5]*e[7])-e[1]*(e[3]*e[8]-e[5]*e[6])+e[2]*(e[3]*e[7]-e[4]*e[6])}inverse(){const e=this.determinant();if(0===e)throw new Error("Matrix is not invertible");const t=this._m,a=1/e;return new p([(t[4]*t[8]-t[5]*t[7])*a,(t[2]*t[7]-t[1]*t[8])*a,(t[1]*t[5]-t[2]*t[4])*a,(t[5]*t[6]-t[3]*t[8])*a,(t[0]*t[8]-t[2]*t[6])*a,(t[2]*t[3]-t[0]*t[5])*a,(t[3]*t[7]-t[4]*t[6])*a,(t[1]*t[6]-t[0]*t[7])*a,(t[0]*t[4]-t[1]*t[3])*a])}equals(e,t=0){const a=this._m,o=e.m;return 0===t?a[0]===o[0]&&a[1]===o[1]&&a[2]===o[2]&&a[3]===o[3]&&a[4]===o[4]&&a[5]===o[5]&&a[6]===o[6]&&a[7]===o[7]&&a[8]===o[8]:Math.abs(a[0]-o[0])<t&&Math.abs(a[1]-o[1])<t&&Math.abs(a[2]-o[2])<t&&Math.abs(a[3]-o[3])<t&&Math.abs(a[4]-o[4])<t&&Math.abs(a[5]-o[5])<t&&Math.abs(a[6]-o[6])<t&&Math.abs(a[7]-o[7])<t&&Math.abs(a[8]-o[8])<t}getClassName(){return"FlowGraphMatrix3D"}toString(){return`FlowGraphMatrix3D(${this._m.join(", ")})`}}var m;!function(e){e.Any="any",e.String="string",e.Number="number",e.Boolean="boolean",e.Object="object",e.Integer="FlowGraphInteger",e.Vector2="Vector2",e.Vector3="Vector3",e.Vector4="Vector4",e.Quaternion="Quaternion",e.Matrix="Matrix",e.Matrix2D="Matrix2D",e.Matrix3D="Matrix3D",e.Color3="Color3",e.Color4="Color4"}(m||(m={}));class h{constructor(e,t,a=-1){this.typeName=e,this.defaultValue=t,this.animationType=a}serialize(e){e.typeName=this.typeName,e.defaultValue=this.defaultValue}}const f=new h("any",void 0),b=new h("string",""),w=new h("number",0,a.ANIMATIONTYPE_FLOAT),v=new h("boolean",!1),g=new h("Vector2",t.Zero(),a.ANIMATIONTYPE_VECTOR2),k=new h("Vector3",e.Zero(),a.ANIMATIONTYPE_VECTOR3),d=new h("Vector4",r.Zero()),B=new h("Matrix",n.Identity(),a.ANIMATIONTYPE_MATRIX),F=new h("Matrix2D",new c),y=new h("Matrix3D",new p),T=new h("Color3",u.Black(),a.ANIMATIONTYPE_COLOR3),G=new h("Color4",new l(0,0,0,0),a.ANIMATIONTYPE_COLOR4),x=new h("Quaternion",o.Identity(),a.ANIMATIONTYPE_QUATERNION),I=new h("FlowGraphInteger",new s(0),a.ANIMATIONTYPE_FLOAT);function _(e){const t=e;switch(typeof e){case"string":return b;case"number":return w;case"boolean":return v;case"object":if(t.getClassName)switch(t.getClassName()){case"Vector2":return g;case"Vector3":return k;case"Vector4":return d;case"Matrix":return B;case"Color3":return T;case"Color4":return G;case"Quaternion":return x;case"FlowGraphInteger":return I;case"Matrix2D":return F;case"Matrix3D":return y}return f;default:return f}}function A(e){switch(e){case"string":return b;case"number":return w;case"boolean":return v;case"Vector2":return g;case"Vector3":return k;case"Vector4":return d;case"Matrix":return B;case"Color3":return T;case"Color4":return G;case"Quaternion":return x;case"FlowGraphInteger":return I;case"Matrix2D":return F;case"Matrix3D":return y;default:return f}}function V(e){switch(e){case a.ANIMATIONTYPE_FLOAT:return w;case a.ANIMATIONTYPE_VECTOR2:return g;case a.ANIMATIONTYPE_VECTOR3:return k;case a.ANIMATIONTYPE_MATRIX:return B;case a.ANIMATIONTYPE_COLOR3:return T;case a.ANIMATIONTYPE_COLOR4:return G;case a.ANIMATIONTYPE_QUATERNION:return x;default:return f}}let P=!1;function N(e){const[t,a]=e.split(":");return M({op:t,extension:a})}function M(e,t=!0){const a=e.extension?C[e.extension]?.[e.op]:O[e.op];if(!a&&(i.Warn(`No mapping found for operation ${e.op} and extension ${e.extension||"KHR_interactivity"}`),t)){const t={},a={flows:{}};if(e.inputValueSockets){t.values={};for(const a in e.inputValueSockets)t.values[a]={name:a}}return e.outputValueSockets&&(a.values={},Object.keys(e.outputValueSockets).forEach(e=>{a.values[e]={name:e}})),{blocks:[],inputs:t,outputs:a}}return a}function E(e,t,a){C[t]||={},C[t][e]=a}P||(P=!0,x.typeTransformer=e=>{if(e.getClassName){if("Vector4"===e.getClassName())return o.FromArray(e.asArray());if("Vector3"===e.getClassName())return o.FromEulerVector(e);if("Matrix"===e.getClassName())return o.FromRotationMatrix(e)}return e});const C={BABYLON:{"flow/log":{blocks:["FlowGraphConsoleLogBlock"],inputs:{values:{message:{name:"message"}}}}}},O={"event/onStart":{blocks:["FlowGraphSceneReadyEventBlock"],outputs:{flows:{out:{name:"done"}}}},"event/onTick":{blocks:["FlowGraphSceneTickEventBlock"],inputs:{},outputs:{values:{timeSinceLastTick:{name:"deltaTime",gltfType:"number"}},flows:{out:{name:"done"}}}},"event/send":{blocks:["FlowGraphSendCustomEventBlock"],extraProcessor(e,t,a,o,n){if("event/send"!==t.op||!e.configuration||1!==Object.keys(e.configuration).length)throw new Error("Receive event should have a single configuration object, the event itself");const r=e.configuration.event,l=r.value?.[0];if("number"!=typeof l)throw new Error("Event id should be a number");const u=o.arrays.events[l],i=n[0];return i.config||={},i.config.eventId=u.eventId,i.config.eventData=u.eventData,n}},"event/receive":{blocks:["FlowGraphReceiveCustomEventBlock"],outputs:{flows:{out:{name:"done"}}},validation(e,t){if(!e.configuration)return i.Error("Receive event should have a configuration object"),{valid:!1,error:"Receive event should have a configuration object"};const a=e.configuration.event;if(!a)return i.Error("Receive event should have a single configuration object, the event itself"),{valid:!1,error:"Receive event should have a single configuration object, the event itself"};const o=a.value?.[0];if("number"!=typeof o)return i.Error("Event id should be a number"),{valid:!1,error:"Event id should be a number"};const n=t.events?.[o];return n?{valid:!0}:(i.Error(`Event with id ${o} not found`),{valid:!1,error:`Event with id ${o} not found`})},extraProcessor(e,t,a,o,n){if("event/receive"!==t.op||!e.configuration||1!==Object.keys(e.configuration).length)throw new Error("Receive event should have a single configuration object, the event itself");const r=e.configuration.event,l=r.value?.[0];if("number"!=typeof l)throw new Error("Event id should be a number");const u=o.arrays.events[l],i=n[0];return i.config||={},i.config.eventId=u.eventId,i.config.eventData=u.eventData,n}},"math/E":R("FlowGraphEBlock"),"math/Pi":R("FlowGraphPIBlock"),"math/Inf":R("FlowGraphInfBlock"),"math/NaN":R("FlowGraphNaNBlock"),"math/abs":R("FlowGraphAbsBlock"),"math/sign":R("FlowGraphSignBlock"),"math/trunc":R("FlowGraphTruncBlock"),"math/floor":R("FlowGraphFloorBlock"),"math/ceil":R("FlowGraphCeilBlock"),"math/round":{blocks:["FlowGraphRoundBlock"],configuration:{},inputs:{values:{a:{name:"a"}}},outputs:{values:{value:{name:"value"}}},extraProcessor:(e,t,a,o,n)=>(n[0].config||={},n[0].config.roundHalfAwayFromZero=!0,n)},"math/fract":R("FlowGraphFractBlock"),"math/neg":R("FlowGraphNegationBlock"),"math/add":R("FlowGraphAddBlock",["a","b"],!0),"math/sub":R("FlowGraphSubtractBlock",["a","b"],!0),"math/mul":{blocks:["FlowGraphMultiplyBlock"],extraProcessor(e,t,a,o,n){n[0].config||={},n[0].config.useMatrixPerComponent=!0,n[0].config.preventIntegerFloatArithmetic=!0;let r=-1;return Object.keys(e.values||{}).find(t=>void 0!==e.values?.[t].type&&(r=e.values[t].type,!0)),-1!==r&&(n[0].config.type=o.arrays.types[r].flowGraphType),n},validation:e=>e.values?D(e):{valid:!0}},"math/div":R("FlowGraphDivideBlock",["a","b"],!0),"math/rem":R("FlowGraphModuloBlock",["a","b"]),"math/min":R("FlowGraphMinBlock",["a","b"]),"math/max":R("FlowGraphMaxBlock",["a","b"]),"math/clamp":R("FlowGraphClampBlock",["a","b","c"]),"math/saturate":R("FlowGraphSaturateBlock"),"math/mix":R("FlowGraphMathInterpolationBlock",["a","b","c"]),"math/eq":R("FlowGraphEqualityBlock",["a","b"]),"math/lt":R("FlowGraphLessThanBlock",["a","b"]),"math/le":R("FlowGraphLessThanOrEqualBlock",["a","b"]),"math/gt":R("FlowGraphGreaterThanBlock",["a","b"]),"math/ge":R("FlowGraphGreaterThanOrEqualBlock",["a","b"]),"math/isNaN":R("FlowGraphIsNaNBlock"),"math/isInf":R("FlowGraphIsInfBlock"),"math/select":{blocks:["FlowGraphConditionalBlock"],inputs:{values:{condition:{name:"condition"},a:{name:"onTrue"},b:{name:"onFalse"}}},outputs:{values:{value:{name:"output"}}}},"math/random":{blocks:["FlowGraphRandomBlock"],outputs:{values:{value:{name:"value"}}}},"math/sin":R("FlowGraphSinBlock"),"math/cos":R("FlowGraphCosBlock"),"math/tan":R("FlowGraphTanBlock"),"math/asin":R("FlowGraphASinBlock"),"math/acos":R("FlowGraphACosBlock"),"math/atan":R("FlowGraphATanBlock"),"math/atan2":R("FlowGraphATan2Block",["a","b"]),"math/sinh":R("FlowGraphSinhBlock"),"math/cosh":R("FlowGraphCoshBlock"),"math/tanh":R("FlowGraphTanhBlock"),"math/asinh":R("FlowGraphASinhBlock"),"math/acosh":R("FlowGraphACoshBlock"),"math/atanh":R("FlowGraphATanhBlock"),"math/exp":R("FlowGraphExponentialBlock"),"math/log":R("FlowGraphLogBlock"),"math/log2":R("FlowGraphLog2Block"),"math/log10":R("FlowGraphLog10Block"),"math/sqrt":R("FlowGraphSquareRootBlock"),"math/cbrt":R("FlowGraphCubeRootBlock"),"math/pow":R("FlowGraphPowerBlock",["a","b"]),"math/length":R("FlowGraphLengthBlock"),"math/normalize":R("FlowGraphNormalizeBlock"),"math/dot":R("FlowGraphDotBlock",["a","b"]),"math/cross":R("FlowGraphCrossBlock",["a","b"]),"math/rotate2D":{blocks:["FlowGraphRotate2DBlock"],inputs:{values:{a:{name:"a"},angle:{name:"b"}}},outputs:{values:{value:{name:"value"}}}},"math/rotate3D":{blocks:["FlowGraphRotate3DBlock"],inputs:{values:{a:{name:"a"},rotation:{name:"b"}}},outputs:{values:{value:{name:"value"}}}},"math/transform":{blocks:["FlowGraphTransformVectorBlock"],inputs:{values:{a:{name:"a"},b:{name:"b"}}},outputs:{values:{value:{name:"value"}}}},"math/combine2":{blocks:["FlowGraphCombineVector2Block"],inputs:{values:{a:{name:"input_0",gltfType:"number"},b:{name:"input_1",gltfType:"number"}}},outputs:{values:{value:{name:"value"}}}},"math/combine3":{blocks:["FlowGraphCombineVector3Block"],inputs:{values:{a:{name:"input_0",gltfType:"number"},b:{name:"input_1",gltfType:"number"},c:{name:"input_2",gltfType:"number"}}},outputs:{values:{value:{name:"value"}}}},"math/combine4":{blocks:["FlowGraphCombineVector4Block"],inputs:{values:{a:{name:"input_0",gltfType:"number"},b:{name:"input_1",gltfType:"number"},c:{name:"input_2",gltfType:"number"},d:{name:"input_3",gltfType:"number"}}},outputs:{values:{value:{name:"value"}}}},"math/extract2":{blocks:["FlowGraphExtractVector2Block"],inputs:{values:{a:{name:"input",gltfType:"number"}}},outputs:{values:{0:{name:"output_0"},1:{name:"output_1"}}}},"math/extract3":{blocks:["FlowGraphExtractVector3Block"],inputs:{values:{a:{name:"input",gltfType:"number"}}},outputs:{values:{0:{name:"output_0"},1:{name:"output_1"},2:{name:"output_2"}}}},"math/extract4":{blocks:["FlowGraphExtractVector4Block"],inputs:{values:{a:{name:"input",gltfType:"number"}}},outputs:{values:{0:{name:"output_0"},1:{name:"output_1"},2:{name:"output_2"},3:{name:"output_3"}}}},"math/transpose":R("FlowGraphTransposeBlock"),"math/determinant":R("FlowGraphDeterminantBlock"),"math/inverse":R("FlowGraphInvertMatrixBlock"),"math/matMul":R("FlowGraphMatrixMultiplicationBlock",["a","b"]),"math/matCompose":{blocks:["FlowGraphMatrixCompose"],inputs:{values:{translation:{name:"position",gltfType:"float3"},rotation:{name:"rotationQuaternion",gltfType:"float4"},scale:{name:"scaling",gltfType:"float3"}}},outputs:{values:{value:{name:"value"}}},extraProcessor(e,t,a,o,n,r){const l=n[0].dataInputs.find(e=>"rotationQuaternion"===e.name);if(!l)throw new Error("Rotation quaternion input not found");return r._connectionValues[l.uniqueId]&&(r._connectionValues[l.uniqueId].type="Quaternion"),n}},"math/matDecompose":{blocks:["FlowGraphMatrixDecompose"],inputs:{values:{a:{name:"input",gltfType:"number"}}},outputs:{values:{translation:{name:"position"},rotation:{name:"rotationQuaternion"},scale:{name:"scaling"}}}},"math/quatConjugate":R("FlowGraphConjugateBlock",["a"]),"math/quatMul":{blocks:["FlowGraphMultiplyBlock"],inputs:{values:{a:{name:"a",gltfType:"vector4"},b:{name:"b",gltfType:"vector4"}}},outputs:{values:{value:{name:"value"}}},extraProcessor:(e,t,a,o,n)=>(n[0].config||={},n[0].config.type="Quaternion",n)},"math/quatAngleBetween":R("FlowGraphAngleBetweenBlock",["a","b"]),"math/quatFromAxisAngle":{blocks:["FlowGraphQuaternionFromAxisAngleBlock"],inputs:{values:{axis:{name:"a",gltfType:"float3"},angle:{name:"b",gltfType:"number"}}},outputs:{values:{value:{name:"value"}}}},"math/quatToAxisAngle":R("FlowGraphAxisAngleFromQuaternionBlock",["a"]),"math/quatFromDirections":R("FlowGraphQuaternionFromDirectionsBlock",["a","b"]),"math/combine2x2":{blocks:["FlowGraphCombineMatrix2DBlock"],inputs:{values:{a:{name:"input_0",gltfType:"number"},b:{name:"input_1",gltfType:"number"},c:{name:"input_2",gltfType:"number"},d:{name:"input_3",gltfType:"number"}}},outputs:{values:{value:{name:"value"}}},extraProcessor:(e,t,a,o,n)=>(n[0].config||={},n[0].config.inputIsColumnMajor=!0,n)},"math/extract2x2":{blocks:["FlowGraphExtractMatrix2DBlock"],inputs:{values:{a:{name:"input",gltfType:"float2x2"}}},outputs:{values:{0:{name:"output_0"},1:{name:"output_1"},2:{name:"output_2"},3:{name:"output_3"}}}},"math/combine3x3":{blocks:["FlowGraphCombineMatrix3DBlock"],inputs:{values:{a:{name:"input_0",gltfType:"number"},b:{name:"input_1",gltfType:"number"},c:{name:"input_2",gltfType:"number"},d:{name:"input_3",gltfType:"number"},e:{name:"input_4",gltfType:"number"},f:{name:"input_5",gltfType:"number"},g:{name:"input_6",gltfType:"number"},h:{name:"input_7",gltfType:"number"},i:{name:"input_8",gltfType:"number"}}},outputs:{values:{value:{name:"value"}}},extraProcessor:(e,t,a,o,n)=>(n[0].config||={},n[0].config.inputIsColumnMajor=!0,n)},"math/extract3x3":{blocks:["FlowGraphExtractMatrix3DBlock"],inputs:{values:{a:{name:"input",gltfType:"float3x3"}}},outputs:{values:{0:{name:"output_0"},1:{name:"output_1"},2:{name:"output_2"},3:{name:"output_3"},4:{name:"output_4"},5:{name:"output_5"},6:{name:"output_6"},7:{name:"output_7"},8:{name:"output_8"}}}},"math/combine4x4":{blocks:["FlowGraphCombineMatrixBlock"],inputs:{values:{a:{name:"input_0",gltfType:"number"},b:{name:"input_1",gltfType:"number"},c:{name:"input_2",gltfType:"number"},d:{name:"input_3",gltfType:"number"},e:{name:"input_4",gltfType:"number"},f:{name:"input_5",gltfType:"number"},g:{name:"input_6",gltfType:"number"},h:{name:"input_7",gltfType:"number"},i:{name:"input_8",gltfType:"number"},j:{name:"input_9",gltfType:"number"},k:{name:"input_10",gltfType:"number"},l:{name:"input_11",gltfType:"number"},m:{name:"input_12",gltfType:"number"},n:{name:"input_13",gltfType:"number"},o:{name:"input_14",gltfType:"number"},p:{name:"input_15",gltfType:"number"}}},outputs:{values:{value:{name:"value"}}},extraProcessor:(e,t,a,o,n)=>(n[0].config||={},n[0].config.inputIsColumnMajor=!0,n)},"math/extract4x4":{blocks:["FlowGraphExtractMatrixBlock"],configuration:{},inputs:{values:{a:{name:"input",gltfType:"number"}}},outputs:{values:{0:{name:"output_0"},1:{name:"output_1"},2:{name:"output_2"},3:{name:"output_3"},4:{name:"output_4"},5:{name:"output_5"},6:{name:"output_6"},7:{name:"output_7"},8:{name:"output_8"},9:{name:"output_9"},10:{name:"output_10"},11:{name:"output_11"},12:{name:"output_12"},13:{name:"output_13"},14:{name:"output_14"},15:{name:"output_15"}}}},"math/not":{blocks:["FlowGraphBitwiseNotBlock"],inputs:{values:{a:{name:"a"}}},outputs:{values:{value:{name:"value"}}},extraProcessor(e,t,a,o,n,r){n[0].config||={};const l=n[0].dataInputs[0];return n[0].config.valueType=r._connectionValues[l.uniqueId]?.type??"FlowGraphInteger",n}},"math/and":{blocks:["FlowGraphBitwiseAndBlock"],inputs:{values:{a:{name:"a"},b:{name:"b"}}},outputs:{values:{value:{name:"value"}}},extraProcessor(e,t,a,o,n,r){n[0].config||={};const l=n[0].dataInputs[0],u=n[0].dataInputs[1];return n[0].config.valueType=r._connectionValues[l.uniqueId]?.type??r._connectionValues[u.uniqueId]?.type??"FlowGraphInteger",n}},"math/or":{blocks:["FlowGraphBitwiseOrBlock"],inputs:{values:{a:{name:"a"},b:{name:"b"}}},outputs:{values:{value:{name:"value"}}},extraProcessor(e,t,a,o,n,r){n[0].config||={};const l=n[0].dataInputs[0],u=n[0].dataInputs[1];return n[0].config.valueType=r._connectionValues[l.uniqueId]?.type??r._connectionValues[u.uniqueId]?.type??"FlowGraphInteger",n}},"math/xor":{blocks:["FlowGraphBitwiseXorBlock"],inputs:{values:{a:{name:"a"},b:{name:"b"}}},outputs:{values:{value:{name:"value"}}},extraProcessor(e,t,a,o,n,r){n[0].config||={};const l=n[0].dataInputs[0],u=n[0].dataInputs[1];return n[0].config.valueType=r._connectionValues[l.uniqueId]?.type??r._connectionValues[u.uniqueId]?.type??"FlowGraphInteger",n}},"math/asr":R("FlowGraphBitwiseRightShiftBlock",["a","b"]),"math/lsl":R("FlowGraphBitwiseLeftShiftBlock",["a","b"]),"math/clz":R("FlowGraphLeadingZerosBlock"),"math/ctz":R("FlowGraphTrailingZerosBlock"),"math/popcnt":R("FlowGraphOneBitsCounterBlock"),"math/rad":R("FlowGraphDegToRadBlock"),"math/deg":R("FlowGraphRadToDegBlock"),"type/boolToInt":R("FlowGraphBooleanToInt"),"type/boolToFloat":R("FlowGraphBooleanToFloat"),"type/intToBool":R("FlowGraphIntToBoolean"),"type/intToFloat":R("FlowGraphIntToFloat"),"type/floatToInt":R("FlowGraphFloatToInt"),"type/floatToBool":R("FlowGraphFloatToBoolean"),"flow/sequence":{blocks:["FlowGraphSequenceBlock"],extraProcessor(e,t,a,o,n){const r=n[0];return r.config||={},r.config.outputSignalCount=Object.keys(e.flows||[]).length,r.signalOutputs.forEach((e,t)=>{e.name="out_"+t}),n}},"flow/branch":{blocks:["FlowGraphBranchBlock"],outputs:{flows:{true:{name:"onTrue"},false:{name:"onFalse"}}}},"flow/switch":{blocks:["FlowGraphSwitchBlock"],configuration:{cases:{name:"cases",isArray:!0,inOptions:!0,defaultValue:[]}},inputs:{values:{selection:{name:"case"},default:{name:"default"}}},validation(e){const t=e.configuration?.cases;if(t&&t.value){if(!t.value.every(e=>"number"==typeof e&&/^-?\d+$/.test(e.toString())))return i.Warn("Switch cases should be integers. Using empty array instead."),t.value=[],{valid:!0};const e=new Set(t.value);t.value=Array.from(e)}return{valid:!0}},extraProcessor(e,t,a,o,n){if("flow/switch"!==t.op||!e.flows||0===Object.keys(e.flows).length)throw new Error("Switch should have a single configuration object, the cases array");return n[0].signalOutputs.forEach(e=>{"default"!==e.name&&(e.name="out_"+e.name)}),n}},"flow/while":{blocks:["FlowGraphWhileLoopBlock"],outputs:{flows:{loopBody:{name:"executionFlow"}}}},"flow/for":{blocks:["FlowGraphForLoopBlock"],configuration:{initialIndex:{name:"initialIndex",gltfType:"number",inOptions:!0,defaultValue:0}},inputs:{values:{startIndex:{name:"startIndex",gltfType:"number"},endIndex:{name:"endIndex",gltfType:"number"}}},outputs:{values:{index:{name:"index"}},flows:{loopBody:{name:"executionFlow"}}},extraProcessor(e,t,a,o,n){const r=n[0];return r.config||={},r.config.incrementIndexWhenLoopDone=!0,n}},"flow/doN":{blocks:["FlowGraphDoNBlock"],configuration:{},inputs:{values:{n:{name:"maxExecutions",gltfType:"number"}}},outputs:{values:{currentCount:{name:"executionCount"}}}},"flow/multiGate":{blocks:["FlowGraphMultiGateBlock"],configuration:{isRandom:{name:"isRandom",gltfType:"boolean",inOptions:!0,defaultValue:!1},isLoop:{name:"isLoop",gltfType:"boolean",inOptions:!0,defaultValue:!1}},extraProcessor(e,t,a,o,n){if("flow/multiGate"!==t.op||!e.flows||0===Object.keys(e.flows).length)throw new Error("MultiGate should have a single configuration object, the number of output flows");const r=n[0];return r.config||={},r.config.outputSignalCount=Object.keys(e.flows).length,r.signalOutputs.forEach((e,t)=>{e.name="out_"+t}),n}},"flow/waitAll":{blocks:["FlowGraphWaitAllBlock"],configuration:{inputFlows:{name:"inputSignalCount",gltfType:"number",inOptions:!0,defaultValue:0}},inputs:{flows:{reset:{name:"reset"},"[segment]":{name:"in_$1"}}},validation:e=>("number"!=typeof e.configuration?.inputFlows?.value?.[0]&&(e.configuration=e.configuration||{inputFlows:{value:[0]}},e.configuration.inputFlows.value=[0]),{valid:!0})},"flow/throttle":{blocks:["FlowGraphThrottleBlock"],outputs:{flows:{err:{name:"error"}}}},"flow/setDelay":{blocks:["FlowGraphSetDelayBlock"],outputs:{flows:{err:{name:"error"}}}},"flow/cancelDelay":{blocks:["FlowGraphCancelDelayBlock"]},"variable/get":{blocks:["FlowGraphGetVariableBlock"],validation:e=>e.configuration?.variable?.value?{valid:!0}:(i.Error("Variable get block should have a variable configuration"),{valid:!1,error:"Variable get block should have a variable configuration"}),configuration:{variable:{name:"variable",gltfType:"number",flowGraphType:"string",inOptions:!0,isVariable:!0,dataTransformer:(e,t)=>t.getVariableName(e)}}},"variable/set":{blocks:["FlowGraphSetVariableBlock"],configuration:{variables:{name:"variables",gltfType:"number",flowGraphType:"string",inOptions:!0,isArray:!0,dataTransformer:(e,t)=>e.map(e=>t.getVariableName(e))}},extraProcessor:(e,t,a,o,n)=>(n[0].dataInputs.forEach(e=>{e.name=o.getVariableName(+e.name)}),n)},"variable/interpolate":{blocks:["FlowGraphInterpolationBlock","FlowGraphContextBlock","FlowGraphPlayAnimationBlock","FlowGraphBezierCurveEasing","FlowGraphGetVariableBlock"],configuration:{variable:{name:"propertyName",inOptions:!0,isVariable:!0,dataTransformer:(e,t)=>t.getVariableName(e)},useSlerp:{name:"animationType",inOptions:!0,defaultValue:!1,dataTransformer:e=>!0===e?"Quaternion":void 0}},inputs:{values:{value:{name:"value_1"},duration:{name:"duration_1",gltfType:"number"},p1:{name:"controlPoint1",toBlock:"FlowGraphBezierCurveEasing"},p2:{name:"controlPoint2",toBlock:"FlowGraphBezierCurveEasing"}},flows:{in:{name:"in",toBlock:"FlowGraphPlayAnimationBlock"}}},outputs:{flows:{err:{name:"error",toBlock:"FlowGraphPlayAnimationBlock"},out:{name:"out",toBlock:"FlowGraphPlayAnimationBlock"},done:{name:"done",toBlock:"FlowGraphPlayAnimationBlock"}}},interBlockConnectors:[{input:"object",output:"userVariables",inputBlockIndex:2,outputBlockIndex:1,isVariable:!0},{input:"animation",output:"animation",inputBlockIndex:2,outputBlockIndex:0,isVariable:!0},{input:"easingFunction",output:"easingFunction",inputBlockIndex:0,outputBlockIndex:3,isVariable:!0},{input:"value_0",output:"value",inputBlockIndex:0,outputBlockIndex:4,isVariable:!0}],extraProcessor(e,t,o,n,r){const l=r[0],u=e.configuration?.variable.value?.[0];if("number"!=typeof u)throw i.Error("Variable index is not defined for variable interpolation block"),new Error("Variable index is not defined for variable interpolation block");const s=n.arrays.staticVariables[u];void 0===l.config?.animationType?.value&&(l.config||={},l.config.animationType||={},l.config.animationType.value=function(e){switch(e){case"number":default:return a.ANIMATIONTYPE_FLOAT;case"Vector2":return a.ANIMATIONTYPE_VECTOR2;case"Vector3":return a.ANIMATIONTYPE_VECTOR3;case"Matrix":return a.ANIMATIONTYPE_MATRIX;case"Color3":return a.ANIMATIONTYPE_COLOR3;case"Color4":return a.ANIMATIONTYPE_COLOR4;case"Quaternion":return a.ANIMATIONTYPE_QUATERNION}}(s.type));const c=r[4];return c.config||={},c.config.variable||={},c.config.variable.value=n.getVariableName(u),r}},"pointer/get":{blocks:["FlowGraphGetPropertyBlock","FlowGraphJsonPointerParserBlock"],configuration:{pointer:{name:"jsonPointer",toBlock:"FlowGraphJsonPointerParserBlock"}},inputs:{values:{"[segment]":{name:"$1",toBlock:"FlowGraphJsonPointerParserBlock"}}},interBlockConnectors:[{input:"object",output:"object",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"propertyName",output:"propertyName",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"customGetFunction",output:"getFunction",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0}],extraProcessor:(e,t,a,o,n)=>(n.forEach(e=>{"FlowGraphJsonPointerParserBlock"===e.className&&(e.config||={},e.config.outputValue=!0)}),n)},"pointer/set":{blocks:["FlowGraphSetPropertyBlock","FlowGraphJsonPointerParserBlock"],configuration:{pointer:{name:"jsonPointer",toBlock:"FlowGraphJsonPointerParserBlock"}},inputs:{values:{value:{name:"value"},"[segment]":{name:"$1",toBlock:"FlowGraphJsonPointerParserBlock"}}},outputs:{flows:{err:{name:"error"}}},interBlockConnectors:[{input:"object",output:"object",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"propertyName",output:"propertyName",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"customSetFunction",output:"setFunction",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0}],extraProcessor:(e,t,a,o,n)=>(n.forEach(e=>{"FlowGraphJsonPointerParserBlock"===e.className&&(e.config||={},e.config.outputValue=!0)}),n)},"pointer/interpolate":{blocks:["FlowGraphInterpolationBlock","FlowGraphJsonPointerParserBlock","FlowGraphPlayAnimationBlock","FlowGraphBezierCurveEasing"],configuration:{pointer:{name:"jsonPointer",toBlock:"FlowGraphJsonPointerParserBlock"}},inputs:{values:{value:{name:"value_1"},"[segment]":{name:"$1",toBlock:"FlowGraphJsonPointerParserBlock"},duration:{name:"duration_1",gltfType:"number"},p1:{name:"controlPoint1",toBlock:"FlowGraphBezierCurveEasing"},p2:{name:"controlPoint2",toBlock:"FlowGraphBezierCurveEasing"}},flows:{in:{name:"in",toBlock:"FlowGraphPlayAnimationBlock"}}},outputs:{flows:{err:{name:"error",toBlock:"FlowGraphPlayAnimationBlock"},out:{name:"out",toBlock:"FlowGraphPlayAnimationBlock"},done:{name:"done",toBlock:"FlowGraphPlayAnimationBlock"}}},interBlockConnectors:[{input:"object",output:"object",inputBlockIndex:2,outputBlockIndex:1,isVariable:!0},{input:"propertyName",output:"propertyName",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"customBuildAnimation",output:"generateAnimationsFunction",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"animation",output:"animation",inputBlockIndex:2,outputBlockIndex:0,isVariable:!0},{input:"easingFunction",output:"easingFunction",inputBlockIndex:0,outputBlockIndex:3,isVariable:!0},{input:"value_0",output:"value",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0}],extraProcessor:(e,t,a,o,n)=>(n.forEach(t=>{"FlowGraphJsonPointerParserBlock"===t.className?(t.config||={},t.config.outputValue=!0):"FlowGraphInterpolationBlock"===t.className&&(t.config||={},Object.keys(e.values||[]).forEach(a=>{const n=e.values?.[a];if("value"===a&&n){const e=n.type;void 0!==e&&(t.config.animationType=o.arrays.types[e].flowGraphType)}}))}),n)},"animation/start":{blocks:["FlowGraphPlayAnimationBlock","FlowGraphArrayIndexBlock","KHR_interactivity/FlowGraphGLTFDataProvider"],inputs:{values:{animation:{name:"index",gltfType:"number",toBlock:"FlowGraphArrayIndexBlock"},speed:{name:"speed",gltfType:"number"},startTime:{name:"from",gltfType:"number",dataTransformer:(e,t)=>[e[0]*t._animationTargetFps]},endTime:{name:"to",gltfType:"number",dataTransformer:(e,t)=>[e[0]*t._animationTargetFps]}}},outputs:{flows:{err:{name:"error"}}},interBlockConnectors:[{input:"animationGroup",output:"value",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"array",output:"animationGroups",inputBlockIndex:1,outputBlockIndex:2,isVariable:!0}],extraProcessor(e,t,a,o,n,r,l){const u=n[n.length-1];return u.config||={},u.config.glTF=l,n}},"animation/stop":{blocks:["FlowGraphStopAnimationBlock","FlowGraphArrayIndexBlock","KHR_interactivity/FlowGraphGLTFDataProvider"],inputs:{values:{animation:{name:"index",gltfType:"number",toBlock:"FlowGraphArrayIndexBlock"}}},outputs:{flows:{err:{name:"error"}}},interBlockConnectors:[{input:"animationGroup",output:"value",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"array",output:"animationGroups",inputBlockIndex:1,outputBlockIndex:2,isVariable:!0}],extraProcessor(e,t,a,o,n,r,l){const u=n[n.length-1];return u.config||={},u.config.glTF=l,n}},"animation/stopAt":{blocks:["FlowGraphStopAnimationBlock","FlowGraphArrayIndexBlock","KHR_interactivity/FlowGraphGLTFDataProvider"],configuration:{},inputs:{values:{animation:{name:"index",gltfType:"number",toBlock:"FlowGraphArrayIndexBlock"},stopTime:{name:"stopAtFrame",gltfType:"number",dataTransformer:(e,t)=>[e[0]*t._animationTargetFps]}}},outputs:{flows:{err:{name:"error"}}},interBlockConnectors:[{input:"animationGroup",output:"value",inputBlockIndex:0,outputBlockIndex:1,isVariable:!0},{input:"array",output:"animationGroups",inputBlockIndex:1,outputBlockIndex:2,isVariable:!0}],extraProcessor(e,t,a,o,n,r,l){const u=n[n.length-1];return u.config||={},u.config.glTF=l,n}},"math/switch":{blocks:["FlowGraphDataSwitchBlock"],configuration:{cases:{name:"cases",isArray:!0,inOptions:!0,defaultValue:[]}},inputs:{values:{selection:{name:"case"}}},validation(e){const t=e.configuration?.cases;if(t&&t.value){if(!t.value.every(e=>"number"==typeof e&&/^-?\d+$/.test(e.toString())))return i.Warn("Switch cases should be integers. Using empty array instead."),t.value=[],{valid:!0};const e=new Set(t.value);t.value=Array.from(e)}return{valid:!0}},extraProcessor(e,t,a,o,n){const r=n[0];return r.dataInputs.forEach(e=>{"default"!==e.name&&"case"!==e.name&&(e.name="in_"+e.name)}),r.config||={},r.config.treatCasesAsIntegers=!0,n}},"debug/log":{blocks:["FlowGraphConsoleLogBlock"],configuration:{message:{name:"messageTemplate",inOptions:!0}}}};function R(e,t=["a"],a){return{blocks:[e],inputs:{values:t.reduce((e,t)=>(e[t]={name:t},e),{})},outputs:{values:{value:{name:"value"}}},extraProcessor(e,t,o,n,r){if(a){r[0].config||={},r[0].config.preventIntegerFloatArithmetic=!0;let t=-1;Object.keys(e.values||{}).find(a=>void 0!==e.values?.[a].type&&(t=e.values[a].type,!0)),-1!==t&&(r[0].config.type=n.arrays.types[t].flowGraphType)}return r},validation:e=>a?D(e):{valid:!0}}}function D(e){if(e.values){const t=Object.keys(e.values).map(t=>e.values[t].type).filter(e=>void 0!==e);if(!t.every(e=>e===t[0]))return{valid:!1,error:"All inputs must be of the same type"}}return{valid:!0}}export{s as F,f as R,v as a,b,E as c,w as d,V as e,k as f,A as g,x as h,B as i,I as j,_ as k,y as l,p as m,F as n,c as o,d as p,g as q,M as r,N as s}; //# sourceMappingURL=declarationMapper-D_filC93.esm.min.js.map