m4-w-fast 1.2.0 → 1.2.2

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 (172) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/index.mjs +1 -1
  4. package/dist/intersect.worker.js +2 -2
  5. package/dist/isoBands.worker.js +1 -1
  6. package/dist/m4-w-fast.umd.js +1 -1
  7. package/dist/raster-leaflet/index.cjs +2 -2
  8. package/dist/raster-leaflet/index.js +1 -1
  9. package/dist/raster-leaflet/index.mjs +2 -2
  10. package/dist/raster-leaflet/m4-w-raster-leaflet.umd.js +2 -2
  11. package/dist/raster-mars3d/cesiumRasterPlaneRenderer.js +1 -1
  12. package/dist/raster-mars3d/cesiumRasterTextureAdapter.js +1 -1
  13. package/dist/raster-mars3d/index.cjs +2 -2
  14. package/dist/raster-mars3d/index.js +1 -1
  15. package/dist/raster-mars3d/index.mjs +2 -2
  16. package/dist/raster-mars3d/m4-w-raster-mars3d.umd.js +2 -2
  17. package/dist/raster-mars3d/mars3dRasterImageryProvider.js +1 -1
  18. package/dist/raster-mars3d/mars3dRasterPlaneLayer.js +1 -1
  19. package/dist/raster-mars3d/rasterPlaneGeometry.js +1 -1
  20. package/dist/raster-mars3d/rasterPlaneGridChunks.js +1 -1
  21. package/dist/raster-mars3d/rasterPlaneMaterial.js +1 -1
  22. package/dist/raster-overlay/color.js +1 -1
  23. package/dist/raster-overlay/core.js +1 -1
  24. package/dist/raster-overlay/index.cjs +2 -2
  25. package/dist/raster-overlay/index.js +1 -1
  26. package/dist/raster-overlay/index.mjs +2 -2
  27. package/dist/raster-overlay/leaflet-renderers/createRenderer.js +1 -1
  28. package/dist/raster-overlay/leafletLayer.js +1 -1
  29. package/dist/raster-overlay/m4-w-raster-overlay.umd.js +2 -2
  30. package/dist/raster-overlay/query.js +1 -1
  31. package/dist/raster-overlay/rendering/createRasterRenderer.js +1 -1
  32. package/dist/raster-overlay/rendering/index.js +1 -1
  33. package/dist/raster-overlay/rendering/rasterRenderState.js +1 -1
  34. package/dist/raster-overlay/rendering/webgl2RasterRenderer.js +1 -1
  35. package/dist/raster-overlay/rendering/webgpuRasterRenderer.js +1 -1
  36. package/dist/raster-rendering/index.cjs +2 -2
  37. package/dist/raster-rendering/index.js +1 -1
  38. package/dist/raster-rendering/index.mjs +2 -2
  39. package/dist/raster-rendering/m4-w-raster-rendering.umd.js +2 -2
  40. package/dist/raster-rendering/webgpuRasterTileRenderer.js +1 -1
  41. package/dist/readFile.js +1 -1
  42. package/dist/rendering/index.js +1 -1
  43. package/dist/rendering/webgl2/baseWebgl2Renderer.js +1 -1
  44. package/dist/rendering/webgl2/index.js +1 -1
  45. package/dist/rendering/webgl2/webgl2CoverageResources.js +1 -1
  46. package/dist/rendering/webgl2/webgl2VisualizationResources.js +1 -1
  47. package/dist/rendering/webgpu/baseWebgpuRenderer.js +1 -1
  48. package/dist/rendering/webgpu/index.js +1 -1
  49. package/dist/rendering/webgpu/visualizationParams.js +1 -1
  50. package/dist/rendering/webgpu/visualizationResources.js +1 -1
  51. package/dist/rendering/webgpu/webgpuCoverageResources.js +1 -1
  52. package/dist/road-overlay/coordinateTransform.js +1 -1
  53. package/dist/road-overlay/index.cjs +2 -2
  54. package/dist/road-overlay/index.js +1 -1
  55. package/dist/road-overlay/index.mjs +2 -2
  56. package/dist/road-overlay/leaflet-renderers/createRenderer.js +1 -1
  57. package/dist/road-overlay/leafletLayer.js +1 -1
  58. package/dist/road-overlay/m4-w-road-overlay.umd.js +2 -2
  59. package/dist/road-overlay/options.js +1 -1
  60. package/dist/road-overlay/rendering/index.js +1 -1
  61. package/dist/road-overlay/rendering/roadRenderState.js +1 -1
  62. package/dist/road-overlay/rendering/webgl2RoadRenderer.js +1 -1
  63. package/dist/road-overlay/rendering/webgpuRoadRenderer.js +1 -1
  64. package/dist/road-overlay/roadData.js +1 -1
  65. package/dist/road-overlay/roadGeometry.js +1 -1
  66. package/dist/road-overlay/roadMesh.js +1 -1
  67. package/dist/shared/coordinate-shader/webgl2/index.js +1 -1
  68. package/dist/shared/coordinate-shader/webgpu/index.js +1 -1
  69. package/dist/shared/map/index.js +1 -1
  70. package/dist/shared/map/leaflet.js +1 -1
  71. package/dist/shared/polygon/contains.js +1 -1
  72. package/dist/shared/polygon/index.js +1 -1
  73. package/dist/shared/polygon/polygonMesh.js +1 -1
  74. package/dist/shared/shader/assemble.js +1 -1
  75. package/dist/shared/visualization/index.js +1 -1
  76. package/dist/shared/visualization/shader/webgl2/index.js +1 -1
  77. package/dist/shared/visualization/shader/webgpu/index.js +1 -1
  78. package/dist/shared/visualization/utils.js +1 -1
  79. package/dist/volume-data/index.cjs +1 -0
  80. package/dist/volume-data/index.d.ts +5 -0
  81. package/dist/volume-data/index.js +1 -0
  82. package/dist/volume-data/index.mjs +1 -0
  83. package/dist/volume-data/input.d.ts +2 -0
  84. package/dist/volume-data/input.js +1 -0
  85. package/dist/volume-data/loadVolumeSource.d.ts +2 -0
  86. package/dist/volume-data/loadVolumeSource.js +1 -0
  87. package/dist/volume-data/m4-w-volume-data.umd.js +1 -0
  88. package/dist/volume-data/parserRegistry.d.ts +5 -0
  89. package/dist/volume-data/parserRegistry.js +1 -0
  90. package/dist/volume-data/radarGridVolumeMetadata.d.ts +2 -0
  91. package/dist/volume-data/radarGridVolumeMetadata.js +1 -0
  92. package/dist/volume-data/radarGridVolumeParser.d.ts +2 -0
  93. package/dist/volume-data/radarGridVolumeParser.js +1 -0
  94. package/dist/volume-data/radarGridVolumeSource.d.ts +3 -0
  95. package/dist/volume-data/radarGridVolumeSource.js +1 -0
  96. package/dist/volume-data/volumeDataError.d.ts +5 -0
  97. package/dist/volume-data/volumeDataError.js +1 -0
  98. package/dist/volume-data/volumeDataTypes.d.ts +54 -0
  99. package/dist/volume-data/volumeDataTypes.js +1 -0
  100. package/dist/volume-data/zipArchive.d.ts +6 -0
  101. package/dist/volume-data/zipArchive.js +1 -0
  102. package/dist/volume-mars3d/createMars3dVolumeScene.js +1 -1
  103. package/dist/volume-mars3d/index.cjs +1 -1
  104. package/dist/volume-mars3d/index.js +1 -1
  105. package/dist/volume-mars3d/index.mjs +1 -1
  106. package/dist/volume-mars3d/m4-w-volume-mars3d.umd.js +1 -1
  107. package/dist/volume-mars3d/mars3dCanvasCompensation.js +1 -1
  108. package/dist/volume-mars3d/mars3dRaymarchShader.js +1 -1
  109. package/dist/volume-mars3d/mars3dVolumeLayer.js +1 -1
  110. package/dist/volume-mars3d/mars3dVolumeRenderer.js +1 -1
  111. package/dist/volume-mars3d-native/index.cjs +1 -1
  112. package/dist/volume-mars3d-native/index.js +1 -1
  113. package/dist/volume-mars3d-native/index.mjs +1 -1
  114. package/dist/volume-mars3d-native/liveUpdateScheduler.js +1 -1
  115. package/dist/volume-mars3d-native/m4-w-volume-mars3d-native.umd.js +1 -1
  116. package/dist/volume-mars3d-native/mars3dNativeSliceLayer.js +1 -1
  117. package/dist/volume-mars3d-native/mars3dNativeSliceRenderer.js +1 -1
  118. package/dist/volume-mars3d-native/mars3dNativeVolumeLayer.js +1 -1
  119. package/dist/volume-mars3d-native/mars3dNativeVolumeRenderer.js +1 -1
  120. package/dist/volume-mars3d-native/nativeAxisSliceRenderer.js +1 -1
  121. package/dist/volume-mars3d-native/nativeSliceAtlas.js +1 -1
  122. package/dist/volume-mars3d-native/nativeVoxelProvider.js +1 -1
  123. package/dist/volume-mars3d-native/nativeVoxelShader.js +1 -1
  124. package/dist/volume-mars3d-native/voxelData.js +1 -1
  125. package/dist/volume-scene/brickLayout.js +1 -1
  126. package/dist/volume-scene/brickResidency.js +1 -1
  127. package/dist/volume-scene/camera.js +1 -1
  128. package/dist/volume-scene/createVolumeScene.js +1 -1
  129. package/dist/volume-scene/geographicVolume.js +1 -1
  130. package/dist/volume-scene/inMemoryVolumeSource.js +1 -1
  131. package/dist/volume-scene/index.cjs +1 -1
  132. package/dist/volume-scene/index.js +1 -1
  133. package/dist/volume-scene/index.mjs +1 -1
  134. package/dist/volume-scene/m4-w-volume-scene.umd.js +1 -1
  135. package/dist/volume-scene/matrix.js +1 -1
  136. package/dist/volume-scene/rendering/webgpu/index.js +1 -1
  137. package/dist/volume-scene/rendering/webgpu/webgpuBrickAtlas.js +1 -1
  138. package/dist/volume-scene/rendering/webgpu/webgpuSceneAttachments.js +1 -1
  139. package/dist/volume-scene/rendering/webgpu/webgpuSceneMeshResources.js +1 -1
  140. package/dist/volume-scene/rendering/webgpu/webgpuSliceResources.js +1 -1
  141. package/dist/volume-scene/rendering/webgpu/webgpuTransferResources.js +1 -1
  142. package/dist/volume-scene/rendering/webgpu/webgpuVolumeSceneRenderer.js +1 -1
  143. package/dist/volume-scene/routeProfileMesh.js +1 -1
  144. package/dist/volume-scene/sliceInteractionController.js +1 -1
  145. package/dist/volume-scene/sliceMarkerOverlay.js +1 -1
  146. package/dist/volume-scene/sliceState.js +1 -1
  147. package/dist/volume-scene/volumeBrickData.js +1 -1
  148. package/dist/volume-scene/volumeScene.js +1 -1
  149. package/dist/volume-scene/volumeTransfer.js +1 -1
  150. package/dist/volume-scene/volumeValidation.js +1 -1
  151. package/dist/volume-section/createHorizontalRasterGrid.d.ts +3 -0
  152. package/dist/volume-section/createHorizontalRasterGrid.js +1 -0
  153. package/dist/volume-section/createVolumeSection.d.ts +3 -0
  154. package/dist/volume-section/createVolumeSection.js +1 -0
  155. package/dist/volume-section/createVolumeSectionRasterGrid.d.ts +3 -0
  156. package/dist/volume-section/createVolumeSectionRasterGrid.js +1 -0
  157. package/dist/volume-section/createVolumeSectionRouteProfile.d.ts +3 -0
  158. package/dist/volume-section/createVolumeSectionRouteProfile.js +1 -0
  159. package/dist/volume-section/geographic.d.ts +3 -0
  160. package/dist/volume-section/geographic.js +1 -0
  161. package/dist/volume-section/gridLayerStatistics.d.ts +9 -0
  162. package/dist/volume-section/gridLayerStatistics.js +1 -0
  163. package/dist/volume-section/index.cjs +1 -0
  164. package/dist/volume-section/index.d.ts +8 -0
  165. package/dist/volume-section/index.js +1 -0
  166. package/dist/volume-section/index.mjs +1 -0
  167. package/dist/volume-section/m4-w-volume-section.umd.js +1 -0
  168. package/dist/volume-section/routeSampling.d.ts +9 -0
  169. package/dist/volume-section/routeSampling.js +1 -0
  170. package/dist/volume-section/volumeSectionTypes.d.ts +39 -0
  171. package/dist/volume-section/volumeSectionTypes.js +1 -0
  172. package/package.json +58 -12
@@ -1 +1 @@
1
- (function(_0x36ae66,_0x43f6e7){const _0x325975=_0x436b,_0x248f8f=_0x36ae66();while(!![]){try{const _0x1d1c01=-parseInt(_0x325975(0xcc))/0x1+parseInt(_0x325975(0xbd))/0x2*(-parseInt(_0x325975(0xc2))/0x3)+-parseInt(_0x325975(0xbf))/0x4*(-parseInt(_0x325975(0xbe))/0x5)+-parseInt(_0x325975(0xc5))/0x6*(-parseInt(_0x325975(0xc7))/0x7)+-parseInt(_0x325975(0xbc))/0x8+-parseInt(_0x325975(0xc3))/0x9+parseInt(_0x325975(0xcb))/0xa;if(_0x1d1c01===_0x43f6e7)break;else _0x248f8f['push'](_0x248f8f['shift']());}catch(_0x76441a){_0x248f8f['push'](_0x248f8f['shift']());}}}(_0x2f94,0x7e51f));const MATRIX_ELEMENT_COUNT=0x10,EPSILON=1e-8,createMatrix=()=>new Float32Array(MATRIX_ELEMENT_COUNT),dotVector3=(_0x1a6b8e,_0x4fac4a)=>_0x1a6b8e[0x0]*_0x4fac4a[0x0]+_0x1a6b8e[0x1]*_0x4fac4a[0x1]+_0x1a6b8e[0x2]*_0x4fac4a[0x2],subtractVector3=(_0x1e442c,_0x1b353f)=>[_0x1e442c[0x0]-_0x1b353f[0x0],_0x1e442c[0x1]-_0x1b353f[0x1],_0x1e442c[0x2]-_0x1b353f[0x2]],crossVector3=(_0x3ce06c,_0x5129dd)=>[_0x3ce06c[0x1]*_0x5129dd[0x2]-_0x3ce06c[0x2]*_0x5129dd[0x1],_0x3ce06c[0x2]*_0x5129dd[0x0]-_0x3ce06c[0x0]*_0x5129dd[0x2],_0x3ce06c[0x0]*_0x5129dd[0x1]-_0x3ce06c[0x1]*_0x5129dd[0x0]],normalizeVector3=_0x16d6d5=>{const _0x23753c=_0x436b,_0x5c7c79=Math['hypot'](_0x16d6d5[0x0],_0x16d6d5[0x1],_0x16d6d5[0x2]);if(_0x5c7c79<=EPSILON)throw new Error(_0x23753c(0xbb));return[_0x16d6d5[0x0]/_0x5c7c79,_0x16d6d5[0x1]/_0x5c7c79,_0x16d6d5[0x2]/_0x5c7c79];};export const createIdentityMatrix=()=>{const _0x2bbb3d=createMatrix();return _0x2bbb3d[0x0]=0x1,_0x2bbb3d[0x5]=0x1,_0x2bbb3d[0xa]=0x1,_0x2bbb3d[0xf]=0x1,_0x2bbb3d;};export const multiplyMatrices=(_0x42beda,_0x4b99cd)=>{const _0x3ccc05=createMatrix();for(let _0x492895=0x0;_0x492895<0x4;_0x492895+=0x1){for(let _0x4ab3e7=0x0;_0x4ab3e7<0x4;_0x4ab3e7+=0x1){let _0x166422=0x0;for(let _0x2c6333=0x0;_0x2c6333<0x4;_0x2c6333+=0x1)_0x166422+=_0x42beda[_0x2c6333*0x4+_0x4ab3e7]*_0x4b99cd[_0x492895*0x4+_0x2c6333];_0x3ccc05[_0x492895*0x4+_0x4ab3e7]=_0x166422;}}return _0x3ccc05;};export const invertMatrix=_0x79e73c=>{const _0x448aab=_0x436b,_0x3fbf58=Array[_0x448aab(0xc6)]({'length':0x4},(_0x279be3,_0x27d05d)=>{const _0xb98475=new Float64Array(0x8);for(let _0x31173e=0x0;_0x31173e<0x4;_0x31173e+=0x1)_0xb98475[_0x31173e]=_0x79e73c[_0x31173e*0x4+_0x27d05d];return _0xb98475[_0x27d05d+0x4]=0x1,_0xb98475;});for(let _0x8da2fc=0x0;_0x8da2fc<0x4;_0x8da2fc+=0x1){let _0x4cc5fd=_0x8da2fc;for(let _0x494f14=_0x8da2fc+0x1;_0x494f14<0x4;_0x494f14+=0x1){if(Math[_0x448aab(0xc1)](_0x3fbf58[_0x494f14][_0x8da2fc])>Math[_0x448aab(0xc1)](_0x3fbf58[_0x4cc5fd][_0x8da2fc]))_0x4cc5fd=_0x494f14;}if(Math[_0x448aab(0xc1)](_0x3fbf58[_0x4cc5fd][_0x8da2fc])<=EPSILON)throw new Error(_0x448aab(0xba));if(_0x4cc5fd!==_0x8da2fc)[_0x3fbf58[_0x8da2fc],_0x3fbf58[_0x4cc5fd]]=[_0x3fbf58[_0x4cc5fd],_0x3fbf58[_0x8da2fc]];const _0x291fbc=_0x3fbf58[_0x8da2fc][_0x8da2fc];for(let _0xd447e9=0x0;_0xd447e9<0x8;_0xd447e9+=0x1)_0x3fbf58[_0x8da2fc][_0xd447e9]/=_0x291fbc;for(let _0x353dde=0x0;_0x353dde<0x4;_0x353dde+=0x1){if(_0x353dde===_0x8da2fc)continue;const _0x40b278=_0x3fbf58[_0x353dde][_0x8da2fc];for(let _0xdb9664=0x0;_0xdb9664<0x8;_0xdb9664+=0x1)_0x3fbf58[_0x353dde][_0xdb9664]-=_0x40b278*_0x3fbf58[_0x8da2fc][_0xdb9664];}}const _0x2d02a8=createMatrix();for(let _0x44e647=0x0;_0x44e647<0x4;_0x44e647+=0x1){for(let _0x30aa99=0x0;_0x30aa99<0x4;_0x30aa99+=0x1)_0x2d02a8[_0x30aa99*0x4+_0x44e647]=_0x3fbf58[_0x44e647][_0x30aa99+0x4];}return _0x2d02a8;};function _0x2f94(){const _0x17bdb5=['tan','矩阵不可逆。','无法归一化长度为零的三维向量。','2707952wuXyMa','41278jIoPbk','53820EvfFLt','284KqTNhJ','isFinite','abs','12EcCDdq','570384KuLeBB','相机裁剪距离必须满足\x200\x20<=\x20near\x20<\x20far。','2418pHJViN','from','539vFQekK','正交相机高度和宽高比必须大于\x200。','verticalScale\x20必须是大于\x200\x20的有限数。','相机裁剪距离必须满足\x200\x20<\x20near\x20<\x20far。','4954500dcwalN','288892ZQNEjY'];_0x2f94=function(){return _0x17bdb5;};return _0x2f94();}export const createLookAtMatrix=(_0x29d9e6,_0x200491,_0x3907bd)=>{const _0x4cdf40=normalizeVector3(subtractVector3(_0x29d9e6,_0x200491)),_0x2e2387=normalizeVector3(crossVector3(_0x3907bd,_0x4cdf40)),_0x5ef17d=crossVector3(_0x4cdf40,_0x2e2387),_0x28d16a=createIdentityMatrix();return _0x28d16a[0x0]=_0x2e2387[0x0],_0x28d16a[0x1]=_0x5ef17d[0x0],_0x28d16a[0x2]=_0x4cdf40[0x0],_0x28d16a[0x4]=_0x2e2387[0x1],_0x28d16a[0x5]=_0x5ef17d[0x1],_0x28d16a[0x6]=_0x4cdf40[0x1],_0x28d16a[0x8]=_0x2e2387[0x2],_0x28d16a[0x9]=_0x5ef17d[0x2],_0x28d16a[0xa]=_0x4cdf40[0x2],_0x28d16a[0xc]=-dotVector3(_0x2e2387,_0x29d9e6),_0x28d16a[0xd]=-dotVector3(_0x5ef17d,_0x29d9e6),_0x28d16a[0xe]=-dotVector3(_0x4cdf40,_0x29d9e6),_0x28d16a;};export const createPerspectiveMatrix=(_0x8e3a39,_0x1c2f9d,_0x27de3a,_0x52358b)=>{const _0xde8ff0=_0x436b;if(!(_0x8e3a39>0x0&&_0x8e3a39<Math['PI']))throw new Error('透视相机视场角必须位于\x200\x20到\x20180\x20度之间。');if(!(_0x1c2f9d>0x0))throw new Error('相机宽高比必须大于\x200。');if(!(_0x27de3a>0x0&&_0x52358b>_0x27de3a))throw new Error(_0xde8ff0(0xca));const _0x4ac043=0x1/Math[_0xde8ff0(0xb9)](_0x8e3a39/0x2),_0x4ac803=createMatrix();return _0x4ac803[0x0]=_0x4ac043/_0x1c2f9d,_0x4ac803[0x5]=_0x4ac043,_0x4ac803[0xa]=_0x52358b/(_0x27de3a-_0x52358b),_0x4ac803[0xb]=-0x1,_0x4ac803[0xe]=_0x27de3a*_0x52358b/(_0x27de3a-_0x52358b),_0x4ac803;};export const createOrthographicMatrix=(_0x589f6b,_0x365519,_0x504f26,_0x441d4e)=>{const _0x4d2814=_0x436b;if(!(_0x589f6b>0x0&&_0x365519>0x0))throw new Error(_0x4d2814(0xc8));if(!(_0x504f26>=0x0&&_0x441d4e>_0x504f26))throw new Error(_0x4d2814(0xc4));const _0x239053=_0x589f6b*_0x365519,_0x2f711c=createIdentityMatrix();return _0x2f711c[0x0]=0x2/_0x239053,_0x2f711c[0x5]=0x2/_0x589f6b,_0x2f711c[0xa]=0x1/(_0x504f26-_0x441d4e),_0x2f711c[0xe]=_0x504f26/(_0x504f26-_0x441d4e),_0x2f711c;};function _0x436b(_0x280d73,_0x42cdae){const _0x2f9410=_0x2f94();return _0x436b=function(_0x436b26,_0x458fed){_0x436b26=_0x436b26-0xb9;let _0xd8a41=_0x2f9410[_0x436b26];return _0xd8a41;},_0x436b(_0x280d73,_0x42cdae);}export const createScaleMatrix=(_0x4e067d,_0x3e722a,_0x359bf5)=>{const _0x441557=createIdentityMatrix();return _0x441557[0x0]=_0x4e067d,_0x441557[0x5]=_0x3e722a,_0x441557[0xa]=_0x359bf5,_0x441557;};export const composeVolumeModelMatrix=(_0x315ff9,_0x3df2b1)=>{const _0x5121e3=_0x436b;if(!(_0x3df2b1>0x0)||!Number[_0x5121e3(0xc0)](_0x3df2b1))throw new Error(_0x5121e3(0xc9));const _0x557dc9=createScaleMatrix(0x1,_0x3df2b1,0x1);return _0x315ff9?multiplyMatrices(_0x315ff9,_0x557dc9):_0x557dc9;};export const transformPoint=(_0x483fbb,_0x123e86,_0x5e5cda=0x1)=>[_0x483fbb[0x0]*_0x123e86[0x0]+_0x483fbb[0x4]*_0x123e86[0x1]+_0x483fbb[0x8]*_0x123e86[0x2]+_0x483fbb[0xc]*_0x5e5cda,_0x483fbb[0x1]*_0x123e86[0x0]+_0x483fbb[0x5]*_0x123e86[0x1]+_0x483fbb[0x9]*_0x123e86[0x2]+_0x483fbb[0xd]*_0x5e5cda,_0x483fbb[0x2]*_0x123e86[0x0]+_0x483fbb[0x6]*_0x123e86[0x1]+_0x483fbb[0xa]*_0x123e86[0x2]+_0x483fbb[0xe]*_0x5e5cda,_0x483fbb[0x3]*_0x123e86[0x0]+_0x483fbb[0x7]*_0x123e86[0x1]+_0x483fbb[0xb]*_0x123e86[0x2]+_0x483fbb[0xf]*_0x5e5cda];export const projectPointToViewport=(_0x24fa42,_0xeb3286,_0x375cb9,_0x3e0f51)=>{const _0x1f2d09=transformPoint(_0x24fa42,_0xeb3286);if(_0x1f2d09[0x3]<=EPSILON)return null;const _0x268abc=0x1/_0x1f2d09[0x3];return[(_0x1f2d09[0x0]*_0x268abc*0.5+0.5)*_0x375cb9,(0.5-_0x1f2d09[0x1]*_0x268abc*0.5)*_0x3e0f51,_0x1f2d09[0x2]*_0x268abc];};
1
+ (function(_0x2bafe9,_0x23575b){const _0x2d837d=_0x3933,_0xbea463=_0x2bafe9();while(!![]){try{const _0x1509f4=parseInt(_0x2d837d(0xcf))/0x1*(-parseInt(_0x2d837d(0xd3))/0x2)+parseInt(_0x2d837d(0xc2))/0x3*(parseInt(_0x2d837d(0xc7))/0x4)+parseInt(_0x2d837d(0xc9))/0x5+-parseInt(_0x2d837d(0xc5))/0x6*(-parseInt(_0x2d837d(0xc1))/0x7)+-parseInt(_0x2d837d(0xcb))/0x8+-parseInt(_0x2d837d(0xd4))/0x9+parseInt(_0x2d837d(0xcc))/0xa*(parseInt(_0x2d837d(0xc8))/0xb);if(_0x1509f4===_0x23575b)break;else _0xbea463['push'](_0xbea463['shift']());}catch(_0x331a04){_0xbea463['push'](_0xbea463['shift']());}}}(_0xb29b,0xee7aa));const MATRIX_ELEMENT_COUNT=0x10,EPSILON=1e-8,createMatrix=()=>new Float32Array(MATRIX_ELEMENT_COUNT),dotVector3=(_0x2cdded,_0x49d48e)=>_0x2cdded[0x0]*_0x49d48e[0x0]+_0x2cdded[0x1]*_0x49d48e[0x1]+_0x2cdded[0x2]*_0x49d48e[0x2],subtractVector3=(_0x283d40,_0xd9c297)=>[_0x283d40[0x0]-_0xd9c297[0x0],_0x283d40[0x1]-_0xd9c297[0x1],_0x283d40[0x2]-_0xd9c297[0x2]],crossVector3=(_0x2eb113,_0x52c738)=>[_0x2eb113[0x1]*_0x52c738[0x2]-_0x2eb113[0x2]*_0x52c738[0x1],_0x2eb113[0x2]*_0x52c738[0x0]-_0x2eb113[0x0]*_0x52c738[0x2],_0x2eb113[0x0]*_0x52c738[0x1]-_0x2eb113[0x1]*_0x52c738[0x0]],normalizeVector3=_0x3016e4=>{const _0x2db197=Math['hypot'](_0x3016e4[0x0],_0x3016e4[0x1],_0x3016e4[0x2]);if(_0x2db197<=EPSILON)throw new Error('无法归一化长度为零的三维向量。');return[_0x3016e4[0x0]/_0x2db197,_0x3016e4[0x1]/_0x2db197,_0x3016e4[0x2]/_0x2db197];};function _0x3933(_0x46d40b,_0x20b7db){const _0xb29b4f=_0xb29b();return _0x3933=function(_0x393344,_0x39f0f0){_0x393344=_0x393344-0xc1;let _0x2ba3fe=_0xb29b4f[_0x393344];return _0x2ba3fe;},_0x3933(_0x46d40b,_0x20b7db);}function _0xb29b(){const _0xa05b29=['相机宽高比必须大于\x200。','192604igHskC','7231500RNqMmb','abs','203399exWWMd','18KTjpcl','透视相机视场角必须位于\x200\x20到\x20180\x20度之间。','tan','84xbWWtq','矩阵不可逆。','837348YhLDCk','17820561wKxQQi','2238495VAlgyZ','正交相机高度和宽高比必须大于\x200。','13290832OYUvyk','10VzhLzJ','verticalScale\x20必须是大于\x200\x20的有限数。','相机裁剪距离必须满足\x200\x20<\x20near\x20<\x20far。','3jMcyZO','from','相机裁剪距离必须满足\x200\x20<=\x20near\x20<\x20far。'];_0xb29b=function(){return _0xa05b29;};return _0xb29b();}export const createIdentityMatrix=()=>{const _0xddf81a=createMatrix();return _0xddf81a[0x0]=0x1,_0xddf81a[0x5]=0x1,_0xddf81a[0xa]=0x1,_0xddf81a[0xf]=0x1,_0xddf81a;};export const multiplyMatrices=(_0x19758f,_0x4d0884)=>{const _0x5087e5=createMatrix();for(let _0x5080bf=0x0;_0x5080bf<0x4;_0x5080bf+=0x1){for(let _0x5742ab=0x0;_0x5742ab<0x4;_0x5742ab+=0x1){let _0x4d7695=0x0;for(let _0x5d25ad=0x0;_0x5d25ad<0x4;_0x5d25ad+=0x1)_0x4d7695+=_0x19758f[_0x5d25ad*0x4+_0x5742ab]*_0x4d0884[_0x5080bf*0x4+_0x5d25ad];_0x5087e5[_0x5080bf*0x4+_0x5742ab]=_0x4d7695;}}return _0x5087e5;};export const invertMatrix=_0x1e44a2=>{const _0xb7d075=_0x3933,_0x4d6548=Array[_0xb7d075(0xd0)]({'length':0x4},(_0x4aaec3,_0x108fbb)=>{const _0xf7f4e1=new Float64Array(0x8);for(let _0x458b27=0x0;_0x458b27<0x4;_0x458b27+=0x1)_0xf7f4e1[_0x458b27]=_0x1e44a2[_0x458b27*0x4+_0x108fbb];return _0xf7f4e1[_0x108fbb+0x4]=0x1,_0xf7f4e1;});for(let _0x55401e=0x0;_0x55401e<0x4;_0x55401e+=0x1){let _0x2a45b6=_0x55401e;for(let _0x3567a1=_0x55401e+0x1;_0x3567a1<0x4;_0x3567a1+=0x1){if(Math['abs'](_0x4d6548[_0x3567a1][_0x55401e])>Math[_0xb7d075(0xd5)](_0x4d6548[_0x2a45b6][_0x55401e]))_0x2a45b6=_0x3567a1;}if(Math[_0xb7d075(0xd5)](_0x4d6548[_0x2a45b6][_0x55401e])<=EPSILON)throw new Error(_0xb7d075(0xc6));if(_0x2a45b6!==_0x55401e)[_0x4d6548[_0x55401e],_0x4d6548[_0x2a45b6]]=[_0x4d6548[_0x2a45b6],_0x4d6548[_0x55401e]];const _0x2568ca=_0x4d6548[_0x55401e][_0x55401e];for(let _0x2dbb45=0x0;_0x2dbb45<0x8;_0x2dbb45+=0x1)_0x4d6548[_0x55401e][_0x2dbb45]/=_0x2568ca;for(let _0x41b30c=0x0;_0x41b30c<0x4;_0x41b30c+=0x1){if(_0x41b30c===_0x55401e)continue;const _0x1261c9=_0x4d6548[_0x41b30c][_0x55401e];for(let _0x157eb6=0x0;_0x157eb6<0x8;_0x157eb6+=0x1)_0x4d6548[_0x41b30c][_0x157eb6]-=_0x1261c9*_0x4d6548[_0x55401e][_0x157eb6];}}const _0x5900d1=createMatrix();for(let _0x299738=0x0;_0x299738<0x4;_0x299738+=0x1){for(let _0x3a86f3=0x0;_0x3a86f3<0x4;_0x3a86f3+=0x1)_0x5900d1[_0x3a86f3*0x4+_0x299738]=_0x4d6548[_0x299738][_0x3a86f3+0x4];}return _0x5900d1;};export const createLookAtMatrix=(_0x5dbee9,_0x464553,_0x447a9d)=>{const _0x28c2c0=normalizeVector3(subtractVector3(_0x5dbee9,_0x464553)),_0x5acace=normalizeVector3(crossVector3(_0x447a9d,_0x28c2c0)),_0x2639da=crossVector3(_0x28c2c0,_0x5acace),_0x1d0bc8=createIdentityMatrix();return _0x1d0bc8[0x0]=_0x5acace[0x0],_0x1d0bc8[0x1]=_0x2639da[0x0],_0x1d0bc8[0x2]=_0x28c2c0[0x0],_0x1d0bc8[0x4]=_0x5acace[0x1],_0x1d0bc8[0x5]=_0x2639da[0x1],_0x1d0bc8[0x6]=_0x28c2c0[0x1],_0x1d0bc8[0x8]=_0x5acace[0x2],_0x1d0bc8[0x9]=_0x2639da[0x2],_0x1d0bc8[0xa]=_0x28c2c0[0x2],_0x1d0bc8[0xc]=-dotVector3(_0x5acace,_0x5dbee9),_0x1d0bc8[0xd]=-dotVector3(_0x2639da,_0x5dbee9),_0x1d0bc8[0xe]=-dotVector3(_0x28c2c0,_0x5dbee9),_0x1d0bc8;};export const createPerspectiveMatrix=(_0x53e618,_0x3df583,_0x10042e,_0x574af9)=>{const _0x259550=_0x3933;if(!(_0x53e618>0x0&&_0x53e618<Math['PI']))throw new Error(_0x259550(0xc3));if(!(_0x3df583>0x0))throw new Error(_0x259550(0xd2));if(!(_0x10042e>0x0&&_0x574af9>_0x10042e))throw new Error(_0x259550(0xce));const _0x40a9d1=0x1/Math[_0x259550(0xc4)](_0x53e618/0x2),_0x5e1c7b=createMatrix();return _0x5e1c7b[0x0]=_0x40a9d1/_0x3df583,_0x5e1c7b[0x5]=_0x40a9d1,_0x5e1c7b[0xa]=_0x574af9/(_0x10042e-_0x574af9),_0x5e1c7b[0xb]=-0x1,_0x5e1c7b[0xe]=_0x10042e*_0x574af9/(_0x10042e-_0x574af9),_0x5e1c7b;};export const createOrthographicMatrix=(_0x47a553,_0x3a9dde,_0x5ab2c4,_0x1aa6d5)=>{const _0x2de2de=_0x3933;if(!(_0x47a553>0x0&&_0x3a9dde>0x0))throw new Error(_0x2de2de(0xca));if(!(_0x5ab2c4>=0x0&&_0x1aa6d5>_0x5ab2c4))throw new Error(_0x2de2de(0xd1));const _0x4d3eeb=_0x47a553*_0x3a9dde,_0x5e9d5e=createIdentityMatrix();return _0x5e9d5e[0x0]=0x2/_0x4d3eeb,_0x5e9d5e[0x5]=0x2/_0x47a553,_0x5e9d5e[0xa]=0x1/(_0x5ab2c4-_0x1aa6d5),_0x5e9d5e[0xe]=_0x5ab2c4/(_0x5ab2c4-_0x1aa6d5),_0x5e9d5e;};export const createScaleMatrix=(_0x3d3480,_0x5abd0c,_0x3ce761)=>{const _0x1b5246=createIdentityMatrix();return _0x1b5246[0x0]=_0x3d3480,_0x1b5246[0x5]=_0x5abd0c,_0x1b5246[0xa]=_0x3ce761,_0x1b5246;};export const composeVolumeModelMatrix=(_0x4c48fb,_0x4e80f5)=>{const _0x4ce6a7=_0x3933;if(!(_0x4e80f5>0x0)||!Number['isFinite'](_0x4e80f5))throw new Error(_0x4ce6a7(0xcd));const _0x441915=createScaleMatrix(0x1,_0x4e80f5,0x1);return _0x4c48fb?multiplyMatrices(_0x4c48fb,_0x441915):_0x441915;};export const transformPoint=(_0x129a40,_0x4b6b6c,_0x154819=0x1)=>[_0x129a40[0x0]*_0x4b6b6c[0x0]+_0x129a40[0x4]*_0x4b6b6c[0x1]+_0x129a40[0x8]*_0x4b6b6c[0x2]+_0x129a40[0xc]*_0x154819,_0x129a40[0x1]*_0x4b6b6c[0x0]+_0x129a40[0x5]*_0x4b6b6c[0x1]+_0x129a40[0x9]*_0x4b6b6c[0x2]+_0x129a40[0xd]*_0x154819,_0x129a40[0x2]*_0x4b6b6c[0x0]+_0x129a40[0x6]*_0x4b6b6c[0x1]+_0x129a40[0xa]*_0x4b6b6c[0x2]+_0x129a40[0xe]*_0x154819,_0x129a40[0x3]*_0x4b6b6c[0x0]+_0x129a40[0x7]*_0x4b6b6c[0x1]+_0x129a40[0xb]*_0x4b6b6c[0x2]+_0x129a40[0xf]*_0x154819];export const projectPointToViewport=(_0x1d0d6c,_0x4f132d,_0x506a99,_0x579fa4)=>{const _0x1eb80f=transformPoint(_0x1d0d6c,_0x4f132d);if(_0x1eb80f[0x3]<=EPSILON)return null;const _0x57816d=0x1/_0x1eb80f[0x3];return[(_0x1eb80f[0x0]*_0x57816d*0.5+0.5)*_0x506a99,(0.5-_0x1eb80f[0x1]*_0x57816d*0.5)*_0x579fa4,_0x1eb80f[0x2]*_0x57816d];};
@@ -1 +1 @@
1
- (function(_0x50ba2e,_0x422727){var _0x4c0822=_0x2bec,_0x1de224=_0x50ba2e();while(!![]){try{var _0x1a95a4=parseInt(_0x4c0822(0x1ab))/0x1*(-parseInt(_0x4c0822(0x1ad))/0x2)+-parseInt(_0x4c0822(0x1ae))/0x3+-parseInt(_0x4c0822(0x1af))/0x4*(-parseInt(_0x4c0822(0x1b1))/0x5)+parseInt(_0x4c0822(0x1ac))/0x6+-parseInt(_0x4c0822(0x1b3))/0x7+-parseInt(_0x4c0822(0x1b2))/0x8+parseInt(_0x4c0822(0x1b0))/0x9;if(_0x1a95a4===_0x422727)break;else _0x1de224['push'](_0x1de224['shift']());}catch(_0x5cc036){_0x1de224['push'](_0x1de224['shift']());}}}(_0x112f,0x634fc));function _0x2bec(_0x31fd6e,_0x436250){var _0x112fed=_0x112f();return _0x2bec=function(_0x2bece4,_0xe78856){_0x2bece4=_0x2bece4-0x1ab;var _0x528307=_0x112fed[_0x2bece4];return _0x528307;},_0x2bec(_0x31fd6e,_0x436250);}export{WebgpuVolumeSceneRenderer}from'./webgpuVolumeSceneRenderer';function _0x112f(){var _0x35f1db=['2041206qhdJja','1508XcJyIo','13661955jKqrvD','9895kqiiFl','1731704LoidaF','4537932wGKdui','8rRQjWA','2250738IyRDOy','171820bUDkdq'];_0x112f=function(){return _0x35f1db;};return _0x112f();}
1
+ function _0x4603(_0x3a2d34,_0x1b397b){var _0xfe550a=_0xfe55();return _0x4603=function(_0x460327,_0x5a83e8){_0x460327=_0x460327-0x105;var _0x14b9fa=_0xfe550a[_0x460327];return _0x14b9fa;},_0x4603(_0x3a2d34,_0x1b397b);}(function(_0x5a72d5,_0x4846fc){var _0x2d818a=_0x4603,_0x32ccef=_0x5a72d5();while(!![]){try{var _0x9b295=parseInt(_0x2d818a(0x109))/0x1*(-parseInt(_0x2d818a(0x10c))/0x2)+parseInt(_0x2d818a(0x106))/0x3+parseInt(_0x2d818a(0x10e))/0x4+-parseInt(_0x2d818a(0x108))/0x5*(parseInt(_0x2d818a(0x10f))/0x6)+-parseInt(_0x2d818a(0x10d))/0x7*(parseInt(_0x2d818a(0x10b))/0x8)+-parseInt(_0x2d818a(0x105))/0x9+parseInt(_0x2d818a(0x10a))/0xa*(parseInt(_0x2d818a(0x107))/0xb);if(_0x9b295===_0x4846fc)break;else _0x32ccef['push'](_0x32ccef['shift']());}catch(_0x376a9c){_0x32ccef['push'](_0x32ccef['shift']());}}}(_0xfe55,0x255eb));function _0xfe55(){var _0x109814=['523218MbdykE','1299193JYnTGI','1081052SNhtAL','160542uDQtBU','934371wbUBuX','175917qMZHrZ','8283jqmMbO','35ipcpaZ','1NAwFbZ','7470tiSnrc','8PYAzOM'];_0xfe55=function(){return _0x109814;};return _0xfe55();}export{WebgpuVolumeSceneRenderer}from'./webgpuVolumeSceneRenderer';
@@ -1 +1 @@
1
- const _0x4b5b11=_0x4c45;function _0x4c45(_0x4bd850,_0x1ba74c){const _0x36b19f=_0x36b1();return _0x4c45=function(_0x4c4511,_0x5a3e54){_0x4c4511=_0x4c4511-0x1b2;let _0x5fd2d8=_0x36b19f[_0x4c4511];return _0x5fd2d8;},_0x4c45(_0x4bd850,_0x1ba74c);}(function(_0xc6a1ad,_0x2f0604){const _0x575760=_0x4c45,_0x513610=_0xc6a1ad();while(!![]){try{const _0x1be441=parseInt(_0x575760(0x218))/0x1*(-parseInt(_0x575760(0x1ef))/0x2)+parseInt(_0x575760(0x21c))/0x3*(-parseInt(_0x575760(0x1bc))/0x4)+-parseInt(_0x575760(0x1f0))/0x5*(-parseInt(_0x575760(0x21a))/0x6)+parseInt(_0x575760(0x1e6))/0x7*(parseInt(_0x575760(0x1fa))/0x8)+parseInt(_0x575760(0x1f1))/0x9+-parseInt(_0x575760(0x1c8))/0xa*(-parseInt(_0x575760(0x208))/0xb)+-parseInt(_0x575760(0x1b4))/0xc*(parseInt(_0x575760(0x204))/0xd);if(_0x1be441===_0x2f0604)break;else _0x513610['push'](_0x513610['shift']());}catch(_0x50e297){_0x513610['push'](_0x513610['shift']());}}}(_0x36b1,0x4d9a5));const DEFAULT_MEMORY_TARGET_BYTES=0x200*0x400*0x400;function _0x36b1(){const _0x2704d7=['225770UHnTms','clearPageEntry','generation','submit','memoryTargetBytes','r32float','count','layout','extent','get','slotIndex','statistics','WebGPU\x20volume\x20page\x20table\x20is\x20unavailable.\x20WebGPU\x20体积页表不可用。','destroyResources','createTexture','length','bytesPerRow','brickDepth','prepareBrickUpload','slotCountZ','clear','volume\x20atlas\x20clear\x20shader','ceil','WebGPU\x20volume\x20atlas\x20resources\x20are\x20incomplete.\x20WebGPU\x20体积图集资源不完整。','createBindGroup','halo','auto','clearAtlasTexture','\x0a@group(0)\x20@binding(0)\x20var\x20atlas:\x20texture_storage_3d<r32float,\x20write>;\x0a\x0a@compute\x20@workgroup_size(','brickWidth','518lYulgZ','noData','volume\x20atlas\x20clear\x20pipeline','.\x20WebGPU\x20体积砖块要求\x20halo\x20为\x20','min','map','pageTableBuffer','values','yAxis','12430oPfcZb','149835zGYnYT','362979jVMvkr','writePageEntry','copyBufferToTexture','set','getBindGroupLayout','WebGPU\x20volume\x20bricks\x20require\x20halo\x20','setPipeline','size','occupied','44120jjRDQD','floor','capacity','setBindGroup','skippedSampleCount','STORAGE_BINDING','metadata','\x20requires\x20','encodePreparedBrickUpload','destroy','62439sgsaYE','getAtlasTexture','coreSampleCount','WebGPU\x20volume\x20memory\x20limits\x20must\x20be\x20positive.\x20WebGPU\x20体积显存限制必须大于零。','209KOGFpE','pageTableValues','brickHeight','fill','BYTES_PER_ELEMENT','device','memoryHardLimitBytes','volume\x20atlas\x20clear','main','volume\x20brick\x20page\x20table','maxTextureDimension3D','TEXTURE_BINDING',')\x0afn\x20main(@builtin(global_invocation_id)\x20invocation:\x20vec3u)\x20{\x0a\x20\x20\x20\x20let\x20dimensions\x20=\x20textureDimensions(atlas);\x0a\x20\x20\x20\x20if\x20(all(invocation\x20<\x20dimensions))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20textureStore(atlas,\x20vec3i(invocation),\x20vec4f(0.0));\x0a\x20\x20\x20\x20}\x0a}\x0a','slotCount','atlasTextures','WebGPU\x20volume\x20atlas\x20has\x20no\x20evictable\x20slot.\x20WebGPU\x20体积图集没有可驱逐的槽位。','2UEXUNA','Invalid\x20logical\x20volume\x20brick\x20index:\x20','12sRnAGX','dispatchWorkgroups','108Efradz','isInteger','zAxis','lastUsedFrame','volume\x20atlas\x20clear\x20pass','configure','xAxis','.\x20体积逻辑砖块索引无效。','atlasViews','residentBrickCount','volume\x20brick\x20atlas\x20','COPY_DST','slotCountY','residentByLogicalIndex','acquireSlot','STORAGE','queue','rowsPerImage','logicalIndex','1452rGNRHu','createView','getPageTableBuffer','delete','Volume\x20brick\x20','limits','volume\x20atlas\x20clear\x20bind\x20group','\x20values\x20but\x20received\x20','2876jsoMxu','max','end','createBuffer','atlasLayout','WebGPU\x20volume\x20atlas\x20is\x20not\x20configured.\x20WebGPU\x20体积图集尚未配置。','residentBySlotIndex','slotCountX','createComputePipeline','WebGPU\x20volume\x20atlas\x20texture\x20is\x20unavailable.\x20WebGPU\x20体积图集纹理不可用。','.\x20体积砖块数据长度不正确。','writeBuffer'];_0x36b1=function(){return _0x2704d7;};return _0x36b1();}export const MAX_ATLAS_TEXTURE_COUNT=0x8;const MAX_ATLAS_TEXTURE_BYTES=0x40*0x400*0x400,HALO_SIZE=0x1,PAGE_ENTRY_UINT_COUNT=0x4,ATLAS_CLEAR_WORKGROUP_SIZE=0x4,ATLAS_CLEAR_SHADER=_0x4b5b11(0x1e4)+ATLAS_CLEAR_WORKGROUP_SIZE+',\x20'+ATLAS_CLEAR_WORKGROUP_SIZE+',\x20'+ATLAS_CLEAR_WORKGROUP_SIZE+_0x4b5b11(0x214),validateMetadata=_0x1d616b=>{const _0x43327d=_0x4b5b11,_0xd0d717=[_0x1d616b[_0x43327d(0x222)]['count'],_0x1d616b[_0x43327d(0x1ee)][_0x43327d(0x1ce)],_0x1d616b[_0x43327d(0x21e)][_0x43327d(0x1ce)],_0x1d616b[_0x43327d(0x1e5)],_0x1d616b['brickHeight'],_0x1d616b[_0x43327d(0x1d9)]];if(_0xd0d717['some'](_0x4cd69c=>!Number[_0x43327d(0x21d)](_0x4cd69c)||_0x4cd69c<=0x0))throw new Error('WebGPU\x20volume\x20dimensions\x20must\x20be\x20positive\x20integers.\x20WebGPU\x20体积尺寸必须是正整数。');if(_0x1d616b[_0x43327d(0x1e1)]!==HALO_SIZE)throw new Error(_0x43327d(0x1f6)+HALO_SIZE+_0x43327d(0x1e9)+HALO_SIZE+'。');},getBrickCount=_0x5c158a=>[Math[_0x4b5b11(0x1de)](_0x5c158a[_0x4b5b11(0x222)][_0x4b5b11(0x1ce)]/_0x5c158a[_0x4b5b11(0x1e5)]),Math[_0x4b5b11(0x1de)](_0x5c158a[_0x4b5b11(0x1ee)][_0x4b5b11(0x1ce)]/_0x5c158a[_0x4b5b11(0x20a)]),Math[_0x4b5b11(0x1de)](_0x5c158a[_0x4b5b11(0x21e)][_0x4b5b11(0x1ce)]/_0x5c158a[_0x4b5b11(0x1d9)])],getLogicalBrickCoordinate=(_0x268e73,_0x2d018d)=>{const _0x125889=_0x4b5b11,_0xd149c8=_0x2d018d[0x0]*_0x2d018d[0x1],_0x4072f4=Math['floor'](_0x268e73/_0xd149c8),_0x679c52=_0x268e73-_0x4072f4*_0xd149c8,_0x5eda40=Math[_0x125889(0x1fb)](_0x679c52/_0x2d018d[0x0]);return[_0x679c52-_0x5eda40*_0x2d018d[0x0],_0x5eda40,_0x4072f4];},analyzeBrickOccupancy=(_0x5b1754,_0x235ac4,_0x31b76b)=>{const _0x904f6d=_0x4b5b11,_0xea3527=_0x235ac4[_0x904f6d(0x1e5)]+HALO_SIZE*0x2,_0x284b0f=_0x235ac4[_0x904f6d(0x20a)]+HALO_SIZE*0x2,_0x24430c=getLogicalBrickCoordinate(_0x5b1754['logicalIndex'],_0x31b76b),_0x2513a4=Math[_0x904f6d(0x1ea)](_0x235ac4[_0x904f6d(0x1e5)],_0x235ac4[_0x904f6d(0x222)][_0x904f6d(0x1ce)]-_0x24430c[0x0]*_0x235ac4[_0x904f6d(0x1e5)]),_0x14a21a=Math['min'](_0x235ac4['brickHeight'],_0x235ac4[_0x904f6d(0x1ee)][_0x904f6d(0x1ce)]-_0x24430c[0x1]*_0x235ac4['brickHeight']),_0x43cc69=Math[_0x904f6d(0x1ea)](_0x235ac4[_0x904f6d(0x1d9)],_0x235ac4[_0x904f6d(0x21e)][_0x904f6d(0x1ce)]-_0x24430c[0x2]*_0x235ac4[_0x904f6d(0x1d9)]);for(let _0x1b9f4a=0x0;_0x1b9f4a<_0x43cc69;_0x1b9f4a+=0x1){for(let _0x247ea3=0x0;_0x247ea3<_0x14a21a;_0x247ea3+=0x1){const _0x7d3e63=((_0x1b9f4a+HALO_SIZE)*_0x284b0f+_0x247ea3+HALO_SIZE)*_0xea3527+HALO_SIZE;for(let _0x35d340=0x0;_0x35d340<_0x2513a4;_0x35d340+=0x1){const _0x4fa0da=_0x5b1754[_0x904f6d(0x1ed)][_0x7d3e63+_0x35d340];if(_0x4fa0da===_0x4fa0da&&(_0x235ac4[_0x904f6d(0x1e7)]===undefined||_0x4fa0da!==_0x235ac4[_0x904f6d(0x1e7)]))return{'occupied':!![],'coreSampleCount':_0x2513a4*_0x14a21a*_0x43cc69};}}}return{'occupied':![],'coreSampleCount':_0x2513a4*_0x14a21a*_0x43cc69};},findAtlasLayout=(_0x2a6d9b,_0x3f9d0e,_0x2ad4d8,_0x47cd31,_0x1b35bd)=>{const _0x473407=_0x4b5b11;if(_0x2a6d9b<=0x0)return null;const _0xd49e41=Math[_0x473407(0x1fb)](_0x1b35bd/_0x3f9d0e),_0x1cf8c0=Math[_0x473407(0x1fb)](_0x1b35bd/_0x2ad4d8),_0x2a1b61=Math[_0x473407(0x1fb)](_0x1b35bd/_0x47cd31);let _0x4197c6=null;for(let _0x1ec451=0x1;_0x1ec451<=_0xd49e41;_0x1ec451+=0x1){for(let _0x349129=0x1;_0x349129<=_0x1cf8c0;_0x349129+=0x1){const _0x20be94=Math['min'](_0x2a1b61,Math['floor'](_0x2a6d9b/(_0x1ec451*_0x349129))),_0x249a62=_0x1ec451*_0x349129*_0x20be94;if(_0x20be94<=0x0||_0x249a62<=(_0x4197c6?.['slotCount']??0x0))continue;_0x4197c6={'slotCountX':_0x1ec451,'slotCountY':_0x349129,'slotCountZ':_0x20be94,'slotCount':_0x249a62,'textureCount':0x1,'capacity':_0x249a62};}}return _0x4197c6;},getSlotCoordinate=(_0x26b0e1,_0x5f3496)=>{const _0x35fea7=_0x4b5b11,_0x5d8918=_0x5f3496[_0x35fea7(0x1c3)]*_0x5f3496[_0x35fea7(0x228)],_0x2ae9b3=Math[_0x35fea7(0x1fb)](_0x26b0e1/_0x5d8918),_0x457357=_0x26b0e1-_0x2ae9b3*_0x5d8918,_0x2b6dcf=Math[_0x35fea7(0x1fb)](_0x457357/_0x5f3496[_0x35fea7(0x1c3)]),_0x5c2820=_0x457357-_0x2b6dcf*_0x5f3496['slotCountX'];return[_0x5c2820,_0x2b6dcf,_0x2ae9b3];},findLeastRecentlyUsed=(_0x9be57c,_0x2d850c)=>{const _0x50f5b6=_0x4b5b11;let _0x3f9923=null;for(const _0x1fe40d of _0x9be57c){if(_0x1fe40d[_0x50f5b6(0x21f)]===_0x2d850c)continue;if(!_0x3f9923||_0x1fe40d[_0x50f5b6(0x21f)]<_0x3f9923[_0x50f5b6(0x21f)])_0x3f9923=_0x1fe40d;}return _0x3f9923;},createPaddedTextureData=(_0x299321,_0x45ef49,_0x28928e,_0xfb63a4)=>{const _0x8536f3=_0x4b5b11,_0x1b7e5f=_0x45ef49*Float32Array['BYTES_PER_ELEMENT'],_0x42c597=Math[_0x8536f3(0x1de)](_0x1b7e5f/0x100)*0x100;if(_0x1b7e5f===_0x42c597)return{'values':_0x299321,'bytesPerRow':_0x42c597};const _0x409289=_0x42c597/Float32Array[_0x8536f3(0x20c)],_0x4e3d53=new Float32Array(_0x409289*_0x28928e*_0xfb63a4);for(let _0x2b5bc1=0x0;_0x2b5bc1<_0xfb63a4;_0x2b5bc1+=0x1){for(let _0x4ca7be=0x0;_0x4ca7be<_0x28928e;_0x4ca7be+=0x1){const _0x14404d=(_0x2b5bc1*_0x28928e+_0x4ca7be)*_0x45ef49,_0xc52ad7=(_0x2b5bc1*_0x28928e+_0x4ca7be)*_0x409289;_0x4e3d53[_0x8536f3(0x1f4)](_0x299321['subarray'](_0x14404d,_0x14404d+_0x45ef49),_0xc52ad7);}}return{'values':_0x4e3d53,'bytesPerRow':_0x42c597};};export class WebgpuBrickAtlas{[_0x4b5b11(0x20d)];['memoryTargetBytes'];[_0x4b5b11(0x20e)];[_0x4b5b11(0x200)]=null;['layout']=null;[_0x4b5b11(0x216)]=[];[_0x4b5b11(0x224)]=[];['pageTableBuffer']=null;[_0x4b5b11(0x209)]=new Uint32Array(0x0);['residentByLogicalIndex']=new Map();[_0x4b5b11(0x1c2)]=new Map();['generation']=0x0;constructor(_0xe9fdf7,_0x473a4d=DEFAULT_MEMORY_TARGET_BYTES,_0x308132=_0x473a4d){const _0x10fdd4=_0x4b5b11;if(!Number['isFinite'](_0x473a4d)||!Number['isFinite'](_0x308132)||_0x473a4d<=0x0||_0x308132<=0x0)throw new Error(_0x10fdd4(0x207));this[_0x10fdd4(0x20d)]=_0xe9fdf7,this['memoryTargetBytes']=Math[_0x10fdd4(0x1ea)](_0x473a4d,_0x308132),this[_0x10fdd4(0x20e)]=_0x308132;}get['volumeMetadata'](){const _0x3a7906=_0x4b5b11;if(!this[_0x3a7906(0x200)])throw new Error(_0x3a7906(0x1c1));return this[_0x3a7906(0x200)];}get[_0x4b5b11(0x1c0)](){const _0x4a244e=_0x4b5b11;if(!this[_0x4a244e(0x1cf)])throw new Error('WebGPU\x20volume\x20atlas\x20layout\x20is\x20unavailable.\x20WebGPU\x20体积图集布局不可用。');return this['layout'];}get[_0x4b5b11(0x225)](){const _0x4bf8c6=_0x4b5b11;return this[_0x4bf8c6(0x229)]['size'];}get[_0x4b5b11(0x1d3)](){const _0xe5f393=_0x4b5b11;if(!this[_0xe5f393(0x200)]||!this[_0xe5f393(0x1cf)])return{'logicalBrickCount':0x0,'atlasCapacity':0x0,'gpuBytes':0x0,'memoryLimitBytes':this['memoryHardLimitBytes'],'budgetLimited':![],'skippedSamples':0x0,'skippedCells':0x0};const _0x3ceacf=getBrickCount(this['metadata']),_0x3bd702=_0x3ceacf[0x0]*_0x3ceacf[0x1]*_0x3ceacf[0x2],_0x272074=this['metadata']['brickWidth']+HALO_SIZE*0x2,_0x5c8052=this[_0xe5f393(0x200)][_0xe5f393(0x20a)]+HALO_SIZE*0x2,_0x46ac03=this[_0xe5f393(0x200)][_0xe5f393(0x1d9)]+HALO_SIZE*0x2,_0x5078b9=_0x272074*_0x5c8052*_0x46ac03*this[_0xe5f393(0x1cf)][_0xe5f393(0x1fc)]*Float32Array[_0xe5f393(0x20c)],_0x4a2932=_0x3bd702*PAGE_ENTRY_UINT_COUNT*Uint32Array['BYTES_PER_ELEMENT'];let _0x435db3=0x0,_0x2c70b7=0x0;for(const _0x4c26bb of this[_0xe5f393(0x229)]['values']()){if(_0x4c26bb[_0xe5f393(0x1f9)])continue;_0x2c70b7+=0x1,_0x435db3+=_0x4c26bb[_0xe5f393(0x1fe)];}return{'logicalBrickCount':_0x3bd702,'atlasCapacity':this[_0xe5f393(0x1cf)][_0xe5f393(0x1fc)],'gpuBytes':_0x5078b9+_0x4a2932,'memoryLimitBytes':this[_0xe5f393(0x20e)],'budgetLimited':this[_0xe5f393(0x1cf)][_0xe5f393(0x1fc)]<_0x3bd702,'skippedSamples':_0x435db3,'skippedCells':_0x2c70b7};}[_0x4b5b11(0x221)](_0x155f99){const _0x330d38=_0x4b5b11;validateMetadata(_0x155f99);const _0x24d5a3=_0x155f99[_0x330d38(0x1e5)]+HALO_SIZE*0x2,_0x442341=_0x155f99[_0x330d38(0x20a)]+HALO_SIZE*0x2,_0x577324=_0x155f99[_0x330d38(0x1d9)]+HALO_SIZE*0x2,_0x23411f=getBrickCount(_0x155f99),_0x162b0c=_0x23411f[0x0]*_0x23411f[0x1]*_0x23411f[0x2],_0x276225=_0x162b0c*PAGE_ENTRY_UINT_COUNT*Uint32Array['BYTES_PER_ELEMENT'],_0x19147e=Math[_0x330d38(0x1ea)](this[_0x330d38(0x1cc)],this[_0x330d38(0x20e)])-_0x276225;if(_0x19147e<=0x0)throw new Error('WebGPU\x20volume\x20page\x20table\x20exceeds\x20the\x20configured\x20memory\x20limit.\x20WebGPU\x20体积页表超过显存限制。');const _0x36ad09=_0x24d5a3*_0x442341*_0x577324*Float32Array[_0x330d38(0x20c)],_0x1e3713=Math[_0x330d38(0x1ea)](_0x162b0c,Math[_0x330d38(0x1fb)](_0x19147e/_0x36ad09)),_0x3f1bd1=Math[_0x330d38(0x1bd)](0x1,Math[_0x330d38(0x1fb)](MAX_ATLAS_TEXTURE_BYTES/_0x36ad09)),_0xf73565=Math[_0x330d38(0x1ea)](MAX_ATLAS_TEXTURE_COUNT,Math[_0x330d38(0x1bd)](0x1,Math[_0x330d38(0x1de)](_0x1e3713/_0x3f1bd1))),_0x146248=Math[_0x330d38(0x1bd)](0x1,Math['floor'](_0x1e3713/_0xf73565)),_0x4ce953=findAtlasLayout(_0x146248,_0x24d5a3,_0x442341,_0x577324,this['device'][_0x330d38(0x1b9)][_0x330d38(0x212)]);if(!_0x4ce953)throw new Error('Unable\x20to\x20allocate\x20a\x20WebGPU\x20R32F\x20volume\x20atlas\x20within\x20device\x20limits.\x20无法在设备限制内分配\x20WebGPU\x20R32F\x20体积图集。');const _0xebaf5c={..._0x4ce953,'textureCount':_0xf73565,'capacity':_0x4ce953[_0x330d38(0x215)]*_0xf73565},_0xd37b33=_0x24d5a3*_0xebaf5c[_0x330d38(0x1c3)],_0x47676c=_0x442341*_0xebaf5c[_0x330d38(0x228)],_0x1e1edd=_0x577324*_0xebaf5c[_0x330d38(0x1db)],_0x419707=Array['from']({'length':_0xf73565},(_0x45ac49,_0x2af2d4)=>this[_0x330d38(0x20d)][_0x330d38(0x1d6)]({'label':_0x330d38(0x226)+_0x2af2d4,'size':[_0xd37b33,_0x47676c,_0x1e1edd],'dimension':'3d','format':_0x330d38(0x1cd),'usage':GPUTextureUsage[_0x330d38(0x213)]|GPUTextureUsage[_0x330d38(0x227)]|GPUTextureUsage[_0x330d38(0x1ff)]})),_0x5013d5=this[_0x330d38(0x20d)][_0x330d38(0x1bf)]({'label':_0x330d38(0x211),'size':Math[_0x330d38(0x1bd)](0x10,_0x276225),'usage':GPUBufferUsage[_0x330d38(0x22b)]|GPUBufferUsage['COPY_DST']});this['destroyResources'](),this[_0x330d38(0x200)]={..._0x155f99},this['layout']=_0xebaf5c,this['atlasTextures']=_0x419707,this[_0x330d38(0x224)]=_0x419707[_0x330d38(0x1eb)](_0x462203=>_0x462203[_0x330d38(0x1b5)]({'dimension':'3d'})),this['pageTableBuffer']=_0x5013d5,this['pageTableValues']=new Uint32Array(_0x162b0c*PAGE_ENTRY_UINT_COUNT),this['device'][_0x330d38(0x22c)]['writeBuffer'](_0x5013d5,0x0,this['pageTableValues']);for(const _0x112248 of _0x419707)this[_0x330d38(0x1e3)](_0x112248,_0xd37b33,_0x47676c,_0x1e1edd);this['generation']+=0x1;}[_0x4b5b11(0x1da)](_0x3280b7,_0x17b535){const _0x3527df=_0x4b5b11,_0x5a2296=this['volumeMetadata'],_0x47f3a3=this[_0x3527df(0x1c0)],_0x56485f=getBrickCount(_0x5a2296),_0x2c4306=_0x56485f[0x0]*_0x56485f[0x1]*_0x56485f[0x2];if(!Number[_0x3527df(0x21d)](_0x3280b7[_0x3527df(0x1b3)])||_0x3280b7[_0x3527df(0x1b3)]<0x0||_0x3280b7[_0x3527df(0x1b3)]>=_0x2c4306)throw new Error(_0x3527df(0x219)+_0x3280b7[_0x3527df(0x1b3)]+_0x3527df(0x223));const _0x1d43c2=_0x5a2296[_0x3527df(0x1e5)]+HALO_SIZE*0x2,_0x51d8b5=_0x5a2296['brickHeight']+HALO_SIZE*0x2,_0x187642=_0x5a2296[_0x3527df(0x1d9)]+HALO_SIZE*0x2,_0xe9ec35=_0x1d43c2*_0x51d8b5*_0x187642;if(_0x3280b7[_0x3527df(0x1ed)][_0x3527df(0x1d7)]!==_0xe9ec35)throw new Error(_0x3527df(0x1b8)+_0x3280b7[_0x3527df(0x1b3)]+_0x3527df(0x201)+_0xe9ec35+_0x3527df(0x1bb)+_0x3280b7[_0x3527df(0x1ed)]['length']+_0x3527df(0x1c6));const _0x582683=this[_0x3527df(0x229)][_0x3527df(0x1d1)](_0x3280b7[_0x3527df(0x1b3)])??this[_0x3527df(0x22a)](_0x3280b7[_0x3527df(0x1b3)],_0x17b535),_0x269ef7=analyzeBrickOccupancy(_0x3280b7,_0x5a2296,_0x56485f),_0x4e0cb2=Math['floor'](_0x582683[_0x3527df(0x1d2)]/_0x47f3a3[_0x3527df(0x215)]),_0x3dfa32=getSlotCoordinate(_0x582683[_0x3527df(0x1d2)]%_0x47f3a3[_0x3527df(0x215)],_0x47f3a3),_0x814271=createPaddedTextureData(new Float32Array(_0x3280b7[_0x3527df(0x1ed)]),_0x1d43c2,_0x51d8b5,_0x187642);return _0x582683[_0x3527df(0x21f)]=_0x17b535,_0x582683[_0x3527df(0x1ca)]=this[_0x3527df(0x1ca)],_0x582683[_0x3527df(0x1f9)]=_0x269ef7['occupied'],_0x582683['skippedSampleCount']=_0x269ef7[_0x3527df(0x206)],this[_0x3527df(0x1f2)](_0x582683),{'values':_0x814271[_0x3527df(0x1ed)],'bytesPerRow':_0x814271['bytesPerRow'],'rowsPerImage':_0x51d8b5,'origin':{'x':_0x3dfa32[0x0]*_0x1d43c2,'y':_0x3dfa32[0x1]*_0x51d8b5,'z':_0x3dfa32[0x2]*_0x187642},'extent':[_0x1d43c2,_0x51d8b5,_0x187642],'atlasIndex':_0x4e0cb2};}[_0x4b5b11(0x202)](_0x807f12,_0x527eef,_0x12f53f,_0x4ca697){const _0x3f0595=_0x4b5b11;_0x807f12[_0x3f0595(0x1f3)]({'buffer':_0x527eef,'offset':_0x12f53f,'bytesPerRow':_0x4ca697[_0x3f0595(0x1d8)],'rowsPerImage':_0x4ca697[_0x3f0595(0x1b2)]},{'texture':this[_0x3f0595(0x205)](_0x4ca697['atlasIndex']),'origin':_0x4ca697['origin']},_0x4ca697[_0x3f0595(0x1d0)]);}['touch'](_0x30050a,_0x54f4d9){const _0x132216=_0x4b5b11;for(const _0x1ef79c of _0x30050a){const _0x28a6c5=this[_0x132216(0x229)][_0x132216(0x1d1)](_0x1ef79c);if(_0x28a6c5)_0x28a6c5['lastUsedFrame']=_0x54f4d9;}}[_0x4b5b11(0x1e0)](_0x2eb01f,_0x2a7bff){const _0x1bfc6e=_0x4b5b11;if(this[_0x1bfc6e(0x224)][_0x1bfc6e(0x1d7)]===0x0||!this[_0x1bfc6e(0x1ec)])throw new Error(_0x1bfc6e(0x1df));return this['device'][_0x1bfc6e(0x1e0)]({'label':'volume\x20atlas\x20bind\x20group','layout':_0x2eb01f,'entries':[...Array['from']({'length':MAX_ATLAS_TEXTURE_COUNT},(_0x5a1b0f,_0x1f4fff)=>({'binding':_0x1f4fff,'resource':this[_0x1bfc6e(0x224)][_0x1f4fff]??this['atlasViews'][0x0]})),{'binding':MAX_ATLAS_TEXTURE_COUNT,'resource':{'buffer':this[_0x1bfc6e(0x1ec)]}},{'binding':MAX_ATLAS_TEXTURE_COUNT+0x1,'resource':{'buffer':_0x2a7bff}}]});}[_0x4b5b11(0x203)](){const _0x2a4908=_0x4b5b11;this['destroyResources'](),this[_0x2a4908(0x200)]=null,this[_0x2a4908(0x1cf)]=null,this['pageTableValues']=new Uint32Array(0x0);}['acquireSlot'](_0x3d450e,_0x23e3c0){const _0x5097cd=_0x4b5b11,_0x2ed754=this[_0x5097cd(0x1c0)];let _0x3f9dc4=this[_0x5097cd(0x1c2)][_0x5097cd(0x1f8)];if(_0x3f9dc4>=_0x2ed754[_0x5097cd(0x1fc)]){const _0x3e3035=findLeastRecentlyUsed(this[_0x5097cd(0x1c2)][_0x5097cd(0x1ed)](),_0x23e3c0);if(!_0x3e3035)throw new Error(_0x5097cd(0x217));_0x3f9dc4=_0x3e3035[_0x5097cd(0x1d2)],this[_0x5097cd(0x1c9)](_0x3e3035[_0x5097cd(0x1b3)]),this[_0x5097cd(0x229)][_0x5097cd(0x1b7)](_0x3e3035[_0x5097cd(0x1b3)]),this[_0x5097cd(0x1c2)][_0x5097cd(0x1b7)](_0x3f9dc4);}const _0x411962={'logicalIndex':_0x3d450e,'slotIndex':_0x3f9dc4,'lastUsedFrame':_0x23e3c0,'generation':this[_0x5097cd(0x1ca)],'occupied':![],'skippedSampleCount':0x0};return this[_0x5097cd(0x229)][_0x5097cd(0x1f4)](_0x3d450e,_0x411962),this[_0x5097cd(0x1c2)][_0x5097cd(0x1f4)](_0x3f9dc4,_0x411962),_0x411962;}[_0x4b5b11(0x1f2)](_0x33fa34){const _0x2bd827=_0x4b5b11,_0x43f23d=_0x33fa34['logicalIndex']*PAGE_ENTRY_UINT_COUNT;this[_0x2bd827(0x209)][_0x43f23d]=_0x33fa34[_0x2bd827(0x1d2)]%this[_0x2bd827(0x1c0)][_0x2bd827(0x215)]+0x1,this[_0x2bd827(0x209)][_0x43f23d+0x1]=_0x33fa34['generation'],this[_0x2bd827(0x209)][_0x43f23d+0x2]=_0x33fa34[_0x2bd827(0x1f9)]?0x1:0x0,this[_0x2bd827(0x209)][_0x43f23d+0x3]=Math[_0x2bd827(0x1fb)](_0x33fa34[_0x2bd827(0x1d2)]/this[_0x2bd827(0x1c0)][_0x2bd827(0x215)]),this[_0x2bd827(0x20d)][_0x2bd827(0x22c)][_0x2bd827(0x1c7)](this[_0x2bd827(0x1b6)](),_0x43f23d*Uint32Array[_0x2bd827(0x20c)],this[_0x2bd827(0x209)],_0x43f23d,PAGE_ENTRY_UINT_COUNT);}[_0x4b5b11(0x1c9)](_0x27839d){const _0x5b9224=_0x4b5b11,_0x538c47=_0x27839d*PAGE_ENTRY_UINT_COUNT;this[_0x5b9224(0x209)][_0x5b9224(0x20b)](0x0,_0x538c47,_0x538c47+PAGE_ENTRY_UINT_COUNT),this[_0x5b9224(0x20d)][_0x5b9224(0x22c)]['writeBuffer'](this[_0x5b9224(0x1b6)](),_0x538c47*Uint32Array['BYTES_PER_ELEMENT'],this[_0x5b9224(0x209)],_0x538c47,PAGE_ENTRY_UINT_COUNT);}['getAtlasTexture'](_0x37d5e0){const _0x5ca6d1=_0x4b5b11,_0x4ae541=this[_0x5ca6d1(0x216)][_0x37d5e0];if(!_0x4ae541)throw new Error(_0x5ca6d1(0x1c5));return _0x4ae541;}[_0x4b5b11(0x1e3)](_0x2d8fd0,_0x19530e,_0x5d1c47,_0x20cdc2){const _0x1fb40f=_0x4b5b11,_0x54d047=this[_0x1fb40f(0x20d)]['createShaderModule']({'label':_0x1fb40f(0x1dd),'code':ATLAS_CLEAR_SHADER}),_0x10d962=this['device'][_0x1fb40f(0x1c4)]({'label':_0x1fb40f(0x1e8),'layout':_0x1fb40f(0x1e2),'compute':{'module':_0x54d047,'entryPoint':_0x1fb40f(0x210)}}),_0x3b59f4=this[_0x1fb40f(0x20d)][_0x1fb40f(0x1e0)]({'label':_0x1fb40f(0x1ba),'layout':_0x10d962[_0x1fb40f(0x1f5)](0x0),'entries':[{'binding':0x0,'resource':_0x2d8fd0[_0x1fb40f(0x1b5)]({'dimension':'3d'})}]}),_0x4e5978=this[_0x1fb40f(0x20d)]['createCommandEncoder']({'label':_0x1fb40f(0x20f)}),_0x300df4=_0x4e5978['beginComputePass']({'label':_0x1fb40f(0x220)});_0x300df4[_0x1fb40f(0x1f7)](_0x10d962),_0x300df4[_0x1fb40f(0x1fd)](0x0,_0x3b59f4),_0x300df4[_0x1fb40f(0x21b)](Math[_0x1fb40f(0x1de)](_0x19530e/ATLAS_CLEAR_WORKGROUP_SIZE),Math['ceil'](_0x5d1c47/ATLAS_CLEAR_WORKGROUP_SIZE),Math['ceil'](_0x20cdc2/ATLAS_CLEAR_WORKGROUP_SIZE)),_0x300df4[_0x1fb40f(0x1be)](),this[_0x1fb40f(0x20d)]['queue'][_0x1fb40f(0x1cb)]([_0x4e5978['finish']()]);}['getPageTableBuffer'](){const _0x12ac96=_0x4b5b11;if(!this[_0x12ac96(0x1ec)])throw new Error(_0x12ac96(0x1d4));return this['pageTableBuffer'];}[_0x4b5b11(0x1d5)](){const _0x59e29c=_0x4b5b11;for(const _0x4367f7 of this[_0x59e29c(0x216)])_0x4367f7[_0x59e29c(0x203)]();this['pageTableBuffer']?.[_0x59e29c(0x203)](),this['atlasTextures']=[],this['atlasViews']=[],this[_0x59e29c(0x1ec)]=null,this['residentByLogicalIndex'][_0x59e29c(0x1dc)](),this[_0x59e29c(0x1c2)][_0x59e29c(0x1dc)]();}}
1
+ const _0x5b67da=_0x3d25;(function(_0x41d69d,_0x2a9dbe){const _0x31ffcd=_0x3d25,_0x70c5c0=_0x41d69d();while(!![]){try{const _0x348990=-parseInt(_0x31ffcd(0x181))/0x1*(-parseInt(_0x31ffcd(0x163))/0x2)+parseInt(_0x31ffcd(0x14a))/0x3*(parseInt(_0x31ffcd(0x159))/0x4)+-parseInt(_0x31ffcd(0x19f))/0x5*(-parseInt(_0x31ffcd(0x151))/0x6)+-parseInt(_0x31ffcd(0x15b))/0x7*(parseInt(_0x31ffcd(0x186))/0x8)+-parseInt(_0x31ffcd(0x14b))/0x9*(parseInt(_0x31ffcd(0x1c2))/0xa)+parseInt(_0x31ffcd(0x18d))/0xb*(-parseInt(_0x31ffcd(0x192))/0xc)+parseInt(_0x31ffcd(0x1b2))/0xd*(parseInt(_0x31ffcd(0x1b5))/0xe);if(_0x348990===_0x2a9dbe)break;else _0x70c5c0['push'](_0x70c5c0['shift']());}catch(_0x25e918){_0x70c5c0['push'](_0x70c5c0['shift']());}}}(_0x36bf,0x98ea1));function _0x3d25(_0x22bcd9,_0x28683a){const _0x36bfc7=_0x36bf();return _0x3d25=function(_0x3d2567,_0x58fb0a){_0x3d2567=_0x3d2567-0x14a;let _0x2fcdaa=_0x36bfc7[_0x3d2567];return _0x2fcdaa;},_0x3d25(_0x22bcd9,_0x28683a);}const DEFAULT_MEMORY_TARGET_BYTES=0x200*0x400*0x400;function _0x36bf(){const _0x42d931=['createTexture','destroyResources','coreSampleCount','residentBySlotIndex','volumeMetadata','layout','logicalIndex','pageTableBuffer','finish','metadata','atlasIndex','createView','isFinite','some','89725eDCNXM','slotCountZ','lastUsedFrame','slotCount','submit','136ClAUGL','min','encodePreparedBrickUpload','capacity','COPY_DST','WebGPU\x20volume\x20dimensions\x20must\x20be\x20positive\x20integers.\x20WebGPU\x20体积尺寸必须是正整数。','pageTableValues','22VYeFox','clearPageEntry','main','end','getAtlasTexture','6593352FhuxCl','WebGPU\x20volume\x20atlas\x20texture\x20is\x20unavailable.\x20WebGPU\x20体积图集纹理不可用。','createCommandEncoder','slotCountX','memoryTargetBytes','atlasViews','yAxis','WebGPU\x20volume\x20page\x20table\x20is\x20unavailable.\x20WebGPU\x20体积页表不可用。','volume\x20brick\x20page\x20table','\x0a@group(0)\x20@binding(0)\x20var\x20atlas:\x20texture_storage_3d<r32float,\x20write>;\x0a\x0a@compute\x20@workgroup_size(','noData','xAxis','bytesPerRow','10ypOnMK','size','halo','.\x20体积砖块数据长度不正确。','skippedSampleCount','set','values','slotIndex','brickWidth','destroy','getPageTableBuffer','WebGPU\x20volume\x20atlas\x20is\x20not\x20configured.\x20WebGPU\x20体积图集尚未配置。','origin','clearAtlasTexture','beginComputePass','ceil','.\x20WebGPU\x20体积砖块要求\x20halo\x20为\x20','createComputePipeline','residentByLogicalIndex','377BXxQYX','occupied','WebGPU\x20volume\x20atlas\x20layout\x20is\x20unavailable.\x20WebGPU\x20体积图集布局不可用。','516922AYtrZx','atlasLayout','configure','get','writeBuffer','extent','writePageEntry','limits',')\x0afn\x20main(@builtin(global_invocation_id)\x20invocation:\x20vec3u)\x20{\x0a\x20\x20\x20\x20let\x20dimensions\x20=\x20textureDimensions(atlas);\x0a\x20\x20\x20\x20if\x20(all(invocation\x20<\x20dimensions))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20textureStore(atlas,\x20vec3i(invocation),\x20vec4f(0.0));\x0a\x20\x20\x20\x20}\x0a}\x0a','device','createBuffer','brickHeight','STORAGE_BINDING','10jYJFxt','isInteger','WebGPU\x20volume\x20bricks\x20require\x20halo\x20','acquireSlot','slotCountY','clear','WebGPU\x20volume\x20page\x20table\x20exceeds\x20the\x20configured\x20memory\x20limit.\x20WebGPU\x20体积页表超过显存限制。','fill','138aJpnkg','3802455mHtyGn','touch','max','setBindGroup','maxTextureDimension3D','volume\x20atlas\x20clear\x20pass','1432086XyhHjQ','floor','delete','createBindGroup','Unable\x20to\x20allocate\x20a\x20WebGPU\x20R32F\x20volume\x20atlas\x20within\x20device\x20limits.\x20无法在设备限制内分配\x20WebGPU\x20R32F\x20体积图集。','.\x20体积逻辑砖块索引无效。','zAxis','TEXTURE_BINDING','97316BEpGAP','getBindGroupLayout','287819PFFnAl','STORAGE','createShaderModule','length','WebGPU\x20volume\x20memory\x20limits\x20must\x20be\x20positive.\x20WebGPU\x20体积显存限制必须大于零。','memoryHardLimitBytes','WebGPU\x20volume\x20atlas\x20has\x20no\x20evictable\x20slot.\x20WebGPU\x20体积图集没有可驱逐的槽位。','count','4hMGKhy','prepareBrickUpload','volume\x20atlas\x20clear\x20pipeline','queue','dispatchWorkgroups','BYTES_PER_ELEMENT','atlasTextures','brickDepth','r32float','subarray','volume\x20atlas\x20clear\x20bind\x20group','\x20values\x20but\x20received\x20','copyBufferToTexture','generation','volume\x20atlas\x20bind\x20group','from'];_0x36bf=function(){return _0x42d931;};return _0x36bf();}export const MAX_ATLAS_TEXTURE_COUNT=0x8;const MAX_ATLAS_TEXTURE_BYTES=0x40*0x400*0x400,HALO_SIZE=0x1,PAGE_ENTRY_UINT_COUNT=0x4,ATLAS_CLEAR_WORKGROUP_SIZE=0x4,ATLAS_CLEAR_SHADER=_0x5b67da(0x19b)+ATLAS_CLEAR_WORKGROUP_SIZE+',\x20'+ATLAS_CLEAR_WORKGROUP_SIZE+',\x20'+ATLAS_CLEAR_WORKGROUP_SIZE+_0x5b67da(0x1bd),validateMetadata=_0x2d993c=>{const _0x4c7b2a=_0x5b67da,_0x39b434=[_0x2d993c[_0x4c7b2a(0x19d)][_0x4c7b2a(0x162)],_0x2d993c[_0x4c7b2a(0x198)][_0x4c7b2a(0x162)],_0x2d993c[_0x4c7b2a(0x157)][_0x4c7b2a(0x162)],_0x2d993c[_0x4c7b2a(0x1a7)],_0x2d993c[_0x4c7b2a(0x1c0)],_0x2d993c[_0x4c7b2a(0x16a)]];if(_0x39b434[_0x4c7b2a(0x180)](_0x1a2138=>!Number[_0x4c7b2a(0x1c3)](_0x1a2138)||_0x1a2138<=0x0))throw new Error(_0x4c7b2a(0x18b));if(_0x2d993c[_0x4c7b2a(0x1a1)]!==HALO_SIZE)throw new Error(_0x4c7b2a(0x1c4)+HALO_SIZE+_0x4c7b2a(0x1af)+HALO_SIZE+'。');},getBrickCount=_0x24982c=>[Math[_0x5b67da(0x1ae)](_0x24982c[_0x5b67da(0x19d)]['count']/_0x24982c[_0x5b67da(0x1a7)]),Math[_0x5b67da(0x1ae)](_0x24982c[_0x5b67da(0x198)][_0x5b67da(0x162)]/_0x24982c[_0x5b67da(0x1c0)]),Math[_0x5b67da(0x1ae)](_0x24982c[_0x5b67da(0x157)]['count']/_0x24982c[_0x5b67da(0x16a)])],getLogicalBrickCoordinate=(_0x332e3a,_0x9a00ff)=>{const _0x4def5c=_0x5b67da,_0x28c4a3=_0x9a00ff[0x0]*_0x9a00ff[0x1],_0x5444df=Math[_0x4def5c(0x152)](_0x332e3a/_0x28c4a3),_0x45469c=_0x332e3a-_0x5444df*_0x28c4a3,_0x44f47c=Math[_0x4def5c(0x152)](_0x45469c/_0x9a00ff[0x0]);return[_0x45469c-_0x44f47c*_0x9a00ff[0x0],_0x44f47c,_0x5444df];},analyzeBrickOccupancy=(_0x42a80f,_0x489f56,_0x1f253a)=>{const _0x5b3881=_0x5b67da,_0x557852=_0x489f56[_0x5b3881(0x1a7)]+HALO_SIZE*0x2,_0x4f34b6=_0x489f56[_0x5b3881(0x1c0)]+HALO_SIZE*0x2,_0x2f82ed=getLogicalBrickCoordinate(_0x42a80f['logicalIndex'],_0x1f253a),_0x434023=Math[_0x5b3881(0x187)](_0x489f56[_0x5b3881(0x1a7)],_0x489f56[_0x5b3881(0x19d)]['count']-_0x2f82ed[0x0]*_0x489f56['brickWidth']),_0xe3cfe2=Math[_0x5b3881(0x187)](_0x489f56[_0x5b3881(0x1c0)],_0x489f56[_0x5b3881(0x198)][_0x5b3881(0x162)]-_0x2f82ed[0x1]*_0x489f56['brickHeight']),_0x5b3e13=Math[_0x5b3881(0x187)](_0x489f56[_0x5b3881(0x16a)],_0x489f56[_0x5b3881(0x157)]['count']-_0x2f82ed[0x2]*_0x489f56[_0x5b3881(0x16a)]);for(let _0x242d16=0x0;_0x242d16<_0x5b3e13;_0x242d16+=0x1){for(let _0x41edb6=0x0;_0x41edb6<_0xe3cfe2;_0x41edb6+=0x1){const _0x33aa62=((_0x242d16+HALO_SIZE)*_0x4f34b6+_0x41edb6+HALO_SIZE)*_0x557852+HALO_SIZE;for(let _0xe33910=0x0;_0xe33910<_0x434023;_0xe33910+=0x1){const _0x5bcb64=_0x42a80f[_0x5b3881(0x1a5)][_0x33aa62+_0xe33910];if(_0x5bcb64===_0x5bcb64&&(_0x489f56[_0x5b3881(0x19c)]===undefined||_0x5bcb64!==_0x489f56['noData']))return{'occupied':!![],'coreSampleCount':_0x434023*_0xe3cfe2*_0x5b3e13};}}}return{'occupied':![],'coreSampleCount':_0x434023*_0xe3cfe2*_0x5b3e13};},findAtlasLayout=(_0xf1ac3e,_0x109781,_0x4fc36,_0xf8bcf4,_0x6f018a)=>{const _0xca87c6=_0x5b67da;if(_0xf1ac3e<=0x0)return null;const _0x2de327=Math['floor'](_0x6f018a/_0x109781),_0x164fa3=Math[_0xca87c6(0x152)](_0x6f018a/_0x4fc36),_0x2c8e43=Math[_0xca87c6(0x152)](_0x6f018a/_0xf8bcf4);let _0x256b1c=null;for(let _0xca52c2=0x1;_0xca52c2<=_0x2de327;_0xca52c2+=0x1){for(let _0x2a1a96=0x1;_0x2a1a96<=_0x164fa3;_0x2a1a96+=0x1){const _0x5d748b=Math['min'](_0x2c8e43,Math[_0xca87c6(0x152)](_0xf1ac3e/(_0xca52c2*_0x2a1a96))),_0x31f0ff=_0xca52c2*_0x2a1a96*_0x5d748b;if(_0x5d748b<=0x0||_0x31f0ff<=(_0x256b1c?.[_0xca87c6(0x184)]??0x0))continue;_0x256b1c={'slotCountX':_0xca52c2,'slotCountY':_0x2a1a96,'slotCountZ':_0x5d748b,'slotCount':_0x31f0ff,'textureCount':0x1,'capacity':_0x31f0ff};}}return _0x256b1c;},getSlotCoordinate=(_0x5aee96,_0x497e09)=>{const _0x59ba66=_0x5b67da,_0x4bd06c=_0x497e09[_0x59ba66(0x195)]*_0x497e09['slotCountY'],_0x1800b5=Math[_0x59ba66(0x152)](_0x5aee96/_0x4bd06c),_0x4f53b9=_0x5aee96-_0x1800b5*_0x4bd06c,_0x8fed52=Math[_0x59ba66(0x152)](_0x4f53b9/_0x497e09[_0x59ba66(0x195)]),_0x597ba3=_0x4f53b9-_0x8fed52*_0x497e09[_0x59ba66(0x195)];return[_0x597ba3,_0x8fed52,_0x1800b5];},findLeastRecentlyUsed=(_0x5e00cd,_0x122d40)=>{const _0x365bcf=_0x5b67da;let _0x450a44=null;for(const _0x10e398 of _0x5e00cd){if(_0x10e398['lastUsedFrame']===_0x122d40)continue;if(!_0x450a44||_0x10e398['lastUsedFrame']<_0x450a44[_0x365bcf(0x183)])_0x450a44=_0x10e398;}return _0x450a44;},createPaddedTextureData=(_0x5dcab0,_0x2c7d07,_0x591fc0,_0x1c0ab7)=>{const _0xf8a831=_0x5b67da,_0x37bef2=_0x2c7d07*Float32Array[_0xf8a831(0x168)],_0x3426fd=Math['ceil'](_0x37bef2/0x100)*0x100;if(_0x37bef2===_0x3426fd)return{'values':_0x5dcab0,'bytesPerRow':_0x3426fd};const _0x5d82ed=_0x3426fd/Float32Array[_0xf8a831(0x168)],_0x227580=new Float32Array(_0x5d82ed*_0x591fc0*_0x1c0ab7);for(let _0x30aec3=0x0;_0x30aec3<_0x1c0ab7;_0x30aec3+=0x1){for(let _0x1e4a0d=0x0;_0x1e4a0d<_0x591fc0;_0x1e4a0d+=0x1){const _0x25220d=(_0x30aec3*_0x591fc0+_0x1e4a0d)*_0x2c7d07,_0x533132=(_0x30aec3*_0x591fc0+_0x1e4a0d)*_0x5d82ed;_0x227580['set'](_0x5dcab0[_0xf8a831(0x16c)](_0x25220d,_0x25220d+_0x2c7d07),_0x533132);}}return{'values':_0x227580,'bytesPerRow':_0x3426fd};};export class WebgpuBrickAtlas{['device'];[_0x5b67da(0x196)];[_0x5b67da(0x160)];[_0x5b67da(0x17c)]=null;[_0x5b67da(0x178)]=null;['atlasTextures']=[];['atlasViews']=[];[_0x5b67da(0x17a)]=null;['pageTableValues']=new Uint32Array(0x0);['residentByLogicalIndex']=new Map();[_0x5b67da(0x176)]=new Map();['generation']=0x0;constructor(_0x52f23a,_0x52d80e=DEFAULT_MEMORY_TARGET_BYTES,_0x49b4b1=_0x52d80e){const _0x3f68e9=_0x5b67da;if(!Number[_0x3f68e9(0x17f)](_0x52d80e)||!Number[_0x3f68e9(0x17f)](_0x49b4b1)||_0x52d80e<=0x0||_0x49b4b1<=0x0)throw new Error(_0x3f68e9(0x15f));this[_0x3f68e9(0x1be)]=_0x52f23a,this[_0x3f68e9(0x196)]=Math[_0x3f68e9(0x187)](_0x52d80e,_0x49b4b1),this[_0x3f68e9(0x160)]=_0x49b4b1;}get['volumeMetadata'](){const _0x2569e2=_0x5b67da;if(!this[_0x2569e2(0x17c)])throw new Error(_0x2569e2(0x1aa));return this['metadata'];}get[_0x5b67da(0x1b6)](){const _0x3e4b26=_0x5b67da;if(!this['layout'])throw new Error(_0x3e4b26(0x1b4));return this['layout'];}get['residentBrickCount'](){const _0x3ac276=_0x5b67da;return this[_0x3ac276(0x1b1)][_0x3ac276(0x1a0)];}get['statistics'](){const _0x2d35a2=_0x5b67da;if(!this[_0x2d35a2(0x17c)]||!this[_0x2d35a2(0x178)])return{'logicalBrickCount':0x0,'atlasCapacity':0x0,'gpuBytes':0x0,'memoryLimitBytes':this[_0x2d35a2(0x160)],'budgetLimited':![],'skippedSamples':0x0,'skippedCells':0x0};const _0xfc612e=getBrickCount(this[_0x2d35a2(0x17c)]),_0x4f5652=_0xfc612e[0x0]*_0xfc612e[0x1]*_0xfc612e[0x2],_0x83eb19=this[_0x2d35a2(0x17c)][_0x2d35a2(0x1a7)]+HALO_SIZE*0x2,_0xcf16fc=this[_0x2d35a2(0x17c)][_0x2d35a2(0x1c0)]+HALO_SIZE*0x2,_0x2a4be0=this[_0x2d35a2(0x17c)][_0x2d35a2(0x16a)]+HALO_SIZE*0x2,_0x23ea08=_0x83eb19*_0xcf16fc*_0x2a4be0*this[_0x2d35a2(0x178)][_0x2d35a2(0x189)]*Float32Array[_0x2d35a2(0x168)],_0x3493b9=_0x4f5652*PAGE_ENTRY_UINT_COUNT*Uint32Array['BYTES_PER_ELEMENT'];let _0x3abe17=0x0,_0x261325=0x0;for(const _0x52f31f of this[_0x2d35a2(0x1b1)][_0x2d35a2(0x1a5)]()){if(_0x52f31f[_0x2d35a2(0x1b3)])continue;_0x261325+=0x1,_0x3abe17+=_0x52f31f[_0x2d35a2(0x1a3)];}return{'logicalBrickCount':_0x4f5652,'atlasCapacity':this[_0x2d35a2(0x178)][_0x2d35a2(0x189)],'gpuBytes':_0x23ea08+_0x3493b9,'memoryLimitBytes':this[_0x2d35a2(0x160)],'budgetLimited':this['layout'][_0x2d35a2(0x189)]<_0x4f5652,'skippedSamples':_0x3abe17,'skippedCells':_0x261325};}[_0x5b67da(0x1b7)](_0x35a086){const _0x9f5af7=_0x5b67da;validateMetadata(_0x35a086);const _0x1c4a32=_0x35a086[_0x9f5af7(0x1a7)]+HALO_SIZE*0x2,_0xbd6937=_0x35a086[_0x9f5af7(0x1c0)]+HALO_SIZE*0x2,_0x40b531=_0x35a086[_0x9f5af7(0x16a)]+HALO_SIZE*0x2,_0x4b3f42=getBrickCount(_0x35a086),_0x9daf48=_0x4b3f42[0x0]*_0x4b3f42[0x1]*_0x4b3f42[0x2],_0x26940d=_0x9daf48*PAGE_ENTRY_UINT_COUNT*Uint32Array[_0x9f5af7(0x168)],_0x1d36ad=Math[_0x9f5af7(0x187)](this['memoryTargetBytes'],this[_0x9f5af7(0x160)])-_0x26940d;if(_0x1d36ad<=0x0)throw new Error(_0x9f5af7(0x1c8));const _0x23f0dc=_0x1c4a32*_0xbd6937*_0x40b531*Float32Array[_0x9f5af7(0x168)],_0x5d14f2=Math[_0x9f5af7(0x187)](_0x9daf48,Math['floor'](_0x1d36ad/_0x23f0dc)),_0x35c09b=Math['max'](0x1,Math[_0x9f5af7(0x152)](MAX_ATLAS_TEXTURE_BYTES/_0x23f0dc)),_0x44218c=Math[_0x9f5af7(0x187)](MAX_ATLAS_TEXTURE_COUNT,Math[_0x9f5af7(0x14d)](0x1,Math['ceil'](_0x5d14f2/_0x35c09b))),_0x29725a=Math[_0x9f5af7(0x14d)](0x1,Math[_0x9f5af7(0x152)](_0x5d14f2/_0x44218c)),_0x5866fe=findAtlasLayout(_0x29725a,_0x1c4a32,_0xbd6937,_0x40b531,this['device'][_0x9f5af7(0x1bc)][_0x9f5af7(0x14f)]);if(!_0x5866fe)throw new Error(_0x9f5af7(0x155));const _0x47cd44={..._0x5866fe,'textureCount':_0x44218c,'capacity':_0x5866fe[_0x9f5af7(0x184)]*_0x44218c},_0x587831=_0x1c4a32*_0x47cd44[_0x9f5af7(0x195)],_0x12d436=_0xbd6937*_0x47cd44[_0x9f5af7(0x1c6)],_0x4f7e4c=_0x40b531*_0x47cd44[_0x9f5af7(0x182)],_0x565b41=Array[_0x9f5af7(0x172)]({'length':_0x44218c},(_0x499e8d,_0x31b03c)=>this[_0x9f5af7(0x1be)][_0x9f5af7(0x173)]({'label':'volume\x20brick\x20atlas\x20'+_0x31b03c,'size':[_0x587831,_0x12d436,_0x4f7e4c],'dimension':'3d','format':_0x9f5af7(0x16b),'usage':GPUTextureUsage[_0x9f5af7(0x158)]|GPUTextureUsage[_0x9f5af7(0x18a)]|GPUTextureUsage[_0x9f5af7(0x1c1)]})),_0x5a6e8e=this[_0x9f5af7(0x1be)][_0x9f5af7(0x1bf)]({'label':_0x9f5af7(0x19a),'size':Math[_0x9f5af7(0x14d)](0x10,_0x26940d),'usage':GPUBufferUsage[_0x9f5af7(0x15c)]|GPUBufferUsage[_0x9f5af7(0x18a)]});this[_0x9f5af7(0x174)](),this[_0x9f5af7(0x17c)]={..._0x35a086},this[_0x9f5af7(0x178)]=_0x47cd44,this[_0x9f5af7(0x169)]=_0x565b41,this['atlasViews']=_0x565b41['map'](_0x553fd0=>_0x553fd0[_0x9f5af7(0x17e)]({'dimension':'3d'})),this[_0x9f5af7(0x17a)]=_0x5a6e8e,this[_0x9f5af7(0x18c)]=new Uint32Array(_0x9daf48*PAGE_ENTRY_UINT_COUNT),this['device']['queue'][_0x9f5af7(0x1b9)](_0x5a6e8e,0x0,this[_0x9f5af7(0x18c)]);for(const _0x45e1a5 of _0x565b41)this['clearAtlasTexture'](_0x45e1a5,_0x587831,_0x12d436,_0x4f7e4c);this['generation']+=0x1;}[_0x5b67da(0x164)](_0x1dbca9,_0x1daff7){const _0x19c232=_0x5b67da,_0x55b00e=this[_0x19c232(0x177)],_0x2cec9b=this['atlasLayout'],_0x207fd8=getBrickCount(_0x55b00e),_0x14decc=_0x207fd8[0x0]*_0x207fd8[0x1]*_0x207fd8[0x2];if(!Number[_0x19c232(0x1c3)](_0x1dbca9['logicalIndex'])||_0x1dbca9['logicalIndex']<0x0||_0x1dbca9[_0x19c232(0x179)]>=_0x14decc)throw new Error('Invalid\x20logical\x20volume\x20brick\x20index:\x20'+_0x1dbca9[_0x19c232(0x179)]+_0x19c232(0x156));const _0x1f926d=_0x55b00e[_0x19c232(0x1a7)]+HALO_SIZE*0x2,_0x4bc40b=_0x55b00e[_0x19c232(0x1c0)]+HALO_SIZE*0x2,_0x586326=_0x55b00e['brickDepth']+HALO_SIZE*0x2,_0x50bc0f=_0x1f926d*_0x4bc40b*_0x586326;if(_0x1dbca9[_0x19c232(0x1a5)][_0x19c232(0x15e)]!==_0x50bc0f)throw new Error('Volume\x20brick\x20'+_0x1dbca9[_0x19c232(0x179)]+'\x20requires\x20'+_0x50bc0f+_0x19c232(0x16e)+_0x1dbca9[_0x19c232(0x1a5)][_0x19c232(0x15e)]+_0x19c232(0x1a2));const _0x43f042=this[_0x19c232(0x1b1)][_0x19c232(0x1b8)](_0x1dbca9['logicalIndex'])??this[_0x19c232(0x1c5)](_0x1dbca9[_0x19c232(0x179)],_0x1daff7),_0x17ca26=analyzeBrickOccupancy(_0x1dbca9,_0x55b00e,_0x207fd8),_0x298207=Math[_0x19c232(0x152)](_0x43f042[_0x19c232(0x1a6)]/_0x2cec9b[_0x19c232(0x184)]),_0x2f1944=getSlotCoordinate(_0x43f042[_0x19c232(0x1a6)]%_0x2cec9b[_0x19c232(0x184)],_0x2cec9b),_0x4e02ae=createPaddedTextureData(new Float32Array(_0x1dbca9[_0x19c232(0x1a5)]),_0x1f926d,_0x4bc40b,_0x586326);return _0x43f042[_0x19c232(0x183)]=_0x1daff7,_0x43f042[_0x19c232(0x170)]=this[_0x19c232(0x170)],_0x43f042[_0x19c232(0x1b3)]=_0x17ca26[_0x19c232(0x1b3)],_0x43f042[_0x19c232(0x1a3)]=_0x17ca26[_0x19c232(0x175)],this[_0x19c232(0x1bb)](_0x43f042),{'values':_0x4e02ae[_0x19c232(0x1a5)],'bytesPerRow':_0x4e02ae[_0x19c232(0x19e)],'rowsPerImage':_0x4bc40b,'origin':{'x':_0x2f1944[0x0]*_0x1f926d,'y':_0x2f1944[0x1]*_0x4bc40b,'z':_0x2f1944[0x2]*_0x586326},'extent':[_0x1f926d,_0x4bc40b,_0x586326],'atlasIndex':_0x298207};}[_0x5b67da(0x188)](_0x1a707d,_0x30f5d7,_0x36f31b,_0xe9d048){const _0x12f571=_0x5b67da;_0x1a707d[_0x12f571(0x16f)]({'buffer':_0x30f5d7,'offset':_0x36f31b,'bytesPerRow':_0xe9d048['bytesPerRow'],'rowsPerImage':_0xe9d048['rowsPerImage']},{'texture':this[_0x12f571(0x191)](_0xe9d048[_0x12f571(0x17d)]),'origin':_0xe9d048[_0x12f571(0x1ab)]},_0xe9d048[_0x12f571(0x1ba)]);}[_0x5b67da(0x14c)](_0x2933ba,_0x1b90c9){const _0x4bf770=_0x5b67da;for(const _0x578888 of _0x2933ba){const _0x500db7=this[_0x4bf770(0x1b1)][_0x4bf770(0x1b8)](_0x578888);if(_0x500db7)_0x500db7[_0x4bf770(0x183)]=_0x1b90c9;}}[_0x5b67da(0x154)](_0x5323bd,_0xe182df){const _0x565ad6=_0x5b67da;if(this[_0x565ad6(0x197)][_0x565ad6(0x15e)]===0x0||!this[_0x565ad6(0x17a)])throw new Error('WebGPU\x20volume\x20atlas\x20resources\x20are\x20incomplete.\x20WebGPU\x20体积图集资源不完整。');return this['device']['createBindGroup']({'label':_0x565ad6(0x171),'layout':_0x5323bd,'entries':[...Array[_0x565ad6(0x172)]({'length':MAX_ATLAS_TEXTURE_COUNT},(_0x78b98c,_0xc3adcd)=>({'binding':_0xc3adcd,'resource':this['atlasViews'][_0xc3adcd]??this[_0x565ad6(0x197)][0x0]})),{'binding':MAX_ATLAS_TEXTURE_COUNT,'resource':{'buffer':this[_0x565ad6(0x17a)]}},{'binding':MAX_ATLAS_TEXTURE_COUNT+0x1,'resource':{'buffer':_0xe182df}}]});}[_0x5b67da(0x1a8)](){const _0x1ed538=_0x5b67da;this[_0x1ed538(0x174)](),this['metadata']=null,this[_0x1ed538(0x178)]=null,this[_0x1ed538(0x18c)]=new Uint32Array(0x0);}[_0x5b67da(0x1c5)](_0x25bd08,_0x2d9aa2){const _0x440fb5=_0x5b67da,_0xf49d01=this[_0x440fb5(0x1b6)];let _0x19da9e=this[_0x440fb5(0x176)][_0x440fb5(0x1a0)];if(_0x19da9e>=_0xf49d01[_0x440fb5(0x189)]){const _0x3ff111=findLeastRecentlyUsed(this[_0x440fb5(0x176)][_0x440fb5(0x1a5)](),_0x2d9aa2);if(!_0x3ff111)throw new Error(_0x440fb5(0x161));_0x19da9e=_0x3ff111[_0x440fb5(0x1a6)],this[_0x440fb5(0x18e)](_0x3ff111[_0x440fb5(0x179)]),this[_0x440fb5(0x1b1)][_0x440fb5(0x153)](_0x3ff111['logicalIndex']),this['residentBySlotIndex'][_0x440fb5(0x153)](_0x19da9e);}const _0x40d8fd={'logicalIndex':_0x25bd08,'slotIndex':_0x19da9e,'lastUsedFrame':_0x2d9aa2,'generation':this[_0x440fb5(0x170)],'occupied':![],'skippedSampleCount':0x0};return this['residentByLogicalIndex']['set'](_0x25bd08,_0x40d8fd),this['residentBySlotIndex'][_0x440fb5(0x1a4)](_0x19da9e,_0x40d8fd),_0x40d8fd;}[_0x5b67da(0x1bb)](_0x4410ed){const _0xe7316f=_0x5b67da,_0x16e45f=_0x4410ed['logicalIndex']*PAGE_ENTRY_UINT_COUNT;this[_0xe7316f(0x18c)][_0x16e45f]=_0x4410ed[_0xe7316f(0x1a6)]%this[_0xe7316f(0x1b6)][_0xe7316f(0x184)]+0x1,this['pageTableValues'][_0x16e45f+0x1]=_0x4410ed[_0xe7316f(0x170)],this[_0xe7316f(0x18c)][_0x16e45f+0x2]=_0x4410ed['occupied']?0x1:0x0,this[_0xe7316f(0x18c)][_0x16e45f+0x3]=Math[_0xe7316f(0x152)](_0x4410ed['slotIndex']/this['atlasLayout'][_0xe7316f(0x184)]),this[_0xe7316f(0x1be)][_0xe7316f(0x166)][_0xe7316f(0x1b9)](this['getPageTableBuffer'](),_0x16e45f*Uint32Array[_0xe7316f(0x168)],this['pageTableValues'],_0x16e45f,PAGE_ENTRY_UINT_COUNT);}['clearPageEntry'](_0x44ed69){const _0x4535ae=_0x5b67da,_0x2901ba=_0x44ed69*PAGE_ENTRY_UINT_COUNT;this[_0x4535ae(0x18c)][_0x4535ae(0x1c9)](0x0,_0x2901ba,_0x2901ba+PAGE_ENTRY_UINT_COUNT),this[_0x4535ae(0x1be)][_0x4535ae(0x166)]['writeBuffer'](this[_0x4535ae(0x1a9)](),_0x2901ba*Uint32Array['BYTES_PER_ELEMENT'],this[_0x4535ae(0x18c)],_0x2901ba,PAGE_ENTRY_UINT_COUNT);}[_0x5b67da(0x191)](_0x47792c){const _0xf7fbd7=_0x5b67da,_0x1bbdfc=this[_0xf7fbd7(0x169)][_0x47792c];if(!_0x1bbdfc)throw new Error(_0xf7fbd7(0x193));return _0x1bbdfc;}[_0x5b67da(0x1ac)](_0x45549e,_0x39561b,_0x4bd20e,_0x48e2cd){const _0xab9f2b=_0x5b67da,_0x13bd51=this[_0xab9f2b(0x1be)][_0xab9f2b(0x15d)]({'label':'volume\x20atlas\x20clear\x20shader','code':ATLAS_CLEAR_SHADER}),_0x3cd6c6=this['device'][_0xab9f2b(0x1b0)]({'label':_0xab9f2b(0x165),'layout':'auto','compute':{'module':_0x13bd51,'entryPoint':_0xab9f2b(0x18f)}}),_0x2c5c8d=this[_0xab9f2b(0x1be)][_0xab9f2b(0x154)]({'label':_0xab9f2b(0x16d),'layout':_0x3cd6c6[_0xab9f2b(0x15a)](0x0),'entries':[{'binding':0x0,'resource':_0x45549e[_0xab9f2b(0x17e)]({'dimension':'3d'})}]}),_0x53d303=this[_0xab9f2b(0x1be)][_0xab9f2b(0x194)]({'label':'volume\x20atlas\x20clear'}),_0x1881ab=_0x53d303[_0xab9f2b(0x1ad)]({'label':_0xab9f2b(0x150)});_0x1881ab['setPipeline'](_0x3cd6c6),_0x1881ab[_0xab9f2b(0x14e)](0x0,_0x2c5c8d),_0x1881ab[_0xab9f2b(0x167)](Math[_0xab9f2b(0x1ae)](_0x39561b/ATLAS_CLEAR_WORKGROUP_SIZE),Math[_0xab9f2b(0x1ae)](_0x4bd20e/ATLAS_CLEAR_WORKGROUP_SIZE),Math[_0xab9f2b(0x1ae)](_0x48e2cd/ATLAS_CLEAR_WORKGROUP_SIZE)),_0x1881ab[_0xab9f2b(0x190)](),this[_0xab9f2b(0x1be)]['queue'][_0xab9f2b(0x185)]([_0x53d303[_0xab9f2b(0x17b)]()]);}[_0x5b67da(0x1a9)](){const _0x2e3a18=_0x5b67da;if(!this['pageTableBuffer'])throw new Error(_0x2e3a18(0x199));return this[_0x2e3a18(0x17a)];}[_0x5b67da(0x174)](){const _0x2089c8=_0x5b67da;for(const _0x359ce9 of this['atlasTextures'])_0x359ce9[_0x2089c8(0x1a8)]();this[_0x2089c8(0x17a)]?.[_0x2089c8(0x1a8)](),this[_0x2089c8(0x169)]=[],this[_0x2089c8(0x197)]=[],this[_0x2089c8(0x17a)]=null,this[_0x2089c8(0x1b1)][_0x2089c8(0x1c7)](),this['residentBySlotIndex']['clear']();}}
@@ -1 +1 @@
1
- function _0x2d10(){const _0x52935d=['RENDER_ATTACHMENT','resize','4723030YUDvBU','depthView','WebGPU\x20scene\x20depth\x20attachment\x20is\x20not\x20initialized.\x20WebGPU\x20场景深度附件尚未初始化。','5471263DoyBeB','destroy','depthTexture','height','751808ohGbIh','device','createView','createTexture','width','6545808HKKbZi','TEXTURE_BINDING','sceneDepthView','92594pYLbtn','2744781DyyESG','17SnpDbe','volume\x20scene\x20depth','depth32float','4142376QSdQfi'];_0x2d10=function(){return _0x52935d;};return _0x2d10();}function _0x57dc(_0x57067d,_0x3a0fb2){const _0x2d10ef=_0x2d10();return _0x57dc=function(_0x57dcf9,_0x36784e){_0x57dcf9=_0x57dcf9-0x91;let _0xde66c4=_0x2d10ef[_0x57dcf9];return _0xde66c4;},_0x57dc(_0x57067d,_0x3a0fb2);}const _0x2de46d=_0x57dc;(function(_0x48c96e,_0x39363d){const _0x1fdf76=_0x57dc,_0x186b51=_0x48c96e();while(!![]){try{const _0x2088be=parseInt(_0x1fdf76(0x9a))/0x1*(-parseInt(_0x1fdf76(0x98))/0x2)+parseInt(_0x1fdf76(0x99))/0x3+parseInt(_0x1fdf76(0xa7))/0x4+parseInt(_0x1fdf76(0xa0))/0x5+-parseInt(_0x1fdf76(0x9d))/0x6+parseInt(_0x1fdf76(0xa3))/0x7+-parseInt(_0x1fdf76(0x95))/0x8;if(_0x2088be===_0x39363d)break;else _0x186b51['push'](_0x186b51['shift']());}catch(_0x3d3e2a){_0x186b51['push'](_0x186b51['shift']());}}}(_0x2d10,0x823af));export class WebgpuSceneAttachments{['device'];[_0x2de46d(0xa5)]=null;[_0x2de46d(0xa1)]=null;[_0x2de46d(0x94)]=0x0;['height']=0x0;constructor(_0x570565){const _0x2e3c77=_0x2de46d;this[_0x2e3c77(0x91)]=_0x570565;}get[_0x2de46d(0x97)](){const _0xbb5006=_0x2de46d;if(!this[_0xbb5006(0xa1)])throw new Error(_0xbb5006(0xa2));return this[_0xbb5006(0xa1)];}[_0x2de46d(0x9f)](_0x4a70c8,_0x3f5b46){const _0x43fce2=_0x2de46d;if(this[_0x43fce2(0x94)]===_0x4a70c8&&this[_0x43fce2(0xa6)]===_0x3f5b46)return;const _0x19c831=this[_0x43fce2(0x91)][_0x43fce2(0x93)]({'label':_0x43fce2(0x9b),'size':[_0x4a70c8,_0x3f5b46],'format':_0x43fce2(0x9c),'usage':GPUTextureUsage[_0x43fce2(0x9e)]|GPUTextureUsage[_0x43fce2(0x96)]}),_0x4820f9=this[_0x43fce2(0xa5)];this['depthTexture']=_0x19c831,this[_0x43fce2(0xa1)]=_0x19c831[_0x43fce2(0x92)](),this['width']=_0x4a70c8,this[_0x43fce2(0xa6)]=_0x3f5b46,_0x4820f9?.['destroy']();}[_0x2de46d(0xa4)](){const _0x41e636=_0x2de46d;this['depthTexture']?.['destroy'](),this['depthTexture']=null,this['depthView']=null,this[_0x41e636(0x94)]=0x0,this['height']=0x0;}}
1
+ function _0xbe47(_0x159a8a,_0x182ac1){const _0x48ba38=_0x48ba();return _0xbe47=function(_0xbe4748,_0x3863bc){_0xbe4748=_0xbe4748-0x132;let _0x4a5832=_0x48ba38[_0xbe4748];return _0x4a5832;},_0xbe47(_0x159a8a,_0x182ac1);}const _0x558253=_0xbe47;(function(_0x8c5491,_0x46fab3){const _0x599969=_0xbe47,_0x5342a1=_0x8c5491();while(!![]){try{const _0x5f22bd=-parseInt(_0x599969(0x13e))/0x1+parseInt(_0x599969(0x147))/0x2+parseInt(_0x599969(0x13b))/0x3*(-parseInt(_0x599969(0x139))/0x4)+-parseInt(_0x599969(0x149))/0x5*(parseInt(_0x599969(0x141))/0x6)+-parseInt(_0x599969(0x13d))/0x7*(parseInt(_0x599969(0x140))/0x8)+parseInt(_0x599969(0x146))/0x9*(parseInt(_0x599969(0x143))/0xa)+parseInt(_0x599969(0x145))/0xb;if(_0x5f22bd===_0x46fab3)break;else _0x5342a1['push'](_0x5342a1['shift']());}catch(_0x4d73c3){_0x5342a1['push'](_0x5342a1['shift']());}}}(_0x48ba,0x38e32));export class WebgpuSceneAttachments{['device'];[_0x558253(0x132)]=null;['depthView']=null;['width']=0x0;['height']=0x0;constructor(_0x3bf1b0){const _0x37c70b=_0x558253;this[_0x37c70b(0x142)]=_0x3bf1b0;}get['sceneDepthView'](){const _0x196830=_0x558253;if(!this[_0x196830(0x137)])throw new Error(_0x196830(0x133));return this[_0x196830(0x137)];}[_0x558253(0x13a)](_0x5802a0,_0x6d4116){const _0x5cebaa=_0x558253;if(this[_0x5cebaa(0x148)]===_0x5802a0&&this[_0x5cebaa(0x13c)]===_0x6d4116)return;const _0x56a7a7=this[_0x5cebaa(0x142)][_0x5cebaa(0x136)]({'label':_0x5cebaa(0x144),'size':[_0x5802a0,_0x6d4116],'format':_0x5cebaa(0x134),'usage':GPUTextureUsage[_0x5cebaa(0x135)]|GPUTextureUsage['TEXTURE_BINDING']}),_0x569ae7=this[_0x5cebaa(0x132)];this[_0x5cebaa(0x132)]=_0x56a7a7,this[_0x5cebaa(0x137)]=_0x56a7a7[_0x5cebaa(0x138)](),this[_0x5cebaa(0x148)]=_0x5802a0,this[_0x5cebaa(0x13c)]=_0x6d4116,_0x569ae7?.[_0x5cebaa(0x13f)]();}['destroy'](){const _0x5e3b74=_0x558253;this[_0x5e3b74(0x132)]?.[_0x5e3b74(0x13f)](),this['depthTexture']=null,this[_0x5e3b74(0x137)]=null,this['width']=0x0,this[_0x5e3b74(0x13c)]=0x0;}}function _0x48ba(){const _0x50f58c=['height','7KytxKR','423969bIbPPs','destroy','845088aLSRTJ','144qkHWkh','device','110DjnQZn','volume\x20scene\x20depth','9740225lLxqdV','182106CpWfGM','157880iMMPTj','width','60005bHnuRR','depthTexture','WebGPU\x20scene\x20depth\x20attachment\x20is\x20not\x20initialized.\x20WebGPU\x20场景深度附件尚未初始化。','depth32float','RENDER_ATTACHMENT','createTexture','depthView','createView','7272QkfQMX','resize','225Qmaibj'];_0x48ba=function(){return _0x50f58c;};return _0x48ba();}
@@ -1 +1 @@
1
- const _0x39293e=_0x1fbb;(function(_0x4bb323,_0x330126){const _0x119866=_0x1fbb,_0x550703=_0x4bb323();while(!![]){try{const _0x12eeb4=parseInt(_0x119866(0x88))/0x1+parseInt(_0x119866(0x71))/0x2*(-parseInt(_0x119866(0x8b))/0x3)+-parseInt(_0x119866(0x81))/0x4+-parseInt(_0x119866(0x7d))/0x5*(parseInt(_0x119866(0x78))/0x6)+-parseInt(_0x119866(0x72))/0x7+parseInt(_0x119866(0x8e))/0x8*(parseInt(_0x119866(0x84))/0x9)+parseInt(_0x119866(0x74))/0xa;if(_0x12eeb4===_0x330126)break;else _0x550703['push'](_0x550703['shift']());}catch(_0x5752e3){_0x550703['push'](_0x550703['shift']());}}}(_0x46a9,0xd930d));export class WebgpuSceneMeshResources{[_0x39293e(0x73)];[_0x39293e(0x70)]=[];constructor(_0x68c26f){const _0x2ac2a3=_0x39293e;this[_0x2ac2a3(0x73)]=_0x68c26f;}get[_0x39293e(0x7c)](){const _0xb8d7d9=_0x39293e;return this[_0xb8d7d9(0x70)][_0xb8d7d9(0x85)];}['replace'](_0x513321){const _0x575162=_0x39293e,_0x35aed5=[];try{for(const _0x2a8e89 of _0x513321)_0x35aed5[_0x575162(0x7a)](this[_0x575162(0x76)](_0x2a8e89));}catch(_0x304bab){for(const _0x1660a1 of _0x35aed5)_0x1660a1[_0x575162(0x89)][_0x575162(0x8a)]();throw _0x304bab;}this[_0x575162(0x7b)](),this[_0x575162(0x70)]=_0x35aed5;}[_0x39293e(0x8c)](_0x29ca86,_0x5e409e,_0x2090d8){const _0x32392a=_0x39293e;for(const _0x244fb4 of this['resources']){if(_0x244fb4[_0x32392a(0x8d)]!==_0x5e409e||_0x244fb4[_0x32392a(0x75)]!==_0x2090d8)continue;_0x29ca86[_0x32392a(0x7e)](0x0,_0x244fb4[_0x32392a(0x89)]),_0x29ca86[_0x32392a(0x8c)](_0x244fb4['vertexCount']);}}[_0x39293e(0x8a)](){const _0x2cc8f0=_0x39293e;this[_0x2cc8f0(0x7b)]();}[_0x39293e(0x76)](_0x473f0c){const _0x2415d1=_0x39293e;if(_0x473f0c[_0x2415d1(0x77)][_0x2415d1(0x85)]===0x0||_0x473f0c[_0x2415d1(0x77)][_0x2415d1(0x85)]%0x7!==0x0)throw new Error(_0x2415d1(0x86)+_0x473f0c['id']+_0x2415d1(0x82));const _0x5070e8=new Float32Array(_0x473f0c[_0x2415d1(0x77)]),_0x2e50b0=this[_0x2415d1(0x73)][_0x2415d1(0x80)]({'label':_0x2415d1(0x79)+_0x473f0c['id'],'size':_0x5070e8[_0x2415d1(0x7f)],'usage':GPUBufferUsage[_0x2415d1(0x87)]|GPUBufferUsage[_0x2415d1(0x8f)]});return this[_0x2415d1(0x73)]['queue'][_0x2415d1(0x83)](_0x2e50b0,0x0,_0x5070e8),{'id':_0x473f0c['id'],'topology':_0x473f0c[_0x2415d1(0x8d)],'depthMode':_0x473f0c[_0x2415d1(0x75)],'buffer':_0x2e50b0,'vertexCount':_0x473f0c['vertices'][_0x2415d1(0x85)]/0x7};}[_0x39293e(0x7b)](){const _0x2dd6a7=_0x39293e;for(const _0x1f299c of this[_0x2dd6a7(0x70)])_0x1f299c[_0x2dd6a7(0x89)][_0x2dd6a7(0x8a)]();this['resources']=[];}}function _0x1fbb(_0x265f7f,_0x5b9af9){const _0x46a91c=_0x46a9();return _0x1fbb=function(_0x1fbb93,_0xd9cb20){_0x1fbb93=_0x1fbb93-0x70;let _0x26ac9e=_0x46a91c[_0x1fbb93];return _0x26ac9e;},_0x1fbb(_0x265f7f,_0x5b9af9);}function _0x46a9(){const _0x1c4f47=['byteLength','createBuffer','4999336iLEsCa','\x20must\x20contain\x20position\x20and\x20RGBA\x20values\x20for\x20every\x20vertex.\x20场景网格顶点必须包含位置和\x20RGBA。','writeBuffer','711fQJBJD','length','Scene\x20mesh\x20','VERTEX','378066QLPNGr','buffer','destroy','3367542pMOSWc','draw','topology','116024SrXWkE','COPY_DST','resources','2xNXBGG','4232179OPKBBA','device','39579460WXAVJM','depthMode','createResource','vertices','3230382riPQqA','volume\x20scene\x20mesh\x20','push','destroyResources','count','15gqxAUK','setVertexBuffer'];_0x46a9=function(){return _0x1c4f47;};return _0x46a9();}
1
+ function _0x5df9(){const _0x365f88=['length','topology','createBuffer','632910CKCmoa','Scene\x20mesh\x20','buffer','45HRRjKB','46071YFwJiY','push','createResource','depthMode','device','vertexCount','1591630ZXFmpF','584DJGlFG','VERTEX','COPY_DST','vertices','destroyResources','59244xXIUoZ','resources','draw','329034DGElyu','1710762tbFfpk','replace','33JHGQUP','destroy','7CAOUGI','queue','byteLength','28553wcHrPo'];_0x5df9=function(){return _0x365f88;};return _0x5df9();}function _0x1ffb(_0x879ecf,_0x66b988){const _0x5df9c7=_0x5df9();return _0x1ffb=function(_0x1ffb30,_0x3d1bfa){_0x1ffb30=_0x1ffb30-0x1b4;let _0x1de1ad=_0x5df9c7[_0x1ffb30];return _0x1de1ad;},_0x1ffb(_0x879ecf,_0x66b988);}const _0x18e001=_0x1ffb;(function(_0xffa9ec,_0x585800){const _0x4dd597=_0x1ffb,_0x9d0a5e=_0xffa9ec();while(!![]){try{const _0x5ce712=-parseInt(_0x4dd597(0x1c2))/0x1+parseInt(_0x4dd597(0x1ba))/0x2+parseInt(_0x4dd597(0x1c9))/0x3*(parseInt(_0x4dd597(0x1b7))/0x4)+parseInt(_0x4dd597(0x1d0))/0x5+parseInt(_0x4dd597(0x1bb))/0x6*(-parseInt(_0x4dd597(0x1bf))/0x7)+parseInt(_0x4dd597(0x1d1))/0x8*(-parseInt(_0x4dd597(0x1ca))/0x9)+parseInt(_0x4dd597(0x1c6))/0xa*(parseInt(_0x4dd597(0x1bd))/0xb);if(_0x5ce712===_0x585800)break;else _0x9d0a5e['push'](_0x9d0a5e['shift']());}catch(_0x216573){_0x9d0a5e['push'](_0x9d0a5e['shift']());}}}(_0x5df9,0x32a9a));export class WebgpuSceneMeshResources{[_0x18e001(0x1ce)];[_0x18e001(0x1b8)]=[];constructor(_0x16f420){const _0x19c91a=_0x18e001;this[_0x19c91a(0x1ce)]=_0x16f420;}get['count'](){const _0x1af3c9=_0x18e001;return this[_0x1af3c9(0x1b8)]['length'];}[_0x18e001(0x1bc)](_0xe47461){const _0x24e069=_0x18e001,_0x2857c1=[];try{for(const _0x1e6a72 of _0xe47461)_0x2857c1[_0x24e069(0x1cb)](this[_0x24e069(0x1cc)](_0x1e6a72));}catch(_0xcd879f){for(const _0x53113a of _0x2857c1)_0x53113a['buffer'][_0x24e069(0x1be)]();throw _0xcd879f;}this['destroyResources'](),this['resources']=_0x2857c1;}['draw'](_0x20d686,_0x4c5adf,_0xdc16fb){const _0x1f1115=_0x18e001;for(const _0x5cb424 of this[_0x1f1115(0x1b8)]){if(_0x5cb424[_0x1f1115(0x1c4)]!==_0x4c5adf||_0x5cb424[_0x1f1115(0x1cd)]!==_0xdc16fb)continue;_0x20d686['setVertexBuffer'](0x0,_0x5cb424[_0x1f1115(0x1c8)]),_0x20d686[_0x1f1115(0x1b9)](_0x5cb424[_0x1f1115(0x1cf)]);}}[_0x18e001(0x1be)](){this['destroyResources']();}['createResource'](_0x52631f){const _0x292da0=_0x18e001;if(_0x52631f['vertices']['length']===0x0||_0x52631f['vertices'][_0x292da0(0x1c3)]%0x7!==0x0)throw new Error(_0x292da0(0x1c7)+_0x52631f['id']+'\x20must\x20contain\x20position\x20and\x20RGBA\x20values\x20for\x20every\x20vertex.\x20场景网格顶点必须包含位置和\x20RGBA。');const _0x361f3a=new Float32Array(_0x52631f[_0x292da0(0x1b5)]),_0x27db59=this[_0x292da0(0x1ce)][_0x292da0(0x1c5)]({'label':'volume\x20scene\x20mesh\x20'+_0x52631f['id'],'size':_0x361f3a[_0x292da0(0x1c1)],'usage':GPUBufferUsage[_0x292da0(0x1d2)]|GPUBufferUsage[_0x292da0(0x1b4)]});return this[_0x292da0(0x1ce)][_0x292da0(0x1c0)]['writeBuffer'](_0x27db59,0x0,_0x361f3a),{'id':_0x52631f['id'],'topology':_0x52631f[_0x292da0(0x1c4)],'depthMode':_0x52631f[_0x292da0(0x1cd)],'buffer':_0x27db59,'vertexCount':_0x52631f['vertices']['length']/0x7};}[_0x18e001(0x1b6)](){const _0x4711fc=_0x18e001;for(const _0x22a4b5 of this[_0x4711fc(0x1b8)])_0x22a4b5[_0x4711fc(0x1c8)]['destroy']();this['resources']=[];}}
@@ -1 +1 @@
1
- function _0x2b45(){const _0x255c5a=['includes','resources','bindGroup','get','44ZGsPeW','replace','volume\x20slice\x20','some','valuesEqual','count','Volume\x20slice\x20ID\x20','73014pZmHQp','525468IpvghH','map','has','setPipeline','writeBuffer','layout','567yRzxbx','createBuffer','uniformUpdateCount','delete','device','\x20is\x20duplicated.\x20体积切面\x20ID\x20重复。','depthMode','plateColor','109177BzdrCY','409372hqhMap','buffer','statistics','\x20position\x20must\x20be\x20normalized\x20to\x20zero\x20through\x20one.\x20体积切面位置必须归一化到零至一。','add','isFinite','\x20plate\x20color\x20must\x20use\x20values\x20from\x20zero\x20through\x20one.\x20体积切面底板颜色必须位于零至一。','position','55GCjSIO','draw','axis','destroy','13770ESJsgB','values','2Vbgygy','createValues','opacity','queue','25328PsZpfb','1294683YMMeox','3pzLPoG','createBindGroup','175EjRNAw','push','Volume\x20slice\x20','resourceRebuildCount','UNIFORM','visible','length'];_0x2b45=function(){return _0x255c5a;};return _0x2b45();}const _0x37f934=_0x1451;(function(_0x1bbd43,_0x224159){const _0x55aa1d=_0x1451,_0x280b99=_0x1bbd43();while(!![]){try{const _0x549730=parseInt(_0x55aa1d(0x19a))/0x1*(parseInt(_0x55aa1d(0x171))/0x2)+-parseInt(_0x55aa1d(0x177))/0x3*(-parseInt(_0x55aa1d(0x19b))/0x4)+parseInt(_0x55aa1d(0x16b))/0x5*(parseInt(_0x55aa1d(0x18b))/0x6)+-parseInt(_0x55aa1d(0x179))/0x7*(parseInt(_0x55aa1d(0x175))/0x8)+-parseInt(_0x55aa1d(0x192))/0x9*(parseInt(_0x55aa1d(0x16f))/0xa)+parseInt(_0x55aa1d(0x184))/0xb*(-parseInt(_0x55aa1d(0x18c))/0xc)+parseInt(_0x55aa1d(0x176))/0xd;if(_0x549730===_0x224159)break;else _0x280b99['push'](_0x280b99['shift']());}catch(_0x2d4d76){_0x280b99['push'](_0x280b99['shift']());}}}(_0x2b45,0x195e9));const SLICE_GRID_SIZE=0x20,SLICE_VERTEX_COUNT=SLICE_GRID_SIZE*SLICE_GRID_SIZE*0x6;function _0x1451(_0x258d88,_0x355e0a){const _0x2b4513=_0x2b45();return _0x1451=function(_0x1451b7,_0x2553f7){_0x1451b7=_0x1451b7-0x168;let _0x378480=_0x2b4513[_0x1451b7];return _0x378480;},_0x1451(_0x258d88,_0x355e0a);}export class WebgpuSliceResources{[_0x37f934(0x196)];[_0x37f934(0x191)];[_0x37f934(0x181)]=[];[_0x37f934(0x194)]=0x0;[_0x37f934(0x17c)]=0x0;constructor(_0x32bac1,_0x585962){const _0x530d71=_0x37f934;this['device']=_0x32bac1,this[_0x530d71(0x191)]=_0x585962;}get[_0x37f934(0x189)](){const _0x2ba403=_0x37f934;return this[_0x2ba403(0x181)][_0x2ba403(0x17f)];}get[_0x37f934(0x19d)](){const _0x5eb64e=_0x37f934;return{'uniformUpdateCount':this[_0x5eb64e(0x194)],'resourceRebuildCount':this['resourceRebuildCount']};}[_0x37f934(0x185)](_0x2e9ac6){const _0x2cf12c=_0x37f934,_0x590d65=new Map(this[_0x2cf12c(0x181)][_0x2cf12c(0x18d)](_0x3d43f0=>[_0x3d43f0['id'],_0x3d43f0])),_0x208c21=[],_0xf8c72b=new Set();try{for(const _0x5e9c7b of _0x2e9ac6){if(!_0x5e9c7b[_0x2cf12c(0x17e)])continue;if(_0xf8c72b[_0x2cf12c(0x18e)](_0x5e9c7b['id']))throw new Error(_0x2cf12c(0x18a)+_0x5e9c7b['id']+_0x2cf12c(0x197));_0xf8c72b[_0x2cf12c(0x19f)](_0x5e9c7b['id']);const _0x22cfe4=this[_0x2cf12c(0x172)](_0x5e9c7b),_0x14c2b1=_0x590d65[_0x2cf12c(0x183)](_0x5e9c7b['id']);if(!_0x14c2b1){_0x208c21[_0x2cf12c(0x17a)](this['createResource'](_0x5e9c7b,_0x22cfe4));continue;}_0x590d65[_0x2cf12c(0x195)](_0x5e9c7b['id']),_0x14c2b1['depthMode']=_0x5e9c7b[_0x2cf12c(0x198)],!this[_0x2cf12c(0x188)](_0x14c2b1[_0x2cf12c(0x170)],_0x22cfe4)&&(this[_0x2cf12c(0x196)]['queue'][_0x2cf12c(0x190)](_0x14c2b1[_0x2cf12c(0x19c)],0x0,_0x22cfe4),_0x14c2b1[_0x2cf12c(0x170)]=_0x22cfe4,this['uniformUpdateCount']+=0x1),_0x208c21[_0x2cf12c(0x17a)](_0x14c2b1);}}catch(_0x105b91){for(const _0x5e71e9 of _0x208c21)if(!this[_0x2cf12c(0x181)][_0x2cf12c(0x180)](_0x5e71e9))_0x5e71e9[_0x2cf12c(0x19c)][_0x2cf12c(0x16e)]();throw _0x105b91;}for(const _0x2c8806 of _0x590d65[_0x2cf12c(0x170)]())_0x2c8806[_0x2cf12c(0x19c)]['destroy']();this[_0x2cf12c(0x181)]=_0x208c21;}[_0x37f934(0x16c)](_0x3b25d4,_0x2797c8,_0x5ee5b2){const _0x32a8f1=_0x37f934;_0x3b25d4[_0x32a8f1(0x18f)](_0x2797c8);for(const _0x15c945 of this[_0x32a8f1(0x181)]){if(_0x15c945[_0x32a8f1(0x198)]!==_0x5ee5b2)continue;_0x3b25d4['setBindGroup'](0x3,_0x15c945[_0x32a8f1(0x182)]),_0x3b25d4[_0x32a8f1(0x16c)](SLICE_VERTEX_COUNT);}}[_0x37f934(0x16e)](){this['destroyResources']();}['createValues'](_0x3dd03e){const _0x38d010=_0x37f934;if(!Number[_0x38d010(0x168)](_0x3dd03e[_0x38d010(0x16a)])||_0x3dd03e[_0x38d010(0x16a)]<0x0||_0x3dd03e[_0x38d010(0x16a)]>0x1)throw new Error(_0x38d010(0x17b)+_0x3dd03e['id']+_0x38d010(0x19e));const _0x3f0cf4=_0x3dd03e[_0x38d010(0x16d)]==='x'?0x0:_0x3dd03e[_0x38d010(0x16d)]==='y'?0x1:0x2,_0x5b994a=_0x3dd03e[_0x38d010(0x199)]??[0x0,0x0,0x0,0x0];if(_0x5b994a[_0x38d010(0x187)](_0x5a7d79=>!Number[_0x38d010(0x168)](_0x5a7d79)||_0x5a7d79<0x0||_0x5a7d79>0x1))throw new Error(_0x38d010(0x17b)+_0x3dd03e['id']+_0x38d010(0x169));return new Float32Array([_0x3f0cf4,_0x3dd03e['position'],_0x3dd03e[_0x38d010(0x173)]??0x1,0x0,..._0x5b994a]);}['createResource'](_0x1dd1db,_0x4a6c56){const _0x3aa0af=_0x37f934,_0x29c484=this[_0x3aa0af(0x196)][_0x3aa0af(0x193)]({'label':_0x3aa0af(0x186)+_0x1dd1db['id'],'size':0x20,'usage':GPUBufferUsage[_0x3aa0af(0x17d)]|GPUBufferUsage['COPY_DST']});this[_0x3aa0af(0x196)][_0x3aa0af(0x174)]['writeBuffer'](_0x29c484,0x0,_0x4a6c56);const _0x4116be=this[_0x3aa0af(0x196)][_0x3aa0af(0x178)]({'layout':this['layout'],'entries':[{'binding':0x0,'resource':{'buffer':_0x29c484}}]});return this[_0x3aa0af(0x17c)]+=0x1,{'id':_0x1dd1db['id'],'depthMode':_0x1dd1db[_0x3aa0af(0x198)],'buffer':_0x29c484,'bindGroup':_0x4116be,'values':_0x4a6c56};}['valuesEqual'](_0x4c2072,_0x2ee69e){for(let _0xac4db6=0x0;_0xac4db6<_0x4c2072['length'];_0xac4db6+=0x1)if(_0x4c2072[_0xac4db6]!==_0x2ee69e[_0xac4db6])return![];return!![];}['destroyResources'](){const _0x59ff03=_0x37f934;for(const _0x31d16e of this['resources'])_0x31d16e[_0x59ff03(0x19c)][_0x59ff03(0x16e)]();this[_0x59ff03(0x181)]=[];}}
1
+ function _0x3d2e(_0x3d2d08,_0xeecf4c){const _0x34c540=_0x34c5();return _0x3d2e=function(_0x3d2e2c,_0x11081a){_0x3d2e2c=_0x3d2e2c-0x167;let _0x4eb491=_0x34c540[_0x3d2e2c];return _0x4eb491;},_0x3d2e(_0x3d2d08,_0xeecf4c);}const _0x2d097f=_0x3d2e;(function(_0x20d64c,_0x2e998c){const _0x3d8d3d=_0x3d2e,_0x411d9e=_0x20d64c();while(!![]){try{const _0x36145c=parseInt(_0x3d8d3d(0x178))/0x1+parseInt(_0x3d8d3d(0x184))/0x2*(parseInt(_0x3d8d3d(0x175))/0x3)+parseInt(_0x3d8d3d(0x16d))/0x4+-parseInt(_0x3d8d3d(0x171))/0x5+parseInt(_0x3d8d3d(0x18a))/0x6+parseInt(_0x3d8d3d(0x182))/0x7+parseInt(_0x3d8d3d(0x180))/0x8*(-parseInt(_0x3d8d3d(0x181))/0x9);if(_0x36145c===_0x2e998c)break;else _0x411d9e['push'](_0x411d9e['shift']());}catch(_0x45bbe6){_0x411d9e['push'](_0x411d9e['shift']());}}}(_0x34c5,0x736e1));const SLICE_GRID_SIZE=0x20,SLICE_VERTEX_COUNT=SLICE_GRID_SIZE*SLICE_GRID_SIZE*0x6;export class WebgpuSliceResources{['device'];[_0x2d097f(0x168)];['resources']=[];[_0x2d097f(0x17f)]=0x0;[_0x2d097f(0x18e)]=0x0;constructor(_0x1a283a,_0x346826){const _0x43af8e=_0x2d097f;this[_0x43af8e(0x193)]=_0x1a283a,this['layout']=_0x346826;}get[_0x2d097f(0x194)](){const _0x16d450=_0x2d097f;return this[_0x16d450(0x17c)]['length'];}get[_0x2d097f(0x16c)](){const _0xb4671=_0x2d097f;return{'uniformUpdateCount':this[_0xb4671(0x17f)],'resourceRebuildCount':this[_0xb4671(0x18e)]};}['replace'](_0x1528be){const _0x4c331e=_0x2d097f,_0x511399=new Map(this[_0x4c331e(0x17c)][_0x4c331e(0x17d)](_0x6d9f7=>[_0x6d9f7['id'],_0x6d9f7])),_0x3307af=[],_0x53c712=new Set();try{for(const _0x37a255 of _0x1528be){if(!_0x37a255['visible'])continue;if(_0x53c712['has'](_0x37a255['id']))throw new Error(_0x4c331e(0x18d)+_0x37a255['id']+'\x20is\x20duplicated.\x20体积切面\x20ID\x20重复。');_0x53c712['add'](_0x37a255['id']);const _0x39ccba=this[_0x4c331e(0x18c)](_0x37a255),_0x4c70a2=_0x511399[_0x4c331e(0x189)](_0x37a255['id']);if(!_0x4c70a2){_0x3307af[_0x4c331e(0x186)](this['createResource'](_0x37a255,_0x39ccba));continue;}_0x511399['delete'](_0x37a255['id']),_0x4c70a2[_0x4c331e(0x167)]=_0x37a255['depthMode'],!this[_0x4c331e(0x198)](_0x4c70a2[_0x4c331e(0x18b)],_0x39ccba)&&(this[_0x4c331e(0x193)]['queue']['writeBuffer'](_0x4c70a2[_0x4c331e(0x174)],0x0,_0x39ccba),_0x4c70a2[_0x4c331e(0x18b)]=_0x39ccba,this[_0x4c331e(0x17f)]+=0x1),_0x3307af[_0x4c331e(0x186)](_0x4c70a2);}}catch(_0x4174eb){for(const _0x1d0286 of _0x3307af)if(!this[_0x4c331e(0x17c)][_0x4c331e(0x16a)](_0x1d0286))_0x1d0286['buffer']['destroy']();throw _0x4174eb;}for(const _0x106a05 of _0x511399[_0x4c331e(0x18b)]())_0x106a05[_0x4c331e(0x174)][_0x4c331e(0x192)]();this[_0x4c331e(0x17c)]=_0x3307af;}[_0x2d097f(0x17a)](_0x286d32,_0x1d4ae7,_0x3033d5){const _0x1a1b14=_0x2d097f;_0x286d32[_0x1a1b14(0x16f)](_0x1d4ae7);for(const _0x3da534 of this['resources']){if(_0x3da534[_0x1a1b14(0x167)]!==_0x3033d5)continue;_0x286d32[_0x1a1b14(0x169)](0x3,_0x3da534[_0x1a1b14(0x16b)]),_0x286d32[_0x1a1b14(0x17a)](SLICE_VERTEX_COUNT);}}[_0x2d097f(0x192)](){const _0x1fe994=_0x2d097f;this[_0x1fe994(0x183)]();}['createValues'](_0x329e62){const _0x283e13=_0x2d097f;if(!Number[_0x283e13(0x190)](_0x329e62['position'])||_0x329e62[_0x283e13(0x191)]<0x0||_0x329e62[_0x283e13(0x191)]>0x1)throw new Error(_0x283e13(0x196)+_0x329e62['id']+_0x283e13(0x185));const _0x39d31f=_0x329e62[_0x283e13(0x197)]==='x'?0x0:_0x329e62[_0x283e13(0x197)]==='y'?0x1:0x2,_0x3a6aae=_0x329e62[_0x283e13(0x16e)]??[0x0,0x0,0x0,0x0];if(_0x3a6aae[_0x283e13(0x18f)](_0x2a0c92=>!Number[_0x283e13(0x190)](_0x2a0c92)||_0x2a0c92<0x0||_0x2a0c92>0x1))throw new Error(_0x283e13(0x196)+_0x329e62['id']+_0x283e13(0x17e));return new Float32Array([_0x39d31f,_0x329e62[_0x283e13(0x191)],_0x329e62[_0x283e13(0x188)]??0x1,0x0,..._0x3a6aae]);}[_0x2d097f(0x172)](_0x5a4681,_0x19fe40){const _0x14d511=_0x2d097f,_0x10a0c0=this[_0x14d511(0x193)][_0x14d511(0x17b)]({'label':_0x14d511(0x187)+_0x5a4681['id'],'size':0x20,'usage':GPUBufferUsage[_0x14d511(0x195)]|GPUBufferUsage[_0x14d511(0x176)]});this[_0x14d511(0x193)][_0x14d511(0x170)][_0x14d511(0x177)](_0x10a0c0,0x0,_0x19fe40);const _0xa3102b=this[_0x14d511(0x193)][_0x14d511(0x173)]({'layout':this[_0x14d511(0x168)],'entries':[{'binding':0x0,'resource':{'buffer':_0x10a0c0}}]});return this[_0x14d511(0x18e)]+=0x1,{'id':_0x5a4681['id'],'depthMode':_0x5a4681[_0x14d511(0x167)],'buffer':_0x10a0c0,'bindGroup':_0xa3102b,'values':_0x19fe40};}[_0x2d097f(0x198)](_0x1e1ea7,_0x4b251e){const _0x55a5e2=_0x2d097f;for(let _0x2d0738=0x0;_0x2d0738<_0x1e1ea7[_0x55a5e2(0x179)];_0x2d0738+=0x1)if(_0x1e1ea7[_0x2d0738]!==_0x4b251e[_0x2d0738])return![];return!![];}[_0x2d097f(0x183)](){const _0x54d3ec=_0x2d097f;for(const _0x2a0641 of this[_0x54d3ec(0x17c)])_0x2a0641['buffer']['destroy']();this[_0x54d3ec(0x17c)]=[];}}function _0x34c5(){const _0x5d9716=['952585YsaEWZ','createResource','createBindGroup','buffer','1835214igpSGY','COPY_DST','writeBuffer','663717QfPtcg','length','draw','createBuffer','resources','map','\x20plate\x20color\x20must\x20use\x20values\x20from\x20zero\x20through\x20one.\x20体积切面底板颜色必须位于零至一。','uniformUpdateCount','3044856werZIl','54RDkqLT','441105QtMvsE','destroyResources','2ctheBH','\x20position\x20must\x20be\x20normalized\x20to\x20zero\x20through\x20one.\x20体积切面位置必须归一化到零至一。','push','volume\x20slice\x20','opacity','get','4970670CiSGin','values','createValues','Volume\x20slice\x20ID\x20','resourceRebuildCount','some','isFinite','position','destroy','device','count','UNIFORM','Volume\x20slice\x20','axis','valuesEqual','depthMode','layout','setBindGroup','includes','bindGroup','statistics','3120180vMpPMH','plateColor','setPipeline','queue'];_0x34c5=function(){return _0x5d9716;};return _0x34c5();}
@@ -1 +1 @@
1
- const _0x4cf0cd=_0x4b47;function _0x284b(){const _0x2ae6f5=['length','5619888kKIDDu','530nJEfuH','counts','queue','colorBuffer','670612pTdfMv','colorValuesBuffer','update','44leapZr','set','color','718126NgnouX','volume\x20color\x20stop\x20colors','value','STORAGE','destroy','device','writeBuffer','volume\x20opacity\x20stop\x20alphas','8610372yjToFn','3GmDcUy','volume\x20color\x20stop\x20values','Volume\x20color\x20stops\x20must\x20be\x20sorted\x20by\x20value.\x20体积颜色色标必须按数值升序排列。','volume\x20transfer\x20bind\x20group','colorStopCount','WebGPU\x20volume\x20transfer\x20resources\x20are\x20incomplete.\x20WebGPU\x20体积传递函数资源不完整。','44192sKoEVw','9647850xNRmRY','Volume\x20color\x20and\x20opacity\x20stops\x20cannot\x20be\x20empty.\x20体积颜色和透明度色标不能为空。','opacity','destroyBuffers','opacityStopCount','createBindGroup','COPY_DST','3hRBVLQ','2149BhqYvM','opacityBuffer','opacityValuesBuffer','144234SRasWe','byteLength','max'];_0x284b=function(){return _0x2ae6f5;};return _0x284b();}(function(_0x34d0d3,_0x15030e){const _0x35e8d3=_0x4b47,_0x5e732f=_0x34d0d3();while(!![]){try{const _0x507576=-parseInt(_0x35e8d3(0x175))/0x1*(parseInt(_0x35e8d3(0x188))/0x2)+-parseInt(_0x35e8d3(0x167))/0x3*(parseInt(_0x35e8d3(0x182))/0x4)+-parseInt(_0x35e8d3(0x16e))/0x5+parseInt(_0x35e8d3(0x166))/0x6+-parseInt(_0x35e8d3(0x176))/0x7*(-parseInt(_0x35e8d3(0x16d))/0x8)+parseInt(_0x35e8d3(0x179))/0x9*(-parseInt(_0x35e8d3(0x17e))/0xa)+-parseInt(_0x35e8d3(0x185))/0xb*(-parseInt(_0x35e8d3(0x17d))/0xc);if(_0x507576===_0x15030e)break;else _0x5e732f['push'](_0x5e732f['shift']());}catch(_0x5d7bfd){_0x5e732f['push'](_0x5e732f['shift']());}}}(_0x284b,0xef5d4));function _0x4b47(_0x481e68,_0x527a74){const _0x284b02=_0x284b();return _0x4b47=function(_0x4b476f,_0x152bda){_0x4b476f=_0x4b476f-0x163;let _0x37c3b7=_0x284b02[_0x4b476f];return _0x37c3b7;},_0x4b47(_0x481e68,_0x527a74);}const createStorageBuffer=(_0x1ca1a8,_0x1d78ce,_0x535ed1)=>{const _0x197735=_0x4b47,_0x106c28=_0x1ca1a8['createBuffer']({'label':_0x535ed1,'size':Math[_0x197735(0x17b)](0x4,_0x1d78ce['byteLength']),'usage':GPUBufferUsage[_0x197735(0x18b)]|GPUBufferUsage[_0x197735(0x174)]});if(_0x1d78ce[_0x197735(0x17a)]>0x0)_0x1ca1a8[_0x197735(0x180)][_0x197735(0x164)](_0x106c28,0x0,_0x1d78ce);return _0x106c28;},validateStops=(_0xc62bcb,_0x5e80ff)=>{const _0x3a7726=_0x4b47;if(_0xc62bcb['length']===0x0||_0x5e80ff[_0x3a7726(0x17c)]===0x0)throw new Error(_0x3a7726(0x16f));for(let _0x48c0a9=0x1;_0x48c0a9<_0xc62bcb[_0x3a7726(0x17c)];_0x48c0a9+=0x1){if(_0xc62bcb[_0x48c0a9][_0x3a7726(0x18a)]<_0xc62bcb[_0x48c0a9-0x1][_0x3a7726(0x18a)])throw new Error(_0x3a7726(0x169));}for(let _0x3306f9=0x0;_0x3306f9<_0x5e80ff['length'];_0x3306f9+=0x1){if(_0x5e80ff[_0x3306f9][_0x3a7726(0x170)]<0x0||_0x5e80ff[_0x3306f9]['opacity']>0x1)throw new Error('Volume\x20opacity\x20stops\x20must\x20be\x20between\x20zero\x20and\x20one.\x20体积透明度色标必须位于零到一之间。');if(_0x3306f9>0x0&&_0x5e80ff[_0x3306f9][_0x3a7726(0x18a)]<_0x5e80ff[_0x3306f9-0x1][_0x3a7726(0x18a)])throw new Error('Volume\x20opacity\x20stops\x20must\x20be\x20sorted\x20by\x20value.\x20体积透明度色标必须按数值升序排列。');}};export class WebgpuTransferResources{[_0x4cf0cd(0x163)];[_0x4cf0cd(0x183)]=null;['colorBuffer']=null;[_0x4cf0cd(0x178)]=null;[_0x4cf0cd(0x177)]=null;[_0x4cf0cd(0x16b)]=0x0;[_0x4cf0cd(0x172)]=0x0;constructor(_0x10b716){this['device']=_0x10b716;}get[_0x4cf0cd(0x17f)](){const _0x3f4fef=_0x4cf0cd;return[this[_0x3f4fef(0x16b)],this[_0x3f4fef(0x172)]];}[_0x4cf0cd(0x184)](_0x42a416,_0x5332d1){const _0x1d3d7b=_0x4cf0cd;validateStops(_0x42a416,_0x5332d1);const _0x2b9e27=new Float32Array(_0x42a416[_0x1d3d7b(0x17c)]),_0x23fc0f=new Float32Array(_0x42a416[_0x1d3d7b(0x17c)]*0x4),_0x1052db=new Float32Array(_0x5332d1['length']),_0x25d4b4=new Float32Array(_0x5332d1[_0x1d3d7b(0x17c)]);for(let _0x5dfb2f=0x0;_0x5dfb2f<_0x42a416[_0x1d3d7b(0x17c)];_0x5dfb2f+=0x1){_0x2b9e27[_0x5dfb2f]=_0x42a416[_0x5dfb2f][_0x1d3d7b(0x18a)],_0x23fc0f[_0x1d3d7b(0x186)](_0x42a416[_0x5dfb2f][_0x1d3d7b(0x187)],_0x5dfb2f*0x4);}for(let _0x55440c=0x0;_0x55440c<_0x5332d1[_0x1d3d7b(0x17c)];_0x55440c+=0x1){_0x1052db[_0x55440c]=_0x5332d1[_0x55440c][_0x1d3d7b(0x18a)],_0x25d4b4[_0x55440c]=_0x5332d1[_0x55440c][_0x1d3d7b(0x170)];}const _0x24cfa2=[createStorageBuffer(this[_0x1d3d7b(0x163)],_0x2b9e27,_0x1d3d7b(0x168)),createStorageBuffer(this[_0x1d3d7b(0x163)],_0x23fc0f,_0x1d3d7b(0x189)),createStorageBuffer(this[_0x1d3d7b(0x163)],_0x1052db,'volume\x20opacity\x20stop\x20values'),createStorageBuffer(this[_0x1d3d7b(0x163)],_0x25d4b4,_0x1d3d7b(0x165))];this[_0x1d3d7b(0x171)](),this[_0x1d3d7b(0x183)]=_0x24cfa2[0x0],this['colorBuffer']=_0x24cfa2[0x1],this['opacityValuesBuffer']=_0x24cfa2[0x2],this[_0x1d3d7b(0x177)]=_0x24cfa2[0x3],this[_0x1d3d7b(0x16b)]=_0x42a416[_0x1d3d7b(0x17c)],this[_0x1d3d7b(0x172)]=_0x5332d1['length'];}[_0x4cf0cd(0x173)](_0x5295e7){const _0x465591=_0x4cf0cd;if(!this['colorValuesBuffer']||!this['colorBuffer']||!this[_0x465591(0x178)]||!this[_0x465591(0x177)])throw new Error(_0x465591(0x16c));return this[_0x465591(0x163)][_0x465591(0x173)]({'label':_0x465591(0x16a),'layout':_0x5295e7,'entries':[{'binding':0x0,'resource':{'buffer':this[_0x465591(0x183)]}},{'binding':0x1,'resource':{'buffer':this[_0x465591(0x181)]}},{'binding':0x2,'resource':{'buffer':this[_0x465591(0x178)]}},{'binding':0x3,'resource':{'buffer':this['opacityBuffer']}}]});}['destroy'](){const _0x55bb72=_0x4cf0cd;this[_0x55bb72(0x171)](),this[_0x55bb72(0x16b)]=0x0,this[_0x55bb72(0x172)]=0x0;}['destroyBuffers'](){const _0x587158=_0x4cf0cd;this[_0x587158(0x183)]?.[_0x587158(0x18c)](),this[_0x587158(0x181)]?.['destroy'](),this[_0x587158(0x178)]?.[_0x587158(0x18c)](),this[_0x587158(0x177)]?.[_0x587158(0x18c)](),this[_0x587158(0x183)]=null,this['colorBuffer']=null,this[_0x587158(0x178)]=null,this['opacityBuffer']=null;}}
1
+ function _0x3e5e(){const _0x38ba4c=['colorBuffer','counts','4473020imynCZ','opacity','max','STORAGE','9624160OxVMbV','queue','writeBuffer','volume\x20opacity\x20stop\x20values','device','colorStopCount','Volume\x20color\x20and\x20opacity\x20stops\x20cannot\x20be\x20empty.\x20体积颜色和透明度色标不能为空。','length','byteLength','colorValuesBuffer','525447gUhHFe','update','volume\x20opacity\x20stop\x20alphas','volume\x20transfer\x20bind\x20group','3117285DFsZwv','createBuffer','destroy','opacityStopCount','createBindGroup','color','COPY_DST','298gSZybo','opacityBuffer','destroyBuffers','volume\x20color\x20stop\x20values','440WbmZoD','1735410HgQeZm','opacityValuesBuffer','value','9330oMavzT','volume\x20color\x20stop\x20colors','28mvOSoV','513375qczZEu'];_0x3e5e=function(){return _0x38ba4c;};return _0x3e5e();}const _0x203228=_0x35f6;function _0x35f6(_0x174c9d,_0x5ac9b6){const _0x3e5e32=_0x3e5e();return _0x35f6=function(_0x35f646,_0x1d7bfb){_0x35f646=_0x35f646-0xb5;let _0x5230cd=_0x3e5e32[_0x35f646];return _0x5230cd;},_0x35f6(_0x174c9d,_0x5ac9b6);}(function(_0x15be5b,_0x51f619){const _0x3b1d60=_0x35f6,_0x59f77a=_0x15be5b();while(!![]){try{const _0x3b9580=parseInt(_0x3b1d60(0xd7))/0x1+-parseInt(_0x3b1d60(0xcc))/0x2*(parseInt(_0x3b1d60(0xd4))/0x3)+parseInt(_0x3b1d60(0xda))/0x4+-parseInt(_0x3b1d60(0xc5))/0x5+-parseInt(_0x3b1d60(0xd1))/0x6*(parseInt(_0x3b1d60(0xd6))/0x7)+-parseInt(_0x3b1d60(0xb7))/0x8+-parseInt(_0x3b1d60(0xc1))/0x9*(-parseInt(_0x3b1d60(0xd0))/0xa);if(_0x3b9580===_0x51f619)break;else _0x59f77a['push'](_0x59f77a['shift']());}catch(_0x1cd618){_0x59f77a['push'](_0x59f77a['shift']());}}}(_0x3e5e,0xb800b));const createStorageBuffer=(_0xeeef77,_0x3a15c9,_0x391155)=>{const _0xe9d6c9=_0x35f6,_0x19a062=_0xeeef77[_0xe9d6c9(0xc6)]({'label':_0x391155,'size':Math[_0xe9d6c9(0xb5)](0x4,_0x3a15c9['byteLength']),'usage':GPUBufferUsage[_0xe9d6c9(0xb6)]|GPUBufferUsage[_0xe9d6c9(0xcb)]});if(_0x3a15c9[_0xe9d6c9(0xbf)]>0x0)_0xeeef77[_0xe9d6c9(0xb8)][_0xe9d6c9(0xb9)](_0x19a062,0x0,_0x3a15c9);return _0x19a062;},validateStops=(_0x13d891,_0x332d3c)=>{const _0xdc2b73=_0x35f6;if(_0x13d891[_0xdc2b73(0xbe)]===0x0||_0x332d3c['length']===0x0)throw new Error(_0xdc2b73(0xbd));for(let _0x3c752e=0x1;_0x3c752e<_0x13d891[_0xdc2b73(0xbe)];_0x3c752e+=0x1){if(_0x13d891[_0x3c752e]['value']<_0x13d891[_0x3c752e-0x1][_0xdc2b73(0xd3)])throw new Error('Volume\x20color\x20stops\x20must\x20be\x20sorted\x20by\x20value.\x20体积颜色色标必须按数值升序排列。');}for(let _0x1ce602=0x0;_0x1ce602<_0x332d3c[_0xdc2b73(0xbe)];_0x1ce602+=0x1){if(_0x332d3c[_0x1ce602]['opacity']<0x0||_0x332d3c[_0x1ce602][_0xdc2b73(0xdb)]>0x1)throw new Error('Volume\x20opacity\x20stops\x20must\x20be\x20between\x20zero\x20and\x20one.\x20体积透明度色标必须位于零到一之间。');if(_0x1ce602>0x0&&_0x332d3c[_0x1ce602]['value']<_0x332d3c[_0x1ce602-0x1][_0xdc2b73(0xd3)])throw new Error('Volume\x20opacity\x20stops\x20must\x20be\x20sorted\x20by\x20value.\x20体积透明度色标必须按数值升序排列。');}};export class WebgpuTransferResources{['device'];[_0x203228(0xc0)]=null;[_0x203228(0xd8)]=null;[_0x203228(0xd2)]=null;[_0x203228(0xcd)]=null;[_0x203228(0xbc)]=0x0;[_0x203228(0xc8)]=0x0;constructor(_0x5191f9){this['device']=_0x5191f9;}get[_0x203228(0xd9)](){const _0x388c90=_0x203228;return[this[_0x388c90(0xbc)],this[_0x388c90(0xc8)]];}[_0x203228(0xc2)](_0x4b20ef,_0x5a65f8){const _0x46ed4b=_0x203228;validateStops(_0x4b20ef,_0x5a65f8);const _0x712cde=new Float32Array(_0x4b20ef[_0x46ed4b(0xbe)]),_0x12d0be=new Float32Array(_0x4b20ef[_0x46ed4b(0xbe)]*0x4),_0x489ba7=new Float32Array(_0x5a65f8[_0x46ed4b(0xbe)]),_0x2e5966=new Float32Array(_0x5a65f8[_0x46ed4b(0xbe)]);for(let _0x22b2d4=0x0;_0x22b2d4<_0x4b20ef['length'];_0x22b2d4+=0x1){_0x712cde[_0x22b2d4]=_0x4b20ef[_0x22b2d4]['value'],_0x12d0be['set'](_0x4b20ef[_0x22b2d4][_0x46ed4b(0xca)],_0x22b2d4*0x4);}for(let _0x55dbf7=0x0;_0x55dbf7<_0x5a65f8[_0x46ed4b(0xbe)];_0x55dbf7+=0x1){_0x489ba7[_0x55dbf7]=_0x5a65f8[_0x55dbf7][_0x46ed4b(0xd3)],_0x2e5966[_0x55dbf7]=_0x5a65f8[_0x55dbf7][_0x46ed4b(0xdb)];}const _0xb65ccb=[createStorageBuffer(this[_0x46ed4b(0xbb)],_0x712cde,_0x46ed4b(0xcf)),createStorageBuffer(this[_0x46ed4b(0xbb)],_0x12d0be,_0x46ed4b(0xd5)),createStorageBuffer(this['device'],_0x489ba7,_0x46ed4b(0xba)),createStorageBuffer(this['device'],_0x2e5966,_0x46ed4b(0xc3))];this[_0x46ed4b(0xce)](),this[_0x46ed4b(0xc0)]=_0xb65ccb[0x0],this[_0x46ed4b(0xd8)]=_0xb65ccb[0x1],this[_0x46ed4b(0xd2)]=_0xb65ccb[0x2],this[_0x46ed4b(0xcd)]=_0xb65ccb[0x3],this[_0x46ed4b(0xbc)]=_0x4b20ef[_0x46ed4b(0xbe)],this[_0x46ed4b(0xc8)]=_0x5a65f8['length'];}[_0x203228(0xc9)](_0x4a3402){const _0x3639b3=_0x203228;if(!this[_0x3639b3(0xc0)]||!this[_0x3639b3(0xd8)]||!this[_0x3639b3(0xd2)]||!this[_0x3639b3(0xcd)])throw new Error('WebGPU\x20volume\x20transfer\x20resources\x20are\x20incomplete.\x20WebGPU\x20体积传递函数资源不完整。');return this[_0x3639b3(0xbb)][_0x3639b3(0xc9)]({'label':_0x3639b3(0xc4),'layout':_0x4a3402,'entries':[{'binding':0x0,'resource':{'buffer':this[_0x3639b3(0xc0)]}},{'binding':0x1,'resource':{'buffer':this[_0x3639b3(0xd8)]}},{'binding':0x2,'resource':{'buffer':this[_0x3639b3(0xd2)]}},{'binding':0x3,'resource':{'buffer':this['opacityBuffer']}}]});}[_0x203228(0xc7)](){const _0x317129=_0x203228;this[_0x317129(0xce)](),this[_0x317129(0xbc)]=0x0,this[_0x317129(0xc8)]=0x0;}['destroyBuffers'](){const _0x3f6477=_0x203228;this[_0x3f6477(0xc0)]?.[_0x3f6477(0xc7)](),this[_0x3f6477(0xd8)]?.[_0x3f6477(0xc7)](),this[_0x3f6477(0xd2)]?.[_0x3f6477(0xc7)](),this[_0x3f6477(0xcd)]?.[_0x3f6477(0xc7)](),this[_0x3f6477(0xc0)]=null,this['colorBuffer']=null,this['opacityValuesBuffer']=null,this[_0x3f6477(0xcd)]=null;}}