python-cad-tools 0.1.6__tar.gz → 0.1.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.github/workflows/ci.yml +2 -6
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.gitignore +1 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/CHANGELOG.md +22 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/PKG-INFO +38 -1
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/README.md +37 -0
- python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/asset-manifest.json +1 -0
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/animationGroup-CkBwZBaC.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/animationGroup-D8JiTQ-4.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-BRwXBaR8.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-BXUoW_dN.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/basisTextureLoader-BRWOHjz-.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/basisTextureLoader-CVHGuBLP.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/brdfTextureTools-_z9j6IDT.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/brdfTextureTools-D96Uxpg7.js +2 -2
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/bumpFragment-D1ib6sWk.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/bumpFragment-ZSaaIjlj.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/bumpVertex-rRJFggby.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/bumpVertex-B77JU1YW.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-DpYJme-Y.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-Ia7fxSn9.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-8V4Sc9NG.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-B6DPyYvd.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-05ivX8eb.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-BszU5pg9.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-BOak-Hxf.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-DtS_e4_4.js +1 -1
- python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/dds-IzBU48fT.js +1 -0
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/dds.pure-Ce-RwcPa.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/dds.pure-CMQrALY8.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-DmqLHZsO.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-CdJp2uRL.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/default.fragment-skPC2PC5.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/default.fragment-Bd74LdsD.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/default.vertex-Bf7EZhGi.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/default.vertex-BbLzFbSI.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-DveD0pj_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-CWmXZelY.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/dumpTools-E15xCOlX.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/dumpTools-C1GV3tke.js +2 -2
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/envTextureLoader-Bw7xWacU.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/envTextureLoader-D8Rc9mej.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/exrTextureLoader-DdM34m4d.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/exrTextureLoader-dLKMUCnE.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-C2CCzJfK.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-BdJfphn5.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-DaQNBsAi.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-BjNZz3lY.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-Bm_uAgA1.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-BO3TRmH0.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-BIRe7y9_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-CvNkMyMS.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-DMJBYgfr.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-C0zTSypA.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-QxXghWCp.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-ghEzHTJ0.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-I8EAYjjd.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-Befmlymg.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-BzNEnhY9.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-CZ4x2OHC.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-B7ItpxKe.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-Bg7iuKLe.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-BhbDYfGS.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-CgsD1XIc.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-DXpJ7TNt.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-CXGmEPz3.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-DNvjca7m.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-Cvo5vmPt.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-aSW2fQMB.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-7js8GLy5.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-CQB87ocL.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-Dnhmin9r.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-DuoW5gn_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-DNcKLFOn.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-CKgVrKHO.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-CwMpsIku.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-DoCK3CbK.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-CNETXCb0.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-BGQscpK_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-VouTILkP.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-C8ByegaL.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-C6rQIu-I.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-DZZ6IZdT.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-C7KNITdq.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-jnLx7y5R.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-C_Tl0qXF.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-DVCyAPqf.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-ChzhGELd.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-Co3We5bN.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-BdE0stdX.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-6xyNjSA6.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-Ct28X64C.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-Cmz2b6ZC.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-D_HtxKVI.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-DAEGIqYD.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-3udqCAK3.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-BjCZBRGe.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-CmnYGepx.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-1qAsVO8r.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-BO9H9c3L.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-CjzseaZ_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-CeKonax7.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-BIHX5QMz.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-ugd43AvH.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-CiQsoigA.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-CeAOzH23.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-Bw0KkJ0e.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-DTh4fL6t.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-DndaXIf-.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-CE5OhwqS.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-B6Qttnxj.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-D5gv9QIZ.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-DNYimm79.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-Cy-XDvh9.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-C4bd_Uk_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-B91rxqkv.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-BbiC-9yS.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-DPYtdWaj.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-8jNrKia4.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-BApSnOZE.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-Bp9VLo95.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-D3CK-Hy2.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-RBcvT17x.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-B6nBNvbo.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-CDMmeteR.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-ofjzAxQF.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-BLD5qZLm.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-BvF2vaZi.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-Bp_x5hf9.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-DpHnJiIf.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-BJEgts2P.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-BrrymuG6.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-mB4vOhyw.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-CHSeaOnB.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-DHywozhh.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-syMr1OJN.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-db7Y-Q7u.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-BXnW30FY.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-CxsvloFb.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-CsSTQ880.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-CVZzeLa6.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-Ct0SkI9l.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-kgytqAo-.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-3Oxamq4b.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-DIiGO9Sz.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-B4SYh7i0.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-yJsL04S3.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-CVt4drqm.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-oGalI3fw.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-Q5eFYPWa.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-CGU30qtJ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-S8K7qYF_.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-CxumRn2U.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-Dg_340c-.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-_hKXW4nX.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-C_0s6vFz.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-BadQ6Fmt.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-BXzvdSwL.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-ZX23Dn7h.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-DTjRGM0i.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-DaDY5MFY.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-CVc5809-.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-ClLunIUZ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-3NJrJ4Fn.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-Cdu7nMQr.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-D4V0HEJW.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-BXRAhWUV.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-CIFAGZ4N.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-BzUyWEvj.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-DW9lz25w.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-D_eRVaRX.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-CBI-hqde.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-C48wCF3K.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-9g1tFmrf.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-JilA8K68.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-DOoVnrgC.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-DVVhNH2l.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-CNxA_doq.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-MkvXT-pz.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-Ds7-OqyY.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-BA1OpeUq.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-C6WWFd5D.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-aR7ATriv.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-DJymGlzE.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-_Z_XQ1KU.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-CGbRuDff.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-CbmOuO1Y.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-GrXGV2Lk.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-BMYbqqlw.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-PD8fnplX.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-IvfUhMXD.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-CDqG4e7V.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-XXcp6Uu_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-BRbmMhsz.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-CiCB0FD8.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-COJV6l5s.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/fogFragment-Dzpo6VdR.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/fogFragment-Choi4dwf.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-DyyJ3SmK.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-B2ibIxZi.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-eKQ5MVB9.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-O05Ige7q.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BA9M7qMm.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-CRSXtFZA.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BL60TTsE.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-lp1mUJ81.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-CKsJZAkY.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-C4vLDHOC.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-Bo6VgkDg.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-CtzXFKDF.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-BKNvofx9.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-DOXOYFhX.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-CwwM4G1X.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-DwBcuLEK.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-CRzxSOuN.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-Da9modjG.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-CzPcN15t.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-kSk7jCdX.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/geometry.fragment-D7dB1cPB.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/geometry.fragment-D5AHElrd.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/geometry.fragment-D6FSJnnh.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/geometry.fragment-GHxvGIuO.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/geometry.vertex-B30SEDfq.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/geometry.vertex-BekW6jCs.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/geometry.vertex-CEqGE1RP.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/geometry.vertex-m038PJYK.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-qbxgPsfh.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-BuYnbp24.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-pr52K7ES.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-C5l-Afa5.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-Bu7wD6_v.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-BdNNoSRh.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-DQIuOzG_.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-DEm5Wwpu.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex--Gv__zWj.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-D3FjaVt0.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-KdJGOHc6.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-DVbiWL12.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/helperFunctions-DgEuNo6U.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/helperFunctions-BMWamdZI.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/iesTextureLoader-CtVX46fM.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/iesTextureLoader-NWNyOmSO.js +1 -1
- python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/index-BE2-nPmV.css +1 -0
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/index-BlqB2_Pr.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/index-CxvyL8J4.js +165 -152
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DYsyjXaA.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DQG_CTu1.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-BX7Lt7ea.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-dEQEa5jL.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-DPBXY9JC.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-BbT8O5z2.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-ClVvwFB7.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-I35OVoE5.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-BYwqlIXx.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-Cqh5-5OF.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-Dug6rT1B.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-b3uALS8k.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-BIXHU16K.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-Dx4kAPwU.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/lightFragment-DHmrE5GX.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/lightFragment-CcjS-1Qr.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-DYQ6buM5.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-ChnhQwTH.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/logDepthVertex-N8cjnWeq.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/logDepthVertex-msVogzTr.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-04-YeMcZ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-pZFlArh_.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-Cxie7MAJ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-CdWlDODa.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/oitFragment-Yqa_2p-U.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/oitFragment-szDk6UZR.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-B-ILUybs.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-BBn02yR9.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-CYJW19wI.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-D7RcvfXo.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-6zrdkvEg.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-CQy-TMKU.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-CZ4PwccK.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-DwOLixI7.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-BsEUy5d2.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-DPMfMSFE.js +3 -3
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-BqYCxfaV.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-CugNxYOx.js +2 -2
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-DlDoA2Eg.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-B4uZGKm6.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-Bi8t7k_g.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-DMxPgLDn.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-Cq9kCjmQ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-BLspgBan.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-SB6Z4wg9.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-CWOev382.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/packingFunctions-BPvmjixW.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/packingFunctions-B1rNimSD.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/packingFunctions-BPDUaRnj.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/packingFunctions-ChisQShT.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pass.fragment-CGW86Knk.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pass.fragment-I6r_kdFj.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/passCube.fragment-CagZgpfr.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/passCube.fragment-Bl-fmIsm.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/passCube.fragment-BXLbB-Q5.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/passCube.fragment-C6HrkIks.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbr.fragment-CMmf0u9q.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbr.fragment-uJU14vU_.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbr.vertex-SKsjk5Pj.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbr.vertex-DKhVew6J.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-DNsUN6qQ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-m4lTGetO.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbrDebug-Dw9FHwdO.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbrDebug-7fIy0dbE.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-ynQ9EJMa.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-BPaegWsp.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-DD-Qp64W.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-BFEhyw--.js +2 -2
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-BbrOLlOF.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-DK-tM7hi.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-Bqvz9xQU.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-DAx5uXah.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/postprocess.vertex-BMFYhnff.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/postprocess.vertex-C5aIR2Ui.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/procedural.vertex-pqGGkP1-.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/procedural.vertex-B3PgdJzj.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/procedural.vertex-BfaBXzj0.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/procedural.vertex-CLdneMyi.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/reflectionFunction-BCniWKEL.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/reflectionFunction-CjSeFDi0.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-DCuzC7q7.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-C9uqNnbi.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-b49hhC5d.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-VdvQq4-z.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-BAhasmlV.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-vn_uEJcl.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-DPddq9hQ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-ymh6-q5s.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-C5g8djMT.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-Cf1C-AMd.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-CbjSik1W.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-D1P19Mcp.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-DqTGNNaJ.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-DEFImEV4.js +1 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/vertexColorMixing-Bp9_JGdC.js → python_cad_tools-0.1.9/src/python_cad_tools/_viewer_static/assets/vertexColorMixing-Dd7cVESy.js +1 -1
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_viewer_static/index.html +2 -2
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/artifacts.py +6 -3
- python_cad_tools-0.1.9/src/python_cad_tools/build-info.json +1 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/ifc.py +74 -7
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools.egg-info/PKG-INFO +38 -1
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools.egg-info/SOURCES.txt +168 -168
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools.egg-info/scm_file_list.json +267 -267
- python_cad_tools-0.1.9/src/python_cad_tools.egg-info/scm_version.json +8 -0
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/asset-manifest.json +0 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/dds-Wp2qLmYy.js +0 -1
- python_cad_tools-0.1.6/src/python_cad_tools/_viewer_static/assets/index-DcTTrc-8.css +0 -1
- python_cad_tools-0.1.6/src/python_cad_tools/build-info.json +0 -1
- python_cad_tools-0.1.6/src/python_cad_tools.egg-info/scm_version.json +0 -8
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.gitattributes +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.githooks/pre-push +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.github/workflows/downstream-compatibility.yml +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.github/workflows/release-candidate.yml +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.github/workflows/release.yml +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.opencode/commands/autocommit.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.opencode/tools/specrepo-autocommit.js +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/.opencode/tools/specrepo-autocommit.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/AGENTS.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/CLAUDE.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/LICENSE +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/MANIFEST.in +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/docs/build-semantics.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/docs/drawing-extensions.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/docs/manifests.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/docs/project-configuration.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/docs/public-api.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/docs/spikes/format-feasibility.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/docs/viewer-delivery.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/pyproject.toml +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/setup.cfg +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/__init__.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/__main__.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_locking.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_project_loader.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_project_state.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_scaffold.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_transaction.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_viewer_static/app.webmanifest +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_viewer_static/assets/hdrTextureLoader-BGQvgh0h.js +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_viewer_static/assets/mesh.vertexData.functions-ayNlGC5K.js +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_viewer_static/favicon.svg +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/_viewer_static/sw.js +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/build.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/cli.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/context.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/determinism.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/drawings/__init__.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/drawings/_catalog.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/drawings/_validation.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/elements.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exceptions.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/__init__.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/base.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/__init__.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/annotations.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/dxf.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/model.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/pdf.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/primitives.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/projection.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/drawings/svg.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/glb.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/quantities.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/exporters/step.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/geometry.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/manifests.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/project_config.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/py.typed +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/runtime_sync.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/build-manifest-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/design-manifest-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/download-manifest-2.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/drawing-annotations-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/glb-manifest-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/ifc-validation-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/quantities-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/run-metadata-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/site-metadata-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/schemas/step-validation-1.json +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/site.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/templates/project/.gitignore +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/templates/project/README.md +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/templates/project/config.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/templates/project/drawing_annotations.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/templates/project/generated/.gitkeep +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/templates/project/model.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/templates/project/pyproject.toml +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/units.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools/validation.py +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools.egg-info/dependency_links.txt +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools.egg-info/entry_points.txt +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools.egg-info/requires.txt +0 -0
- {python_cad_tools-0.1.6 → python_cad_tools-0.1.9}/src/python_cad_tools.egg-info/top_level.txt +0 -0
|
@@ -252,9 +252,7 @@ jobs:
|
|
|
252
252
|
|
|
253
253
|
build-publish:
|
|
254
254
|
name: Build and publish to PyPI
|
|
255
|
-
if:
|
|
256
|
-
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
|
|
257
|
-
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))
|
|
255
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
258
256
|
needs:
|
|
259
257
|
- lint-type-unit
|
|
260
258
|
- exporter-integration
|
|
@@ -298,9 +296,7 @@ jobs:
|
|
|
298
296
|
|
|
299
297
|
provenance:
|
|
300
298
|
name: Generate SLSA provenance
|
|
301
|
-
if:
|
|
302
|
-
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
|
|
303
|
-
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))
|
|
299
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
304
300
|
needs: [build-publish]
|
|
305
301
|
permissions:
|
|
306
302
|
actions: read
|
|
@@ -7,6 +7,28 @@ stable release is published.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.9] - 2026-08-03
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Made iPhone panning substantially faster and added visible, press-and-hold pan and zoom controls for reliable touch navigation when browser gestures are inconsistent.
|
|
15
|
+
- Added a selectable 1×–100× navigation speed that adjusts drag, wheel, pinch, and on-screen pan/zoom controls, with the previous speed retained as the minimum.
|
|
16
|
+
|
|
17
|
+
## [0.1.8] - 2026-07-21
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Made CI publish to PyPI and generate release provenance only for version-tag
|
|
21
|
+
pushes, preventing the following `main` push from attempting to upload the
|
|
22
|
+
same immutable distribution files a second time.
|
|
23
|
+
- Corrected Pan mode to replace Babylon's higher-priority primary-touch Rotate
|
|
24
|
+
mapping on iPhone instead of only adding a buttonless-touch fallback.
|
|
25
|
+
|
|
26
|
+
## [0.1.7] - 2026-07-21
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Published the mobile viewer navigation, US customary default, and faster
|
|
30
|
+
local pytest workflow in a new patch release.
|
|
31
|
+
|
|
10
32
|
## [0.1.6] - 2026-07-21
|
|
11
33
|
|
|
12
34
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-cad-tools
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9
|
|
4
4
|
Summary: Typed, headless Python tooling for CAD/BIM models and artifacts
|
|
5
5
|
Author: Brandon Benge
|
|
6
6
|
License: AGPL-3.0-only
|
|
@@ -66,6 +66,43 @@ python3 -m pip install ./dist/python_cad_tools-*.whl
|
|
|
66
66
|
python-cad --version
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
## Build locally
|
|
70
|
+
|
|
71
|
+
Building the complete distribution requires Python 3.12 or 3.13 and Node.js
|
|
72
|
+
22.15.0. From a fresh checkout, create and activate the Python environment
|
|
73
|
+
before building the viewer. Activation is important because the viewer staging
|
|
74
|
+
script reads the installed `python-cad-tools` version from that environment.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
python3 -m venv .venv
|
|
78
|
+
source .venv/bin/activate
|
|
79
|
+
python -m pip install --upgrade pip
|
|
80
|
+
python -m pip install -e '.[dev]'
|
|
81
|
+
|
|
82
|
+
cd viewer
|
|
83
|
+
npm ci
|
|
84
|
+
npm test
|
|
85
|
+
npm run build
|
|
86
|
+
cd ..
|
|
87
|
+
|
|
88
|
+
python -m build --wheel --sdist --outdir dist .
|
|
89
|
+
python -m twine check dist/*
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The viewer build compiles the private TypeScript source and stages its verified,
|
|
93
|
+
model-free static shell under `src/python_cad_tools/_viewer_static/`. The final
|
|
94
|
+
wheel and source archive are written to `dist/`. To inspect the viewer while
|
|
95
|
+
developing its source, run `npm run preview` from `viewer/` after
|
|
96
|
+
`npm run build` and open the local URL printed by Vite.
|
|
97
|
+
|
|
98
|
+
To build and serve an actual CAD project with the locally installed editable
|
|
99
|
+
package, change to that project's directory and run:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
python-cad build
|
|
103
|
+
python-cad serve
|
|
104
|
+
```
|
|
105
|
+
|
|
69
106
|
## Create a new project
|
|
70
107
|
|
|
71
108
|
```bash
|
|
@@ -29,6 +29,43 @@ python3 -m pip install ./dist/python_cad_tools-*.whl
|
|
|
29
29
|
python-cad --version
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
+
## Build locally
|
|
33
|
+
|
|
34
|
+
Building the complete distribution requires Python 3.12 or 3.13 and Node.js
|
|
35
|
+
22.15.0. From a fresh checkout, create and activate the Python environment
|
|
36
|
+
before building the viewer. Activation is important because the viewer staging
|
|
37
|
+
script reads the installed `python-cad-tools` version from that environment.
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
python3 -m venv .venv
|
|
41
|
+
source .venv/bin/activate
|
|
42
|
+
python -m pip install --upgrade pip
|
|
43
|
+
python -m pip install -e '.[dev]'
|
|
44
|
+
|
|
45
|
+
cd viewer
|
|
46
|
+
npm ci
|
|
47
|
+
npm test
|
|
48
|
+
npm run build
|
|
49
|
+
cd ..
|
|
50
|
+
|
|
51
|
+
python -m build --wheel --sdist --outdir dist .
|
|
52
|
+
python -m twine check dist/*
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The viewer build compiles the private TypeScript source and stages its verified,
|
|
56
|
+
model-free static shell under `src/python_cad_tools/_viewer_static/`. The final
|
|
57
|
+
wheel and source archive are written to `dist/`. To inspect the viewer while
|
|
58
|
+
developing its source, run `npm run preview` from `viewer/` after
|
|
59
|
+
`npm run build` and open the local URL printed by Vite.
|
|
60
|
+
|
|
61
|
+
To build and serve an actual CAD project with the locally installed editable
|
|
62
|
+
package, change to that project's directory and run:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
python-cad build
|
|
66
|
+
python-cad serve
|
|
67
|
+
```
|
|
68
|
+
|
|
32
69
|
## Create a new project
|
|
33
70
|
|
|
34
71
|
```bash
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"entries":[{"media_type":"application/manifest+json","path":"app.webmanifest","sha256":"ff0be0e037de542f53f0d7866966c41db3d75ed1a8849fc1434595d07428ee12","size":401},{"media_type":"text/javascript; charset=utf-8","path":"assets/animationGroup-D8JiTQ-4.js","sha256":"ffe9abcba18530a8b8ec00788129741820fd29a5890d57231c6b8754e2bb4f60","size":35489},{"media_type":"text/javascript; charset=utf-8","path":"assets/bakedVertexAnimation-BXUoW_dN.js","sha256":"fe70b3c573c14ae96f913963a03bda6db0e6d43935762eeec54d6899d46eff4f","size":15843},{"media_type":"text/javascript; charset=utf-8","path":"assets/basisTextureLoader-CVHGuBLP.js","sha256":"e2d79f91e8266567bbf879728170c626e4e76910c08b07af6f07237b8137d5c0","size":7961},{"media_type":"text/javascript; charset=utf-8","path":"assets/brdfTextureTools-D96Uxpg7.js","sha256":"312e310fb12b22b252af3ab4cf64a1b140194abb078752b47b0d33d53b77e039","size":61224},{"media_type":"text/javascript; charset=utf-8","path":"assets/bumpFragment-ZSaaIjlj.js","sha256":"ed95b9701291908fb3bf6faccb80e1ce0db85f19837fead1c2dcd6cde676486b","size":8075},{"media_type":"text/javascript; charset=utf-8","path":"assets/bumpVertex-B77JU1YW.js","sha256":"fd651601dcabb7d587e10375b00bf321f5b0b12fbcb879e8564b7a2a99b5d6a5","size":698},{"media_type":"text/javascript; charset=utf-8","path":"assets/bumpVertexDeclaration-Ia7fxSn9.js","sha256":"923003fa7db9b145a708b3ccb4921f567b925650a6ae8e17dbf01cce31de5929","size":393},{"media_type":"text/javascript; charset=utf-8","path":"assets/clipPlaneFragment-B6DPyYvd.js","sha256":"a34de8b70094a5538c2202b6af45763c589bbbc2215246e71b2eb178e118dd92","size":1275},{"media_type":"text/javascript; charset=utf-8","path":"assets/clipPlaneVertex-BszU5pg9.js","sha256":"cf8e39b70b09918fceee3eb310a306b40ea86cec760009da44c417fce49de003","size":1356},{"media_type":"text/javascript; charset=utf-8","path":"assets/cubemapToSphericalPolynomial-DtS_e4_4.js","sha256":"2ae4bffa208a06af8967177d78834210a2a1970947d26e83477b3ecf4215d545","size":3667},{"media_type":"text/javascript; charset=utf-8","path":"assets/dds-IzBU48fT.js","sha256":"c6b393a780cbd243da78a4d4e2083b20ded7157506f12bfb4f10fef12c776ace","size":161},{"media_type":"text/javascript; charset=utf-8","path":"assets/dds.pure-CMQrALY8.js","sha256":"22ef971d859f41a73c5d7cc49520a5077363daddc181010db1357dd86f72feac","size":7046},{"media_type":"text/javascript; charset=utf-8","path":"assets/ddsTextureLoader-CdJp2uRL.js","sha256":"f7841964316a4a2e6b576cc8e9ba1e05143189cc511906cd6b193adfb9226ffc","size":1310},{"media_type":"text/javascript; charset=utf-8","path":"assets/default.fragment-Bd74LdsD.js","sha256":"b592625d8ee84e3dd28a8cd826137f120ad5c07689e3a2474bfc0a807f10a905","size":25362},{"media_type":"text/javascript; charset=utf-8","path":"assets/default.vertex-BbLzFbSI.js","sha256":"a38ba73a45b5015ac0bd28f55f69496366f635c8877f83014bf91a5d2f178a2e","size":9451},{"media_type":"text/javascript; charset=utf-8","path":"assets/defaultUboDeclaration-CWmXZelY.js","sha256":"99772aacf2b63c60528bd46e0a8e5f3156c5a0f58ce50cf7830c749c3d92c344","size":1624},{"media_type":"text/javascript; charset=utf-8","path":"assets/dumpTools-C1GV3tke.js","sha256":"0a55f8b3e05da00e126324e02f6590d7d204158b9aaae62de19527593e3c0005","size":3597},{"media_type":"text/javascript; charset=utf-8","path":"assets/envTextureLoader-D8Rc9mej.js","sha256":"85b3548a30855622f2c6003e9d290c69f41e9a666eae482d72db2dcf70a98318","size":1649},{"media_type":"text/javascript; charset=utf-8","path":"assets/exrTextureLoader-dLKMUCnE.js","sha256":"94e5845bba0fcedd24967129fa51c7bc6ccfb87d2b4066ad67ecbda26f22ec43","size":14187},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphApplyForceBlock-BdJfphn5.js","sha256":"0e6009996d49f09b759b6d30295153414ca674ffc194b3d474765b2b9a7b3ded","size":675},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphApplyImpulseBlock-BjNZz3lY.js","sha256":"be07a77c3b21eb35637430dec71f7a2683767f3e51ee8c828567e0c9e7748953","size":691},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphArrayIndexBlock-BO3TRmH0.js","sha256":"179c21f56a658c3bceac1397fe9684b4d24a5b288eb2d26a8fbf664bd4c1bfc5","size":649},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphBezierCurveEasingBlock-CvNkMyMS.js","sha256":"50b346b7ec06d8113bfc41d62af1dbead81addce3080701cf7a3668ccb1379e1","size":938},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphBinaryOperationBlock-C0zTSypA.js","sha256":"df36f9a461790a8863f588ffa2eaa33ef7f4cef6e395afd37fec3947927dd55a","size":375},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphBranchBlock-ghEzHTJ0.js","sha256":"5b4fdfcf64f8e115145674da5aa96319e7c0cbd32982f5171e37bc486f516aa8","size":529},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCachedOperationBlock-Befmlymg.js","sha256":"7521e888e645123c2ad79e1899f3576be5f5583f5dac5d7c202718ebf9abec96","size":688},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCancelDelayBlock-CZ4x2OHC.js","sha256":"76d46cb0b8dabb711451ed02f46b58ebe7ee5ceb2ce82d2a797bc1153d4efa15","size":592},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCodeExecutionBlock-Bg7iuKLe.js","sha256":"314044a558a847e9c46c9cbafa053361fd51084a82e1844c36eb8d2604dde4f9","size":470},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphConditionalDataBlock-CgsD1XIc.js","sha256":"f84a0024837d12751a8e25751dc665d2c9ce2a4c2498e0736c43b4059de0e223","size":634},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphConsoleLogBlock-CXGmEPz3.js","sha256":"46ac4df7785c7812e8c75bb8b5d0a5447b089046588484dd8253825648a74760","size":1416},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphConstantBlock-Cvo5vmPt.js","sha256":"753232f4dbc74f0d595850da80577477d19521b5df923fe449cb70c401bd0ac1","size":497},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphContextBlock-7js8GLy5.js","sha256":"d44b596ccadf6a91d420b332b0310103e7478f87a6b17d0bcc0b66791af7aae7","size":540},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCounterBlock-Dnhmin9r.js","sha256":"3f5972b283f00e22d14500ace920bc120b9e3a95a4c2303f5039fa08cecf3caa","size":630},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDataSwitchBlock-DNcKLFOn.js","sha256":"736a428410b555f3b63cbcf585f3e4f7f4e3b6bdb68713c8c6fdd386fdc70109","size":904},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDebounceBlock-CwMpsIku.js","sha256":"efb14149f7acb8b00271faef39bd8e0e1653405961a931386bb60bf4da404da2","size":768},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDebugBlock-CNETXCb0.js","sha256":"3fc21f6121cca3a1e00dd5614f77bc05ca15c95df021f08ad938f2efb102dcfb","size":1450},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDoNBlock-VouTILkP.js","sha256":"11f011a07ab0278ddd10caf3c3a619dca814d16330d21df9e4cb6775942f9566","size":770},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphEasingBlock-C6rQIu-I.js","sha256":"3509d7104b3bab86a7ae69999cb55ecb9a54001211f2c79cf92f359d91854c3d","size":1627},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphFlipFlopBlock-C7KNITdq.js","sha256":"b7eee764fee9a365d349e3b5e08f0239b6bd51ab1c902cece15e204f0693a079","size":678},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphForLoopBlock-C_Tl0qXF.js","sha256":"41cae88161a717e372299eafc785863ec3b44c5a0e1a50fedab5c0bb7134113f","size":1108},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphFunctionReferenceBlock-ChzhGELd.js","sha256":"2f5f9bcdc776ab8f355c76c3b2673885d9c8de216203404903ad3db9a4488fdd","size":714},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGLTFDataProvider-BdE0stdX.js","sha256":"5fa38ecfefa1d6745df0f3fe20bf20aecc2d0d11108af10b5e8fef799cc21f51","size":418},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetAngularVelocityBlock-Ct28X64C.js","sha256":"e71fb7fd2f465b81505a9cbd1496d93190c3c7055661556e1828bf3e0fe022b1","size":657},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetAssetBlock-D_HtxKVI.js","sha256":"65511de6a90272ae858f97a0edc9c7a8d128e734574dd98f846bb28ecf20278e","size":638},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetLinearVelocityBlock-3udqCAK3.js","sha256":"55af947dfa206a0b47e9e08d9e88521de2829c7b108e71a4b04c8f6dc4246ce9","size":652},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetPhysicsMassPropertiesBlock-CmnYGepx.js","sha256":"94cee19e485471316654cc66985b41276bf0305424445ce88dd5ac8f3c82d8bc","size":801},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetPropertyBlock-BO9H9c3L.js","sha256":"142720fd30a46e8185623bf00449243040749f97e7dd7342dd3be928704e8c58","size":930},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetSoundVolumeBlock-CeKonax7.js","sha256":"64abda0b99b47074434cc5ed3aeecb804539d15ab3facd8fc1bbd21fe2ad8859","size":485},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetVariableBlock-ugd43AvH.js","sha256":"a5e4acb566120ea6eb1f147280a233a1141700f68e49a80a46bca7cb240f7e0f","size":545},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphIndexOfBlock-CeAOzH23.js","sha256":"1c356b74f2238bff4c1fe5e87952da59ef82a21d8a52b5649622305716e76c38","size":607},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphInterpolationBlock-DTh4fL6t.js","sha256":"f0dcb78c47360d1e53c41f91db1646d04839b6ea4140d223256438616cfd83c0","size":2089},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphIsKeyPressedBlock-CE5OhwqS.js","sha256":"f86377b7ae21c8546e4546c8586a67abcfac20612686e7d9b48030f7d11590b0","size":1162},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphIsSoundPlayingBlock-D5gv9QIZ.js","sha256":"e80affb6c60776cdb7fceed9813bb13d8d8bfc21a69f9c23289d70ca151d0a5f","size":501},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphJsonPointerParserBlock-Cy-XDvh9.js","sha256":"378653f0133bdf5384ff20365b6601376405cc5dd74eb726b3d00be02c9e47a6","size":3027},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphKeyDownEventBlock-B91rxqkv.js","sha256":"8d1bd0f264d4925309b803bd6104e1e0806448dc6c1c4debc174de6b673bb418","size":489},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphKeyUpEventBlock-DPYtdWaj.js","sha256":"2eda8939e4bd0ff37adfa1e5fd16120d7e3abfab07539c52f548a82271403e04","size":282},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphKeyboardEventBlock-BApSnOZE.js","sha256":"3979bdd6c091fc887d714b319eae568eea9b1896c36ac0f8790ce86324bb4955","size":962},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMathBlocks-D3CK-Hy2.js","sha256":"973da01682117f219bc60aa6e0670fa1de5edd0a8872492a3f5cfd90f9bd6f0f","size":18510},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMathCombineExtractBlocks-B6nBNvbo.js","sha256":"d84bb643b7bbe3e20100fb7aa77329a4b7a3f76b21204ff483fa548d3bb746a6","size":7966},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMatrixMathBlocks-ofjzAxQF.js","sha256":"d6a77c44333cdda9835d255e5b958b4cac77ec61df7445f95cb001e1196e2515","size":3570},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMeshPickEventBlock-BvF2vaZi.js","sha256":"9b752479c06c1c3806ab812206640acd8c17e07dd85e32b8716bc85dad15a6d8","size":1394},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMultiGateBlock-DpHnJiIf.js","sha256":"e92968503ca69794e72b16b827c57d1be6e04f933cf463e647fadd46da838e96","size":1660},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPauseAnimationBlock-BrrymuG6.js","sha256":"26ec750d532aa6c5bb9de5b6bfc59ef319b8cba1493c7afde0182c0e6076a8f0","size":455},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPauseSoundBlock-CHSeaOnB.js","sha256":"a4dc169f6d7c9df768fc6145f741a192a348f9adc70ec52ce220f06f3928d076","size":552},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPhysicsCollisionEventBlock-syMr1OJN.js","sha256":"6c094620519bf0e618e2dfad7f56758072feac3ef216b82faf38241b32726d92","size":1678},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPlayAnimationBlock-BXnW30FY.js","sha256":"647904414e8f52d190544a05962bda8acad706012f27fe930dd01fd1427ab421","size":3736},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPlaySoundBlock-CsSTQ880.js","sha256":"739caba84f4f07a7c8692cf8131152685cc4ec4410494a66322b446b888752c5","size":782},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerDownEventBlock-Ct0SkI9l.js","sha256":"e966ff4b68dffc73a411a454252fa35193bb19584d797d8c096daebe68b3c738","size":940},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerMoveEventBlock-3Oxamq4b.js","sha256":"0491bd36fe992e657d6fb675f29b7585f3aef09e0fd72004835501eaea88e0f6","size":958},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerOutEventBlock-B4SYh7i0.js","sha256":"1bf7b81286d5eb70826ebf27f8c987b69054b9e807fab16bf7e686e9f2d199c2","size":831},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerOverEventBlock-CVt4drqm.js","sha256":"83d0dcc6591dcd6b6edc0e39b0da878ca5774eaa3a01332d7110c1df8a28ce2c","size":842},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerUpEventBlock-Q5eFYPWa.js","sha256":"7fed075319dd717d6120d3768ef18d87a55ea0f32e600a3b0a8ff261144be32f","size":930},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphReceiveCustomEventBlock-S8K7qYF_.js","sha256":"0784c3d2970137f5b7f1186a08bd4230cafed1b4448c0647a4b711c553ae963a","size":1530},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSceneReadyEventBlock-Dg_340c-.js","sha256":"d8dd9f58fa4c86ecd9250973939796a22ae67d24643d8c029e4995572c91e9ce","size":452},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSceneTickEventBlock-C_0s6vFz.js","sha256":"6e615aa31e4fca4fb7f9297ccc813f72d01fbb27d09b5578160091a41c644961","size":635},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSendCustomEventBlock-BXzvdSwL.js","sha256":"013ca4c0d0c455078eb7c875b043eadedc4e62352fb9861928de3c17810d4708","size":926},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSequenceBlock-DTjRGM0i.js","sha256":"655ed4dc508b54b61f83ec55a74604200532c65db9a9c30604062ce8068ee300","size":777},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetAngularVelocityBlock-CVc5809-.js","sha256":"b5641875bbe1921b059e377d6b6c77ca327a6e545518ffb664f3a9554d6d12fd","size":633},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetDelayBlock-3NJrJ4Fn.js","sha256":"6048364aaf935ed13e37b98b1e3710f50bd0e9836715d9c78ed195c0d49ac3e5","size":4183},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetLinearVelocityBlock-D4V0HEJW.js","sha256":"32ce123100e0c8d06e6c22728d2060999a95cc3805b230bae745c8ed8320ac1e","size":628},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetPhysicsMotionTypeBlock-CIFAGZ4N.js","sha256":"88a5f632f0a956ce7ea0ef8d3a1538c751f6f2ad83a8729673f2dac5beeaa4f6","size":644},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetPropertyBlock-DW9lz25w.js","sha256":"23f03e37c33e89820130dcf21fa19e7f71c42b6ccfa9e59247ef9615765b2120","size":1408},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetSoundVolumeBlock-CBI-hqde.js","sha256":"74e8f363c2806ecf1ff8addc1fffc248843093c3f1ee586f5543cbfd5c1c1ed8","size":601},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetVariableBlock-9g1tFmrf.js","sha256":"79ffb35ab511061efcd6c7a8dd8f35252034abe33137318a9ee67f2c8cfa8976","size":1228},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSoundEndedEventBlock-DOoVnrgC.js","sha256":"8d70d8aef161c1e6dc37c2ad9dca943712db4e8f3b5c5ba120b4431bf36891fb","size":967},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphStopAnimationBlock-CNxA_doq.js","sha256":"6b31eebf37e6f8cf452534b917dc353a15f96695d29f71ccef8aaf2d83dba05b","size":1889},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphStopSoundBlock-Ds7-OqyY.js","sha256":"03393ee820e6cdd37a3a072061cbf0f8ea5f424e4bf383548f6d45e28bbbddfb","size":496},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSwitchBlock-C6WWFd5D.js","sha256":"aac8539799588e0cf935267c9fe8d5ab1acc9c261a8329c4483b6be584457eb5","size":1134},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphThrottleBlock-DJymGlzE.js","sha256":"3b08868eb3945adf79fa4e30d6869420444fc89186a0e1add2aa287cf881e74a","size":1363},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphTransformCoordinatesSystemBlock-CGbRuDff.js","sha256":"fee99c05ca40f772f1c1a595794ff568630f468be914acb36213ebd5418cfdea","size":968},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphTypeToTypeBlocks-GrXGV2Lk.js","sha256":"9a8ed2468d73711e1ab9f2958382d2dac5b3dc3c22fe672fe0f24e5ed7d8bf81","size":1281},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphUnaryOperationBlock-PD8fnplX.js","sha256":"7b2072a3ef6b2e04cde324311bc5d88bcfc75964a8e28099924f045b40f0b391","size":303},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphVectorMathBlocks-CDqG4e7V.js","sha256":"d71c90f59588c5332550f6e03f6f98affe6bde9d5b122428af44f3ab667d6b4c","size":4726},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphWaitAllBlock-BRbmMhsz.js","sha256":"8fed039bc79effa6379db88e5075b967d1b3896859432b740debb1877c2a9d0d","size":1531},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphWhileLoopBlock-COJV6l5s.js","sha256":"bd185ba0ed966f2d1237afcfccaf04b2eb649bb5e6bd38a2d031bdbbce64e1a6","size":863},{"media_type":"text/javascript; charset=utf-8","path":"assets/fogFragment-Choi4dwf.js","sha256":"4be563f57171c4ce13a36c1690a3db5bc94132e74fe595864796773212223253","size":1471},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting-B2ibIxZi.js","sha256":"8bf49a79a4197455a9fd20b7ce820971a45da8b59ffefbc3495ab63ac69f9d81","size":14395},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting-O05Ige7q.js","sha256":"fe1d8e4837b8ecf5d0913938b348bf89e26efc84a87e1ab2754bab99eac68369","size":14631},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.fragment-CRSXtFZA.js","sha256":"d92d06ea03f46f7376efa796b2443772f54dc8d2221baf398ee5c456442d54e7","size":1812},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.fragment-lp1mUJ81.js","sha256":"882595b304d7782d76e2d2db4fa7f00f8993fd38693ca8bdcce16880e2cff84a","size":1541},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.vertex-C4vLDHOC.js","sha256":"b775da812b33335397ca925aa16e196bd3786e85ae5563e148f72e970fa1b544","size":3748},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.vertex-CtzXFKDF.js","sha256":"d3c9127d831ffda5454f6a068fffce7e8a1bcb213942d0c443d3a00c6882dd17","size":4904},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.fragment-DOXOYFhX.js","sha256":"d9d69754b0b5660fb6d13a03508d606502c5b832bd665e422b1d11d178f918dd","size":1488},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.fragment-DwBcuLEK.js","sha256":"290a303e4278f08142ec2390e2f821556bb3ec8dd59d626169f294c2b6dfe457","size":1984},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.vertex-Da9modjG.js","sha256":"0c9fdfd4369b15c4a74c8ade56d8f1fa863bd101acd3fcd85353df10b876d634","size":2611},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.vertex-kSk7jCdX.js","sha256":"a985f8001dc2bee92af55da2d1d868b74e2764a6fce15121f54ff18102a6e259","size":1802},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.fragment-D5AHElrd.js","sha256":"1c2b4b0d1ab217b743101c61f2e3f0b15434d4201472e444887eb81be8f97af6","size":8171},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.fragment-GHxvGIuO.js","sha256":"b3984c7ef3dd416bd7a858649365d7c9a485853c6ef6b5c1cdbe01b50ae46dd9","size":10410},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.vertex-BekW6jCs.js","sha256":"46cf8fcd89ac98f2c4eb17417a92590d076b73a744f75b9d76ba24f3f0afcb65","size":9012},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.vertex-m038PJYK.js","sha256":"201f8c380e89b10854c0108be1528968f17c8339a44c3edf6e4910c3430f34a0","size":7601},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowBlurPostProcess.fragment-BuYnbp24.js","sha256":"984ef445b08d25e78a54c6058489be772064513770fb7aa290a8db75185b96fc","size":1409},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapGeneration.fragment-C5l-Afa5.js","sha256":"84851568482f14ab5e36349eea24281474a622e11bed9697d3fcdc2271df51ad","size":2530},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapGeneration.vertex-BdNNoSRh.js","sha256":"63f02bc2f6d7b445c4e7fe68d350a7c6097eb84839d2380d988d841b4b66a6a4","size":2798},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapMerge.fragment-DEm5Wwpu.js","sha256":"2051ff42fb23682a7f484323c8db098e9fb5e143b73e36744a8b76ab3657ae1d","size":1059},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapMerge.vertex-D3FjaVt0.js","sha256":"1162d9ceff51aed1fbe84fae7bf7be9ff8af4c53ad1b3f4a5e520456c02dcd99","size":545},{"media_type":"text/javascript; charset=utf-8","path":"assets/harmonicsFunctions-DVbiWL12.js","sha256":"37b5ee99e3dfba3d9526a31438609b4794c49d0e6b72a2dfc4767b7a9894de0b","size":1420},{"media_type":"text/javascript; charset=utf-8","path":"assets/hdrTextureLoader-BGQvgh0h.js","sha256":"3cca41d849d41bf1df7aef34b4f8b5ef30440e716d894158207bd12b97236953","size":2391},{"media_type":"text/javascript; charset=utf-8","path":"assets/helperFunctions-BMWamdZI.js","sha256":"c750e20f1e6e1c54a1255f81b1860b0790bf5e5d0e0df126d04528956bdaf141","size":6488},{"media_type":"text/javascript; charset=utf-8","path":"assets/iesTextureLoader-NWNyOmSO.js","sha256":"a660e310e6d4f23f639aeaa28870f6c5d2dff453f4276d693871bebda80eb6a6","size":2701},{"media_type":"text/css; charset=utf-8","path":"assets/index-BE2-nPmV.css","sha256":"c0919bff79b227364b79a5cc6242b70a959ddb809309709114ad01c8942106b8","size":14140},{"media_type":"text/javascript; charset=utf-8","path":"assets/index-CxvyL8J4.js","sha256":"8cf9d8586807635f2d8f3fa47c6525a63f52fde368802a32957d27d434294fe1","size":2301475},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.fragment-DQG_CTu1.js","sha256":"3253a053cf8dd68e309fdbe2b5e0eef76be2a0a5f9f8285630dd7754fe665b22","size":2311},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.fragment-dEQEa5jL.js","sha256":"d48a7ca42557f7cea0e25c1f404363744a3928e487cc8ca76eabd377dd6a26c4","size":2851},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.vertex-BbT8O5z2.js","sha256":"03ef5d700a8fa1506e290d111164efa343c943f28bb7aacd501f30e969640bae","size":899},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.vertex-I35OVoE5.js","sha256":"3c413ba18a740f55f10936754a6c1180444b2307fb558279c0826a7d667b7c9c","size":1064},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlurVaryingDeclaration-Cqh5-5OF.js","sha256":"1e1eaac5aa54f2295a847d6aa0f2e3bffb226d51a36fec7f581b1059d7a70b97","size":221},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlurVaryingDeclaration-b3uALS8k.js","sha256":"711021a65b9641ba64db9f5c06365d41b38f70b6c8f979592227841f0b8b55ac","size":211},{"media_type":"text/javascript; charset=utf-8","path":"assets/ktxTextureLoader-Dx4kAPwU.js","sha256":"7158249fe8faef17fbab7f3481fdc7ccf1832d0a842788a8aab186cebe10df7e","size":14979},{"media_type":"text/javascript; charset=utf-8","path":"assets/lightFragment-CcjS-1Qr.js","sha256":"6ede47a5afb04748f10ce76564571252223efddfb95684cd2c851d9c6551ed24","size":22605},{"media_type":"text/javascript; charset=utf-8","path":"assets/logDepthDeclaration-ChnhQwTH.js","sha256":"6be160e94503e1eec9622343eec3c8a1a1123679391ca80f427d83049d79da41","size":280},{"media_type":"text/javascript; charset=utf-8","path":"assets/logDepthVertex-msVogzTr.js","sha256":"c6a4570df03f0da84186bd16d6ada69fd47d10286236c7528bcbb64bc2436991","size":826},{"media_type":"text/javascript; charset=utf-8","path":"assets/mainUVVaryingDeclaration-pZFlArh_.js","sha256":"dce5044e8e8919e04996fe10dc62b1c232bfab8d49172e81e58f1625a63a1956","size":238},{"media_type":"text/javascript; charset=utf-8","path":"assets/mesh.vertexData.functions-ayNlGC5K.js","sha256":"109b0c291f78ec6b98053b23c7a9ce01eb8bcee909a0964ce337a68a9b4bc61e","size":960},{"media_type":"text/javascript; charset=utf-8","path":"assets/meshUboDeclaration-CdWlDODa.js","sha256":"c638704fcf1c9e93b73217aa204f1365dcd447c9648067712d660c7a260cb47d","size":278},{"media_type":"text/javascript; charset=utf-8","path":"assets/oitFragment-szDk6UZR.js","sha256":"6c36dbf2c4d9af43725aa3afb65f3df2f31cbaec9e1bb3a2ed7e5f4511123df1","size":52427},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.fragment-BBn02yR9.js","sha256":"bfdc575d489781e23591b73ff1f0394b58028318909a851219a24f7a371989c7","size":86994},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.fragment-D7RcvfXo.js","sha256":"8667a7104826679eedd7eac55a91b9ba523c7b22396731b7abaf96a14e5c8c1b","size":89838},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.vertex-CQy-TMKU.js","sha256":"2d517b57bd49556094e58768c1f83cab85863909037bb8d91f70a494e2eccce3","size":20214},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.vertex-DwOLixI7.js","sha256":"4979044ab7bbd663a6c2b60537e1973be8121832ec6ef47b20812af77b5f59aa","size":17340},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrMaterial.pure-DPMfMSFE.js","sha256":"f591ebcad053ca20961387e93fcf5ef6ce36eb6dfc36548e76b6472a7e5b8693","size":134158},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrMaterialLoadingAdapter-CugNxYOx.js","sha256":"6b0bb9214e289cdbf8da2bdae2493b4592ac6e6c97d3cd63efca431d0d0e3929","size":33220},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrTransmissionLayerData-B4uZGKm6.js","sha256":"92809dfee17c65f3f2dc643f08f07388db88cd978026e3d263f05d9619be0a35","size":17043},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrTransmissionLayerData-DMxPgLDn.js","sha256":"2fdc277dd38dc7dc1efc773c09e1282528c229a89052a65bbaa59cc9ea067773","size":17708},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrUboDeclaration-BLspgBan.js","sha256":"7749fbcdb21dab53b79d867c4a5ffacd5f8bec799d7c6c6fb34fda65e183bf15","size":3791},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrUboDeclaration-CWOev382.js","sha256":"4f58f3f3106892cc0b6dfdee1070d1062aca89fb30af50517038fa74bfa7a90b","size":5221},{"media_type":"text/javascript; charset=utf-8","path":"assets/packingFunctions-B1rNimSD.js","sha256":"ddde739ab1753cf642f98ba6380ce10a6b3a1df8662d80a799c2df6b9fc54cb5","size":562},{"media_type":"text/javascript; charset=utf-8","path":"assets/packingFunctions-ChisQShT.js","sha256":"af319f1c8c94ef2f1f05b5dff869f3fcfc5305f7606c93bc38e289c5fb66edbd","size":528},{"media_type":"text/javascript; charset=utf-8","path":"assets/pass.fragment-I6r_kdFj.js","sha256":"212f6986c9ffc810683a5856ba35e5a153a5c23e57bbf465509c00a5f671536e","size":451},{"media_type":"text/javascript; charset=utf-8","path":"assets/passCube.fragment-Bl-fmIsm.js","sha256":"808b7f710cb1990283eb7c1da967ab0a2af16540b3ad52cea023dd1515713f40","size":822},{"media_type":"text/javascript; charset=utf-8","path":"assets/passCube.fragment-C6HrkIks.js","sha256":"bb72fcaa05b08241b6a55e8bce70a9416875633cb1dfd00fb65b72cc7b096d46","size":1131},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbr.fragment-uJU14vU_.js","sha256":"8334069fb7bacbe2311e546eb45da9f733b2c7c0e0617120860b92ce6c525045","size":93721},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbr.vertex-DKhVew6J.js","sha256":"ea65aae251cce6768d38f403c4a8389802c72e6d55e718cf6c0763505d9d9546","size":14451},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrBRDFFunctions-m4lTGetO.js","sha256":"d887f540cff03e721b8e012d5366a7505aa046ade6be21869912e3cb33420ecb","size":12760},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrDebug-7fIy0dbE.js","sha256":"f81c3572bd39c076db63bb1a794ab9eb29c7cc2f4ed9a0a78583dc9d268f710d","size":43522},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrIBLFunctions-BPaegWsp.js","sha256":"9e71d5f5db5f5b51c9d726c8556da8707c5a6edc5d75bb5ec891ac19e2862b23","size":2720},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrMaterial.pure-BFEhyw--.js","sha256":"c9439dc1e05a7fc106404c719fc4ce4140dd1f3c1f712d046850f81df790a6d5","size":134889},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrMaterialLoadingAdapter-DK-tM7hi.js","sha256":"bb9f5f4b0d90d99acf8564a70b2906b0170206e4eb7f7052e3e46794e27b66a5","size":12426},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrUboDeclaration-DAx5uXah.js","sha256":"a8e71808270a303931a4ccb7140158f886fc8ef7b9249e3906ff4a39c68b77a3","size":2398},{"media_type":"text/javascript; charset=utf-8","path":"assets/postprocess.vertex-C5aIR2Ui.js","sha256":"a8cdf1bdc5a5a9429202a0ff409e8bc6426619f51229ec1e22a6f3d707a841ba","size":583},{"media_type":"text/javascript; charset=utf-8","path":"assets/procedural.vertex-B3PgdJzj.js","sha256":"74b045cd8c55d32cbdafad97bc0c51d392c4be12c1ffebbd21fed643db9aaf21","size":472},{"media_type":"text/javascript; charset=utf-8","path":"assets/procedural.vertex-CLdneMyi.js","sha256":"ae7fc560ad5f9a8743cd2986227cb441dc3f388a3bde2d40594c65893359202c","size":612},{"media_type":"text/javascript; charset=utf-8","path":"assets/reflectionFunction-CjSeFDi0.js","sha256":"9f9a4450b8dde414e93a9f867bdf380e91521ed51427e071d2e441f7ce750426","size":5231},{"media_type":"text/javascript; charset=utf-8","path":"assets/rgbdDecode.fragment-C9uqNnbi.js","sha256":"1aa04fdf82fe7c952830778dd5b35afcfe28115257692d567b8abfd7545954f0","size":671},{"media_type":"text/javascript; charset=utf-8","path":"assets/rgbdEncode.fragment-VdvQq4-z.js","sha256":"1f676c6f72ca5c1fa4ee761bead9d7b36b22e8fbcba0d461890be4e599c89ef9","size":662},{"media_type":"text/javascript; charset=utf-8","path":"assets/rgbdEncode.fragment-vn_uEJcl.js","sha256":"41f80cc35ef2155228796399cca4dd4de8355e1a37baf4881f8b953746491e69","size":477},{"media_type":"text/javascript; charset=utf-8","path":"assets/sceneUboDeclaration-ymh6-q5s.js","sha256":"929ed2356f70cd929635b46be136aeb762d8021a12372f92b0bb8c284087685e","size":435},{"media_type":"text/javascript; charset=utf-8","path":"assets/textureProcessor.fragment-Cf1C-AMd.js","sha256":"aacdeae8c913a5a57169736d6226ebd06dc099b02a13730ae3ed43e92b7ba554","size":3490},{"media_type":"text/javascript; charset=utf-8","path":"assets/textureProcessor.fragment-D1P19Mcp.js","sha256":"368600d6b3dce6f998b00a39a768172650529a8ec3912144418de489f919aab4","size":4377},{"media_type":"text/javascript; charset=utf-8","path":"assets/tgaTextureLoader-DEFImEV4.js","sha256":"c70debb61c062e85e56f47cf9899705c3d21f5c9afdd0a9d663e16d054a3159d","size":3527},{"media_type":"text/javascript; charset=utf-8","path":"assets/vertexColorMixing-Dd7cVESy.js","sha256":"030ac5574ba6b9f4332b678415df87dcd192ed0870a53c399d4704375cbe3d4d","size":22140},{"media_type":"image/svg+xml","path":"favicon.svg","sha256":"546022cfc08c84149ba3e3fc311fc66ffa29f2227e19ee138525b391c040cd07","size":640},{"media_type":"text/html; charset=utf-8","path":"index.html","sha256":"9ca56a54ae156ae6bc3b0b2ee1a8ba02eb54a528c5f9e8b1c39525f120a83acb","size":742},{"media_type":"text/javascript; charset=utf-8","path":"sw.js","sha256":"d7d37cb0c5668dae70e28af0908686d4776f16d11321d3e55dcbe62ab85a75b8","size":2629}],"schema_id":"urn:python-cad-tools:schema:viewer-assets:1","schema_version":1}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a$ as A,M as F,b0 as B,b1 as C,b2 as k,b3 as D,b4 as W,b5 as K,b6 as U,az as P,a0 as T,Q as S,V as Y,b7 as z,b8 as H,aP as G,b9 as w,ba as X,bb as J,bc as q}from"./index-BlqB2_Pr.js";class Q{get currentFrame(){return this._currentFrame}get weight(){return this._weight}get currentValue(){return this._currentValue}get targetPath(){return this._targetPath}get target(){return this._currentActiveTarget}get isAdditive(){return this._host&&this._host.isAdditive}constructor(e,t,i,n){if(this._events=new Array,this._currentFrame=0,this._originalValue=new Array,this._originalBlendValue=null,this._offsetsCache={},this._highLimitsCache={},this._stopped=!1,this._blendingFactor=0,this._currentValue=null,this._currentActiveTarget=null,this._directTarget=null,this._targetPath="",this._weight=1,this._absoluteFrameOffset=0,this._previousElapsedTime=0,this._yoyoDirection=1,this._previousAbsoluteFrame=0,this._targetIsArray=!1,this._coreRuntimeAnimation=null,this._animation=t,this._target=e,this._scene=i,this._host=n,this._activeTargets=[],t._runtimeAnimations.push(this),this._animationState={key:0,repeatCount:0,loopMode:this._getCorrectLoopMode()},this._animation.dataType===A.ANIMATIONTYPE_MATRIX&&(this._animationState.workValue=F.Zero()),this._keys=this._animation.getKeys(),this._minFrame=this._keys[0].frame,this._maxFrame=this._keys[this._keys.length-1].frame,this._minFrame!==0){const a={frame:0,value:this._keys[0].value};this._keys.splice(0,0,a)}if(this._target instanceof Array){let a=0;for(const l of this._target)this._preparePath(l,a),this._getOriginalValues(a),a++;this._targetIsArray=!0}else this._preparePath(this._target),this._getOriginalValues(),this._targetIsArray=!1,this._directTarget=this._activeTargets[0];const s=t.getEvents();if(s&&s.length>0)for(const a of s)this._events.push(a._clone());this._enableBlending=e&&e.animationPropertiesOverride?e.animationPropertiesOverride.enableBlending:this._animation.enableBlending}_preparePath(e,t=0){const i=this._animation.targetPropertyPath;if(i.length>1){let n=e;for(let s=0;s<i.length-1;s++){const a=i[s];if(n=n[a],n===void 0)throw new Error(`Invalid property (${a}) in property path (${i.join(".")})`)}this._targetPath=i[i.length-1],this._activeTargets[t]=n}else this._targetPath=i[0],this._activeTargets[t]=e;if(this._activeTargets[t][this._targetPath]===void 0)throw new Error(`Invalid property (${this._targetPath}) in property path (${i.join(".")})`)}get animation(){return this._animation}reset(e=!1){if(e)if(this._target instanceof Array){let t=0;for(const i of this._target)this._originalValue[t]!==void 0&&this._setValue(i,this._activeTargets[t],this._originalValue[t],-1,t),t++}else this._originalValue[0]!==void 0&&this._setValue(this._target,this._directTarget,this._originalValue[0],-1,0);this._offsetsCache={},this._highLimitsCache={},this._currentFrame=0,this._blendingFactor=0;for(let t=0;t<this._events.length;t++)this._events[t].isDone=!1}isStopped(){return this._stopped}dispose(){const e=this._animation.runtimeAnimations.indexOf(this);e>-1&&this._animation.runtimeAnimations.splice(e,1)}setValue(e,t){if(this._targetIsArray){for(let i=0;i<this._target.length;i++){const n=this._target[i];this._setValue(n,this._activeTargets[i],e,t,i)}return}this._setValue(this._target,this._directTarget,e,t,0)}_getOriginalValues(e=0){let t;const i=this._activeTargets[e];if(A.InheritOriginalValueFromActiveAnimations){const n=this._scene._activeAnimatables;for(let s=0;s<n.length;s++){const a=n[s]._runtimeAnimations;for(let l=0;l<a.length;l++){const r=a[l];if(r!==this&&r._targetPath===this._targetPath){for(let h=0;h<r._activeTargets.length;h++)if(r._activeTargets[h]===i&&r._originalValue[h]!==void 0){r._originalValue[h]&&r._originalValue[h].clone?this._originalValue[e]=r._originalValue[h].clone():this._originalValue[e]=r._originalValue[h];return}}}}}i.getLocalMatrix&&this._targetPath==="_matrix"?t=i.getLocalMatrix():t=i[this._targetPath],t&&t.clone?this._originalValue[e]=t.clone():this._originalValue[e]=t}_registerTargetForLateAnimationBinding(e,t){const i=e.target;this._scene._registeredForLateAnimationBindings.pushNoDuplicate(i),i._lateAnimationHolders||(i._lateAnimationHolders={}),i._lateAnimationHolders[e.targetPath]||(i._lateAnimationHolders[e.targetPath]={totalWeight:0,totalAdditiveWeight:0,animations:[],additiveAnimations:[],originalValue:t}),e.isAdditive?(i._lateAnimationHolders[e.targetPath].additiveAnimations.push(e),i._lateAnimationHolders[e.targetPath].totalAdditiveWeight+=e.weight):(i._lateAnimationHolders[e.targetPath].animations.push(e),i._lateAnimationHolders[e.targetPath].totalWeight+=e.weight)}_setValue(e,t,i,n,s){if(this._currentActiveTarget=t,this._weight=n,this._enableBlending&&this._blendingFactor<=1){if(!this._originalBlendValue){const l=t[this._targetPath];l.clone?this._originalBlendValue=l.clone():this._originalBlendValue=l}this._originalBlendValue.m?A.AllowMatrixDecomposeForInterpolation?this._currentValue?F.DecomposeLerpToRef(this._originalBlendValue,i,this._blendingFactor,this._currentValue):this._currentValue=F.DecomposeLerp(this._originalBlendValue,i,this._blendingFactor):this._currentValue?F.LerpToRef(this._originalBlendValue,i,this._blendingFactor,this._currentValue):this._currentValue=F.Lerp(this._originalBlendValue,i,this._blendingFactor):this._currentValue=A._UniversalLerp(this._originalBlendValue,i,this._blendingFactor);const a=e&&e.animationPropertiesOverride?e.animationPropertiesOverride.blendingSpeed:this._animation.blendingSpeed;this._blendingFactor+=a}else this._currentValue?this._currentValue.copyFrom?this._currentValue.copyFrom(i):this._currentValue=i:i?.clone?this._currentValue=i.clone():this._currentValue=i;n!==-1?this._registerTargetForLateAnimationBinding(this,this._originalValue[s]):this._animationState.loopMode===A.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT?this._currentValue.addToRef?this._currentValue.addToRef(this._originalValue[s],t[this._targetPath]):t[this._targetPath]=this._originalValue[s]+this._currentValue:t[this._targetPath]=this._currentValue,e.markAsDirty&&e.markAsDirty(this._animation.targetProperty)}_getCorrectLoopMode(){return this._target&&this._target.animationPropertiesOverride?this._target.getClassName?.()==="MorphTarget"&&this._target._animationPropertiesOverride==null?this._animation.loopMode:this._target.animationPropertiesOverride.loopMode:this._animation.loopMode}goToFrame(e,t=-1){const i=this._animation.getKeys();e<i[0].frame?e=i[0].frame:e>i[i.length-1].frame&&(e=i[i.length-1].frame);const n=this._events;if(n.length)for(let a=0;a<n.length;a++)n[a].onlyOnce||(n[a].isDone=n[a].frame<e);this._currentFrame=e;const s=this._animation._interpolate(e,this._animationState);this.setValue(s,t)}_prepareForSpeedRatioChange(e){const t=this._previousElapsedTime*(this._animation.framePerSecond*e)/1e3;this._absoluteFrameOffset=this._previousAbsoluteFrame-t}animate(e,t,i,n,s,a=-1){const l=this._animation,r=l.targetPropertyPath;if(!r||r.length<1)return this._stopped=!0,!1;let h=!0,g;const u=this._events;let c;if(this._coreRuntimeAnimation)c=i-t,g=this._coreRuntimeAnimation.currentFrame,this._currentFrame=g,this._animationState.repeatCount=this._coreRuntimeAnimation._animationState.repeatCount,this._animationState.highLimitValue=this._coreRuntimeAnimation._animationState.highLimitValue,this._animationState.offsetValue=this._coreRuntimeAnimation._animationState.offsetValue;else{(t<this._minFrame||t>this._maxFrame)&&(t=this._minFrame),(i<this._minFrame||i>this._maxFrame)&&(i=this._maxFrame),c=i-t;let _,m=e*(l.framePerSecond*s)/1e3+this._absoluteFrameOffset,b=0,V=!1;const O=n&&this._animationState.loopMode===A.ANIMATIONLOOPMODE_YOYO;if(O){const d=(m-t)/c,p=Math.sin(d*Math.PI);m=Math.abs(p)*c+t;const L=p>=0?1:-1;this._yoyoDirection!==L&&(V=!0),this._yoyoDirection=L}if(this._previousElapsedTime=e,this._previousAbsoluteFrame=m,!n&&i>=t&&(m>=c&&s>0||m<=0&&s<0))h=!1,b=l.evaluate(i);else if(!n&&t>=i&&(m<=c&&s<0||m>=0&&s>0))h=!1,b=l.evaluate(t);else if(this._animationState.loopMode!==A.ANIMATIONLOOPMODE_CYCLE){const d=i.toString()+t.toString();if(!this._offsetsCache[d]){this._animationState.repeatCount=0,this._animationState.loopMode=A.ANIMATIONLOOPMODE_CYCLE;const p=l._interpolate(t,this._animationState),y=l._interpolate(i,this._animationState);switch(this._animationState.loopMode=this._getCorrectLoopMode(),l.dataType){case A.ANIMATIONTYPE_FLOAT:this._offsetsCache[d]=y-p;break;case A.ANIMATIONTYPE_QUATERNION:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_VECTOR3:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_VECTOR2:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_SIZE:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_COLOR3:this._offsetsCache[d]=y.subtract(p);break}this._highLimitsCache[d]=y}b=this._highLimitsCache[d],_=this._offsetsCache[d]}if(_===void 0)switch(l.dataType){case A.ANIMATIONTYPE_FLOAT:_=0;break;case A.ANIMATIONTYPE_QUATERNION:_=K;break;case A.ANIMATIONTYPE_VECTOR3:_=W;break;case A.ANIMATIONTYPE_VECTOR2:_=D;break;case A.ANIMATIONTYPE_SIZE:_=k;break;case A.ANIMATIONTYPE_COLOR3:_=C;break;case A.ANIMATIONTYPE_COLOR4:_=B;break}if(this._host&&this._host.syncRoot){const d=this._host.syncRoot,p=(d.masterFrame-d.fromFrame)/(d.toFrame-d.fromFrame);g=t+c*p}else m>0&&t>i||m<0&&t<i?g=h&&c!==0?i+m%c:t:g=h&&c!==0?t+m%c:i;if(!O&&(s>0&&this.currentFrame>g||s<0&&this.currentFrame<g)||O&&V){this._onLoop();for(let d=0;d<u.length;d++)u[d].onlyOnce||(u[d].isDone=!1);this._animationState.key=s>0?0:l.getKeys().length-1}this._currentFrame=g,this._animationState.repeatCount=c===0?0:m/c>>0,this._animationState.highLimitValue=b,this._animationState.offsetValue=_}const f=l._interpolate(g,this._animationState);if(this.setValue(f,a),u.length){for(let _=0;_<u.length;_++)if(c>=0&&g>=u[_].frame&&u[_].frame>=t||c<0&&g<=u[_].frame&&u[_].frame<=t){const m=u[_];m.isDone||(m.onlyOnce&&(u.splice(_,1),_--),m.isDone=!0,m.action(g))}}return h||(this._stopped=!0),h}}class I{get syncRoot(){return this._syncRoot}get masterFrame(){return this._runtimeAnimations.length===0?0:this._runtimeAnimations[0].currentFrame}get weight(){return this._weight}set weight(e){if(e===-1){this._weight=-1;return}this._weight=Math.min(Math.max(e,0),1)}get speedRatio(){return this._speedRatio}set speedRatio(e){for(let t=0;t<this._runtimeAnimations.length;t++)this._runtimeAnimations[t]._prepareForSpeedRatioChange(e);this._speedRatio=e,this._goToFrame!==null&&this.goToFrame(this._goToFrame)}get elapsedTime(){return this._localDelayOffset===null?0:this._scene._animationTime-this._localDelayOffset}constructor(e,t,i=0,n=100,s=!1,a=1,l,r,h,g=!1,u=0){this.target=t,this.fromFrame=i,this.toFrame=n,this.loopAnimation=s,this.onAnimationEnd=l,this.onAnimationLoop=h,this.isAdditive=g,this.playOrder=u,this._localDelayOffset=null,this._pausedDelay=null,this._manualJumpDelay=null,this._runtimeAnimations=new Array,this._paused=!1,this._speedRatio=1,this._weight=-1,this._previousWeight=-1,this._syncRoot=null,this._frameToSyncFromJump=null,this._goToFrame=null,this.disposeOnEnd=!0,this.animationStarted=!1,this.onAnimationEndObservable=new P,this.onAnimationLoopObservable=new P,this._scene=e,r&&this.appendAnimations(t,r),this._speedRatio=a,e._activeAnimatables.push(this)}syncWith(e){if(this._syncRoot=e,e){const t=this._scene._activeAnimatables.indexOf(this);t>-1&&(this._scene._activeAnimatables.splice(t,1),this._scene._activeAnimatables.push(this))}return this}getAnimations(){return this._runtimeAnimations}appendAnimations(e,t){for(let i=0;i<t.length;i++){const n=t[i],s=new Q(e,n,this._scene,this);s._onLoop=()=>{this.onAnimationLoopObservable.notifyObservers(this),this.onAnimationLoop&&this.onAnimationLoop()},this._runtimeAnimations.push(s)}}getAnimationByTargetProperty(e){const t=this._runtimeAnimations;for(let i=0;i<t.length;i++)if(t[i].animation.targetProperty===e)return t[i].animation;return null}getRuntimeAnimationByTargetProperty(e){const t=this._runtimeAnimations;for(let i=0;i<t.length;i++)if(t[i].animation.targetProperty===e)return t[i];return null}reset(){const e=this._runtimeAnimations;for(let t=0;t<e.length;t++)e[t].reset(!0);this._localDelayOffset=null,this._pausedDelay=null}enableBlending(e){const t=this._runtimeAnimations;for(let i=0;i<t.length;i++)t[i].animation.enableBlending=!0,t[i].animation.blendingSpeed=e}disableBlending(){const e=this._runtimeAnimations;for(let t=0;t<e.length;t++)e[t].animation.enableBlending=!1}goToFrame(e,t=!1){const i=this._runtimeAnimations;if(i[0]){const n=i[0].animation.framePerSecond;this._frameToSyncFromJump=this._frameToSyncFromJump??i[0].currentFrame;const s=this.speedRatio===0?0:(e-this._frameToSyncFromJump)/n*1e3/this.speedRatio;this._manualJumpDelay=-s}for(let n=0;n<i.length;n++)i[n].goToFrame(e,t?this._weight:-1);this._goToFrame=e}get paused(){return this._paused}pause(){this._paused||(this._paused=!0)}restart(){this._paused=!1}_raiseOnAnimationEnd(){this.onAnimationEnd&&this.onAnimationEnd(),this.onAnimationEndObservable.notifyObservers(this)}stop(e,t,i=!1,n=!1){if(e||t){const s=this._scene._activeAnimatables.indexOf(this);if(s>-1){const a=this._runtimeAnimations;for(let l=a.length-1;l>=0;l--){const r=a[l];e&&r.animation.name!=e||t&&!t(r.target)||(r.dispose(),a.splice(l,1))}a.length==0&&(i||this._scene._activeAnimatables.splice(s,1),n||this._raiseOnAnimationEnd())}}else{const s=this._scene._activeAnimatables.indexOf(this);if(s>-1){i||this._scene._activeAnimatables.splice(s,1);const a=this._runtimeAnimations;for(let l=0;l<a.length;l++)a[l].dispose();this._runtimeAnimations.length=0,n||this._raiseOnAnimationEnd()}}}async waitAsync(){return await new Promise(e=>{this.onAnimationEndObservable.add(()=>{e(this)},void 0,void 0,this,!0)})}_animate(e){if(this._paused)return this.animationStarted=!1,this._pausedDelay===null&&(this._pausedDelay=e),!0;if(this._localDelayOffset===null?(this._localDelayOffset=e,this._pausedDelay=null):this._pausedDelay!==null&&(this._localDelayOffset+=e-this._pausedDelay,this._pausedDelay=null),this._manualJumpDelay!==null&&(this._localDelayOffset+=this.speedRatio<0?-this._manualJumpDelay:this._manualJumpDelay,this._manualJumpDelay=null,this._frameToSyncFromJump=null),this._goToFrame=null,!I.ProcessPausedAnimatables&&this._weight===0&&this._previousWeight===0)return!0;this._previousWeight=this._weight;let t=!1;const i=this._runtimeAnimations;let n;for(n=0;n<i.length;n++){const a=i[n].animate(e-this._localDelayOffset,this.fromFrame,this.toFrame,this.loopAnimation,this._speedRatio,this._weight);t=t||a}if(this.animationStarted=t,!t){if(this.disposeOnEnd)for(n=this._scene._activeAnimatables.indexOf(this),this._scene._activeAnimatables.splice(n,1),n=0;n<i.length;n++)i[n].dispose();this._raiseOnAnimationEnd(),this.disposeOnEnd&&(this.onAnimationEnd=null,this.onAnimationLoop=null,this.onAnimationLoopObservable.clear(),this.onAnimationEndObservable.clear())}return t}}I.ProcessPausedAnimatables=!1;function $(o){if(o.totalWeight===0&&o.totalAdditiveWeight===0)return o.originalValue;let e=1;const t=T.Vector3[0],i=T.Vector3[1],n=T.Quaternion[0];let s=0;const a=o.animations[0],l=o.originalValue;let r,h=!1;if(o.totalWeight<1)r=1-o.totalWeight,l.decompose(i,n,t);else{if(s=1,e=o.totalWeight,r=a.weight/e,r==1)if(o.totalAdditiveWeight)h=!0;else return a.currentValue;a.currentValue.decompose(i,n,t)}if(!h){i.scaleInPlace(r),t.scaleInPlace(r),n.scaleInPlace(r);for(let u=s;u<o.animations.length;u++){const c=o.animations[u];if(c.weight===0)continue;r=c.weight/e;const f=T.Vector3[2],_=T.Vector3[3],m=T.Quaternion[1];c.currentValue.decompose(_,m,f),_.scaleAndAddToRef(r,i),m.scaleAndAddToRef(S.Dot(n,m)>0?r:-r,n),f.scaleAndAddToRef(r,t)}n.normalize()}for(let u=0;u<o.additiveAnimations.length;u++){const c=o.additiveAnimations[u];if(c.weight===0)continue;const f=T.Vector3[2],_=T.Vector3[3],m=T.Quaternion[1];c.currentValue.decompose(_,m,f),_.multiplyToRef(i,_),Y.LerpToRef(i,_,c.weight,i),n.multiplyToRef(m,m),S.SlerpToRef(n,m,c.weight,n),f.scaleAndAddToRef(c.weight,t)}const g=a?a._animationState.workValue:T.Matrix[0].clone();return F.ComposeToRef(i,n,t,g),g}function j(o,e){if(o.totalWeight===0&&o.totalAdditiveWeight===0)return e;const t=o.animations[0],i=o.originalValue;let n=e;if(o.totalWeight===0&&o.totalAdditiveWeight>0)n.copyFrom(i);else if(o.animations.length===1){if(S.SlerpToRef(i,t.currentValue,Math.min(1,o.totalWeight),n),o.totalAdditiveWeight===0)return n}else if(o.animations.length>1){let s=1,a,l;if(o.totalWeight<1){const h=1-o.totalWeight;a=[],l=[],a.push(i),l.push(h)}else{if(o.animations.length===2&&(S.SlerpToRef(o.animations[0].currentValue,o.animations[1].currentValue,o.animations[1].weight/o.totalWeight,e),o.totalAdditiveWeight===0))return e;a=[],l=[],s=o.totalWeight}for(let h=0;h<o.animations.length;h++){const g=o.animations[h];a.push(g.currentValue),l.push(g.weight/s)}let r=0;for(let h=0;h<a.length;){if(!h){S.SlerpToRef(a[h],a[h+1],l[h+1]/(l[h]+l[h+1]),e),n=e,r=l[h]+l[h+1],h+=2;continue}r+=l[h],S.SlerpToRef(n,a[h],l[h]/r,n),h++}}for(let s=0;s<o.additiveAnimations.length;s++){const a=o.additiveAnimations[s];a.weight!==0&&(n.multiplyToRef(a.currentValue,T.Quaternion[0]),S.SlerpToRef(n,T.Quaternion[0],a.weight,n))}return n}function Z(o){if(o._registeredForLateAnimationBindings.length){for(let e=0;e<o._registeredForLateAnimationBindings.length;e++){const t=o._registeredForLateAnimationBindings.data[e];for(const i in t._lateAnimationHolders){const n=t._lateAnimationHolders[i],s=n.animations[0],a=n.originalValue;if(a==null)continue;const l=A.AllowMatrixDecomposeForInterpolation&&a.m;let r=t[i];if(l)r=$(n);else if(a.w!==void 0)r=j(n,r||S.Identity());else{let g=0,u=1;const c=s&&s._animationState.loopMode===A.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT;if(n.totalWeight<1)c?r=a.clone?a.clone():a:s&&a.scale?r=a.scale(1-n.totalWeight):s?r=a*(1-n.totalWeight):a.clone?r=a.clone():r=a;else if(s){u=n.totalWeight;const f=s.weight/u;f!==1?s.currentValue.scale?r=s.currentValue.scale(f):r=s.currentValue*f:r=s.currentValue,c&&(r.addToRef?r.addToRef(a,r):r+=a),g=1}for(let f=g;f<n.animations.length;f++){const _=n.animations[f],m=_.weight/u;if(m)_.currentValue.scaleAndAddToRef?_.currentValue.scaleAndAddToRef(m,r):r+=_.currentValue*m;else continue}for(let f=0;f<n.additiveAnimations.length;f++){const _=n.additiveAnimations[f],m=_.weight;if(m)_.currentValue.scaleAndAddToRef?_.currentValue.scaleAndAddToRef(m,r):r+=_.currentValue*m;else continue}}t[i]=r}t._lateAnimationHolders={}}o._registeredForLateAnimationBindings.reset()}}function tt(o,e){e&&(e.prototype.copyAnimationRange=function(t,i,n,s=!1,a=null){this.animations.length===0&&(this.animations.push(new A(this.name,"_matrix",t.animations[0].framePerSecond,A.ANIMATIONTYPE_MATRIX,0)),this.animations[0].setKeys([]));const l=t.animations[0].getRange(i);if(!l)return!1;const r=l.from,h=l.to,g=t.animations[0].getKeys(),u=t.length,c=t.getParent(),f=this.getParent(),_=s&&c&&u&&this.length&&u!==this.length,m=_&&f&&c?f.length/c.length:1,b=s&&!f&&a&&(a.x!==1||a.y!==1||a.z!==1),V=this.animations[0].getKeys();let O,d,p;for(let y=0,L=g.length;y<L;y++)O=g[y],O.frame>=r&&O.frame<=h&&(s?(p=O.value.clone(),_?(d=p.getTranslation(),p.setTranslation(d.scaleInPlace(m))):b&&a?(d=p.getTranslation(),p.setTranslation(d.multiplyInPlace(a))):p=O.value):p=O.value,V.push({frame:O.frame+n,value:p}));return this.animations[0].createRange(i,r+n,h+n),!0}),o&&(o.prototype._animate=function(t){if(!this.animationsEnabled)return;const i=U.Now;if(!this._animationTimeLast){if(this._pendingData.length>0)return;this._animationTimeLast=i}this.deltaTime=t!==void 0?t:this.useConstantAnimationDeltaTime?16:(i-this._animationTimeLast)*this.animationTimeScale,this._animationTimeLast=i;const n=this._activeAnimatables;if(n.length===0)return;this._animationTime+=this.deltaTime;const s=this._animationTime;for(let a=0;a<n.length;a++){const l=n[a];!l._animate(s)&&l.disposeOnEnd&&a--}Z(this)},o.prototype.sortActiveAnimatables=function(){this._activeAnimatables.sort((t,i)=>t.playOrder-i.playOrder)},o.prototype.beginWeightedAnimation=function(t,i,n,s=1,a,l=1,r,h,g,u,c=!1){const f=this.beginAnimation(t,i,n,a,l,r,h,!1,g,u,c);return f.weight=s,f},o.prototype.beginAnimation=function(t,i,n,s,a=1,l,r,h=!0,g,u,c=!1){if(a<0){const _=i;i=n,n=_,a=-a}i>n&&(a=-a),h&&this.stopAnimation(t,void 0,g),r||(r=new I(this,t,i,n,s,a,l,void 0,u,c));const f=g?g(t):!0;if(t.animations&&f&&r.appendAnimations(t,t.animations),t.getAnimatables){const _=t.getAnimatables();for(let m=0;m<_.length;m++)this.beginAnimation(_[m],i,n,s,a,l,r,h,g,u)}return r.reset(),r},o.prototype.beginHierarchyAnimation=function(t,i,n,s,a,l=1,r,h,g=!0,u,c,f=!1){const _=t.getDescendants(i),m=[];m.push(this.beginAnimation(t,n,s,a,l,r,h,g,u,void 0,f));for(const b of _)m.push(this.beginAnimation(b,n,s,a,l,r,h,g,u,void 0,f));return m},o.prototype.beginDirectAnimation=function(t,i,n,s,a,l=1,r,h,g=!1){if(l<0){const c=n;n=s,s=c,l=-l}return n>s&&(l=-l),new I(this,t,n,s,a,l,r,i,h,g)},o.prototype.beginDirectHierarchyAnimation=function(t,i,n,s,a,l,r,h,g,u=!1){const c=t.getDescendants(i),f=[];f.push(this.beginDirectAnimation(t,n,s,a,l,r,h,g,u));for(const _ of c)f.push(this.beginDirectAnimation(_,n,s,a,l,r,h,g,u));return f},o.prototype.getAnimatableByTarget=function(t){for(let i=0;i<this._activeAnimatables.length;i++)if(this._activeAnimatables[i].target===t)return this._activeAnimatables[i];return null},o.prototype.getAllAnimatablesByTarget=function(t){const i=[];for(let n=0;n<this._activeAnimatables.length;n++)this._activeAnimatables[n].target===t&&i.push(this._activeAnimatables[n]);return i},o.prototype.stopAnimation=function(t,i,n){const s=this.getAllAnimatablesByTarget(t);for(const a of s)a.stop(i,n)},o.prototype.stopAllAnimations=function(){if(this._activeAnimatables){for(let t=0;t<this._activeAnimatables.length;t++)this._activeAnimatables[t].stop(void 0,void 0,!0);this._activeAnimatables.length=0}for(const t of this.animationGroups)t.stop()})}let x=!1;function et(){x||(x=!0,tt(H,z))}class it{getClassName(){return"TargetedAnimation"}constructor(e){this.parent=e,this.uniqueId=q.UniqueId}serialize(){const e={};return e.animation=this.animation.serialize(),e.targetId=this.target.id,e.targetUniqueId=this.target.uniqueId,e}}class v{get mask(){return this._mask}set mask(e){this._mask!==e&&(this._mask=e,this.syncWithMask(!0))}syncWithMask(e=!1){if(!this.mask&&!e){this._numActiveAnimatables=this._targetedAnimations.length;return}this._numActiveAnimatables=0;for(let t=0;t<this._animatables.length;++t){const i=this._animatables[t];!this.mask||this.mask.disabled||this.mask.retainsTarget(i.target.name)?(this._numActiveAnimatables++,i.paused&&i.restart()):i.paused||i.pause()}}removeUnmaskedAnimations(){if(!(!this.mask||this.mask.disabled)){for(let e=0;e<this._animatables.length;++e){const t=this._animatables[e];this.mask.retainsTarget(t.target.name)||(t.stop(),this._animatables.splice(e,1),--e)}for(let e=0;e<this._targetedAnimations.length;e++){const t=this._targetedAnimations[e];this.mask.retainsTarget(t.target.name)||(this._targetedAnimations.splice(e,1),--e)}}}get from(){return this._from}set from(e){if(this._from!==e){this._from=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.fromFrame=this._from}}}get to(){return this._to}set to(e){if(this._to!==e){this._to=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.toFrame=this._to}}}get isStarted(){return this._isStarted}get isPlaying(){return this._isStarted&&!this._isPaused}get speedRatio(){return this._speedRatio}set speedRatio(e){if(this._speedRatio!==e){this._speedRatio=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.speedRatio=this._speedRatio}}}get loopAnimation(){return this._loopAnimation}set loopAnimation(e){if(this._loopAnimation!==e){this._loopAnimation=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.loopAnimation=this._loopAnimation}}}get isAdditive(){return this._isAdditive}set isAdditive(e){if(this._isAdditive!==e){this._isAdditive=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.isAdditive=this._isAdditive}}}get weight(){return this._weight}set weight(e){this._weight!==e&&(this._weight=e,this.setWeightForAllAnimatables(this._weight))}get targetedAnimations(){return this._targetedAnimations}get animatables(){return this._animatables}get children(){return this._targetedAnimations}get playOrder(){return this._playOrder}set playOrder(e){if(this._playOrder!==e&&(this._playOrder=e,this._animatables.length>0)){for(let t=0;t<this._animatables.length;t++)this._animatables[t].playOrder=this._playOrder;this._scene.sortActiveAnimatables()}}get enableBlending(){return this._enableBlending}set enableBlending(e){if(this._enableBlending!==e&&(this._enableBlending=e,e!==null))for(let t=0;t<this._targetedAnimations.length;++t)this._targetedAnimations[t].animation.enableBlending=e}get blendingSpeed(){return this._blendingSpeed}set blendingSpeed(e){if(this._blendingSpeed!==e&&(this._blendingSpeed=e,e!==null))for(let t=0;t<this._targetedAnimations.length;++t)this._targetedAnimations[t].animation.blendingSpeed=e}getLength(e,t){e=e??this._from,t=t??this._to;const i=this.targetedAnimations[0].animation.framePerSecond*this._speedRatio;return(t-e)/i}getScene(){return this._scene}constructor(e,t=null,i=-1,n=0){this.name=e,this._targetedAnimations=new Array,this._animatables=new Array,this._from=Number.MAX_VALUE,this._to=-Number.MAX_VALUE,this._speedRatio=1,this._loopAnimation=!1,this._isAdditive=!1,this._weight=-1,this._playOrder=0,this._enableBlending=null,this._blendingSpeed=null,this._numActiveAnimatables=0,this._shouldStart=!0,this._parentContainer=null,this.onAnimationEndObservable=new P,this.onAnimationLoopObservable=new P,this.onAnimationGroupLoopObservable=new P,this.onAnimationGroupEndObservable=new P,this.onAnimationGroupPauseObservable=new P,this.onAnimationGroupPlayObservable=new P,this.metadata=null,this._mask=null,this._animationLoopFlags=[],this._scene=t||G.LastCreatedScene,this._weight=i,this._playOrder=n,this.uniqueId=this._scene.getUniqueId(),et(),this._scene.addAnimationGroup(this)}addTargetedAnimation(e,t){const i=new it(this);i.animation=e,i.target=t;const n=e.getKeys();return this._from>n[0].frame&&(this._from=n[0].frame),this._to<n[n.length-1].frame&&(this._to=n[n.length-1].frame),this._enableBlending!==null&&(e.enableBlending=this._enableBlending),this._blendingSpeed!==null&&(e.blendingSpeed=this._blendingSpeed),this._targetedAnimations.push(i),this._shouldStart=!0,i}removeTargetedAnimation(e){for(let t=this._targetedAnimations.length-1;t>-1;t--)this._targetedAnimations[t].animation===e&&this._targetedAnimations.splice(t,1)}normalize(e=null,t=null){e==null&&(e=this._from),t==null&&(t=this._to);for(let i=0;i<this._targetedAnimations.length;i++){const s=this._targetedAnimations[i].animation.getKeys(),a=s[0],l=s[s.length-1];if(a.frame>e){const r={frame:e,value:a.value,inTangent:a.inTangent,outTangent:a.outTangent,interpolation:a.interpolation};s.splice(0,0,r)}if(l.frame<t){const r={frame:t,value:l.value,inTangent:l.inTangent,outTangent:l.outTangent,interpolation:l.interpolation};s.push(r)}}return this._from=e,this._to=t,this}_processLoop(e,t,i){e.onAnimationLoop=()=>{this.onAnimationLoopObservable.notifyObservers(t),!this._animationLoopFlags[i]&&(this._animationLoopFlags[i]=!0,this._animationLoopCount++,this._animationLoopCount===this._numActiveAnimatables&&(this.onAnimationGroupLoopObservable.notifyObservers(this),this._animationLoopCount=0,this._animationLoopFlags.length=0))}}start(e=!1,t=1,i,n,s){if(this._isStarted||this._targetedAnimations.length===0)return this;this._loopAnimation=e,this._shouldStart=!1,this._animationLoopCount=0,this._animationLoopFlags.length=0;for(let a=0;a<this._targetedAnimations.length;a++){const l=this._targetedAnimations[a],r=this._scene.beginDirectAnimation(l.target,[l.animation],i!==void 0?i:this._from,n!==void 0?n:this._to,e,t,void 0,void 0,s!==void 0?s:this._isAdditive);r.weight=this._weight,r.playOrder=this._playOrder,r.onAnimationEnd=()=>{this.onAnimationEndObservable.notifyObservers(l),this._checkAnimationGroupEnded(r)},this._processLoop(r,l,a),this._animatables.push(r)}return this.syncWithMask(),this._scene.sortActiveAnimatables(),this._speedRatio=t,this._isStarted=!0,this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}pause(){if(!this._isStarted)return this;this._isPaused=!0;for(let e=0;e<this._animatables.length;e++)this._animatables[e].pause();return this.onAnimationGroupPauseObservable.notifyObservers(this),this}play(e){return this.isStarted&&this._animatables.length&&!this._shouldStart?(e!==void 0&&(this.loopAnimation=e),this.restart()):(this.stop(),this.start(e,this._speedRatio)),this}reset(){if(!this._isStarted)return this.play(),this.goToFrame(0),this.stop(!0),this;for(let e=0;e<this._animatables.length;e++)this._animatables[e].reset();return this}restart(){if(!this._isStarted)return this;for(let e=0;e<this._animatables.length;e++)this._animatables[e].restart();return this.syncWithMask(),this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}stop(e=!1){if(!this._isStarted)return this;const t=this._animatables.slice();for(let n=0;n<t.length;n++)t[n].stop(void 0,void 0,!0,e);let i=0;for(let n=0;n<this._scene._activeAnimatables.length;n++){const s=this._scene._activeAnimatables[n];s._runtimeAnimations.length>0?this._scene._activeAnimatables[i++]=s:e&&this._checkAnimationGroupEnded(s,e)}return this._scene._activeAnimatables.length=i,this._isStarted=!1,this}setWeightForAllAnimatables(e){for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.weight=e}return this}syncAllAnimationsWith(e){for(let t=0;t<this._animatables.length;t++)this._animatables[t].syncWith(e);return this}goToFrame(e,t=!1){if(!this._isStarted)return this;for(let i=0;i<this._animatables.length;i++)this._animatables[i].goToFrame(e,t);return this}getCurrentFrame(){return this.animatables[0]?.masterFrame||0}dispose(){if(this.isStarted&&this.stop(),this._targetedAnimations.length=0,this._animatables.length=0,this._scene.removeAnimationGroup(this),this._parentContainer){const e=this._parentContainer.animationGroups.indexOf(this);e>-1&&this._parentContainer.animationGroups.splice(e,1),this._parentContainer=null}this.onAnimationEndObservable.clear(),this.onAnimationGroupEndObservable.clear(),this.onAnimationGroupPauseObservable.clear(),this.onAnimationGroupPlayObservable.clear(),this.onAnimationLoopObservable.clear(),this.onAnimationGroupLoopObservable.clear()}_checkAnimationGroupEnded(e,t=!1){const i=this._animatables.indexOf(e);i>-1&&this._animatables.splice(i,1),this._animatables.length===this._targetedAnimations.length-this._numActiveAnimatables&&(this._isStarted=!1,t||this.onAnimationGroupEndObservable.notifyObservers(this),this._animatables.length=0)}clone(e,t,i=!1,n=!1){const s=new v(e||this.name,this._scene,this._weight,this._playOrder);s._from=this.from,s._to=this.to,s._speedRatio=this.speedRatio,s._loopAnimation=this.loopAnimation,s._isAdditive=this.isAdditive,s._enableBlending=this.enableBlending,s._blendingSpeed=this.blendingSpeed,s.metadata=this.metadata,s.mask=this.mask;for(const a of this._targetedAnimations)s.addTargetedAnimation(i?a.animation.clone(n):a.animation,t?t(a.target):a.target);return s}serialize(){const e={};e.name=this.name,e.from=this.from,e.to=this.to,e.speedRatio=this.speedRatio,e.loopAnimation=this.loopAnimation,e.isAdditive=this.isAdditive,e.weight=this.weight,e.playOrder=this.playOrder,e.enableBlending=this.enableBlending,e.blendingSpeed=this.blendingSpeed,e.targetedAnimations=[];for(let t=0;t<this.targetedAnimations.length;t++){const i=this.targetedAnimations[t];e.targetedAnimations[t]=i.serialize()}return w&&w.HasTags(this)&&(e.tags=w.GetTags(this)),this.metadata&&(e.metadata=this.metadata),e}getClassName(){return"AnimationGroup"}toString(e){let t="Name: "+this.name;return t+=", type: "+this.getClassName(),e&&(t+=", from: "+this._from,t+=", to: "+this._to,t+=", isStarted: "+this._isStarted,t+=", speedRatio: "+this._speedRatio,t+=", targetedAnimations length: "+this._targetedAnimations.length,t+=", animatables length: "+this._animatables.length),t}}function nt(o,e=!0,t=!1,i){if(o.length===0)return null;i=i??o[0].weight;let n=Number.MAX_VALUE,s=-Number.MAX_VALUE;if(t)for(const l of o)l.from<n&&(n=l.from),l.to>s&&(s=l.to);const a=new v(o[0].name+"_merged",o[0].getScene(),i);for(const l of o){t&&l.normalize(n,s);for(const r of l.targetedAnimations)a.addTargetedAnimation(r.animation,r.target);e&&l.dispose()}return a}function at(o,e,t){const i=new v(o.name,e,o.weight,o.playOrder),n=i;for(let s=0;s<o.targetedAnimations.length;s++){const a=o.targetedAnimations[s],l=J(a.animation),r=t?t(a):a.animation.property==="influence"?e.getMorphTargetById(a.targetId):e.getNodeById(a.targetId);r&&i.addTargetedAnimation(l,r)}return w&&w.AddTagsTo(i,o.tags),o.from!==null&&o.to!==null&&i.normalize(o.from,o.to),o.speedRatio!==void 0&&(n._speedRatio=o.speedRatio),o.loopAnimation!==void 0&&(n._loopAnimation=o.loopAnimation),o.isAdditive!==void 0&&(n._isAdditive=o.isAdditive),o.weight!==void 0&&(n._weight=o.weight),o.playOrder!==void 0&&(n._playOrder=o.playOrder),o.enableBlending!==void 0&&(n._enableBlending=o.enableBlending),o.blendingSpeed!==void 0&&(n._blendingSpeed=o.blendingSpeed),o.metadata!==void 0&&(i.metadata=o.metadata),i}function st(o,e,t,i=!1,n){let s;typeof e=="object"?s=e:s={referenceFrame:e,range:t,cloneOriginalAnimationGroup:i,clonedAnimationName:n};let a=o;s.cloneOriginalAnimationGroup&&(a=o.clone(s.clonedAnimationGroupName||a.name));const l=a.targetedAnimations;for(let r=0;r<l.length;r++){const h=l[r];h.animation=X(h.animation,s)}if(a.isAdditive=!0,s.clipKeys){let r=Number.MAX_VALUE,h=-Number.MAX_VALUE;const g=a.targetedAnimations;for(let c=0;c<g.length;c++){const m=g[c].animation.getKeys();r>m[0].frame&&(r=m[0].frame),h<m[m.length-1].frame&&(h=m[m.length-1].frame)}const u=a;u._from=r,u._to=h}return a}function ot(o,e,t,i,n){const s=o.clone(i||o.name);return E(s,e,t,n)}function E(o,e,t,i){return R(o,e,t,i,!1)}function rt(o,e,t,i,n){const s=o.clone(i||o.name);return N(s,e,t,n)}function N(o,e,t,i){return R(o,e,t,i,!0)}function R(o,e,t,i,n=!1){let s=Number.MAX_VALUE,a=-Number.MAX_VALUE;const l=o.targetedAnimations;for(let h=0;h<l.length;h++){const g=l[h],u=i?g.animation:g.animation.clone();n&&(u.createKeyForFrame(e),u.createKeyForFrame(t));const c=u.getKeys(),f=[];let _=Number.MAX_VALUE;for(let m=0;m<c.length;m++){const b=c[m];if(!n&&m>=e&&m<=t||n&&b.frame>=e&&b.frame<=t){const V={frame:b.frame,value:b.value.clone?b.value.clone():b.value,inTangent:b.inTangent,outTangent:b.outTangent,interpolation:b.interpolation,lockedTangent:b.lockedTangent};_===Number.MAX_VALUE&&(_=V.frame),V.frame-=_,f.push(V)}}if(f.length===0){l.splice(h,1),h--;continue}s>f[0].frame&&(s=f[0].frame),a<f[f.length-1].frame&&(a=f[f.length-1].frame),u.setKeys(f,!0),g.animation=u}const r=o;return r._from=s,r._to=a,o}let M=!1;function lt(){M||(M=!0,v.MergeAnimationGroups=nt,v.Parse=at,v.MakeAnimationAdditive=st,v.ClipKeys=ot,v.ClipKeysInPlace=E,v.ClipFrames=rt,v.ClipFramesInPlace=N,v.ClipInPlace=R)}lt();export{v as AnimationGroup,rt as AnimationGroupClipFrames,N as AnimationGroupClipFramesInPlace,R as AnimationGroupClipInPlace,ot as AnimationGroupClipKeys,E as AnimationGroupClipKeysInPlace,st as AnimationGroupMakeAnimationAdditive,nt as AnimationGroupMergeAnimationGroups,at as AnimationGroupParse,lt as RegisterAnimationGroup,it as TargetedAnimation};
|
|
1
|
+
import{a$ as A,M as F,b0 as B,b1 as C,b2 as k,b3 as D,b4 as W,b5 as K,b6 as U,az as P,a0 as T,Q as S,V as Y,b7 as z,b8 as H,aP as G,b9 as w,ba as X,bb as J,bc as q}from"./index-CxvyL8J4.js";class Q{get currentFrame(){return this._currentFrame}get weight(){return this._weight}get currentValue(){return this._currentValue}get targetPath(){return this._targetPath}get target(){return this._currentActiveTarget}get isAdditive(){return this._host&&this._host.isAdditive}constructor(e,t,i,n){if(this._events=new Array,this._currentFrame=0,this._originalValue=new Array,this._originalBlendValue=null,this._offsetsCache={},this._highLimitsCache={},this._stopped=!1,this._blendingFactor=0,this._currentValue=null,this._currentActiveTarget=null,this._directTarget=null,this._targetPath="",this._weight=1,this._absoluteFrameOffset=0,this._previousElapsedTime=0,this._yoyoDirection=1,this._previousAbsoluteFrame=0,this._targetIsArray=!1,this._coreRuntimeAnimation=null,this._animation=t,this._target=e,this._scene=i,this._host=n,this._activeTargets=[],t._runtimeAnimations.push(this),this._animationState={key:0,repeatCount:0,loopMode:this._getCorrectLoopMode()},this._animation.dataType===A.ANIMATIONTYPE_MATRIX&&(this._animationState.workValue=F.Zero()),this._keys=this._animation.getKeys(),this._minFrame=this._keys[0].frame,this._maxFrame=this._keys[this._keys.length-1].frame,this._minFrame!==0){const a={frame:0,value:this._keys[0].value};this._keys.splice(0,0,a)}if(this._target instanceof Array){let a=0;for(const l of this._target)this._preparePath(l,a),this._getOriginalValues(a),a++;this._targetIsArray=!0}else this._preparePath(this._target),this._getOriginalValues(),this._targetIsArray=!1,this._directTarget=this._activeTargets[0];const s=t.getEvents();if(s&&s.length>0)for(const a of s)this._events.push(a._clone());this._enableBlending=e&&e.animationPropertiesOverride?e.animationPropertiesOverride.enableBlending:this._animation.enableBlending}_preparePath(e,t=0){const i=this._animation.targetPropertyPath;if(i.length>1){let n=e;for(let s=0;s<i.length-1;s++){const a=i[s];if(n=n[a],n===void 0)throw new Error(`Invalid property (${a}) in property path (${i.join(".")})`)}this._targetPath=i[i.length-1],this._activeTargets[t]=n}else this._targetPath=i[0],this._activeTargets[t]=e;if(this._activeTargets[t][this._targetPath]===void 0)throw new Error(`Invalid property (${this._targetPath}) in property path (${i.join(".")})`)}get animation(){return this._animation}reset(e=!1){if(e)if(this._target instanceof Array){let t=0;for(const i of this._target)this._originalValue[t]!==void 0&&this._setValue(i,this._activeTargets[t],this._originalValue[t],-1,t),t++}else this._originalValue[0]!==void 0&&this._setValue(this._target,this._directTarget,this._originalValue[0],-1,0);this._offsetsCache={},this._highLimitsCache={},this._currentFrame=0,this._blendingFactor=0;for(let t=0;t<this._events.length;t++)this._events[t].isDone=!1}isStopped(){return this._stopped}dispose(){const e=this._animation.runtimeAnimations.indexOf(this);e>-1&&this._animation.runtimeAnimations.splice(e,1)}setValue(e,t){if(this._targetIsArray){for(let i=0;i<this._target.length;i++){const n=this._target[i];this._setValue(n,this._activeTargets[i],e,t,i)}return}this._setValue(this._target,this._directTarget,e,t,0)}_getOriginalValues(e=0){let t;const i=this._activeTargets[e];if(A.InheritOriginalValueFromActiveAnimations){const n=this._scene._activeAnimatables;for(let s=0;s<n.length;s++){const a=n[s]._runtimeAnimations;for(let l=0;l<a.length;l++){const r=a[l];if(r!==this&&r._targetPath===this._targetPath){for(let h=0;h<r._activeTargets.length;h++)if(r._activeTargets[h]===i&&r._originalValue[h]!==void 0){r._originalValue[h]&&r._originalValue[h].clone?this._originalValue[e]=r._originalValue[h].clone():this._originalValue[e]=r._originalValue[h];return}}}}}i.getLocalMatrix&&this._targetPath==="_matrix"?t=i.getLocalMatrix():t=i[this._targetPath],t&&t.clone?this._originalValue[e]=t.clone():this._originalValue[e]=t}_registerTargetForLateAnimationBinding(e,t){const i=e.target;this._scene._registeredForLateAnimationBindings.pushNoDuplicate(i),i._lateAnimationHolders||(i._lateAnimationHolders={}),i._lateAnimationHolders[e.targetPath]||(i._lateAnimationHolders[e.targetPath]={totalWeight:0,totalAdditiveWeight:0,animations:[],additiveAnimations:[],originalValue:t}),e.isAdditive?(i._lateAnimationHolders[e.targetPath].additiveAnimations.push(e),i._lateAnimationHolders[e.targetPath].totalAdditiveWeight+=e.weight):(i._lateAnimationHolders[e.targetPath].animations.push(e),i._lateAnimationHolders[e.targetPath].totalWeight+=e.weight)}_setValue(e,t,i,n,s){if(this._currentActiveTarget=t,this._weight=n,this._enableBlending&&this._blendingFactor<=1){if(!this._originalBlendValue){const l=t[this._targetPath];l.clone?this._originalBlendValue=l.clone():this._originalBlendValue=l}this._originalBlendValue.m?A.AllowMatrixDecomposeForInterpolation?this._currentValue?F.DecomposeLerpToRef(this._originalBlendValue,i,this._blendingFactor,this._currentValue):this._currentValue=F.DecomposeLerp(this._originalBlendValue,i,this._blendingFactor):this._currentValue?F.LerpToRef(this._originalBlendValue,i,this._blendingFactor,this._currentValue):this._currentValue=F.Lerp(this._originalBlendValue,i,this._blendingFactor):this._currentValue=A._UniversalLerp(this._originalBlendValue,i,this._blendingFactor);const a=e&&e.animationPropertiesOverride?e.animationPropertiesOverride.blendingSpeed:this._animation.blendingSpeed;this._blendingFactor+=a}else this._currentValue?this._currentValue.copyFrom?this._currentValue.copyFrom(i):this._currentValue=i:i?.clone?this._currentValue=i.clone():this._currentValue=i;n!==-1?this._registerTargetForLateAnimationBinding(this,this._originalValue[s]):this._animationState.loopMode===A.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT?this._currentValue.addToRef?this._currentValue.addToRef(this._originalValue[s],t[this._targetPath]):t[this._targetPath]=this._originalValue[s]+this._currentValue:t[this._targetPath]=this._currentValue,e.markAsDirty&&e.markAsDirty(this._animation.targetProperty)}_getCorrectLoopMode(){return this._target&&this._target.animationPropertiesOverride?this._target.getClassName?.()==="MorphTarget"&&this._target._animationPropertiesOverride==null?this._animation.loopMode:this._target.animationPropertiesOverride.loopMode:this._animation.loopMode}goToFrame(e,t=-1){const i=this._animation.getKeys();e<i[0].frame?e=i[0].frame:e>i[i.length-1].frame&&(e=i[i.length-1].frame);const n=this._events;if(n.length)for(let a=0;a<n.length;a++)n[a].onlyOnce||(n[a].isDone=n[a].frame<e);this._currentFrame=e;const s=this._animation._interpolate(e,this._animationState);this.setValue(s,t)}_prepareForSpeedRatioChange(e){const t=this._previousElapsedTime*(this._animation.framePerSecond*e)/1e3;this._absoluteFrameOffset=this._previousAbsoluteFrame-t}animate(e,t,i,n,s,a=-1){const l=this._animation,r=l.targetPropertyPath;if(!r||r.length<1)return this._stopped=!0,!1;let h=!0,g;const u=this._events;let c;if(this._coreRuntimeAnimation)c=i-t,g=this._coreRuntimeAnimation.currentFrame,this._currentFrame=g,this._animationState.repeatCount=this._coreRuntimeAnimation._animationState.repeatCount,this._animationState.highLimitValue=this._coreRuntimeAnimation._animationState.highLimitValue,this._animationState.offsetValue=this._coreRuntimeAnimation._animationState.offsetValue;else{(t<this._minFrame||t>this._maxFrame)&&(t=this._minFrame),(i<this._minFrame||i>this._maxFrame)&&(i=this._maxFrame),c=i-t;let _,m=e*(l.framePerSecond*s)/1e3+this._absoluteFrameOffset,b=0,V=!1;const O=n&&this._animationState.loopMode===A.ANIMATIONLOOPMODE_YOYO;if(O){const d=(m-t)/c,p=Math.sin(d*Math.PI);m=Math.abs(p)*c+t;const L=p>=0?1:-1;this._yoyoDirection!==L&&(V=!0),this._yoyoDirection=L}if(this._previousElapsedTime=e,this._previousAbsoluteFrame=m,!n&&i>=t&&(m>=c&&s>0||m<=0&&s<0))h=!1,b=l.evaluate(i);else if(!n&&t>=i&&(m<=c&&s<0||m>=0&&s>0))h=!1,b=l.evaluate(t);else if(this._animationState.loopMode!==A.ANIMATIONLOOPMODE_CYCLE){const d=i.toString()+t.toString();if(!this._offsetsCache[d]){this._animationState.repeatCount=0,this._animationState.loopMode=A.ANIMATIONLOOPMODE_CYCLE;const p=l._interpolate(t,this._animationState),y=l._interpolate(i,this._animationState);switch(this._animationState.loopMode=this._getCorrectLoopMode(),l.dataType){case A.ANIMATIONTYPE_FLOAT:this._offsetsCache[d]=y-p;break;case A.ANIMATIONTYPE_QUATERNION:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_VECTOR3:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_VECTOR2:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_SIZE:this._offsetsCache[d]=y.subtract(p);break;case A.ANIMATIONTYPE_COLOR3:this._offsetsCache[d]=y.subtract(p);break}this._highLimitsCache[d]=y}b=this._highLimitsCache[d],_=this._offsetsCache[d]}if(_===void 0)switch(l.dataType){case A.ANIMATIONTYPE_FLOAT:_=0;break;case A.ANIMATIONTYPE_QUATERNION:_=K;break;case A.ANIMATIONTYPE_VECTOR3:_=W;break;case A.ANIMATIONTYPE_VECTOR2:_=D;break;case A.ANIMATIONTYPE_SIZE:_=k;break;case A.ANIMATIONTYPE_COLOR3:_=C;break;case A.ANIMATIONTYPE_COLOR4:_=B;break}if(this._host&&this._host.syncRoot){const d=this._host.syncRoot,p=(d.masterFrame-d.fromFrame)/(d.toFrame-d.fromFrame);g=t+c*p}else m>0&&t>i||m<0&&t<i?g=h&&c!==0?i+m%c:t:g=h&&c!==0?t+m%c:i;if(!O&&(s>0&&this.currentFrame>g||s<0&&this.currentFrame<g)||O&&V){this._onLoop();for(let d=0;d<u.length;d++)u[d].onlyOnce||(u[d].isDone=!1);this._animationState.key=s>0?0:l.getKeys().length-1}this._currentFrame=g,this._animationState.repeatCount=c===0?0:m/c>>0,this._animationState.highLimitValue=b,this._animationState.offsetValue=_}const f=l._interpolate(g,this._animationState);if(this.setValue(f,a),u.length){for(let _=0;_<u.length;_++)if(c>=0&&g>=u[_].frame&&u[_].frame>=t||c<0&&g<=u[_].frame&&u[_].frame<=t){const m=u[_];m.isDone||(m.onlyOnce&&(u.splice(_,1),_--),m.isDone=!0,m.action(g))}}return h||(this._stopped=!0),h}}class I{get syncRoot(){return this._syncRoot}get masterFrame(){return this._runtimeAnimations.length===0?0:this._runtimeAnimations[0].currentFrame}get weight(){return this._weight}set weight(e){if(e===-1){this._weight=-1;return}this._weight=Math.min(Math.max(e,0),1)}get speedRatio(){return this._speedRatio}set speedRatio(e){for(let t=0;t<this._runtimeAnimations.length;t++)this._runtimeAnimations[t]._prepareForSpeedRatioChange(e);this._speedRatio=e,this._goToFrame!==null&&this.goToFrame(this._goToFrame)}get elapsedTime(){return this._localDelayOffset===null?0:this._scene._animationTime-this._localDelayOffset}constructor(e,t,i=0,n=100,s=!1,a=1,l,r,h,g=!1,u=0){this.target=t,this.fromFrame=i,this.toFrame=n,this.loopAnimation=s,this.onAnimationEnd=l,this.onAnimationLoop=h,this.isAdditive=g,this.playOrder=u,this._localDelayOffset=null,this._pausedDelay=null,this._manualJumpDelay=null,this._runtimeAnimations=new Array,this._paused=!1,this._speedRatio=1,this._weight=-1,this._previousWeight=-1,this._syncRoot=null,this._frameToSyncFromJump=null,this._goToFrame=null,this.disposeOnEnd=!0,this.animationStarted=!1,this.onAnimationEndObservable=new P,this.onAnimationLoopObservable=new P,this._scene=e,r&&this.appendAnimations(t,r),this._speedRatio=a,e._activeAnimatables.push(this)}syncWith(e){if(this._syncRoot=e,e){const t=this._scene._activeAnimatables.indexOf(this);t>-1&&(this._scene._activeAnimatables.splice(t,1),this._scene._activeAnimatables.push(this))}return this}getAnimations(){return this._runtimeAnimations}appendAnimations(e,t){for(let i=0;i<t.length;i++){const n=t[i],s=new Q(e,n,this._scene,this);s._onLoop=()=>{this.onAnimationLoopObservable.notifyObservers(this),this.onAnimationLoop&&this.onAnimationLoop()},this._runtimeAnimations.push(s)}}getAnimationByTargetProperty(e){const t=this._runtimeAnimations;for(let i=0;i<t.length;i++)if(t[i].animation.targetProperty===e)return t[i].animation;return null}getRuntimeAnimationByTargetProperty(e){const t=this._runtimeAnimations;for(let i=0;i<t.length;i++)if(t[i].animation.targetProperty===e)return t[i];return null}reset(){const e=this._runtimeAnimations;for(let t=0;t<e.length;t++)e[t].reset(!0);this._localDelayOffset=null,this._pausedDelay=null}enableBlending(e){const t=this._runtimeAnimations;for(let i=0;i<t.length;i++)t[i].animation.enableBlending=!0,t[i].animation.blendingSpeed=e}disableBlending(){const e=this._runtimeAnimations;for(let t=0;t<e.length;t++)e[t].animation.enableBlending=!1}goToFrame(e,t=!1){const i=this._runtimeAnimations;if(i[0]){const n=i[0].animation.framePerSecond;this._frameToSyncFromJump=this._frameToSyncFromJump??i[0].currentFrame;const s=this.speedRatio===0?0:(e-this._frameToSyncFromJump)/n*1e3/this.speedRatio;this._manualJumpDelay=-s}for(let n=0;n<i.length;n++)i[n].goToFrame(e,t?this._weight:-1);this._goToFrame=e}get paused(){return this._paused}pause(){this._paused||(this._paused=!0)}restart(){this._paused=!1}_raiseOnAnimationEnd(){this.onAnimationEnd&&this.onAnimationEnd(),this.onAnimationEndObservable.notifyObservers(this)}stop(e,t,i=!1,n=!1){if(e||t){const s=this._scene._activeAnimatables.indexOf(this);if(s>-1){const a=this._runtimeAnimations;for(let l=a.length-1;l>=0;l--){const r=a[l];e&&r.animation.name!=e||t&&!t(r.target)||(r.dispose(),a.splice(l,1))}a.length==0&&(i||this._scene._activeAnimatables.splice(s,1),n||this._raiseOnAnimationEnd())}}else{const s=this._scene._activeAnimatables.indexOf(this);if(s>-1){i||this._scene._activeAnimatables.splice(s,1);const a=this._runtimeAnimations;for(let l=0;l<a.length;l++)a[l].dispose();this._runtimeAnimations.length=0,n||this._raiseOnAnimationEnd()}}}async waitAsync(){return await new Promise(e=>{this.onAnimationEndObservable.add(()=>{e(this)},void 0,void 0,this,!0)})}_animate(e){if(this._paused)return this.animationStarted=!1,this._pausedDelay===null&&(this._pausedDelay=e),!0;if(this._localDelayOffset===null?(this._localDelayOffset=e,this._pausedDelay=null):this._pausedDelay!==null&&(this._localDelayOffset+=e-this._pausedDelay,this._pausedDelay=null),this._manualJumpDelay!==null&&(this._localDelayOffset+=this.speedRatio<0?-this._manualJumpDelay:this._manualJumpDelay,this._manualJumpDelay=null,this._frameToSyncFromJump=null),this._goToFrame=null,!I.ProcessPausedAnimatables&&this._weight===0&&this._previousWeight===0)return!0;this._previousWeight=this._weight;let t=!1;const i=this._runtimeAnimations;let n;for(n=0;n<i.length;n++){const a=i[n].animate(e-this._localDelayOffset,this.fromFrame,this.toFrame,this.loopAnimation,this._speedRatio,this._weight);t=t||a}if(this.animationStarted=t,!t){if(this.disposeOnEnd)for(n=this._scene._activeAnimatables.indexOf(this),this._scene._activeAnimatables.splice(n,1),n=0;n<i.length;n++)i[n].dispose();this._raiseOnAnimationEnd(),this.disposeOnEnd&&(this.onAnimationEnd=null,this.onAnimationLoop=null,this.onAnimationLoopObservable.clear(),this.onAnimationEndObservable.clear())}return t}}I.ProcessPausedAnimatables=!1;function $(o){if(o.totalWeight===0&&o.totalAdditiveWeight===0)return o.originalValue;let e=1;const t=T.Vector3[0],i=T.Vector3[1],n=T.Quaternion[0];let s=0;const a=o.animations[0],l=o.originalValue;let r,h=!1;if(o.totalWeight<1)r=1-o.totalWeight,l.decompose(i,n,t);else{if(s=1,e=o.totalWeight,r=a.weight/e,r==1)if(o.totalAdditiveWeight)h=!0;else return a.currentValue;a.currentValue.decompose(i,n,t)}if(!h){i.scaleInPlace(r),t.scaleInPlace(r),n.scaleInPlace(r);for(let u=s;u<o.animations.length;u++){const c=o.animations[u];if(c.weight===0)continue;r=c.weight/e;const f=T.Vector3[2],_=T.Vector3[3],m=T.Quaternion[1];c.currentValue.decompose(_,m,f),_.scaleAndAddToRef(r,i),m.scaleAndAddToRef(S.Dot(n,m)>0?r:-r,n),f.scaleAndAddToRef(r,t)}n.normalize()}for(let u=0;u<o.additiveAnimations.length;u++){const c=o.additiveAnimations[u];if(c.weight===0)continue;const f=T.Vector3[2],_=T.Vector3[3],m=T.Quaternion[1];c.currentValue.decompose(_,m,f),_.multiplyToRef(i,_),Y.LerpToRef(i,_,c.weight,i),n.multiplyToRef(m,m),S.SlerpToRef(n,m,c.weight,n),f.scaleAndAddToRef(c.weight,t)}const g=a?a._animationState.workValue:T.Matrix[0].clone();return F.ComposeToRef(i,n,t,g),g}function j(o,e){if(o.totalWeight===0&&o.totalAdditiveWeight===0)return e;const t=o.animations[0],i=o.originalValue;let n=e;if(o.totalWeight===0&&o.totalAdditiveWeight>0)n.copyFrom(i);else if(o.animations.length===1){if(S.SlerpToRef(i,t.currentValue,Math.min(1,o.totalWeight),n),o.totalAdditiveWeight===0)return n}else if(o.animations.length>1){let s=1,a,l;if(o.totalWeight<1){const h=1-o.totalWeight;a=[],l=[],a.push(i),l.push(h)}else{if(o.animations.length===2&&(S.SlerpToRef(o.animations[0].currentValue,o.animations[1].currentValue,o.animations[1].weight/o.totalWeight,e),o.totalAdditiveWeight===0))return e;a=[],l=[],s=o.totalWeight}for(let h=0;h<o.animations.length;h++){const g=o.animations[h];a.push(g.currentValue),l.push(g.weight/s)}let r=0;for(let h=0;h<a.length;){if(!h){S.SlerpToRef(a[h],a[h+1],l[h+1]/(l[h]+l[h+1]),e),n=e,r=l[h]+l[h+1],h+=2;continue}r+=l[h],S.SlerpToRef(n,a[h],l[h]/r,n),h++}}for(let s=0;s<o.additiveAnimations.length;s++){const a=o.additiveAnimations[s];a.weight!==0&&(n.multiplyToRef(a.currentValue,T.Quaternion[0]),S.SlerpToRef(n,T.Quaternion[0],a.weight,n))}return n}function Z(o){if(o._registeredForLateAnimationBindings.length){for(let e=0;e<o._registeredForLateAnimationBindings.length;e++){const t=o._registeredForLateAnimationBindings.data[e];for(const i in t._lateAnimationHolders){const n=t._lateAnimationHolders[i],s=n.animations[0],a=n.originalValue;if(a==null)continue;const l=A.AllowMatrixDecomposeForInterpolation&&a.m;let r=t[i];if(l)r=$(n);else if(a.w!==void 0)r=j(n,r||S.Identity());else{let g=0,u=1;const c=s&&s._animationState.loopMode===A.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT;if(n.totalWeight<1)c?r=a.clone?a.clone():a:s&&a.scale?r=a.scale(1-n.totalWeight):s?r=a*(1-n.totalWeight):a.clone?r=a.clone():r=a;else if(s){u=n.totalWeight;const f=s.weight/u;f!==1?s.currentValue.scale?r=s.currentValue.scale(f):r=s.currentValue*f:r=s.currentValue,c&&(r.addToRef?r.addToRef(a,r):r+=a),g=1}for(let f=g;f<n.animations.length;f++){const _=n.animations[f],m=_.weight/u;if(m)_.currentValue.scaleAndAddToRef?_.currentValue.scaleAndAddToRef(m,r):r+=_.currentValue*m;else continue}for(let f=0;f<n.additiveAnimations.length;f++){const _=n.additiveAnimations[f],m=_.weight;if(m)_.currentValue.scaleAndAddToRef?_.currentValue.scaleAndAddToRef(m,r):r+=_.currentValue*m;else continue}}t[i]=r}t._lateAnimationHolders={}}o._registeredForLateAnimationBindings.reset()}}function tt(o,e){e&&(e.prototype.copyAnimationRange=function(t,i,n,s=!1,a=null){this.animations.length===0&&(this.animations.push(new A(this.name,"_matrix",t.animations[0].framePerSecond,A.ANIMATIONTYPE_MATRIX,0)),this.animations[0].setKeys([]));const l=t.animations[0].getRange(i);if(!l)return!1;const r=l.from,h=l.to,g=t.animations[0].getKeys(),u=t.length,c=t.getParent(),f=this.getParent(),_=s&&c&&u&&this.length&&u!==this.length,m=_&&f&&c?f.length/c.length:1,b=s&&!f&&a&&(a.x!==1||a.y!==1||a.z!==1),V=this.animations[0].getKeys();let O,d,p;for(let y=0,L=g.length;y<L;y++)O=g[y],O.frame>=r&&O.frame<=h&&(s?(p=O.value.clone(),_?(d=p.getTranslation(),p.setTranslation(d.scaleInPlace(m))):b&&a?(d=p.getTranslation(),p.setTranslation(d.multiplyInPlace(a))):p=O.value):p=O.value,V.push({frame:O.frame+n,value:p}));return this.animations[0].createRange(i,r+n,h+n),!0}),o&&(o.prototype._animate=function(t){if(!this.animationsEnabled)return;const i=U.Now;if(!this._animationTimeLast){if(this._pendingData.length>0)return;this._animationTimeLast=i}this.deltaTime=t!==void 0?t:this.useConstantAnimationDeltaTime?16:(i-this._animationTimeLast)*this.animationTimeScale,this._animationTimeLast=i;const n=this._activeAnimatables;if(n.length===0)return;this._animationTime+=this.deltaTime;const s=this._animationTime;for(let a=0;a<n.length;a++){const l=n[a];!l._animate(s)&&l.disposeOnEnd&&a--}Z(this)},o.prototype.sortActiveAnimatables=function(){this._activeAnimatables.sort((t,i)=>t.playOrder-i.playOrder)},o.prototype.beginWeightedAnimation=function(t,i,n,s=1,a,l=1,r,h,g,u,c=!1){const f=this.beginAnimation(t,i,n,a,l,r,h,!1,g,u,c);return f.weight=s,f},o.prototype.beginAnimation=function(t,i,n,s,a=1,l,r,h=!0,g,u,c=!1){if(a<0){const _=i;i=n,n=_,a=-a}i>n&&(a=-a),h&&this.stopAnimation(t,void 0,g),r||(r=new I(this,t,i,n,s,a,l,void 0,u,c));const f=g?g(t):!0;if(t.animations&&f&&r.appendAnimations(t,t.animations),t.getAnimatables){const _=t.getAnimatables();for(let m=0;m<_.length;m++)this.beginAnimation(_[m],i,n,s,a,l,r,h,g,u)}return r.reset(),r},o.prototype.beginHierarchyAnimation=function(t,i,n,s,a,l=1,r,h,g=!0,u,c,f=!1){const _=t.getDescendants(i),m=[];m.push(this.beginAnimation(t,n,s,a,l,r,h,g,u,void 0,f));for(const b of _)m.push(this.beginAnimation(b,n,s,a,l,r,h,g,u,void 0,f));return m},o.prototype.beginDirectAnimation=function(t,i,n,s,a,l=1,r,h,g=!1){if(l<0){const c=n;n=s,s=c,l=-l}return n>s&&(l=-l),new I(this,t,n,s,a,l,r,i,h,g)},o.prototype.beginDirectHierarchyAnimation=function(t,i,n,s,a,l,r,h,g,u=!1){const c=t.getDescendants(i),f=[];f.push(this.beginDirectAnimation(t,n,s,a,l,r,h,g,u));for(const _ of c)f.push(this.beginDirectAnimation(_,n,s,a,l,r,h,g,u));return f},o.prototype.getAnimatableByTarget=function(t){for(let i=0;i<this._activeAnimatables.length;i++)if(this._activeAnimatables[i].target===t)return this._activeAnimatables[i];return null},o.prototype.getAllAnimatablesByTarget=function(t){const i=[];for(let n=0;n<this._activeAnimatables.length;n++)this._activeAnimatables[n].target===t&&i.push(this._activeAnimatables[n]);return i},o.prototype.stopAnimation=function(t,i,n){const s=this.getAllAnimatablesByTarget(t);for(const a of s)a.stop(i,n)},o.prototype.stopAllAnimations=function(){if(this._activeAnimatables){for(let t=0;t<this._activeAnimatables.length;t++)this._activeAnimatables[t].stop(void 0,void 0,!0);this._activeAnimatables.length=0}for(const t of this.animationGroups)t.stop()})}let x=!1;function et(){x||(x=!0,tt(H,z))}class it{getClassName(){return"TargetedAnimation"}constructor(e){this.parent=e,this.uniqueId=q.UniqueId}serialize(){const e={};return e.animation=this.animation.serialize(),e.targetId=this.target.id,e.targetUniqueId=this.target.uniqueId,e}}class v{get mask(){return this._mask}set mask(e){this._mask!==e&&(this._mask=e,this.syncWithMask(!0))}syncWithMask(e=!1){if(!this.mask&&!e){this._numActiveAnimatables=this._targetedAnimations.length;return}this._numActiveAnimatables=0;for(let t=0;t<this._animatables.length;++t){const i=this._animatables[t];!this.mask||this.mask.disabled||this.mask.retainsTarget(i.target.name)?(this._numActiveAnimatables++,i.paused&&i.restart()):i.paused||i.pause()}}removeUnmaskedAnimations(){if(!(!this.mask||this.mask.disabled)){for(let e=0;e<this._animatables.length;++e){const t=this._animatables[e];this.mask.retainsTarget(t.target.name)||(t.stop(),this._animatables.splice(e,1),--e)}for(let e=0;e<this._targetedAnimations.length;e++){const t=this._targetedAnimations[e];this.mask.retainsTarget(t.target.name)||(this._targetedAnimations.splice(e,1),--e)}}}get from(){return this._from}set from(e){if(this._from!==e){this._from=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.fromFrame=this._from}}}get to(){return this._to}set to(e){if(this._to!==e){this._to=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.toFrame=this._to}}}get isStarted(){return this._isStarted}get isPlaying(){return this._isStarted&&!this._isPaused}get speedRatio(){return this._speedRatio}set speedRatio(e){if(this._speedRatio!==e){this._speedRatio=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.speedRatio=this._speedRatio}}}get loopAnimation(){return this._loopAnimation}set loopAnimation(e){if(this._loopAnimation!==e){this._loopAnimation=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.loopAnimation=this._loopAnimation}}}get isAdditive(){return this._isAdditive}set isAdditive(e){if(this._isAdditive!==e){this._isAdditive=e;for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.isAdditive=this._isAdditive}}}get weight(){return this._weight}set weight(e){this._weight!==e&&(this._weight=e,this.setWeightForAllAnimatables(this._weight))}get targetedAnimations(){return this._targetedAnimations}get animatables(){return this._animatables}get children(){return this._targetedAnimations}get playOrder(){return this._playOrder}set playOrder(e){if(this._playOrder!==e&&(this._playOrder=e,this._animatables.length>0)){for(let t=0;t<this._animatables.length;t++)this._animatables[t].playOrder=this._playOrder;this._scene.sortActiveAnimatables()}}get enableBlending(){return this._enableBlending}set enableBlending(e){if(this._enableBlending!==e&&(this._enableBlending=e,e!==null))for(let t=0;t<this._targetedAnimations.length;++t)this._targetedAnimations[t].animation.enableBlending=e}get blendingSpeed(){return this._blendingSpeed}set blendingSpeed(e){if(this._blendingSpeed!==e&&(this._blendingSpeed=e,e!==null))for(let t=0;t<this._targetedAnimations.length;++t)this._targetedAnimations[t].animation.blendingSpeed=e}getLength(e,t){e=e??this._from,t=t??this._to;const i=this.targetedAnimations[0].animation.framePerSecond*this._speedRatio;return(t-e)/i}getScene(){return this._scene}constructor(e,t=null,i=-1,n=0){this.name=e,this._targetedAnimations=new Array,this._animatables=new Array,this._from=Number.MAX_VALUE,this._to=-Number.MAX_VALUE,this._speedRatio=1,this._loopAnimation=!1,this._isAdditive=!1,this._weight=-1,this._playOrder=0,this._enableBlending=null,this._blendingSpeed=null,this._numActiveAnimatables=0,this._shouldStart=!0,this._parentContainer=null,this.onAnimationEndObservable=new P,this.onAnimationLoopObservable=new P,this.onAnimationGroupLoopObservable=new P,this.onAnimationGroupEndObservable=new P,this.onAnimationGroupPauseObservable=new P,this.onAnimationGroupPlayObservable=new P,this.metadata=null,this._mask=null,this._animationLoopFlags=[],this._scene=t||G.LastCreatedScene,this._weight=i,this._playOrder=n,this.uniqueId=this._scene.getUniqueId(),et(),this._scene.addAnimationGroup(this)}addTargetedAnimation(e,t){const i=new it(this);i.animation=e,i.target=t;const n=e.getKeys();return this._from>n[0].frame&&(this._from=n[0].frame),this._to<n[n.length-1].frame&&(this._to=n[n.length-1].frame),this._enableBlending!==null&&(e.enableBlending=this._enableBlending),this._blendingSpeed!==null&&(e.blendingSpeed=this._blendingSpeed),this._targetedAnimations.push(i),this._shouldStart=!0,i}removeTargetedAnimation(e){for(let t=this._targetedAnimations.length-1;t>-1;t--)this._targetedAnimations[t].animation===e&&this._targetedAnimations.splice(t,1)}normalize(e=null,t=null){e==null&&(e=this._from),t==null&&(t=this._to);for(let i=0;i<this._targetedAnimations.length;i++){const s=this._targetedAnimations[i].animation.getKeys(),a=s[0],l=s[s.length-1];if(a.frame>e){const r={frame:e,value:a.value,inTangent:a.inTangent,outTangent:a.outTangent,interpolation:a.interpolation};s.splice(0,0,r)}if(l.frame<t){const r={frame:t,value:l.value,inTangent:l.inTangent,outTangent:l.outTangent,interpolation:l.interpolation};s.push(r)}}return this._from=e,this._to=t,this}_processLoop(e,t,i){e.onAnimationLoop=()=>{this.onAnimationLoopObservable.notifyObservers(t),!this._animationLoopFlags[i]&&(this._animationLoopFlags[i]=!0,this._animationLoopCount++,this._animationLoopCount===this._numActiveAnimatables&&(this.onAnimationGroupLoopObservable.notifyObservers(this),this._animationLoopCount=0,this._animationLoopFlags.length=0))}}start(e=!1,t=1,i,n,s){if(this._isStarted||this._targetedAnimations.length===0)return this;this._loopAnimation=e,this._shouldStart=!1,this._animationLoopCount=0,this._animationLoopFlags.length=0;for(let a=0;a<this._targetedAnimations.length;a++){const l=this._targetedAnimations[a],r=this._scene.beginDirectAnimation(l.target,[l.animation],i!==void 0?i:this._from,n!==void 0?n:this._to,e,t,void 0,void 0,s!==void 0?s:this._isAdditive);r.weight=this._weight,r.playOrder=this._playOrder,r.onAnimationEnd=()=>{this.onAnimationEndObservable.notifyObservers(l),this._checkAnimationGroupEnded(r)},this._processLoop(r,l,a),this._animatables.push(r)}return this.syncWithMask(),this._scene.sortActiveAnimatables(),this._speedRatio=t,this._isStarted=!0,this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}pause(){if(!this._isStarted)return this;this._isPaused=!0;for(let e=0;e<this._animatables.length;e++)this._animatables[e].pause();return this.onAnimationGroupPauseObservable.notifyObservers(this),this}play(e){return this.isStarted&&this._animatables.length&&!this._shouldStart?(e!==void 0&&(this.loopAnimation=e),this.restart()):(this.stop(),this.start(e,this._speedRatio)),this}reset(){if(!this._isStarted)return this.play(),this.goToFrame(0),this.stop(!0),this;for(let e=0;e<this._animatables.length;e++)this._animatables[e].reset();return this}restart(){if(!this._isStarted)return this;for(let e=0;e<this._animatables.length;e++)this._animatables[e].restart();return this.syncWithMask(),this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}stop(e=!1){if(!this._isStarted)return this;const t=this._animatables.slice();for(let n=0;n<t.length;n++)t[n].stop(void 0,void 0,!0,e);let i=0;for(let n=0;n<this._scene._activeAnimatables.length;n++){const s=this._scene._activeAnimatables[n];s._runtimeAnimations.length>0?this._scene._activeAnimatables[i++]=s:e&&this._checkAnimationGroupEnded(s,e)}return this._scene._activeAnimatables.length=i,this._isStarted=!1,this}setWeightForAllAnimatables(e){for(let t=0;t<this._animatables.length;t++){const i=this._animatables[t];i.weight=e}return this}syncAllAnimationsWith(e){for(let t=0;t<this._animatables.length;t++)this._animatables[t].syncWith(e);return this}goToFrame(e,t=!1){if(!this._isStarted)return this;for(let i=0;i<this._animatables.length;i++)this._animatables[i].goToFrame(e,t);return this}getCurrentFrame(){return this.animatables[0]?.masterFrame||0}dispose(){if(this.isStarted&&this.stop(),this._targetedAnimations.length=0,this._animatables.length=0,this._scene.removeAnimationGroup(this),this._parentContainer){const e=this._parentContainer.animationGroups.indexOf(this);e>-1&&this._parentContainer.animationGroups.splice(e,1),this._parentContainer=null}this.onAnimationEndObservable.clear(),this.onAnimationGroupEndObservable.clear(),this.onAnimationGroupPauseObservable.clear(),this.onAnimationGroupPlayObservable.clear(),this.onAnimationLoopObservable.clear(),this.onAnimationGroupLoopObservable.clear()}_checkAnimationGroupEnded(e,t=!1){const i=this._animatables.indexOf(e);i>-1&&this._animatables.splice(i,1),this._animatables.length===this._targetedAnimations.length-this._numActiveAnimatables&&(this._isStarted=!1,t||this.onAnimationGroupEndObservable.notifyObservers(this),this._animatables.length=0)}clone(e,t,i=!1,n=!1){const s=new v(e||this.name,this._scene,this._weight,this._playOrder);s._from=this.from,s._to=this.to,s._speedRatio=this.speedRatio,s._loopAnimation=this.loopAnimation,s._isAdditive=this.isAdditive,s._enableBlending=this.enableBlending,s._blendingSpeed=this.blendingSpeed,s.metadata=this.metadata,s.mask=this.mask;for(const a of this._targetedAnimations)s.addTargetedAnimation(i?a.animation.clone(n):a.animation,t?t(a.target):a.target);return s}serialize(){const e={};e.name=this.name,e.from=this.from,e.to=this.to,e.speedRatio=this.speedRatio,e.loopAnimation=this.loopAnimation,e.isAdditive=this.isAdditive,e.weight=this.weight,e.playOrder=this.playOrder,e.enableBlending=this.enableBlending,e.blendingSpeed=this.blendingSpeed,e.targetedAnimations=[];for(let t=0;t<this.targetedAnimations.length;t++){const i=this.targetedAnimations[t];e.targetedAnimations[t]=i.serialize()}return w&&w.HasTags(this)&&(e.tags=w.GetTags(this)),this.metadata&&(e.metadata=this.metadata),e}getClassName(){return"AnimationGroup"}toString(e){let t="Name: "+this.name;return t+=", type: "+this.getClassName(),e&&(t+=", from: "+this._from,t+=", to: "+this._to,t+=", isStarted: "+this._isStarted,t+=", speedRatio: "+this._speedRatio,t+=", targetedAnimations length: "+this._targetedAnimations.length,t+=", animatables length: "+this._animatables.length),t}}function nt(o,e=!0,t=!1,i){if(o.length===0)return null;i=i??o[0].weight;let n=Number.MAX_VALUE,s=-Number.MAX_VALUE;if(t)for(const l of o)l.from<n&&(n=l.from),l.to>s&&(s=l.to);const a=new v(o[0].name+"_merged",o[0].getScene(),i);for(const l of o){t&&l.normalize(n,s);for(const r of l.targetedAnimations)a.addTargetedAnimation(r.animation,r.target);e&&l.dispose()}return a}function at(o,e,t){const i=new v(o.name,e,o.weight,o.playOrder),n=i;for(let s=0;s<o.targetedAnimations.length;s++){const a=o.targetedAnimations[s],l=J(a.animation),r=t?t(a):a.animation.property==="influence"?e.getMorphTargetById(a.targetId):e.getNodeById(a.targetId);r&&i.addTargetedAnimation(l,r)}return w&&w.AddTagsTo(i,o.tags),o.from!==null&&o.to!==null&&i.normalize(o.from,o.to),o.speedRatio!==void 0&&(n._speedRatio=o.speedRatio),o.loopAnimation!==void 0&&(n._loopAnimation=o.loopAnimation),o.isAdditive!==void 0&&(n._isAdditive=o.isAdditive),o.weight!==void 0&&(n._weight=o.weight),o.playOrder!==void 0&&(n._playOrder=o.playOrder),o.enableBlending!==void 0&&(n._enableBlending=o.enableBlending),o.blendingSpeed!==void 0&&(n._blendingSpeed=o.blendingSpeed),o.metadata!==void 0&&(i.metadata=o.metadata),i}function st(o,e,t,i=!1,n){let s;typeof e=="object"?s=e:s={referenceFrame:e,range:t,cloneOriginalAnimationGroup:i,clonedAnimationName:n};let a=o;s.cloneOriginalAnimationGroup&&(a=o.clone(s.clonedAnimationGroupName||a.name));const l=a.targetedAnimations;for(let r=0;r<l.length;r++){const h=l[r];h.animation=X(h.animation,s)}if(a.isAdditive=!0,s.clipKeys){let r=Number.MAX_VALUE,h=-Number.MAX_VALUE;const g=a.targetedAnimations;for(let c=0;c<g.length;c++){const m=g[c].animation.getKeys();r>m[0].frame&&(r=m[0].frame),h<m[m.length-1].frame&&(h=m[m.length-1].frame)}const u=a;u._from=r,u._to=h}return a}function ot(o,e,t,i,n){const s=o.clone(i||o.name);return E(s,e,t,n)}function E(o,e,t,i){return R(o,e,t,i,!1)}function rt(o,e,t,i,n){const s=o.clone(i||o.name);return N(s,e,t,n)}function N(o,e,t,i){return R(o,e,t,i,!0)}function R(o,e,t,i,n=!1){let s=Number.MAX_VALUE,a=-Number.MAX_VALUE;const l=o.targetedAnimations;for(let h=0;h<l.length;h++){const g=l[h],u=i?g.animation:g.animation.clone();n&&(u.createKeyForFrame(e),u.createKeyForFrame(t));const c=u.getKeys(),f=[];let _=Number.MAX_VALUE;for(let m=0;m<c.length;m++){const b=c[m];if(!n&&m>=e&&m<=t||n&&b.frame>=e&&b.frame<=t){const V={frame:b.frame,value:b.value.clone?b.value.clone():b.value,inTangent:b.inTangent,outTangent:b.outTangent,interpolation:b.interpolation,lockedTangent:b.lockedTangent};_===Number.MAX_VALUE&&(_=V.frame),V.frame-=_,f.push(V)}}if(f.length===0){l.splice(h,1),h--;continue}s>f[0].frame&&(s=f[0].frame),a<f[f.length-1].frame&&(a=f[f.length-1].frame),u.setKeys(f,!0),g.animation=u}const r=o;return r._from=s,r._to=a,o}let M=!1;function lt(){M||(M=!0,v.MergeAnimationGroups=nt,v.Parse=at,v.MakeAnimationAdditive=st,v.ClipKeys=ot,v.ClipKeysInPlace=E,v.ClipFrames=rt,v.ClipFramesInPlace=N,v.ClipInPlace=R)}lt();export{v as AnimationGroup,rt as AnimationGroupClipFrames,N as AnimationGroupClipFramesInPlace,R as AnimationGroupClipInPlace,ot as AnimationGroupClipKeys,E as AnimationGroupClipKeysInPlace,st as AnimationGroupMakeAnimationAdditive,nt as AnimationGroupMergeAnimationGroups,at as AnimationGroupParse,lt as RegisterAnimationGroup,it as TargetedAnimation};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{S as e}from"./index-
|
|
1
|
+
import{S as e}from"./index-CxvyL8J4.js";const t="bonesDeclaration",u=`#if NUM_BONE_INFLUENCERS>0
|
|
2
2
|
#ifndef USE_VERTEX_PULLING
|
|
3
3
|
attribute matricesIndices : vec4f;attribute matricesWeights : vec4f;
|
|
4
4
|
#if NUM_BONE_INFLUENCERS>4
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{au as F,av as U,L as D,aw as P}from"./index-
|
|
1
|
+
import{au as F,av as U,L as D,aw as P}from"./index-CxvyL8J4.js";function R(){const e={cTFETC1:0,cTFETC2:1,cTFBC1:2,cTFBC3:3,cTFBC7:6,cTFPVRTC1_4_RGB:8,cTFPVRTC1_4_RGBA:9,cTFASTC_4x4:10,cTFRGB565:14};let n=null;onmessage=s=>{if(s.data.action==="init"){if(s.data.url)try{importScripts(s.data.url)}catch(o){postMessage({action:"error",error:o})}n||(n=BASIS({wasmBinary:s.data.wasmBinary})),n!==null&&n.then(o=>{BASIS=o,o.initializeBasis(),postMessage({action:"init"})})}else if(s.data.action==="transcode"){const o=s.data.config,a=s.data.imageData,d=new BASIS.BasisFile(a),r=l(d);let f=s.data.ignoreSupportedFormats?null:t(s.data.config,r),p=!1;f===null&&(p=!0,f=r.hasAlpha?e.cTFBC3:e.cTFBC1);let g=!0;d.startTranscoding()||(g=!1);const T=[];for(let m=0;m<r.images.length&&g;m++){const u=r.images[m];if(o.loadSingleImage===void 0||o.loadSingleImage===m){let b=u.levels.length;o.loadMipmapLevels===!1&&(b=1);for(let C=0;C<b;C++){const w=u.levels[C],B=i(d,m,C,f,p);if(!B){g=!1;break}w.transcodedPixels=B,T.push(w.transcodedPixels.buffer)}}}d.close(),d.delete(),p&&(f=-1),g?postMessage({action:"transcode",success:g,id:s.data.id,fileInfo:r,format:f},T):postMessage({action:"transcode",success:g,id:s.data.id})}};function t(s,o){let a=null;return s.supportedCompressionFormats&&(s.supportedCompressionFormats.astc?a=e.cTFASTC_4x4:s.supportedCompressionFormats.bc7?a=e.cTFBC7:s.supportedCompressionFormats.s3tc?a=o.hasAlpha?e.cTFBC3:e.cTFBC1:s.supportedCompressionFormats.pvrtc?a=o.hasAlpha?e.cTFPVRTC1_4_RGBA:e.cTFPVRTC1_4_RGB:s.supportedCompressionFormats.etc2?a=e.cTFETC2:s.supportedCompressionFormats.etc1?a=e.cTFETC1:a=e.cTFRGB565),a}function l(s){const o=s.getHasAlpha(),a=s.getNumImages(),d=[];for(let f=0;f<a;f++){const p={levels:[]},g=s.getNumLevels(f);for(let T=0;T<g;T++){const m={width:s.getImageWidth(f,T),height:s.getImageHeight(f,T)};p.levels.push(m)}d.push(p)}return{hasAlpha:o,images:d}}function i(s,o,a,d,r){const f=s.getImageTranscodedSizeInBytes(o,a,d);let p=new Uint8Array(f);if(!s.transcodeImage(p,o,a,d,1,0))return null;if(r){const g=s.getImageWidth(o,a)+3&-4,T=s.getImageHeight(o,a)+3&-4;p=c(p,0,g,T)}return p}function c(s,o,a,d){const r=new Uint16Array(4),f=new Uint16Array(a*d),p=a/4,g=d/4;for(let T=0;T<g;T++)for(let m=0;m<p;m++){const u=o+8*(T*p+m);r[0]=s[u]|s[u+1]<<8,r[1]=s[u+2]|s[u+3]<<8,r[2]=(2*(r[0]&31)+1*(r[1]&31))/3|(2*(r[0]&2016)+1*(r[1]&2016))/3&2016|(2*(r[0]&63488)+1*(r[1]&63488))/3&63488,r[3]=(2*(r[1]&31)+1*(r[0]&31))/3|(2*(r[1]&2016)+1*(r[0]&2016))/3&2016|(2*(r[1]&63488)+1*(r[0]&63488))/3&63488;for(let b=0;b<4;b++){const C=s[u+4+b];let w=(T*4+b)*a+m*4;f[w++]=r[C&3],f[w++]=r[C>>2&3],f[w++]=r[C>>4&3],f[w]=r[C>>6&3]}}return f}}async function W(e,n,t){return await new Promise((l,i)=>{const c=s=>{s.data.action==="init"?(e.removeEventListener("message",c),l(e)):s.data.action==="error"&&i(s.data.error||"error initializing worker")};e.addEventListener("message",c),e.postMessage({action:"init",url:t?F.GetBabylonScriptURL(t):void 0,wasmBinary:n},[n])})}var h;(function(e){e[e.cTFETC1=0]="cTFETC1",e[e.cTFETC2=1]="cTFETC2",e[e.cTFBC1=2]="cTFBC1",e[e.cTFBC3=3]="cTFBC3",e[e.cTFBC4=4]="cTFBC4",e[e.cTFBC5=5]="cTFBC5",e[e.cTFBC7=6]="cTFBC7",e[e.cTFPVRTC1_4_RGB=8]="cTFPVRTC1_4_RGB",e[e.cTFPVRTC1_4_RGBA=9]="cTFPVRTC1_4_RGBA",e[e.cTFASTC_4x4=10]="cTFASTC_4x4",e[e.cTFATC_RGB=11]="cTFATC_RGB",e[e.cTFATC_RGBA_INTERPOLATED_ALPHA=12]="cTFATC_RGBA_INTERPOLATED_ALPHA",e[e.cTFRGBA32=13]="cTFRGBA32",e[e.cTFRGB565=14]="cTFRGB565",e[e.cTFBGR565=15]="cTFBGR565",e[e.cTFRGBA4444=16]="cTFRGBA4444",e[e.cTFFXT1_RGB=17]="cTFFXT1_RGB",e[e.cTFPVRTC2_4_RGB=18]="cTFPVRTC2_4_RGB",e[e.cTFPVRTC2_4_RGBA=19]="cTFPVRTC2_4_RGBA",e[e.cTFETC2_EAC_R11=20]="cTFETC2_EAC_R11",e[e.cTFETC2_EAC_RG11=21]="cTFETC2_EAC_RG11"})(h||(h={}));const L={JSModuleURL:`${F._DefaultCdnUrl}/basisTranscoder/1/basis_transcoder.js`,WasmModuleURL:`${F._DefaultCdnUrl}/basisTranscoder/1/basis_transcoder.wasm`},V=(e,n)=>{let t;switch(e){case h.cTFETC1:t=36196;break;case h.cTFBC1:t=33776;break;case h.cTFBC4:t=33779;break;case h.cTFASTC_4x4:t=37808;break;case h.cTFETC2:t=37496;break;case h.cTFBC7:t=36492;break}if(t===void 0)throw"The chosen Basis transcoder format is not currently supported";return t};let G=null,y=null,k=0;const H=!1,x=async()=>(G||(G=new Promise((e,n)=>{y?e(y):F.LoadFileAsync(F.GetBabylonScriptURL(L.WasmModuleURL)).then(t=>{if(typeof URL!="function")return n("Basis transcoder requires an environment with a URL constructor");const l=URL.createObjectURL(new Blob([`(${R})()`],{type:"application/javascript"}));y=new Worker(l),W(y,t,L.JSModuleURL).then(e,n)}).catch(n)})),await G),_=async(e,n)=>{const t=e instanceof ArrayBuffer?new Uint8Array(e):e;return await new Promise((l,i)=>{x().then(()=>{const c=k++,s=a=>{a.data.action==="transcode"&&a.data.id===c&&(y.removeEventListener("message",s),a.data.success?l(a.data):i("Transcode is not supported on this device"))};y.addEventListener("message",s);const o=new Uint8Array(t.byteLength);o.set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),y.postMessage({action:"transcode",id:c,imageData:o,config:n,ignoreSupportedFormats:H},[o.buffer])},c=>{i(c)})})},E=(e,n)=>{let t=n._gl?.TEXTURE_2D;e.isCube&&(t=n._gl?.TEXTURE_CUBE_MAP),n._bindTextureDirectly(t,e,!0)},v=(e,n)=>{const t=e.getEngine();for(let l=0;l<n.fileInfo.images.length;l++){const i=n.fileInfo.images[l].levels[0];if(e._invertVScale=e.invertY,n.format===-1||n.format===h.cTFRGB565)if(e.type=10,e.format=4,t._features.basisNeedsPOT&&(Math.log2(i.width)%1!==0||Math.log2(i.height)%1!==0)){const c=new U(t,2);e._invertVScale=e.invertY,c.type=10,c.format=4,c.width=i.width+3&-4,c.height=i.height+3&-4,E(c,t),t._uploadDataToTextureDirectly(c,new Uint16Array(i.transcodedPixels.buffer),l,0,4,!0),t._rescaleTexture(c,e,t.scenes[0],t._getInternalFormat(4),()=>{t._releaseTexture(c),E(e,t)})}else e._invertVScale=!e.invertY,e.width=i.width+3&-4,e.height=i.height+3&-4,e.samplingMode=2,E(e,t),t._uploadDataToTextureDirectly(e,new Uint16Array(i.transcodedPixels.buffer),l,0,4,!0);else{e.width=i.width,e.height=i.height,e.generateMipMaps=n.fileInfo.images[l].levels.length>1;const c=N.GetInternalFormatFromBasisFormat(n.format,t);e.format=c,E(e,t);const s=n.fileInfo.images[l].levels;for(let o=0;o<s.length;o++){const a=s[o];t._uploadCompressedDataToTextureDirectly(e,c,a.width,a.height,a.transcodedPixels,l,o)}t._features.basisNeedsPOT&&(Math.log2(e.width)%1!==0||Math.log2(e.height)%1!==0)&&(D.Warn("Loaded .basis texture width and height are not a power of two. Texture wrapping will be set to Texture.CLAMP_ADDRESSMODE as other modes are not supported with non power of two dimensions in webGL 1."),e._cachedWrapU=P.CLAMP_ADDRESSMODE,e._cachedWrapV=P.CLAMP_ADDRESSMODE)}}},N={JSModuleURL:L.JSModuleURL,WasmModuleURL:L.WasmModuleURL,GetInternalFormatFromBasisFormat:V,TranscodeAsync:_,LoadTextureFromTranscodeResult:v};class X{constructor(){this.supportCascades=!1}loadCubeData(n,t,l,i,c){if(Array.isArray(n))return;const s=t.getEngine().getCaps(),o={supportedCompressionFormats:{etc1:!!s.etc1,s3tc:!!s.s3tc,pvrtc:!!s.pvrtc,etc2:!!s.etc2,astc:!!s.astc,bc7:!!s.bptc}};_(n,o).then(a=>{const d=a.fileInfo.images[0].levels.length>1&&t.generateMipMaps;v(t,a),t.getEngine()._setCubeMapTextureParams(t,d),t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),i&&i()}).catch(a=>{F.Warn("Failed to transcode Basis file, transcoding may not be supported on this device"),t.isReady=!0,c&&c(a)})}loadData(n,t,l){const i=t.getEngine().getCaps(),c={supportedCompressionFormats:{etc1:!!i.etc1,s3tc:!!i.s3tc,pvrtc:!!i.pvrtc,etc2:!!i.etc2,astc:!!i.astc,bc7:!!i.bptc}};_(n,c).then(s=>{const o=s.fileInfo.images[0].levels[0],a=s.fileInfo.images[0].levels.length>1&&t.generateMipMaps;l(o.width,o.height,a,s.format!==-1,()=>{v(t,s)})}).catch(s=>{F.Warn("Failed to transcode Basis file, transcoding may not be supported on this device"),F.Warn(`Failed to transcode Basis file: ${s}`),l(0,0,!1,!1,()=>{},!0)})}}export{X as _BasisTextureLoader};
|