@fps-games/editor-deployment 0.2.3-beta.3
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.
- package/bin/fps-editor-prepare.mjs +5 -0
- package/bin/fps-editor-server.mjs +2 -0
- package/licenses/THIRD_PARTY_NOTICES.txt +7 -0
- package/manifest.json +2685 -0
- package/npm-shrinkwrap.json +19 -0
- package/package.json +38 -0
- package/public/assets/abstractAudioBus-DKeLA-55.js +1 -0
- package/public/assets/animation-DY4Gs-Pw.js +1 -0
- package/public/assets/animation-DY4Gs-Pw.js.br +0 -0
- package/public/assets/animation-DY4Gs-Pw.js.gz +0 -0
- package/public/assets/animationGroup-BN6ExD_I.js +1 -0
- package/public/assets/animationGroup-BN6ExD_I.js.br +0 -0
- package/public/assets/animationGroup-BN6ExD_I.js.gz +0 -0
- package/public/assets/arcRotateCamera-BrOEThh0.js +1 -0
- package/public/assets/arcRotateCamera-BrOEThh0.js.br +0 -0
- package/public/assets/arcRotateCamera-BrOEThh0.js.gz +0 -0
- package/public/assets/babylon-core-BiQ_mrkl.js +1 -0
- package/public/assets/babylon-core-BiQ_mrkl.js.br +0 -0
- package/public/assets/babylon-core-BiQ_mrkl.js.gz +0 -0
- package/public/assets/babylon-core-DygJEuf6.js +13882 -0
- package/public/assets/babylon-core-DygJEuf6.js.br +0 -0
- package/public/assets/babylon-core-DygJEuf6.js.gz +0 -0
- package/public/assets/basisTextureLoader-BWwwG7Gw.js +1 -0
- package/public/assets/basisTextureLoader-BWwwG7Gw.js.br +0 -0
- package/public/assets/basisTextureLoader-BWwwG7Gw.js.gz +0 -0
- package/public/assets/bumpVertex-CzYtMFbI.js +177 -0
- package/public/assets/bumpVertex-CzYtMFbI.js.br +0 -0
- package/public/assets/bumpVertex-CzYtMFbI.js.gz +0 -0
- package/public/assets/bumpVertex-DIMp0NiU.js +173 -0
- package/public/assets/bumpVertex-DIMp0NiU.js.br +0 -0
- package/public/assets/bumpVertex-DIMp0NiU.js.gz +0 -0
- package/public/assets/chromaticAberration.fragment-BJhO9WeA.js +7 -0
- package/public/assets/chromaticAberration.fragment-BJhO9WeA.js.br +0 -0
- package/public/assets/chromaticAberration.fragment-BJhO9WeA.js.gz +0 -0
- package/public/assets/chromaticAberration.fragment-DEAEmyJy.js +6 -0
- package/public/assets/chromaticAberration.fragment-DEAEmyJy.js.br +0 -0
- package/public/assets/chromaticAberration.fragment-DEAEmyJy.js.gz +0 -0
- package/public/assets/circleOfConfusion.fragment-DGnleQIE.js +17 -0
- package/public/assets/circleOfConfusion.fragment-DGnleQIE.js.br +0 -0
- package/public/assets/circleOfConfusion.fragment-DGnleQIE.js.gz +0 -0
- package/public/assets/circleOfConfusion.fragment-DqQcLT7C.js +17 -0
- package/public/assets/circleOfConfusion.fragment-DqQcLT7C.js.br +0 -0
- package/public/assets/circleOfConfusion.fragment-DqQcLT7C.js.gz +0 -0
- package/public/assets/clipPlaneFragment-Da_1RMjt.js +46 -0
- package/public/assets/clipPlaneFragment-Da_1RMjt.js.br +0 -0
- package/public/assets/clipPlaneFragment-Da_1RMjt.js.gz +0 -0
- package/public/assets/clipPlaneVertex-B8PIfZU_.js +177 -0
- package/public/assets/clipPlaneVertex-B8PIfZU_.js.br +0 -0
- package/public/assets/clipPlaneVertex-B8PIfZU_.js.gz +0 -0
- package/public/assets/color.fragment-Bf62ouS6.js +20 -0
- package/public/assets/color.fragment-Bf62ouS6.js.br +0 -0
- package/public/assets/color.fragment-Bf62ouS6.js.gz +0 -0
- package/public/assets/color.fragment-DtJC5xR0.js +21 -0
- package/public/assets/color.fragment-DtJC5xR0.js.br +0 -0
- package/public/assets/color.fragment-DtJC5xR0.js.gz +0 -0
- package/public/assets/color.vertex-DYnzh3f-.js +39 -0
- package/public/assets/color.vertex-DYnzh3f-.js.br +0 -0
- package/public/assets/color.vertex-DYnzh3f-.js.gz +0 -0
- package/public/assets/color.vertex-foaAsgqw.js +32 -0
- package/public/assets/color.vertex-foaAsgqw.js.br +0 -0
- package/public/assets/color.vertex-foaAsgqw.js.gz +0 -0
- package/public/assets/dds-CbA4nCCq.js +1 -0
- package/public/assets/dds-CbA4nCCq.js.br +0 -0
- package/public/assets/dds-CbA4nCCq.js.gz +0 -0
- package/public/assets/ddsTextureLoader-Bwa3u-Gp.js +1 -0
- package/public/assets/ddsTextureLoader-Bwa3u-Gp.js.br +0 -0
- package/public/assets/ddsTextureLoader-Bwa3u-Gp.js.gz +0 -0
- package/public/assets/default.fragment-BKaVVFYF.js +526 -0
- package/public/assets/default.fragment-BKaVVFYF.js.br +0 -0
- package/public/assets/default.fragment-BKaVVFYF.js.gz +0 -0
- package/public/assets/default.fragment-DjNCicws.js +468 -0
- package/public/assets/default.fragment-DjNCicws.js.br +0 -0
- package/public/assets/default.fragment-DjNCicws.js.gz +0 -0
- package/public/assets/default.vertex-CKOvcJ54.js +193 -0
- package/public/assets/default.vertex-CKOvcJ54.js.br +0 -0
- package/public/assets/default.vertex-CKOvcJ54.js.gz +0 -0
- package/public/assets/default.vertex-DyPOsib0.js +181 -0
- package/public/assets/default.vertex-DyPOsib0.js.br +0 -0
- package/public/assets/default.vertex-DyPOsib0.js.gz +0 -0
- package/public/assets/defaultUboDeclaration-ChgZa3Dv.js +5 -0
- package/public/assets/defaultUboDeclaration-ChgZa3Dv.js.br +0 -0
- package/public/assets/defaultUboDeclaration-ChgZa3Dv.js.gz +0 -0
- package/public/assets/defaultUboDeclaration-Dzd2ch6X.js +7 -0
- package/public/assets/defaultUboDeclaration-Dzd2ch6X.js.br +0 -0
- package/public/assets/defaultUboDeclaration-Dzd2ch6X.js.gz +0 -0
- package/public/assets/depth.fragment-B9FDfPgW.js +40 -0
- package/public/assets/depth.fragment-B9FDfPgW.js.br +2 -0
- package/public/assets/depth.fragment-B9FDfPgW.js.gz +0 -0
- package/public/assets/depth.vertex-DXkbiW3p.js +57 -0
- package/public/assets/depth.vertex-DXkbiW3p.js.br +0 -0
- package/public/assets/depth.vertex-DXkbiW3p.js.gz +0 -0
- package/public/assets/depthBoxBlur.fragment-BlgJGCM0.js +6 -0
- package/public/assets/depthBoxBlur.fragment-BlgJGCM0.js.br +0 -0
- package/public/assets/depthBoxBlur.fragment-BlgJGCM0.js.gz +0 -0
- package/public/assets/depthBoxBlur.fragment-DUm61npj.js +5 -0
- package/public/assets/depthBoxBlur.fragment-DUm61npj.js.br +0 -0
- package/public/assets/depthBoxBlur.fragment-DUm61npj.js.gz +0 -0
- package/public/assets/depthOfFieldMerge.fragment-25hKWM62.js +21 -0
- package/public/assets/depthOfFieldMerge.fragment-25hKWM62.js.br +0 -0
- package/public/assets/depthOfFieldMerge.fragment-25hKWM62.js.gz +0 -0
- package/public/assets/depthOfFieldMerge.fragment-_d6h2qdf.js +26 -0
- package/public/assets/depthOfFieldMerge.fragment-_d6h2qdf.js.br +0 -0
- package/public/assets/depthOfFieldMerge.fragment-_d6h2qdf.js.gz +0 -0
- package/public/assets/easing-BkcTAuOI.js +1 -0
- package/public/assets/easing-BkcTAuOI.js.br +0 -0
- package/public/assets/easing-BkcTAuOI.js.gz +0 -0
- package/public/assets/editor-core-plugin-host-c2002442.js +1 -0
- package/public/assets/editor-core-plugin-host-c2002442.js.br +0 -0
- package/public/assets/editor-core-plugin-host-c2002442.js.gz +0 -0
- package/public/assets/exrTextureLoader-DD6CMgpF.js +1 -0
- package/public/assets/exrTextureLoader-DD6CMgpF.js.br +0 -0
- package/public/assets/exrTextureLoader-DD6CMgpF.js.gz +0 -0
- package/public/assets/flowGraphArrayIndexBlock-DAsvnV45.js +1 -0
- package/public/assets/flowGraphArrayIndexBlock-DAsvnV45.js.br +0 -0
- package/public/assets/flowGraphArrayIndexBlock-DAsvnV45.js.gz +0 -0
- package/public/assets/flowGraphBezierCurveEasingBlock-_sVLfNt3.js +1 -0
- package/public/assets/flowGraphBezierCurveEasingBlock-_sVLfNt3.js.br +0 -0
- package/public/assets/flowGraphBezierCurveEasingBlock-_sVLfNt3.js.gz +0 -0
- package/public/assets/flowGraphBinaryOperationBlock-D9lz9r7e.js +1 -0
- package/public/assets/flowGraphBinaryOperationBlock-D9lz9r7e.js.br +0 -0
- package/public/assets/flowGraphBinaryOperationBlock-D9lz9r7e.js.gz +0 -0
- package/public/assets/flowGraphBranchBlock-BMgiYImb.js +1 -0
- package/public/assets/flowGraphBranchBlock-BMgiYImb.js.br +0 -0
- package/public/assets/flowGraphBranchBlock-BMgiYImb.js.gz +0 -0
- package/public/assets/flowGraphCachedOperationBlock-CDf6OBvO.js +1 -0
- package/public/assets/flowGraphCachedOperationBlock-CDf6OBvO.js.br +0 -0
- package/public/assets/flowGraphCachedOperationBlock-CDf6OBvO.js.gz +0 -0
- package/public/assets/flowGraphCancelDelayBlock-BbyDVz48.js +1 -0
- package/public/assets/flowGraphCancelDelayBlock-BbyDVz48.js.br +0 -0
- package/public/assets/flowGraphCancelDelayBlock-BbyDVz48.js.gz +0 -0
- package/public/assets/flowGraphCodeExecutionBlock-fMRePVwn.js +1 -0
- package/public/assets/flowGraphCodeExecutionBlock-fMRePVwn.js.br +0 -0
- package/public/assets/flowGraphCodeExecutionBlock-fMRePVwn.js.gz +0 -0
- package/public/assets/flowGraphConditionalDataBlock-Db9HPH7K.js +1 -0
- package/public/assets/flowGraphConditionalDataBlock-Db9HPH7K.js.br +0 -0
- package/public/assets/flowGraphConditionalDataBlock-Db9HPH7K.js.gz +0 -0
- package/public/assets/flowGraphConsoleLogBlock-U9fcEDaX.js +1 -0
- package/public/assets/flowGraphConsoleLogBlock-U9fcEDaX.js.br +0 -0
- package/public/assets/flowGraphConsoleLogBlock-U9fcEDaX.js.gz +0 -0
- package/public/assets/flowGraphConstantBlock-CN1Myhpi.js +1 -0
- package/public/assets/flowGraphConstantBlock-CN1Myhpi.js.br +0 -0
- package/public/assets/flowGraphConstantBlock-CN1Myhpi.js.gz +0 -0
- package/public/assets/flowGraphContextBlock-BbRTNgI4.js +1 -0
- package/public/assets/flowGraphContextBlock-BbRTNgI4.js.br +0 -0
- package/public/assets/flowGraphContextBlock-BbRTNgI4.js.gz +0 -0
- package/public/assets/flowGraphCounterBlock-DTqShVsi.js +1 -0
- package/public/assets/flowGraphCounterBlock-DTqShVsi.js.br +0 -0
- package/public/assets/flowGraphCounterBlock-DTqShVsi.js.gz +0 -0
- package/public/assets/flowGraphDataSwitchBlock-BtEqygYT.js +1 -0
- package/public/assets/flowGraphDataSwitchBlock-BtEqygYT.js.br +0 -0
- package/public/assets/flowGraphDataSwitchBlock-BtEqygYT.js.gz +0 -0
- package/public/assets/flowGraphDebounceBlock-CNHFUJ8N.js +1 -0
- package/public/assets/flowGraphDebounceBlock-CNHFUJ8N.js.br +0 -0
- package/public/assets/flowGraphDebounceBlock-CNHFUJ8N.js.gz +0 -0
- package/public/assets/flowGraphDoNBlock-DfiUsh6W.js +1 -0
- package/public/assets/flowGraphDoNBlock-DfiUsh6W.js.br +0 -0
- package/public/assets/flowGraphDoNBlock-DfiUsh6W.js.gz +0 -0
- package/public/assets/flowGraphEasingBlock-BQz5MDh1.js +1 -0
- package/public/assets/flowGraphEasingBlock-BQz5MDh1.js.br +0 -0
- package/public/assets/flowGraphEasingBlock-BQz5MDh1.js.gz +0 -0
- package/public/assets/flowGraphFlipFlopBlock-FFeDrjtF.js +1 -0
- package/public/assets/flowGraphFlipFlopBlock-FFeDrjtF.js.br +0 -0
- package/public/assets/flowGraphFlipFlopBlock-FFeDrjtF.js.gz +0 -0
- package/public/assets/flowGraphForLoopBlock-CjPa-aIl.js +1 -0
- package/public/assets/flowGraphForLoopBlock-CjPa-aIl.js.br +0 -0
- package/public/assets/flowGraphForLoopBlock-CjPa-aIl.js.gz +0 -0
- package/public/assets/flowGraphFunctionReferenceBlock-CUUBvJaO.js +1 -0
- package/public/assets/flowGraphFunctionReferenceBlock-CUUBvJaO.js.br +0 -0
- package/public/assets/flowGraphFunctionReferenceBlock-CUUBvJaO.js.gz +0 -0
- package/public/assets/flowGraphGetAssetBlock-CuKntTUp.js +1 -0
- package/public/assets/flowGraphGetAssetBlock-CuKntTUp.js.br +0 -0
- package/public/assets/flowGraphGetAssetBlock-CuKntTUp.js.gz +0 -0
- package/public/assets/flowGraphGetPropertyBlock-r3I5d5Pw.js +1 -0
- package/public/assets/flowGraphGetPropertyBlock-r3I5d5Pw.js.br +0 -0
- package/public/assets/flowGraphGetPropertyBlock-r3I5d5Pw.js.gz +0 -0
- package/public/assets/flowGraphGetVariableBlock-ByAhPias.js +1 -0
- package/public/assets/flowGraphGetVariableBlock-ByAhPias.js.br +0 -0
- package/public/assets/flowGraphGetVariableBlock-ByAhPias.js.gz +0 -0
- package/public/assets/flowGraphIndexOfBlock-kKyrBvN9.js +1 -0
- package/public/assets/flowGraphIndexOfBlock-kKyrBvN9.js.br +0 -0
- package/public/assets/flowGraphIndexOfBlock-kKyrBvN9.js.gz +0 -0
- package/public/assets/flowGraphInterpolationBlock-C1KggJs6.js +1 -0
- package/public/assets/flowGraphInterpolationBlock-C1KggJs6.js.br +0 -0
- package/public/assets/flowGraphInterpolationBlock-C1KggJs6.js.gz +0 -0
- package/public/assets/flowGraphJsonPointerParserBlock-Cq1Nm55u.js +1 -0
- package/public/assets/flowGraphJsonPointerParserBlock-Cq1Nm55u.js.br +0 -0
- package/public/assets/flowGraphJsonPointerParserBlock-Cq1Nm55u.js.gz +0 -0
- package/public/assets/flowGraphMathBlocks-DyKkUJIM.js +1 -0
- package/public/assets/flowGraphMathBlocks-DyKkUJIM.js.br +0 -0
- package/public/assets/flowGraphMathBlocks-DyKkUJIM.js.gz +0 -0
- package/public/assets/flowGraphMathCombineExtractBlocks-DWLx9Jo-.js +1 -0
- package/public/assets/flowGraphMathCombineExtractBlocks-DWLx9Jo-.js.br +0 -0
- package/public/assets/flowGraphMathCombineExtractBlocks-DWLx9Jo-.js.gz +0 -0
- package/public/assets/flowGraphMatrixMathBlocks-CEbyv5Ky.js +1 -0
- package/public/assets/flowGraphMatrixMathBlocks-CEbyv5Ky.js.br +0 -0
- package/public/assets/flowGraphMatrixMathBlocks-CEbyv5Ky.js.gz +0 -0
- package/public/assets/flowGraphMeshPickEventBlock-DBaLM4_x.js +1 -0
- package/public/assets/flowGraphMeshPickEventBlock-DBaLM4_x.js.br +0 -0
- package/public/assets/flowGraphMeshPickEventBlock-DBaLM4_x.js.gz +0 -0
- package/public/assets/flowGraphMultiGateBlock-0zKVRfwg.js +1 -0
- package/public/assets/flowGraphMultiGateBlock-0zKVRfwg.js.br +0 -0
- package/public/assets/flowGraphMultiGateBlock-0zKVRfwg.js.gz +0 -0
- package/public/assets/flowGraphPauseAnimationBlock-Cj1qZ8KL.js +1 -0
- package/public/assets/flowGraphPauseAnimationBlock-Cj1qZ8KL.js.br +0 -0
- package/public/assets/flowGraphPauseAnimationBlock-Cj1qZ8KL.js.gz +0 -0
- package/public/assets/flowGraphPlayAnimationBlock-CmNlz0tC.js +1 -0
- package/public/assets/flowGraphPlayAnimationBlock-CmNlz0tC.js.br +0 -0
- package/public/assets/flowGraphPlayAnimationBlock-CmNlz0tC.js.gz +0 -0
- package/public/assets/flowGraphPointerOutEventBlock-CksX91Wf.js +1 -0
- package/public/assets/flowGraphPointerOutEventBlock-CksX91Wf.js.br +4 -0
- package/public/assets/flowGraphPointerOutEventBlock-CksX91Wf.js.gz +0 -0
- package/public/assets/flowGraphPointerOverEventBlock-BAzWo2rO.js +1 -0
- package/public/assets/flowGraphPointerOverEventBlock-BAzWo2rO.js.br +0 -0
- package/public/assets/flowGraphPointerOverEventBlock-BAzWo2rO.js.gz +0 -0
- package/public/assets/flowGraphReceiveCustomEventBlock-DodatkWu.js +1 -0
- package/public/assets/flowGraphReceiveCustomEventBlock-DodatkWu.js.br +0 -0
- package/public/assets/flowGraphReceiveCustomEventBlock-DodatkWu.js.gz +0 -0
- package/public/assets/flowGraphSceneReadyEventBlock-CdZZEJxf.js +1 -0
- package/public/assets/flowGraphSceneReadyEventBlock-CdZZEJxf.js.br +0 -0
- package/public/assets/flowGraphSceneReadyEventBlock-CdZZEJxf.js.gz +0 -0
- package/public/assets/flowGraphSceneTickEventBlock-BO5xEA0D.js +1 -0
- package/public/assets/flowGraphSceneTickEventBlock-BO5xEA0D.js.br +0 -0
- package/public/assets/flowGraphSceneTickEventBlock-BO5xEA0D.js.gz +0 -0
- package/public/assets/flowGraphSendCustomEventBlock-BSbW6X-n.js +1 -0
- package/public/assets/flowGraphSendCustomEventBlock-BSbW6X-n.js.br +0 -0
- package/public/assets/flowGraphSendCustomEventBlock-BSbW6X-n.js.gz +0 -0
- package/public/assets/flowGraphSequenceBlock-Ppc6pXve.js +1 -0
- package/public/assets/flowGraphSequenceBlock-Ppc6pXve.js.br +0 -0
- package/public/assets/flowGraphSequenceBlock-Ppc6pXve.js.gz +0 -0
- package/public/assets/flowGraphSetDelayBlock-Ckikj9nw.js +1 -0
- package/public/assets/flowGraphSetDelayBlock-Ckikj9nw.js.br +0 -0
- package/public/assets/flowGraphSetDelayBlock-Ckikj9nw.js.gz +0 -0
- package/public/assets/flowGraphSetPropertyBlock-BgUzizbV.js +1 -0
- package/public/assets/flowGraphSetPropertyBlock-BgUzizbV.js.br +0 -0
- package/public/assets/flowGraphSetPropertyBlock-BgUzizbV.js.gz +0 -0
- package/public/assets/flowGraphSetVariableBlock-BdpCJTDy.js +1 -0
- package/public/assets/flowGraphSetVariableBlock-BdpCJTDy.js.br +0 -0
- package/public/assets/flowGraphSetVariableBlock-BdpCJTDy.js.gz +0 -0
- package/public/assets/flowGraphStopAnimationBlock-NXtDyWkx.js +1 -0
- package/public/assets/flowGraphStopAnimationBlock-NXtDyWkx.js.br +0 -0
- package/public/assets/flowGraphStopAnimationBlock-NXtDyWkx.js.gz +0 -0
- package/public/assets/flowGraphSwitchBlock-BtAbN5pw.js +1 -0
- package/public/assets/flowGraphSwitchBlock-BtAbN5pw.js.br +0 -0
- package/public/assets/flowGraphSwitchBlock-BtAbN5pw.js.gz +0 -0
- package/public/assets/flowGraphThrottleBlock-DouJgya1.js +1 -0
- package/public/assets/flowGraphThrottleBlock-DouJgya1.js.br +0 -0
- package/public/assets/flowGraphThrottleBlock-DouJgya1.js.gz +0 -0
- package/public/assets/flowGraphTransformCoordinatesSystemBlock-DnCim8eo.js +1 -0
- package/public/assets/flowGraphTransformCoordinatesSystemBlock-DnCim8eo.js.br +0 -0
- package/public/assets/flowGraphTransformCoordinatesSystemBlock-DnCim8eo.js.gz +0 -0
- package/public/assets/flowGraphTypeToTypeBlocks-DvTPkHj8.js +1 -0
- package/public/assets/flowGraphTypeToTypeBlocks-DvTPkHj8.js.br +4 -0
- package/public/assets/flowGraphTypeToTypeBlocks-DvTPkHj8.js.gz +0 -0
- package/public/assets/flowGraphUnaryOperationBlock-DfKZLa84.js +1 -0
- package/public/assets/flowGraphUnaryOperationBlock-DfKZLa84.js.br +0 -0
- package/public/assets/flowGraphUnaryOperationBlock-DfKZLa84.js.gz +0 -0
- package/public/assets/flowGraphVectorMathBlocks-BQCEcK0m.js +1 -0
- package/public/assets/flowGraphVectorMathBlocks-BQCEcK0m.js.br +0 -0
- package/public/assets/flowGraphVectorMathBlocks-BQCEcK0m.js.gz +0 -0
- package/public/assets/flowGraphWaitAllBlock-ClqfM5vn.js +1 -0
- package/public/assets/flowGraphWaitAllBlock-ClqfM5vn.js.br +0 -0
- package/public/assets/flowGraphWaitAllBlock-ClqfM5vn.js.gz +0 -0
- package/public/assets/flowGraphWhileLoopBlock-DkTf5x3Z.js +1 -0
- package/public/assets/flowGraphWhileLoopBlock-DkTf5x3Z.js.br +0 -0
- package/public/assets/flowGraphWhileLoopBlock-DkTf5x3Z.js.gz +0 -0
- package/public/assets/fogFragmentDeclaration-CJgnG_Ui.js +22 -0
- package/public/assets/fogFragmentDeclaration-CJgnG_Ui.js.br +0 -0
- package/public/assets/fogFragmentDeclaration-CJgnG_Ui.js.gz +0 -0
- package/public/assets/fogFragmentDeclaration-Dk_KLGI0.js +23 -0
- package/public/assets/fogFragmentDeclaration-Dk_KLGI0.js.br +0 -0
- package/public/assets/fogFragmentDeclaration-Dk_KLGI0.js.gz +0 -0
- package/public/assets/glowBlurPostProcess.fragment-BmoPp0DJ.js +7 -0
- package/public/assets/glowBlurPostProcess.fragment-BmoPp0DJ.js.br +0 -0
- package/public/assets/glowBlurPostProcess.fragment-BmoPp0DJ.js.gz +0 -0
- package/public/assets/glowBlurPostProcess.fragment-DSvlweiI.js +7 -0
- package/public/assets/glowBlurPostProcess.fragment-DSvlweiI.js.br +0 -0
- package/public/assets/glowBlurPostProcess.fragment-DSvlweiI.js.gz +0 -0
- package/public/assets/glowMapGeneration.fragment-BmCna86b.js +63 -0
- package/public/assets/glowMapGeneration.fragment-BmCna86b.js.br +0 -0
- package/public/assets/glowMapGeneration.fragment-BmCna86b.js.gz +0 -0
- package/public/assets/glowMapGeneration.fragment-Bx0somqR.js +63 -0
- package/public/assets/glowMapGeneration.fragment-Bx0somqR.js.br +0 -0
- package/public/assets/glowMapGeneration.fragment-Bx0somqR.js.gz +0 -0
- package/public/assets/glowMapGeneration.vertex-C_K1FVYg.js +75 -0
- package/public/assets/glowMapGeneration.vertex-C_K1FVYg.js.br +0 -0
- package/public/assets/glowMapGeneration.vertex-C_K1FVYg.js.gz +0 -0
- package/public/assets/glowMapGeneration.vertex-Fp7OnH6p.js +75 -0
- package/public/assets/glowMapGeneration.vertex-Fp7OnH6p.js.br +0 -0
- package/public/assets/glowMapGeneration.vertex-Fp7OnH6p.js.gz +0 -0
- package/public/assets/glowMapMerge.fragment-0u_W2SCj.js +25 -0
- package/public/assets/glowMapMerge.fragment-0u_W2SCj.js.br +0 -0
- package/public/assets/glowMapMerge.fragment-0u_W2SCj.js.gz +0 -0
- package/public/assets/glowMapMerge.fragment-DbrUnHjm.js +23 -0
- package/public/assets/glowMapMerge.fragment-DbrUnHjm.js.br +0 -0
- package/public/assets/glowMapMerge.fragment-DbrUnHjm.js.gz +0 -0
- package/public/assets/glowMapMerge.vertex-CuTJKa7K.js +7 -0
- package/public/assets/glowMapMerge.vertex-CuTJKa7K.js.br +0 -0
- package/public/assets/glowMapMerge.vertex-CuTJKa7K.js.gz +0 -0
- package/public/assets/glowMapMerge.vertex-DAvXVsHl.js +8 -0
- package/public/assets/glowMapMerge.vertex-DAvXVsHl.js.br +0 -0
- package/public/assets/glowMapMerge.vertex-DAvXVsHl.js.gz +0 -0
- package/public/assets/grain.fragment-6VtM1VfQ.js +6 -0
- package/public/assets/grain.fragment-6VtM1VfQ.js.br +0 -0
- package/public/assets/grain.fragment-6VtM1VfQ.js.gz +0 -0
- package/public/assets/grain.fragment-DDSnqVVY.js +5 -0
- package/public/assets/grain.fragment-DDSnqVVY.js.br +4 -1
- package/public/assets/grain.fragment-DDSnqVVY.js.gz +0 -0
- package/public/assets/harmonicsFunctions-BKiAKdWL.js +189 -0
- package/public/assets/harmonicsFunctions-BKiAKdWL.js.br +0 -0
- package/public/assets/harmonicsFunctions-BKiAKdWL.js.gz +0 -0
- package/public/assets/harmonicsFunctions-BdFr0SEn.js +192 -0
- package/public/assets/harmonicsFunctions-BdFr0SEn.js.br +0 -0
- package/public/assets/harmonicsFunctions-BdFr0SEn.js.gz +0 -0
- package/public/assets/hdrTextureLoader-BZMtuzrh.js +2 -0
- package/public/assets/hdrTextureLoader-BZMtuzrh.js.br +0 -0
- package/public/assets/hdrTextureLoader-BZMtuzrh.js.gz +0 -0
- package/public/assets/hemisphericLight-BF-Si7a7.js +1 -0
- package/public/assets/hemisphericLight-BF-Si7a7.js.br +0 -0
- package/public/assets/hemisphericLight-BF-Si7a7.js.gz +0 -0
- package/public/assets/iesTextureLoader-CfjtMyLq.js +2 -0
- package/public/assets/iesTextureLoader-CfjtMyLq.js.br +0 -0
- package/public/assets/iesTextureLoader-CfjtMyLq.js.gz +0 -0
- package/public/assets/index-Bc_2vm3Z.js +4 -0
- package/public/assets/index-Bc_2vm3Z.js.br +0 -0
- package/public/assets/index-Bc_2vm3Z.js.gz +0 -0
- package/public/assets/index-DKM_mvsP.js +1 -0
- package/public/assets/index-DKM_mvsP.js.br +0 -0
- package/public/assets/index-DKM_mvsP.js.gz +0 -0
- package/public/assets/instancesDeclaration-DpE3Y0C1.js +23 -0
- package/public/assets/instancesDeclaration-DpE3Y0C1.js.br +0 -0
- package/public/assets/instancesDeclaration-DpE3Y0C1.js.gz +0 -0
- package/public/assets/ktxTextureLoader-7eTZtvh5.js +1 -0
- package/public/assets/ktxTextureLoader-7eTZtvh5.js.br +0 -0
- package/public/assets/ktxTextureLoader-7eTZtvh5.js.gz +0 -0
- package/public/assets/lazy-BcZCe0kL.js +2 -0
- package/public/assets/lazy-BcZCe0kL.js.br +0 -0
- package/public/assets/lazy-BcZCe0kL.js.gz +0 -0
- package/public/assets/lod.fragment-CEfFyCdU.js +3 -0
- package/public/assets/lod.fragment-CEfFyCdU.js.br +0 -0
- package/public/assets/lod.fragment-CEfFyCdU.js.gz +0 -0
- package/public/assets/lod.fragment-DT0r7jVm.js +3 -0
- package/public/assets/lod.fragment-DT0r7jVm.js.br +0 -0
- package/public/assets/lod.fragment-DT0r7jVm.js.gz +0 -0
- package/public/assets/lodCube.fragment-BP5e9OXG.js +22 -0
- package/public/assets/lodCube.fragment-BP5e9OXG.js.br +0 -0
- package/public/assets/lodCube.fragment-BP5e9OXG.js.gz +0 -0
- package/public/assets/lodCube.fragment-mh7W3FpN.js +22 -0
- package/public/assets/lodCube.fragment-mh7W3FpN.js.br +0 -0
- package/public/assets/lodCube.fragment-mh7W3FpN.js.gz +0 -0
- package/public/assets/logDepthDeclaration-DapB3ji1.js +4 -0
- package/public/assets/logDepthDeclaration-_-FceU2g.js +4 -0
- package/public/assets/logDepthFragment-BowlR5UY.js +4 -0
- package/public/assets/logDepthFragment-D1ov0i96.js +4 -0
- package/public/assets/logDepthFragment-D1ov0i96.js.br +0 -0
- package/public/assets/logDepthFragment-D1ov0i96.js.gz +0 -0
- package/public/assets/logDepthVertex-dEn2jB_d.js +4 -0
- package/public/assets/logDepthVertex-dEn2jB_d.js.br +2 -0
- package/public/assets/logDepthVertex-dEn2jB_d.js.gz +0 -0
- package/public/assets/logDepthVertex-jWY57236.js +4 -0
- package/public/assets/logDepthVertex-jWY57236.js.br +3 -0
- package/public/assets/logDepthVertex-jWY57236.js.gz +0 -0
- package/public/assets/mainUVVaryingDeclaration-B-lJcjME.js +4 -0
- package/public/assets/mainUVVaryingDeclaration-D1LMmumw.js +4 -0
- package/public/assets/mesh.vertexData.functions-BXkNVxNr.js +1 -0
- package/public/assets/mesh.vertexData.functions-BXkNVxNr.js.br +0 -0
- package/public/assets/mesh.vertexData.functions-BXkNVxNr.js.gz +0 -0
- package/public/assets/meshUboDeclaration-B5FWJmqY.js +13 -0
- package/public/assets/meshUboDeclaration-B5FWJmqY.js.br +1 -0
- package/public/assets/meshUboDeclaration-B5FWJmqY.js.gz +0 -0
- package/public/assets/meshUboDeclaration-DthvNL2q.js +13 -0
- package/public/assets/meshUboDeclaration-DthvNL2q.js.br +0 -0
- package/public/assets/meshUboDeclaration-DthvNL2q.js.gz +0 -0
- package/public/assets/morphTargetsVertex-DHRA_mKb.js +100 -0
- package/public/assets/morphTargetsVertex-DHRA_mKb.js.br +0 -0
- package/public/assets/morphTargetsVertex-DHRA_mKb.js.gz +0 -0
- package/public/assets/oitFinalSimpleBlend.fragment-BDN2XF0x.js +2 -0
- package/public/assets/oitFinalSimpleBlend.fragment-BDN2XF0x.js.br +0 -0
- package/public/assets/oitFinalSimpleBlend.fragment-BDN2XF0x.js.gz +0 -0
- package/public/assets/oitFinalSimpleBlend.fragment-C5RtcXZE.js +3 -0
- package/public/assets/oitFinalSimpleBlend.fragment-C5RtcXZE.js.br +0 -0
- package/public/assets/oitFinalSimpleBlend.fragment-C5RtcXZE.js.gz +0 -0
- package/public/assets/oitFragment-CAXGfgFH.js +1202 -0
- package/public/assets/oitFragment-CAXGfgFH.js.br +0 -0
- package/public/assets/oitFragment-CAXGfgFH.js.gz +0 -0
- package/public/assets/oitFragment-ay081Wsi.js +1077 -0
- package/public/assets/oitFragment-ay081Wsi.js.br +0 -0
- package/public/assets/oitFragment-ay081Wsi.js.gz +0 -0
- package/public/assets/openpbrMaterial-KVtjwf0K.js +2 -0
- package/public/assets/openpbrMaterial-KVtjwf0K.js.br +0 -0
- package/public/assets/openpbrMaterial-KVtjwf0K.js.gz +0 -0
- package/public/assets/outline.fragment-BanVWYIB.js +21 -0
- package/public/assets/outline.fragment-BanVWYIB.js.br +0 -0
- package/public/assets/outline.fragment-BanVWYIB.js.gz +0 -0
- package/public/assets/outline.fragment-CFKJOJ3l.js +18 -0
- package/public/assets/outline.fragment-CFKJOJ3l.js.br +0 -0
- package/public/assets/outline.fragment-CFKJOJ3l.js.gz +0 -0
- package/public/assets/outline.vertex-1q1i1Z0k.js +47 -0
- package/public/assets/outline.vertex-1q1i1Z0k.js.br +0 -0
- package/public/assets/outline.vertex-1q1i1Z0k.js.gz +0 -0
- package/public/assets/outline.vertex-yrM712o1.js +47 -0
- package/public/assets/outline.vertex-yrM712o1.js.br +0 -0
- package/public/assets/outline.vertex-yrM712o1.js.gz +0 -0
- package/public/assets/passCube.fragment-4x9m1yB9.js +23 -0
- package/public/assets/passCube.fragment-4x9m1yB9.js.br +0 -0
- package/public/assets/passCube.fragment-4x9m1yB9.js.gz +0 -0
- package/public/assets/passCube.fragment-j0YEcfrM.js +23 -0
- package/public/assets/passCube.fragment-j0YEcfrM.js.br +3 -0
- package/public/assets/passCube.fragment-j0YEcfrM.js.gz +0 -0
- package/public/assets/pbr.fragment-D4c9Imut.js +3277 -0
- package/public/assets/pbr.fragment-D4c9Imut.js.br +0 -0
- package/public/assets/pbr.fragment-D4c9Imut.js.gz +0 -0
- package/public/assets/pbr.fragment-qKZeRSsL.js +3327 -0
- package/public/assets/pbr.fragment-qKZeRSsL.js.br +0 -0
- package/public/assets/pbr.fragment-qKZeRSsL.js.gz +0 -0
- package/public/assets/pbr.vertex-CNWuYREY.js +227 -0
- package/public/assets/pbr.vertex-CNWuYREY.js.br +0 -0
- package/public/assets/pbr.vertex-CNWuYREY.js.gz +0 -0
- package/public/assets/pbr.vertex-joJmxK7Z.js +357 -0
- package/public/assets/pbr.vertex-joJmxK7Z.js.br +0 -0
- package/public/assets/pbr.vertex-joJmxK7Z.js.gz +0 -0
- package/public/assets/playable-local-editor-entry-BpT9asOr.js +4 -0
- package/public/assets/playable-local-editor-entry-BpT9asOr.js.br +0 -0
- package/public/assets/playable-local-editor-entry-BpT9asOr.js.gz +0 -0
- package/public/assets/playable-sdk-CrJqCMfO.js +5074 -0
- package/public/assets/playable-sdk-CrJqCMfO.js.br +0 -0
- package/public/assets/playable-sdk-CrJqCMfO.js.gz +0 -0
- package/public/assets/rgbdDecode.fragment-DVQvgSkR.js +5 -0
- package/public/assets/rgbdDecode.fragment-DVQvgSkR.js.br +0 -0
- package/public/assets/rgbdDecode.fragment-DVQvgSkR.js.gz +0 -0
- package/public/assets/rgbdDecode.fragment-jfF24wPs.js +5 -0
- package/public/assets/rgbdDecode.fragment-jfF24wPs.js.br +0 -0
- package/public/assets/rgbdDecode.fragment-jfF24wPs.js.gz +0 -0
- package/public/assets/rgbdEncode.fragment-AWVgflWm.js +5 -0
- package/public/assets/rgbdEncode.fragment-AWVgflWm.js.br +0 -0
- package/public/assets/rgbdEncode.fragment-AWVgflWm.js.gz +0 -0
- package/public/assets/rgbdEncode.fragment-DZGlem9k.js +5 -0
- package/public/assets/rgbdEncode.fragment-DZGlem9k.js.br +0 -0
- package/public/assets/rgbdEncode.fragment-DZGlem9k.js.gz +0 -0
- package/public/assets/sceneLoader-BJz_3O1N.js +1 -0
- package/public/assets/sceneLoader-BJz_3O1N.js.br +0 -0
- package/public/assets/sceneLoader-BJz_3O1N.js.gz +0 -0
- package/public/assets/screenSpaceCurvature.fragment-B-CUjGj1.js +15 -0
- package/public/assets/screenSpaceCurvature.fragment-B-CUjGj1.js.br +0 -0
- package/public/assets/screenSpaceCurvature.fragment-B-CUjGj1.js.gz +0 -0
- package/public/assets/selection.fragment-G8Edn4iI.js +35 -0
- package/public/assets/selection.fragment-G8Edn4iI.js.br +0 -0
- package/public/assets/selection.fragment-G8Edn4iI.js.gz +0 -0
- package/public/assets/selection.fragment-lxotM05-.js +35 -0
- package/public/assets/selection.fragment-lxotM05-.js.br +0 -0
- package/public/assets/selection.fragment-lxotM05-.js.gz +0 -0
- package/public/assets/selection.vertex-BXV_f7Y2.js +74 -0
- package/public/assets/selection.vertex-BXV_f7Y2.js.br +0 -0
- package/public/assets/selection.vertex-BXV_f7Y2.js.gz +0 -0
- package/public/assets/selection.vertex-N4uHCMNz.js +73 -0
- package/public/assets/selection.vertex-N4uHCMNz.js.br +0 -0
- package/public/assets/selection.vertex-N4uHCMNz.js.gz +0 -0
- package/public/assets/selectionOutline.fragment-GI37GIN9.js +48 -0
- package/public/assets/selectionOutline.fragment-GI37GIN9.js.br +0 -0
- package/public/assets/selectionOutline.fragment-GI37GIN9.js.gz +0 -0
- package/public/assets/selectionOutline.fragment-Hvq4J9-Z.js +47 -0
- package/public/assets/selectionOutline.fragment-Hvq4J9-Z.js.br +0 -0
- package/public/assets/selectionOutline.fragment-Hvq4J9-Z.js.gz +0 -0
- package/public/assets/shadowMap.fragment-Bc5HgWvg.js +79 -0
- package/public/assets/shadowMap.fragment-Bc5HgWvg.js.br +0 -0
- package/public/assets/shadowMap.fragment-Bc5HgWvg.js.gz +0 -0
- package/public/assets/shadowMap.fragment-C43vlUxN.js +78 -0
- package/public/assets/shadowMap.fragment-C43vlUxN.js.br +0 -0
- package/public/assets/shadowMap.fragment-C43vlUxN.js.gz +0 -0
- package/public/assets/shadowMap.vertex-CneYEevu.js +119 -0
- package/public/assets/shadowMap.vertex-CneYEevu.js.br +0 -0
- package/public/assets/shadowMap.vertex-CneYEevu.js.gz +0 -0
- package/public/assets/shadowMap.vertex-DCmGPxPg.js +109 -0
- package/public/assets/shadowMap.vertex-DCmGPxPg.js.br +0 -0
- package/public/assets/shadowMap.vertex-DCmGPxPg.js.gz +0 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-20DchIFl.js +4 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-20DchIFl.js.br +0 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-20DchIFl.js.gz +0 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-CcyAwByw.js +4 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-CcyAwByw.js.br +0 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-CcyAwByw.js.gz +0 -0
- package/public/assets/sharpen.fragment-u0Zk00IW.js +8 -0
- package/public/assets/sharpen.fragment-u0Zk00IW.js.br +0 -0
- package/public/assets/sharpen.fragment-u0Zk00IW.js.gz +0 -0
- package/public/assets/standardMaterial-CgDYhl-K.js +1329 -0
- package/public/assets/standardMaterial-CgDYhl-K.js.br +0 -0
- package/public/assets/standardMaterial-CgDYhl-K.js.gz +0 -0
- package/public/assets/textureMerger.fragment-Bb06oGwL.js +84 -0
- package/public/assets/textureMerger.fragment-Bb06oGwL.js.br +0 -0
- package/public/assets/textureMerger.fragment-Bb06oGwL.js.gz +0 -0
- package/public/assets/textureMerger.fragment-yYgn-A7X.js +76 -0
- package/public/assets/textureMerger.fragment-yYgn-A7X.js.br +0 -0
- package/public/assets/textureMerger.fragment-yYgn-A7X.js.gz +0 -0
- package/public/assets/tgaTextureLoader-BD8cHb3T.js +1 -0
- package/public/assets/tgaTextureLoader-BD8cHb3T.js.br +0 -0
- package/public/assets/tgaTextureLoader-BD8cHb3T.js.gz +0 -0
- package/public/assets/vertexColorMixing-31u6kp3A.js +24 -0
- package/public/assets/vertexColorMixing-31u6kp3A.js.br +1 -0
- package/public/assets/vertexColorMixing-31u6kp3A.js.gz +0 -0
- package/public/assets/vertexColorMixing-CWKPQGdm.js +20 -0
- package/public/assets/vertexColorMixing-CWKPQGdm.js.br +0 -0
- package/public/assets/vertexColorMixing-CWKPQGdm.js.gz +0 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-9wHUWZ30.js +11 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-9wHUWZ30.js.br +0 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-9wHUWZ30.js.gz +0 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-N-9p72Fm.js +12 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-N-9p72Fm.js.br +0 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-N-9p72Fm.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-DJkHTox8.js +15 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-DJkHTox8.js.br +0 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-DJkHTox8.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-uuHa0TVJ.js +13 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-uuHa0TVJ.js.br +0 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-uuHa0TVJ.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-DR3E2COu.js +4 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-DR3E2COu.js.br +0 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-DR3E2COu.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-DhGKqZWW.js +5 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-DhGKqZWW.js.br +0 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-DhGKqZWW.js.gz +0 -0
- package/public/assets/webAudioBus-uR5af0TN.js +1 -0
- package/public/assets/webAudioBus-uR5af0TN.js.br +0 -0
- package/public/assets/webAudioBus-uR5af0TN.js.gz +0 -0
- package/public/assets/webAudioMainBus-B4JHk1VB.js +1 -0
- package/public/assets/webAudioMainBus-B4JHk1VB.js.br +0 -0
- package/public/assets/webAudioMainBus-B4JHk1VB.js.gz +0 -0
- package/public/assets/workerPool-H9Ji3mCo.js +1 -0
- package/public/assets/workerPool-H9Ji3mCo.js.br +2 -0
- package/public/assets/workerPool-H9Ji3mCo.js.gz +0 -0
- package/public/index.html +19 -0
- package/public/index.html.br +0 -0
- package/public/index.html.gz +0 -0
- package/runtime/editor-control-plane.mjs +5 -0
- package/worker/editor-service-worker.mjs +1 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import{fp as n}from"./standardMaterial-CgDYhl-K.js";const e="textureMergerPixelShader",r=`#ifdef USE_TEXTURE0
|
|
2
|
+
uniform sampler2D inputTexture0;
|
|
3
|
+
#endif
|
|
4
|
+
#ifdef USE_TEXTURE1
|
|
5
|
+
uniform sampler2D inputTexture1;
|
|
6
|
+
#endif
|
|
7
|
+
#ifdef USE_TEXTURE2
|
|
8
|
+
uniform sampler2D inputTexture2;
|
|
9
|
+
#endif
|
|
10
|
+
#ifdef USE_TEXTURE3
|
|
11
|
+
uniform sampler2D inputTexture3;
|
|
12
|
+
#endif
|
|
13
|
+
#ifdef RED_FROM_TEXTURE
|
|
14
|
+
uniform int redTextureIndex;uniform int redSourceChannel;
|
|
15
|
+
#else
|
|
16
|
+
uniform float redConstantValue;
|
|
17
|
+
#endif
|
|
18
|
+
#ifdef GREEN_FROM_TEXTURE
|
|
19
|
+
uniform int greenTextureIndex;uniform int greenSourceChannel;
|
|
20
|
+
#else
|
|
21
|
+
uniform float greenConstantValue;
|
|
22
|
+
#endif
|
|
23
|
+
#ifdef BLUE_FROM_TEXTURE
|
|
24
|
+
uniform int blueTextureIndex;uniform int blueSourceChannel;
|
|
25
|
+
#else
|
|
26
|
+
uniform float blueConstantValue;
|
|
27
|
+
#endif
|
|
28
|
+
#ifdef ALPHA_FROM_TEXTURE
|
|
29
|
+
uniform int alphaTextureIndex;uniform int alphaSourceChannel;
|
|
30
|
+
#else
|
|
31
|
+
uniform float alphaConstantValue;
|
|
32
|
+
#endif
|
|
33
|
+
varying vec2 vUV;
|
|
34
|
+
#if defined(RED_FROM_TEXTURE) || defined(GREEN_FROM_TEXTURE) || defined(BLUE_FROM_TEXTURE) || defined(ALPHA_FROM_TEXTURE)
|
|
35
|
+
vec4 sampleTexture(int textureIndex,vec2 uv) {switch (textureIndex) {
|
|
36
|
+
#ifdef USE_TEXTURE0
|
|
37
|
+
case 0:
|
|
38
|
+
return texture2D(inputTexture0,uv);
|
|
39
|
+
#endif
|
|
40
|
+
#ifdef USE_TEXTURE1
|
|
41
|
+
case 1:
|
|
42
|
+
return texture2D(inputTexture1,uv);
|
|
43
|
+
#endif
|
|
44
|
+
#ifdef USE_TEXTURE2
|
|
45
|
+
case 2:
|
|
46
|
+
return texture2D(inputTexture2,uv);
|
|
47
|
+
#endif
|
|
48
|
+
#ifdef USE_TEXTURE3
|
|
49
|
+
case 3:
|
|
50
|
+
return texture2D(inputTexture3,uv);
|
|
51
|
+
#endif
|
|
52
|
+
default:
|
|
53
|
+
return vec4(0.0,0.0,0.0,1.0); }}
|
|
54
|
+
float extractChannel(vec4 color,int channelIndex) {switch (channelIndex) {case 0:
|
|
55
|
+
return color.r;
|
|
56
|
+
case 1:
|
|
57
|
+
return color.g;
|
|
58
|
+
case 2:
|
|
59
|
+
return color.b;
|
|
60
|
+
default:
|
|
61
|
+
return color.a; }}
|
|
62
|
+
#endif
|
|
63
|
+
void main() {vec2 uv=vUV;
|
|
64
|
+
#ifdef RED_FROM_TEXTURE
|
|
65
|
+
vec4 redSample=sampleTexture(redTextureIndex,uv);float r=extractChannel(redSample,redSourceChannel);
|
|
66
|
+
#else
|
|
67
|
+
float r=redConstantValue;
|
|
68
|
+
#endif
|
|
69
|
+
#ifdef GREEN_FROM_TEXTURE
|
|
70
|
+
vec4 greenSample=sampleTexture(greenTextureIndex,uv);float g=extractChannel(greenSample,greenSourceChannel);
|
|
71
|
+
#else
|
|
72
|
+
float g=greenConstantValue;
|
|
73
|
+
#endif
|
|
74
|
+
#ifdef BLUE_FROM_TEXTURE
|
|
75
|
+
vec4 blueSample=sampleTexture(blueTextureIndex,uv);float b=extractChannel(blueSample,blueSourceChannel);
|
|
76
|
+
#else
|
|
77
|
+
float b=blueConstantValue;
|
|
78
|
+
#endif
|
|
79
|
+
#ifdef ALPHA_FROM_TEXTURE
|
|
80
|
+
vec4 alphaSample=sampleTexture(alphaTextureIndex,uv);float a=extractChannel(alphaSample,alphaSourceChannel);
|
|
81
|
+
#else
|
|
82
|
+
float a=alphaConstantValue;
|
|
83
|
+
#endif
|
|
84
|
+
gl_FragColor=vec4(r,g,b,a);}`;n.ShadersStore[e]||(n.ShadersStore[e]=r);const a={name:e,shader:r};export{a as textureMergerPixelShader};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import{fp as r}from"./standardMaterial-CgDYhl-K.js";const e="textureMergerPixelShader",n=`#ifdef USE_TEXTURE0
|
|
2
|
+
var inputTexture0Sampler: sampler;var inputTexture0: texture_2d<f32>;
|
|
3
|
+
#endif
|
|
4
|
+
#ifdef USE_TEXTURE1
|
|
5
|
+
var inputTexture1Sampler: sampler;var inputTexture1: texture_2d<f32>;
|
|
6
|
+
#endif
|
|
7
|
+
#ifdef USE_TEXTURE2
|
|
8
|
+
var inputTexture2Sampler: sampler;var inputTexture2: texture_2d<f32>;
|
|
9
|
+
#endif
|
|
10
|
+
#ifdef USE_TEXTURE3
|
|
11
|
+
var inputTexture3Sampler: sampler;var inputTexture3: texture_2d<f32>;
|
|
12
|
+
#endif
|
|
13
|
+
#ifdef RED_FROM_TEXTURE
|
|
14
|
+
uniform redTextureIndex: i32;uniform redSourceChannel: i32;
|
|
15
|
+
#else
|
|
16
|
+
uniform redConstantValue: f32;
|
|
17
|
+
#endif
|
|
18
|
+
#ifdef GREEN_FROM_TEXTURE
|
|
19
|
+
uniform greenTextureIndex: i32;uniform greenSourceChannel: i32;
|
|
20
|
+
#else
|
|
21
|
+
uniform greenConstantValue: f32;
|
|
22
|
+
#endif
|
|
23
|
+
#ifdef BLUE_FROM_TEXTURE
|
|
24
|
+
uniform blueTextureIndex: i32;uniform blueSourceChannel: i32;
|
|
25
|
+
#else
|
|
26
|
+
uniform blueConstantValue: f32;
|
|
27
|
+
#endif
|
|
28
|
+
#ifdef ALPHA_FROM_TEXTURE
|
|
29
|
+
uniform alphaTextureIndex: i32;uniform alphaSourceChannel: i32;
|
|
30
|
+
#else
|
|
31
|
+
uniform alphaConstantValue: f32;
|
|
32
|
+
#endif
|
|
33
|
+
varying vUV: vec2f;
|
|
34
|
+
#if defined(RED_FROM_TEXTURE) || defined(GREEN_FROM_TEXTURE) || defined(BLUE_FROM_TEXTURE) || defined(ALPHA_FROM_TEXTURE)
|
|
35
|
+
fn sampleTexture(textureIndex: i32,uv: vec2f)->vec4f {switch (textureIndex) {
|
|
36
|
+
#ifdef USE_TEXTURE0
|
|
37
|
+
case 0: {return textureSample(inputTexture0,inputTexture0Sampler,uv);}
|
|
38
|
+
#endif
|
|
39
|
+
#ifdef USE_TEXTURE1
|
|
40
|
+
case 1: {return textureSample(inputTexture1,inputTexture1Sampler,uv);}
|
|
41
|
+
#endif
|
|
42
|
+
#ifdef USE_TEXTURE2
|
|
43
|
+
case 2: {return textureSample(inputTexture2,inputTexture2Sampler,uv);}
|
|
44
|
+
#endif
|
|
45
|
+
#ifdef USE_TEXTURE3
|
|
46
|
+
case 3: {return textureSample(inputTexture3,inputTexture3Sampler,uv);}
|
|
47
|
+
#endif
|
|
48
|
+
default: {return vec4f(0.0,0.0,0.0,1.0); }}}
|
|
49
|
+
fn extractChannel(color: vec4f,channelIndex: i32)->f32 {switch (channelIndex) {case 0: {return color.r; }
|
|
50
|
+
case 1: {return color.g; }
|
|
51
|
+
case 2: {return color.b; }
|
|
52
|
+
default: {return color.a; }}}
|
|
53
|
+
#endif
|
|
54
|
+
@fragment
|
|
55
|
+
fn main(input: FragmentInputs)->FragmentOutputs {let uv: vec2f=input.vUV;
|
|
56
|
+
#ifdef RED_FROM_TEXTURE
|
|
57
|
+
let redSample: vec4f=sampleTexture(uniforms.redTextureIndex,uv);let r: f32=extractChannel(redSample,uniforms.redSourceChannel);
|
|
58
|
+
#else
|
|
59
|
+
let r: f32=uniforms.redConstantValue;
|
|
60
|
+
#endif
|
|
61
|
+
#ifdef GREEN_FROM_TEXTURE
|
|
62
|
+
let greenSample: vec4f=sampleTexture(uniforms.greenTextureIndex,uv);let g: f32=extractChannel(greenSample,uniforms.greenSourceChannel);
|
|
63
|
+
#else
|
|
64
|
+
let g: f32=uniforms.greenConstantValue;
|
|
65
|
+
#endif
|
|
66
|
+
#ifdef BLUE_FROM_TEXTURE
|
|
67
|
+
let blueSample: vec4f=sampleTexture(uniforms.blueTextureIndex,uv);let b: f32=extractChannel(blueSample,uniforms.blueSourceChannel);
|
|
68
|
+
#else
|
|
69
|
+
let b: f32=uniforms.blueConstantValue;
|
|
70
|
+
#endif
|
|
71
|
+
#ifdef ALPHA_FROM_TEXTURE
|
|
72
|
+
let alphaSample: vec4f=sampleTexture(uniforms.alphaTextureIndex,uv);let a: f32=extractChannel(alphaSample,uniforms.alphaSourceChannel);
|
|
73
|
+
#else
|
|
74
|
+
let a: f32=uniforms.alphaConstantValue;
|
|
75
|
+
#endif
|
|
76
|
+
fragmentOutputs.color=vec4f(r,g,b,a);}`;r.ShadersStoreWGSL[e]||(r.ShadersStoreWGSL[e]=n);const u={name:e,shader:n};export{u as textureMergerPixelShaderWGSL};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{di as d}from"./standardMaterial-CgDYhl-K.js";const R=1,U=2,N=3,O=9,L=10,Y=11,k=48,z=4,P=0,B=1,C=2,M=3;function I(o){let n=0;return{id_length:o[n++],colormap_type:o[n++],image_type:o[n++],colormap_index:o[n++]|o[n++]<<8,colormap_length:o[n++]|o[n++]<<8,colormap_size:o[n++],origin:[o[n++]|o[n++]<<8,o[n++]|o[n++]<<8],width:o[n++]|o[n++]<<8,height:o[n++]|o[n++]<<8,pixel_size:o[n++],flags:o[n]}}function A(o,n){if(n.length<19){d.Error("Unable to load TGA file - Not enough data to contain header");return}let c=18;const r=I(n);if(r.id_length+c>n.length){d.Error("Unable to load TGA file - Not enough data");return}c+=r.id_length;let _=!1,f=!1,p=!1;switch(r.image_type){case O:_=!0;case R:f=!0;break;case L:_=!0;case U:break;case Y:_=!0;case N:p=!0;break}let m;const u=r.pixel_size>>3,g=r.width*r.height*u;let s;if(f&&(s=n.subarray(c,c+=r.colormap_length*(r.colormap_size>>3))),_){m=new Uint8Array(g);let G,x,y,w=0;const E=new Uint8Array(u);for(;c<g&&w<g;)if(G=n[c++],x=(G&127)+1,G&128){for(y=0;y<u;++y)E[y]=n[c++];for(y=0;y<x;++y)m.set(E,w+y*u);w+=u*x}else{for(x*=u,y=0;y<x;++y)m[w+y]=n[c++];w+=x}}else m=n.subarray(c,c+(f?r.width*r.height:g));let h,a,i,t,e,l;switch((r.flags&k)>>z){default:case C:h=0,i=1,l=r.width,a=0,t=1,e=r.height;break;case P:h=0,i=1,l=r.width,a=r.height-1,t=-1,e=-1;break;case M:h=r.width-1,i=-1,l=-1,a=0,t=1,e=r.height;break;case B:h=r.width-1,i=-1,l=-1,a=r.height-1,t=-1,e=-1;break}const b="_getImageData"+(p?"Grey":"")+r.pixel_size+"bits",D=K[b](r,s,m,a,t,e,h,i,l);o.getEngine()._uploadDataToTextureDirectly(o,D)}function S(o,n,c,r,_,f,p,m,u){const g=c,s=n,h=o.width,a=o.height;let i,t=0,e,l;const b=new Uint8Array(h*a*4);for(l=r;l!==f;l+=_)for(e=p;e!==u;e+=m,t++)i=g[t],b[(e+h*l)*4+3]=255,b[(e+h*l)*4+2]=s[i*3+0],b[(e+h*l)*4+1]=s[i*3+1],b[(e+h*l)*4+0]=s[i*3+2];return b}function j(o,n,c,r,_,f,p,m,u){const g=c,s=o.width,h=o.height;let a,i=0,t,e;const l=new Uint8Array(s*h*4);for(e=r;e!==f;e+=_)for(t=p;t!==u;t+=m,i+=2){a=g[i+0]+(g[i+1]<<8);const b=((a&31744)>>10)*255/31|0,D=((a&992)>>5)*255/31|0,T=(a&31)*255/31|0;l[(t+s*e)*4+0]=b,l[(t+s*e)*4+1]=D,l[(t+s*e)*4+2]=T,l[(t+s*e)*4+3]=a&32768?0:255}return l}function v(o,n,c,r,_,f,p,m,u){const g=c,s=o.width,h=o.height;let a=0,i,t;const e=new Uint8Array(s*h*4);for(t=r;t!==f;t+=_)for(i=p;i!==u;i+=m,a+=3)e[(i+s*t)*4+3]=255,e[(i+s*t)*4+2]=g[a+0],e[(i+s*t)*4+1]=g[a+1],e[(i+s*t)*4+0]=g[a+2];return e}function H(o,n,c,r,_,f,p,m,u){const g=c,s=o.width,h=o.height;let a=0,i,t;const e=new Uint8Array(s*h*4);for(t=r;t!==f;t+=_)for(i=p;i!==u;i+=m,a+=4)e[(i+s*t)*4+2]=g[a+0],e[(i+s*t)*4+1]=g[a+1],e[(i+s*t)*4+0]=g[a+2],e[(i+s*t)*4+3]=g[a+3];return e}function X(o,n,c,r,_,f,p,m,u){const g=c,s=o.width,h=o.height;let a,i=0,t,e;const l=new Uint8Array(s*h*4);for(e=r;e!==f;e+=_)for(t=p;t!==u;t+=m,i++)a=g[i],l[(t+s*e)*4+0]=a,l[(t+s*e)*4+1]=a,l[(t+s*e)*4+2]=a,l[(t+s*e)*4+3]=255;return l}function F(o,n,c,r,_,f,p,m,u){const g=c,s=o.width,h=o.height;let a=0,i,t;const e=new Uint8Array(s*h*4);for(t=r;t!==f;t+=_)for(i=p;i!==u;i+=m,a+=2)e[(i+s*t)*4+0]=g[a+0],e[(i+s*t)*4+1]=g[a+0],e[(i+s*t)*4+2]=g[a+0],e[(i+s*t)*4+3]=g[a+1];return e}const K={GetTGAHeader:I,UploadContent:A,_getImageData8bits:S,_getImageData16bits:j,_getImageData24bits:v,_getImageData32bits:H,_getImageDataGrey8bits:X,_getImageDataGrey16bits:F};class q{constructor(){this.supportCascades=!1}loadCubeData(){throw".env not supported in Cube."}loadData(n,c,r){const _=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),f=I(_);r(f.width,f.height,c.generateMipMaps,!1,()=>{A(c,_)})}}const Q=Object.freeze(Object.defineProperty({__proto__:null,_TGATextureLoader:q},Symbol.toStringTag,{value:"Module"}));export{I as G,K as T,A as U,q as _,Q as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{fp as e}from"./standardMaterial-CgDYhl-K.js";const t="fogVertexDeclaration",s=`#ifdef FOG
|
|
2
|
+
varying vFogDistance: vec3f;
|
|
3
|
+
#endif
|
|
4
|
+
`;e.IncludesShadersStoreWGSL[t]||(e.IncludesShadersStoreWGSL[t]=s);const r="fogVertex",n=`#ifdef FOG
|
|
5
|
+
#ifdef SCENE_UBO
|
|
6
|
+
vertexOutputs.vFogDistance=(scene.view*worldPos).xyz;
|
|
7
|
+
#else
|
|
8
|
+
vertexOutputs.vFogDistance=(uniforms.view*worldPos).xyz;
|
|
9
|
+
#endif
|
|
10
|
+
#endif
|
|
11
|
+
`;e.IncludesShadersStoreWGSL[r]||(e.IncludesShadersStoreWGSL[r]=n);const o="vertexColorMixing",d=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
|
|
12
|
+
vertexOutputs.vColor=vec4f(1.0);
|
|
13
|
+
#ifdef VERTEXCOLOR
|
|
14
|
+
#ifdef VERTEXALPHA
|
|
15
|
+
vertexOutputs.vColor*=vertexInputs.color;
|
|
16
|
+
#else
|
|
17
|
+
vertexOutputs.vColor=vec4f(vertexOutputs.vColor.rgb*vertexInputs.color.rgb,vertexOutputs.vColor.a);
|
|
18
|
+
#endif
|
|
19
|
+
#endif
|
|
20
|
+
#ifdef INSTANCESCOLOR
|
|
21
|
+
vertexOutputs.vColor*=vertexInputs.instanceColor;
|
|
22
|
+
#endif
|
|
23
|
+
#endif
|
|
24
|
+
`;e.IncludesShadersStoreWGSL[o]||(e.IncludesShadersStoreWGSL[o]=d);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
�@��8�Q%�4wl�NI�ԓ��щ�2���2�]S�������5��2G���g�)�m6�}��_��<c�����0�%o���eү�s�b��O����L��Mi�&������x�J��G����zҏEF3�^���!3��G��1��@�z���k&aT��gz��9F� �D���&nP����8�d[�1�}�ӑ�!���>O�6SN���}�E�5w/T��<�u2H��I+6��㍚�S���ʙa��/�KFf6^�WԬ���f�u:�,�0�]䎠�Eq��Ȕ�<<��Jt�rk�q\�^xPy�'��5�8�8�q���������L�v�`�a�y{g
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{fp as e}from"./standardMaterial-CgDYhl-K.js";const d="fogVertexDeclaration",n=`#ifdef FOG
|
|
2
|
+
varying vec3 vFogDistance;
|
|
3
|
+
#endif
|
|
4
|
+
`;e.IncludesShadersStore[d]||(e.IncludesShadersStore[d]=n);const o="fogVertex",f=`#ifdef FOG
|
|
5
|
+
vFogDistance=(view*worldPos).xyz;
|
|
6
|
+
#endif
|
|
7
|
+
`;e.IncludesShadersStore[o]||(e.IncludesShadersStore[o]=f);const r="vertexColorMixing",i=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
|
|
8
|
+
vColor=vec4(1.0);
|
|
9
|
+
#ifdef VERTEXCOLOR
|
|
10
|
+
#ifdef VERTEXALPHA
|
|
11
|
+
vColor*=colorUpdated;
|
|
12
|
+
#else
|
|
13
|
+
vColor.rgb*=colorUpdated.rgb;
|
|
14
|
+
#endif
|
|
15
|
+
#endif
|
|
16
|
+
#ifdef INSTANCESCOLOR
|
|
17
|
+
vColor*=instanceColor;
|
|
18
|
+
#endif
|
|
19
|
+
#endif
|
|
20
|
+
`;e.IncludesShadersStore[r]||(e.IncludesShadersStore[r]=i);
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{fp as o}from"./standardMaterial-CgDYhl-K.js";const e="volumetricLightingBlendVolumePixelShader",i=`varying vec2 vUV;uniform sampler2D textureSampler;uniform sampler2D depthSampler;uniform mat4 invProjection;uniform vec2 outputTextureSize;
|
|
2
|
+
#ifdef USE_EXTINCTION
|
|
3
|
+
uniform vec3 extinction;
|
|
4
|
+
#endif
|
|
5
|
+
#define CUSTOM_FRAGMENT_DEFINITIONS
|
|
6
|
+
void main(void) {gl_FragColor=texture2D(textureSampler,vUV);
|
|
7
|
+
#ifdef USE_EXTINCTION
|
|
8
|
+
float depth=texelFetch(depthSampler,ivec2(gl_FragCoord.xy),0).r;vec4 ndc=vec4((gl_FragCoord.xy/outputTextureSize)*2.-1.,depth*2.-1.,1.0);vec4 viewPos=invProjection*ndc;viewPos=viewPos/viewPos.w;float eyeDist=length(viewPos);gl_FragColor2=vec4(exp(-extinction*eyeDist),1.0);
|
|
9
|
+
#endif
|
|
10
|
+
}
|
|
11
|
+
`;o.ShadersStore[e]||(o.ShadersStore[e]=i);const t={name:e,shader:i};export{t as volumetricLightingBlendVolumePixelShader};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{fp as t}from"./standardMaterial-CgDYhl-K.js";const e="volumetricLightingBlendVolumePixelShader",r=`varying vUV: vec2f;var textureSamplerSampler: sampler;var textureSampler: texture_2d<f32>;var depthSampler: texture_2d<f32>;uniform invProjection: mat4x4<f32>;uniform outputTextureSize: vec2f;
|
|
2
|
+
#ifdef USE_EXTINCTION
|
|
3
|
+
uniform extinction: vec3f;
|
|
4
|
+
#endif
|
|
5
|
+
#define CUSTOM_FRAGMENT_DEFINITIONS
|
|
6
|
+
@fragment
|
|
7
|
+
fn main(input: FragmentInputs)->FragmentOutputs {fragmentOutputs.color=textureSample(textureSampler,textureSamplerSampler,input.vUV);
|
|
8
|
+
#ifdef USE_EXTINCTION
|
|
9
|
+
let depth=textureLoad(depthSampler,vec2u(fragmentInputs.position.xy),0).r;let ndc=vec4f((fragmentInputs.position.xy/uniforms.outputTextureSize)*2.-1.,depth,1.0);var viewPos=uniforms.invProjection*ndc;viewPos=viewPos/viewPos.w;let eyeDist=length(viewPos);fragmentOutputs.color2=vec4f(exp(-uniforms.extinction*eyeDist),1.0);
|
|
10
|
+
#endif
|
|
11
|
+
}
|
|
12
|
+
`;t.ShadersStoreWGSL[e]||(t.ShadersStoreWGSL[e]=r);const n={name:e,shader:r};export{n as volumetricLightingBlendVolumePixelShaderWGSL};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{fp as t}from"./standardMaterial-CgDYhl-K.js";import"./meshUboDeclaration-B5FWJmqY.js";const e="volumetricLightingRenderVolumePixelShader",i=`#include<sceneUboDeclaration>
|
|
2
|
+
#include<meshUboDeclaration>
|
|
3
|
+
uniform invViewProjection: mat4x4<f32>;uniform lightDir: vec3f;
|
|
4
|
+
uniform outputTextureSize: vec2f;uniform extinctionPhaseG: vec4f;uniform lightPower: vec3f;uniform textureRatio: vec2f;var depthTexture: texture_2d<f32>;varying vWorldPos: vec4f;fn henyeyGreenstein(g: f32,cosTheta: f32)->f32 {let denom=1+g*g-2*g*cosTheta;return 1.0/(4.0*3.14159265)*(1.0-g*g)/(denom*sqrt(max(denom,0.0)));}
|
|
5
|
+
fn integrateDirectional(eyeDist: f32,viewDir: vec3f,lightDir: vec3f)->vec3f {let phaseG=uniforms.extinctionPhaseG.w;
|
|
6
|
+
#ifdef USE_EXTINCTION
|
|
7
|
+
let extinction=uniforms.extinctionPhaseG.xyz;return henyeyGreenstein(phaseG,dot(viewDir,lightDir))*(vec3f(1.0)-exp(-extinction*eyeDist))/extinction;
|
|
8
|
+
#else
|
|
9
|
+
return vec3f(henyeyGreenstein(phaseG,dot(viewDir,lightDir)))*vec3f(eyeDist);
|
|
10
|
+
#endif
|
|
11
|
+
}
|
|
12
|
+
@fragment
|
|
13
|
+
fn main(input: FragmentInputs)->FragmentOutputs {let depth=textureLoad(depthTexture,vec2u(fragmentInputs.position.xy*uniforms.textureRatio),0).r;var worldPos=fragmentInputs.vWorldPos;if (fragmentInputs.position.z>depth) {let ndc=vec4f((fragmentInputs.position.xy/uniforms.outputTextureSize)*2.-1.,depth,1.0);worldPos=uniforms.invViewProjection*ndc;worldPos=worldPos/worldPos.w;}
|
|
14
|
+
var viewDir=worldPos.xyz-scene.vEyePosition.xyz;let eyeDist=length(viewDir);viewDir=viewDir/eyeDist;let fSign=select(-1.0,1.0,fragmentInputs.frontFacing);let integral=integrateDirectional(eyeDist,-viewDir,uniforms.lightDir);fragmentOutputs.color=vec4f(uniforms.lightPower*integral*fSign,1.0);}
|
|
15
|
+
`;t.ShadersStoreWGSL[e]||(t.ShadersStoreWGSL[e]=i);const o={name:e,shader:i};export{o as volumetricLightingRenderVolumePixelShaderWGSL};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{fp as t}from"./standardMaterial-CgDYhl-K.js";import"./babylon-core-DygJEuf6.js";import"./meshUboDeclaration-DthvNL2q.js";import"./animationGroup-BN6ExD_I.js";import"./animation-DY4Gs-Pw.js";import"./lazy-BcZCe0kL.js";import"./workerPool-H9Ji3mCo.js";import"./easing-BkcTAuOI.js";import"./abstractAudioBus-DKeLA-55.js";import"./webAudioBus-uR5af0TN.js";import"./webAudioMainBus-B4JHk1VB.js";import"./arcRotateCamera-BrOEThh0.js";import"./flowGraphJsonPointerParserBlock-Cq1Nm55u.js";import"./flowGraphCachedOperationBlock-CDf6OBvO.js";import"./flowGraphConsoleLogBlock-U9fcEDaX.js";import"./flowGraphBranchBlock-BMgiYImb.js";import"./flowGraphDoNBlock-DfiUsh6W.js";import"./flowGraphForLoopBlock-CjPa-aIl.js";import"./flowGraphThrottleBlock-DouJgya1.js";import"./flowGraphMultiGateBlock-0zKVRfwg.js";import"./flowGraphSwitchBlock-BtAbN5pw.js";import"./flowGraphWaitAllBlock-ClqfM5vn.js";import"./flowGraphCounterBlock-DTqShVsi.js";import"./flowGraphWhileLoopBlock-DkTf5x3Z.js";import"./flowGraphDebounceBlock-CNHFUJ8N.js";import"./flowGraphFlipFlopBlock-FFeDrjtF.js";import"./flowGraphSequenceBlock-Ppc6pXve.js";import"./flowGraphSetDelayBlock-Ckikj9nw.js";import"./flowGraphCancelDelayBlock-BbyDVz48.js";import"./flowGraphPlayAnimationBlock-CmNlz0tC.js";import"./flowGraphStopAnimationBlock-NXtDyWkx.js";import"./flowGraphPauseAnimationBlock-Cj1qZ8KL.js";import"./flowGraphInterpolationBlock-C1KggJs6.js";import"./flowGraphEasingBlock-BQz5MDh1.js";import"./flowGraphBezierCurveEasingBlock-_sVLfNt3.js";import"./flowGraphConditionalDataBlock-Db9HPH7K.js";import"./flowGraphGetVariableBlock-ByAhPias.js";import"./flowGraphSetVariableBlock-BdpCJTDy.js";import"./flowGraphTransformCoordinatesSystemBlock-DnCim8eo.js";import"./flowGraphGetPropertyBlock-r3I5d5Pw.js";import"./flowGraphSetPropertyBlock-BgUzizbV.js";import"./flowGraphConstantBlock-CN1Myhpi.js";import"./flowGraphGetAssetBlock-CuKntTUp.js";import"./flowGraphDataSwitchBlock-BtEqygYT.js";import"./flowGraphMathBlocks-DyKkUJIM.js";import"./flowGraphBinaryOperationBlock-D9lz9r7e.js";import"./flowGraphUnaryOperationBlock-DfKZLa84.js";import"./flowGraphMathCombineExtractBlocks-DWLx9Jo-.js";import"./flowGraphMatrixMathBlocks-CEbyv5Ky.js";import"./flowGraphVectorMathBlocks-BQCEcK0m.js";import"./flowGraphTypeToTypeBlocks-DvTPkHj8.js";import"./flowGraphContextBlock-BbRTNgI4.js";import"./flowGraphArrayIndexBlock-DAsvnV45.js";import"./flowGraphCodeExecutionBlock-fMRePVwn.js";import"./flowGraphIndexOfBlock-kKyrBvN9.js";import"./flowGraphFunctionReferenceBlock-CUUBvJaO.js";import"./flowGraphMeshPickEventBlock-DBaLM4_x.js";import"./flowGraphSceneReadyEventBlock-CdZZEJxf.js";import"./flowGraphReceiveCustomEventBlock-DodatkWu.js";import"./flowGraphSendCustomEventBlock-BSbW6X-n.js";import"./flowGraphSceneTickEventBlock-BO5xEA0D.js";import"./flowGraphPointerOutEventBlock-CksX91Wf.js";import"./flowGraphPointerOverEventBlock-BAzWo2rO.js";import"./glowMapGeneration.fragment-BmCna86b.js";import"./glowMapGeneration.vertex-C_K1FVYg.js";import"./glowMapGeneration.fragment-Bx0somqR.js";import"./clipPlaneFragment-Da_1RMjt.js";import"./glowMapGeneration.vertex-Fp7OnH6p.js";import"./clipPlaneVertex-B8PIfZU_.js";import"./morphTargetsVertex-DHRA_mKb.js";import"./instancesDeclaration-DpE3Y0C1.js";import"./glowMapMerge.fragment-DbrUnHjm.js";import"./glowMapMerge.vertex-CuTJKa7K.js";import"./glowBlurPostProcess.fragment-BmoPp0DJ.js";import"./glowMapMerge.fragment-0u_W2SCj.js";import"./glowMapMerge.vertex-DAvXVsHl.js";import"./glowBlurPostProcess.fragment-DSvlweiI.js";import"./shadowMap.fragment-C43vlUxN.js";import"./shadowMap.vertex-DCmGPxPg.js";import"./meshUboDeclaration-B5FWJmqY.js";import"./depthBoxBlur.fragment-DUm61npj.js";import"./shadowMapFragmentSoftTransparentShadow-20DchIFl.js";import"./shadowMap.fragment-Bc5HgWvg.js";import"./shadowMap.vertex-CneYEevu.js";import"./depthBoxBlur.fragment-BlgJGCM0.js";import"./shadowMapFragmentSoftTransparentShadow-CcyAwByw.js";import"./hemisphericLight-BF-Si7a7.js";import"./iesTextureLoader-CfjtMyLq.js";import"./sceneLoader-BJz_3O1N.js";import"./openpbrMaterial-KVtjwf0K.js";import"./pbr.vertex-CNWuYREY.js";import"./harmonicsFunctions-BdFr0SEn.js";import"./bumpVertex-CzYtMFbI.js";import"./mainUVVaryingDeclaration-D1LMmumw.js";import"./vertexColorMixing-31u6kp3A.js";import"./logDepthDeclaration-_-FceU2g.js";import"./logDepthVertex-jWY57236.js";import"./pbr.fragment-D4c9Imut.js";import"./oitFragment-ay081Wsi.js";import"./fogFragmentDeclaration-CJgnG_Ui.js";import"./logDepthFragment-D1ov0i96.js";import"./pbr.vertex-joJmxK7Z.js";import"./bumpVertex-DIMp0NiU.js";import"./harmonicsFunctions-BKiAKdWL.js";import"./mainUVVaryingDeclaration-B-lJcjME.js";import"./vertexColorMixing-CWKPQGdm.js";import"./logDepthDeclaration-DapB3ji1.js";import"./logDepthVertex-dEn2jB_d.js";import"./pbr.fragment-qKZeRSsL.js";import"./oitFragment-CAXGfgFH.js";import"./fogFragmentDeclaration-Dk_KLGI0.js";import"./logDepthFragment-BowlR5UY.js";import"./ddsTextureLoader-Bwa3u-Gp.js";import"./dds-CbA4nCCq.js";import"./ktxTextureLoader-7eTZtvh5.js";import"./tgaTextureLoader-BD8cHb3T.js";import"./hdrTextureLoader-BZMtuzrh.js";import"./basisTextureLoader-BWwwG7Gw.js";import"./exrTextureLoader-DD6CMgpF.js";import"./default.fragment-DjNCicws.js";import"./defaultUboDeclaration-ChgZa3Dv.js";import"./default.fragment-BKaVVFYF.js";import"./defaultUboDeclaration-Dzd2ch6X.js";import"./default.vertex-CKOvcJ54.js";import"./default.vertex-DyPOsib0.js";import"./mesh.vertexData.functions-BXkNVxNr.js";import"./color.fragment-Bf62ouS6.js";import"./color.vertex-DYnzh3f-.js";import"./color.fragment-DtJC5xR0.js";import"./color.vertex-foaAsgqw.js";import"./lodCube.fragment-BP5e9OXG.js";import"./lod.fragment-CEfFyCdU.js";import"./lodCube.fragment-mh7W3FpN.js";import"./lod.fragment-DT0r7jVm.js";import"./rgbdDecode.fragment-jfF24wPs.js";import"./rgbdEncode.fragment-DZGlem9k.js";import"./rgbdDecode.fragment-DVQvgSkR.js";import"./rgbdEncode.fragment-AWVgflWm.js";import"./passCube.fragment-j0YEcfrM.js";import"./passCube.fragment-4x9m1yB9.js";import"./sharpen.fragment-u0Zk00IW.js";import"./grain.fragment-6VtM1VfQ.js";import"./grain.fragment-DDSnqVVY.js";import"./chromaticAberration.fragment-BJhO9WeA.js";import"./chromaticAberration.fragment-DEAEmyJy.js";import"./depthOfFieldMerge.fragment-_d6h2qdf.js";import"./depthOfFieldMerge.fragment-25hKWM62.js";import"./circleOfConfusion.fragment-DGnleQIE.js";import"./circleOfConfusion.fragment-DqQcLT7C.js";import"./depth.fragment-B9FDfPgW.js";import"./depth.vertex-DXkbiW3p.js";import"./outline.fragment-BanVWYIB.js";import"./outline.vertex-yrM712o1.js";import"./outline.fragment-CFKJOJ3l.js";import"./outline.vertex-1q1i1Z0k.js";const i="volumetricLightingRenderVolumePixelShader",o=`#include<__decl__sceneFragment>
|
|
2
|
+
uniform mat4 invViewProjection;uniform vec3 lightDir;
|
|
3
|
+
uniform vec2 outputTextureSize;uniform vec4 extinctionPhaseG;uniform vec3 lightPower;uniform vec2 textureRatio;uniform sampler2D depthTexture;varying vec4 vWorldPos;float henyeyGreenstein(float g,float cosTheta) {float denom=1.0+g*g-2.0*g*cosTheta;return 1.0/(4.0*3.14159265)*(1.0-g*g)/(denom*sqrt(max(denom,0.0)));}
|
|
4
|
+
vec3 integrateDirectional(float eyeDist,vec3 viewDir,vec3 lightDir) {float phaseG=extinctionPhaseG.w;
|
|
5
|
+
#ifdef USE_EXTINCTION
|
|
6
|
+
vec3 extinction=extinctionPhaseG.xyz;return henyeyGreenstein(phaseG,dot(viewDir,lightDir))*(vec3(1.0)-exp(-extinction*eyeDist))/extinction;
|
|
7
|
+
#else
|
|
8
|
+
return vec3(henyeyGreenstein(phaseG,dot(viewDir,lightDir)))*vec3(eyeDist);
|
|
9
|
+
#endif
|
|
10
|
+
}
|
|
11
|
+
void main(void) {float depth=texelFetch(depthTexture,ivec2(gl_FragCoord.xy*textureRatio),0).r;vec4 worldPos=vWorldPos;if (gl_FragCoord.z>depth) {vec4 ndc=vec4((gl_FragCoord.xy/outputTextureSize)*2.0-1.0,depth*2.0-1.0,1.0);worldPos=invViewProjection*ndc;worldPos=worldPos/worldPos.w;}
|
|
12
|
+
vec3 viewDir=worldPos.xyz-vEyePosition.xyz;float eyeDist=length(viewDir);viewDir=viewDir/eyeDist;float fSign=gl_FrontFacing ? 1.0 : -1.0;vec3 integral=integrateDirectional(eyeDist,-viewDir,lightDir);gl_FragColor=vec4(lightPower*integral*fSign,1.0);}
|
|
13
|
+
`;t.ShadersStore[i]||(t.ShadersStore[i]=o);const Qt={name:i,shader:o};export{Qt as volumetricLightingRenderVolumePixelShader};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{fp as o}from"./standardMaterial-CgDYhl-K.js";import"./shadowMap.vertex-CneYEevu.js";import"./meshUboDeclaration-DthvNL2q.js";const e="volumetricLightingRenderVolumeVertexShader",r=`#include<__decl__sceneVertex>
|
|
2
|
+
#include<__decl__meshVertex>
|
|
3
|
+
attribute vec3 position;varying vec4 vWorldPos;void main(void) {vec4 worldPos=world*vec4(position,1.0);vWorldPos=worldPos;gl_Position=viewProjection*worldPos;}
|
|
4
|
+
`;o.ShadersStore[e]||(o.ShadersStore[e]=r);const n={name:e,shader:r};export{n as volumetricLightingRenderVolumeVertexShader};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{fp as t}from"./standardMaterial-CgDYhl-K.js";import"./meshUboDeclaration-B5FWJmqY.js";const e="volumetricLightingRenderVolumeVertexShader",o=`#include<sceneUboDeclaration>
|
|
2
|
+
#include<meshUboDeclaration>
|
|
3
|
+
attribute position : vec3f;varying vWorldPos: vec4f;@vertex
|
|
4
|
+
fn main(input : VertexInputs)->FragmentInputs {let worldPos=mesh.world*vec4f(vertexInputs.position,1.0);vertexOutputs.vWorldPos=worldPos;vertexOutputs.position=scene.viewProjection*worldPos;}
|
|
5
|
+
`;t.ShadersStoreWGSL[e]||(t.ShadersStoreWGSL[e]=o);const i={name:e,shader:o};export{i as volumetricLightingRenderVolumeVertexShaderWGSL};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as u}from"./abstractAudioBus-DKeLA-55.js";import{b6 as o,bd as a,bc as n,bg as r}from"./lazy-BcZCe0kL.js";class _ extends u{constructor(t,s,e){super(t,s),this._spatialAutoUpdate=!0,this._spatialMinUpdateTime=0,this._outBus=null,this._spatial=null,this._onOutBusDisposed=()=>{this.outBus=this.engine.defaultMainBus},typeof e.spatialAutoUpdate=="boolean"&&(this._spatialAutoUpdate=e.spatialAutoUpdate),typeof e.spatialMinUpdateTime=="number"&&(this._spatialMinUpdateTime=e.spatialMinUpdateTime)}get outBus(){return this._outBus}set outBus(t){if(this._outBus!==t){if(this._outBus&&(this._outBus.onDisposeObservable.removeCallback(this._onOutBusDisposed),!this._disconnect(this._outBus)))throw new Error("Disconnect failed");if(this._outBus=t,this._outBus&&(this._outBus.onDisposeObservable.add(this._onOutBusDisposed),!this._connect(this._outBus)))throw new Error("Connect failed")}}get spatial(){return this._spatial?this._spatial:this._initSpatialProperty()}dispose(){super.dispose(),this._spatial?.dispose(),this._spatial=null,this._outBus&&this._outBus.onDisposeObservable.removeCallback(this._onOutBusDisposed),this._outBus=null}_initSpatialProperty(){return this._spatial=this._createSpatialProperty(this._spatialAutoUpdate,this._spatialMinUpdateTime)}}class i extends _{constructor(t,s,e){super(t,s,e),this._stereo=null,this._subGraph=new i._SubGraph(this)}async _initAsync(t){t.outBus?this.outBus=t.outBus:(await this.engine.isReadyPromise,this.outBus=this.engine.defaultMainBus),await this._subGraph.initAsync(t),o(t)&&this._initSpatialProperty(),this.engine._addNode(this)}dispose(){super.dispose(),this._stereo=null,this.engine._removeNode(this)}get _inNode(){return this._subGraph._inNode}get _outNode(){return this._subGraph._outNode}get stereo(){return this._stereo??(this._stereo=new a(this._subGraph))}getClassName(){return"_WebAudioBus"}_createSpatialProperty(t,s){return new n(this._subGraph,t,s)}_connect(t){return super._connect(t)?(t._inNode&&this._outNode?.connect(t._inNode),!0):!1}_disconnect(t){return super._disconnect(t)?(t._inNode&&this._outNode?.disconnect(t._inNode),!0):!1}}i._SubGraph=class extends r{get _downstreamNodes(){return this._owner._downstreamNodes??null}get _upstreamNodes(){return this._owner._upstreamNodes??null}};const l=Object.freeze(Object.defineProperty({__proto__:null,_WebAudioBus:i},Symbol.toStringTag,{value:"Module"}));export{_ as A,i as _,l as w};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as s}from"./abstractAudioBus-DKeLA-55.js";import{bf as i}from"./lazy-BcZCe0kL.js";class o extends s{constructor(e,t){super(e,t)}}class n extends o{constructor(e,t){super(e,t),this._subGraph=new n._SubGraph(this)}async _initAsync(e){if(await this._subGraph.initAsync(e),this.engine.mainOut&&!this._connect(this.engine.mainOut))throw new Error("Connect failed");this.engine._addMainBus(this)}dispose(){super.dispose(),this.engine._removeMainBus(this)}get _inNode(){return this._subGraph._inNode}get _outNode(){return this._subGraph._outNode}_connect(e){return super._connect(e)?(e._inNode&&this._outNode?.connect(e._inNode),!0):!1}_disconnect(e){return super._disconnect(e)?(e._inNode&&this._outNode?.disconnect(e._inNode),!0):!1}getClassName(){return"_WebAudioMainBus"}}n._SubGraph=class extends i{get _downstreamNodes(){return this._owner._downstreamNodes??null}};const a=Object.freeze(Object.defineProperty({__proto__:null,_WebAudioMainBus:n},Symbol.toStringTag,{value:"Module"}));export{o as M,n as _,a as w};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class h{constructor(e){this._pendingActions=new Array,this._workerInfos=e.map(s=>({workerPromise:Promise.resolve(s),idle:!0}))}dispose(){for(const e of this._workerInfos)e.workerPromise.then(s=>{s.terminate()});this._workerInfos.length=0,this._pendingActions.length=0}push(e){this._executeOnIdleWorker(e)||this._pendingActions.push(e)}_executeOnIdleWorker(e){for(const s of this._workerInfos)if(s.idle)return this._execute(s,e),!0;return!1}_execute(e,s){e.idle=!1,e.workerPromise.then(t=>{s(t,()=>{const i=this._pendingActions.shift();i?this._execute(e,i):e.idle=!0})})}}class r extends h{constructor(e,s,t=r.DefaultOptions){super([]),this._maxWorkers=e,this._createWorkerAsync=s,this._options=t}push(e){if(!this._executeOnIdleWorker(e))if(this._workerInfos.length<this._maxWorkers){const s={workerPromise:this._createWorkerAsync(),idle:!1};this._workerInfos.push(s),this._execute(s,e)}else this._pendingActions.push(e)}_execute(e,s){e.timeoutId&&(clearTimeout(e.timeoutId),delete e.timeoutId),super._execute(e,(t,i)=>{s(t,()=>{i(),e.idle&&(e.timeoutId=setTimeout(()=>{e.workerPromise.then(n=>{n.terminate()});const o=this._workerInfos.indexOf(e);o!==-1&&this._workerInfos.splice(o,1)},this._options.idleTimeElapsedBeforeRelease))})})}}r.DefaultOptions={idleTimeElapsedBeforeRelease:1e3};export{r as A,h as W};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@�,��n* ����*%��l��Z8UۂkV�Q�����o���c������)�ј�dL��T�մڒ"R'��_v.*�R�5n �A@�}7���mM&�� T ����\~�5i���8�����d����WY}�]{x���h��%�����x+��f�^'���%����W�s���=)v�^D�כ�� ����5�uތQ2Vpc��3��Mʆ��n�����P���*P�4iy�`v�D���� l��-�Q;��d�bd���������)7��\�{{ 1��:%-L$+#��]��l�=�Lh��eAb�00�^O����P���
|
|
2
|
+
W��.��]��Q���簌P(s�(�F����qW5]N/uyh����+q��R%�6s`�鏻ݟ�z^~(�xǞ�D�Z��ok�ϗ�q-Ps!�^��ז�u��j��f�#.*�Ok
|
|
Binary file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="icon" href="data:," />
|
|
7
|
+
<title>FPS Game Editor</title>
|
|
8
|
+
<style>
|
|
9
|
+
* { box-sizing: border-box; }
|
|
10
|
+
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: #101018; }
|
|
11
|
+
#renderCanvas { width: 100%; height: 100%; display: block; outline: none; }
|
|
12
|
+
</style>
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-DKM_mvsP.js"></script>
|
|
14
|
+
<link rel="modulepreload" crossorigin href="./assets/playable-local-editor-entry-BpT9asOr.js">
|
|
15
|
+
<script type="importmap">{"imports":{"@fps-games/editor/playable-sdk":"./assets/playable-sdk-CrJqCMfO.js","@babylonjs/core":"./assets/babylon-core-BiQ_mrkl.js","@fps-games/editor-core/plugin-host":"./assets/editor-core-plugin-host-c2002442.js"}}</script></head>
|
|
16
|
+
<body>
|
|
17
|
+
<canvas id="renderCanvas"></canvas>
|
|
18
|
+
</body>
|
|
19
|
+
</html>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import Ie from"node:path";import{pathToFileURL as ot}from"node:url";var A="/__fps_editor_agent/v1";var at=8*1024*1024;var st=256*1024;import{createHash as lt,randomBytes as X,randomUUID as me}from"node:crypto";import{once as de}from"node:events";import{createReadStream as Le}from"node:fs";import{mkdir as _e,open as le,readFile as L,realpath as Ue,rename as Ge,rm as F,stat as j,writeFile as $e}from"node:fs/promises";import{createServer as Me}from"node:http";import{spawn as Fe}from"node:child_process";import p from"node:path";async function we(e){let t=await Ue(e.projectRoot),i=e.host?.trim()||"127.0.0.1",a=et(e.port??3012),c=p.resolve(t,e.workerEntry);if(M(t,c,"worker entry"),!(await j(c).catch(()=>null))?.isFile())throw new Error(`Editor worker entry is missing: ${c}`);let f=await We(t,e.projectAdapter),m=new Map(e.builds.map(r=>[r.release,Ve(t,r)]));if(m.size===0||m.size!==e.builds.length)throw new Error("Editor Server requires uniquely named built Editor releases.");let d=e.activeRelease?.trim()||e.builds[0].release;if(!m.has(d))throw new Error(`Unknown active Editor release: ${d}`);let y=e.logger??console,R=me(),ie=new Date().toISOString(),V=X(32).toString("base64url"),W=X(32).toString("base64url"),Te=await ze(p.resolve(t,e.runtimeBridgeTokenPath??".fps-editor/state/runtime-bridge-token")),B=e.testControl?e.controlToken?.trim()||X(32).toString("base64url"):null,ye=e.runtimeUrl?.trim()||"http://127.0.0.1:3011",U=p.join(t,".fps-editor/state/agent-runtime.json"),z=`${U}.owner`,ae=await Je(z,R),Re=Q(e.workerReadyTimeoutMs,3e4),se=Q(e.workerHeartbeatTimeoutMs,1e4),ge=Q(e.workerRestartLimit,3),h=null,P=new WeakSet,D=!1,E="starting",O=0,g=null,S=null,C=0,v=null,J,N=null,b=null,H=null,k=Me((r,o)=>{ve(r,o).catch(n=>{y.error?.(`[fps-editor-server] request failed: ${x(n)}`),o.headersSent?o.destroy(n instanceof Error?n:void 0):u(o,500,{ok:!1,error:x(n)})})});k.on("error",r=>y.error?.(`[fps-editor-server] ${x(r)}`));try{await new Promise((r,o)=>{k.once("error",o),k.listen(a,i,()=>{k.off("error",o),r()})}),await K()}catch(r){throw await pe(k).catch(()=>{}),await ue(z,ae).catch(()=>{}),r}N=setInterval(()=>{D||E!=="ready"||!v||!h||Date.now()-Date.parse(v)<=se||(y.warn?.("[fps-editor-server] Editor worker heartbeat timed out; restarting worker."),E="restarting",h.kill("SIGKILL"))},Math.min(1e3,Math.max(100,Math.floor(se/3)))),N.unref?.();let ce=`http://${i}:${a}`;y.info?.(`[fps-editor-server] ready at ${ce}`);function G(){let r=m.get(d);return{ok:E==="ready",serverInstanceId:R,pid:process.pid,startedAt:ie,host:i,port:a,worker:{status:E,generation:O,pid:h?.pid??null,serviceInstanceId:g,restartCount:C,lastHeartbeatAt:v,...J?{lastExit:J}:{}},editor:{activeRelease:d,artifactId:r.artifactId,build:r.build}}}async function K(){if(D)return;O+=1,E=O===1?"starting":"restarting",g=null,S=null,v=null;let r=m.get(d),o=Fe(process.execPath,[c],{cwd:t,stdio:["ignore","inherit","inherit","ipc"],env:{...process.env,FPS_EDITOR_WORKER_AGENT_TOKEN:V,FPS_EDITOR_WORKER_BROWSER_TOKEN:W,FPS_EDITOR_WORKER_RUNTIME_DEBUG_TOKEN:Te,FPS_EDITOR_WORKER_RUNTIME_URL:ye,FPS_EDITOR_WORKER_BUILD:JSON.stringify(r.build),FPS_EDITOR_WORKER_GENERATION:String(O),FPS_EDITOR_WORKER_PROJECT_ADAPTER:f.workerEntry,...e.workerJournalPath?.trim()?{FPS_EDITOR_WORKER_JOURNAL_PATH:e.workerJournalPath.trim()}:{}}});h=o,o.on("message",s=>{Se(o,s).catch(l=>{y.error?.(`[fps-editor-server] invalid worker message: ${x(l)}`),o.kill("SIGKILL")})}),o.once("exit",(s,l)=>{Oe(o,s,l)});let n=Date.now()+Re;for(;!D&&h===o&&E!=="ready"&&Date.now()<n;)await new Promise(s=>setTimeout(s,25));if(E!=="ready")throw P.add(o),o.kill("SIGKILL"),new Error("Editor Service worker did not become ready before the startup deadline.")}async function Se(r,o){if(r!==h||!Xe(o))return;if(o.type==="heartbeat"){o.serviceInstanceId===g&&(v=new Date().toISOString());return}let n=new URL(o.internalUrl);if(n.protocol!=="http:"||n.hostname!=="127.0.0.1")throw new Error("Editor worker internal URL must use loopback HTTP.");g=o.serviceInstanceId,S=n.toString(),v=new Date().toISOString(),E="ready",H={schemaVersion:1,protocolVersion:2,canonicalProjectRoot:t,serviceInstanceId:o.serviceInstanceId,pid:process.pid,endpoint:`${tt(i,a)}${A}`,startedAt:ie,packageName:"@fps-games/editor",packageVersion:m.get(d).build.version,buildKey:m.get(d).build.buildId,token:V,tokenScopes:["read","write"]},await Ye(U,H)}async function Oe(r,o,n){let s=P.has(r);if(P.delete(r),h===r&&(h=null),J={code:o,signal:n,at:new Date().toISOString()},S=null,g=null,await fe(U,H),H=null,D||s){E="stopped";return}if(C+=1,C>ge){E="fused",y.error?.("[fps-editor-server] Editor worker restart fuse opened.");return}E="restarting";let l=[100,500,2e3][Math.min(C-1,2)];b=setTimeout(()=>{b=null,K().catch(_=>{y.error?.(`[fps-editor-server] worker restart failed: ${x(_)}`)})},l),b.unref?.()}async function ve(r,o){let n=new URL(r.url??"/",`http://${i}:${a}`);if(Qe(o),r.method==="GET"&&n.pathname==="/__fps_editor/health"){u(o,E==="ready"?200:503,G());return}if(r.method==="GET"&&n.pathname==="/__fps_editor/status"){u(o,200,G());return}if(r.method==="GET"&&n.pathname==="/__fps_editor/bootstrap.json"){if(!g){u(o,503,{ok:!1,error:"editor_worker_unavailable"});return}let s=m.get(d);u(o,200,{ok:!0,serverInstanceId:R,workerGeneration:O,runtime:{protocolVersion:2,serviceInstanceId:g,gatewayPath:A,token:W},build:s.build});return}if((r.method==="GET"||r.method==="HEAD")&&(n.pathname==="/"||n.pathname==="/index.html"||n.pathname==="/__fps_editor/document")){await be(o,n.searchParams.get("instanceId"),n.searchParams.get("release"),r.method==="HEAD");return}if((r.method==="GET"||r.method==="HEAD")&&n.pathname.startsWith("/__fps_editor/build/")){await ke(r,o,n);return}if((r.method==="GET"||r.method==="HEAD")&&n.pathname.startsWith("/__fps_editor/project-adapter/")){await Pe(r,o,n);return}if((r.method==="GET"||r.method==="HEAD")&&n.pathname.startsWith("/src/")){await Ae(r,o,n);return}if(r.method==="POST"&&n.pathname.startsWith("/__fps_editor/control/")){await Ce(r,o,n.pathname);return}if(n.pathname===A||n.pathname.startsWith("/__fps_editor_authoring")||n.pathname.startsWith("/__fps_editor/assets/")){await De(r,o,n);return}u(o,404,{ok:!1,error:"not_found"})}async function be(r,o,n,s=!1){if(!g){u(r,503,{ok:!1,error:"editor_worker_unavailable"});return}let l=m.get(d);if(n?.trim()&&n.trim()!==d){u(r,409,{ok:!1,error:"editor_build_incompatible",activeRelease:d,requestedRelease:n.trim(),activeBuild:l.build});return}let _=await L(p.join(l.rootPath,"index.html"),"utf8"),I=`/__fps_editor/build/${encodeURIComponent(l.artifactId)}/`,T=[`<base href="${rt(I)}">`,"<script>","window.__FPS_EDITOR_HOSTED_SANDBOX__=true;",'window.__BOOT_MODE="edit";',`window.__FPS_EDITOR_AGENT_RUNTIME__=${q({protocolVersion:2,serviceInstanceId:g,gatewayPath:A,token:W})};`,`window.__FPS_EDITOR_SERVER__=${q({serverInstanceId:R,workerGeneration:O,instanceId:o?.trim()||null,release:l.release,artifactId:l.artifactId,build:l.build})};`,`window.__FPS_EDITOR_PROJECT_ADAPTER__=${q({artifactId:f.artifactId,editorDistHash:f.editorDistHash,url:`/__fps_editor/project-adapter/${encodeURIComponent(f.artifactId)}/${f.browserEntry}`})};`,"window.__FPS_EDITOR_SERVER_MONITOR__=setInterval(async()=>{",'try{const response=await fetch("/__fps_editor/bootstrap.json",{cache:"no-store"});',"if(!response.ok)return;const next=await response.json();","if(next.serverInstanceId!==window.__FPS_EDITOR_SERVER__.serverInstanceId","||next.workerGeneration!==window.__FPS_EDITOR_SERVER__.workerGeneration){",'const url=new URL(location.href);url.searchParams.set("__fpsWorkerGeneration",String(next.workerGeneration));','url.searchParams.set("__fpsServerInstance",String(next.serverInstanceId));',"location.replace(url);}","}catch{}","},1000);",'addEventListener("pagehide",()=>clearInterval(window.__FPS_EDITOR_SERVER_MONITOR__),{once:true});',"</script>"].join(""),He=/<head[^>]*>/i.test(_)?_.replace(/<head[^>]*>/i,xe=>`${xe}${T}`):`${T}${_}`;r.statusCode=200,r.setHeader("Cache-Control","no-store"),r.setHeader("Content-Type","text/html; charset=utf-8"),r.end(s?void 0:He)}async function ke(r,o,n){let s=n.pathname.split("/").filter(Boolean),l=decodeURIComponent(s[2]??""),_=[...m.values()].find(T=>T.artifactId===l);if(!_){u(o,404,{ok:!1,error:"editor_build_not_found"});return}let I=s.slice(3).map(decodeURIComponent).join("/");await Z(r,o,_.rootPath,I,!0)}async function Ae(r,o,n){let s=decodeURIComponent(n.pathname.slice(1));await Z(r,o,t,s,!1,n.searchParams.has("v"))}async function Pe(r,o,n){let s=n.pathname.split("/").filter(Boolean);if(decodeURIComponent(s[2]??"")!==f.artifactId){u(o,404,{ok:!1,error:"project_adapter_not_found"});return}let _=s.slice(3).map(decodeURIComponent).join("/");await Z(r,o,f.browserRoot,_,!0)}async function De(r,o,n){if(!S||E!=="ready"){u(o,503,{ok:!1,error:"editor_worker_unavailable"});return}let s=r.method==="GET"||r.method==="HEAD"?void 0:await Ze(r,32*1024*1024),l={};for(let I of["accept","authorization","content-type","if-none-match","range"]){let T=r.headers[I];typeof T=="string"&&(l[I]=T)}let _=await fetch(new URL(`${n.pathname}${n.search}`,S),{method:r.method,headers:l,...s?{body:new Uint8Array(s)}:{}});o.statusCode=_.status;for(let I of["content-type","content-length","etag","content-range","accept-ranges"]){let T=_.headers.get(I);T&&o.setHeader(I,T)}o.setHeader("Cache-Control","no-store"),o.end(r.method==="HEAD"?void 0:Buffer.from(await _.arrayBuffer()))}async function Ce(r,o,n){if(!B||r.headers["x-fps-editor-control-token"]!==B){u(o,404,{ok:!1,error:"not_found"});return}if(n==="/__fps_editor/control/worker/crash"){if(!h){u(o,409,{ok:!1,error:"worker_unavailable"});return}h.kill("SIGKILL"),u(o,202,{ok:!0});return}let s=decodeURIComponent(n.slice(31));if(n.startsWith("/__fps_editor/control/activate/")&&m.has(s)){let l=await Ne();if(l.dirty){u(o,409,{ok:!1,error:"editor_document_dirty",documentRevision:l.documentRevision,activeRelease:d,requestedRelease:s});return}let _=d;if(d=s,C=0,h){let I=h;E="restarting",P.add(I);let T=de(I,"exit");I.kill("SIGTERM"),await T}await K(),u(o,200,{ok:!0,previousRelease:_,activeRelease:d,status:G()});return}u(o,404,{ok:!1,error:"control_not_found"})}async function Ne(){if(!S||E!=="ready")throw new Error("Editor worker is unavailable for release compatibility checks.");let r=await fetch(new URL(A,S),{method:"POST",headers:{authorization:`Bearer ${V}`,"content-type":"application/json"},body:JSON.stringify({kind:"status"})}),o=await r.json();if(!r.ok||o.ok!==!0||o.kind!=="status"||typeof o.status?.dirty!="boolean"||!Number.isSafeInteger(o.status.documentRevision))throw new Error("Editor worker returned an invalid status during release compatibility checks.");return{dirty:o.status.dirty,documentRevision:o.status.documentRevision}}let $=null;return Object.freeze({url:ce,controlToken:B,status:G,dispose(){return $||($=(async()=>{D=!0,N&&clearInterval(N),b&&clearTimeout(b),N=null,b=null;let r=h;if(r){P.add(r);let o=de(r,"exit").catch(()=>[]);r.kill("SIGTERM"),await Promise.race([o,new Promise(n=>setTimeout(n,5e3))]),r.exitCode===null&&r.signalCode===null&&r.kill("SIGKILL")}await pe(k),await fe(U,H),await ue(z,ae)})(),$)}})}function Ve(e,t){let i=p.resolve(e,t.rootPath);if(M(e,i,"built Editor root"),!t.release.trim()||!t.artifactId.trim())throw new Error("Editor build identity is incomplete.");return Object.freeze({...t,rootPath:i,build:Object.freeze({...t.build})})}async function We(e,t){if(!t||typeof t!="object")throw new Error("Editor Server project adapter is required.");if(!t.artifactId?.trim()||!t.editorDistHash?.trim())throw new Error("Editor Server project adapter identity is incomplete.");if(!t.browserEntry?.trim()||t.browserEntry.includes("\\")||t.browserEntry.split("/").includes("..")||p.isAbsolute(t.browserEntry))throw new Error("Editor Server project adapter browser entry is unsafe.");let i=p.resolve(e,t.browserRoot),a=p.resolve(e,t.workerEntry);M(e,i,"project adapter browser root"),M(e,a,"project adapter worker entry");let[c,w]=await Promise.all([j(p.resolve(i,t.browserEntry)).catch(()=>null),j(a).catch(()=>null)]);if(!c?.isFile())throw new Error("Editor project browser adapter entry is missing.");if(!w?.isFile())throw new Error("Editor project worker adapter entry is missing.");return Object.freeze({...t,artifactId:t.artifactId.trim(),editorDistHash:t.editorDistHash.trim(),browserRoot:i,workerEntry:a})}async function Z(e,t,i,a,c,w=!1){if(!a||a.includes("\\")||a.split("/").includes("..")){u(t,404,{ok:!1,error:"file_not_found"});return}let f=p.resolve(i,a),m=p.relative(i,f);if(!m||m===".."||m.startsWith(`..${p.sep}`)||p.isAbsolute(m)){u(t,404,{ok:!1,error:"file_not_found"});return}let d=await j(f).catch(()=>null);if(!d?.isFile()){u(t,404,{ok:!1,error:"file_not_found"});return}let y=e.headers["accept-encoding"]??"",R=await Be(f,y);t.statusCode=200,t.setHeader("Cache-Control",c||w?"public, max-age=31536000, immutable":"no-cache"),t.setHeader("Content-Type",qe(f)),t.setHeader("Content-Length",String(R?.stat.size??d.size)),R&&(t.setHeader("Content-Encoding",R.encoding),t.setHeader("Vary","Accept-Encoding")),e.method==="HEAD"?t.end():Le(R?.path??f).pipe(t)}async function Be(e,t){let i=t.toLowerCase().split(",").map(c=>c.trim()),a=c=>i.some(w=>{let[f,...m]=w.split(";").map(d=>d.trim());return f!==c&&f!=="*"?!1:!m.some(d=>d==="q=0"||d==="q=0.0")});for(let c of a("br")?[{suffix:".br",encoding:"br"},{suffix:".gz",encoding:"gzip"}]:[{suffix:".gz",encoding:"gzip"}]){if(c.encoding==="gzip"&&!a("gzip"))continue;let w=`${e}${c.suffix}`,f=await j(w).catch(()=>null);if(f?.isFile())return{path:w,encoding:c.encoding,stat:f}}return null}async function ze(e){let t=(await L(e,"utf8")).trim();if(!t)throw new Error(`Editor Server secret is empty: ${e}`);return t}async function Je(e,t){await _e(p.dirname(e),{recursive:!0,mode:448});let i={pid:process.pid,serverInstanceId:t,createdAt:new Date().toISOString()};try{let a=await le(e,"wx",384);return await a.writeFile(`${JSON.stringify(i)}
|
|
2
|
+
`,"utf8"),await a.close(),i}catch{let c=await L(e,"utf8").then(JSON.parse).catch(()=>null);if(typeof c?.pid=="number"&&Ke(c.pid))throw new Error(`Editor Server project lock is already owned by PID ${c.pid}.`);await F(e,{force:!0});let w=await le(e,"wx",384);return await w.writeFile(`${JSON.stringify(i)}
|
|
3
|
+
`,"utf8"),await w.close(),i}}async function ue(e,t){(await L(e,"utf8").then(JSON.parse).catch(()=>null))?.serverInstanceId===t.serverInstanceId&&await F(e,{force:!0})}function Ke(e){try{return process.kill(e,0),!0}catch{return!1}}async function Ye(e,t){await _e(p.dirname(e),{recursive:!0,mode:448});let i=`${e}.${process.pid}.${me()}.tmp`;try{await $e(i,`${JSON.stringify(t,null,2)}
|
|
4
|
+
`,{encoding:"utf8",mode:384}),await Ge(i,e)}finally{await F(i,{force:!0}).catch(()=>{})}}async function fe(e,t){if(!t)return;let i=await L(e,"utf8").then(JSON.parse).catch(()=>null);i?.serviceInstanceId===t.serviceInstanceId&&i.pid===t.pid&&await F(e,{force:!0})}function Xe(e){if(!e||typeof e!="object")return!1;let t=e;return t.type==="heartbeat"?typeof t.serviceInstanceId=="string":t.type==="ready"&&typeof t.serviceInstanceId=="string"&&typeof t.internalUrl=="string"}async function Ze(e,t){let i=[],a=0;for await(let c of e){let w=Buffer.isBuffer(c)?c:Buffer.from(c);if(a+=w.byteLength,a>t)throw new Error("Editor Server request body is too large.");i.push(w)}return Buffer.concat(i)}function Qe(e){e.setHeader("Access-Control-Allow-Origin","*"),e.setHeader("Cross-Origin-Resource-Policy","cross-origin"),e.setHeader("Cross-Origin-Embedder-Policy","credentialless"),e.setHeader("X-Content-Type-Options","nosniff")}function u(e,t,i){e.statusCode=t,e.setHeader("Cache-Control","no-store"),e.setHeader("Content-Type","application/json; charset=utf-8"),e.end(`${JSON.stringify(i)}
|
|
5
|
+
`)}function qe(e){switch(p.extname(e).toLowerCase()){case".js":case".mjs":return"text/javascript; charset=utf-8";case".css":return"text/css; charset=utf-8";case".json":return"application/json; charset=utf-8";case".html":return"text/html; charset=utf-8";case".svg":return"image/svg+xml";case".png":return"image/png";case".jpg":case".jpeg":return"image/jpeg";case".webp":return"image/webp";case".glb":return"model/gltf-binary";case".gltf":return"model/gltf+json";default:return"application/octet-stream"}}function M(e,t,i){let a=p.relative(e,t);if(!a||a===".."||a.startsWith(`..${p.sep}`)||p.isAbsolute(a))throw new Error(`Editor Server ${i} must be inside the canonical project root.`)}function et(e){if(!Number.isSafeInteger(e)||e<1||e>65535)throw new Error("Editor Server port is invalid.");return e}function Q(e,t){return Number.isSafeInteger(e)&&e>0?e:t}function tt(e,t){return`http://${e==="0.0.0.0"?"127.0.0.1":e}:${t}`}function q(e){return JSON.stringify(e).replace(/</g,"\\u003c").replace(/>/g,"\\u003e")}function rt(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<")}async function pe(e){e.listening&&await new Promise((t,i)=>e.close(a=>a?i(a):t()))}function x(e){return e instanceof Error?e.message:String(e)}it();var ne=Ie.resolve(process.cwd()),nt=process.env.FPS_EDITOR_SERVER_CONFIG?.trim(),Ee=Ie.resolve(ne,nt||"fps-editor-server.config.mjs"),te;try{te=await import(ot(Ee).href)}catch(e){throw console.error(`[fps-editor-server] \u65E0\u6CD5\u8BFB\u53D6\u914D\u7F6E\uFF1A${Ee}`),e}var ee=te.default??te.createFpsGameEditorServerConfig,re=typeof ee=="function"?await ee({projectRoot:ne}):ee;if(!re||typeof re!="object")throw new Error("fps-editor-server.config.mjs must export a config object or factory.");var oe=await we({...re,projectRoot:ne});oe.controlToken&&console.log(`[fps-editor-server] test control token: ${oe.controlToken}`);var he=!1;for(let e of["SIGINT","SIGTERM"])process.once(e,()=>{he||(he=!0,oe.dispose().finally(()=>{process.exitCode=e==="SIGINT"?130:143}))});function it(){let e=Number.parseInt(process.versions.node.split(".")[0]??"",10);if(!Number.isSafeInteger(e)||e<24||e>=27)throw new Error(`fps-editor-server requires Node.js >=24 <27; current version is ${process.versions.node}.`)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{pathToFileURL as i}from"node:url";var c=o("FPS_EDITOR_WORKER_PROJECT_ADAPTER"),s=await import(i(c).href);if(typeof s.startFpsGameEditorProjectWorker!="function")throw new Error("Project worker adapter must export startFpsGameEditorProjectWorker(context).");var r=await s.startFpsGameEditorProjectWorker({projectRoot:process.cwd(),build:E("FPS_EDITOR_WORKER_BUILD"),agentToken:o("FPS_EDITOR_WORKER_AGENT_TOKEN"),browserToken:o("FPS_EDITOR_WORKER_BROWSER_TOKEN"),runtimeDebugToken:o("FPS_EDITOR_WORKER_RUNTIME_DEBUG_TOKEN"),runtimeUrl:o("FPS_EDITOR_WORKER_RUNTIME_URL"),journalPath:process.env.FPS_EDITOR_WORKER_JOURNAL_PATH?.trim()||void 0});if(!r||typeof r.serviceInstanceId!="string"||typeof r.internalUrl!="string"||typeof r.dispose!="function")throw new Error("Project worker adapter returned an invalid worker handle.");process.send?.({type:"ready",serviceInstanceId:r.serviceInstanceId,internalUrl:r.internalUrl});var a=setInterval(()=>{process.send?.({type:"heartbeat",serviceInstanceId:r.serviceInstanceId})},1e3);a.unref?.();var n=!1;for(let e of["SIGINT","SIGTERM"])process.once(e,()=>{n||(n=!0,clearInterval(a),r.dispose().finally(()=>{process.exitCode=e==="SIGINT"?130:143}))});function o(e){let t=process.env[e]?.trim();if(!t)throw new Error(`${e} is required.`);return t}function E(e){let t=JSON.parse(o(e));if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must contain a JSON object.`);return t}
|