python-cad-tools 0.1.10__tar.gz → 0.1.11__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.10 → python_cad_tools-0.1.11}/.github/workflows/release.yml +9 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/CHANGELOG.md +22 -0
- {python_cad_tools-0.1.10/src/python_cad_tools.egg-info → python_cad_tools-0.1.11}/PKG-INFO +1 -1
- python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/asset-manifest.json +1 -0
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/animationGroup-BFpCrP0o.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/animationGroup-d5_0GqzW.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-DKIsxzCh.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-BTnhNnCG.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/basisTextureLoader-BWlCMZKU.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/basisTextureLoader-B1WedbgE.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/brdfTextureTools-CpZi6QbK.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/brdfTextureTools-DIdTXZSR.js +2 -2
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/bumpFragment-ChvT23CB.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/bumpFragment-C_S7LReC.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/bumpVertex-nEs2VPot.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/bumpVertex-9p8w1w7z.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-BBNawFh8.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-B8rpdm3U.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-C77PAFKo.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-A-1cS0Wr.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-CBvbot7K.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-B34pEy_z.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-BCMcxsAF.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-BAw8ctMB.js +1 -1
- python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/dds-BDxArwXs.js +1 -0
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/dds.pure-OdUDHE0G.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/dds.pure-D_Zw5OEt.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-1l_GkUW1.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-DeQLZozV.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/default.fragment-DJkWvM0e.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/default.fragment-BI3GAR2C.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/default.vertex-CMrXZjYP.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/default.vertex-CQ4MILUZ.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-Da9s8wLf.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-DOBRS3iS.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/dumpTools-BfBU44JR.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/dumpTools-DCMMRWtL.js +2 -2
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/envTextureLoader-CUgicy-i.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/envTextureLoader-C-7LpDe_.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/exrTextureLoader-4Fy-_N6F.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/exrTextureLoader-oNqXrLmH.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-UxcpUOb4.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-DUMH2798.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-8doxumAC.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-DUvs7iqs.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-q8W2FV-w.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-B-qeUHG6.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-3ZEqX4ZJ.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-Cjm4_L1J.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-D3ayisoN.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-CXnNy9QR.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-BR9ohqut.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-DLUVB1dZ.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-DKeQ8sZI.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-BkfdjQtr.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-DzimG9bV.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-DwzbjNTQ.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-BDp2kDKe.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-CzFaSgik.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-DUy-bdD8.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-DsMUDoGH.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-CZsZDCqO.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-CVWywmBY.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-D4jP5Zis.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-BNIgu4QC.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-iDbQUT2i.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-DuQCYIgK.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-fNm-N_rD.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-DxCqjQc8.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-a2hfmRfA.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-BOncXvGP.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-B-ua6-rc.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-43eNp_3W.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-CFvv9NT9.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-CYRuaSbJ.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-QrVeUF7s.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-Du-7uIwS.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-BL-amui0.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-C6lQQb9c.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-DGNR6aQc.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-Ba-WebLx.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-CGGzIxtA.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-CC4ZykmE.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-BbPKAgEi.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-Cc8odCYm.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-5JE9USOH.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-Bs8eI-tc.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-DIu658Lh.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-BR2ioMLJ.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-DTCqvYE6.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-DD4Eo4N8.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-RW4Yofih.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-CiXY_22u.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-aiF5BOL9.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-BFuYrykd.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-D15fpxe7.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-yylHk0Tj.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-CwR7xfkj.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-Yoy3NMR4.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-eTZrs7GE.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-DP0lG6uk.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-DPZf_95j.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-Dp46lAXL.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-DiAJzLOE.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-DAAojSot.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-CADmRrDd.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-BzyaFJtY.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-D8B4F2Z5.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-4qIsPViO.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-Xfl-dDJk.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-BZG5ehwx.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-Cm2zaYXU.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-rpKm7KQS.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-C_BP5Hf5.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-DZ0cYho3.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-C05IFCUh.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-CiAmYMbH.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-DlWMU189.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-CbJDlFUY.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-qSe8QChR.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-DICrYBP4.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-DbzURNpp.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-ftOIDo5d.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-DxJxxG3S.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-DTChczhf.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-BPZd8mbK.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-DdupWV9J.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-C3c7bzsQ.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-DBsgO-6v.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-DJvpN7CX.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-DWcr1ULl.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-CNunrdNk.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-CVKDMyoo.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-ByRpWDZ5.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-BXVH0aEG.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-D5G_NhMs.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-LNU38ZaS.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-pWyOiXvU.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-L9Wzp4sm.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-BIgzBvv9.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-Cgf9rHw2.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-DaEitrdC.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-0bOFbyCB.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-Bwc4ooou.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-CJQEfL96.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-BtmDICq5.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-Dr4yXdtL.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-BKnkEvuu.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-DpKjQPwo.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-CawN6pQ_.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-CTK4Ndci.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-zXyWDNoE.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-CzJbobbg.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-C4QwZQD_.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-DBQ1n5eJ.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-C2DrAckq.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-oBhLC7Vj.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-B2_GCxnR.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-DXlS3umF.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-CoxLB_JO.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-DhrCI14Z.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-Dcl_TlE4.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-DdNE9BcN.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-VH0XyIek.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-Be7qTZ0l.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-BMVB2YpZ.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-Bx8fCC87.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-B3LlN1_P.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-Bmh5show.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-DjPcD-uk.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-BP87cysh.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-B3BPhieu.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-DPK4HFJ5.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-DB-YMsd0.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-9n5l3RYF.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-rkBjhxoU.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-BkqUQ3IX.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-zgP4JU9F.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-CzYmr0Rg.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-BFCejhG2.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-C72DA8Ot.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-B5sXEjm6.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-B57atF6V.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-GWfI6VCP.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-BwO8ctcl.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-C3x4cBoo.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-B5xQ7raL.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-DHmbwNwJ.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-BSQ0Jp6s.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-D2S-o8ta.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-DkjMKncY.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-BIaIe1G3.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-DiDLbXDS.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/fogFragment-lpu2fSrY.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/fogFragment-QU9YOYuH.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-C3mITXca.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-CBvJqSQF.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-r2QTVyrX.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-EGwqbpHv.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BRSDLsfp.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-CG3O4l2t.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BTuradYo.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-CYV0OcvY.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-s39KAVkx.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-DU77eH5y.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-WPP1vXOl.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-s8IsAoDR.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-egtcopGg.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-Bt1AWZNn.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-BMmjNFoS.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-luoOzTyP.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-6Odgg2pj.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-m9aQdgcg.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-Bo8-VkdD.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-xDMDxXMl.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/geometry.fragment-CuLpqUUk.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/geometry.fragment-C_-6JJr4.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/geometry.fragment-DHXfK03n.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/geometry.fragment-oisMFtj8.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/geometry.vertex-DSbpeedB.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/geometry.vertex-CBkXTBVF.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/geometry.vertex-Bm0A4YY1.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/geometry.vertex-DQDqvDk5.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-Qbdz4gLu.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-QolNMgw6.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-1hOZT_4N.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-DRwn6uC2.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-Cg1UfAtC.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-BPPwu0E9.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-BoiNEY2n.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-ODjisfEL.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-CpWKznSe.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-DB7eIwXj.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-DIzIowqF.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-B2jlXPLE.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/helperFunctions-7oODcxNt.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/helperFunctions-B6Z1LJrO.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/iesTextureLoader-wAQEvbfd.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/iesTextureLoader-8wFKF-ak.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/index-D6uexFRQ.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/index-BnAaL7KS.js +11 -11
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-Bt6sD8qx.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-C0PAazdd.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DGSh46Om.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DmepFK-C.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-BlhNG48F.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-CQTyg7d5.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-C1fudmM_.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-C_mnrqaY.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-BWYB4Ycu.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-DCLBcYIA.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-DFH4bO-3.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-DuoJgAZp.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-DsFCeiiH.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-CIypOERT.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/lightFragment-CHOWnPK9.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/lightFragment-BinX63GB.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-k15gEJ3y.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-D8jcsZiW.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/logDepthVertex-CHajYpMu.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/logDepthVertex-CAoFmcco.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-BGrReuHo.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-oF31v9Zp.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-DJwUrZx2.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-BXrkHWWW.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/oitFragment-BsvP7q4R.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/oitFragment-2x3JPdq6.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-B8VN-IrQ.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-B5ZDpeFy.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-C06kkVuL.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-CpT08ThE.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-DJCYXObK.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-BaGhkjmV.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-A4s3IgoK.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-DAeXubyL.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-Bs5DC-y9.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-BXY_lClt.js +3 -3
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-C_c5atIs.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-MpirTHMd.js +2 -2
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-DaaAXfx7.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-CHHhh58w.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-CYdsV_SL.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-DthxrR9-.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-3JPIOWr0.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration--Zhq0q7d.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-rQewqvT4.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-CXcZlREH.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/packingFunctions-DMIYB28m.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/packingFunctions-Bo_ikKLB.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/packingFunctions-Bn1t67wx.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/packingFunctions-u3uWRkpF.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pass.fragment-DYkGKBSd.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pass.fragment-slK02MnO.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/passCube.fragment-DNC6H8VG.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/passCube.fragment-C13WHRV7.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/passCube.fragment-D3u4_FLI.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/passCube.fragment-DnuA3v4l.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbr.fragment-BiEI1YfJ.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbr.fragment-8v2GDfO1.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbr.vertex-A6knpQsw.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbr.vertex-BuCPFkDX.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-BeK39hzl.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-5nHUuKRr.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbrDebug-mLga6xKt.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbrDebug-C8fLVEpD.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-Db54NySa.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-BM49sbQB.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-Dp6NmN9w.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-B6n6Ic80.js +2 -2
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-CvXJgU4i.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-C0d04FRz.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-BW-aS_Fc.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-CL7R5LTR.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/postprocess.vertex-BIWUhm9k.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/postprocess.vertex-BhCyZbyQ.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/procedural.vertex-WXmVjrA9.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/procedural.vertex-Cb5DsSFx.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/procedural.vertex-DGnTrHzl.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/procedural.vertex-W-IcNTXE.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/reflectionFunction-DrJ5CgYG.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/reflectionFunction-DYrae64q.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-7H1BkSqs.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-CFpIpdxk.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-CTyiKQCb.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-BIBfrJET.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-CoVaziaW.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-yPbrkGKz.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-Ck43xulU.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-D5YHSknt.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-Bspm0dPH.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-GSzJSZKX.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-CD-iXyeA.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-NwUMt_sy.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-DrtUlmLD.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-Z9HWdnv1.js +1 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/vertexColorMixing-7aNKbB6k.js → python_cad_tools-0.1.11/src/python_cad_tools/_viewer_static/assets/vertexColorMixing-DkZl_JUT.js +1 -1
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_viewer_static/index.html +1 -1
- python_cad_tools-0.1.11/src/python_cad_tools/build-info.json +1 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11/src/python_cad_tools.egg-info}/PKG-INFO +1 -1
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools.egg-info/SOURCES.txt +167 -167
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools.egg-info/scm_file_list.json +167 -167
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools.egg-info/scm_version.json +2 -2
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/asset-manifest.json +0 -1
- python_cad_tools-0.1.10/src/python_cad_tools/_viewer_static/assets/dds-0RTqNYDh.js +0 -1
- python_cad_tools-0.1.10/src/python_cad_tools/build-info.json +0 -1
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.gitattributes +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.githooks/pre-push +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.github/workflows/ci.yml +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.github/workflows/downstream-compatibility.yml +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.github/workflows/release-candidate.yml +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.gitignore +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.opencode/commands/autocommit.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.opencode/tools/specrepo-autocommit.js +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/.opencode/tools/specrepo-autocommit.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/AGENTS.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/CLAUDE.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/LICENSE +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/MANIFEST.in +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/README.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/build-semantics.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/drawing-extensions.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/manifests.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/neutral-model.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/project-configuration.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/public-api.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/spikes/format-feasibility.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/toolchain.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/two-tier-contract.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/docs/viewer-delivery.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/pyproject.toml +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/setup.cfg +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/__init__.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/__main__.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_locking.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_project_loader.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_project_state.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_scaffold.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_transaction.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_viewer_static/app.webmanifest +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_viewer_static/assets/hdrTextureLoader-BGQvgh0h.js +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_viewer_static/assets/index-CnrKUEff.css +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_viewer_static/assets/mesh.vertexData.functions-ayNlGC5K.js +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_viewer_static/favicon.svg +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/_viewer_static/sw.js +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/artifacts.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/build.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/cli.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/context.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/determinism.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/drawings/__init__.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/drawings/_catalog.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/drawings/_validation.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/elements.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exceptions.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/__init__.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/base.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/__init__.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/annotations.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/dxf.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/model.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/pdf.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/primitives.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/projection.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/drawings/svg.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/glb.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/ifc.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/quantities.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/exporters/step.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/geometry.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/manifests.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/project_config.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/py.typed +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/runtime_sync.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/build-manifest-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/design-manifest-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/download-manifest-2.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/drawing-annotations-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/glb-manifest-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/ifc-validation-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/quantities-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/run-metadata-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/site-metadata-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/schemas/step-validation-1.json +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/site.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/templates/project/.gitignore +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/templates/project/README.md +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/templates/project/config.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/templates/project/drawing_annotations.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/templates/project/generated/.gitkeep +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/templates/project/model.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/templates/project/pyproject.toml +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/units.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools/validation.py +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools.egg-info/dependency_links.txt +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools.egg-info/entry_points.txt +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools.egg-info/requires.txt +0 -0
- {python_cad_tools-0.1.10 → python_cad_tools-0.1.11}/src/python_cad_tools.egg-info/top_level.txt +0 -0
|
@@ -24,6 +24,15 @@ jobs:
|
|
|
24
24
|
with:
|
|
25
25
|
python-version: "3.13"
|
|
26
26
|
|
|
27
|
+
- name: Check version is not already published
|
|
28
|
+
run: |
|
|
29
|
+
version="${{ inputs.version }}"
|
|
30
|
+
status=$(curl -s -o /dev/null -w "%{http_code}" "https://pypi.org/pypi/python-cad-tools/${version}/json")
|
|
31
|
+
if [ "$status" = "200" ]; then
|
|
32
|
+
echo "::error::python-cad-tools ${version} is already published on PyPI. This looks like a duplicate release attempt (a previous run likely already tagged and uploaded it) — choose a new version instead of re-running with the same one."
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
|
|
27
36
|
- name: Create and push tag
|
|
28
37
|
run: |
|
|
29
38
|
git config user.name "github-actions"
|
|
@@ -7,6 +7,28 @@ stable release is published.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.11] - 2026-08-11
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Browser-level gesture-contract coverage for the packaged viewer: the e2e
|
|
15
|
+
suite now drives the model canvas with real pointer and two-contact CDP
|
|
16
|
+
touch input and asserts actual camera-state changes (one-finger orbit drag,
|
|
17
|
+
wheel zoom, natural two-finger pinch-in zoom-out and spread zoom-in) with
|
|
18
|
+
page stability (no scroll or visual-viewport zoom) while the canvas
|
|
19
|
+
receives gestures.
|
|
20
|
+
- A camera-state observability seam: the viewer canvas exposes its current
|
|
21
|
+
camera alpha/beta/radius as `data-camera-*` attributes each frame. This is
|
|
22
|
+
a test/observability hook only and does not change user-visible behavior.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- The release workflow now fails fast (before tagging or uploading) when the
|
|
27
|
+
requested version is already published on PyPI, preventing duplicate tag
|
|
28
|
+
and upload attempts on re-runs.
|
|
29
|
+
- The packaged viewer shell was regenerated through the viewer build; wheel
|
|
30
|
+
and prepared sites ship the verified gesture contract.
|
|
31
|
+
|
|
10
32
|
## [0.1.10] - 2026-08-11
|
|
11
33
|
|
|
12
34
|
### Added
|
|
@@ -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-d5_0GqzW.js","sha256":"c3152e95b1c9357ac7fba4ef5ab0b1f3d8814124abd7763aa31e93700f889fdb","size":35489},{"media_type":"text/javascript; charset=utf-8","path":"assets/bakedVertexAnimation-BTnhNnCG.js","sha256":"2dffcf47bf395cf4257780c3284f8b55396e8ae2bbd285b11fa44dca966ce6d0","size":15843},{"media_type":"text/javascript; charset=utf-8","path":"assets/basisTextureLoader-B1WedbgE.js","sha256":"bc160defee4c3d3013f455e56a92ada31f4891e1d1fc9cbce17c3b7320901021","size":7961},{"media_type":"text/javascript; charset=utf-8","path":"assets/brdfTextureTools-DIdTXZSR.js","sha256":"c3fcb42124b7e89fa151a08718de17e80d4091b4a41627557d603be26a80fbf5","size":61224},{"media_type":"text/javascript; charset=utf-8","path":"assets/bumpFragment-C_S7LReC.js","sha256":"b4af9b8587a58eed15e4d2e53ec044e29ca072dfc693e78ac78bc50e3e62d844","size":8075},{"media_type":"text/javascript; charset=utf-8","path":"assets/bumpVertex-9p8w1w7z.js","sha256":"76ec75533a2cdb073c97245b0c77017a61a0bc20fa882d5812e356b827b34260","size":698},{"media_type":"text/javascript; charset=utf-8","path":"assets/bumpVertexDeclaration-B8rpdm3U.js","sha256":"33d5a07cca89afeec579914c672470062e8272a6c19172725bbe89c9efc77efd","size":393},{"media_type":"text/javascript; charset=utf-8","path":"assets/clipPlaneFragment-A-1cS0Wr.js","sha256":"ed05df7daa460e2668c83e3d81f6b36ab13915e001c392152863dc37c3121fb3","size":1275},{"media_type":"text/javascript; charset=utf-8","path":"assets/clipPlaneVertex-B34pEy_z.js","sha256":"2905d2e539d7ddb41ffbc9ff1c25d3d854bacf9bb5c13cf80cd298ec870cb327","size":1356},{"media_type":"text/javascript; charset=utf-8","path":"assets/cubemapToSphericalPolynomial-BAw8ctMB.js","sha256":"c82c832b6a9291b435ba5a37ea014b8103f227a9f3213d0332fffdc97f65df6e","size":3667},{"media_type":"text/javascript; charset=utf-8","path":"assets/dds-BDxArwXs.js","sha256":"0f0bf73d9975608643cdc549f6b401354fae854ed772abe4917ddeffc3ec0ef7","size":161},{"media_type":"text/javascript; charset=utf-8","path":"assets/dds.pure-D_Zw5OEt.js","sha256":"4f118ed1d7acaadea6fd823af76d33017951685a17f740af9027962a31f9e9fc","size":7046},{"media_type":"text/javascript; charset=utf-8","path":"assets/ddsTextureLoader-DeQLZozV.js","sha256":"c80869b543d8febf53e3bafafbc56136e8b8560225776a30f2d7d759473628e2","size":1310},{"media_type":"text/javascript; charset=utf-8","path":"assets/default.fragment-BI3GAR2C.js","sha256":"155e91526365befa8f5b8a16e9d388e3056b35d38368b8d5033d139c55527f83","size":25362},{"media_type":"text/javascript; charset=utf-8","path":"assets/default.vertex-CQ4MILUZ.js","sha256":"ddd07580de83aedf0b93b5c10d6d0ab1fbfed742c12a98cb021b0be12ea992af","size":9451},{"media_type":"text/javascript; charset=utf-8","path":"assets/defaultUboDeclaration-DOBRS3iS.js","sha256":"ea5ff8048e15763000a59fd00f45f1ea39ba5004e083735d228c6e0b7d36c294","size":1624},{"media_type":"text/javascript; charset=utf-8","path":"assets/dumpTools-DCMMRWtL.js","sha256":"52ed72451bb52f50a6ca8741d4bd3fcfa8b2c389686bf55156067b88587a9ae8","size":3597},{"media_type":"text/javascript; charset=utf-8","path":"assets/envTextureLoader-C-7LpDe_.js","sha256":"4aed47f05dba5fa810e7915245ffd08d209cb57ae7bd476fc9952049c63a1df1","size":1649},{"media_type":"text/javascript; charset=utf-8","path":"assets/exrTextureLoader-oNqXrLmH.js","sha256":"07565563911bc99912c5fa5713515eb485d027173e1d4b8749c854b5d6275745","size":14187},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphApplyForceBlock-DUMH2798.js","sha256":"13dc333757a907563b38dc4f1d4ff8a936f6aaa10b9add068a66a525fe45ad6f","size":675},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphApplyImpulseBlock-DUvs7iqs.js","sha256":"89b20dd29e7f824edd733166317e16b98c324afac6acb5c120f472c362a71104","size":691},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphArrayIndexBlock-B-qeUHG6.js","sha256":"2c94fc694f0992900c37f8422dbfc025431f12f7bcf275614e632bae0f98494d","size":649},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphBezierCurveEasingBlock-Cjm4_L1J.js","sha256":"af701efc2bdce89f4185e368e9ae629c35cc82945cafe29c970706d01b530cd6","size":938},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphBinaryOperationBlock-CXnNy9QR.js","sha256":"867066f756386d09f8976ae6db936536b1f931422658bc5b6d7c5ec02d859681","size":375},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphBranchBlock-DLUVB1dZ.js","sha256":"fa06d9622cc88d869decec8908c7a69889b03e3f79fb374ea40513a34c324887","size":529},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCachedOperationBlock-BkfdjQtr.js","sha256":"cfee26b2737fe91d3e9a77fcf7e4e1b31607209d70ea8625d06efc522e8e0b23","size":688},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCancelDelayBlock-DwzbjNTQ.js","sha256":"f9603b72afa16f2ae9bcb2787442e0a83038573c9cf6ab8d2793be87a4af2481","size":592},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCodeExecutionBlock-CzFaSgik.js","sha256":"e2a1a9f423b4b3b3be289a9750f88f6b27179dcbb96e9952130215588a6c87b7","size":470},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphConditionalDataBlock-DsMUDoGH.js","sha256":"b72008a2aa9c0fcbbb59e6b729cfc46fbd6bb1124379750d44267a8e990d44fc","size":634},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphConsoleLogBlock-CVWywmBY.js","sha256":"e240e95c20f97462730866dd38022ddf07d2943cdc32c400bc59e1b8d19a4c0c","size":1416},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphConstantBlock-BNIgu4QC.js","sha256":"89cfefb4a754bcbf6b5eef2d4aac6a88a18b31b0bde830c453908e8d221f8951","size":497},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphContextBlock-DuQCYIgK.js","sha256":"bfc338c79f58aa210075acfe2f245d8fa4572ffa86d996a5f615d437c81100f2","size":540},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphCounterBlock-DxCqjQc8.js","sha256":"9b6521dbc7b2a812f63531753089d34240448522608df05a7f7eaf780ab9434f","size":630},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDataSwitchBlock-BOncXvGP.js","sha256":"01f30151490a93874d0b04f1838923783445c0dff23be082f1ede064a59f9860","size":904},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDebounceBlock-43eNp_3W.js","sha256":"45e201969345f21d23a37c7932748eed4aca28ed19a2db47b3ec4a680b536ac2","size":768},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDebugBlock-CYRuaSbJ.js","sha256":"a484690988b1abfa5e3c580140fba6968191ec52a98534d345c8dc5ac4df3e10","size":1450},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphDoNBlock-Du-7uIwS.js","sha256":"d466fc93c938d7ed43a7434fccffc87af560caaa59530d9582cfd21a2608e167","size":770},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphEasingBlock-C6lQQb9c.js","sha256":"4507214400d0c25bcc96b317dcfae170bfe9bb3f2a28945babf6911d2cfb4d5a","size":1627},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphFlipFlopBlock-Ba-WebLx.js","sha256":"ee01cff0f3ad7d6db2f492d510c4e1f18b6b4713afadb3bc9fcb12a317df5992","size":678},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphForLoopBlock-CC4ZykmE.js","sha256":"0cb4b25366fc0524348de8f3db59d2e7cde5822dbd8348708cba24db3707cb23","size":1108},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphFunctionReferenceBlock-Cc8odCYm.js","sha256":"a63f954068fc5f0ce020de8f50664825d581ecc7ea200500c2ce80f1fc3f2cc1","size":714},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGLTFDataProvider-Bs8eI-tc.js","sha256":"d7c951fc9816cc5b0379d7dd836d93c466a48db0af66c75582af9849e91d5284","size":418},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetAngularVelocityBlock-BR2ioMLJ.js","sha256":"da80142c3fdf0552a51880a37ebed671a895812d66bd3def7858b9b8905dd753","size":657},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetAssetBlock-DD4Eo4N8.js","sha256":"c54c9c5a21fbb8e339079ea5aed229fd72d65cb89dcf4253592c8691bffecbd6","size":638},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetLinearVelocityBlock-CiXY_22u.js","sha256":"aa03e1ea23984388db936c4a337d64979d190bc0d86c4932fb7d9e7da0baf9e3","size":652},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetPhysicsMassPropertiesBlock-BFuYrykd.js","sha256":"9964f800fcd68ca31be37d5d4b86dcdb7a479774b7c5efb84be27a06caac02a0","size":801},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetPropertyBlock-yylHk0Tj.js","sha256":"ac4aaee8338d87d20903ae6d9855b36c6ed0f31c92023086bb66a7da992e931b","size":930},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetSoundVolumeBlock-Yoy3NMR4.js","sha256":"a8f8c38ed688f09875d9889bf4e80122f3ede02efcd0b61eadf5ac3750f9b508","size":485},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphGetVariableBlock-DP0lG6uk.js","sha256":"8f25f1954f6b67a6ae65a83c4ed374320d1765ca35178adf8d3ef827824cfc22","size":545},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphIndexOfBlock-Dp46lAXL.js","sha256":"3cbe17734abdb5e2b99bc3bc2535409e81ebc57239f1ca1575cc2dc75f92eebf","size":607},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphInterpolationBlock-DAAojSot.js","sha256":"6471669bb1babb5a86265fd875b72464ac83cedbe4bdca55634ebbab8a468b03","size":2089},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphIsKeyPressedBlock-BzyaFJtY.js","sha256":"b04edc110c67a378208b9a81e145280535a5c40a9fba58fe52c73bd013bae305","size":1162},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphIsSoundPlayingBlock-4qIsPViO.js","sha256":"877e5e7ea6515bcdccc8afe808db55ef394a8a5afc5cbf75b1891c6c90fa2ab8","size":501},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphJsonPointerParserBlock-BZG5ehwx.js","sha256":"fe6554fcef393c429dd6edff060c56572c09ce7d79a59bfafd5724a9478bc196","size":3027},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphKeyDownEventBlock-rpKm7KQS.js","sha256":"81193417cc2fbfa1469291b41f5d4119e9b65803c21f39db9e323f1f979b954d","size":489},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphKeyUpEventBlock-DZ0cYho3.js","sha256":"2c00558a4a3bc43d8b5907541b1dd9ad32835cc2c6b43a7ff7d35a4c00307de4","size":282},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphKeyboardEventBlock-CiAmYMbH.js","sha256":"cf3fee061d6d0939ae1bcffe7193d3d9a7f6103b2bd28a1e6012c91fc3680e60","size":962},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMathBlocks-CbJDlFUY.js","sha256":"7c48e8562dc136377eb47343fc59e599e85fffb579512b5bcfd40e3f4cff6380","size":18510},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMathCombineExtractBlocks-DICrYBP4.js","sha256":"80d99484d5c8e965dfe41334266e76f5d602d5e1dd366e36c7a2ffbc2affe45e","size":7966},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMatrixMathBlocks-ftOIDo5d.js","sha256":"c2899bf0bed5bb1907b67bf87c3af0d6eaa4c85b812679ab0fca5c1e3f6e28d9","size":3570},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMeshPickEventBlock-DTChczhf.js","sha256":"6f19d1e96777f94cf36d40147aada5a9e48da3e937d9a92dbc3dd50c01b792f2","size":1394},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphMultiGateBlock-DdupWV9J.js","sha256":"9c143f714b5805c2b821c02f11cabae26a7a3d7eb030f55c5f40f6c7a323b943","size":1660},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPauseAnimationBlock-DBsgO-6v.js","sha256":"88feaf697f62a74a2f81587b90cb353735eadd0a9da6bcb9ccd4a022ddad359f","size":455},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPauseSoundBlock-DWcr1ULl.js","sha256":"bca7eff7a815acc3643a40ddadadcb342bde95c91a16f59c036ba536db6a0704","size":552},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPhysicsCollisionEventBlock-CVKDMyoo.js","sha256":"ac249487f10cd0592305e3ba768e8678c33ac6a8af9dee38ce931f8100833e71","size":1678},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPlayAnimationBlock-BXVH0aEG.js","sha256":"fb2a741ce805ecf72961c35f7c556ce2868558f6282bc4063b9590073909a905","size":3736},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPlaySoundBlock-LNU38ZaS.js","sha256":"a8f39ed1efcad28c561d1e8dbce127e34d3bf92754afc4705ba4110ee65fe211","size":782},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerDownEventBlock-L9Wzp4sm.js","sha256":"9ed469354731c89418d66dd3bc1feab27dfc43a169f29d5dfb99ae3096d7a4ec","size":940},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerMoveEventBlock-Cgf9rHw2.js","sha256":"bd6dd57b970cb196916a139d026e44135e28252aef763c088828de41bd6f3dc7","size":958},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerOutEventBlock-0bOFbyCB.js","sha256":"1ff49da786b111fa0c0473ad626ee6da87ad1de8c8fcc87c669cb69580ab1d65","size":831},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerOverEventBlock-CJQEfL96.js","sha256":"c67c76804a92266863c80f2a897e6f5233e14e0e197636e41f3ec99fd76191ea","size":842},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphPointerUpEventBlock-Dr4yXdtL.js","sha256":"b7f89ebc889b446f9c205e8cda908c9ea2cc545c8b1e38c7e3e8d1b07e3bb8ec","size":930},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphReceiveCustomEventBlock-DpKjQPwo.js","sha256":"b8634121e22a25ddf796a26a6aa88b70a054dbdd3eb06ac14e025791ac271412","size":1530},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSceneReadyEventBlock-CTK4Ndci.js","sha256":"29f6af6270ab8068ea675ea952b35f8bfe4ffd98225ced890a523d7fc4a11ee3","size":452},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSceneTickEventBlock-CzJbobbg.js","sha256":"0c7614d983036fc6611f71d20293cb4b10b6afd0e5a8f5a1352df8d1cc3e8c03","size":635},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSendCustomEventBlock-DBQ1n5eJ.js","sha256":"34949291b255e2dee2edef60c4fdf304bebfbe66ab851fbaefcbdbf542d56334","size":926},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSequenceBlock-oBhLC7Vj.js","sha256":"23bb802c30153e723b0ed9125d4ef7d3bdf511b4bcf9ee5d03887c0f2d437578","size":777},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetAngularVelocityBlock-DXlS3umF.js","sha256":"b9036f8c9042b8c7cfebefd4e4df90586511ce8712952533005512e25dc638a0","size":633},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetDelayBlock-DhrCI14Z.js","sha256":"9ac3203bb83f7813f4162921a7e2a014fccb1317aad6633d5c9068640a572a92","size":4183},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetLinearVelocityBlock-DdNE9BcN.js","sha256":"e73ee096260497021849542fedc901568007f07387b7be79b2098d9194c38e59","size":628},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetPhysicsMotionTypeBlock-Be7qTZ0l.js","sha256":"47e8f73071035b3a550e9de146e19c60abb09e33505ba1c7ee0ea10dd5e5c973","size":644},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetPropertyBlock-Bx8fCC87.js","sha256":"33d4b344598205d59bccab36c8c0cdd592a2c8095d6da43c3cdea1b1c72aaad9","size":1408},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetSoundVolumeBlock-Bmh5show.js","sha256":"379b20eb3d0d462e67ac7624e484134a9117322c79ff2b752bcd18d4d8fc2b28","size":601},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSetVariableBlock-BP87cysh.js","sha256":"4d7ca9b34f32e2c4817d4035f9a60c8a3481e0987cb016108d02815142f03b5f","size":1228},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSoundEndedEventBlock-DPK4HFJ5.js","sha256":"e672cabb9e4fc4aae9bde99072b974f0a84d8d61c5485a9bcd83264606fd7fad","size":967},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphStopAnimationBlock-9n5l3RYF.js","sha256":"d9e3f9cdcf9cdeab270eab9d6208836d64ebd5b768e3f00552964144140c4127","size":1889},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphStopSoundBlock-BkqUQ3IX.js","sha256":"e576c9fa9dca2ae5c37598ca0266a5346e708d479323c82187d9ee4a13567c3c","size":496},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphSwitchBlock-CzYmr0Rg.js","sha256":"81f22292a9617b4db7c565c88687ea44ebec71eb792282c3929423e7b5e15b18","size":1134},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphThrottleBlock-C72DA8Ot.js","sha256":"30b23331293efced79b7e045e9b830aa783c3c100885f5a420cf925379405100","size":1363},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphTransformCoordinatesSystemBlock-B57atF6V.js","sha256":"04dabd1cc09314bbe4fdd13911d43830ef03b6f166e3b57dac1a5b584c95db28","size":968},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphTypeToTypeBlocks-BwO8ctcl.js","sha256":"fa396794948a8416f1d4c1f77d6d774444370fe0a5e5b27561b35897163936ad","size":1281},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphUnaryOperationBlock-B5xQ7raL.js","sha256":"b2aeccbeadb6741380446b8a3352a7a53d0e1eff91d5639ae313d13b86781ae8","size":303},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphVectorMathBlocks-BSQ0Jp6s.js","sha256":"05e8b42b0ada16db5ecf65a3b56769017da419e8d87fda543a3b63726cf15063","size":4726},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphWaitAllBlock-DkjMKncY.js","sha256":"73ac28f42b23e215e8b0e0d3f7efd9fc7ad529230af6c2b1dd9a8c29b8a273ff","size":1531},{"media_type":"text/javascript; charset=utf-8","path":"assets/flowGraphWhileLoopBlock-DiDLbXDS.js","sha256":"a13e66c65b6cb96556af4576bb7ae0d8c38ec459c0a6362360cfeaff65becc7b","size":863},{"media_type":"text/javascript; charset=utf-8","path":"assets/fogFragment-QU9YOYuH.js","sha256":"d7b8b4ba239fa32bf0eb4c05851ac52f9681170e73b717a0b08a3ed8c93f3bb5","size":1471},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting-CBvJqSQF.js","sha256":"88aecc94311a27165ca1f4d08f1d6ba617518cfa1cc763fc5100492497c20aa9","size":14395},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting-EGwqbpHv.js","sha256":"eb2aedfb8dc896f24de6a48327b4bad1b038fd18b1624aed3346c03fa3ef0695","size":14631},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.fragment-CG3O4l2t.js","sha256":"b4de411264365a5f3cc17d7381056a042d81e02f44d243d518a8cbdc9fd398f2","size":1812},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.fragment-CYV0OcvY.js","sha256":"df63bd34e061b71082841e629f54e7ecec6b191d2c9a8cb9ba7b24d63c1ff7a6","size":1541},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.vertex-DU77eH5y.js","sha256":"0e93c383b0f39efe9c7a9e223373c651123b82fce6d216950d0ae48dbf606865","size":4904},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplatting.vertex-s8IsAoDR.js","sha256":"b9d87bd3c41b44f6ddc5775a16740d4a987af56a049bb33cbc3e096c6373c674","size":3748},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.fragment-Bt1AWZNn.js","sha256":"71a824bb4859472aa991e90ffc5ccc6aa9871de990dad34875d2a53d32919afd","size":1984},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.fragment-luoOzTyP.js","sha256":"c514ed865229a2230e9dcd904be70c9235c1e3ab69d4061768996ca8affaea6f","size":1488},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.vertex-m9aQdgcg.js","sha256":"b9af2bb7090781ff1f1f32c47211e3afb4b60abd57bc2d99003529040f68765b","size":2611},{"media_type":"text/javascript; charset=utf-8","path":"assets/gaussianSplattingVoxel.vertex-xDMDxXMl.js","sha256":"68ad7e3f5ca61701cf7c6f74ee397840bea8c1b440efe52b52ca9045f6ca87bc","size":1802},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.fragment-C_-6JJr4.js","sha256":"72eec5c8431780884297300e16fbeb69c918943ba5bb06f91f5d60c89da89b17","size":8171},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.fragment-oisMFtj8.js","sha256":"a3c099bc53d49954d57455b38a5031171337621d84140672302db153d4f3d83c","size":10410},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.vertex-CBkXTBVF.js","sha256":"7a354f6db88f7c8b0d40640885b9fc31fa1ffa48eb8d55261704b1eb5f27bf1c","size":7601},{"media_type":"text/javascript; charset=utf-8","path":"assets/geometry.vertex-DQDqvDk5.js","sha256":"3684abce415dcf308e7747e097d4e9551adc87f8e2d9ab5ad3c7c359a926593b","size":9012},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowBlurPostProcess.fragment-QolNMgw6.js","sha256":"cf46d024648ab3d07961205b0850b574b351b5ffe1d6718c8846c824e9140c7e","size":1409},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapGeneration.fragment-DRwn6uC2.js","sha256":"4cf36ebcbdfdca34198d74bc29a2f0fa9933c1c700eb6193371f4ec4f2b25f92","size":2530},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapGeneration.vertex-BPPwu0E9.js","sha256":"7d3f7c9d838928ffbc7012332d93ddda74565dfa4cc044860382464d7702a204","size":2798},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapMerge.fragment-ODjisfEL.js","sha256":"01fa7d5886a8e450a6e8c73c4aa28c07063026eec4f7813b33ae592f9c1fbe2a","size":1059},{"media_type":"text/javascript; charset=utf-8","path":"assets/glowMapMerge.vertex-DB7eIwXj.js","sha256":"1c4464b469963f7e48009393aa3df3462a582270df8de7d468019e596b46eda8","size":545},{"media_type":"text/javascript; charset=utf-8","path":"assets/harmonicsFunctions-B2jlXPLE.js","sha256":"d1099b2159762729c48c71c7b097f2d25e5ca5fd52cedf85ed45cb891dfbb08d","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-B6Z1LJrO.js","sha256":"248fb2505a16170b3e30352b92313eb5f2e875db2e2f4ae5290b34ea471e2539","size":6488},{"media_type":"text/javascript; charset=utf-8","path":"assets/iesTextureLoader-8wFKF-ak.js","sha256":"c710c94bdf090530fa780beb68514fc815c38da3719e39e10a683d21d0bb2277","size":2701},{"media_type":"text/javascript; charset=utf-8","path":"assets/index-BnAaL7KS.js","sha256":"f31b89175c7eba8215c94796d7239e250b436b9aa650c17b4061f767011c1335","size":2299222},{"media_type":"text/css; charset=utf-8","path":"assets/index-CnrKUEff.css","sha256":"ec241bc11e1ac549fc7b8722bf83d7682466bf48d5ca844f256aeb291d35df39","size":13115},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.fragment-C0PAazdd.js","sha256":"dcb50a0f36adcf672e62eed7445e6927bef1084a496de8daa9db501dc74c5c1a","size":2851},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.fragment-DmepFK-C.js","sha256":"4284d945c1a5e31680afab6d77bdab75dc52e3c41184f100ae9bc4677cc53b8f","size":2311},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.vertex-CQTyg7d5.js","sha256":"7b1724f77ff349b52fa2cf0c2a7df92316109b504a4df4d7ffbd566c8a95aeb2","size":1064},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlur.vertex-C_mnrqaY.js","sha256":"0d77201b21a3d5fee199ac8070a1d2d0419160bff59925c990a15f47f8a2bd42","size":899},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlurVaryingDeclaration-DCLBcYIA.js","sha256":"a4791e515a9aa7434f3c636eca63873e443dfbbb212e9045bda7a1c2de68407f","size":211},{"media_type":"text/javascript; charset=utf-8","path":"assets/kernelBlurVaryingDeclaration-DuoJgAZp.js","sha256":"d3bee0286ea5fd2e7d53f4224a9312dc9efc38407317edb9c0141dc66ad9f70f","size":221},{"media_type":"text/javascript; charset=utf-8","path":"assets/ktxTextureLoader-CIypOERT.js","sha256":"26a2700d3b1b0f14e4495f30705495298f7fa4b3a15d83f22af8963b12f6dc88","size":14979},{"media_type":"text/javascript; charset=utf-8","path":"assets/lightFragment-BinX63GB.js","sha256":"1c754b17929b9c4ffe299ea7430b19052c948830cdad3efedf4fddc17901d212","size":22605},{"media_type":"text/javascript; charset=utf-8","path":"assets/logDepthDeclaration-D8jcsZiW.js","sha256":"b4154269b144e768be438f9e5abcf16e3f63af0a815226b9c86d29edf0355612","size":280},{"media_type":"text/javascript; charset=utf-8","path":"assets/logDepthVertex-CAoFmcco.js","sha256":"0720f4c66c9bf9b8743601c0800433dbf0ac101a64465b6a7c2ebcd487e78e03","size":826},{"media_type":"text/javascript; charset=utf-8","path":"assets/mainUVVaryingDeclaration-oF31v9Zp.js","sha256":"47d76ef08c6994847e396b0484df8f291a400236b66cfbdfea53ad8767492349","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-BXrkHWWW.js","sha256":"1ed31c6d2f2400a641e1abd14dcdd15f767c8155edac4026a7714a39b19eea0c","size":278},{"media_type":"text/javascript; charset=utf-8","path":"assets/oitFragment-2x3JPdq6.js","sha256":"62f8ab7d7171ca451376c27195e172e04ec93606bc4d0d0c33e63f051ee6a1fc","size":52427},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.fragment-B5ZDpeFy.js","sha256":"c9e660b96a1e0bbdf880b14f7ace6754cd0d8d091c0666efc01d8921fc8811e6","size":86994},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.fragment-CpT08ThE.js","sha256":"08e3f0ab02f3f34848f76469ab27c23365bf23fac56dd2b640d63906c70fe4cc","size":89838},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.vertex-BaGhkjmV.js","sha256":"3b1a28c6bd1a3070958426a2a802fd22b1274f38e68aa03a2a286ff0d59b9a5d","size":20214},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbr.vertex-DAeXubyL.js","sha256":"a63c182ea69a3d5b38dd5d756980921006fba3674d143b0e7c3c50f1a074c551","size":17340},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrMaterial.pure-BXY_lClt.js","sha256":"1073d2f6be688e5a735a68fbab443ac607e5f7a8dce499405ad5fcb7554155e7","size":134158},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrMaterialLoadingAdapter-MpirTHMd.js","sha256":"1bc93b1e96a3fe325fc669531227ec1ac70a6c380dc4820de19d829e4207f063","size":33220},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrTransmissionLayerData-CHHhh58w.js","sha256":"24c9cd14fe9b5f7621618b200ac21ca1097c4fe2fff888b1cf886eeea4b11d7b","size":17043},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrTransmissionLayerData-DthxrR9-.js","sha256":"467da0920fb07d3e75a1141c3d84361d1fc34ced7f634b5a47dc50be9d54d75a","size":17708},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrUboDeclaration--Zhq0q7d.js","sha256":"7575a64c10659afc596a2409eec7dd5fad6dc12dd09f144ed26a6dc8f38be774","size":3791},{"media_type":"text/javascript; charset=utf-8","path":"assets/openpbrUboDeclaration-CXcZlREH.js","sha256":"52606b46779e601ae64e74e794c79445ed15c8f1ca79d2f87a39a1d684c23092","size":5221},{"media_type":"text/javascript; charset=utf-8","path":"assets/packingFunctions-Bo_ikKLB.js","sha256":"3d16e91dd3f923f29af6f6b84763ca590d56c6d2422518afc38a15f80304ab59","size":528},{"media_type":"text/javascript; charset=utf-8","path":"assets/packingFunctions-u3uWRkpF.js","sha256":"caa3775e8161354f1daa277b197101e1c9da1292ede3eee5193a72aa7f0fbbea","size":562},{"media_type":"text/javascript; charset=utf-8","path":"assets/pass.fragment-slK02MnO.js","sha256":"35755b0a8fc99753bdcc01c402972e04b683c79170c9e45600f865789f542c8d","size":451},{"media_type":"text/javascript; charset=utf-8","path":"assets/passCube.fragment-C13WHRV7.js","sha256":"4035dea99a0f0d16bdd922f9ddf5c601bbb5fdcef8c263300f378780384ee32c","size":822},{"media_type":"text/javascript; charset=utf-8","path":"assets/passCube.fragment-DnuA3v4l.js","sha256":"07dd5db7935984e63e4e725ab3ec281f4df89ab6aa8ed282817be2e0575972a4","size":1131},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbr.fragment-8v2GDfO1.js","sha256":"b6e01a67a6e4e0fc9acaacdcb0aee1c23c33fa053d90b27c450f807dc71c7199","size":93721},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbr.vertex-BuCPFkDX.js","sha256":"92ec8406236a596116e0347b517f8fb7706d63638c4d3d27b5c32a133788f570","size":14451},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrBRDFFunctions-5nHUuKRr.js","sha256":"90c9137075e3b350501f1dee9cb3adf9df17e0cec30e6a8e5a332a210ceafb9d","size":12760},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrDebug-C8fLVEpD.js","sha256":"e0929f3e33bb469d3d931c8ef2866447419369a64e4f56577ec331a9ec6e9d5b","size":43522},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrIBLFunctions-BM49sbQB.js","sha256":"04ed2fc01037e1ca532e5d864d49a191777b81a600914830c34511438f55df42","size":2720},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrMaterial.pure-B6n6Ic80.js","sha256":"36cc7866186765e5b4536ea9beced312fd20ac18cf3221f87e70fbb12f847de1","size":134889},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrMaterialLoadingAdapter-C0d04FRz.js","sha256":"27a92b24990c77408768510b5fed1e146ac134cb140580cc63f349ae829e1d61","size":12426},{"media_type":"text/javascript; charset=utf-8","path":"assets/pbrUboDeclaration-CL7R5LTR.js","sha256":"e8462226064bcd7a53f8cba81c1c523e6bf90d6579be0667e3fb03c0017b4a9f","size":2398},{"media_type":"text/javascript; charset=utf-8","path":"assets/postprocess.vertex-BhCyZbyQ.js","sha256":"1341d3358e72a7a15a7e578dfc71e76bfe7324d571503cba942a7ca97babe4ec","size":583},{"media_type":"text/javascript; charset=utf-8","path":"assets/procedural.vertex-Cb5DsSFx.js","sha256":"fab3e10906a28ca70a7e8208461c378bfc16a98a2f96d63deea45746e11fdc33","size":612},{"media_type":"text/javascript; charset=utf-8","path":"assets/procedural.vertex-W-IcNTXE.js","sha256":"d4f1c02c61faffdba90b1a3dd7096a907b2339954d4b8a75320f1a6f1d9ed37c","size":472},{"media_type":"text/javascript; charset=utf-8","path":"assets/reflectionFunction-DYrae64q.js","sha256":"323e2f2cadfe7de8db4d69aacb06ebba85329851b594156d7cb8dbefd2ba1847","size":5231},{"media_type":"text/javascript; charset=utf-8","path":"assets/rgbdDecode.fragment-CFpIpdxk.js","sha256":"c3a5e9b88164c3a0b1c5ffadde0885b85111c35998906770c14e70408457b84c","size":671},{"media_type":"text/javascript; charset=utf-8","path":"assets/rgbdEncode.fragment-BIBfrJET.js","sha256":"19d13ec0dafd26ce400527c8b394c71c570054cd34654ffaa34038052dbfa69b","size":662},{"media_type":"text/javascript; charset=utf-8","path":"assets/rgbdEncode.fragment-yPbrkGKz.js","sha256":"5b4f24bd3666eb053cfe00f17536a2a7913adabed7daf92c21160369939a17b1","size":477},{"media_type":"text/javascript; charset=utf-8","path":"assets/sceneUboDeclaration-D5YHSknt.js","sha256":"c167a75c604ace1a160774edc15619246abe1fd4ed11488e3b7989f92d32df97","size":435},{"media_type":"text/javascript; charset=utf-8","path":"assets/textureProcessor.fragment-GSzJSZKX.js","sha256":"d461ba6f3537b8727003ac59ca3a7fc2c02e4a43486e319a17209c8178f087eb","size":3490},{"media_type":"text/javascript; charset=utf-8","path":"assets/textureProcessor.fragment-NwUMt_sy.js","sha256":"b6c38cab153ef0a81e2a95d7b6f6c1e372173f7c9a1a27448ec94c987c163ac9","size":4377},{"media_type":"text/javascript; charset=utf-8","path":"assets/tgaTextureLoader-Z9HWdnv1.js","sha256":"dd4de64f91461a277aecac0a1400b85efaabfa5ba9a3ff06589147b82d2429e5","size":3527},{"media_type":"text/javascript; charset=utf-8","path":"assets/vertexColorMixing-DkZl_JUT.js","sha256":"0e14e657e704d4b6ca815abc9fedbf27eb00a93d1ab9d679cfdaec307af4bdfb","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":"b88659842fca2422b0d4f66c8ee2486098545f597d79ed59b8b90cbd26463f3c","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-D6uexFRQ.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-BnAaL7KS.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-BnAaL7KS.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-BnAaL7KS.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};
|