@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.6 kB
JavaScript
import{R as e,a7 as t,V as a,C as o,Q as n,M as r,i as l,j as u,aH as i,L as s}from"./index-Bw2N6w1y.esm.min.js";class c{constructor(e){this.value=this._toInt(e)}_toInt(e){return 0|e}add(e){return new c(this.value+e.value)}subtract(e){return new c(this.value-e.value)}multiply(e){return new c(Math.imul(this.value,e.value))}divide(e){return new c(this.value/e.value)}getClassName(){return c.ClassName}equals(e){return this.value===e.value}static FromValue(e){return new c(e)}toString(){return this.value.toString()}}c.ClassName="FlowGraphInteger",e("FlowGraphInteger",c);class p{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 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],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],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],t}subtract(e){return this.subtractToRef(e,new p)}transpose(){const e=this._m;return new p([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 p([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 m{constructor(e=[1,0,0,0,1,0,0,0,1]){this._m=e}get m(){return this._m}transformVector(e){return this.transformVectorToRef(e,new a)}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 m)}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 m)}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 m)}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 m)}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 m([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 m([(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 h;!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"}(h||(h={}));class f{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 b=new f("any",void 0),g=new f("string",""),w=new f("number",0,o.ANIMATIONTYPE_FLOAT),v=new f("boolean",!1),k=new f("Vector2",t.Zero(),o.ANIMATIONTYPE_VECTOR2),d=new f("Vector3",a.Zero(),o.ANIMATIONTYPE_VECTOR3),B=new f("Vector4",l.Zero()),F=new f("Matrix",r.Identity(),o.ANIMATIONTYPE_MATRIX),y=new f("Matrix2D",new p),T=new f("Matrix3D",new m),G=new f("Color3",i.Black(),o.ANIMATIONTYPE_COLOR3),x=new f("Color4",new u(0,0,0,0),o.ANIMATIONTYPE_COLOR4),I=new f("Quaternion",n.Identity(),o.ANIMATIONTYPE_QUATERNION);I.typeTransformer=e=>{if(e.getClassName){if("Vector4"===e.getClassName())return n.FromArray(e.asArray());if("Vector3"===e.getClassName())return n.FromEulerVector(e);if("Matrix"===e.getClassName())return n.FromRotationMatrix(e)}return e};const _=new f("FlowGraphInteger",new c(0),o.ANIMATIONTYPE_FLOAT);function A(e){const t=e;switch(typeof e){case"string":return g;case"number":return w;case"boolean":return v;case"object":if(t.getClassName)switch(t.getClassName()){case"Vector2":return k;case"Vector3":return d;case"Vector4":return B;case"Matrix":return F;case"Color3":return G;case"Color4":return x;case"Quaternion":return I;case"FlowGraphInteger":return _;case"Matrix2D":return y;case"Matrix3D":return T}return b;default:return b}}function V(e){switch(e){case"string":return g;case"number":return w;case"boolean":return v;case"Vector2":return k;case"Vector3":return d;case"Vector4":return B;case"Matrix":return F;case"Color3":return G;case"Color4":return x;case"Quaternion":return I;case"FlowGraphInteger":return _;case"Matrix2D":return y;case"Matrix3D":return T;default:return b}}function P(e){switch(e){case o.ANIMATIONTYPE_FLOAT:return w;case o.ANIMATIONTYPE_VECTOR2:return k;case o.ANIMATIONTYPE_VECTOR3:return d;case o.ANIMATIONTYPE_MATRIX:return F;case o.ANIMATIONTYPE_COLOR3:return G;case o.ANIMATIONTYPE_COLOR4:return x;case o.ANIMATIONTYPE_QUATERNION:return I;default:return b}}function N(e){const[t,a]=e.split(":");return M({op:t,extension:a})}function M(e,t=!0){const a=e.extension?E[e.extension]?.[e.op]:O[e.op];if(!a&&(s.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 C(e,t,a){E[t]||={},E[t][e]=a}const E={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.value[0];if("number"!=typeof r)throw new Error("Event id should be a number");const l=o.arrays.events[r],u=n[0];return u.config||={},u.config.eventId=l.eventId,u.config.eventData=l.eventData,n}},"event/receive":{blocks:["FlowGraphReceiveCustomEventBlock"],outputs:{flows:{out:{name:"done"}}},validation(e,t){if(!e.configuration)return s.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 s.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 s.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}:(s.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.value[0];if("number"!=typeof r)throw new Error("Event id should be a number");const l=o.arrays.events[r],u=n[0];return u.config||={},u.config.eventId=l.eventId,u.config.eventData=l.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":R("FlowGraphRotate2DBlock",["a","b"]),"math/rotate3D":R("FlowGraphRotate3DBlock",["a","b"]),"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",inOptions:!0,defaultValue:[]}},inputs:{values:{selection:{name:"case"},default:{name:"default"}}},validation(e){if(e.configuration&&e.configuration.cases){const t=e.configuration.cases.value;if(!t.every((e=>"number"==typeof e&&/^-?\d+$/.test(e.toString()))))return s.Warn("Switch cases should be integers. Using empty array instead."),e.configuration.cases.value=[],{valid:!0};const a=new Set(t);e.configuration.cases.value=Array.from(a)}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}:(s.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[0])]}}},"variable/set":{blocks:["FlowGraphSetVariableBlock"],configuration:{variable:{name:"variable",gltfType:"number",flowGraphType:"string",inOptions:!0,isVariable:!0,dataTransformer:(e,t)=>[t.getVariableName(e[0])]}}},"variable/setMultiple":{blocks:["FlowGraphSetVariableBlock"],configuration:{variables:{name:"variables",gltfType:"number",flowGraphType:"string",inOptions:!0,dataTransformer:(e,t)=>[e[0].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[0])]},useSlerp:{name:"animationType",inOptions:!0,defaultValue:!1,dataTransformer:e=>!0===e[0]?["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,a,n,r){const l=r[0],u=e.configuration?.variable.value[0];if("number"!=typeof u)throw s.Error("Variable index is not defined for variable interpolation block"),new Error("Variable index is not defined for variable interpolation block");const i=n.arrays.staticVariables[u];void 0===l.config.animationType.value&&(n.arrays.staticVariables,l.config.animationType.value=function(e){switch(e){case"number":default:return o.ANIMATIONTYPE_FLOAT;case"Vector2":return o.ANIMATIONTYPE_VECTOR2;case"Vector3":return o.ANIMATIONTYPE_VECTOR3;case"Matrix":return o.ANIMATIONTYPE_MATRIX;case"Color3":return o.ANIMATIONTYPE_COLOR3;case"Color4":return o.ANIMATIONTYPE_COLOR4;case"Quaternion":return o.ANIMATIONTYPE_QUATERNION}}(i.type));const c=r[4];return c.config||={},c.config.variable||={},c.config.variable.value=n.getVariableName(u),r[3].config||={},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",inOptions:!0,defaultValue:[]}},inputs:{values:{selection:{name:"case"}}},validation(e){if(e.configuration&&e.configuration.cases){const t=e.configuration.cases.value;if(!t.every((e=>"number"==typeof e&&/^-?\d+$/.test(e.toString()))))return s.Warn("Switch cases should be integers. Using empty array instead."),e.configuration.cases.value=[],{valid:!0};const a=new Set(t);e.configuration.cases.value=Array.from(a)}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}}O["math/compose"]=O["math/matCompose"],O["math/decompose"]=O["math/matDecompose"];export{p as F,b as R,m as a,c as b,M as c,N as d,C as e,w as f,V as g,v as h,P as i,d as j,_ as k,I as l,F as m,k as n,A as o,B as p,y as q,T as r,g as s};
//# sourceMappingURL=declarationMapper-13w1YGqM.esm.min.js.map