@fps-games/editor-deployment 0.2.3-beta.10

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.
Files changed (533) hide show
  1. package/bin/fps-editor-agent.mjs +5 -0
  2. package/bin/fps-editor-prepare.mjs +5 -0
  3. package/bin/fps-editor-project.mjs +18 -0
  4. package/bin/fps-editor-server.mjs +2 -0
  5. package/licenses/THIRD_PARTY_NOTICES.txt +7 -0
  6. package/manifest.json +2688 -0
  7. package/npm-shrinkwrap.json +21 -0
  8. package/package.json +44 -0
  9. package/public/assets/abstractAudioBus-BRAC2GY2.js +1 -0
  10. package/public/assets/animation-C6iNAO1g.js +1 -0
  11. package/public/assets/animation-C6iNAO1g.js.br +0 -0
  12. package/public/assets/animation-C6iNAO1g.js.gz +0 -0
  13. package/public/assets/animationGroup-C74XVFRE.js +1 -0
  14. package/public/assets/animationGroup-C74XVFRE.js.br +0 -0
  15. package/public/assets/animationGroup-C74XVFRE.js.gz +0 -0
  16. package/public/assets/arcRotateCamera-CIQYNBBJ.js +1 -0
  17. package/public/assets/arcRotateCamera-CIQYNBBJ.js.br +0 -0
  18. package/public/assets/arcRotateCamera-CIQYNBBJ.js.gz +0 -0
  19. package/public/assets/babylon-core-PuGyjHMj.js +13882 -0
  20. package/public/assets/babylon-core-PuGyjHMj.js.br +0 -0
  21. package/public/assets/babylon-core-PuGyjHMj.js.gz +0 -0
  22. package/public/assets/babylon-core-S0gBQJVe.js +1 -0
  23. package/public/assets/babylon-core-S0gBQJVe.js.br +0 -0
  24. package/public/assets/babylon-core-S0gBQJVe.js.gz +0 -0
  25. package/public/assets/basisTextureLoader-BdapVvhf.js +1 -0
  26. package/public/assets/basisTextureLoader-BdapVvhf.js.br +0 -0
  27. package/public/assets/basisTextureLoader-BdapVvhf.js.gz +0 -0
  28. package/public/assets/bumpVertex-DMhnr4dz.js +173 -0
  29. package/public/assets/bumpVertex-DMhnr4dz.js.br +0 -0
  30. package/public/assets/bumpVertex-DMhnr4dz.js.gz +0 -0
  31. package/public/assets/bumpVertex-DpGOKCkn.js +177 -0
  32. package/public/assets/bumpVertex-DpGOKCkn.js.br +0 -0
  33. package/public/assets/bumpVertex-DpGOKCkn.js.gz +0 -0
  34. package/public/assets/chromaticAberration.fragment-BgX-2zxS.js +7 -0
  35. package/public/assets/chromaticAberration.fragment-BgX-2zxS.js.br +0 -0
  36. package/public/assets/chromaticAberration.fragment-BgX-2zxS.js.gz +0 -0
  37. package/public/assets/chromaticAberration.fragment-D7t6Txg4.js +6 -0
  38. package/public/assets/chromaticAberration.fragment-D7t6Txg4.js.br +0 -0
  39. package/public/assets/chromaticAberration.fragment-D7t6Txg4.js.gz +0 -0
  40. package/public/assets/circleOfConfusion.fragment-D1RtHaPm.js +17 -0
  41. package/public/assets/circleOfConfusion.fragment-D1RtHaPm.js.br +0 -0
  42. package/public/assets/circleOfConfusion.fragment-D1RtHaPm.js.gz +0 -0
  43. package/public/assets/circleOfConfusion.fragment-D8geMRma.js +17 -0
  44. package/public/assets/circleOfConfusion.fragment-D8geMRma.js.br +0 -0
  45. package/public/assets/circleOfConfusion.fragment-D8geMRma.js.gz +0 -0
  46. package/public/assets/clipPlaneFragment-Bgl3Usc4.js +46 -0
  47. package/public/assets/clipPlaneFragment-Bgl3Usc4.js.br +0 -0
  48. package/public/assets/clipPlaneFragment-Bgl3Usc4.js.gz +0 -0
  49. package/public/assets/clipPlaneVertex-BxK9aoI2.js +177 -0
  50. package/public/assets/clipPlaneVertex-BxK9aoI2.js.br +0 -0
  51. package/public/assets/clipPlaneVertex-BxK9aoI2.js.gz +0 -0
  52. package/public/assets/color.fragment-BUdIBar6.js +20 -0
  53. package/public/assets/color.fragment-BUdIBar6.js.br +0 -0
  54. package/public/assets/color.fragment-BUdIBar6.js.gz +0 -0
  55. package/public/assets/color.fragment-CDn4ZgkT.js +21 -0
  56. package/public/assets/color.fragment-CDn4ZgkT.js.br +0 -0
  57. package/public/assets/color.fragment-CDn4ZgkT.js.gz +0 -0
  58. package/public/assets/color.vertex-CaMOSKlC.js +39 -0
  59. package/public/assets/color.vertex-CaMOSKlC.js.br +5 -0
  60. package/public/assets/color.vertex-CaMOSKlC.js.gz +0 -0
  61. package/public/assets/color.vertex-dgbB6mhK.js +32 -0
  62. package/public/assets/color.vertex-dgbB6mhK.js.br +0 -0
  63. package/public/assets/color.vertex-dgbB6mhK.js.gz +0 -0
  64. package/public/assets/dds-3J0FZYX1.js +1 -0
  65. package/public/assets/dds-3J0FZYX1.js.br +0 -0
  66. package/public/assets/dds-3J0FZYX1.js.gz +0 -0
  67. package/public/assets/ddsTextureLoader-s5HptTVZ.js +1 -0
  68. package/public/assets/ddsTextureLoader-s5HptTVZ.js.br +0 -0
  69. package/public/assets/ddsTextureLoader-s5HptTVZ.js.gz +0 -0
  70. package/public/assets/default.fragment-C4xg7O-P.js +526 -0
  71. package/public/assets/default.fragment-C4xg7O-P.js.br +0 -0
  72. package/public/assets/default.fragment-C4xg7O-P.js.gz +0 -0
  73. package/public/assets/default.fragment-C4zjkcFb.js +468 -0
  74. package/public/assets/default.fragment-C4zjkcFb.js.br +0 -0
  75. package/public/assets/default.fragment-C4zjkcFb.js.gz +0 -0
  76. package/public/assets/default.vertex-A8wQopNr.js +193 -0
  77. package/public/assets/default.vertex-A8wQopNr.js.br +0 -0
  78. package/public/assets/default.vertex-A8wQopNr.js.gz +0 -0
  79. package/public/assets/default.vertex-YrvIUn4x.js +181 -0
  80. package/public/assets/default.vertex-YrvIUn4x.js.br +0 -0
  81. package/public/assets/default.vertex-YrvIUn4x.js.gz +0 -0
  82. package/public/assets/defaultUboDeclaration-C8GCosBM.js +5 -0
  83. package/public/assets/defaultUboDeclaration-C8GCosBM.js.br +0 -0
  84. package/public/assets/defaultUboDeclaration-C8GCosBM.js.gz +0 -0
  85. package/public/assets/defaultUboDeclaration-D26o_DDO.js +7 -0
  86. package/public/assets/defaultUboDeclaration-D26o_DDO.js.br +0 -0
  87. package/public/assets/defaultUboDeclaration-D26o_DDO.js.gz +0 -0
  88. package/public/assets/depth.fragment-Bn8G24s-.js +40 -0
  89. package/public/assets/depth.fragment-Bn8G24s-.js.br +4 -0
  90. package/public/assets/depth.fragment-Bn8G24s-.js.gz +0 -0
  91. package/public/assets/depth.vertex-B2lrdlJh.js +57 -0
  92. package/public/assets/depth.vertex-B2lrdlJh.js.br +0 -0
  93. package/public/assets/depth.vertex-B2lrdlJh.js.gz +0 -0
  94. package/public/assets/depthBoxBlur.fragment-BtTv8wid.js +5 -0
  95. package/public/assets/depthBoxBlur.fragment-BtTv8wid.js.br +0 -0
  96. package/public/assets/depthBoxBlur.fragment-BtTv8wid.js.gz +0 -0
  97. package/public/assets/depthBoxBlur.fragment-DViDG6Vb.js +6 -0
  98. package/public/assets/depthBoxBlur.fragment-DViDG6Vb.js.br +0 -0
  99. package/public/assets/depthBoxBlur.fragment-DViDG6Vb.js.gz +0 -0
  100. package/public/assets/depthOfFieldMerge.fragment-DCspcdWZ.js +26 -0
  101. package/public/assets/depthOfFieldMerge.fragment-DCspcdWZ.js.br +0 -0
  102. package/public/assets/depthOfFieldMerge.fragment-DCspcdWZ.js.gz +0 -0
  103. package/public/assets/depthOfFieldMerge.fragment-Ds-g4Ln8.js +21 -0
  104. package/public/assets/depthOfFieldMerge.fragment-Ds-g4Ln8.js.br +0 -0
  105. package/public/assets/depthOfFieldMerge.fragment-Ds-g4Ln8.js.gz +0 -0
  106. package/public/assets/dynamicTexture-Cuby-VOT.js +1329 -0
  107. package/public/assets/dynamicTexture-Cuby-VOT.js.br +0 -0
  108. package/public/assets/dynamicTexture-Cuby-VOT.js.gz +0 -0
  109. package/public/assets/easing-DbzzrXOl.js +1 -0
  110. package/public/assets/easing-DbzzrXOl.js.br +0 -0
  111. package/public/assets/easing-DbzzrXOl.js.gz +0 -0
  112. package/public/assets/editor-core-plugin-host-c2002442.js +1 -0
  113. package/public/assets/editor-core-plugin-host-c2002442.js.br +0 -0
  114. package/public/assets/editor-core-plugin-host-c2002442.js.gz +0 -0
  115. package/public/assets/exrTextureLoader-D39k4eK_.js +1 -0
  116. package/public/assets/exrTextureLoader-D39k4eK_.js.br +0 -0
  117. package/public/assets/exrTextureLoader-D39k4eK_.js.gz +0 -0
  118. package/public/assets/flowGraphArrayIndexBlock-C8nTWR8h.js +1 -0
  119. package/public/assets/flowGraphArrayIndexBlock-C8nTWR8h.js.br +0 -0
  120. package/public/assets/flowGraphArrayIndexBlock-C8nTWR8h.js.gz +0 -0
  121. package/public/assets/flowGraphBezierCurveEasingBlock-Izh7s0Zh.js +1 -0
  122. package/public/assets/flowGraphBezierCurveEasingBlock-Izh7s0Zh.js.br +0 -0
  123. package/public/assets/flowGraphBezierCurveEasingBlock-Izh7s0Zh.js.gz +0 -0
  124. package/public/assets/flowGraphBinaryOperationBlock-BRfalQP5.js +1 -0
  125. package/public/assets/flowGraphBinaryOperationBlock-BRfalQP5.js.br +0 -0
  126. package/public/assets/flowGraphBinaryOperationBlock-BRfalQP5.js.gz +0 -0
  127. package/public/assets/flowGraphBranchBlock-CV_leJX3.js +1 -0
  128. package/public/assets/flowGraphBranchBlock-CV_leJX3.js.br +0 -0
  129. package/public/assets/flowGraphBranchBlock-CV_leJX3.js.gz +0 -0
  130. package/public/assets/flowGraphCachedOperationBlock-BysRM-Ha.js +1 -0
  131. package/public/assets/flowGraphCachedOperationBlock-BysRM-Ha.js.br +2 -0
  132. package/public/assets/flowGraphCachedOperationBlock-BysRM-Ha.js.gz +0 -0
  133. package/public/assets/flowGraphCancelDelayBlock-BK6tDTGy.js +1 -0
  134. package/public/assets/flowGraphCancelDelayBlock-BK6tDTGy.js.br +0 -0
  135. package/public/assets/flowGraphCancelDelayBlock-BK6tDTGy.js.gz +0 -0
  136. package/public/assets/flowGraphCodeExecutionBlock-CQABvaP8.js +1 -0
  137. package/public/assets/flowGraphCodeExecutionBlock-CQABvaP8.js.br +0 -0
  138. package/public/assets/flowGraphCodeExecutionBlock-CQABvaP8.js.gz +0 -0
  139. package/public/assets/flowGraphConditionalDataBlock-D7OU_UOM.js +1 -0
  140. package/public/assets/flowGraphConditionalDataBlock-D7OU_UOM.js.br +0 -0
  141. package/public/assets/flowGraphConditionalDataBlock-D7OU_UOM.js.gz +0 -0
  142. package/public/assets/flowGraphConsoleLogBlock-BBxVDGOV.js +1 -0
  143. package/public/assets/flowGraphConsoleLogBlock-BBxVDGOV.js.br +0 -0
  144. package/public/assets/flowGraphConsoleLogBlock-BBxVDGOV.js.gz +0 -0
  145. package/public/assets/flowGraphConstantBlock-Cn3ZMGR0.js +1 -0
  146. package/public/assets/flowGraphConstantBlock-Cn3ZMGR0.js.br +0 -0
  147. package/public/assets/flowGraphConstantBlock-Cn3ZMGR0.js.gz +0 -0
  148. package/public/assets/flowGraphContextBlock-BS3b2XbE.js +1 -0
  149. package/public/assets/flowGraphContextBlock-BS3b2XbE.js.br +0 -0
  150. package/public/assets/flowGraphContextBlock-BS3b2XbE.js.gz +0 -0
  151. package/public/assets/flowGraphCounterBlock-xdcRCw4l.js +1 -0
  152. package/public/assets/flowGraphCounterBlock-xdcRCw4l.js.br +0 -0
  153. package/public/assets/flowGraphCounterBlock-xdcRCw4l.js.gz +0 -0
  154. package/public/assets/flowGraphDataSwitchBlock-dY8TSZtd.js +1 -0
  155. package/public/assets/flowGraphDataSwitchBlock-dY8TSZtd.js.br +0 -0
  156. package/public/assets/flowGraphDataSwitchBlock-dY8TSZtd.js.gz +0 -0
  157. package/public/assets/flowGraphDebounceBlock-Q_f2x-ID.js +1 -0
  158. package/public/assets/flowGraphDebounceBlock-Q_f2x-ID.js.br +0 -0
  159. package/public/assets/flowGraphDebounceBlock-Q_f2x-ID.js.gz +0 -0
  160. package/public/assets/flowGraphDoNBlock-COo31G00.js +1 -0
  161. package/public/assets/flowGraphDoNBlock-COo31G00.js.br +0 -0
  162. package/public/assets/flowGraphDoNBlock-COo31G00.js.gz +0 -0
  163. package/public/assets/flowGraphEasingBlock-jGW-fKIB.js +1 -0
  164. package/public/assets/flowGraphEasingBlock-jGW-fKIB.js.br +0 -0
  165. package/public/assets/flowGraphEasingBlock-jGW-fKIB.js.gz +0 -0
  166. package/public/assets/flowGraphFlipFlopBlock-B8znf-3o.js +1 -0
  167. package/public/assets/flowGraphFlipFlopBlock-B8znf-3o.js.br +0 -0
  168. package/public/assets/flowGraphFlipFlopBlock-B8znf-3o.js.gz +0 -0
  169. package/public/assets/flowGraphForLoopBlock-UxZSh8US.js +1 -0
  170. package/public/assets/flowGraphForLoopBlock-UxZSh8US.js.br +0 -0
  171. package/public/assets/flowGraphForLoopBlock-UxZSh8US.js.gz +0 -0
  172. package/public/assets/flowGraphFunctionReferenceBlock-c3ZQWBhk.js +1 -0
  173. package/public/assets/flowGraphFunctionReferenceBlock-c3ZQWBhk.js.br +0 -0
  174. package/public/assets/flowGraphFunctionReferenceBlock-c3ZQWBhk.js.gz +0 -0
  175. package/public/assets/flowGraphGetAssetBlock-B3zYUZmJ.js +1 -0
  176. package/public/assets/flowGraphGetAssetBlock-B3zYUZmJ.js.br +0 -0
  177. package/public/assets/flowGraphGetAssetBlock-B3zYUZmJ.js.gz +0 -0
  178. package/public/assets/flowGraphGetPropertyBlock-D--vcmMS.js +1 -0
  179. package/public/assets/flowGraphGetPropertyBlock-D--vcmMS.js.br +0 -0
  180. package/public/assets/flowGraphGetPropertyBlock-D--vcmMS.js.gz +0 -0
  181. package/public/assets/flowGraphGetVariableBlock-BkCEyiL6.js +1 -0
  182. package/public/assets/flowGraphGetVariableBlock-BkCEyiL6.js.br +0 -0
  183. package/public/assets/flowGraphGetVariableBlock-BkCEyiL6.js.gz +0 -0
  184. package/public/assets/flowGraphIndexOfBlock-C4ipR7YB.js +1 -0
  185. package/public/assets/flowGraphIndexOfBlock-C4ipR7YB.js.br +0 -0
  186. package/public/assets/flowGraphIndexOfBlock-C4ipR7YB.js.gz +0 -0
  187. package/public/assets/flowGraphInterpolationBlock-DuRc3LX7.js +1 -0
  188. package/public/assets/flowGraphInterpolationBlock-DuRc3LX7.js.br +0 -0
  189. package/public/assets/flowGraphInterpolationBlock-DuRc3LX7.js.gz +0 -0
  190. package/public/assets/flowGraphJsonPointerParserBlock-urEWktqi.js +1 -0
  191. package/public/assets/flowGraphJsonPointerParserBlock-urEWktqi.js.br +0 -0
  192. package/public/assets/flowGraphJsonPointerParserBlock-urEWktqi.js.gz +0 -0
  193. package/public/assets/flowGraphMathBlocks-CGTCQVqz.js +1 -0
  194. package/public/assets/flowGraphMathBlocks-CGTCQVqz.js.br +0 -0
  195. package/public/assets/flowGraphMathBlocks-CGTCQVqz.js.gz +0 -0
  196. package/public/assets/flowGraphMathCombineExtractBlocks-DDHGbRPt.js +1 -0
  197. package/public/assets/flowGraphMathCombineExtractBlocks-DDHGbRPt.js.br +0 -0
  198. package/public/assets/flowGraphMathCombineExtractBlocks-DDHGbRPt.js.gz +0 -0
  199. package/public/assets/flowGraphMatrixMathBlocks-Bwp1BysB.js +1 -0
  200. package/public/assets/flowGraphMatrixMathBlocks-Bwp1BysB.js.br +0 -0
  201. package/public/assets/flowGraphMatrixMathBlocks-Bwp1BysB.js.gz +0 -0
  202. package/public/assets/flowGraphMeshPickEventBlock-2wkqhQCG.js +1 -0
  203. package/public/assets/flowGraphMeshPickEventBlock-2wkqhQCG.js.br +0 -0
  204. package/public/assets/flowGraphMeshPickEventBlock-2wkqhQCG.js.gz +0 -0
  205. package/public/assets/flowGraphMultiGateBlock-BuKmvqC8.js +1 -0
  206. package/public/assets/flowGraphMultiGateBlock-BuKmvqC8.js.br +0 -0
  207. package/public/assets/flowGraphMultiGateBlock-BuKmvqC8.js.gz +0 -0
  208. package/public/assets/flowGraphPauseAnimationBlock-T_-VP-t5.js +1 -0
  209. package/public/assets/flowGraphPauseAnimationBlock-T_-VP-t5.js.br +0 -0
  210. package/public/assets/flowGraphPauseAnimationBlock-T_-VP-t5.js.gz +0 -0
  211. package/public/assets/flowGraphPlayAnimationBlock-DDVrE__n.js +1 -0
  212. package/public/assets/flowGraphPlayAnimationBlock-DDVrE__n.js.br +0 -0
  213. package/public/assets/flowGraphPlayAnimationBlock-DDVrE__n.js.gz +0 -0
  214. package/public/assets/flowGraphPointerOutEventBlock-Cx15Sf5R.js +1 -0
  215. package/public/assets/flowGraphPointerOutEventBlock-Cx15Sf5R.js.br +0 -0
  216. package/public/assets/flowGraphPointerOutEventBlock-Cx15Sf5R.js.gz +0 -0
  217. package/public/assets/flowGraphPointerOverEventBlock-DzzHa-dN.js +1 -0
  218. package/public/assets/flowGraphPointerOverEventBlock-DzzHa-dN.js.br +0 -0
  219. package/public/assets/flowGraphPointerOverEventBlock-DzzHa-dN.js.gz +0 -0
  220. package/public/assets/flowGraphReceiveCustomEventBlock-DKfLODu3.js +1 -0
  221. package/public/assets/flowGraphReceiveCustomEventBlock-DKfLODu3.js.br +0 -0
  222. package/public/assets/flowGraphReceiveCustomEventBlock-DKfLODu3.js.gz +0 -0
  223. package/public/assets/flowGraphSceneReadyEventBlock-ClJu3s64.js +1 -0
  224. package/public/assets/flowGraphSceneReadyEventBlock-ClJu3s64.js.br +0 -0
  225. package/public/assets/flowGraphSceneReadyEventBlock-ClJu3s64.js.gz +0 -0
  226. package/public/assets/flowGraphSceneTickEventBlock-3ZNr4eqw.js +1 -0
  227. package/public/assets/flowGraphSceneTickEventBlock-3ZNr4eqw.js.br +0 -0
  228. package/public/assets/flowGraphSceneTickEventBlock-3ZNr4eqw.js.gz +0 -0
  229. package/public/assets/flowGraphSendCustomEventBlock-CdKQeuma.js +1 -0
  230. package/public/assets/flowGraphSendCustomEventBlock-CdKQeuma.js.br +0 -0
  231. package/public/assets/flowGraphSendCustomEventBlock-CdKQeuma.js.gz +0 -0
  232. package/public/assets/flowGraphSequenceBlock-D0-_bFV3.js +1 -0
  233. package/public/assets/flowGraphSequenceBlock-D0-_bFV3.js.br +0 -0
  234. package/public/assets/flowGraphSequenceBlock-D0-_bFV3.js.gz +0 -0
  235. package/public/assets/flowGraphSetDelayBlock-B8946WOc.js +1 -0
  236. package/public/assets/flowGraphSetDelayBlock-B8946WOc.js.br +0 -0
  237. package/public/assets/flowGraphSetDelayBlock-B8946WOc.js.gz +0 -0
  238. package/public/assets/flowGraphSetPropertyBlock-Cx0IyW-a.js +1 -0
  239. package/public/assets/flowGraphSetPropertyBlock-Cx0IyW-a.js.br +0 -0
  240. package/public/assets/flowGraphSetPropertyBlock-Cx0IyW-a.js.gz +0 -0
  241. package/public/assets/flowGraphSetVariableBlock-0dns_CH6.js +1 -0
  242. package/public/assets/flowGraphSetVariableBlock-0dns_CH6.js.br +0 -0
  243. package/public/assets/flowGraphSetVariableBlock-0dns_CH6.js.gz +0 -0
  244. package/public/assets/flowGraphStopAnimationBlock-z4ou311H.js +1 -0
  245. package/public/assets/flowGraphStopAnimationBlock-z4ou311H.js.br +0 -0
  246. package/public/assets/flowGraphStopAnimationBlock-z4ou311H.js.gz +0 -0
  247. package/public/assets/flowGraphSwitchBlock-E7meS39u.js +1 -0
  248. package/public/assets/flowGraphSwitchBlock-E7meS39u.js.br +0 -0
  249. package/public/assets/flowGraphSwitchBlock-E7meS39u.js.gz +0 -0
  250. package/public/assets/flowGraphThrottleBlock-CldHJDs6.js +1 -0
  251. package/public/assets/flowGraphThrottleBlock-CldHJDs6.js.br +0 -0
  252. package/public/assets/flowGraphThrottleBlock-CldHJDs6.js.gz +0 -0
  253. package/public/assets/flowGraphTransformCoordinatesSystemBlock-pYdpcwK7.js +1 -0
  254. package/public/assets/flowGraphTransformCoordinatesSystemBlock-pYdpcwK7.js.br +0 -0
  255. package/public/assets/flowGraphTransformCoordinatesSystemBlock-pYdpcwK7.js.gz +0 -0
  256. package/public/assets/flowGraphTypeToTypeBlocks-CYfvLPJ-.js +1 -0
  257. package/public/assets/flowGraphTypeToTypeBlocks-CYfvLPJ-.js.br +0 -0
  258. package/public/assets/flowGraphTypeToTypeBlocks-CYfvLPJ-.js.gz +0 -0
  259. package/public/assets/flowGraphUnaryOperationBlock-s-kJ99D8.js +1 -0
  260. package/public/assets/flowGraphUnaryOperationBlock-s-kJ99D8.js.br +0 -0
  261. package/public/assets/flowGraphUnaryOperationBlock-s-kJ99D8.js.gz +0 -0
  262. package/public/assets/flowGraphVectorMathBlocks-D7iofIoY.js +1 -0
  263. package/public/assets/flowGraphVectorMathBlocks-D7iofIoY.js.br +0 -0
  264. package/public/assets/flowGraphVectorMathBlocks-D7iofIoY.js.gz +0 -0
  265. package/public/assets/flowGraphWaitAllBlock-CAW7HgUP.js +1 -0
  266. package/public/assets/flowGraphWaitAllBlock-CAW7HgUP.js.br +0 -0
  267. package/public/assets/flowGraphWaitAllBlock-CAW7HgUP.js.gz +0 -0
  268. package/public/assets/flowGraphWhileLoopBlock-DRP9_Zd1.js +1 -0
  269. package/public/assets/flowGraphWhileLoopBlock-DRP9_Zd1.js.br +0 -0
  270. package/public/assets/flowGraphWhileLoopBlock-DRP9_Zd1.js.gz +0 -0
  271. package/public/assets/fogFragmentDeclaration-CzUy86ul.js +22 -0
  272. package/public/assets/fogFragmentDeclaration-CzUy86ul.js.br +0 -0
  273. package/public/assets/fogFragmentDeclaration-CzUy86ul.js.gz +0 -0
  274. package/public/assets/fogFragmentDeclaration-kfcrkpgB.js +23 -0
  275. package/public/assets/fogFragmentDeclaration-kfcrkpgB.js.br +0 -0
  276. package/public/assets/fogFragmentDeclaration-kfcrkpgB.js.gz +0 -0
  277. package/public/assets/glowBlurPostProcess.fragment-CS_rTtUL.js +7 -0
  278. package/public/assets/glowBlurPostProcess.fragment-CS_rTtUL.js.br +0 -0
  279. package/public/assets/glowBlurPostProcess.fragment-CS_rTtUL.js.gz +0 -0
  280. package/public/assets/glowBlurPostProcess.fragment-G_xfSiIr.js +7 -0
  281. package/public/assets/glowBlurPostProcess.fragment-G_xfSiIr.js.br +0 -0
  282. package/public/assets/glowBlurPostProcess.fragment-G_xfSiIr.js.gz +0 -0
  283. package/public/assets/glowMapGeneration.fragment-DwJ3bpr6.js +63 -0
  284. package/public/assets/glowMapGeneration.fragment-DwJ3bpr6.js.br +0 -0
  285. package/public/assets/glowMapGeneration.fragment-DwJ3bpr6.js.gz +0 -0
  286. package/public/assets/glowMapGeneration.fragment-mDEHNZRi.js +63 -0
  287. package/public/assets/glowMapGeneration.fragment-mDEHNZRi.js.br +0 -0
  288. package/public/assets/glowMapGeneration.fragment-mDEHNZRi.js.gz +0 -0
  289. package/public/assets/glowMapGeneration.vertex-BACa9-r4.js +75 -0
  290. package/public/assets/glowMapGeneration.vertex-BACa9-r4.js.br +0 -0
  291. package/public/assets/glowMapGeneration.vertex-BACa9-r4.js.gz +0 -0
  292. package/public/assets/glowMapGeneration.vertex-mAWUJxSB.js +75 -0
  293. package/public/assets/glowMapGeneration.vertex-mAWUJxSB.js.br +3 -0
  294. package/public/assets/glowMapGeneration.vertex-mAWUJxSB.js.gz +0 -0
  295. package/public/assets/glowMapMerge.fragment-0Im35OVD.js +23 -0
  296. package/public/assets/glowMapMerge.fragment-0Im35OVD.js.br +0 -0
  297. package/public/assets/glowMapMerge.fragment-0Im35OVD.js.gz +0 -0
  298. package/public/assets/glowMapMerge.fragment-BXHfrWgL.js +25 -0
  299. package/public/assets/glowMapMerge.fragment-BXHfrWgL.js.br +0 -0
  300. package/public/assets/glowMapMerge.fragment-BXHfrWgL.js.gz +0 -0
  301. package/public/assets/glowMapMerge.vertex-8A2ntYoS.js +7 -0
  302. package/public/assets/glowMapMerge.vertex-8A2ntYoS.js.br +0 -0
  303. package/public/assets/glowMapMerge.vertex-8A2ntYoS.js.gz +0 -0
  304. package/public/assets/glowMapMerge.vertex-Cnm-5WLT.js +8 -0
  305. package/public/assets/glowMapMerge.vertex-Cnm-5WLT.js.br +0 -0
  306. package/public/assets/glowMapMerge.vertex-Cnm-5WLT.js.gz +0 -0
  307. package/public/assets/grain.fragment-BMGi-Hgp.js +6 -0
  308. package/public/assets/grain.fragment-BMGi-Hgp.js.br +0 -0
  309. package/public/assets/grain.fragment-BMGi-Hgp.js.gz +0 -0
  310. package/public/assets/grain.fragment-CH9zg05c.js +5 -0
  311. package/public/assets/grain.fragment-CH9zg05c.js.br +0 -0
  312. package/public/assets/grain.fragment-CH9zg05c.js.gz +0 -0
  313. package/public/assets/harmonicsFunctions-BQTTvws3.js +192 -0
  314. package/public/assets/harmonicsFunctions-BQTTvws3.js.br +0 -0
  315. package/public/assets/harmonicsFunctions-BQTTvws3.js.gz +0 -0
  316. package/public/assets/harmonicsFunctions-DtIiYWL1.js +189 -0
  317. package/public/assets/harmonicsFunctions-DtIiYWL1.js.br +0 -0
  318. package/public/assets/harmonicsFunctions-DtIiYWL1.js.gz +0 -0
  319. package/public/assets/hdrTextureLoader-Dqvpv0kr.js +2 -0
  320. package/public/assets/hdrTextureLoader-Dqvpv0kr.js.br +0 -0
  321. package/public/assets/hdrTextureLoader-Dqvpv0kr.js.gz +0 -0
  322. package/public/assets/iesTextureLoader-B8AoKSG2.js +2 -0
  323. package/public/assets/iesTextureLoader-B8AoKSG2.js.br +0 -0
  324. package/public/assets/iesTextureLoader-B8AoKSG2.js.gz +0 -0
  325. package/public/assets/index-CiIoJ8v1.js +4 -0
  326. package/public/assets/index-CiIoJ8v1.js.br +0 -0
  327. package/public/assets/index-CiIoJ8v1.js.gz +0 -0
  328. package/public/assets/index-Dhf9rSmv.js +1 -0
  329. package/public/assets/index-Dhf9rSmv.js.br +0 -0
  330. package/public/assets/index-Dhf9rSmv.js.gz +0 -0
  331. package/public/assets/instancesDeclaration-B2a0VuuR.js +23 -0
  332. package/public/assets/instancesDeclaration-B2a0VuuR.js.br +0 -0
  333. package/public/assets/instancesDeclaration-B2a0VuuR.js.gz +0 -0
  334. package/public/assets/ktxTextureLoader-DTr7AKqG.js +1 -0
  335. package/public/assets/ktxTextureLoader-DTr7AKqG.js.br +0 -0
  336. package/public/assets/ktxTextureLoader-DTr7AKqG.js.gz +0 -0
  337. package/public/assets/lazy-Cj-01uhW.js +2 -0
  338. package/public/assets/lazy-Cj-01uhW.js.br +0 -0
  339. package/public/assets/lazy-Cj-01uhW.js.gz +0 -0
  340. package/public/assets/lod.fragment-BuvQbBhE.js +3 -0
  341. package/public/assets/lod.fragment-BuvQbBhE.js.br +0 -0
  342. package/public/assets/lod.fragment-BuvQbBhE.js.gz +0 -0
  343. package/public/assets/lod.fragment-Cp0eqGjl.js +3 -0
  344. package/public/assets/lod.fragment-Cp0eqGjl.js.br +3 -0
  345. package/public/assets/lod.fragment-Cp0eqGjl.js.gz +0 -0
  346. package/public/assets/lodCube.fragment-CI1eTppS.js +22 -0
  347. package/public/assets/lodCube.fragment-CI1eTppS.js.br +2 -0
  348. package/public/assets/lodCube.fragment-CI1eTppS.js.gz +0 -0
  349. package/public/assets/lodCube.fragment-yDzV1teg.js +22 -0
  350. package/public/assets/lodCube.fragment-yDzV1teg.js.br +0 -0
  351. package/public/assets/lodCube.fragment-yDzV1teg.js.gz +0 -0
  352. package/public/assets/logDepthDeclaration-CeLLOhuK.js +4 -0
  353. package/public/assets/logDepthDeclaration-XDsVKoT0.js +4 -0
  354. package/public/assets/logDepthFragment-BPP-rBiT.js +4 -0
  355. package/public/assets/logDepthFragment-BPP-rBiT.js.br +0 -0
  356. package/public/assets/logDepthFragment-BPP-rBiT.js.gz +0 -0
  357. package/public/assets/logDepthFragment-CDaMyvfH.js +4 -0
  358. package/public/assets/logDepthVertex-CkFa6uAf.js +4 -0
  359. package/public/assets/logDepthVertex-CkFa6uAf.js.br +0 -0
  360. package/public/assets/logDepthVertex-CkFa6uAf.js.gz +0 -0
  361. package/public/assets/logDepthVertex-H6E8NLz1.js +4 -0
  362. package/public/assets/logDepthVertex-H6E8NLz1.js.br +1 -0
  363. package/public/assets/logDepthVertex-H6E8NLz1.js.gz +0 -0
  364. package/public/assets/mainUVVaryingDeclaration-DdwP8xi_.js +4 -0
  365. package/public/assets/mainUVVaryingDeclaration-OBB3LR8s.js +4 -0
  366. package/public/assets/mesh.vertexData.functions-BXkNVxNr.js +1 -0
  367. package/public/assets/mesh.vertexData.functions-BXkNVxNr.js.br +0 -0
  368. package/public/assets/mesh.vertexData.functions-BXkNVxNr.js.gz +0 -0
  369. package/public/assets/meshUboDeclaration-Cr5YhBB1.js +13 -0
  370. package/public/assets/meshUboDeclaration-Cr5YhBB1.js.br +0 -0
  371. package/public/assets/meshUboDeclaration-Cr5YhBB1.js.gz +0 -0
  372. package/public/assets/meshUboDeclaration-Uj1CsoJP.js +13 -0
  373. package/public/assets/meshUboDeclaration-Uj1CsoJP.js.br +0 -0
  374. package/public/assets/meshUboDeclaration-Uj1CsoJP.js.gz +0 -0
  375. package/public/assets/morphTargetsVertex-B9xWvV_u.js +100 -0
  376. package/public/assets/morphTargetsVertex-B9xWvV_u.js.br +0 -0
  377. package/public/assets/morphTargetsVertex-B9xWvV_u.js.gz +0 -0
  378. package/public/assets/oitFinalSimpleBlend.fragment-4NtZHGOG.js +3 -0
  379. package/public/assets/oitFinalSimpleBlend.fragment-4NtZHGOG.js.br +0 -0
  380. package/public/assets/oitFinalSimpleBlend.fragment-4NtZHGOG.js.gz +0 -0
  381. package/public/assets/oitFinalSimpleBlend.fragment-D8T6jyS0.js +2 -0
  382. package/public/assets/oitFinalSimpleBlend.fragment-D8T6jyS0.js.br +3 -0
  383. package/public/assets/oitFinalSimpleBlend.fragment-D8T6jyS0.js.gz +0 -0
  384. package/public/assets/oitFragment-CK8Y-Z-q.js +1202 -0
  385. package/public/assets/oitFragment-CK8Y-Z-q.js.br +0 -0
  386. package/public/assets/oitFragment-CK8Y-Z-q.js.gz +0 -0
  387. package/public/assets/oitFragment-ZUHesxAg.js +1077 -0
  388. package/public/assets/oitFragment-ZUHesxAg.js.br +0 -0
  389. package/public/assets/oitFragment-ZUHesxAg.js.gz +0 -0
  390. package/public/assets/openpbrMaterial-Dc7VVRl6.js +2 -0
  391. package/public/assets/openpbrMaterial-Dc7VVRl6.js.br +0 -0
  392. package/public/assets/openpbrMaterial-Dc7VVRl6.js.gz +0 -0
  393. package/public/assets/outline.fragment-BK0vgcx7.js +21 -0
  394. package/public/assets/outline.fragment-BK0vgcx7.js.br +0 -0
  395. package/public/assets/outline.fragment-BK0vgcx7.js.gz +0 -0
  396. package/public/assets/outline.fragment-DQK2JikO.js +18 -0
  397. package/public/assets/outline.fragment-DQK2JikO.js.br +0 -0
  398. package/public/assets/outline.fragment-DQK2JikO.js.gz +0 -0
  399. package/public/assets/outline.vertex-CHR7GZYH.js +47 -0
  400. package/public/assets/outline.vertex-CHR7GZYH.js.br +0 -0
  401. package/public/assets/outline.vertex-CHR7GZYH.js.gz +0 -0
  402. package/public/assets/outline.vertex-CKcILDiL.js +47 -0
  403. package/public/assets/outline.vertex-CKcILDiL.js.br +0 -0
  404. package/public/assets/outline.vertex-CKcILDiL.js.gz +0 -0
  405. package/public/assets/passCube.fragment-Ch6aeybh.js +23 -0
  406. package/public/assets/passCube.fragment-Ch6aeybh.js.br +0 -0
  407. package/public/assets/passCube.fragment-Ch6aeybh.js.gz +0 -0
  408. package/public/assets/passCube.fragment-wvJ8mb6_.js +23 -0
  409. package/public/assets/passCube.fragment-wvJ8mb6_.js.br +0 -0
  410. package/public/assets/passCube.fragment-wvJ8mb6_.js.gz +0 -0
  411. package/public/assets/pbr.fragment-Bo4XM7Ct.js +3277 -0
  412. package/public/assets/pbr.fragment-Bo4XM7Ct.js.br +0 -0
  413. package/public/assets/pbr.fragment-Bo4XM7Ct.js.gz +0 -0
  414. package/public/assets/pbr.fragment-T2xKI2J0.js +3327 -0
  415. package/public/assets/pbr.fragment-T2xKI2J0.js.br +0 -0
  416. package/public/assets/pbr.fragment-T2xKI2J0.js.gz +0 -0
  417. package/public/assets/pbr.vertex-BezAbBHx.js +357 -0
  418. package/public/assets/pbr.vertex-BezAbBHx.js.br +0 -0
  419. package/public/assets/pbr.vertex-BezAbBHx.js.gz +0 -0
  420. package/public/assets/pbr.vertex-w2ZWBdHy.js +227 -0
  421. package/public/assets/pbr.vertex-w2ZWBdHy.js.br +0 -0
  422. package/public/assets/pbr.vertex-w2ZWBdHy.js.gz +0 -0
  423. package/public/assets/playable-sdk-zAYuBOLj.js +8 -0
  424. package/public/assets/playable-sdk-zAYuBOLj.js.br +0 -0
  425. package/public/assets/playable-sdk-zAYuBOLj.js.gz +0 -0
  426. package/public/assets/playable-standard-project-Brbyn9c4.js +5140 -0
  427. package/public/assets/playable-standard-project-Brbyn9c4.js.br +0 -0
  428. package/public/assets/playable-standard-project-Brbyn9c4.js.gz +0 -0
  429. package/public/assets/rgbdDecode.fragment-BQ16CsAv.js +5 -0
  430. package/public/assets/rgbdDecode.fragment-BQ16CsAv.js.br +4 -0
  431. package/public/assets/rgbdDecode.fragment-BQ16CsAv.js.gz +0 -0
  432. package/public/assets/rgbdDecode.fragment-D_2CJy2O.js +5 -0
  433. package/public/assets/rgbdDecode.fragment-D_2CJy2O.js.br +0 -0
  434. package/public/assets/rgbdDecode.fragment-D_2CJy2O.js.gz +0 -0
  435. package/public/assets/rgbdEncode.fragment-CmDv6yEZ.js +5 -0
  436. package/public/assets/rgbdEncode.fragment-CmDv6yEZ.js.br +3 -0
  437. package/public/assets/rgbdEncode.fragment-CmDv6yEZ.js.gz +0 -0
  438. package/public/assets/rgbdEncode.fragment-QRg2h8KC.js +5 -0
  439. package/public/assets/rgbdEncode.fragment-QRg2h8KC.js.br +1 -0
  440. package/public/assets/rgbdEncode.fragment-QRg2h8KC.js.gz +0 -0
  441. package/public/assets/sceneLoader-CDreObGG.js +1 -0
  442. package/public/assets/sceneLoader-CDreObGG.js.br +0 -0
  443. package/public/assets/sceneLoader-CDreObGG.js.gz +0 -0
  444. package/public/assets/screenSpaceCurvature.fragment-BWdr_4iW.js +15 -0
  445. package/public/assets/screenSpaceCurvature.fragment-BWdr_4iW.js.br +0 -0
  446. package/public/assets/screenSpaceCurvature.fragment-BWdr_4iW.js.gz +0 -0
  447. package/public/assets/selection.fragment-CVXAuXcC.js +35 -0
  448. package/public/assets/selection.fragment-CVXAuXcC.js.br +0 -0
  449. package/public/assets/selection.fragment-CVXAuXcC.js.gz +0 -0
  450. package/public/assets/selection.fragment-DobH4NRw.js +35 -0
  451. package/public/assets/selection.fragment-DobH4NRw.js.br +0 -0
  452. package/public/assets/selection.fragment-DobH4NRw.js.gz +0 -0
  453. package/public/assets/selection.vertex-BUBv8X1j.js +74 -0
  454. package/public/assets/selection.vertex-BUBv8X1j.js.br +0 -0
  455. package/public/assets/selection.vertex-BUBv8X1j.js.gz +0 -0
  456. package/public/assets/selection.vertex-DlADXBtf.js +73 -0
  457. package/public/assets/selection.vertex-DlADXBtf.js.br +0 -0
  458. package/public/assets/selection.vertex-DlADXBtf.js.gz +0 -0
  459. package/public/assets/selectionOutline.fragment-CWpNrg8m.js +47 -0
  460. package/public/assets/selectionOutline.fragment-CWpNrg8m.js.br +0 -0
  461. package/public/assets/selectionOutline.fragment-CWpNrg8m.js.gz +0 -0
  462. package/public/assets/selectionOutline.fragment-DoKuUf2L.js +48 -0
  463. package/public/assets/selectionOutline.fragment-DoKuUf2L.js.br +0 -0
  464. package/public/assets/selectionOutline.fragment-DoKuUf2L.js.gz +0 -0
  465. package/public/assets/shadowMap.fragment-BEwhnKOg.js +78 -0
  466. package/public/assets/shadowMap.fragment-BEwhnKOg.js.br +0 -0
  467. package/public/assets/shadowMap.fragment-BEwhnKOg.js.gz +0 -0
  468. package/public/assets/shadowMap.fragment-CVar4C4N.js +79 -0
  469. package/public/assets/shadowMap.fragment-CVar4C4N.js.br +0 -0
  470. package/public/assets/shadowMap.fragment-CVar4C4N.js.gz +0 -0
  471. package/public/assets/shadowMap.vertex-ImOoSjTb.js +109 -0
  472. package/public/assets/shadowMap.vertex-ImOoSjTb.js.br +0 -0
  473. package/public/assets/shadowMap.vertex-ImOoSjTb.js.gz +0 -0
  474. package/public/assets/shadowMap.vertex-Q2d15P5z.js +119 -0
  475. package/public/assets/shadowMap.vertex-Q2d15P5z.js.br +0 -0
  476. package/public/assets/shadowMap.vertex-Q2d15P5z.js.gz +0 -0
  477. package/public/assets/shadowMapFragmentSoftTransparentShadow-BmxybqRD.js +4 -0
  478. package/public/assets/shadowMapFragmentSoftTransparentShadow-BmxybqRD.js.br +0 -0
  479. package/public/assets/shadowMapFragmentSoftTransparentShadow-BmxybqRD.js.gz +0 -0
  480. package/public/assets/shadowMapFragmentSoftTransparentShadow-D6ZvWsNy.js +4 -0
  481. package/public/assets/shadowMapFragmentSoftTransparentShadow-D6ZvWsNy.js.br +0 -0
  482. package/public/assets/shadowMapFragmentSoftTransparentShadow-D6ZvWsNy.js.gz +0 -0
  483. package/public/assets/sharpen.fragment-CI40r28S.js +8 -0
  484. package/public/assets/sharpen.fragment-CI40r28S.js.br +0 -0
  485. package/public/assets/sharpen.fragment-CI40r28S.js.gz +0 -0
  486. package/public/assets/textureMerger.fragment-BGsvQGn5.js +84 -0
  487. package/public/assets/textureMerger.fragment-BGsvQGn5.js.br +0 -0
  488. package/public/assets/textureMerger.fragment-BGsvQGn5.js.gz +0 -0
  489. package/public/assets/textureMerger.fragment-Q7yPwkGt.js +76 -0
  490. package/public/assets/textureMerger.fragment-Q7yPwkGt.js.br +0 -0
  491. package/public/assets/textureMerger.fragment-Q7yPwkGt.js.gz +0 -0
  492. package/public/assets/tgaTextureLoader-D7Pjisvo.js +1 -0
  493. package/public/assets/tgaTextureLoader-D7Pjisvo.js.br +0 -0
  494. package/public/assets/tgaTextureLoader-D7Pjisvo.js.gz +0 -0
  495. package/public/assets/vertexColorMixing-CwuEx4gP.js +20 -0
  496. package/public/assets/vertexColorMixing-CwuEx4gP.js.br +0 -0
  497. package/public/assets/vertexColorMixing-CwuEx4gP.js.gz +0 -0
  498. package/public/assets/vertexColorMixing-DRlcGbEu.js +24 -0
  499. package/public/assets/vertexColorMixing-DRlcGbEu.js.br +2 -0
  500. package/public/assets/vertexColorMixing-DRlcGbEu.js.gz +0 -0
  501. package/public/assets/volumetricLightingBlendVolume.fragment-0VKaEyya.js +12 -0
  502. package/public/assets/volumetricLightingBlendVolume.fragment-0VKaEyya.js.br +0 -0
  503. package/public/assets/volumetricLightingBlendVolume.fragment-0VKaEyya.js.gz +0 -0
  504. package/public/assets/volumetricLightingBlendVolume.fragment-BZLjMggm.js +11 -0
  505. package/public/assets/volumetricLightingBlendVolume.fragment-BZLjMggm.js.br +0 -0
  506. package/public/assets/volumetricLightingBlendVolume.fragment-BZLjMggm.js.gz +0 -0
  507. package/public/assets/volumetricLightingRenderVolume.fragment-6GAsdyvE.js +15 -0
  508. package/public/assets/volumetricLightingRenderVolume.fragment-6GAsdyvE.js.br +0 -0
  509. package/public/assets/volumetricLightingRenderVolume.fragment-6GAsdyvE.js.gz +0 -0
  510. package/public/assets/volumetricLightingRenderVolume.fragment-Da_DpfG1.js +13 -0
  511. package/public/assets/volumetricLightingRenderVolume.fragment-Da_DpfG1.js.br +0 -0
  512. package/public/assets/volumetricLightingRenderVolume.fragment-Da_DpfG1.js.gz +0 -0
  513. package/public/assets/volumetricLightingRenderVolume.vertex-BdVFX-tC.js +4 -0
  514. package/public/assets/volumetricLightingRenderVolume.vertex-BdVFX-tC.js.br +0 -0
  515. package/public/assets/volumetricLightingRenderVolume.vertex-BdVFX-tC.js.gz +0 -0
  516. package/public/assets/volumetricLightingRenderVolume.vertex-DO-VIhJn.js +5 -0
  517. package/public/assets/volumetricLightingRenderVolume.vertex-DO-VIhJn.js.br +0 -0
  518. package/public/assets/volumetricLightingRenderVolume.vertex-DO-VIhJn.js.gz +0 -0
  519. package/public/assets/webAudioBus-BkMWEG1L.js +1 -0
  520. package/public/assets/webAudioBus-BkMWEG1L.js.br +0 -0
  521. package/public/assets/webAudioBus-BkMWEG1L.js.gz +0 -0
  522. package/public/assets/webAudioMainBus-DYcQXAkm.js +1 -0
  523. package/public/assets/webAudioMainBus-DYcQXAkm.js.br +0 -0
  524. package/public/assets/webAudioMainBus-DYcQXAkm.js.gz +0 -0
  525. package/public/assets/workerPool-H9Ji3mCo.js +1 -0
  526. package/public/assets/workerPool-H9Ji3mCo.js.br +2 -0
  527. package/public/assets/workerPool-H9Ji3mCo.js.gz +0 -0
  528. package/public/index.html +21 -0
  529. package/public/index.html.br +0 -0
  530. package/public/index.html.gz +0 -0
  531. package/runtime/editor-control-plane.mjs +5 -0
  532. package/runtime/runtime-debug-authoring-bridge.mjs +1 -0
  533. package/worker/editor-service-worker.mjs +27 -0
@@ -0,0 +1 @@
1
+ import{fK as Ye,fJ as Je,jR as Ze,i0 as Xe,mr as er,i$ as rr}from"./playable-standard-project-Brbyn9c4.js";import{registerFpsEditorContribution as tr}from"@fps-games/editor-core/plugin-host";import"./dynamicTexture-Cuby-VOT.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const p of o.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&n(p)}).observe(document,{childList:!0,subtree:!0});function t(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=t(i);fetch(i.href,o)}})();const nr="0.2.3-beta.10",or="fps.editor.surface.hierarchy",ir="fps.hierarchy.surface";function ar(){return Object.freeze({type:ir,id:"hierarchy",title:"层级",area:"left",toolbar:"scoped-hierarchy",createKernel:cr})}function sr(e){const{snapshot:r,targetId:t,modifier:n}=e;if(t===null)return r.capabilities.clearSelection?Object.freeze({selectedIds:Object.freeze([]),activeId:null,anchorId:null}):Object.freeze({selectedIds:r.selectedIds,activeId:r.activeId,anchorId:e.anchorId});if(r.nodeById.get(t)?.selectable!==!0)return Object.freeze({selectedIds:r.selectedIds,activeId:r.activeId,anchorId:e.anchorId});if(n==="toggle"){const i=new Set(r.selectedIds);i.has(t)?i.delete(t):i.add(t);const o=[...i];return Object.freeze({selectedIds:Object.freeze(o),activeId:i.has(t)?t:o[o.length-1]??null,anchorId:t})}if(n==="range"&&r.capabilities.rangeSelection&&e.anchorId){const i=e.projection.indexOf(e.anchorId),o=e.projection.indexOf(t);if(i>=0&&o>=0){const[p,c]=i<=o?[i,o]:[o,i],I=e.projection.getRange(p,c).filter(b=>r.nodeById.get(b)?.selectable===!0);return Object.freeze({selectedIds:Object.freeze(I),activeId:t,anchorId:e.anchorId})}}return Object.freeze({selectedIds:Object.freeze([t]),activeId:t,anchorId:t})}function cr(){const e=new Map,r=new Map,t=new Map,n=new WeakMap;let i=new WeakMap;const o=new Map,p=new Set;let c=[],I=null,b=null,v=0;const O=(a=c)=>{const d=a.flatMap(f=>{if(!f.canProvide())return[];const h=f.getSnapshot();return h?[{provider:f,snapshot:h}]:[]}).sort((f,h)=>(h.provider.priority??0)-(f.provider.priority??0)||f.provider.id.localeCompare(h.provider.id));if(d.length>1&&(d[0].provider.priority??0)===(d[1].provider.priority??0))throw new Error(`Ambiguous Hierarchy scope providers: ${d[0].provider.id}, ${d[1].provider.id}.`);return d[0]??null},g=()=>{const a=O(),d=a?.provider??null,f=a?.snapshot??null;f&&d&&hr(r,d,f);const h=f?.scopeKey??null;(I!==d||b!==h)&&(b&&Se(e.get(b)),h&&Se(e.get(h)),I=d,b=h,v+=1);const w=f&&d?we(o,d,f):null;return w&&Ir(E(w.scopeKey),w),w},E=a=>{const d=e.get(a);if(d)return d;const f={collapsedIds:new Set,searchQuery:"",selectionAnchorId:null,rename:null,dragId:null,revision:null,dragIds:[],observedActiveId:null,sanitizedStructureRevision:null,projectionRevision:0,selectionGeneration:0,renameGeneration:0,dragGeneration:0,pendingSelectionGeneration:null,pendingRenameGeneration:null,pendingDragGeneration:null};return e.set(a,f),f},A=(a,d)=>{const f=E(a.scopeKey),h=M(a,f,d),w=x(a,d,se(a,a.activeId),"view");return Object.freeze({providerId:d.id,authorityToken:v,snapshot:a,state:Oe(f,n),projection:h,operations:w})},x=(a,d,f,h)=>{let w=i.get(a);w||(w=new WeakMap,i.set(a,w));let s=w.get(d);s||(s=new Map,w.set(d,s));const P=`${h}\0${f.contextNodeId??""}\0${f.activeId??""}\0${f.targetIds.join("")}`,C=s.get(P);if(C)return C;const l=v,Z=Object.freeze([...d.listOperations(f)]),q=g();return v!==l||I!==d||q?.scopeKey!==a.scopeKey||q.revision!==a.revision?Object.freeze([]):(s.set(P,Z),Z)},M=(a,d,f)=>{const h=t.get(a.scopeKey);if(h&&h.provider===f&&h.structureRevision===a.structureRevision&&h.projectionRevision===d.projectionRevision)return h.projection;const w=br(a,d);return t.set(a.scopeKey,{provider:f,structureRevision:a.structureRevision,projectionRevision:d.projectionRevision,projection:w}),w},R=()=>{for(let a=0;a<=c.length+1;a+=1){const d=g(),f=I;if(!d||!f)return null;const h=v,w=A(d,f);if(v===h&&I===f&&b===d.scopeKey)return w}throw new Error("Hierarchy provider authority did not stabilize during operation discovery.")},u=a=>{const d=[];for(const f of p)try{f.render(a)}catch(h){d.push(h)}if(d.length>0)throw d[0]},m=()=>{u(R())},y=a=>Object.freeze({ok:!0,changed:!1,revision:a?.revision??0,diagnostics:Object.freeze([])}),S=a=>{const d=Object.freeze({ok:!0,changed:!0,revision:a.revision,diagnostics:Object.freeze([])});try{return m(),d}catch(f){return pe(d,a.revision,f)}},j=async(a,d)=>{try{const f=wr(await a());return f.revision<d.revision?_(d.revision,"hierarchy.operation.revision-regressed",new Error(`Hierarchy operation revision regressed from ${d.revision} to ${f.revision}.`)):f}catch(f){return _(d.revision,"hierarchy.operation.failed",f)}},k={setProviders(a){const d=Object.freeze([...a]);dr(d);const f=c,h=I,w=b,s=v,P=pr(r),C=lr(e),l=new Map(t),Z=ur(o);let q;try{c=d,q=R()}catch(z){throw c=f,I=h,b=w,v=s,ce(r,P),ce(e,C),ce(t,l),ce(o,Z),z}for(const z of r.keys())d.includes(z)||r.delete(z);for(const[z,W]of o)d.includes(W.provider)||o.delete(z);u(q)},getProvider(){return g(),I},getViewModel:R,patchNodeLabels(a){const d=g(),f=I;if(!d||!f)return null;let h=o.get(d.scopeKey);(h?.provider!==f||h.structureRevision!==d.structureRevision)&&(h={provider:f,structureRevision:d.structureRevision,labels:new Map,sourceSnapshot:null,snapshot:null},o.set(d.scopeKey,h));for(const[w,s]of Object.entries(a))if(!s.trim()||!d.nodeById.has(w))return null;for(const[w,s]of Object.entries(a))h.labels.set(w,s);return h.sourceSnapshot=null,h.snapshot=null,t.delete(d.scopeKey),we(o,f,d)},listOperations(a,d){const f=I,h=b,w=g(),s=I;if((f!==s||h!==b)&&u(R()),!w||!s||d!==void 0&&d!==v||a.scopeKey!==w.scopeKey||a.expectedRevision!==w.revision)return Object.freeze([]);const P=x(w,s,a,"explicit");return I!==s||b!==w.scopeKey?(u(R()),Object.freeze([])):P},attachView(a){let d=null;try{d=a.bind(h=>k.dispatch(h)),p.add(a),a.render(R())}catch(h){if(p.delete(a),d)try{d()}catch(w){const s=new Error(`Hierarchy ViewAdapter initialization failed: ${xe(h)}; cleanup failed: ${xe(w)}`);throw Object.assign(s,{retryCleanup:()=>d?.()}),s}throw h}let f=!0;return()=>{f&&(d?.(),p.delete(a),f=!1)}},refresh(){i=new WeakMap,m()},async dispatch(a){let d=b?fr(r,I,b)?.revision??e.get(b)?.revision??0:0;const f=a.type==="drag.commit"&&b?e.get(b)??null:null,h=f?.dragGeneration??null,w=f?.dragId??null;try{const s=g();d=s?.revision??0;const P=I,C=v;if(!s||!P)return _(s?.revision??0,"hierarchy.scope.unavailable",new Error("No active Hierarchy scope provider is available."));if(a.expectedAuthorityToken!==void 0&&a.expectedAuthorityToken!==C)return _(s.revision,"hierarchy.operation.provider-authority-changed",new Error("Hierarchy intent authority no longer matches the active provider."));if(a.expectedScopeKey!==void 0&&a.expectedScopeKey!==s.scopeKey||a.expectedRevision!==void 0&&a.expectedRevision!==s.revision)return _(s.revision,"hierarchy.operation.view-authority-changed",new Error("Hierarchy intent no longer matches the rendered scope revision."));const l=E(s.scopeKey),Z=x(s,P,se(s,s.activeId),"view");if(v!==C||I!==P||b!==s.scopeKey)return _(s.revision,"hierarchy.operation.provider-authority-changed",new Error("Hierarchy provider authority changed during operation discovery."));const q=Object.freeze({providerId:P.id,authorityToken:C,snapshot:s,state:Oe(l,n),projection:M(s,l,P),operations:Z});if(a.type==="search.change")return l.searchQuery===a.value?y(s):(l.searchQuery=a.value,l.projectionRevision+=1,S(s));if(a.type==="disclosure.toggle")return!s.nodeById.has(a.targetId)||!s.childrenByParentId.get(a.targetId)?.length?y(s):(l.collapsedIds.has(a.targetId)?l.collapsedIds.delete(a.targetId):l.collapsedIds.add(a.targetId),l.projectionRevision+=1,S(s));if(a.type==="disclosure.expand")return!s.nodeById.has(a.targetId)||!l.collapsedIds.delete(a.targetId)?y(s):(l.projectionRevision+=1,S(s));if(a.type==="disclosure.reveal"){if(!s.nodeById.has(a.targetId))return y(s);let $=!1,F=s.nodeById.get(a.targetId)?.parentId??null;for(;F;)$=l.collapsedIds.delete(F)||$,F=s.nodeById.get(F)?.parentId??null;return $?(l.projectionRevision+=1,S(s)):y(s)}if(a.type==="selection"||a.type==="selection.set"){const $=a.type==="selection"?sr({snapshot:s,targetId:a.targetId,modifier:a.modifier,projection:q.projection,anchorId:l.selectionAnchorId}):vr(s,a.selectedIds,a.activeId,a.anchorId),F=l.selectionAnchorId,L=++l.selectionGeneration;l.pendingSelectionGeneration=L;const U=await j(()=>P.applySelection(Object.freeze({...se(s,a.type==="selection"?a.targetId:a.activeId),selectedIds:$.selectedIds,activeId:$.activeId})),s);U.changed&&i.delete(s);let V;try{V=R()}catch(B){return l.pendingSelectionGeneration===L&&(l.pendingSelectionGeneration=null),de(U,s.revision,B)}const T=V?.snapshot??null,K=V?.authorityToken===C?je(U,s,T):Me(U,s.revision,C,V?.authorityToken??null);L===l.selectionGeneration&&T?.scopeKey===s.scopeKey&&T.revision===K.revision&&(l.revision=T.revision,l.selectionAnchorId=K.ok?$.anchorId:F),l.pendingSelectionGeneration===L&&(l.pendingSelectionGeneration=null);try{T&&I&&(V=A(T,I)),u(V)}catch(B){return pe(K,s.revision,B)}return K}if(a.type==="rename.begin"){const $=s.nodeById.get(a.targetId);return!s.readonly&&s.capabilities.rename&&$?.renamable&&$.editorLocked!==!0?(l.renameGeneration+=1,l.rename={id:$.id,value:$.label},S(s)):y(s)}if(a.type==="rename.change")return l.rename?(l.renameGeneration+=1,l.rename.value=a.value,S(s)):y(s);if(a.type==="rename.cancel")return l.renameGeneration+=1,l.rename=null,S(s);if(a.type==="drag.begin"){const $=s.nodeById.get(a.targetId);if(!s.readonly&&s.capabilities.reparent&&$?.draggable&&$.editorLocked!==!0){const F=q.projection.getTopLevelSelection(s.selectedIds.includes(a.targetId)?s.selectedIds:[a.targetId]).filter(L=>{const U=s.nodeById.get(L);return U?.draggable===!0&&U.editorLocked!==!0});return F.length===0?y(s):(l.dragGeneration+=1,l.dragId=a.targetId,l.dragIds=Object.freeze(F),S(s))}return y(s)}if(a.type==="drag.cancel")return l.dragGeneration+=1,l.dragId=null,l.dragIds=[],S(s);if(a.type==="context")return y(s);let z,W,Q=s.activeId;if(a.type==="primary"&&(z=s.primaryOperationId,Q=a.targetId),a.type==="rename.commit"&&l.rename&&(z="hierarchy.node.rename",W=Object.freeze({targetId:l.rename.id,name:l.rename.value}),Q=l.rename.id),a.type==="drag.commit"&&l.dragId&&(z=a.operationId,W=Object.freeze({...a.input??{},draggedIds:Object.freeze([...l.dragIds])}),Q=l.dragId),a.type==="operation.execute"){if(z=a.operationId,W=a.input,a.context&&(a.context.scopeKey!==s.scopeKey||a.context.expectedRevision!==s.revision))return _(s.revision,"hierarchy.operation.stale",new Error("Hierarchy operation context no longer matches the active scope revision."));Q=a.context?.contextNodeId??Q}if(!z)return y(s);const X=l.renameGeneration,le=l.dragGeneration;a.type==="rename.commit"&&(l.pendingRenameGeneration=X),a.type==="drag.commit"&&(l.pendingDragGeneration=le);const ve=a.type==="rename.commit"?l.rename?.id:a.type==="drag.commit"?l.dragId:null,be=a.type==="operation.execute"&&a.context?a.context:a.type==="drag.commit"?Object.freeze({...se(s,Q),targetIds:Object.freeze([...l.dragIds])}):se(s,Q);try{const $=x(s,P,be,"explicit"),F=g(),L=v!==C||I!==P||b!==s.scopeKey,U=F?.revision!==s.revision;if(L||U){try{u(R())}catch{}return _(F?.revision??s.revision,L?"hierarchy.operation.provider-authority-changed":"hierarchy.operation.stale",new Error(L?"Hierarchy provider authority changed during operation discovery.":"Hierarchy scope revision changed during operation discovery."))}const V=$.find(ae=>ae.id===z);if(!V)return _(s.revision,"hierarchy.operation.unavailable",new Error(`Hierarchy operation is unavailable for this context: ${z}`));if(V.disabledReason)return _(s.revision,"hierarchy.operation.disabled",new Error(V.disabledReason));const T=await j(()=>P.executeOperation(Object.freeze({...be,operationId:z,...W?{input:W}:{}})),s);(T.ok||T.changed)&&i.delete(s);let K;try{K=R()}catch(ae){return a.type==="rename.commit"&&l.pendingRenameGeneration===X&&(l.pendingRenameGeneration=null),de(T,s.revision,ae)}const B=K?.snapshot??null,ee=K?.authorityToken===C?je(T,s,B):Me(T,s.revision,C,K?.authorityToken??null),ue=B?.scopeKey===s.scopeKey&&B.revision===ee.revision;ue&&B&&(l.revision=B.revision),ee.ok&&a.type==="rename.commit"&&ue&&l.renameGeneration===X&&l.rename?.id===ve&&(l.rename=null),!ee.ok&&ee.changed&&ue&&B&&B.revision!==s.revision&&a.type==="rename.commit"&&l.renameGeneration===X&&(l.rename=null),a.type==="rename.commit"&&l.pendingRenameGeneration===X&&(l.pendingRenameGeneration=null);try{B&&I&&(K=A(B,I)),u(K)}catch(ae){return pe(ee,s.revision,ae)}return ee}finally{if(a.type==="rename.commit"&&l.pendingRenameGeneration===X&&(l.pendingRenameGeneration=null),a.type==="drag.commit"&&l.pendingDragGeneration===le&&(l.pendingDragGeneration=null,l.dragGeneration===le&&l.dragId===ve)){l.dragId=null,l.dragIds=[];try{m()}catch{}}}}catch(s){return _(d,"hierarchy.operation.failed",s)}finally{if(f&&h!==null&&f.dragGeneration===h&&f.dragId===w){f.pendingDragGeneration=null,f.dragId=null,f.dragIds=[];try{m()}catch{}}}}};return k}function dr(e){const r=new Set;for(const t of e){if(!t.id.trim())throw new Error("Hierarchy scope provider id is required.");if(r.has(t.id))throw new Error(`Duplicate Hierarchy scope provider id: ${t.id}.`);r.add(t.id)}}function lr(e){return new Map([...e].map(([r,t])=>[r,{...t,collapsedIds:new Set(t.collapsedIds),rename:t.rename?{...t.rename}:null}]))}function ce(e,r){e.clear();for(const[t,n]of r)e.set(t,n)}function we(e,r,t){const n=e.get(t.scopeKey);if(!n)return t;if(n.provider!==r||n.structureRevision!==t.structureRevision)return e.delete(t.scopeKey),t;if(n.sourceSnapshot===t&&n.snapshot)return n.snapshot;const i=new Map(t.nodeById);let o=!1;for(const[c,I]of n.labels){const b=i.get(c);!b||b.label===I||(i.set(c,Object.freeze({...b,label:I})),o=!0)}const p=o?Object.freeze({...t,nodeById:Sr(i)}):t;return n.sourceSnapshot=t,n.snapshot=p,p}function ur(e){return new Map([...e].map(([r,t])=>[r,{...t,labels:new Map(t.labels)}]))}function pr(e){return new Map([...e].map(([r,t])=>[r,new Map(t)]))}function fr(e,r,t){return r?e.get(r)?.get(t):void 0}function hr(e,r,t){let n=e.get(r);n||(n=new Map,e.set(r,n));const i=n.get(t.scopeKey);if(i&&t.revision<i.revision)throw new Error(`Hierarchy scope ${t.scopeKey} revision regressed from ${i.revision} to ${t.revision}.`);if(i&&t.revision===i.revision&&!mr(i.snapshot,t))throw new Error(`Hierarchy scope ${t.scopeKey} reused revision ${t.revision} for a different authority snapshot.`);if(i&&t.structureRevision<i.structureRevision)throw new Error(`Hierarchy scope ${t.scopeKey} structureRevision regressed from ${i.structureRevision} to ${t.structureRevision}.`);if(i&&t.structureRevision===i.structureRevision&&(t.rootIds!==i.rootIds||t.nodeById!==i.nodeById||t.childrenByParentId!==i.childrenByParentId))throw new Error(`Hierarchy scope ${t.scopeKey} must structurally share tree indexes for structureRevision ${t.structureRevision}.`);(!i||t.revision>i.revision)&&n.set(t.scopeKey,{revision:t.revision,snapshot:t,structureRevision:t.structureRevision,rootIds:t.rootIds,nodeById:t.nodeById,childrenByParentId:t.childrenByParentId})}function mr(e,r){return e===r?!0:e.scopeType===r.scopeType&&e.structureRevision===r.structureRevision&&e.title===r.title&&e.searchPlaceholder===r.searchPlaceholder&&e.readonly===r.readonly&&e.rootIds===r.rootIds&&e.nodeById===r.nodeById&&e.childrenByParentId===r.childrenByParentId&&e.activeId===r.activeId&&e.primaryOperationId===r.primaryOperationId&&gr(e.selectedIds,r.selectedIds)&&yr(e.capabilities,r.capabilities)}function gr(e,r){return e.length===r.length&&e.every((t,n)=>t===r[n])}function yr(e,r){const t=new Set([...Object.keys(e),...Object.keys(r)]);for(const n of t)if(e[n]!==r[n])return!1;return!0}function se(e,r){return Object.freeze({scopeKey:e.scopeKey,expectedRevision:e.revision,contextNodeId:r,targetIds:e.selectedIds,activeId:e.activeId})}function Ir(e,r){if(e.revision!==null&&e.revision!==r.revision&&(e.pendingSelectionGeneration===null&&(e.selectionGeneration+=1),e.pendingRenameGeneration===null&&(e.renameGeneration+=1,e.rename=null),e.pendingDragGeneration===null&&(e.dragGeneration+=1,e.dragId=null,e.dragIds=[])),e.revision=r.revision,e.observedActiveId!==r.activeId){let t=!1;if(e.collapsedIds.size>0){let n=r.activeId?r.nodeById.get(r.activeId)?.parentId??null:null;for(;n;)t=e.collapsedIds.delete(n)||t,n=r.nodeById.get(n)?.parentId??null}t&&(e.projectionRevision+=1),e.observedActiveId=r.activeId}if(e.sanitizedStructureRevision!==r.structureRevision){e.selectionAnchorId&&!r.nodeById.has(e.selectionAnchorId)&&(e.selectionAnchorId=null),e.rename&&!r.nodeById.has(e.rename.id)&&(e.rename=null),e.dragId&&!r.nodeById.has(e.dragId)&&(e.dragId=null),e.dragIds=e.dragIds.filter(n=>r.nodeById.has(n)),(!e.dragId||e.dragIds.length===0)&&(e.dragId=null,e.dragIds=[]);let t=!1;for(const n of e.collapsedIds)r.nodeById.has(n)||(t=e.collapsedIds.delete(n)||t);t&&(e.projectionRevision+=1),e.sanitizedStructureRevision=r.structureRevision}}function Se(e){e&&(e.selectionGeneration+=1,e.renameGeneration+=1,e.dragGeneration+=1,e.pendingSelectionGeneration=null,e.pendingRenameGeneration=null,e.pendingDragGeneration=null,e.selectionAnchorId=null,e.rename=null,e.dragId=null,e.dragIds=[])}function vr(e,r,t,n){const i=Be(r).filter(c=>e.nodeById.get(c)?.selectable===!0),o=t&&i.includes(t)?t:i[0]??null,p=n&&e.nodeById.has(n)?n:o;return Object.freeze({selectedIds:Object.freeze(i),activeId:o,anchorId:p})}function br(e,r){const t=r.searchQuery.trim().toLocaleLowerCase(),n=t?new Set:null;if(n)for(const u of e.nodeById.values()){if(!u.label.toLocaleLowerCase().includes(t)&&!u.id.toLocaleLowerCase().includes(t))continue;let m=u;for(;m&&!n.has(m.id);)n.add(m.id),m=m.parentId?e.nodeById.get(m.parentId):void 0}const i=[],o=new Map,p=[...e.rootIds].reverse().map(u=>({id:u,depth:0}));for(;p.length>0;){const{id:u,depth:m}=p.pop();if(!e.nodeById.get(u)||n&&!n.has(u)||(o.set(u,i.length),i.push(Object.freeze({id:u,depth:m})),!n&&r.collapsedIds.has(u)))continue;const S=e.childrenByParentId.get(u)??[];for(let j=S.length-1;j>=0;j-=1)p.push({id:S[j],depth:m+1})}const c=Object.freeze(i),I=Object.freeze([]),b=new Map,v=new Map,O=new Map,g=(u,m,y)=>(u.size>256&&u.clear(),u.set(m,y),y),E=u=>{if(!u)return I;const m=b.get(u);if(m)return m;const y=[];let S=e.nodeById.get(u)?.parentId??null;for(;S;)y.push(S),S=e.nodeById.get(S)?.parentId??null;return g(b,u,Object.freeze(y))},A=u=>{const m=v.get(u);if(m)return m;v.size>256&&v.clear();const y=new Set(E(u));return v.set(u,y),y},x=u=>{const m=Be(u).filter(k=>e.nodeById.has(k));if(m.length===0)return I;const y=m.join("\0"),S=O.get(y);if(S)return S;if(m.length===1)return g(O,y,Object.freeze([...m]));const j=new Set(m);return g(O,y,Object.freeze(m.filter(k=>!E(k).some(a=>j.has(a)))))},M=(u,m)=>u!==m&&A(u).has(m),R=u=>{const m=x(u.draggedIds),y=h=>Object.freeze({ok:!1,reason:h,placement:u.placement,draggedIds:Object.freeze([]),targetId:u.targetId??null,parentId:null,beforeId:null,afterId:null});if(m.length===0)return y("empty-drag");for(const h of m){const w=e.nodeById.get(h);if(!w?.draggable||w.editorLocked===!0)return y("dragged-node-not-movable")}if(u.placement==="root")return Object.freeze({ok:!0,placement:"root",draggedIds:m,targetId:null,parentId:null,beforeId:null,afterId:null});const S=u.targetId??null,j=S?e.nodeById.get(S):void 0;if(!j)return y("missing-target");const k=new Set(m);if(k.has(j.id))return y("cannot-drop-on-self");if(m.some(h=>M(j.id,h)))return y("cannot-drop-on-descendant");if(u.placement==="inside"){if(j.editorLocked===!0)return y("target-node-locked");if(!j.canHaveChildren)return y("target-cannot-have-children");const h=(e.childrenByParentId.get(j.id)??[]).filter(w=>!k.has(w));return Object.freeze({ok:!0,placement:"inside",draggedIds:m,targetId:j.id,parentId:j.id,beforeId:null,afterId:h[h.length-1]??null})}if(j.role==="root")return y("cannot-reorder-root");if(j.editorLocked===!0)return y("target-node-locked");if((j.parentId?e.nodeById.get(j.parentId):void 0)?.editorLocked===!0)return y("target-parent-locked");const d=(e.childrenByParentId.get(j.parentId)??[]).filter(h=>!k.has(h)),f=d.indexOf(j.id);return Object.freeze({ok:!0,placement:u.placement,draggedIds:m,targetId:j.id,parentId:j.parentId,beforeId:u.placement==="before"?j.id:d[f+1]??null,afterId:u.placement==="after"?j.id:d[f-1]??null})};return Object.freeze({structureRevision:e.structureRevision,projectionRevision:r.projectionRevision,totalCount:c.length,indexOf(u){return u?o.get(u)??-1:-1},getRow(u){return Number.isInteger(u)&&u>=0?c[u]??null:null},getWindow(u,m){const y=Math.max(0,Math.trunc(u)),S=Math.max(0,Math.trunc(m));return Object.freeze(c.slice(y,y+S))},getRange(u,m){const y=Math.max(0,Math.min(Math.trunc(u),Math.trunc(m))),S=Math.min(c.length-1,Math.max(Math.trunc(u),Math.trunc(m)));return S<y?Object.freeze([]):Object.freeze(c.slice(y,S+1).map(j=>j.id))},getAncestors:E,getSelectableChildren(u){return Object.freeze(u?(e.childrenByParentId.get(u)??[]).filter(m=>e.nodeById.get(m)?.selectable===!0):[])},getSelectableDescendants(u){if(!u||!e.nodeById.has(u))return Object.freeze([]);const m=[],y=[...e.childrenByParentId.get(u)??[]].reverse();for(;y.length>0;){const S=y.pop();e.nodeById.get(S)?.selectable===!0&&m.push(S);const j=e.childrenByParentId.get(S)??[];for(let k=j.length-1;k>=0;k-=1)y.push(j[k])}return Object.freeze(m)},getTopLevelSelection:x,isDescendant:M,resolveDrop:R})}function wr(e){if(!e||typeof e!="object"||typeof e.ok!="boolean"||!Number.isSafeInteger(e.revision))throw new Error("Hierarchy provider returned an invalid operation result.");return Object.freeze({ok:e.ok,changed:e.changed===!0,revision:e.revision,diagnostics:Object.freeze([...e.diagnostics??[]])})}function _(e,r,t){return Object.freeze({ok:!1,changed:!1,revision:e,diagnostics:Object.freeze([Object.freeze({code:r,message:t instanceof Error?t.message:String(t),severity:"error"})])})}function de(e,r,t){const n=Ie(e);return Object.freeze({ok:!1,changed:e.changed||n,revision:Math.max(r,e.revision),diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:"hierarchy.snapshot.refresh-failed-after-operation",message:t instanceof Error?t.message:String(t),severity:"error"}),...n?[Object.freeze({code:"hierarchy.operation.commit-status-unknown",message:"The provider failed before the refreshed snapshot could confirm whether its authored change committed.",severity:"error"})]:[]])})}function pe(e,r,t){const n=Ie(e);return Object.freeze({ok:!1,changed:e.changed||n,revision:Math.max(r,e.revision),diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:"hierarchy.view.render-failed-after-change",message:t instanceof Error?t.message:String(t),severity:"error"}),...n?[Object.freeze({code:"hierarchy.operation.commit-status-unknown",message:"The provider failed before the refreshed snapshot could confirm whether its authored change committed.",severity:"error"})]:[]])})}function je(e,r,t){if(!t||t.scopeKey!==r.scopeKey)return de(e,r.revision,new Error(`Hierarchy scope ${r.scopeKey} was unavailable after the operation.`));if(t.revision<e.revision)return de(e,r.revision,new Error(`Hierarchy operation reported revision ${e.revision}, but the refreshed scope is still at ${t.revision}.`));if(t.revision===e.revision)return e;const n=!e.ok&&e.diagnostics.some(i=>i.code==="hierarchy.operation.failed")&&t.revision>r.revision;return Object.freeze({...e,changed:e.changed||n,revision:t.revision,diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:n?"hierarchy.operation.failed-after-revision-advanced":"hierarchy.operation.concurrent-revision-advanced",message:n?`The operation failed after the scope advanced from revision ${r.revision} to ${t.revision}; the authored result may already be committed.`:`The scope advanced to revision ${t.revision} while the operation completed.`,severity:n?"error":"info"})])})}function Me(e,r,t,n){const i=Ie(e);return Object.freeze({ok:!1,changed:e.changed||i,revision:Math.max(r,e.revision),diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:"hierarchy.operation.provider-authority-changed",message:`Hierarchy provider authority changed from token ${t} to ${n??"none"} while the operation was pending.`,severity:"error"}),...i?[Object.freeze({code:"hierarchy.operation.commit-status-unknown",message:"Provider authority changed before the failed operation could confirm whether its authored change committed.",severity:"error"})]:[]])})}function Ie(e){return e.diagnostics.some(r=>r.code==="hierarchy.operation.failed")}function xe(e){return e instanceof Error?e.message:String(e)}function Oe(e,r){const t=r.get(e);if(t&&t.projectionRevision===e.projectionRevision&&t.selectionGeneration===e.selectionGeneration&&t.renameGeneration===e.renameGeneration&&t.dragGeneration===e.dragGeneration&&t.selectionAnchorId===e.selectionAnchorId&&t.renameId===(e.rename?.id??null)&&t.renameValue===(e.rename?.value??null)&&t.dragId===e.dragId&&t.dragIds===e.dragIds)return t.snapshot;const n=Object.freeze({collapsedIds:t?.projectionRevision===e.projectionRevision?t.snapshot.collapsedIds:new Set(e.collapsedIds),searchQuery:e.searchQuery,selectionAnchorId:e.selectionAnchorId,rename:e.rename?Object.freeze({...e.rename}):null,dragId:e.dragId,dragIds:t?.dragGeneration===e.dragGeneration&&t.dragIds===e.dragIds?t.snapshot.dragIds:Object.freeze([...e.dragIds])});return r.set(e,{projectionRevision:e.projectionRevision,selectionGeneration:e.selectionGeneration,renameGeneration:e.renameGeneration,dragGeneration:e.dragGeneration,selectionAnchorId:e.selectionAnchorId,renameId:e.rename?.id??null,renameValue:e.rename?.value??null,dragId:e.dragId,dragIds:e.dragIds,snapshot:n}),n}function Be(e){return[...new Set(e.filter(r=>r.trim()))]}function Sr(e){let r;return r=Object.freeze({get size(){return e.size},has(t){return e.has(t)},get(t){return e.get(t)},entries(){return e.entries()},keys(){return e.keys()},values(){return e.values()},forEach(t,n){e.forEach((i,o)=>t.call(n,i,o,r))},[Symbol.iterator](){return e[Symbol.iterator]()}}),r}const Ge="fps.plugin.hierarchy";function jr(){return Ye({id:Ge,version:nr,apiVersion:1,requires:{},provides:{features:["fps.editor.hierarchy"]},entries:{editor:"./editor"},environmentContracts:{editor:{requires:{services:["fps.editor.contributions"]},provides:{}}},deploymentConstraints:{allowedTargets:["editor"]}})}const Mr=Je({pluginId:Ge,environment:"editor",register(e){tr(e,{id:or,kind:"hierarchy",value:ar()})}}),N=(e,r)=>({kind:"number",...e!=null?{min:e}:{},...r!=null?{max:r}:{}}),Y={kind:"texture"},Re={kind:"color"},xr={kind:"enum",values:["lit","unlit"]},Or={kind:"enum",values:["opaque","mask","blend"]},Fe={lightingModel:xr,baseColor:{kind:"object",properties:{color:Re,texture:Y,brightness:N(0),saturation:N(0),contrast:N(0),hue:N(-180,180)}},normal:{kind:"object",properties:{texture:Y,strength:N(0)}},emission:{kind:"object",properties:{color:Re,intensity:N(0),texture:Y,maskTexture:Y}},alpha:{kind:"object",properties:{mode:Or,opacity:N(0,1),cutoff:N(0,1),texture:Y}}},Rr={kind:"object",properties:{...Fe,metallic:N(0,1),roughness:N(0,1),metallicRoughness:{kind:"object",properties:{texture:Y}},occlusion:{kind:"object",properties:{texture:Y,strength:N(0)}}}},$r={kind:"object",properties:Fe},Pr={lightingModel:"lit",baseColor:{color:{r:1,g:1,b:1},brightness:1,saturation:1,contrast:1,hue:0},metallic:0,roughness:1,emission:{color:{r:0,g:0,b:0},intensity:0}},Er={lightingModel:"lit",baseColor:{color:{r:1,g:1,b:1},brightness:1,saturation:1,contrast:1,hue:0},emission:{color:{r:0,g:0,b:0},intensity:0}},$e=[{id:"surface",title:"Surface",order:40},{id:"geometry",title:"Geometry",order:50},{id:"emission",title:"Emission",order:60},{id:"alpha",title:"Alpha",order:70}],J={path:"properties.lightingModel",operator:"equals",value:"lit",inactiveReasonKey:"litMaterial"},Te=[ne("properties.lightingModel","surface",1,"enum","assetLightingModel","lightingModel","lit",{options:[{value:"lit",labelKey:"assetLightingModelLit"},{value:"unlit",labelKey:"assetLightingModelUnlit"}],binding:"lightingModel",updateClass:"define"}),ne("properties.baseColor.color","surface",2,"color","assetBaseColor","baseColor",{r:1,g:1,b:1},{binding:"baseColor.color"}),oe("properties.baseColor.texture.textureAssetId","properties.baseColor.texture","surface",3,"assetBaseTexture","baseTexture","baseColor.texture"),H("properties.baseColor.brightness","surface",4,"assetBrightness","brightness",1,{softMin:0,softMax:4,step:.05,conditions:[re("properties.baseColor.texture.textureAssetId","baseTexture")]}),H("properties.baseColor.saturation","surface",5,"assetSaturation","saturation",1,{softMin:0,softMax:2,step:.05,conditions:[re("properties.baseColor.texture.textureAssetId","baseTexture")]}),H("properties.baseColor.contrast","surface",6,"assetContrast","contrast",1,{softMin:0,softMax:2,step:.05,conditions:[re("properties.baseColor.texture.textureAssetId","baseTexture")]}),H("properties.baseColor.hue","surface",7,"assetHue","hue",0,{step:1,conditions:[re("properties.baseColor.texture.textureAssetId","baseTexture")]}),oe("properties.normal.texture.textureAssetId","properties.normal.texture","geometry",10,"assetNormalTexture","normalTexture","normal.texture",[J]),H("properties.normal.strength","geometry",11,"assetNormalStrength","normalStrength",1,{softMin:0,softMax:4,step:.05,conditions:[J,re("properties.normal.texture.textureAssetId","normalTexture")]}),ne("properties.emission.color","emission",50,"color","assetEmissionColor","emissionColor",{r:0,g:0,b:0},{binding:"emission.color"}),H("properties.emission.intensity","emission",51,"assetEmissionIntensity","emissionIntensity",0,{softMin:0,softMax:8,step:.05}),oe("properties.emission.texture.textureAssetId","properties.emission.texture","emission",52,"assetEmissionTexture","emissionTexture","emission.texture"),ne("properties.alpha.mode","alpha",60,"enum","assetAlphaMode","alphaMode","opaque",{options:[{value:"opaque",labelKey:"assetAlphaModeOpaque"},{value:"mask",labelKey:"assetAlphaModeMask"},{value:"blend",labelKey:"assetAlphaModeBlend"}],binding:"alpha.mode",updateClass:"pipeline"}),H("properties.alpha.opacity","alpha",61,"assetAlphaOpacity","alphaOpacity",1,{step:.05,conditions:[{path:"properties.alpha.mode",operator:"equals",value:"blend",inactiveReasonKey:"alphaBlend"}]}),H("properties.alpha.cutoff","alpha",62,"assetAlphaCutoff","alphaCutoff",.5,{step:.01,conditions:[{path:"properties.alpha.mode",operator:"equals",value:"mask",inactiveReasonKey:"alphaMask"}]}),oe("properties.alpha.texture.textureAssetId","properties.alpha.texture","alpha",63,"assetAlphaTexture","alphaTexture","alpha.texture",[{path:"properties.alpha.mode",operator:"not-equals",value:"opaque",inactiveReasonKey:"alphaTransparency"}])],zr=[...Te,H("properties.metallic","geometry",20,"assetMetallic","metallic",0,{step:.05,conditions:[J]}),H("properties.roughness","geometry",21,"assetRoughness","roughness",1,{step:.05,conditions:[J]}),oe("properties.metallicRoughness.texture.textureAssetId","properties.metallicRoughness.texture","geometry",22,"assetMetallicRoughnessTexture","metallicRoughnessTexture","metallicRoughness.texture",[J]),oe("properties.occlusion.texture.textureAssetId","properties.occlusion.texture","geometry",23,"assetOcclusionTexture","occlusionTexture","occlusion.texture",[J]),H("properties.occlusion.strength","geometry",24,"assetOcclusionStrength","occlusionStrength",1,{softMin:0,softMax:4,step:.05,conditions:[J,re("properties.occlusion.texture.textureAssetId","occlusionTexture")]})],Ke=[{shaderId:"fps.builtin.pbr",version:1,runtimeKind:"pbr",displayName:"PBR",propertiesSchema:Rr,defaultProperties:Pr,inspector:{sections:$e,fields:zr}},{shaderId:"fps.builtin.standard",version:1,runtimeKind:"standard",displayName:"Standard",propertiesSchema:$r,defaultProperties:Er,inspector:{sections:$e,fields:Te}}];_e(Ke);function _e(e){const r=new Map;for(const n of e){kr(n,r);const i=Ar(n);r.set(n.shaderId,Ve(i))}const t=Object.freeze([...r.values()]);return Object.freeze({get(n){return typeof n=="string"?r.get(n)??null:null},list(){return t}})}function ne(e,r,t,n,i,o,p,c){return{path:e,sectionId:r,order:t,control:n,labelKey:i,tooltipKey:o,defaultValue:p,updateClass:"uniform",...c}}function H(e,r,t,n,i,o,p={}){return ne(e,r,t,"number",n,i,o,{binding:e.replace(/^properties\./,""),step:p.step??.05,displayPrecision:2,precision:2,...p})}function oe(e,r,t,n,i,o,p,c){return ne(e,t,n,"texture",i,o,"",{schemaPath:r,binding:p,updateClass:"texture",conditions:c})}function re(e,r){return{path:e,operator:"truthy",inactiveReasonKey:r}}function kr(e,r){if(!Ze(e.shaderId)&&!Xe(e.shaderId))throw new Error("Material Shader Definition shaderId must be a supported built-in id or a lowercase namespaced project id.");if(!Number.isInteger(e.version)||e.version<=0)throw new Error(`Material Shader Definition ${e.shaderId} must use a positive integer version.`);if(r.has(e.shaderId))throw new Error(`Duplicate Material Shader Definition: ${e.shaderId}`);if(e.sourceFile!=null&&!Br(e.sourceFile))throw new Error(`Material Shader Definition ${e.shaderId} sourceFile must be a safe project-relative path.`);Ne(e.shaderId,e.propertiesSchema,"properties");const t=[];if(Le(e.propertiesSchema,e.defaultProperties,"properties",t),t.length>0){const o=t[0];throw new Error(`Material Shader Definition ${e.shaderId} default ${o.path} ${o.message}.`)}const n=new Set;for(const o of e.inspector.sections){if(!o.id.trim()||n.has(o.id))throw new Error(`Material Shader Definition ${e.shaderId} contains an invalid or duplicate section: ${o.id}`);n.add(o.id)}const i=new Set;for(const o of e.inspector.fields){if(!o.path.startsWith("properties.")||i.has(o.path))throw new Error(`Material Shader Definition ${e.shaderId} contains an invalid or duplicate field: ${o.path}`);if(!n.has(o.sectionId))throw new Error(`Material Shader Definition ${e.shaderId} field ${o.path} references an unknown section.`);Cr(e,o),i.add(o.path)}}function Ar(e){const r=structuredClone(e);return{...r,inspector:{...r.inspector,fields:r.inspector.fields.map(t=>{if(t.control!=="number")return t;const n=He(r.propertiesSchema,t.schemaPath??t.path);return n?.kind!=="number"?t:{...t,...n.min!=null?{min:n.min}:{},...n.max!=null?{max:n.max}:{}}})}}}function Cr(e,r){const t=[["min",r.min],["max",r.max],["softMin",r.softMin],["softMax",r.softMax]];for(const[i,o]of t)if(o!=null&&!Number.isFinite(o))throw new Error(`Material Shader Definition ${e.shaderId} field ${r.path} ${i} must be finite.`);if(r.control!=="number"){if(t.some(([,i])=>i!=null))throw new Error(`Material Shader Definition ${e.shaderId} field ${r.path} uses numeric ranges with a non-number control.`);return}const n=He(e.propertiesSchema,r.schemaPath??r.path);if(n?.kind!=="number")throw new Error(`Material Shader Definition ${e.shaderId} field ${r.path} must reference a number schema.`);for(const[i,o,p]of[["min",r.min,n.min],["max",r.max,n.max]])if(o!=null&&o!==p)throw new Error(`Material Shader Definition ${e.shaderId} field ${r.path} ${i} must match propertiesSchema.`);if(r.softMin!=null&&r.softMax!=null&&r.softMin>r.softMax)throw new Error(`Material Shader Definition ${e.shaderId} field ${r.path} softMin must not exceed softMax.`);if(n.min!=null&&r.softMin!=null&&r.softMin<n.min)throw new Error(`Material Shader Definition ${e.shaderId} field ${r.path} softMin must not be below the schema minimum.`);if(n.max!=null&&r.softMax!=null&&r.softMax>n.max)throw new Error(`Material Shader Definition ${e.shaderId} field ${r.path} softMax must not exceed the schema maximum.`)}function Ne(e,r,t){if(r.kind==="object"){for(const[n,i]of Object.entries(r.properties))Ne(e,i,`${t}.${n}`);return}if(r.kind==="number"){if(r.min!=null&&!Number.isFinite(r.min))throw new Error(`Material Shader Definition ${e} number field ${t} min must be finite.`);if(r.max!=null&&!Number.isFinite(r.max))throw new Error(`Material Shader Definition ${e} number field ${t} max must be finite.`);if(r.min!=null&&r.max!=null&&r.min>r.max)throw new Error(`Material Shader Definition ${e} number field ${t} min must not exceed max.`);return}if(r.kind==="color"&&r.channels!=null&&r.channels!==3&&r.channels!==4)throw new Error(`Material Shader Definition ${e} color field ${t} channels must be 3 or 4.`)}function Br(e){const r=e.trim();return!r||r.startsWith("/")||r.includes("\\")||r.includes(":")?!1:!r.split("/").includes("..")}function Gr(e){const r=e.trim();return r.startsWith("properties.")?r:`properties.${r}`}function He(e,r){const t=Gr(r).replace(/^properties\./,"").split(".").filter(Boolean);if(t.length===0)return null;let n=e;for(const i of t){if(n.kind!=="object")return null;const o=n.properties[i];if(!o)return null;n=o}return n}function Le(e,r,t,n){if(e.kind==="object"){if(!me(r)){n.push({path:t,message:"must be an object"});return}for(const o of Object.keys(r))Object.prototype.hasOwnProperty.call(e.properties,o)||n.push({path:`${t}.${o}`,message:"is not supported by the selected shader"});for(const[o,p]of Object.entries(e.properties))r[o]!==void 0&&Le(p,r[o],`${t}.${o}`,n);return}if(e.kind==="number"){if(typeof r!="number"||!Number.isFinite(r)){n.push({path:t,message:"must be a finite number"});return}e.min!=null&&r<e.min&&n.push({path:t,message:`must be greater than or equal to ${e.min}`}),e.max!=null&&r>e.max&&n.push({path:t,message:`must be less than or equal to ${e.max}`});return}if(e.kind==="boolean"){typeof r!="boolean"&&n.push({path:t,message:"must be a boolean"});return}if(e.kind==="string"){r!==null&&typeof r!="string"?n.push({path:t,message:"must be a string"}):r===null&&!e.nullable&&n.push({path:t,message:"must not be null"});return}if(e.kind==="enum"){(typeof r!="string"||!e.values.includes(r))&&n.push({path:t,message:`must be one of: ${e.values.join(", ")}`});return}if(e.kind==="color"){const o=e.channels===4?["r","g","b","a"]:["r","g","b"];Pe(r,t,o,n,e.channels===4?"an RGBA object":"an RGB object");return}if(e.kind==="vec2"||e.kind==="vec3"){Pe(r,t,e.kind==="vec2"?["x","y"]:["x","y","z"],n,`a ${e.kind} object`);return}if(r===null)return;if(!me(r)){n.push({path:t,message:"must be a texture reference object or null"});return}Object.keys(r).some(o=>o!=="url"&&o!=="textureAssetId")&&n.push({path:t,message:"must contain only url or textureAssetId"});for(const o of["url","textureAssetId"]){const p=r[o];p!==void 0&&(typeof p!="string"||!p.trim())&&n.push({path:`${t}.${o}`,message:"must be a non-empty string"})}}function Pe(e,r,t,n,i){if(!me(e)){n.push({path:r,message:`must be ${i}`});return}Object.keys(e).some(o=>!t.includes(o))&&n.push({path:r,message:`must contain only ${t.join(", ")}`});for(const o of t)(typeof e[o]!="number"||!Number.isFinite(e[o]))&&n.push({path:`${r}.${o}`,message:"must be a finite number"})}function Ve(e){if(e&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(const r of Object.values(e))Ve(r)}return e}function me(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}const Fr=Object.freeze([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Tr=Object.freeze([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function ge(e){return _r(new TextEncoder().encode(e))}function Kr(e){return`sha256:${ge(JSON.stringify(e))}`}function _r(e){const r=Math.ceil((e.length+9)/64)*64,t=new Uint8Array(r);t.set(e),t[e.length]=128;const n=new DataView(t.buffer);n.setUint32(r-8,Math.floor(e.length/536870912),!1),n.setUint32(r-4,e.length*8>>>0,!1);const i=[...Fr],o=new Uint32Array(64);for(let p=0;p<t.length;p+=64){for(let x=0;x<16;x+=1)o[x]=n.getUint32(p+x*4,!1);for(let x=16;x<64;x+=1){const M=o[x-15],R=o[x-2],u=D(M,7)^D(M,18)^M>>>3,m=D(R,17)^D(R,19)^R>>>10;o[x]=o[x-16]+u+o[x-7]+m>>>0}let[c,I,b,v,O,g,E,A]=i;for(let x=0;x<64;x+=1){const M=D(O,6)^D(O,11)^D(O,25),R=O&g^~O&E,u=A+M+R+Tr[x]+o[x]>>>0,m=D(c,2)^D(c,13)^D(c,22),y=c&I^c&b^I&b,S=m+y>>>0;A=E,E=g,g=O,O=v+u>>>0,v=b,b=I,I=c,c=u+S>>>0}i[0]=i[0]+c>>>0,i[1]=i[1]+I>>>0,i[2]=i[2]+b>>>0,i[3]=i[3]+v>>>0,i[4]=i[4]+O>>>0,i[5]=i[5]+g>>>0,i[6]=i[6]+E>>>0,i[7]=i[7]+A>>>0}return i.map(p=>p.toString(16).padStart(8,"0")).join("")}function D(e,r){return e>>>r|e<<32-r}const Nr="fps.plugin.materials";function Hr(e){const r=e?.[Nr];if(r==null)return null;if(!te(r)||r.schemaVersion!==1||typeof r.snapshotId!="string"||!Array.isArray(r.shaders))throw new Error("Materials Plugin snapshot is invalid. Run fps-editor-prepare again.");const t=structuredClone(r);return Lr(t),Ue(t)}function De(e){return _e([...Ke,...e?.shaders.map(r=>r.definition)??[]])}function Lr(e){if(!/^sha256:[a-f0-9]{64}$/.test(e.snapshotId)||e.shaders.length===0)throw new Error("Materials Plugin snapshot identity is invalid. Run fps-editor-prepare again.");for(const t of e.shaders)if(!te(t)||!te(t.definition)||!te(t.program))throw new Error("Materials Plugin Shader snapshot is invalid. Run fps-editor-prepare again.");De(e);for(const t of e.shaders){const{definition:n,program:i}=t;if(i.shaderId!==n.shaderId||i.definitionVersion!==n.version)throw new Error(`Material snapshot Definition identity does not match its program: ${n.shaderId}`);if(i.language!=="glsl"||!Ee(i.vertexSourcePath)||!Ee(i.fragmentSourcePath)||!/^[a-f0-9]{64}$/.test(i.vertexSourceHash)||!/^[a-f0-9]{64}$/.test(i.fragmentSourceHash)||typeof i.vertexSource!="string"||!i.vertexSource.trim()||typeof i.fragmentSource!="string"||!i.fragmentSource.trim())throw new Error(`Material snapshot program is invalid: ${n.shaderId}`);if(ge(i.vertexSource)!==i.vertexSourceHash||ge(i.fragmentSource)!==i.fragmentSourceHash)throw new Error(`Material snapshot source hash does not match its GLSL content: ${n.shaderId}`);if(!Array.isArray(i.attributes)||i.attributes.length===0||i.attributes.some(o=>!/^[A-Za-z_][A-Za-z0-9_]*$/.test(o))||new Set(i.attributes).size!==i.attributes.length)throw new Error(`Material snapshot attributes are invalid: ${n.shaderId}`);if(!["opaque","combine","add"].includes(i.alphaMode)||!te(i.enumUniformValues)||!te(i.frame)||!["on-demand","continuous"].includes(i.frame.mode))throw new Error(`Material snapshot rendering policy is invalid: ${n.shaderId}`)}const r={schemaVersion:e.schemaVersion,shaders:e.shaders};if(Kr(r)!==e.snapshotId)throw new Error("Materials Plugin snapshot payload does not match its identity. Run fps-editor-prepare again.")}function Ee(e){return typeof e=="string"&&!!e&&!e.startsWith("/")&&!e.includes("\\")&&!e.includes(":")&&e.split("/").every(r=>!!r&&r!=="."&&r!=="..")}function Ue(e){if(!e||typeof e!="object"||Object.isFrozen(e))return e;for(const r of Object.values(e))Ue(r);return Object.freeze(e)}function te(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Vr(e){let r=0;const t=new WeakMap;return Object.freeze(e.shaders.map(({definition:n,program:i})=>Object.freeze({shaderId:n.shaderId,definitionVersion:n.version,snapshotId:e.snapshotId,createMaterial(o){const p=o.babylon,c=`${Yr(n.shaderId)}-${r+=1}`;if(!p.Effect?.ShadersStore||!p.ShaderMaterial||!p.StandardMaterial||!p.Color3)throw new Error(`Babylon ShaderMaterial is unavailable for ${n.shaderId}.`);ze(n,o.definitionVersion),p.Effect.ShadersStore[`${c}VertexShader`]=i.vertexSource,p.Effect.ShadersStore[`${c}FragmentShader`]=i.fragmentSource;const I=n.inspector.fields.filter(M=>M.updateClass==="uniform").map(M=>M.binding),b=[...new Set(["world","worldViewProjection",...i.frame.timeUniform?[i.frame.timeUniform]:[],...i.frame.cameraPositionUniform?[i.frame.cameraPositionUniform]:[],...I])];let v;try{v=new p.ShaderMaterial(c,o.scene,{vertex:c,fragment:c},{attributes:i.attributes,uniforms:b,needAlphaBlending:i.alphaMode!=="opaque"}),v.backFaceCulling=i.alphaMode==="opaque",v.alphaMode=i.alphaMode==="add"?p.Constants.ALPHA_ADD:i.alphaMode==="combine"?p.Constants.ALPHA_COMBINE:p.Constants.ALPHA_DISABLE,ke(p,v,n,i,o.properties)}catch(M){throw delete p.Effect.ShadersStore[`${c}VertexShader`],delete p.Effect.ShadersStore[`${c}FragmentShader`],v?.dispose?.(),M}const O=Dr(p,o.scene,c),g={material:v,mesh:o.mesh,setMaterial:o.setMaterial,placeholder:O,compiled:!1,disposed:!1,failed:!1,failure:null,compilation:null,invalidateFrameParticipant:null,shaderName:c,shadersStore:p.Effect.ShadersStore};t.set(O,g),t.set(v,g);const E=()=>{g.disposed||g.failed||g.compiled||(g.compiled=!0,g.setMaterial(g.material),qr(g.mesh))},A=M=>{g.disposed||g.failed||(g.failed=!0,g.failure=M,g.invalidateFrameParticipant?.(),g.setMaterial(g.placeholder),Ur(g.mesh,{code:"material.shaderCompilationFailed",severity:"error",shaderId:n.shaderId,definitionVersion:n.version,snapshotId:e.snapshotId,message:String(M??"Shader compilation failed.").slice(0,2048)}))};v.onCompiled=()=>{queueMicrotask(()=>{E()})},v.onError=(M,R)=>{A(R)};try{if(typeof v.forceCompilationAsync!="function")throw new Error("Babylon ShaderMaterial.forceCompilationAsync() is unavailable.");g.compilation=Promise.resolve(v.forceCompilationAsync(g.mesh)).then(()=>{if(g.failed)throw g.failure;E()}).catch(M=>{throw A(M),M})}catch(M){A(M),g.compilation=Promise.reject(M)}g.compilation.catch(()=>{}),O.forceCompilationAsync=()=>g.compilation;const x=O.dispose.bind(O);return O.dispose=(...M)=>{g.disposed||(g.disposed=!0,g.invalidateFrameParticipant?.(),delete g.shadersStore[`${g.shaderName}VertexShader`],delete g.shadersStore[`${g.shaderName}FragmentShader`],g.material.dispose?.(),x(...M))},O},updateMaterial(o){const p=o.babylon,c=Ae(o.material)?t.get(o.material):void 0;return!c||c.disposed||c.failed?!1:(ze(n,o.definitionVersion),ke(p,c.material,n,i,o.properties),!0)},...i.frame.mode==="continuous"?{createFrameParticipant(o){const p=o.babylon,c=Ae(o.material)?t.get(o.material):void 0;if(!c)throw new Error(`ShaderMaterial state is unavailable for ${n.shaderId}.`);let I=!1;const b=new Set;return c.invalidateFrameParticipant=()=>{for(const v of[...b])v()},{frameMode:"continuous",resolveFrameMode(){return c.failed||c.disposed||I?"on-demand":"continuous"},isActive(){return!c.failed&&!c.disposed&&!I},onFrameModeChanged(v){return b.add(v),()=>b.delete(v)},updateFrame(v){if(!(c.failed||c.disposed||I)&&(i.frame.timeUniform&&c.material.setFloat(i.frame.timeUniform,v.elapsedSeconds),i.frame.cameraPositionUniform)){const O=o.scene.activeCamera;c.material.setVector3(i.frame.cameraPositionUniform,O?.globalPosition??O?.position??p.Vector3.Zero())}},dispose(){I||(I=!0,b.clear(),c.invalidateFrameParticipant&&(c.invalidateFrameParticipant=null))}}}}:{}})))}function ze(e,r){if(r!==e.version)throw Object.assign(new Error(`Material Definition version mismatch for ${e.shaderId}: expected ${e.version}, received ${String(r)}.`),{code:"material.shaderDefinitionVersionMismatch",shaderId:e.shaderId,expectedVersion:e.version,actualVersion:r})}function Dr(e,r,t){const n=new e.StandardMaterial(`${t}.diagnostic`,r);return n.diffuseColor=new e.Color3(.8,.02,.45),n.emissiveColor=new e.Color3(.35,0,.12),n.specularColor=new e.Color3(0,0,0),n.backFaceCulling=!1,n}function Ur(e,r){const t=ie(e.metadata)?e.metadata:{},n=ie(t.editorProjection)?t.editorProjection:{};e.metadata={...t,editorProjection:{...n,materialDiagnostic:Object.freeze({...r})}}}function qr(e){if(!ie(e.metadata)||!ie(e.metadata.editorProjection)||!Object.prototype.hasOwnProperty.call(e.metadata.editorProjection,"materialDiagnostic"))return;const r={...e.metadata.editorProjection};delete r.materialDiagnostic,e.metadata={...e.metadata,editorProjection:r}}function ke(e,r,t,n,i){for(const o of t.inspector.fields){if(o.updateClass!=="uniform")continue;const p=Qr(i,o.path.replace(/^properties\./,""));if(o.control==="number")r.setFloat(o.binding,G(p,o.path));else if(o.control==="boolean")r.setFloat(o.binding,p===!0?1:0);else if(o.control==="enum"){const c=n.enumUniformValues[o.path],I=typeof p=="string"?c?.[p]:void 0;if(!Number.isFinite(I))throw new Error(`Enum uniform value is not mapped: ${o.path}=${String(p)}`);r.setFloat(o.binding,I)}else if(o.control==="color"){const c=fe(p,o.path);Wr(t,o.path)===4?r.setColor4(o.binding,new e.Color4(G(c.r,`${o.path}.r`),G(c.g,`${o.path}.g`),G(c.b,`${o.path}.b`),G(c.a,`${o.path}.a`))):r.setColor3(o.binding,new e.Color3(G(c.r,`${o.path}.r`),G(c.g,`${o.path}.g`),G(c.b,`${o.path}.b`)))}else if(o.control==="vec2"){const c=fe(p,o.path);r.setVector2(o.binding,new e.Vector2(G(c.x,`${o.path}.x`),G(c.y,`${o.path}.y`)))}else if(o.control==="vec3"){const c=fe(p,o.path);r.setVector3(o.binding,new e.Vector3(G(c.x,`${o.path}.x`),G(c.y,`${o.path}.y`),G(c.z,`${o.path}.z`)))}else throw new Error(`Unsupported ShaderMaterial uniform control: ${o.path} (${o.control})`)}}function Wr(e,r){let t=e.propertiesSchema;for(const n of r.replace(/^properties\./,"").split(".")){if(t.kind!=="object"||!t.properties[n])return 3;t=t.properties[n]}return t.kind==="color"&&t.channels===4?4:3}function Qr(e,r){let t=e;for(const n of r.split(".").filter(Boolean)){if(!ie(t))return;t=t[n]}return t}function fe(e,r){if(!ie(e))throw new Error(`Material property must be an object: ${r}`);return e}function G(e,r){if(typeof e!="number"||!Number.isFinite(e))throw new Error(`Material property must be a finite number: ${r}`);return e}function Yr(e){return e.replace(/[^a-z0-9_-]/gi,"_")}function Ae(e){return!!e&&typeof e=="object"}function ie(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}const qe=window.__FPS_EDITOR_PROJECT_DEFINITION__;if(!qe)throw new Error("Editor Project definition was not provided by the control plane.");const We=er(qe),ye=Hr(window.__FPS_EDITOR_PLUGIN_SNAPSHOTS__),Jr=De(ye),Ce=ye?Vr(ye):void 0,he=jr(),Zr=Object.freeze({environment:"editor",buildTarget:"editor",manifests:Object.freeze([he]),entries:Object.freeze([{pluginId:he.id,config:null,load:async()=>Mr}]),pluginConfigs:Object.freeze({...Object.fromEntries(We.plugins.map(e=>[e.pluginId,e.config])),[he.id]:null})}),Qe=await rr(We.project,{root:document.body,window,projectMode:{async enterEditorMode(){},async enterPlayMode(){const e=window.__FPS_EDITOR_RUNTIME_URL__;if(!e)throw new Error("Editor Runtime URL was not provided by the control plane.");window.location.assign(e)}},pluginModule:Zr,getCanvas:()=>document.querySelector("#renderCanvas"),materialShaderDefinitions:Jr,...Ce?{materialProjectionAdapters:Ce}:{}});await Qe.enterEditor();window.addEventListener("pagehide",()=>void Qe.dispose(),{once:!0});
@@ -0,0 +1,23 @@
1
+ import{fr as e}from"./dynamicTexture-Cuby-VOT.js";const d="instancesDeclaration",i=`#ifdef INSTANCES
2
+ attribute world0 : vec4<f32>;attribute world1 : vec4<f32>;attribute world2 : vec4<f32>;attribute world3 : vec4<f32>;
3
+ #ifdef INSTANCESCOLOR
4
+ attribute instanceColor : vec4<f32>;
5
+ #endif
6
+ #if defined(THIN_INSTANCES) && !defined(WORLD_UBO)
7
+ uniform world : mat4x4<f32>;
8
+ #endif
9
+ #if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
10
+ attribute previousWorld0 : vec4<f32>;attribute previousWorld1 : vec4<f32>;attribute previousWorld2 : vec4<f32>;attribute previousWorld3 : vec4<f32>;
11
+ #ifdef THIN_INSTANCES
12
+ uniform previousWorld : mat4x4<f32>;
13
+ #endif
14
+ #endif
15
+ #else
16
+ #if !defined(WORLD_UBO)
17
+ uniform world : mat4x4<f32>;
18
+ #endif
19
+ #if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
20
+ uniform previousWorld : mat4x4<f32>;
21
+ #endif
22
+ #endif
23
+ `;e.IncludesShadersStoreWGSL[d]||(e.IncludesShadersStoreWGSL[d]=i);
@@ -0,0 +1 @@
1
+ import{dk as S,go as _}from"./dynamicTexture-Cuby-VOT.js";import{A as u}from"./workerPool-H9Ji3mCo.js";class d{constructor(s,e){if(this.data=s,this.isInvalid=!1,!d.IsValid(s)){this.isInvalid=!0,S.Error("texture missing KTX identifier");return}const i=Uint32Array.BYTES_PER_ELEMENT,r=new DataView(this.data.buffer,this.data.byteOffset+12,13*i),a=r.getUint32(0,!0)===67305985;if(this.glType=r.getUint32(1*i,a),this.glTypeSize=r.getUint32(2*i,a),this.glFormat=r.getUint32(3*i,a),this.glInternalFormat=r.getUint32(4*i,a),this.glBaseInternalFormat=r.getUint32(5*i,a),this.pixelWidth=r.getUint32(6*i,a),this.pixelHeight=r.getUint32(7*i,a),this.pixelDepth=r.getUint32(8*i,a),this.numberOfArrayElements=r.getUint32(9*i,a),this.numberOfFaces=r.getUint32(10*i,a),this.numberOfMipmapLevels=r.getUint32(11*i,a),this.bytesOfKeyValueData=r.getUint32(12*i,a),this.glType!==0){S.Error("only compressed formats currently supported"),this.isInvalid=!0;return}else this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels);if(this.pixelHeight===0||this.pixelDepth!==0){S.Error("only 2D textures currently supported"),this.isInvalid=!0;return}if(this.numberOfArrayElements!==0){S.Error("texture arrays not currently supported"),this.isInvalid=!0;return}if(this.numberOfFaces!==e){S.Error("number of faces expected"+e+", but found "+this.numberOfFaces),this.isInvalid=!0;return}this.loadType=d.COMPRESSED_2D}uploadLevels(s,e){switch(this.loadType){case d.COMPRESSED_2D:this._upload2DCompressedLevels(s,e);break;case d.TEX_2D:case d.COMPRESSED_3D:case d.TEX_3D:}}_upload2DCompressedLevels(s,e){let i=d.HEADER_LEN+this.bytesOfKeyValueData,r=this.pixelWidth,c=this.pixelHeight;const a=e?this.numberOfMipmapLevels:1;for(let f=0;f<a;f++){const l=new Int32Array(this.data.buffer,this.data.byteOffset+i,1)[0];i+=4;for(let R=0;R<this.numberOfFaces;R++){const T=new Uint8Array(this.data.buffer,this.data.byteOffset+i,l);s.getEngine()._uploadCompressedDataToTextureDirectly(s,s.format,r,c,T,R,f),i+=l,i+=3-(l+3)%4}r=Math.max(1,r*.5),c=Math.max(1,c*.5)}}static IsValid(s){if(s.byteLength>=12){const e=new Uint8Array(s.buffer,s.byteOffset,12);if(e[0]===171&&e[1]===75&&e[2]===84&&e[3]===88&&e[4]===32&&e[5]===49&&e[6]===49&&e[7]===187&&e[8]===13&&e[9]===10&&e[10]===26&&e[11]===10)return!0}return!1}}d.HEADER_LEN=12+13*4;d.COMPRESSED_2D=0;d.COMPRESSED_3D=1;d.TEX_2D=2;d.TEX_3D=3;var D;(function(t){t[t.ETC1S=0]="ETC1S",t[t.UASTC4x4=1]="UASTC4x4"})(D||(D={}));var m;(function(t){t[t.ASTC_4X4_RGBA=0]="ASTC_4X4_RGBA",t[t.ASTC_4x4_RGBA=0]="ASTC_4x4_RGBA",t[t.BC7_RGBA=1]="BC7_RGBA",t[t.BC3_RGBA=2]="BC3_RGBA",t[t.BC1_RGB=3]="BC1_RGB",t[t.PVRTC1_4_RGBA=4]="PVRTC1_4_RGBA",t[t.PVRTC1_4_RGB=5]="PVRTC1_4_RGB",t[t.ETC2_RGBA=6]="ETC2_RGBA",t[t.ETC1_RGB=7]="ETC1_RGB",t[t.RGBA32=8]="RGBA32",t[t.R8=9]="R8",t[t.RG8=10]="RG8"})(m||(m={}));var U;(function(t){t[t.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",t[t.COMPRESSED_RGBA_ASTC_4X4_KHR=37808]="COMPRESSED_RGBA_ASTC_4X4_KHR",t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",t[t.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",t[t.RGBA8Format=32856]="RGBA8Format",t[t.R8Format=33321]="R8Format",t[t.RG8Format=33323]="RG8Format"})(U||(U={}));function A(t,s){const e=s?.jsDecoderModule||KTX2DECODER;t&&(t.wasmBaseUrl&&(e.Transcoder.WasmBaseUrl=t.wasmBaseUrl),t.wasmUASTCToASTC&&(e.LiteTranscoder_UASTC_ASTC.WasmModuleURL=t.wasmUASTCToASTC),t.wasmUASTCToBC7&&(e.LiteTranscoder_UASTC_BC7.WasmModuleURL=t.wasmUASTCToBC7),t.wasmUASTCToRGBA_UNORM&&(e.LiteTranscoder_UASTC_RGBA_UNORM.WasmModuleURL=t.wasmUASTCToRGBA_UNORM),t.wasmUASTCToRGBA_SRGB&&(e.LiteTranscoder_UASTC_RGBA_SRGB.WasmModuleURL=t.wasmUASTCToRGBA_SRGB),t.wasmUASTCToR8_UNORM&&(e.LiteTranscoder_UASTC_R8_UNORM.WasmModuleURL=t.wasmUASTCToR8_UNORM),t.wasmUASTCToRG8_UNORM&&(e.LiteTranscoder_UASTC_RG8_UNORM.WasmModuleURL=t.wasmUASTCToRG8_UNORM),t.jsMSCTranscoder&&(e.MSCTranscoder.JSModuleURL=t.jsMSCTranscoder),t.wasmMSCTranscoder&&(e.MSCTranscoder.WasmModuleURL=t.wasmMSCTranscoder),t.wasmZSTDDecoder&&(e.ZSTDDecoder.WasmModuleURL=t.wasmZSTDDecoder)),s&&(s.wasmUASTCToASTC&&(e.LiteTranscoder_UASTC_ASTC.WasmBinary=s.wasmUASTCToASTC),s.wasmUASTCToBC7&&(e.LiteTranscoder_UASTC_BC7.WasmBinary=s.wasmUASTCToBC7),s.wasmUASTCToRGBA_UNORM&&(e.LiteTranscoder_UASTC_RGBA_UNORM.WasmBinary=s.wasmUASTCToRGBA_UNORM),s.wasmUASTCToRGBA_SRGB&&(e.LiteTranscoder_UASTC_RGBA_SRGB.WasmBinary=s.wasmUASTCToRGBA_SRGB),s.wasmUASTCToR8_UNORM&&(e.LiteTranscoder_UASTC_R8_UNORM.WasmBinary=s.wasmUASTCToR8_UNORM),s.wasmUASTCToRG8_UNORM&&(e.LiteTranscoder_UASTC_RG8_UNORM.WasmBinary=s.wasmUASTCToRG8_UNORM),s.jsMSCTranscoder&&(e.MSCTranscoder.JSModule=s.jsMSCTranscoder),s.wasmMSCTranscoder&&(e.MSCTranscoder.WasmBinary=s.wasmMSCTranscoder),s.wasmZSTDDecoder&&(e.ZSTDDecoder.WasmBinary=s.wasmZSTDDecoder))}function G(t){typeof t>"u"&&typeof KTX2DECODER<"u"&&(t=KTX2DECODER);let s;onmessage=e=>{if(e.data)switch(e.data.action){case"init":{const i=e.data.urls;i&&(i.jsDecoderModule&&typeof t>"u"&&(importScripts(i.jsDecoderModule),t=KTX2DECODER),A(i)),e.data.wasmBinaries&&A(void 0,{...e.data.wasmBinaries,jsDecoderModule:t}),s=new t.KTX2Decoder,postMessage({action:"init"});break}case"setDefaultDecoderOptions":{t.KTX2Decoder.DefaultDecoderOptions=e.data.options;break}case"decode":s.decode(e.data.data,e.data.caps,e.data.options).then(i=>{const r=[];for(let c=0;c<i.mipmaps.length;++c){const a=i.mipmaps[c];a&&a.data&&r.push(a.data.buffer)}postMessage({action:"decoded",success:!0,decodedData:i},r)}).catch(i=>{postMessage({action:"decoded",success:!1,msg:i})});break}}}async function M(t,s,e){return await new Promise((i,r)=>{const c=f=>{t.removeEventListener("error",c),t.removeEventListener("message",a),r(f)},a=f=>{f.data.action==="init"&&(t.removeEventListener("error",c),t.removeEventListener("message",a),i(t))};t.addEventListener("error",c),t.addEventListener("message",a),t.postMessage({action:"init",urls:e,wasmBinaries:s})})}class y{constructor(){this._isDirty=!0,this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC=!0,this._ktx2DecoderOptions={}}get isDirty(){return this._isDirty}get useRGBAIfASTCBC7NotAvailableWhenUASTC(){return this._useRGBAIfASTCBC7NotAvailableWhenUASTC}set useRGBAIfASTCBC7NotAvailableWhenUASTC(s){this._useRGBAIfASTCBC7NotAvailableWhenUASTC!==s&&(this._useRGBAIfASTCBC7NotAvailableWhenUASTC=s,this._isDirty=!0)}get useRGBAIfOnlyBC1BC3AvailableWhenUASTC(){return this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC}set useRGBAIfOnlyBC1BC3AvailableWhenUASTC(s){this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC!==s&&(this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC=s,this._isDirty=!0)}get forceRGBA(){return this._forceRGBA}set forceRGBA(s){this._forceRGBA!==s&&(this._forceRGBA=s,this._isDirty=!0)}get forceR8(){return this._forceR8}set forceR8(s){this._forceR8!==s&&(this._forceR8=s,this._isDirty=!0)}get forceRG8(){return this._forceRG8}set forceRG8(s){this._forceRG8!==s&&(this._forceRG8=s,this._isDirty=!0)}get bypassTranscoders(){return this._bypassTranscoders}set bypassTranscoders(s){this._bypassTranscoders!==s&&(this._bypassTranscoders=s,this._isDirty=!0)}_getKTX2DecoderOptions(){if(!this._isDirty)return this._ktx2DecoderOptions;this._isDirty=!1;const s={};return this._useRGBAIfASTCBC7NotAvailableWhenUASTC!==void 0&&(s.useRGBAIfASTCBC7NotAvailableWhenUASTC=this._useRGBAIfASTCBC7NotAvailableWhenUASTC),this._forceRGBA!==void 0&&(s.forceRGBA=this._forceRGBA),this._forceR8!==void 0&&(s.forceR8=this._forceR8),this._forceRG8!==void 0&&(s.forceRG8=this._forceRG8),this._bypassTranscoders!==void 0&&(s.bypassTranscoders=this._bypassTranscoders),this.useRGBAIfOnlyBC1BC3AvailableWhenUASTC&&(s.transcodeFormatDecisionTree={UASTC:{transcodeFormat:[m.BC1_RGB,m.BC3_RGBA],yes:{transcodeFormat:m.RGBA32,engineFormat:32856,roundToMultiple4:!1}}}),this._ktx2DecoderOptions=s,s}}class o{static GetDefaultNumWorkers(){return typeof navigator!="object"||!navigator.hardwareConcurrency?1:Math.min(Math.floor(navigator.hardwareConcurrency*.5),4)}static _Initialize(s){if(o._WorkerPoolPromise||o._DecoderModulePromise)return;const e={wasmBaseUrl:_.ScriptBaseUrl,jsDecoderModule:_.GetBabylonScriptURL(this.URLConfig.jsDecoderModule,!0),wasmUASTCToASTC:_.GetBabylonScriptURL(this.URLConfig.wasmUASTCToASTC,!0),wasmUASTCToBC7:_.GetBabylonScriptURL(this.URLConfig.wasmUASTCToBC7,!0),wasmUASTCToRGBA_UNORM:_.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRGBA_UNORM,!0),wasmUASTCToRGBA_SRGB:_.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRGBA_SRGB,!0),wasmUASTCToR8_UNORM:_.GetBabylonScriptURL(this.URLConfig.wasmUASTCToR8_UNORM,!0),wasmUASTCToRG8_UNORM:_.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRG8_UNORM,!0),jsMSCTranscoder:_.GetBabylonScriptURL(this.URLConfig.jsMSCTranscoder,!0),wasmMSCTranscoder:_.GetBabylonScriptURL(this.URLConfig.wasmMSCTranscoder,!0),wasmZSTDDecoder:_.GetBabylonScriptURL(this.URLConfig.wasmZSTDDecoder,!0)};s&&typeof Worker=="function"&&typeof URL<"u"?o._WorkerPoolPromise=new Promise(i=>{const r=`${A}(${G})()`,c=URL.createObjectURL(new Blob([r],{type:"application/javascript"}));i(new u(s,async()=>await M(new Worker(c),void 0,e)))}):typeof o._KTX2DecoderModule>"u"?o._DecoderModulePromise=_.LoadBabylonScriptAsync(e.jsDecoderModule).then(()=>(o._KTX2DecoderModule=KTX2DECODER,o._KTX2DecoderModule.MSCTranscoder.UseFromWorkerThread=!1,o._KTX2DecoderModule.WASMMemoryManager.LoadBinariesFromCurrentThread=!0,A(e,o._KTX2DecoderModule),new o._KTX2DecoderModule.KTX2Decoder)):(o._KTX2DecoderModule.MSCTranscoder.UseFromWorkerThread=!1,o._KTX2DecoderModule.WASMMemoryManager.LoadBinariesFromCurrentThread=!0,o._DecoderModulePromise=Promise.resolve(new o._KTX2DecoderModule.KTX2Decoder))}constructor(s,e=o.DefaultNumWorkers){this._engine=s;const i=typeof e=="object"&&e.workerPool||o.WorkerPool;if(i)o._WorkerPoolPromise=Promise.resolve(i);else{typeof e=="object"?o._KTX2DecoderModule=e?.binariesAndModulesContainer?.jsDecoderModule:typeof KTX2DECODER<"u"&&(o._KTX2DecoderModule=KTX2DECODER);const r=typeof e=="number"?e:e.numWorkers??o.DefaultNumWorkers;o._Initialize(r)}}async _uploadAsync(s,e,i){const r=this._engine.getCaps(),c={astc:!!r.astc,bptc:!!r.bptc,s3tc:!!r.s3tc,pvrtc:!!r.pvrtc,etc2:!!r.etc2,etc1:!!r.etc1};if(o._WorkerPoolPromise){const a=await o._WorkerPoolPromise;return await new Promise((f,l)=>{a.push((R,T)=>{const C=n=>{R.removeEventListener("error",C),R.removeEventListener("message",p),l(n),T()},p=n=>{if(n.data.action==="decoded"){if(R.removeEventListener("error",C),R.removeEventListener("message",p),!n.data.success)l({message:n.data.msg});else try{this._createTexture(n.data.decodedData,e,i),f()}catch(h){l({message:h})}T()}};R.addEventListener("error",C),R.addEventListener("message",p),R.postMessage({action:"setDefaultDecoderOptions",options:o.DefaultDecoderOptions._getKTX2DecoderOptions()});const B=new Uint8Array(s.byteLength);B.set(new Uint8Array(s.buffer,s.byteOffset,s.byteLength)),R.postMessage({action:"decode",data:B,caps:c,options:i},[B.buffer])})})}else if(o._DecoderModulePromise){const a=await o._DecoderModulePromise;return o.DefaultDecoderOptions.isDirty&&(o._KTX2DecoderModule.KTX2Decoder.DefaultDecoderOptions=o.DefaultDecoderOptions._getKTX2DecoderOptions()),await new Promise((f,l)=>{a.decode(s,r).then(R=>{this._createTexture(R,e),f()}).catch(R=>{l({message:R})})})}throw new Error("KTX2 decoder module is not available")}_createTexture(s,e,i){this._engine._bindTextureDirectly(3553,e),i&&(i.transcodedFormat=s.transcodedFormat,i.isInGammaSpace=s.isInGammaSpace,i.hasAlpha=s.hasAlpha,i.transcoderName=s.transcoderName);let c=!0;switch(s.transcodedFormat){case 32856:e.type=0,e.format=5;break;case 33321:e.type=0,e.format=6;break;case 33323:e.type=0,e.format=7;break;default:e.format=s.transcodedFormat,c=!1;break}if(e._gammaSpace=s.isInGammaSpace,e.generateMipMaps=s.mipmaps.length>1,e.width=s.mipmaps[0].width,e.height=s.mipmaps[0].height,s.errors)throw new Error("KTX2 container - could not transcode the data. "+s.errors);for(let a=0;a<s.mipmaps.length;++a){const f=s.mipmaps[a];if(!f||!f.data)throw new Error("KTX2 container - could not transcode one of the image");c?(e.width=f.width,e.height=f.height,this._engine._uploadDataToTextureDirectly(e,f.data,0,a,void 0,!0)):this._engine._uploadCompressedDataToTextureDirectly(e,s.transcodedFormat,f.width,f.height,f.data,0,a)}e._extension=".ktx2",e.isReady=!0,this._engine._bindTextureDirectly(3553,null)}static IsValid(s){if(s.byteLength>=12){const e=new Uint8Array(s.buffer,s.byteOffset,12);if(e[0]===171&&e[1]===75&&e[2]===84&&e[3]===88&&e[4]===32&&e[5]===50&&e[6]===48&&e[7]===187&&e[8]===13&&e[9]===10&&e[10]===26&&e[11]===10)return!0}return!1}}o.URLConfig={jsDecoderModule:"https://cdn.babylonjs.com/babylon.ktx2Decoder.js",wasmUASTCToASTC:null,wasmUASTCToBC7:null,wasmUASTCToRGBA_UNORM:null,wasmUASTCToRGBA_SRGB:null,wasmUASTCToR8_UNORM:null,wasmUASTCToRG8_UNORM:null,jsMSCTranscoder:null,wasmMSCTranscoder:null,wasmZSTDDecoder:null};o.DefaultNumWorkers=o.GetDefaultNumWorkers();o.DefaultDecoderOptions=new y;function E(t){switch(t){case 35916:return 33776;case 35918:return 33778;case 35919:return 33779;case 37493:return 37492;case 37497:return 37496;case 37495:return 37494;case 37840:return 37808;case 36493:return 36492}return null}class w{constructor(){this.supportCascades=!1}loadCubeData(s,e,i,r){if(Array.isArray(s))return;e._invertVScale=!e.invertY;const c=e.getEngine(),a=new d(s,6),f=a.numberOfMipmapLevels>1&&e.generateMipMaps;c._unpackFlipY(!0),a.uploadLevels(e,e.generateMipMaps),e.width=a.pixelWidth,e.height=a.pixelHeight,c._setCubeMapTextureParams(e,f,a.numberOfMipmapLevels-1),e.isReady=!0,e.onLoadedObservable.notifyObservers(e),e.onLoadedObservable.clear(),r&&r()}loadData(s,e,i,r){if(d.IsValid(s)){e._invertVScale=!e.invertY;const c=new d(s,1),a=E(c.glInternalFormat);a?(e.format=a,e._useSRGBBuffer=e.getEngine()._getUseSRGBBuffer(!0,e.generateMipMaps),e._gammaSpace=!0):e.format=c.glInternalFormat,i(c.pixelWidth,c.pixelHeight,e.generateMipMaps,!0,()=>{c.uploadLevels(e,e.generateMipMaps)},c.isInvalid)}else o.IsValid(s)?new o(e.getEngine())._uploadAsync(s,e,r).then(()=>{i(e.width,e.height,e.generateMipMaps,!0,()=>{},!1)},a=>{S.Warn(`Failed to load KTX2 texture data: ${a.message}`),i(0,0,!1,!1,()=>{},!0)}):(S.Error("texture missing KTX identifier"),i(0,0,!1,!1,()=>{},!0))}}const L=Object.freeze(Object.defineProperty({__proto__:null,_KTXTextureLoader:w},Symbol.toStringTag,{value:"Module"}));export{y as D,U as E,d as K,D as S,m as T,w as _,o as a,M as i,L as k,G as w};