m4-w-fast 1.2.1 → 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.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/intersect.worker.js +2 -2
- package/dist/isoBands.worker.js +1 -1
- package/dist/m4-w-fast.umd.js +1 -1
- package/dist/raster-leaflet/index.cjs +2 -2
- package/dist/raster-leaflet/index.js +1 -1
- package/dist/raster-leaflet/index.mjs +2 -2
- package/dist/raster-leaflet/m4-w-raster-leaflet.umd.js +2 -2
- package/dist/raster-mars3d/cesiumRasterPlaneRenderer.js +1 -1
- package/dist/raster-mars3d/cesiumRasterTextureAdapter.js +1 -1
- package/dist/raster-mars3d/index.cjs +2 -2
- package/dist/raster-mars3d/index.js +1 -1
- package/dist/raster-mars3d/index.mjs +2 -2
- package/dist/raster-mars3d/m4-w-raster-mars3d.umd.js +2 -2
- package/dist/raster-mars3d/mars3dRasterImageryProvider.js +1 -1
- package/dist/raster-mars3d/mars3dRasterPlaneLayer.js +1 -1
- package/dist/raster-mars3d/rasterPlaneGeometry.js +1 -1
- package/dist/raster-mars3d/rasterPlaneGridChunks.js +1 -1
- package/dist/raster-mars3d/rasterPlaneMaterial.js +1 -1
- package/dist/raster-overlay/color.js +1 -1
- package/dist/raster-overlay/core.js +1 -1
- package/dist/raster-overlay/index.cjs +2 -2
- package/dist/raster-overlay/index.js +1 -1
- package/dist/raster-overlay/index.mjs +2 -2
- package/dist/raster-overlay/leaflet-renderers/createRenderer.js +1 -1
- package/dist/raster-overlay/leafletLayer.js +1 -1
- package/dist/raster-overlay/m4-w-raster-overlay.umd.js +2 -2
- package/dist/raster-overlay/query.js +1 -1
- package/dist/raster-overlay/rendering/createRasterRenderer.js +1 -1
- package/dist/raster-overlay/rendering/index.js +1 -1
- package/dist/raster-overlay/rendering/rasterRenderState.js +1 -1
- package/dist/raster-overlay/rendering/webgl2RasterRenderer.js +1 -1
- package/dist/raster-overlay/rendering/webgpuRasterRenderer.js +1 -1
- package/dist/raster-rendering/index.cjs +2 -2
- package/dist/raster-rendering/index.js +1 -1
- package/dist/raster-rendering/index.mjs +2 -2
- package/dist/raster-rendering/m4-w-raster-rendering.umd.js +2 -2
- package/dist/raster-rendering/webgpuRasterTileRenderer.js +1 -1
- package/dist/readFile.js +1 -1
- package/dist/rendering/index.js +1 -1
- package/dist/rendering/webgl2/baseWebgl2Renderer.js +1 -1
- package/dist/rendering/webgl2/index.js +1 -1
- package/dist/rendering/webgl2/webgl2CoverageResources.js +1 -1
- package/dist/rendering/webgl2/webgl2VisualizationResources.js +1 -1
- package/dist/rendering/webgpu/baseWebgpuRenderer.js +1 -1
- package/dist/rendering/webgpu/index.js +1 -1
- package/dist/rendering/webgpu/visualizationParams.js +1 -1
- package/dist/rendering/webgpu/visualizationResources.js +1 -1
- package/dist/rendering/webgpu/webgpuCoverageResources.js +1 -1
- package/dist/road-overlay/coordinateTransform.js +1 -1
- package/dist/road-overlay/index.cjs +2 -2
- package/dist/road-overlay/index.js +1 -1
- package/dist/road-overlay/index.mjs +2 -2
- package/dist/road-overlay/leaflet-renderers/createRenderer.js +1 -1
- package/dist/road-overlay/leafletLayer.js +1 -1
- package/dist/road-overlay/m4-w-road-overlay.umd.js +2 -2
- package/dist/road-overlay/options.js +1 -1
- package/dist/road-overlay/rendering/index.js +1 -1
- package/dist/road-overlay/rendering/roadRenderState.js +1 -1
- package/dist/road-overlay/rendering/webgl2RoadRenderer.js +1 -1
- package/dist/road-overlay/rendering/webgpuRoadRenderer.js +1 -1
- package/dist/road-overlay/roadData.js +1 -1
- package/dist/road-overlay/roadGeometry.js +1 -1
- package/dist/road-overlay/roadMesh.js +1 -1
- package/dist/shared/coordinate-shader/webgl2/index.js +1 -1
- package/dist/shared/coordinate-shader/webgpu/index.js +1 -1
- package/dist/shared/map/index.js +1 -1
- package/dist/shared/map/leaflet.js +1 -1
- package/dist/shared/polygon/contains.js +1 -1
- package/dist/shared/polygon/index.js +1 -1
- package/dist/shared/polygon/polygonMesh.js +1 -1
- package/dist/shared/shader/assemble.js +1 -1
- package/dist/shared/visualization/index.js +1 -1
- package/dist/shared/visualization/shader/webgl2/index.js +1 -1
- package/dist/shared/visualization/shader/webgpu/index.js +1 -1
- package/dist/shared/visualization/utils.js +1 -1
- package/dist/volume-data/index.cjs +1 -0
- package/dist/volume-data/index.d.ts +5 -0
- package/dist/volume-data/index.js +1 -0
- package/dist/volume-data/index.mjs +1 -0
- package/dist/volume-data/input.d.ts +2 -0
- package/dist/volume-data/input.js +1 -0
- package/dist/volume-data/loadVolumeSource.d.ts +2 -0
- package/dist/volume-data/loadVolumeSource.js +1 -0
- package/dist/volume-data/m4-w-volume-data.umd.js +1 -0
- package/dist/volume-data/parserRegistry.d.ts +5 -0
- package/dist/volume-data/parserRegistry.js +1 -0
- package/dist/volume-data/radarGridVolumeMetadata.d.ts +2 -0
- package/dist/volume-data/radarGridVolumeMetadata.js +1 -0
- package/dist/volume-data/radarGridVolumeParser.d.ts +2 -0
- package/dist/volume-data/radarGridVolumeParser.js +1 -0
- package/dist/volume-data/radarGridVolumeSource.d.ts +3 -0
- package/dist/volume-data/radarGridVolumeSource.js +1 -0
- package/dist/volume-data/volumeDataError.d.ts +5 -0
- package/dist/volume-data/volumeDataError.js +1 -0
- package/dist/volume-data/volumeDataTypes.d.ts +54 -0
- package/dist/volume-data/volumeDataTypes.js +1 -0
- package/dist/volume-data/zipArchive.d.ts +6 -0
- package/dist/volume-data/zipArchive.js +1 -0
- package/dist/volume-mars3d/createMars3dVolumeScene.js +1 -1
- package/dist/volume-mars3d/index.cjs +1 -1
- package/dist/volume-mars3d/index.js +1 -1
- package/dist/volume-mars3d/index.mjs +1 -1
- package/dist/volume-mars3d/m4-w-volume-mars3d.umd.js +1 -1
- package/dist/volume-mars3d/mars3dCanvasCompensation.js +1 -1
- package/dist/volume-mars3d/mars3dRaymarchShader.js +1 -1
- package/dist/volume-mars3d/mars3dVolumeLayer.js +1 -1
- package/dist/volume-mars3d/mars3dVolumeRenderer.js +1 -1
- package/dist/volume-mars3d-native/index.cjs +1 -1
- package/dist/volume-mars3d-native/index.js +1 -1
- package/dist/volume-mars3d-native/index.mjs +1 -1
- package/dist/volume-mars3d-native/liveUpdateScheduler.js +1 -1
- package/dist/volume-mars3d-native/m4-w-volume-mars3d-native.umd.js +1 -1
- package/dist/volume-mars3d-native/mars3dNativeSliceLayer.js +1 -1
- package/dist/volume-mars3d-native/mars3dNativeSliceRenderer.js +1 -1
- package/dist/volume-mars3d-native/mars3dNativeVolumeLayer.js +1 -1
- package/dist/volume-mars3d-native/mars3dNativeVolumeRenderer.js +1 -1
- package/dist/volume-mars3d-native/nativeAxisSliceRenderer.js +1 -1
- package/dist/volume-mars3d-native/nativeSliceAtlas.js +1 -1
- package/dist/volume-mars3d-native/nativeVoxelProvider.js +1 -1
- package/dist/volume-mars3d-native/nativeVoxelShader.js +1 -1
- package/dist/volume-mars3d-native/voxelData.js +1 -1
- package/dist/volume-scene/brickLayout.js +1 -1
- package/dist/volume-scene/brickResidency.js +1 -1
- package/dist/volume-scene/camera.js +1 -1
- package/dist/volume-scene/createVolumeScene.js +1 -1
- package/dist/volume-scene/geographicVolume.js +1 -1
- package/dist/volume-scene/inMemoryVolumeSource.js +1 -1
- package/dist/volume-scene/index.cjs +1 -1
- package/dist/volume-scene/index.js +1 -1
- package/dist/volume-scene/index.mjs +1 -1
- package/dist/volume-scene/m4-w-volume-scene.umd.js +1 -1
- package/dist/volume-scene/matrix.js +1 -1
- package/dist/volume-scene/rendering/webgpu/index.js +1 -1
- package/dist/volume-scene/rendering/webgpu/webgpuBrickAtlas.js +1 -1
- package/dist/volume-scene/rendering/webgpu/webgpuSceneAttachments.js +1 -1
- package/dist/volume-scene/rendering/webgpu/webgpuSceneMeshResources.js +1 -1
- package/dist/volume-scene/rendering/webgpu/webgpuSliceResources.js +1 -1
- package/dist/volume-scene/rendering/webgpu/webgpuTransferResources.js +1 -1
- package/dist/volume-scene/rendering/webgpu/webgpuVolumeSceneRenderer.js +1 -1
- package/dist/volume-scene/routeProfileMesh.js +1 -1
- package/dist/volume-scene/sliceInteractionController.js +1 -1
- package/dist/volume-scene/sliceMarkerOverlay.js +1 -1
- package/dist/volume-scene/sliceState.js +1 -1
- package/dist/volume-scene/volumeBrickData.js +1 -1
- package/dist/volume-scene/volumeScene.js +1 -1
- package/dist/volume-scene/volumeTransfer.js +1 -1
- package/dist/volume-scene/volumeValidation.js +1 -1
- package/dist/volume-section/createHorizontalRasterGrid.d.ts +3 -0
- package/dist/volume-section/createHorizontalRasterGrid.js +1 -0
- package/dist/volume-section/createVolumeSection.d.ts +3 -0
- package/dist/volume-section/createVolumeSection.js +1 -0
- package/dist/volume-section/createVolumeSectionRasterGrid.d.ts +3 -0
- package/dist/volume-section/createVolumeSectionRasterGrid.js +1 -0
- package/dist/volume-section/createVolumeSectionRouteProfile.d.ts +3 -0
- package/dist/volume-section/createVolumeSectionRouteProfile.js +1 -0
- package/dist/volume-section/geographic.d.ts +3 -0
- package/dist/volume-section/geographic.js +1 -0
- package/dist/volume-section/gridLayerStatistics.d.ts +9 -0
- package/dist/volume-section/gridLayerStatistics.js +1 -0
- package/dist/volume-section/index.cjs +1 -0
- package/dist/volume-section/index.d.ts +8 -0
- package/dist/volume-section/index.js +1 -0
- package/dist/volume-section/index.mjs +1 -0
- package/dist/volume-section/m4-w-volume-section.umd.js +1 -0
- package/dist/volume-section/routeSampling.d.ts +9 -0
- package/dist/volume-section/routeSampling.js +1 -0
- package/dist/volume-section/volumeSectionTypes.d.ts +39 -0
- package/dist/volume-section/volumeSectionTypes.js +1 -0
- package/package.json +14 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x299ab4=_0xef77;(function(_0x4d0b1c,_0x5df7e4){const _0x1f1e31=_0xef77,_0x2b1087=_0x4d0b1c();while(!![]){try{const _0x53f967=parseInt(_0x1f1e31(0x213))/0x1+parseInt(_0x1f1e31(0x1de))/0x2+parseInt(_0x1f1e31(0x21b))/0x3+-parseInt(_0x1f1e31(0x288))/0x4+-parseInt(_0x1f1e31(0x24c))/0x5*(-parseInt(_0x1f1e31(0x19a))/0x6)+parseInt(_0x1f1e31(0x25e))/0x7*(-parseInt(_0x1f1e31(0x248))/0x8)+-parseInt(_0x1f1e31(0x18b))/0x9;if(_0x53f967===_0x5df7e4)break;else _0x2b1087['push'](_0x2b1087['shift']());}catch(_0x270b08){_0x2b1087['push'](_0x2b1087['shift']());}}}(_0xd575,0x4aff5));import _0x402493 from'./shader/volumeRaymarch.wgsl?raw';import _0x5184fa from'./shader/sceneMesh.wgsl?raw';import _0x5066f3 from'./shader/volumeSlice.wgsl?raw';import{MAX_ATLAS_TEXTURE_COUNT,WebgpuBrickAtlas}from'./webgpuBrickAtlas';import{WebgpuSceneAttachments}from'./webgpuSceneAttachments';import{WebgpuSceneMeshResources}from'./webgpuSceneMeshResources';import{WebgpuSliceResources}from'./webgpuSliceResources';import{WebgpuTransferResources}from'./webgpuTransferResources';function _0xd575(){const _0x58962d=['overlayLinePipeline','count','clipMinimum','queue','context','volume\x20raymarch\x20pass','error','popErrorScope','canvas','volume\x20raymarch\x20shader','pushErrorScope','line-list','adapter','UNIFORM','replace','createRenderPipeline','setBindGroup','cachedAxes','AbortError','floor','buffer','encodePreparedBrickUpload','zAxis','143978JVADza','store','validation','draw','WebGPU\x20volume\x20scene\x20dimensions\x20must\x20be\x20positive\x20integers.\x20WebGPU\x20体积场景尺寸必须是正整数。','subarray','getContext','reject','read-only-storage','logicalBrickCount','upload','atlasCapacity','volumeBindGroup','\x20必须包含十六个有限数值。','getSceneParamsBuffer','WebGPU\x20scene\x20params\x20buffer\x20is\x20unavailable.\x20WebGPU\x20场景参数\x20Buffer\x20不可用。','getVolumeBindGroupLayout','createPipelineLayout','next','rejectPendingBrickUploads','format','volumeParamsBuffer','length','sceneBindGroupLayout','uniform','getTransferBindGroupLayout','touch','setPipeline','requestAdapter','getAtlas','idle','getUploadStagingBuffer','volumePipeline','message','setAxes','MAP_READ','createView','WebGPU\x20volume\x20frame\x20capture\x20failed:\x20','delete','cachedBricks','attachments','setTransfer','memoryLimitBytes','createShaderModule','max','values','WebGPU\x20volume\x20resources\x20were\x20released.\x20WebGPU\x20体积资源已释放。','getFormat','gpu','writeVolumeParams','.\x20WebGPU\x20体积设备已丢失。','slotCountY','bufferOffset','176308qlIgeK','cachedSlices','camera','composite','semiMinorAxisScaled','densityScale','unfilterable-float','setSource','1246434jueDsQ','byteLength','always-visible','createBindGroup','premultiplied','then','overlayTrianglePipeline','depth','mapAsync','cameraPosition','sceneTrianglePipeline','state','getSliceBindGroupLayout','lost','cachedProfiles','WebGPU\x20volume\x20format\x20is\x20not\x20initialized.\x20WebGPU\x20体积格式尚未初始化。','setFrameAvailableCallback','volume\x20scene\x20bind\x20group','skippedCells','map','\x20必须是正有限数值。','halo','getAxisResources','RENDER_ATTACHMENT','resourceRebuildCount','options','brickHeight','isFinite','clientHeight','prepared','recreateSceneBindGroup','Volume\x20brick\x20upload\x20became\x20stale.\x20体积砖上传已过期。','FRAGMENT','sceneLinePipeline','scene','longitudeRadians','isInteger','frameInFlight','READ','getSceneBindGroupLayout','createBuffer','viewProjection','getVolumeParamsBuffer','yAxis','gpuBytes','384hZDLVk','volumeBindGroupLayout','uploadedBrickCount','geographicTransform','40YZznlB','volume\x20frame\x20readback','sceneSlicePipeline','opacity','frameIndex','volume\x20geometry\x20bind\x20group','xAxis','updateTransferResources','touchBricks','atlas','sceneDepthView','getSliceResources','WebGPU\x20volume\x20context\x20is\x20not\x20initialized.\x20WebGPU\x20体积\x20context\x20尚未初始化。','colorMode','BYTES_PER_ELEMENT','centerEcefScaled','uploadStagingBufferSize','overlaySlicePipeline','7266unDvCA','submit','scheduleUploadPump','triangle-list','initializationGeneration','inverseModelMatrix','uploadPump','setSlices','volume\x20scene\x20bind\x20group\x20layout','smooth','WebGPU\x20volume\x20device\x20was\x20lost:\x20','setCamera','WebGPU\x20slice\x20resources\x20are\x20unavailable.\x20WebGPU\x20切面资源不可用。','volume\x20always\x20visible\x20pass','\x20must\x20be\x20a\x20non-negative\x20finite\x20value.\x20','inverseViewProjection','noData','getMappedRange','createCommandEncoder','getCanvas','brickDepth','profileResources','step','cacheOnSuccess','ceil','processBrickUploads','uploadGeneration','encodeOverlayPass','releaseGpuResources','width','transferBindGroup','slotCount','watchDeviceLost','webgpu','WebGPU\x20axis\x20resources\x20are\x20unavailable.\x20WebGPU\x20轴线资源不可用。','finally','clipMaximum','geometryBindGroup','transferResources','Failed\x20to\x20create\x20WebGPU\x20volume\x20pipelines:\x20','frameAvailableCallback','metadata','375116GcFuDP','COPY_DST','atlasLayout','memoryTargetBytes','WRITE','logicalIndex','geometryBindGroupLayout','getCurrentTexture','prepareBrickUpload','transferBindGroupLayout','colorStops','pendingBrickUploads','Failed\x20to\x20create\x20a\x20WebGPU\x20canvas\x20context\x20for\x20the\x20volume\x20scene.\x20无法为体积场景创建\x20WebGPU\x20Canvas\x20上下文。','.\x20创建\x20WebGPU\x20体积管线失败。','modelMatrix','onSubmittedWorkDone','stepLength','lastFrameTimeMilliseconds','volume\x20scene\x20frame','setProfiles','writeBuffer','volume\x20brick\x20upload\x20batch\x20flush','lifecycleState','skippedSamples','memoryHardLimitBytes','drawSlices','WebGPU\x20volume\x20renderer\x20is\x20not\x20ready\x20for\x20frame\x20capture.\x20WebGPU\x20体积渲染器尚不能读取帧。','volume\x20scene\x20mesh\x20shader','load','volumeDimFactor','byteOffset','uploadStagingBuffer','VERTEX','configureSourceResources','writeParams','volume\x20scene\x20params','render','WebGPU\x20volume\x20params\x20buffer\x20is\x20unavailable.\x20WebGPU\x20体积参数\x20Buffer\x20不可用。','catch','add','axisResources','depth32float','heightScaled','\x20必须是非负有限数值。','device','entries','finish','now','renderMode','WebGPU\x20transfer\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20传递函数绑定布局不可用。','semiMajorAxisScaled','generation','all','WebGPU\x20volume\x20canvas\x20is\x20not\x20initialized.\x20WebGPU\x20体积\x20Canvas\x20尚未初始化。','statistics','less','update','sliceResources','volume\x20metadata\x20params','from','get','float32x3','2879559ERNWDl','WebGPU\x20profile\x20resources\x20are\x20unavailable.\x20WebGPU\x20剖面资源不可用。','resize','getProfileResources','set','destroyed','drawMeshes','enqueueBrickUpload','high-performance','latitudeRadians','fragmentMain','one','powerPreference','value','Volume\x20brick\x20upload\x20was\x20superseded\x20by\x20a\x20new\x20source.\x20体积砖上传已被新数据源替代。','80226KepPLc','maximumUploadBatchBytes','ready','captureFrame','uploadBatchCount','getAttachments','unconfigure','createGpuResources','sceneBindGroup','sceneParamsBuffer','uploadBrick','WebGPU\x20transfer\x20resources\x20are\x20unavailable.\x20WebGPU\x20传递函数资源不可用。','createPipelines','\x20must\x20be\x20a\x20positive\x20finite\x20value.\x20','initialize','submittedFrameCount','WebGPU\x20slice\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20切面绑定布局不可用。','\x20must\x20contain\x20sixteen\x20finite\x20values.\x20','end','beginRenderPass','opacityStops','brickWidth','unmap','getGeometryBindGroupLayout','resolve','destroy','WebGPU\x20volume\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20体积绑定布局不可用。','volume\x20atlas\x20bind\x20group\x20layout','getDevice','slotCountZ','sliceBindGroupLayout','maxBufferSize','encodeScenePass','encodeVolumePass','some','WebGPU\x20scene\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20场景绑定布局不可用。','A\x20destroyed\x20WebGPU\x20volume\x20renderer\x20cannot\x20be\x20initialized\x20again.\x20已销毁的\x20WebGPU\x20体积渲染器不能再次初始化。','createBindGroupLayout','slotCountX','push','clear','volume\x20slice\x20shader','cacheBrickUpload','height','getTransferResources'];_0xd575=function(){return _0x58962d;};return _0xd575();}function _0xef77(_0x34df3f,_0x5b9b43){const _0xd57517=_0xd575();return _0xef77=function(_0xef77de,_0x37f2ae){_0xef77de=_0xef77de-0x182;let _0x49cd68=_0xd57517[_0xef77de];return _0x49cd68;},_0xef77(_0x34df3f,_0x5b9b43);}const SCENE_PARAMS_FLOAT_COUNT=0x64,VOLUME_PARAMS_BYTE_SIZE=0x60,DEFAULT_MEMORY_TARGET_BYTES=0x200*0x400*0x400,MAX_UPLOAD_BATCH_BYTES=0x40*0x400*0x400,MAX_UPLOAD_BATCH_BRICKS=0x10,IDENTITY_MATRIX=[0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1],DEFAULT_COLOR_STOPS=[{'value':0x0,'color':[0x0,0x0,0x1,0x1]},{'value':0x1,'color':[0x1,0x0,0x0,0x1]}],DEFAULT_OPACITY_STOPS=[{'value':0x0,'opacity':0x0},{'value':0x1,'opacity':0x1}],premultipliedBlend=()=>({'color':{'srcFactor':_0x299ab4(0x196),'dstFactor':'one-minus-src-alpha','operation':_0x299ab4(0x2af)},'alpha':{'srcFactor':_0x299ab4(0x196),'dstFactor':'one-minus-src-alpha','operation':_0x299ab4(0x2af)}}),validateMatrix=(_0xb81af7,_0x6283d1)=>{const _0x6f57e9=_0x299ab4;if(_0xb81af7[_0x6f57e9(0x1f4)]!==0x10||_0xb81af7[_0x6f57e9(0x1bc)](_0x36af8a=>!Number['isFinite'](_0x36af8a)))throw new Error(_0x6283d1+_0x6f57e9(0x1ab)+_0x6283d1+_0x6f57e9(0x1eb));},validateNonNegative=(_0x5b35e0,_0x2dfc90)=>{const _0x4ca3b3=_0x299ab4;if(!Number[_0x4ca3b3(0x236)](_0x5b35e0)||_0x5b35e0<0x0)throw new Error(_0x2dfc90+_0x4ca3b3(0x26c)+_0x2dfc90+_0x4ca3b3(0x2b3));return _0x5b35e0;},validatePositive=(_0x586b13,_0x2c982c)=>{const _0x3ca23b=_0x299ab4;if(!Number[_0x3ca23b(0x236)](_0x586b13)||_0x586b13<=0x0)throw new Error(_0x2c982c+_0x3ca23b(0x1a7)+_0x2c982c+_0x3ca23b(0x22f));return _0x586b13;},cloneMeshes=_0x1e17a3=>_0x1e17a3['map'](_0xfbd8a9=>({..._0xfbd8a9,'vertices':new Float32Array(_0xfbd8a9['vertices'])})),estimateBrickUploadBytes=_0x33c5fa=>{const _0xbfa13c=_0x299ab4,_0x416ce9=_0x33c5fa[_0xbfa13c(0x1af)]+_0x33c5fa[_0xbfa13c(0x230)]*0x2,_0x387f35=_0x33c5fa[_0xbfa13c(0x235)]+_0x33c5fa[_0xbfa13c(0x230)]*0x2,_0x2371e8=_0x33c5fa[_0xbfa13c(0x272)]+_0x33c5fa[_0xbfa13c(0x230)]*0x2,_0x38baec=Math[_0xbfa13c(0x276)](_0x416ce9*Float32Array[_0xbfa13c(0x25a)]/0x100)*0x100;return _0x38baec*_0x387f35*_0x2371e8+0x10;};export class WebgpuVolumeSceneRenderer{[_0x299ab4(0x234)];['lifecycleState']=_0x299ab4(0x1fc);[_0x299ab4(0x1cf)]=null;[_0x299ab4(0x1d3)]=null;[_0x299ab4(0x2b4)]=null;[_0x299ab4(0x1cb)]=null;[_0x299ab4(0x1f2)]=null;[_0x299ab4(0x1a3)]=null;[_0x299ab4(0x1f3)]=null;[_0x299ab4(0x28e)]=null;[_0x299ab4(0x1f5)]=null;[_0x299ab4(0x249)]=null;[_0x299ab4(0x291)]=null;['sliceBindGroupLayout']=null;['geometryBindGroup']=null;[_0x299ab4(0x1a2)]=null;[_0x299ab4(0x1ea)]=null;['transferBindGroup']=null;[_0x299ab4(0x1fe)]=null;[_0x299ab4(0x225)]=null;[_0x299ab4(0x23c)]=null;[_0x299ab4(0x221)]=null;[_0x299ab4(0x1c7)]=null;['sceneSlicePipeline']=null;['overlaySlicePipeline']=null;['attachments']=null;[_0x299ab4(0x255)]=null;[_0x299ab4(0x284)]=null;[_0x299ab4(0x273)]=null;['sliceResources']=null;[_0x299ab4(0x2b0)]=null;[_0x299ab4(0x287)]=null;['camera']={'viewProjection':IDENTITY_MATRIX,'inverseViewProjection':IDENTITY_MATRIX,'cameraPosition':[0x0,0x0,0x2]};[_0x299ab4(0x296)]=IDENTITY_MATRIX;[_0x299ab4(0x263)]=IDENTITY_MATRIX;[_0x299ab4(0x1c9)]=[0x0,0x0,0x0];[_0x299ab4(0x282)]=[0x1,0x1,0x1];[_0x299ab4(0x2b8)]=_0x299ab4(0x216);[_0x299ab4(0x24f)]=0.3;[_0x299ab4(0x218)]=0x1;['stepLength']=0.005;[_0x299ab4(0x2a5)]=0x1;['colorMode']=_0x299ab4(0x267);[_0x299ab4(0x24b)]=null;['colorStops']=DEFAULT_COLOR_STOPS;[_0x299ab4(0x1ae)]=DEFAULT_OPACITY_STOPS;[_0x299ab4(0x250)]=0x0;[_0x299ab4(0x1a9)]=0x0;[_0x299ab4(0x27b)]=0x0;[_0x299ab4(0x1c5)]=0x0;['initializationGeneration']=0x0;[_0x299ab4(0x299)]=0x0;[_0x299ab4(0x229)]=[];[_0x299ab4(0x214)]=[];[_0x299ab4(0x1d8)]=[];[_0x299ab4(0x205)]=new Map();[_0x299ab4(0x293)]=[];[_0x299ab4(0x264)]=null;[_0x299ab4(0x278)]=0x0;['uploadStagingBuffer']=null;[_0x299ab4(0x25c)]=0x0;[_0x299ab4(0x24a)]=0x0;[_0x299ab4(0x19e)]=0x0;[_0x299ab4(0x19b)]=0x0;[_0x299ab4(0x240)]=![];[_0x299ab4(0x286)]=null;constructor(_0x2459a7={}){const _0xad6bb9=_0x299ab4;this[_0xad6bb9(0x234)]={..._0x2459a7};}get[_0x299ab4(0x226)](){const _0x589deb=_0x299ab4;return this[_0x589deb(0x29e)];}get[_0x299ab4(0x183)](){const _0x4a3dc8=_0x299ab4,_0x3ba11a=this[_0x4a3dc8(0x255)]?.['statistics']??{'logicalBrickCount':0x0,'atlasCapacity':0x0,'gpuBytes':0x0,'memoryLimitBytes':this['options']['memoryHardLimitBytes']??this[_0x4a3dc8(0x234)][_0x4a3dc8(0x28b)]??DEFAULT_MEMORY_TARGET_BYTES,'budgetLimited':![],'skippedSamples':0x0,'skippedCells':0x0},_0xeebfaa=this[_0x4a3dc8(0x186)]?.[_0x4a3dc8(0x183)]??{'uniformUpdateCount':0x0,'resourceRebuildCount':0x0};return{'logicalBrickCount':_0x3ba11a[_0x4a3dc8(0x1e7)],'residentBrickCount':this['atlas']?.['residentBrickCount']??0x0,'pendingBrickCount':0x0,'atlasCapacity':_0x3ba11a[_0x4a3dc8(0x1e9)],'gpuBytes':_0x3ba11a[_0x4a3dc8(0x247)],'memoryLimitBytes':_0x3ba11a[_0x4a3dc8(0x208)],'budgetLimited':_0x3ba11a['budgetLimited'],'frameTimeMilliseconds':this['lastFrameTimeMilliseconds'],'submittedFrameCount':this[_0x4a3dc8(0x1a9)],'uploadedBrickCount':this[_0x4a3dc8(0x24a)],'uploadBatchCount':this['uploadBatchCount'],'maximumUploadBatchBytes':this[_0x4a3dc8(0x19b)],'sliceUniformUpdateCount':_0xeebfaa['uniformUpdateCount'],'sliceResourceRebuildCount':_0xeebfaa[_0x4a3dc8(0x233)],'skippedSamples':_0x3ba11a[_0x4a3dc8(0x29f)],'skippedCells':_0x3ba11a[_0x4a3dc8(0x22d)]};}[_0x299ab4(0x22b)](_0xffe8ea){const _0x51dc93=_0x299ab4;this[_0x51dc93(0x286)]=_0xffe8ea;}async['initialize'](_0x2ddf07){const _0x11cffa=_0x299ab4;if(this[_0x11cffa(0x29e)]===_0x11cffa(0x190))throw new Error(_0x11cffa(0x1be));const _0x2f77dd=++this[_0x11cffa(0x262)];this['releaseGpuResources'](),this[_0x11cffa(0x1cf)]=_0x2ddf07,this[_0x11cffa(0x29e)]='initializing';const _0x2c8705=navigator[_0x11cffa(0x20e)];if(!_0x2c8705){this[_0x11cffa(0x29e)]=_0x11cffa(0x1fc);throw new Error('WebGPU\x20is\x20required\x20for\x20the\x20volume\x20scene\x20but\x20is\x20unavailable.\x20体积场景需要\x20WebGPU,但当前环境不可用。');}const _0x185832=await _0x2c8705[_0x11cffa(0x1fa)]({'powerPreference':this[_0x11cffa(0x234)][_0x11cffa(0x197)]??_0x11cffa(0x193)});if(_0x2f77dd!==this[_0x11cffa(0x262)])return;if(!_0x185832){this[_0x11cffa(0x29e)]=_0x11cffa(0x1fc);throw new Error('Failed\x20to\x20acquire\x20a\x20WebGPU\x20adapter\x20for\x20the\x20volume\x20scene.\x20无法为体积场景获取\x20WebGPU\x20adapter。');}const _0x5854ca=await _0x185832['requestDevice']();if(_0x2f77dd!==this[_0x11cffa(0x262)]){_0x5854ca['destroy']();return;}const _0x1c0dc6=_0x2ddf07['getContext'](_0x11cffa(0x27f));if(!_0x1c0dc6){_0x5854ca[_0x11cffa(0x1b3)](),this[_0x11cffa(0x29e)]=_0x11cffa(0x1fc);throw new Error(_0x11cffa(0x294));}const _0x125e02=_0x2c8705['getPreferredCanvasFormat']();_0x1c0dc6['configure']({'device':_0x5854ca,'format':_0x125e02,'alphaMode':_0x11cffa(0x21f),'usage':GPUTextureUsage[_0x11cffa(0x232)]|GPUTextureUsage['COPY_SRC']}),this[_0x11cffa(0x1d3)]=_0x185832,this[_0x11cffa(0x2b4)]=_0x5854ca,this['context']=_0x1c0dc6,this['format']=_0x125e02,_0x5854ca['pushErrorScope']('validation'),this[_0x11cffa(0x1a1)]();const _0x5349a4=await _0x5854ca[_0x11cffa(0x1ce)]();if(_0x5349a4){this['releaseGpuResources'](),this[_0x11cffa(0x29e)]='idle';throw new Error(_0x11cffa(0x285)+_0x5349a4['message']+_0x11cffa(0x295));}this[_0x11cffa(0x27e)](_0x5854ca),this[_0x11cffa(0x29e)]=_0x11cffa(0x19c);if(this[_0x11cffa(0x287)]){this[_0x11cffa(0x2a9)](this[_0x11cffa(0x287)]);const _0x2e2bcb=Array[_0x11cffa(0x188)](this[_0x11cffa(0x205)][_0x11cffa(0x2b5)]());await Promise[_0x11cffa(0x2bc)](_0x2e2bcb[_0x11cffa(0x22e)](([_0x5f1470,_0x589366])=>this[_0x11cffa(0x192)]({'logicalIndex':_0x5f1470,'values':_0x589366},![])));}this[_0x11cffa(0x253)](),this[_0x11cffa(0x18e)]()[_0x11cffa(0x1d5)](this[_0x11cffa(0x229)]),this[_0x11cffa(0x257)]()[_0x11cffa(0x1d5)](this[_0x11cffa(0x214)]),this[_0x11cffa(0x231)]()[_0x11cffa(0x1d5)](this[_0x11cffa(0x1d8)]),this['resize'](_0x2ddf07[_0x11cffa(0x27b)]||_0x2ddf07['clientWidth']||0x1,_0x2ddf07[_0x11cffa(0x1c5)]||_0x2ddf07[_0x11cffa(0x237)]||0x1);}[_0x299ab4(0x21a)](_0x10cb36){const _0x375541=_0x299ab4;this['uploadGeneration']+=0x1,this[_0x375541(0x1f1)](new DOMException(_0x375541(0x199),_0x375541(0x1d9))),this[_0x375541(0x287)]={..._0x10cb36},this[_0x375541(0x205)][_0x375541(0x1c2)](),this[_0x375541(0x24a)]=0x0,this[_0x375541(0x19e)]=0x0,this[_0x375541(0x19b)]=0x0;if(this[_0x375541(0x29e)]===_0x375541(0x19c))this['configureSourceResources'](_0x10cb36);}[_0x299ab4(0x1a4)](_0x594566){const _0x1c57e1=_0x299ab4;return this[_0x1c57e1(0x192)](_0x594566,!![]);}[_0x299ab4(0x254)](_0x4cac2c){const _0x399cc2=_0x299ab4;this[_0x399cc2(0x1fb)]()[_0x399cc2(0x1f8)](_0x4cac2c,this[_0x399cc2(0x250)]);for(const _0x556113 of _0x4cac2c){const _0x3d9bac=this[_0x399cc2(0x205)][_0x399cc2(0x189)](_0x556113);if(!_0x3d9bac)continue;this[_0x399cc2(0x205)][_0x399cc2(0x204)](_0x556113),this[_0x399cc2(0x205)][_0x399cc2(0x18f)](_0x556113,_0x3d9bac);}}[_0x299ab4(0x269)](_0x595317){const _0x4b55d6=_0x299ab4;validateMatrix(_0x595317[_0x4b55d6(0x244)],'viewProjection'),validateMatrix(_0x595317['inverseViewProjection'],_0x4b55d6(0x26d)),this[_0x4b55d6(0x215)]={'viewProjection':[..._0x595317[_0x4b55d6(0x244)]],'inverseViewProjection':[..._0x595317[_0x4b55d6(0x26d)]],'cameraPosition':[..._0x595317[_0x4b55d6(0x224)]]};}[_0x299ab4(0x29b)](_0x3a0908){const _0x518cd0=_0x299ab4;this['cachedProfiles']=cloneMeshes(_0x3a0908),this['getProfileResources']()[_0x518cd0(0x1d5)](_0x3a0908);}[_0x299ab4(0x265)](_0x59c83a){const _0x2f9cac=_0x299ab4;this['cachedSlices']=_0x59c83a[_0x2f9cac(0x22e)](_0x17f75b=>({..._0x17f75b})),this[_0x2f9cac(0x257)]()[_0x2f9cac(0x1d5)](_0x59c83a);}[_0x299ab4(0x200)](_0x16af19){const _0x3a302e=_0x299ab4;this[_0x3a302e(0x1d8)]=cloneMeshes(_0x16af19),this['getAxisResources']()['replace'](_0x16af19);}[_0x299ab4(0x207)](_0x4edd11,_0x484d1a,_0x28223a){const _0x23c014=_0x299ab4;this[_0x23c014(0x292)]=_0x4edd11[_0x23c014(0x22e)](_0x529add=>({'value':_0x529add[_0x23c014(0x198)],'color':[..._0x529add['color']]})),this[_0x23c014(0x1ae)]=_0x484d1a[_0x23c014(0x22e)](_0x9cc039=>({..._0x9cc039}));if(_0x28223a)this[_0x23c014(0x259)]=_0x28223a;if(this[_0x23c014(0x29e)]===_0x23c014(0x19c))this[_0x23c014(0x253)]();}['update'](_0x286240){const _0x3eb68c=_0x299ab4;_0x286240[_0x3eb68c(0x296)]&&(validateMatrix(_0x286240['modelMatrix'],_0x3eb68c(0x296)),this[_0x3eb68c(0x296)]=[..._0x286240[_0x3eb68c(0x296)]]);_0x286240['inverseModelMatrix']&&(validateMatrix(_0x286240['inverseModelMatrix'],_0x3eb68c(0x263)),this[_0x3eb68c(0x263)]=[..._0x286240[_0x3eb68c(0x263)]]);if(_0x286240[_0x3eb68c(0x1c9)])this[_0x3eb68c(0x1c9)]=[..._0x286240[_0x3eb68c(0x1c9)]];if(_0x286240[_0x3eb68c(0x282)])this['clipMaximum']=[..._0x286240[_0x3eb68c(0x282)]];if(_0x286240[_0x3eb68c(0x2b8)])this['renderMode']=_0x286240[_0x3eb68c(0x2b8)];if(_0x286240[_0x3eb68c(0x24f)]!==undefined)this[_0x3eb68c(0x24f)]=validateNonNegative(_0x286240[_0x3eb68c(0x24f)],_0x3eb68c(0x24f));if(_0x286240[_0x3eb68c(0x218)]!==undefined)this[_0x3eb68c(0x218)]=validateNonNegative(_0x286240[_0x3eb68c(0x218)],_0x3eb68c(0x218));if(_0x286240[_0x3eb68c(0x298)]!==undefined)this[_0x3eb68c(0x298)]=validatePositive(_0x286240['stepLength'],_0x3eb68c(0x298));if(_0x286240[_0x3eb68c(0x2a5)]!==undefined)this[_0x3eb68c(0x2a5)]=validateNonNegative(_0x286240[_0x3eb68c(0x2a5)],'volumeDimFactor');if(_0x286240['colorMode'])this[_0x3eb68c(0x259)]=_0x286240['colorMode'];if(_0x286240[_0x3eb68c(0x24b)]!==undefined)this['geographicTransform']=_0x286240[_0x3eb68c(0x24b)]?{..._0x286240[_0x3eb68c(0x24b)]}:null;}[_0x299ab4(0x18d)](_0x488640,_0x466e4c){const _0x3cacf0=_0x299ab4;if(!Number[_0x3cacf0(0x23f)](_0x488640)||!Number['isInteger'](_0x466e4c)||_0x488640<=0x0||_0x466e4c<=0x0)throw new Error(_0x3cacf0(0x1e2));const _0x412057=this['getCanvas']();_0x412057[_0x3cacf0(0x27b)]=_0x488640,_0x412057[_0x3cacf0(0x1c5)]=_0x466e4c,this[_0x3cacf0(0x27b)]=_0x488640,this[_0x3cacf0(0x1c5)]=_0x466e4c,this[_0x3cacf0(0x19f)]()['resize'](_0x488640,_0x466e4c),this[_0x3cacf0(0x239)]();}[_0x299ab4(0x2ac)](){const _0x5bf8b6=_0x299ab4;if(this[_0x5bf8b6(0x29e)]!==_0x5bf8b6(0x19c)||!this[_0x5bf8b6(0x287)]||this['width']<=0x0||this['height']<=0x0||this[_0x5bf8b6(0x240)])return![];const _0x2b56f3=performance[_0x5bf8b6(0x2b7)]();this[_0x5bf8b6(0x250)]+=0x1,this[_0x5bf8b6(0x2aa)]();const _0x5a1f80=this[_0x5bf8b6(0x1b6)](),_0x157a2d=_0x5a1f80[_0x5bf8b6(0x270)]({'label':_0x5bf8b6(0x29a)}),_0x220fe8=this[_0x5bf8b6(0x1e4)]()[_0x5bf8b6(0x28f)]()['createView']();return this[_0x5bf8b6(0x1ba)](_0x157a2d,_0x220fe8),this[_0x5bf8b6(0x1bb)](_0x157a2d,_0x220fe8),this[_0x5bf8b6(0x279)](_0x157a2d,_0x220fe8),_0x5a1f80[_0x5bf8b6(0x1ca)][_0x5bf8b6(0x25f)]([_0x157a2d[_0x5bf8b6(0x2b6)]()]),this['frameInFlight']=!![],this[_0x5bf8b6(0x1a9)]+=0x1,this['lastFrameTimeMilliseconds']=Math[_0x5bf8b6(0x20a)](0.000001,performance[_0x5bf8b6(0x2b7)]()-_0x2b56f3),void _0x5a1f80['queue'][_0x5bf8b6(0x297)]()[_0x5bf8b6(0x220)](()=>{const _0x57e03e=_0x5bf8b6;if(this[_0x57e03e(0x2b4)]!==_0x5a1f80||this[_0x57e03e(0x29e)]!==_0x57e03e(0x19c))return;this[_0x57e03e(0x240)]=![],this[_0x57e03e(0x286)]?.();})[_0x5bf8b6(0x2ae)](()=>{const _0x18c153=_0x5bf8b6;if(this['device']===_0x5a1f80)this[_0x18c153(0x240)]=![];}),!![];}async[_0x299ab4(0x19d)](){const _0x54b3d9=_0x299ab4;if(this[_0x54b3d9(0x29e)]!==_0x54b3d9(0x19c)||!this['metadata']||this[_0x54b3d9(0x27b)]<=0x0||this[_0x54b3d9(0x1c5)]<=0x0)throw new Error(_0x54b3d9(0x2a2));const _0x1e4912=this[_0x54b3d9(0x1b6)](),_0x1c7035=this[_0x54b3d9(0x27b)]*0x4,_0x5e75f9=Math[_0x54b3d9(0x276)](_0x1c7035/0x100)*0x100,_0x38f0ac=_0x1e4912[_0x54b3d9(0x243)]({'label':_0x54b3d9(0x24d),'size':_0x5e75f9*this['height'],'usage':GPUBufferUsage[_0x54b3d9(0x289)]|GPUBufferUsage[_0x54b3d9(0x201)]});_0x1e4912[_0x54b3d9(0x1d1)](_0x54b3d9(0x1e0)),this[_0x54b3d9(0x250)]+=0x1,this[_0x54b3d9(0x2aa)]();const _0x4987ac=_0x1e4912[_0x54b3d9(0x270)]({'label':'volume\x20frame\x20capture'}),_0x239d81=this[_0x54b3d9(0x1e4)]()['getCurrentTexture'](),_0x23f361=_0x239d81[_0x54b3d9(0x202)]();this[_0x54b3d9(0x1ba)](_0x4987ac,_0x23f361),this[_0x54b3d9(0x1bb)](_0x4987ac,_0x23f361),this['encodeOverlayPass'](_0x4987ac,_0x23f361),_0x4987ac['copyTextureToBuffer']({'texture':_0x239d81},{'buffer':_0x38f0ac,'bytesPerRow':_0x5e75f9,'rowsPerImage':this[_0x54b3d9(0x1c5)]},[this['width'],this[_0x54b3d9(0x1c5)]]),_0x1e4912[_0x54b3d9(0x1ca)][_0x54b3d9(0x25f)]([_0x4987ac[_0x54b3d9(0x2b6)]()]);const _0x54ac94=await _0x1e4912[_0x54b3d9(0x1ce)]();if(_0x54ac94){_0x38f0ac[_0x54b3d9(0x1b3)]();throw new Error(_0x54b3d9(0x203)+_0x54ac94[_0x54b3d9(0x1ff)]+'.\x20WebGPU\x20体积帧读取失败。');}await _0x38f0ac['mapAsync'](GPUMapMode[_0x54b3d9(0x241)]);const _0x25fcbd=new Uint8Array(_0x38f0ac[_0x54b3d9(0x26f)]()),_0x47522a=new Uint8Array(_0x1c7035*this[_0x54b3d9(0x1c5)]),_0x3875b=this[_0x54b3d9(0x20d)]()==='bgra8unorm';for(let _0x5f5163=0x0;_0x5f5163<this[_0x54b3d9(0x1c5)];_0x5f5163+=0x1){const _0x402039=_0x25fcbd[_0x54b3d9(0x1e3)](_0x5f5163*_0x5e75f9,_0x5f5163*_0x5e75f9+_0x1c7035),_0x5ba231=_0x5f5163*_0x1c7035;if(!_0x3875b){_0x47522a[_0x54b3d9(0x18f)](_0x402039,_0x5ba231);continue;}for(let _0x365cf9=0x0;_0x365cf9<this[_0x54b3d9(0x27b)];_0x365cf9+=0x1){const _0x302459=_0x365cf9*0x4,_0x5c8d4c=_0x5ba231+_0x302459;_0x47522a[_0x5c8d4c]=_0x402039[_0x302459+0x2],_0x47522a[_0x5c8d4c+0x1]=_0x402039[_0x302459+0x1],_0x47522a[_0x5c8d4c+0x2]=_0x402039[_0x302459],_0x47522a[_0x5c8d4c+0x3]=_0x402039[_0x302459+0x3];}}return _0x38f0ac[_0x54b3d9(0x1b0)](),_0x38f0ac[_0x54b3d9(0x1b3)](),this[_0x54b3d9(0x1a9)]+=0x1,{'width':this['width'],'height':this[_0x54b3d9(0x1c5)],'pixels':_0x47522a};}['destroy'](){const _0x493c85=_0x299ab4;if(this[_0x493c85(0x29e)]==='destroyed')return;++this['initializationGeneration'],this[_0x493c85(0x27a)](),this[_0x493c85(0x1cf)]=null,this['metadata']=null,this[_0x493c85(0x286)]=null,this['lifecycleState']=_0x493c85(0x190);}[_0x299ab4(0x1a1)](){const _0x127261=_0x299ab4,_0x13b061=this[_0x127261(0x1b6)]();this['sceneParamsBuffer']=_0x13b061[_0x127261(0x243)]({'label':_0x127261(0x2ab),'size':SCENE_PARAMS_FLOAT_COUNT*0x4,'usage':GPUBufferUsage[_0x127261(0x1d4)]|GPUBufferUsage[_0x127261(0x289)]}),this[_0x127261(0x1f3)]=_0x13b061[_0x127261(0x243)]({'label':_0x127261(0x187),'size':VOLUME_PARAMS_BYTE_SIZE,'usage':GPUBufferUsage[_0x127261(0x1d4)]|GPUBufferUsage[_0x127261(0x289)]}),this[_0x127261(0x28e)]=_0x13b061['createBindGroupLayout']({'label':'volume\x20geometry\x20bind\x20group\x20layout','entries':[{'binding':0x0,'visibility':GPUShaderStage[_0x127261(0x2a8)]|GPUShaderStage[_0x127261(0x23b)],'buffer':{'type':_0x127261(0x1f6)}}]}),this[_0x127261(0x1f5)]=_0x13b061[_0x127261(0x1bf)]({'label':_0x127261(0x266),'entries':[{'binding':0x0,'visibility':GPUShaderStage[_0x127261(0x2a8)]|GPUShaderStage[_0x127261(0x23b)],'buffer':{'type':_0x127261(0x1f6)}},{'binding':0x1,'visibility':GPUShaderStage[_0x127261(0x23b)],'texture':{'sampleType':_0x127261(0x222)}}]}),this['volumeBindGroupLayout']=_0x13b061[_0x127261(0x1bf)]({'label':_0x127261(0x1b5),'entries':[...Array[_0x127261(0x188)]({'length':MAX_ATLAS_TEXTURE_COUNT},(_0x18e5e2,_0x54d5b1)=>({'binding':_0x54d5b1,'visibility':GPUShaderStage['FRAGMENT'],'texture':{'sampleType':_0x127261(0x219),'viewDimension':'3d'}})),{'binding':MAX_ATLAS_TEXTURE_COUNT,'visibility':GPUShaderStage[_0x127261(0x23b)],'buffer':{'type':_0x127261(0x1e6)}},{'binding':MAX_ATLAS_TEXTURE_COUNT+0x1,'visibility':GPUShaderStage['FRAGMENT'],'buffer':{'type':'uniform'}}]}),this[_0x127261(0x291)]=_0x13b061[_0x127261(0x1bf)]({'label':'volume\x20transfer\x20bind\x20group\x20layout','entries':[0x0,0x1,0x2,0x3][_0x127261(0x22e)](_0x4956f5=>({'binding':_0x4956f5,'visibility':GPUShaderStage[_0x127261(0x23b)],'buffer':{'type':_0x127261(0x1e6)}}))}),this[_0x127261(0x1b8)]=_0x13b061[_0x127261(0x1bf)]({'label':'volume\x20slice\x20bind\x20group\x20layout','entries':[{'binding':0x0,'visibility':GPUShaderStage['VERTEX']|GPUShaderStage['FRAGMENT'],'buffer':{'type':'uniform'}}]}),this[_0x127261(0x206)]=new WebgpuSceneAttachments(_0x13b061),this[_0x127261(0x284)]=new WebgpuTransferResources(_0x13b061),this[_0x127261(0x273)]=new WebgpuSceneMeshResources(_0x13b061),this[_0x127261(0x186)]=new WebgpuSliceResources(_0x13b061,this['getSliceBindGroupLayout']()),this[_0x127261(0x2b0)]=new WebgpuSceneMeshResources(_0x13b061),this[_0x127261(0x1a6)]();}[_0x299ab4(0x1a6)](){const _0x50cf81=_0x299ab4,_0x4635b7=this[_0x50cf81(0x1b6)](),_0x9cfde5=this[_0x50cf81(0x20d)](),_0x4727a2=this['getGeometryBindGroupLayout'](),_0x996c9=this[_0x50cf81(0x242)](),_0x84adc0=_0x4635b7[_0x50cf81(0x209)]({'label':_0x50cf81(0x2a3),'code':_0x5184fa}),_0x114c35={'module':_0x84adc0,'entryPoint':'vertexMain','buffers':[{'arrayStride':0x1c,'attributes':[{'shaderLocation':0x0,'offset':0x0,'format':_0x50cf81(0x18a)},{'shaderLocation':0x1,'offset':0xc,'format':'float32x4'}]}]},_0x3eaa3d={'module':_0x84adc0,'entryPoint':_0x50cf81(0x195),'targets':[{'format':_0x9cfde5,'blend':premultipliedBlend()}]},_0x316b01=(_0x46a959,_0x43f6f8)=>_0x4635b7['createRenderPipeline']({'layout':_0x4635b7['createPipelineLayout']({'bindGroupLayouts':[_0x4727a2]}),'vertex':_0x114c35,'fragment':_0x3eaa3d,'primitive':{'topology':_0x46a959},'depthStencil':_0x43f6f8?{'format':_0x50cf81(0x2b1),'depthWriteEnabled':!![],'depthCompare':'less'}:undefined});this[_0x50cf81(0x225)]=_0x316b01(_0x50cf81(0x261),!![]),this[_0x50cf81(0x23c)]=_0x316b01(_0x50cf81(0x1d2),!![]),this[_0x50cf81(0x221)]=_0x316b01('triangle-list',![]),this[_0x50cf81(0x1c7)]=_0x316b01('line-list',![]);const _0x269b2b=_0x4635b7[_0x50cf81(0x209)]({'label':_0x50cf81(0x1d0),'code':_0x402493});this[_0x50cf81(0x1fe)]=_0x4635b7[_0x50cf81(0x1d6)]({'layout':_0x4635b7[_0x50cf81(0x1ef)]({'bindGroupLayouts':[_0x996c9,this[_0x50cf81(0x1ee)](),this['getTransferBindGroupLayout']()]}),'vertex':{'module':_0x269b2b,'entryPoint':'vertexMain'},'fragment':{'module':_0x269b2b,'entryPoint':_0x50cf81(0x195),'targets':[{'format':_0x9cfde5,'blend':premultipliedBlend()}]},'primitive':{'topology':_0x50cf81(0x261)}});const _0xf2df7a=_0x4635b7['createShaderModule']({'label':_0x50cf81(0x1c3),'code':_0x5066f3}),_0x4e4755=_0x224308=>_0x4635b7[_0x50cf81(0x1d6)]({'layout':_0x4635b7[_0x50cf81(0x1ef)]({'bindGroupLayouts':[_0x4727a2,this[_0x50cf81(0x1ee)](),this[_0x50cf81(0x1f7)](),this[_0x50cf81(0x227)]()]}),'vertex':{'module':_0xf2df7a,'entryPoint':'vertexMain'},'fragment':{'module':_0xf2df7a,'entryPoint':_0x50cf81(0x195),'targets':[{'format':_0x9cfde5,'blend':premultipliedBlend()}]},'primitive':{'topology':_0x50cf81(0x261)},'depthStencil':_0x224308?{'format':_0x50cf81(0x2b1),'depthWriteEnabled':!![],'depthCompare':_0x50cf81(0x184)}:undefined});this[_0x50cf81(0x24e)]=_0x4e4755(!![]),this[_0x50cf81(0x25d)]=_0x4e4755(![]);}[_0x299ab4(0x2a9)](_0x700dbb){const _0x4af502=_0x299ab4;this[_0x4af502(0x255)]?.[_0x4af502(0x1b3)](),this['atlas']=new WebgpuBrickAtlas(this['getDevice'](),this[_0x4af502(0x234)][_0x4af502(0x28b)]??DEFAULT_MEMORY_TARGET_BYTES,this['options'][_0x4af502(0x2a0)]??this[_0x4af502(0x234)]['memoryTargetBytes']??DEFAULT_MEMORY_TARGET_BYTES),this[_0x4af502(0x255)]['configure'](_0x700dbb),this['writeVolumeParams'](),this['volumeBindGroup']=this[_0x4af502(0x255)][_0x4af502(0x21e)](this[_0x4af502(0x1ee)](),this[_0x4af502(0x245)]());}[_0x299ab4(0x192)](_0x417f4b,_0x58ced3){return new Promise((_0x21e760,_0x1b717e)=>{const _0x16c9ee=_0xef77;this['pendingBrickUploads']['push']({'upload':_0x417f4b,'generation':this[_0x16c9ee(0x278)],'cacheOnSuccess':_0x58ced3,'resolve':_0x21e760,'reject':_0x1b717e}),this[_0x16c9ee(0x260)]();});}[_0x299ab4(0x260)](){const _0x69af7f=_0x299ab4;if(this[_0x69af7f(0x264)])return;this[_0x69af7f(0x264)]=Promise[_0x69af7f(0x1b2)]()[_0x69af7f(0x220)](()=>this['processBrickUploads']())[_0x69af7f(0x281)](()=>{const _0x2f51d6=_0x69af7f;this[_0x2f51d6(0x264)]=null;if(this[_0x2f51d6(0x293)][_0x2f51d6(0x1f4)]>0x0&&this[_0x2f51d6(0x29e)]==='ready')this['scheduleUploadPump']();});}async[_0x299ab4(0x277)](){const _0x5bf64e=_0x299ab4;while(this[_0x5bf64e(0x293)][_0x5bf64e(0x1f4)]>0x0&&this['lifecycleState']==='ready'&&this[_0x5bf64e(0x287)]){const _0x40b717=this[_0x5bf64e(0x1b6)](),_0x248229=estimateBrickUploadBytes(this[_0x5bf64e(0x287)]),_0x349bb4=Math['min'](MAX_UPLOAD_BATCH_BYTES,Math[_0x5bf64e(0x20a)](_0x248229,Math[_0x5bf64e(0x1da)](_0x40b717['limits'][_0x5bf64e(0x1b9)]/0x4))),_0x3f1d31=[];let _0x4990f8=0x0;while(this[_0x5bf64e(0x293)]['length']>0x0&&_0x3f1d31[_0x5bf64e(0x1f4)]<MAX_UPLOAD_BATCH_BRICKS){const _0x814fe8=this[_0x5bf64e(0x293)][0x0];if(_0x3f1d31[_0x5bf64e(0x1f4)]>0x0&&_0x4990f8+_0x248229>_0x349bb4)break;this['pendingBrickUploads']['shift']();if(_0x814fe8[_0x5bf64e(0x2bb)]!==this[_0x5bf64e(0x278)]){_0x814fe8[_0x5bf64e(0x1e5)](new DOMException(_0x5bf64e(0x23a),_0x5bf64e(0x1d9)));continue;}_0x3f1d31[_0x5bf64e(0x1c1)](_0x814fe8),_0x4990f8+=_0x248229;}if(_0x3f1d31[_0x5bf64e(0x1f4)]===0x0)continue;try{const _0x3ec942=[];let _0x5aeaba=0x0;for(const _0x130731 of _0x3f1d31){const _0x46637d=this['getAtlas']()[_0x5bf64e(0x290)](_0x130731['upload'],this['frameIndex']),_0xd5a9a6=Math[_0x5bf64e(0x276)](_0x5aeaba/0x100)*0x100;_0x3ec942[_0x5bf64e(0x1c1)]({'item':_0x130731,'prepared':_0x46637d,'bufferOffset':_0xd5a9a6}),_0x5aeaba=_0xd5a9a6+_0x46637d['values'][_0x5bf64e(0x21c)];}const _0x33bac4=this[_0x5bf64e(0x1fd)](_0x5aeaba);await _0x33bac4[_0x5bf64e(0x223)](GPUMapMode[_0x5bf64e(0x28c)]);const _0x19a44d=new Uint8Array(_0x33bac4['getMappedRange']());for(const _0x749a61 of _0x3ec942){const _0x186a55=_0x749a61['prepared'][_0x5bf64e(0x20b)];_0x19a44d['set'](new Uint8Array(_0x186a55[_0x5bf64e(0x1db)],_0x186a55[_0x5bf64e(0x2a6)],_0x186a55[_0x5bf64e(0x21c)]),_0x749a61[_0x5bf64e(0x212)]);}_0x33bac4[_0x5bf64e(0x1b0)]();const _0x5edcbf=_0x40b717[_0x5bf64e(0x270)]({'label':_0x5bf64e(0x29d)});for(const _0x393c5d of _0x3ec942){this[_0x5bf64e(0x1fb)]()[_0x5bf64e(0x1dc)](_0x5edcbf,_0x33bac4,_0x393c5d[_0x5bf64e(0x212)],_0x393c5d[_0x5bf64e(0x238)]);}_0x40b717[_0x5bf64e(0x1ca)][_0x5bf64e(0x25f)]([_0x5edcbf[_0x5bf64e(0x2b6)]()]),await _0x40b717[_0x5bf64e(0x1ca)]['onSubmittedWorkDone'](),await new Promise(_0x533487=>setTimeout(_0x533487,0x0)),this[_0x5bf64e(0x24a)]+=_0x3f1d31[_0x5bf64e(0x1f4)],this['uploadBatchCount']+=0x1,this[_0x5bf64e(0x19b)]=Math[_0x5bf64e(0x20a)](this[_0x5bf64e(0x19b)],_0x4990f8);for(const _0x53bb24 of _0x3f1d31){if(_0x53bb24[_0x5bf64e(0x2bb)]!==this[_0x5bf64e(0x278)]){_0x53bb24[_0x5bf64e(0x1e5)](new DOMException(_0x5bf64e(0x23a),_0x5bf64e(0x1d9)));continue;}if(_0x53bb24[_0x5bf64e(0x275)])this['cacheBrickUpload'](_0x53bb24[_0x5bf64e(0x1e8)]);_0x53bb24[_0x5bf64e(0x1b2)]();}}catch(_0x4b0965){for(const _0x386eff of _0x3f1d31)_0x386eff[_0x5bf64e(0x1e5)](_0x4b0965);}}}[_0x299ab4(0x1fd)](_0x1d2842){const _0x47ebfa=_0x299ab4,_0x1c8681=Math[_0x47ebfa(0x20a)](0x100,Math['ceil'](_0x1d2842/0x100)*0x100);if(this[_0x47ebfa(0x2a7)]&&this[_0x47ebfa(0x25c)]>=_0x1c8681)return this[_0x47ebfa(0x2a7)];return this[_0x47ebfa(0x2a7)]?.[_0x47ebfa(0x1b3)](),this[_0x47ebfa(0x2a7)]=this[_0x47ebfa(0x1b6)]()[_0x47ebfa(0x243)]({'label':'volume\x20brick\x20reusable\x20upload\x20staging','size':_0x1c8681,'usage':GPUBufferUsage['MAP_WRITE']|GPUBufferUsage['COPY_SRC']}),this['uploadStagingBufferSize']=_0x1c8681,this[_0x47ebfa(0x2a7)];}[_0x299ab4(0x1c4)](_0x140730){const _0x1ae065=_0x299ab4;this[_0x1ae065(0x205)]['delete'](_0x140730['logicalIndex']),this['cachedBricks'][_0x1ae065(0x18f)](_0x140730[_0x1ae065(0x28d)],new Float32Array(_0x140730[_0x1ae065(0x20b)]));while(this[_0x1ae065(0x205)]['size']>this[_0x1ae065(0x183)]['atlasCapacity']){const _0x357a1f=this[_0x1ae065(0x205)]['keys']()[_0x1ae065(0x1f0)]()[_0x1ae065(0x198)];if(_0x357a1f===undefined)break;this['cachedBricks'][_0x1ae065(0x204)](_0x357a1f);}}[_0x299ab4(0x1f1)](_0x505a9d){const _0x2319d7=_0x299ab4;for(const _0x13eab6 of this['pendingBrickUploads']['splice'](0x0))_0x13eab6[_0x2319d7(0x1e5)](_0x505a9d);}[_0x299ab4(0x253)](){const _0x2b6cac=_0x299ab4,_0x1c4662=this[_0x2b6cac(0x1c6)]();_0x1c4662[_0x2b6cac(0x185)](this[_0x2b6cac(0x292)],this[_0x2b6cac(0x1ae)]),this[_0x2b6cac(0x27c)]=_0x1c4662[_0x2b6cac(0x21e)](this[_0x2b6cac(0x1f7)]());}['recreateSceneBindGroup'](){const _0x24ba5f=_0x299ab4;if(!this['sceneParamsBuffer']||!this[_0x24ba5f(0x206)]||!this['geometryBindGroupLayout']||!this[_0x24ba5f(0x1f5)])return;this[_0x24ba5f(0x283)]=this[_0x24ba5f(0x1b6)]()['createBindGroup']({'label':_0x24ba5f(0x251),'layout':this['geometryBindGroupLayout'],'entries':[{'binding':0x0,'resource':{'buffer':this[_0x24ba5f(0x1a3)]}}]}),this[_0x24ba5f(0x1a2)]=this[_0x24ba5f(0x1b6)]()[_0x24ba5f(0x21e)]({'label':_0x24ba5f(0x22c),'layout':this[_0x24ba5f(0x1f5)],'entries':[{'binding':0x0,'resource':{'buffer':this[_0x24ba5f(0x1a3)]}},{'binding':0x1,'resource':this[_0x24ba5f(0x206)][_0x24ba5f(0x256)]}]});}[_0x299ab4(0x2aa)](){const _0x431a31=_0x299ab4,_0x36df1a=new Float32Array(SCENE_PARAMS_FLOAT_COUNT);_0x36df1a[_0x431a31(0x18f)](this['camera']['viewProjection'],0x0),_0x36df1a['set'](this[_0x431a31(0x215)][_0x431a31(0x26d)],0x10),_0x36df1a[_0x431a31(0x18f)](this[_0x431a31(0x296)],0x20),_0x36df1a['set'](this[_0x431a31(0x263)],0x30),_0x36df1a[_0x431a31(0x18f)]([...this[_0x431a31(0x215)][_0x431a31(0x224)],0x1],0x40),_0x36df1a['set']([this[_0x431a31(0x27b)],this[_0x431a31(0x1c5)],0x1/this['width'],0x1/this[_0x431a31(0x1c5)]],0x44),_0x36df1a[_0x431a31(0x18f)]([...this[_0x431a31(0x1c9)],0x0],0x48),_0x36df1a[_0x431a31(0x18f)]([...this[_0x431a31(0x282)],0x0],0x4c),_0x36df1a['set']([this['renderMode']==='maximum'?0x1:0x0,this[_0x431a31(0x24f)],this[_0x431a31(0x218)],this[_0x431a31(0x298)]],0x50),_0x36df1a[_0x431a31(0x18f)]([this[_0x431a31(0x292)][_0x431a31(0x1f4)],this[_0x431a31(0x1ae)][_0x431a31(0x1f4)],this[_0x431a31(0x2a5)],this[_0x431a31(0x259)]===_0x431a31(0x274)?0x1:0x0],0x54);const _0x1035ef=this[_0x431a31(0x24b)];_0x1035ef&&(_0x36df1a['set']([0x1,..._0x1035ef[_0x431a31(0x25b)]],0x58),_0x36df1a[_0x431a31(0x18f)]([_0x1035ef[_0x431a31(0x2ba)],_0x1035ef[_0x431a31(0x217)],..._0x1035ef[_0x431a31(0x23e)]],0x5c),_0x36df1a[_0x431a31(0x18f)]([..._0x1035ef[_0x431a31(0x194)],..._0x1035ef[_0x431a31(0x2b2)]],0x60)),this[_0x431a31(0x1b6)]()[_0x431a31(0x1ca)][_0x431a31(0x29c)](this['getSceneParamsBuffer'](),0x0,_0x36df1a);}[_0x299ab4(0x20f)](){const _0x19b12c=_0x299ab4,_0x59c35c=this[_0x19b12c(0x287)],_0x52e9b3=this['atlas'];if(!_0x59c35c||!_0x52e9b3)return;const _0x5b85cc=_0x52e9b3[_0x19b12c(0x28a)],_0xc08f4c=new Uint32Array(VOLUME_PARAMS_BYTE_SIZE/0x4),_0x203d1f=Math[_0x19b12c(0x276)](_0x59c35c[_0x19b12c(0x252)][_0x19b12c(0x1c8)]/_0x59c35c[_0x19b12c(0x1af)]),_0x5cf4dc=Math['ceil'](_0x59c35c[_0x19b12c(0x246)][_0x19b12c(0x1c8)]/_0x59c35c['brickHeight']),_0x51e636=Math[_0x19b12c(0x276)](_0x59c35c[_0x19b12c(0x1dd)][_0x19b12c(0x1c8)]/_0x59c35c['brickDepth']);_0xc08f4c[_0x19b12c(0x18f)]([_0x59c35c['xAxis']['count'],_0x59c35c[_0x19b12c(0x246)][_0x19b12c(0x1c8)],_0x59c35c[_0x19b12c(0x1dd)][_0x19b12c(0x1c8)],0x0],0x0),_0xc08f4c[_0x19b12c(0x18f)]([_0x59c35c['brickWidth'],_0x59c35c['brickHeight'],_0x59c35c[_0x19b12c(0x272)],0x1],0x4),_0xc08f4c[_0x19b12c(0x18f)]([_0x203d1f,_0x5cf4dc,_0x51e636,0x0],0x8),_0xc08f4c['set']([_0x5b85cc[_0x19b12c(0x1c0)],_0x5b85cc[_0x19b12c(0x211)],_0x5b85cc[_0x19b12c(0x1b7)],_0x5b85cc[_0x19b12c(0x27d)]],0xc),_0xc08f4c[_0x19b12c(0x18f)]([(_0x59c35c[_0x19b12c(0x1af)]+0x2)*_0x5b85cc[_0x19b12c(0x1c0)],(_0x59c35c[_0x19b12c(0x235)]+0x2)*_0x5b85cc[_0x19b12c(0x211)],(_0x59c35c[_0x19b12c(0x272)]+0x2)*_0x5b85cc[_0x19b12c(0x1b7)],0x0],0x10);const _0x33c79e=new Float32Array(_0xc08f4c[_0x19b12c(0x1db)]);_0x33c79e['set']([_0x59c35c['noData']??0x0,_0x59c35c[_0x19b12c(0x26e)]===undefined?0x0:0x1,0x0,0x0],0x14),this[_0x19b12c(0x1b6)]()[_0x19b12c(0x1ca)][_0x19b12c(0x29c)](this[_0x19b12c(0x245)](),0x0,_0xc08f4c);}[_0x299ab4(0x1ba)](_0x23c35e,_0x59bc66){const _0x588347=_0x299ab4,_0x3c8de9=_0x23c35e[_0x588347(0x1ad)]({'label':'volume\x20scene\x20geometry\x20pass','colorAttachments':[{'view':_0x59bc66,'clearValue':{'r':0x0,'g':0x0,'b':0x0,'a':0x0},'loadOp':'clear','storeOp':'store'}],'depthStencilAttachment':{'view':this[_0x588347(0x19f)]()[_0x588347(0x256)],'depthClearValue':0x1,'depthLoadOp':_0x588347(0x1c2),'depthStoreOp':_0x588347(0x1df)}});this[_0x588347(0x191)](_0x3c8de9,_0x588347(0x23d)),this[_0x588347(0x2a1)](_0x3c8de9,_0x588347(0x23d)),_0x3c8de9[_0x588347(0x1ac)]();}[_0x299ab4(0x1bb)](_0x33643c,_0x2fb12f){const _0x1b358a=_0x299ab4;if(!this[_0x1b358a(0x1ea)]||!this[_0x1b358a(0x27c)]||!this['sceneBindGroup']||!this[_0x1b358a(0x1fe)])return;const _0xb5ed20=_0x33643c[_0x1b358a(0x1ad)]({'label':_0x1b358a(0x1cc),'colorAttachments':[{'view':_0x2fb12f,'loadOp':'load','storeOp':_0x1b358a(0x1df)}]});_0xb5ed20[_0x1b358a(0x1f9)](this[_0x1b358a(0x1fe)]),_0xb5ed20[_0x1b358a(0x1d7)](0x0,this['sceneBindGroup']),_0xb5ed20[_0x1b358a(0x1d7)](0x1,this[_0x1b358a(0x1ea)]),_0xb5ed20['setBindGroup'](0x2,this[_0x1b358a(0x27c)]),_0xb5ed20[_0x1b358a(0x1e1)](0x3),_0xb5ed20[_0x1b358a(0x1ac)]();}[_0x299ab4(0x279)](_0x4f7915,_0x47a876){const _0x5844c7=_0x299ab4,_0x1777f0=_0x4f7915[_0x5844c7(0x1ad)]({'label':_0x5844c7(0x26b),'colorAttachments':[{'view':_0x47a876,'loadOp':_0x5844c7(0x2a4),'storeOp':_0x5844c7(0x1df)}]});this[_0x5844c7(0x191)](_0x1777f0,_0x5844c7(0x21d)),this['drawSlices'](_0x1777f0,_0x5844c7(0x21d)),_0x1777f0[_0x5844c7(0x1ac)]();}[_0x299ab4(0x191)](_0x183d5d,_0x3ab437){const _0x5b48c6=_0x299ab4,_0x1252f7=this['geometryBindGroup'];if(!_0x1252f7)return;const _0x48f4d6=_0x3ab437===_0x5b48c6(0x23d)?this['sceneTrianglePipeline']:this[_0x5b48c6(0x221)],_0x3d7ecb=_0x3ab437===_0x5b48c6(0x23d)?this['sceneLinePipeline']:this['overlayLinePipeline'];_0x48f4d6&&(_0x183d5d[_0x5b48c6(0x1f9)](_0x48f4d6),_0x183d5d[_0x5b48c6(0x1d7)](0x0,_0x1252f7),this[_0x5b48c6(0x273)]?.['draw'](_0x183d5d,_0x5b48c6(0x261),_0x3ab437),this['axisResources']?.[_0x5b48c6(0x1e1)](_0x183d5d,_0x5b48c6(0x261),_0x3ab437)),_0x3d7ecb&&(_0x183d5d['setPipeline'](_0x3d7ecb),_0x183d5d[_0x5b48c6(0x1d7)](0x0,_0x1252f7),this[_0x5b48c6(0x273)]?.[_0x5b48c6(0x1e1)](_0x183d5d,_0x5b48c6(0x1d2),_0x3ab437),this[_0x5b48c6(0x2b0)]?.[_0x5b48c6(0x1e1)](_0x183d5d,_0x5b48c6(0x1d2),_0x3ab437));}[_0x299ab4(0x2a1)](_0x532097,_0x1a9442){const _0x28a836=_0x299ab4,_0x401b4b=_0x1a9442==='scene'?this[_0x28a836(0x24e)]:this[_0x28a836(0x25d)];if(!_0x401b4b||!this[_0x28a836(0x283)]||!this[_0x28a836(0x1ea)]||!this[_0x28a836(0x27c)])return;_0x532097['setBindGroup'](0x0,this[_0x28a836(0x283)]),_0x532097[_0x28a836(0x1d7)](0x1,this['volumeBindGroup']),_0x532097['setBindGroup'](0x2,this[_0x28a836(0x27c)]),this[_0x28a836(0x186)]?.[_0x28a836(0x1e1)](_0x532097,_0x401b4b,_0x1a9442);}[_0x299ab4(0x27e)](_0x2127fe){const _0x576222=_0x299ab4;void _0x2127fe['lost'][_0x576222(0x220)](_0x225b82=>{const _0x1ceb7a=_0x576222;if(this[_0x1ceb7a(0x2b4)]!==_0x2127fe||this[_0x1ceb7a(0x29e)]===_0x1ceb7a(0x190))return;this['lifecycleState']=_0x1ceb7a(0x228),console[_0x1ceb7a(0x1cd)](_0x1ceb7a(0x268)+_0x225b82[_0x1ceb7a(0x1ff)]+_0x1ceb7a(0x210));const _0x4bffe9=this[_0x1ceb7a(0x1cf)];this[_0x1ceb7a(0x27a)](),_0x4bffe9&&void this[_0x1ceb7a(0x1a8)](_0x4bffe9)[_0x1ceb7a(0x2ae)](_0x1e3aa7=>{const _0x1867a7=_0x1ceb7a;console[_0x1867a7(0x1cd)]('WebGPU\x20volume\x20device\x20restoration\x20failed.\x20WebGPU\x20体积设备恢复失败。',_0x1e3aa7);});});}[_0x299ab4(0x27a)](){const _0x58df52=_0x299ab4;this['uploadGeneration']+=0x1,this[_0x58df52(0x1f1)](new DOMException(_0x58df52(0x20c),_0x58df52(0x1d9))),this[_0x58df52(0x255)]?.[_0x58df52(0x1b3)](),this['transferResources']?.[_0x58df52(0x1b3)](),this[_0x58df52(0x273)]?.['destroy'](),this[_0x58df52(0x186)]?.['destroy'](),this[_0x58df52(0x2b0)]?.[_0x58df52(0x1b3)](),this[_0x58df52(0x206)]?.[_0x58df52(0x1b3)](),this[_0x58df52(0x1a3)]?.[_0x58df52(0x1b3)](),this['volumeParamsBuffer']?.[_0x58df52(0x1b3)](),this['uploadStagingBuffer']?.[_0x58df52(0x1b3)]();try{this[_0x58df52(0x1cb)]?.[_0x58df52(0x1a0)]();}catch{}this[_0x58df52(0x2b4)]?.[_0x58df52(0x1b3)](),this[_0x58df52(0x1d3)]=null,this[_0x58df52(0x2b4)]=null,this['context']=null,this[_0x58df52(0x1f2)]=null,this[_0x58df52(0x1a3)]=null,this[_0x58df52(0x1f3)]=null,this[_0x58df52(0x2a7)]=null,this[_0x58df52(0x25c)]=0x0,this['geometryBindGroupLayout']=null,this[_0x58df52(0x1f5)]=null,this[_0x58df52(0x249)]=null,this[_0x58df52(0x291)]=null,this[_0x58df52(0x1b8)]=null,this['geometryBindGroup']=null,this[_0x58df52(0x1a2)]=null,this[_0x58df52(0x1ea)]=null,this[_0x58df52(0x27c)]=null,this[_0x58df52(0x1fe)]=null,this[_0x58df52(0x225)]=null,this[_0x58df52(0x23c)]=null,this[_0x58df52(0x221)]=null,this[_0x58df52(0x1c7)]=null,this[_0x58df52(0x24e)]=null,this['overlaySlicePipeline']=null,this[_0x58df52(0x206)]=null,this[_0x58df52(0x255)]=null,this[_0x58df52(0x284)]=null,this[_0x58df52(0x273)]=null,this[_0x58df52(0x186)]=null,this[_0x58df52(0x2b0)]=null,this[_0x58df52(0x240)]=![],this[_0x58df52(0x27b)]=0x0,this[_0x58df52(0x1c5)]=0x0;}[_0x299ab4(0x1b6)](){const _0x5c60d5=_0x299ab4;if(!this[_0x5c60d5(0x2b4)])throw new Error('WebGPU\x20volume\x20device\x20is\x20not\x20initialized.\x20WebGPU\x20体积\x20device\x20尚未初始化。');return this[_0x5c60d5(0x2b4)];}[_0x299ab4(0x1e4)](){const _0x465d62=_0x299ab4;if(!this['context'])throw new Error(_0x465d62(0x258));return this[_0x465d62(0x1cb)];}['getFormat'](){const _0x320458=_0x299ab4;if(!this[_0x320458(0x1f2)])throw new Error(_0x320458(0x22a));return this[_0x320458(0x1f2)];}[_0x299ab4(0x271)](){const _0x208bde=_0x299ab4;if(!this[_0x208bde(0x1cf)])throw new Error(_0x208bde(0x182));return this['canvas'];}['getAttachments'](){const _0x87e12a=_0x299ab4;if(!this[_0x87e12a(0x206)])throw new Error('WebGPU\x20scene\x20attachments\x20are\x20unavailable.\x20WebGPU\x20场景附件不可用。');return this['attachments'];}[_0x299ab4(0x1fb)](){const _0x5f2310=_0x299ab4;if(!this[_0x5f2310(0x255)])throw new Error('WebGPU\x20volume\x20source\x20must\x20be\x20configured\x20before\x20uploading\x20bricks.\x20上传砖块前必须配置\x20WebGPU\x20体积数据源。');return this[_0x5f2310(0x255)];}[_0x299ab4(0x1c6)](){const _0x5153cd=_0x299ab4;if(!this[_0x5153cd(0x284)])throw new Error(_0x5153cd(0x1a5));return this[_0x5153cd(0x284)];}[_0x299ab4(0x18e)](){const _0x46451e=_0x299ab4;if(!this['profileResources'])throw new Error(_0x46451e(0x18c));return this['profileResources'];}[_0x299ab4(0x257)](){const _0xc363a3=_0x299ab4;if(!this[_0xc363a3(0x186)])throw new Error(_0xc363a3(0x26a));return this['sliceResources'];}[_0x299ab4(0x231)](){const _0x358531=_0x299ab4;if(!this['axisResources'])throw new Error(_0x358531(0x280));return this['axisResources'];}['getSceneBindGroupLayout'](){const _0x550d32=_0x299ab4;if(!this[_0x550d32(0x1f5)])throw new Error(_0x550d32(0x1bd));return this[_0x550d32(0x1f5)];}[_0x299ab4(0x1b1)](){const _0x6c0f16=_0x299ab4;if(!this['geometryBindGroupLayout'])throw new Error('WebGPU\x20geometry\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20几何绑定布局不可用。');return this[_0x6c0f16(0x28e)];}[_0x299ab4(0x1ee)](){const _0x5822c3=_0x299ab4;if(!this['volumeBindGroupLayout'])throw new Error(_0x5822c3(0x1b4));return this['volumeBindGroupLayout'];}[_0x299ab4(0x1f7)](){const _0x4997b0=_0x299ab4;if(!this[_0x4997b0(0x291)])throw new Error(_0x4997b0(0x2b9));return this['transferBindGroupLayout'];}[_0x299ab4(0x227)](){const _0x1908ec=_0x299ab4;if(!this['sliceBindGroupLayout'])throw new Error(_0x1908ec(0x1aa));return this[_0x1908ec(0x1b8)];}[_0x299ab4(0x1ec)](){const _0x5c8c94=_0x299ab4;if(!this[_0x5c8c94(0x1a3)])throw new Error(_0x5c8c94(0x1ed));return this[_0x5c8c94(0x1a3)];}[_0x299ab4(0x245)](){const _0x14f1c8=_0x299ab4;if(!this[_0x14f1c8(0x1f3)])throw new Error(_0x14f1c8(0x2ad));return this[_0x14f1c8(0x1f3)];}}
|
|
1
|
+
const _0x5c76b0=_0x53eb;(function(_0x16ecb2,_0x589047){const _0x237ba9=_0x53eb,_0x430791=_0x16ecb2();while(!![]){try{const _0x4a66a1=-parseInt(_0x237ba9(0x1e1))/0x1+parseInt(_0x237ba9(0x1ef))/0x2+-parseInt(_0x237ba9(0x185))/0x3*(parseInt(_0x237ba9(0x203))/0x4)+parseInt(_0x237ba9(0x133))/0x5+parseInt(_0x237ba9(0xf5))/0x6*(-parseInt(_0x237ba9(0x176))/0x7)+-parseInt(_0x237ba9(0xdf))/0x8+parseInt(_0x237ba9(0x124))/0x9*(parseInt(_0x237ba9(0x1cf))/0xa);if(_0x4a66a1===_0x589047)break;else _0x430791['push'](_0x430791['shift']());}catch(_0x302326){_0x430791['push'](_0x430791['shift']());}}}(_0x23aa,0x6f988));import _0x4b02ce from'./shader/volumeRaymarch.wgsl?raw';import _0x3bdb85 from'./shader/sceneMesh.wgsl?raw';function _0x53eb(_0x54ab96,_0x29cb64){const _0x23aa7d=_0x23aa();return _0x53eb=function(_0x53eb7b,_0x5a6bd3){_0x53eb7b=_0x53eb7b-0xc5;let _0x1bd089=_0x23aa7d[_0x53eb7b];return _0x1bd089;},_0x53eb(_0x54ab96,_0x29cb64);}import _0x252ff5 from'./shader/volumeSlice.wgsl?raw';import{MAX_ATLAS_TEXTURE_COUNT,WebgpuBrickAtlas}from'./webgpuBrickAtlas';function _0x23aa(){const _0xcb4e4c=['gpu','WebGPU\x20transfer\x20resources\x20are\x20unavailable.\x20WebGPU\x20传递函数资源不可用。','colorMode','floor','WebGPU\x20volume\x20params\x20buffer\x20is\x20unavailable.\x20WebGPU\x20体积参数\x20Buffer\x20不可用。','cameraPosition','prepareBrickUpload','add','volume\x20raymarch\x20shader','configureSourceResources','metadata','882978YRMmhF','volume\x20always\x20visible\x20pass','getFormat','replace','setCamera','read-only-storage','frameAvailableCallback','values','slotCountY','touchBricks','finish','.\x20WebGPU\x20体积设备已丢失。','encodeOverlayPass','state','entries','validation','upload','options','getVolumeBindGroupLayout','volume\x20raymarch\x20pass','uploadBatchCount','onSubmittedWorkDone','halo','keys','densityScale','step','brickDepth','xAxis','cachedAxes','slotCount','sliceBindGroupLayout','setPipeline','vertexMain','writeVolumeParams','context','subarray','popErrorScope','isInteger','fragmentMain','centerEcefScaled','axisResources','slotCountX','setFrameAvailableCallback','encodeScenePass','uploadStagingBufferSize','line-list','recreateSceneBindGroup','216gMugQB','getCanvas','buffer','bgra8unorm','frameIndex','Failed\x20to\x20acquire\x20a\x20WebGPU\x20adapter\x20for\x20the\x20volume\x20scene.\x20无法为体积场景获取\x20WebGPU\x20adapter。','memoryLimitBytes','format','mapAsync','createBuffer','count','getDevice','drawMeshes','finally','ceil','208370bRguqb','volume\x20scene\x20frame','generation','volume\x20scene\x20bind\x20group\x20layout','catch','BYTES_PER_ELEMENT','initializing','volume\x20scene\x20geometry\x20pass','submit','WebGPU\x20volume\x20frame\x20capture\x20failed:\x20','writeBuffer','depth','uploadStagingBuffer','clientWidth','stepLength','requestAdapter','slotCountZ','one-minus-src-alpha','MAP_READ','cacheBrickUpload','cachedProfiles','float32x4','gpuBytes','createShaderModule','clear','ready','WebGPU\x20volume\x20device\x20was\x20lost:\x20','createPipelines','cacheOnSuccess','end','MAP_WRITE','setTransfer','transferResources','setBindGroup','captureFrame','submittedFrameCount','logicalIndex','COPY_DST','memoryTargetBytes','createView','AbortError','encodeVolumePass','pendingBrickUploads','push','prepared','volume\x20scene\x20mesh\x20shader','getAttachments','transferBindGroup','now','from','volume\x20scene\x20bind\x20group','volumePipeline','.\x20WebGPU\x20体积帧读取失败。','latitudeRadians','renderMode','clipMaximum','releaseGpuResources','scheduleUploadPump','WebGPU\x20volume\x20resources\x20were\x20released.\x20WebGPU\x20体积资源已释放。','load','less','premultiplied','COPY_SRC','getSceneBindGroupLayout','heightScaled','getAtlas','WebGPU\x20profile\x20resources\x20are\x20unavailable.\x20WebGPU\x20剖面资源不可用。','7xZdFFq','cachedBricks','clipMinimum','opacity','WebGPU\x20volume\x20format\x20is\x20not\x20initialized.\x20WebGPU\x20体积格式尚未初始化。','geometryBindGroup','getTransferBindGroupLayout','getAxisResources','initializationGeneration','drawSlices','store','byteLength','triangle-list','volumeBindGroupLayout','sceneBindGroupLayout','3tpfxRl','WebGPU\x20axis\x20resources\x20are\x20unavailable.\x20WebGPU\x20轴线资源不可用。','createBindGroup','isFinite','unfilterable-float','height','update','uploadedBrickCount','atlasCapacity','writeParams','statistics','sceneDepthView','inverseViewProjection','WebGPU\x20volume\x20source\x20must\x20be\x20configured\x20before\x20uploading\x20bricks.\x20上传砖块前必须配置\x20WebGPU\x20体积数据源。','WebGPU\x20scene\x20attachments\x20are\x20unavailable.\x20WebGPU\x20场景附件不可用。','powerPreference','\x20必须是正有限数值。','resolve','atlasLayout','color','webgpu','opacityStops','maxBufferSize','getCurrentTexture','VERTEX','idle','bufferOffset','cachedSlices','setAxes','geographicTransform','initialize','one','semiMinorAxisScaled','set','map','maximum','modelMatrix','lastFrameTimeMilliseconds','createBindGroupLayout','reject','WebGPU\x20scene\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20场景绑定布局不可用。','get','brickWidth','overlayTrianglePipeline','volumeParamsBuffer','then','overlayLinePipeline','getContext','error','UNIFORM','getPreferredCanvasFormat','message','attachments','sceneSlicePipeline','canvas','scene','WebGPU\x20scene\x20params\x20buffer\x20is\x20unavailable.\x20WebGPU\x20场景参数\x20Buffer\x20不可用。','\x20must\x20be\x20a\x20positive\x20finite\x20value.\x20','A\x20destroyed\x20WebGPU\x20volume\x20renderer\x20cannot\x20be\x20initialized\x20again.\x20已销毁的\x20WebGPU\x20体积渲染器不能再次初始化。','some','rejectPendingBrickUploads','frameInFlight','sliceResources','WebGPU\x20volume\x20scene\x20dimensions\x20must\x20be\x20positive\x20integers.\x20WebGPU\x20体积场景尺寸必须是正整数。','profileResources','\x20must\x20contain\x20sixteen\x20finite\x20values.\x20','draw','encodePreparedBrickUpload','volume\x20brick\x20reusable\x20upload\x20staging','requestDevice','.\x20创建\x20WebGPU\x20体积管线失败。','setProfiles','\x20must\x20be\x20a\x20non-negative\x20finite\x20value.\x20','createCommandEncoder','646280icjZTT','Volume\x20brick\x20upload\x20became\x20stale.\x20体积砖上传已过期。','all','updateTransferResources','resourceRebuildCount','beginRenderPass','adapter','high-performance','getUploadStagingBuffer','volume\x20atlas\x20bind\x20group\x20layout','lifecycleState','getSliceResources','camera','uniformUpdateCount','getGeometryBindGroupLayout','destroy','touch','WebGPU\x20slice\x20resources\x20are\x20unavailable.\x20WebGPU\x20切面资源不可用。','70389Xrpiuq','RENDER_ATTACHMENT','atlas','zAxis','unmap','volumeBindGroup','always-visible','volumeDimFactor','getTransferResources','getMappedRange','queue','WebGPU\x20volume\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20体积绑定布局不可用。','transferBindGroupLayout','getProfileResources','1509858HZYomX','size','pushErrorScope','residentBrickCount','resize','volume\x20geometry\x20bind\x20group\x20layout','brickHeight','createGpuResources','width','colorStops','volume\x20transfer\x20bind\x20group\x20layout','memoryHardLimitBytes','volume\x20frame\x20readback','copyTextureToBuffer','composite','processBrickUploads','clientHeight','skippedSamples','uploadPump','inverseModelMatrix','3315460MTcKlz','watchDeviceLost','value','WebGPU\x20volume\x20device\x20is\x20not\x20initialized.\x20WebGPU\x20体积\x20device\x20尚未初始化。','WebGPU\x20volume\x20context\x20is\x20not\x20initialized.\x20WebGPU\x20体积\x20context\x20尚未初始化。','sceneTrianglePipeline','uniform','overlaySlicePipeline','destroyed','sceneLinePipeline','lost','createPipelineLayout','READ','semiMajorAxisScaled','getSceneParamsBuffer','uploadGeneration','getSliceBindGroupLayout','sceneBindGroup','FRAGMENT','viewProjection','max','volume\x20slice\x20bind\x20group\x20layout','geometryBindGroupLayout','sceneParamsBuffer','createRenderPipeline','shift','maximumUploadBatchBytes','6753296ueiZzx','configure','yAxis','float32x3','getVolumeParamsBuffer','WebGPU\x20is\x20required\x20for\x20the\x20volume\x20scene\x20but\x20is\x20unavailable.\x20体积场景需要\x20WebGPU,但当前环境不可用。','unconfigure','length','device','noData','enqueueBrickUpload'];_0x23aa=function(){return _0xcb4e4c;};return _0x23aa();}import{WebgpuSceneAttachments}from'./webgpuSceneAttachments';import{WebgpuSceneMeshResources}from'./webgpuSceneMeshResources';import{WebgpuSliceResources}from'./webgpuSliceResources';import{WebgpuTransferResources}from'./webgpuTransferResources';const SCENE_PARAMS_FLOAT_COUNT=0x64,VOLUME_PARAMS_BYTE_SIZE=0x60,DEFAULT_MEMORY_TARGET_BYTES=0x200*0x400*0x400,MAX_UPLOAD_BATCH_BYTES=0x40*0x400*0x400,MAX_UPLOAD_BATCH_BRICKS=0x10,IDENTITY_MATRIX=[0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1],DEFAULT_COLOR_STOPS=[{'value':0x0,'color':[0x0,0x0,0x1,0x1]},{'value':0x1,'color':[0x1,0x0,0x0,0x1]}],DEFAULT_OPACITY_STOPS=[{'value':0x0,'opacity':0x0},{'value':0x1,'opacity':0x1}],premultipliedBlend=()=>({'color':{'srcFactor':_0x5c76b0(0x1a4),'dstFactor':_0x5c76b0(0x144),'operation':_0x5c76b0(0xf1)},'alpha':{'srcFactor':_0x5c76b0(0x1a4),'dstFactor':_0x5c76b0(0x144),'operation':_0x5c76b0(0xf1)}}),validateMatrix=(_0x1fa922,_0x4239be)=>{const _0x5759ac=_0x5c76b0;if(_0x1fa922['length']!==0x10||_0x1fa922[_0x5759ac(0x1c0)](_0x1a3080=>!Number[_0x5759ac(0x188)](_0x1a3080)))throw new Error(_0x4239be+_0x5759ac(0x1c6)+_0x4239be+'\x20必须包含十六个有限数值。');},validateNonNegative=(_0x187799,_0x2002d4)=>{const _0x3bcf82=_0x5c76b0;if(!Number[_0x3bcf82(0x188)](_0x187799)||_0x187799<0x0)throw new Error(_0x2002d4+_0x3bcf82(0x1cd)+_0x2002d4+'\x20必须是非负有限数值。');return _0x187799;},validatePositive=(_0x394e56,_0x29209d)=>{const _0x2e6953=_0x5c76b0;if(!Number[_0x2e6953(0x188)](_0x394e56)||_0x394e56<=0x0)throw new Error(_0x29209d+_0x2e6953(0x1be)+_0x29209d+_0x2e6953(0x195));return _0x394e56;},cloneMeshes=_0x31004f=>_0x31004f[_0x5c76b0(0x1a7)](_0x345bb6=>({..._0x345bb6,'vertices':new Float32Array(_0x345bb6['vertices'])})),estimateBrickUploadBytes=_0x531e7b=>{const _0x19162d=_0x5c76b0,_0x52c41f=_0x531e7b[_0x19162d(0x1af)]+_0x531e7b[_0x19162d(0x10b)]*0x2,_0x23604b=_0x531e7b[_0x19162d(0x1f5)]+_0x531e7b[_0x19162d(0x10b)]*0x2,_0x1e44d7=_0x531e7b[_0x19162d(0x10f)]+_0x531e7b['halo']*0x2,_0x3e8da8=Math[_0x19162d(0x132)](_0x52c41f*Float32Array[_0x19162d(0x138)]/0x100)*0x100;return _0x3e8da8*_0x23604b*_0x1e44d7+0x10;};export class WebgpuVolumeSceneRenderer{['options'];[_0x5c76b0(0x1d9)]=_0x5c76b0(0x19e);[_0x5c76b0(0x1bb)]=null;[_0x5c76b0(0x1d5)]=null;[_0x5c76b0(0xe7)]=null;[_0x5c76b0(0x117)]=null;['format']=null;[_0x5c76b0(0xdb)]=null;['volumeParamsBuffer']=null;[_0x5c76b0(0xda)]=null;[_0x5c76b0(0x184)]=null;[_0x5c76b0(0x183)]=null;['transferBindGroupLayout']=null;[_0x5c76b0(0x113)]=null;[_0x5c76b0(0x17b)]=null;[_0x5c76b0(0xd5)]=null;['volumeBindGroup']=null;[_0x5c76b0(0x162)]=null;[_0x5c76b0(0x166)]=null;['sceneTrianglePipeline']=null;['sceneLinePipeline']=null;[_0x5c76b0(0x1b0)]=null;[_0x5c76b0(0x1b3)]=null;[_0x5c76b0(0x1ba)]=null;['overlaySlicePipeline']=null;[_0x5c76b0(0x1b9)]=null;[_0x5c76b0(0x1e3)]=null;[_0x5c76b0(0x153)]=null;['profileResources']=null;['sliceResources']=null;['axisResources']=null;[_0x5c76b0(0xf4)]=null;['camera']={'viewProjection':IDENTITY_MATRIX,'inverseViewProjection':IDENTITY_MATRIX,'cameraPosition':[0x0,0x0,0x2]};[_0x5c76b0(0x1a9)]=IDENTITY_MATRIX;[_0x5c76b0(0x202)]=IDENTITY_MATRIX;[_0x5c76b0(0x178)]=[0x0,0x0,0x0];['clipMaximum']=[0x1,0x1,0x1];[_0x5c76b0(0x169)]=_0x5c76b0(0x1fd);['opacity']=0.3;['densityScale']=0x1;[_0x5c76b0(0x141)]=0.005;[_0x5c76b0(0x1e8)]=0x1;[_0x5c76b0(0xec)]='smooth';[_0x5c76b0(0x1a2)]=null;[_0x5c76b0(0x1f8)]=DEFAULT_COLOR_STOPS;['opacityStops']=DEFAULT_OPACITY_STOPS;[_0x5c76b0(0x128)]=0x0;[_0x5c76b0(0x156)]=0x0;[_0x5c76b0(0x1f7)]=0x0;['height']=0x0;['initializationGeneration']=0x0;['lastFrameTimeMilliseconds']=0x0;[_0x5c76b0(0x147)]=[];[_0x5c76b0(0x1a0)]=[];[_0x5c76b0(0x111)]=[];[_0x5c76b0(0x177)]=new Map();[_0x5c76b0(0x15d)]=[];[_0x5c76b0(0x201)]=null;['uploadGeneration']=0x0;[_0x5c76b0(0x13f)]=null;['uploadStagingBufferSize']=0x0;[_0x5c76b0(0x18c)]=0x0;[_0x5c76b0(0x109)]=0x0;[_0x5c76b0(0xde)]=0x0;[_0x5c76b0(0x1c2)]=![];[_0x5c76b0(0xfb)]=null;constructor(_0x3afa42={}){const _0x56ab99=_0x5c76b0;this[_0x56ab99(0x106)]={..._0x3afa42};}get[_0x5c76b0(0x102)](){return this['lifecycleState'];}get[_0x5c76b0(0x18f)](){const _0x29937b=_0x5c76b0,_0x2ef4d5=this[_0x29937b(0x1e3)]?.['statistics']??{'logicalBrickCount':0x0,'atlasCapacity':0x0,'gpuBytes':0x0,'memoryLimitBytes':this[_0x29937b(0x106)][_0x29937b(0x1fa)]??this[_0x29937b(0x106)]['memoryTargetBytes']??DEFAULT_MEMORY_TARGET_BYTES,'budgetLimited':![],'skippedSamples':0x0,'skippedCells':0x0},_0x43af77=this[_0x29937b(0x1c3)]?.[_0x29937b(0x18f)]??{'uniformUpdateCount':0x0,'resourceRebuildCount':0x0};return{'logicalBrickCount':_0x2ef4d5['logicalBrickCount'],'residentBrickCount':this[_0x29937b(0x1e3)]?.[_0x29937b(0x1f2)]??0x0,'pendingBrickCount':0x0,'atlasCapacity':_0x2ef4d5['atlasCapacity'],'gpuBytes':_0x2ef4d5[_0x29937b(0x149)],'memoryLimitBytes':_0x2ef4d5[_0x29937b(0x12a)],'budgetLimited':_0x2ef4d5['budgetLimited'],'frameTimeMilliseconds':this[_0x29937b(0x1aa)],'submittedFrameCount':this[_0x29937b(0x156)],'uploadedBrickCount':this[_0x29937b(0x18c)],'uploadBatchCount':this[_0x29937b(0x109)],'maximumUploadBatchBytes':this['maximumUploadBatchBytes'],'sliceUniformUpdateCount':_0x43af77[_0x29937b(0x1dc)],'sliceResourceRebuildCount':_0x43af77[_0x29937b(0x1d3)],'skippedSamples':_0x2ef4d5[_0x29937b(0x200)],'skippedCells':_0x2ef4d5['skippedCells']};}[_0x5c76b0(0x11f)](_0x549584){const _0x13fae4=_0x5c76b0;this[_0x13fae4(0xfb)]=_0x549584;}async[_0x5c76b0(0x1a3)](_0x20fff1){const _0x51a3d0=_0x5c76b0;if(this[_0x51a3d0(0x1d9)]===_0x51a3d0(0xcc))throw new Error(_0x51a3d0(0x1bf));const _0x5b034d=++this[_0x51a3d0(0x17e)];this[_0x51a3d0(0x16b)](),this[_0x51a3d0(0x1bb)]=_0x20fff1,this[_0x51a3d0(0x1d9)]=_0x51a3d0(0x139);const _0x11372d=navigator[_0x51a3d0(0xea)];if(!_0x11372d){this[_0x51a3d0(0x1d9)]=_0x51a3d0(0x19e);throw new Error(_0x51a3d0(0xe4));}const _0x599c77=await _0x11372d[_0x51a3d0(0x142)]({'powerPreference':this[_0x51a3d0(0x106)][_0x51a3d0(0x194)]??_0x51a3d0(0x1d6)});if(_0x5b034d!==this['initializationGeneration'])return;if(!_0x599c77){this['lifecycleState']=_0x51a3d0(0x19e);throw new Error(_0x51a3d0(0x129));}const _0x22c0d8=await _0x599c77[_0x51a3d0(0x1ca)]();if(_0x5b034d!==this[_0x51a3d0(0x17e)]){_0x22c0d8[_0x51a3d0(0x1de)]();return;}const _0x46ad90=_0x20fff1[_0x51a3d0(0x1b4)](_0x51a3d0(0x199));if(!_0x46ad90){_0x22c0d8['destroy'](),this[_0x51a3d0(0x1d9)]=_0x51a3d0(0x19e);throw new Error('Failed\x20to\x20create\x20a\x20WebGPU\x20canvas\x20context\x20for\x20the\x20volume\x20scene.\x20无法为体积场景创建\x20WebGPU\x20Canvas\x20上下文。');}const _0x2101cd=_0x11372d[_0x51a3d0(0x1b7)]();_0x46ad90['configure']({'device':_0x22c0d8,'format':_0x2101cd,'alphaMode':_0x51a3d0(0x170),'usage':GPUTextureUsage[_0x51a3d0(0x1e2)]|GPUTextureUsage['COPY_SRC']}),this['adapter']=_0x599c77,this[_0x51a3d0(0xe7)]=_0x22c0d8,this['context']=_0x46ad90,this[_0x51a3d0(0x12b)]=_0x2101cd,_0x22c0d8['pushErrorScope']('validation'),this[_0x51a3d0(0x1f6)]();const _0x5236ea=await _0x22c0d8[_0x51a3d0(0x119)]();if(_0x5236ea){this[_0x51a3d0(0x16b)](),this['lifecycleState']='idle';throw new Error('Failed\x20to\x20create\x20WebGPU\x20volume\x20pipelines:\x20'+_0x5236ea[_0x51a3d0(0x1b8)]+_0x51a3d0(0x1cb));}this[_0x51a3d0(0xc5)](_0x22c0d8),this[_0x51a3d0(0x1d9)]=_0x51a3d0(0x14c);if(this[_0x51a3d0(0xf4)]){this['configureSourceResources'](this[_0x51a3d0(0xf4)]);const _0x184927=Array[_0x51a3d0(0x164)](this[_0x51a3d0(0x177)][_0x51a3d0(0x103)]());await Promise[_0x51a3d0(0x1d1)](_0x184927[_0x51a3d0(0x1a7)](([_0x168ed1,_0x3fb230])=>this['enqueueBrickUpload']({'logicalIndex':_0x168ed1,'values':_0x3fb230},![])));}this[_0x51a3d0(0x1d2)](),this[_0x51a3d0(0x1ee)]()[_0x51a3d0(0xf8)](this[_0x51a3d0(0x147)]),this['getSliceResources']()[_0x51a3d0(0xf8)](this[_0x51a3d0(0x1a0)]),this[_0x51a3d0(0x17d)]()[_0x51a3d0(0xf8)](this[_0x51a3d0(0x111)]),this[_0x51a3d0(0x1f3)](_0x20fff1[_0x51a3d0(0x1f7)]||_0x20fff1[_0x51a3d0(0x140)]||0x1,_0x20fff1[_0x51a3d0(0x18a)]||_0x20fff1[_0x51a3d0(0x1ff)]||0x1);}['setSource'](_0x5ab009){const _0x3e9130=_0x5c76b0;this[_0x3e9130(0xd3)]+=0x1,this['rejectPendingBrickUploads'](new DOMException('Volume\x20brick\x20upload\x20was\x20superseded\x20by\x20a\x20new\x20source.\x20体积砖上传已被新数据源替代。',_0x3e9130(0x15b))),this[_0x3e9130(0xf4)]={..._0x5ab009},this[_0x3e9130(0x177)][_0x3e9130(0x14b)](),this[_0x3e9130(0x18c)]=0x0,this[_0x3e9130(0x109)]=0x0,this[_0x3e9130(0xde)]=0x0;if(this[_0x3e9130(0x1d9)]===_0x3e9130(0x14c))this[_0x3e9130(0xf3)](_0x5ab009);}['uploadBrick'](_0x5b9388){const _0x12d749=_0x5c76b0;return this[_0x12d749(0xe9)](_0x5b9388,!![]);}[_0x5c76b0(0xfe)](_0x565c86){const _0x29faa2=_0x5c76b0;this[_0x29faa2(0x174)]()[_0x29faa2(0x1df)](_0x565c86,this[_0x29faa2(0x128)]);for(const _0x216b41 of _0x565c86){const _0x271807=this[_0x29faa2(0x177)][_0x29faa2(0x1ae)](_0x216b41);if(!_0x271807)continue;this['cachedBricks']['delete'](_0x216b41),this[_0x29faa2(0x177)][_0x29faa2(0x1a6)](_0x216b41,_0x271807);}}[_0x5c76b0(0xf9)](_0x3c6a03){const _0xd64e66=_0x5c76b0;validateMatrix(_0x3c6a03[_0xd64e66(0xd7)],_0xd64e66(0xd7)),validateMatrix(_0x3c6a03[_0xd64e66(0x191)],_0xd64e66(0x191)),this['camera']={'viewProjection':[..._0x3c6a03['viewProjection']],'inverseViewProjection':[..._0x3c6a03[_0xd64e66(0x191)]],'cameraPosition':[..._0x3c6a03[_0xd64e66(0xef)]]};}[_0x5c76b0(0x1cc)](_0x2926cf){const _0x191f47=_0x5c76b0;this[_0x191f47(0x147)]=cloneMeshes(_0x2926cf),this['getProfileResources']()[_0x191f47(0xf8)](_0x2926cf);}['setSlices'](_0x2a1bbd){const _0x9e1c7f=_0x5c76b0;this['cachedSlices']=_0x2a1bbd[_0x9e1c7f(0x1a7)](_0x1290cf=>({..._0x1290cf})),this[_0x9e1c7f(0x1da)]()[_0x9e1c7f(0xf8)](_0x2a1bbd);}[_0x5c76b0(0x1a1)](_0x461830){const _0x216896=_0x5c76b0;this[_0x216896(0x111)]=cloneMeshes(_0x461830),this[_0x216896(0x17d)]()[_0x216896(0xf8)](_0x461830);}[_0x5c76b0(0x152)](_0xfb2f9b,_0x19a3dc,_0x401855){const _0x561425=_0x5c76b0;this['colorStops']=_0xfb2f9b[_0x561425(0x1a7)](_0x49daff=>({'value':_0x49daff[_0x561425(0xc6)],'color':[..._0x49daff[_0x561425(0x198)]]})),this['opacityStops']=_0x19a3dc[_0x561425(0x1a7)](_0x327992=>({..._0x327992}));if(_0x401855)this[_0x561425(0xec)]=_0x401855;if(this['lifecycleState']===_0x561425(0x14c))this[_0x561425(0x1d2)]();}[_0x5c76b0(0x18b)](_0x4335d8){const _0x4eed15=_0x5c76b0;_0x4335d8[_0x4eed15(0x1a9)]&&(validateMatrix(_0x4335d8[_0x4eed15(0x1a9)],_0x4eed15(0x1a9)),this[_0x4eed15(0x1a9)]=[..._0x4335d8[_0x4eed15(0x1a9)]]);_0x4335d8[_0x4eed15(0x202)]&&(validateMatrix(_0x4335d8[_0x4eed15(0x202)],'inverseModelMatrix'),this[_0x4eed15(0x202)]=[..._0x4335d8[_0x4eed15(0x202)]]);if(_0x4335d8[_0x4eed15(0x178)])this[_0x4eed15(0x178)]=[..._0x4335d8[_0x4eed15(0x178)]];if(_0x4335d8[_0x4eed15(0x16a)])this['clipMaximum']=[..._0x4335d8['clipMaximum']];if(_0x4335d8[_0x4eed15(0x169)])this[_0x4eed15(0x169)]=_0x4335d8['renderMode'];if(_0x4335d8['opacity']!==undefined)this[_0x4eed15(0x179)]=validateNonNegative(_0x4335d8['opacity'],_0x4eed15(0x179));if(_0x4335d8[_0x4eed15(0x10d)]!==undefined)this[_0x4eed15(0x10d)]=validateNonNegative(_0x4335d8[_0x4eed15(0x10d)],'densityScale');if(_0x4335d8[_0x4eed15(0x141)]!==undefined)this[_0x4eed15(0x141)]=validatePositive(_0x4335d8['stepLength'],_0x4eed15(0x141));if(_0x4335d8[_0x4eed15(0x1e8)]!==undefined)this[_0x4eed15(0x1e8)]=validateNonNegative(_0x4335d8[_0x4eed15(0x1e8)],'volumeDimFactor');if(_0x4335d8['colorMode'])this[_0x4eed15(0xec)]=_0x4335d8[_0x4eed15(0xec)];if(_0x4335d8[_0x4eed15(0x1a2)]!==undefined)this[_0x4eed15(0x1a2)]=_0x4335d8['geographicTransform']?{..._0x4335d8[_0x4eed15(0x1a2)]}:null;}[_0x5c76b0(0x1f3)](_0xf6be69,_0x3582bf){const _0x3b9624=_0x5c76b0;if(!Number[_0x3b9624(0x11a)](_0xf6be69)||!Number[_0x3b9624(0x11a)](_0x3582bf)||_0xf6be69<=0x0||_0x3582bf<=0x0)throw new Error(_0x3b9624(0x1c4));const _0x400e7b=this[_0x3b9624(0x125)]();_0x400e7b[_0x3b9624(0x1f7)]=_0xf6be69,_0x400e7b[_0x3b9624(0x18a)]=_0x3582bf,this[_0x3b9624(0x1f7)]=_0xf6be69,this['height']=_0x3582bf,this['getAttachments']()['resize'](_0xf6be69,_0x3582bf),this['recreateSceneBindGroup']();}['render'](){const _0x44b57e=_0x5c76b0;if(this[_0x44b57e(0x1d9)]!=='ready'||!this[_0x44b57e(0xf4)]||this[_0x44b57e(0x1f7)]<=0x0||this['height']<=0x0||this['frameInFlight'])return![];const _0x3f9243=performance[_0x44b57e(0x163)]();this['frameIndex']+=0x1,this[_0x44b57e(0x18e)]();const _0x5c7c48=this[_0x44b57e(0x12f)](),_0x29bbe0=_0x5c7c48[_0x44b57e(0x1ce)]({'label':_0x44b57e(0x134)}),_0x5194ea=this['getContext']()[_0x44b57e(0x19c)]()[_0x44b57e(0x15a)]();return this[_0x44b57e(0x120)](_0x29bbe0,_0x5194ea),this[_0x44b57e(0x15c)](_0x29bbe0,_0x5194ea),this[_0x44b57e(0x101)](_0x29bbe0,_0x5194ea),_0x5c7c48[_0x44b57e(0x1eb)][_0x44b57e(0x13b)]([_0x29bbe0[_0x44b57e(0xff)]()]),this[_0x44b57e(0x1c2)]=!![],this[_0x44b57e(0x156)]+=0x1,this[_0x44b57e(0x1aa)]=Math[_0x44b57e(0xd8)](0.000001,performance[_0x44b57e(0x163)]()-_0x3f9243),void _0x5c7c48[_0x44b57e(0x1eb)]['onSubmittedWorkDone']()[_0x44b57e(0x1b2)](()=>{const _0x4efd58=_0x44b57e;if(this['device']!==_0x5c7c48||this[_0x4efd58(0x1d9)]!==_0x4efd58(0x14c))return;this[_0x4efd58(0x1c2)]=![],this[_0x4efd58(0xfb)]?.();})[_0x44b57e(0x137)](()=>{const _0x25dbaf=_0x44b57e;if(this[_0x25dbaf(0xe7)]===_0x5c7c48)this[_0x25dbaf(0x1c2)]=![];}),!![];}async[_0x5c76b0(0x155)](){const _0x8628e2=_0x5c76b0;if(this['lifecycleState']!==_0x8628e2(0x14c)||!this[_0x8628e2(0xf4)]||this[_0x8628e2(0x1f7)]<=0x0||this[_0x8628e2(0x18a)]<=0x0)throw new Error('WebGPU\x20volume\x20renderer\x20is\x20not\x20ready\x20for\x20frame\x20capture.\x20WebGPU\x20体积渲染器尚不能读取帧。');const _0x15bba4=this['getDevice'](),_0x3d8e1c=this[_0x8628e2(0x1f7)]*0x4,_0x56dbf8=Math[_0x8628e2(0x132)](_0x3d8e1c/0x100)*0x100,_0x424cd5=_0x15bba4[_0x8628e2(0x12d)]({'label':_0x8628e2(0x1fb),'size':_0x56dbf8*this[_0x8628e2(0x18a)],'usage':GPUBufferUsage['COPY_DST']|GPUBufferUsage[_0x8628e2(0x145)]});_0x15bba4[_0x8628e2(0x1f1)](_0x8628e2(0x104)),this[_0x8628e2(0x128)]+=0x1,this['writeParams']();const _0x1de5d2=_0x15bba4[_0x8628e2(0x1ce)]({'label':'volume\x20frame\x20capture'}),_0x15bd0b=this[_0x8628e2(0x1b4)]()['getCurrentTexture'](),_0x147cfa=_0x15bd0b[_0x8628e2(0x15a)]();this[_0x8628e2(0x120)](_0x1de5d2,_0x147cfa),this['encodeVolumePass'](_0x1de5d2,_0x147cfa),this[_0x8628e2(0x101)](_0x1de5d2,_0x147cfa),_0x1de5d2[_0x8628e2(0x1fc)]({'texture':_0x15bd0b},{'buffer':_0x424cd5,'bytesPerRow':_0x56dbf8,'rowsPerImage':this['height']},[this[_0x8628e2(0x1f7)],this[_0x8628e2(0x18a)]]),_0x15bba4[_0x8628e2(0x1eb)][_0x8628e2(0x13b)]([_0x1de5d2['finish']()]);const _0x3eaaf1=await _0x15bba4[_0x8628e2(0x119)]();if(_0x3eaaf1){_0x424cd5[_0x8628e2(0x1de)]();throw new Error(_0x8628e2(0x13c)+_0x3eaaf1[_0x8628e2(0x1b8)]+_0x8628e2(0x167));}await _0x424cd5[_0x8628e2(0x12c)](GPUMapMode[_0x8628e2(0xd0)]);const _0x3fb8ba=new Uint8Array(_0x424cd5[_0x8628e2(0x1ea)]()),_0x303343=new Uint8Array(_0x3d8e1c*this[_0x8628e2(0x18a)]),_0x5994d1=this['getFormat']()===_0x8628e2(0x127);for(let _0x559bda=0x0;_0x559bda<this['height'];_0x559bda+=0x1){const _0x4d6a22=_0x3fb8ba[_0x8628e2(0x118)](_0x559bda*_0x56dbf8,_0x559bda*_0x56dbf8+_0x3d8e1c),_0x13f6d1=_0x559bda*_0x3d8e1c;if(!_0x5994d1){_0x303343[_0x8628e2(0x1a6)](_0x4d6a22,_0x13f6d1);continue;}for(let _0x5ab60b=0x0;_0x5ab60b<this[_0x8628e2(0x1f7)];_0x5ab60b+=0x1){const _0x24d6d0=_0x5ab60b*0x4,_0x1042af=_0x13f6d1+_0x24d6d0;_0x303343[_0x1042af]=_0x4d6a22[_0x24d6d0+0x2],_0x303343[_0x1042af+0x1]=_0x4d6a22[_0x24d6d0+0x1],_0x303343[_0x1042af+0x2]=_0x4d6a22[_0x24d6d0],_0x303343[_0x1042af+0x3]=_0x4d6a22[_0x24d6d0+0x3];}}return _0x424cd5[_0x8628e2(0x1e5)](),_0x424cd5[_0x8628e2(0x1de)](),this[_0x8628e2(0x156)]+=0x1,{'width':this['width'],'height':this[_0x8628e2(0x18a)],'pixels':_0x303343};}[_0x5c76b0(0x1de)](){const _0x1f85ec=_0x5c76b0;if(this[_0x1f85ec(0x1d9)]==='destroyed')return;++this[_0x1f85ec(0x17e)],this[_0x1f85ec(0x16b)](),this['canvas']=null,this[_0x1f85ec(0xf4)]=null,this[_0x1f85ec(0xfb)]=null,this[_0x1f85ec(0x1d9)]=_0x1f85ec(0xcc);}[_0x5c76b0(0x1f6)](){const _0x5651e0=_0x5c76b0,_0x316fe8=this[_0x5651e0(0x12f)]();this[_0x5651e0(0xdb)]=_0x316fe8[_0x5651e0(0x12d)]({'label':'volume\x20scene\x20params','size':SCENE_PARAMS_FLOAT_COUNT*0x4,'usage':GPUBufferUsage['UNIFORM']|GPUBufferUsage[_0x5651e0(0x158)]}),this[_0x5651e0(0x1b1)]=_0x316fe8[_0x5651e0(0x12d)]({'label':'volume\x20metadata\x20params','size':VOLUME_PARAMS_BYTE_SIZE,'usage':GPUBufferUsage[_0x5651e0(0x1b6)]|GPUBufferUsage[_0x5651e0(0x158)]}),this[_0x5651e0(0xda)]=_0x316fe8[_0x5651e0(0x1ab)]({'label':_0x5651e0(0x1f4),'entries':[{'binding':0x0,'visibility':GPUShaderStage[_0x5651e0(0x19d)]|GPUShaderStage['FRAGMENT'],'buffer':{'type':_0x5651e0(0xca)}}]}),this[_0x5651e0(0x184)]=_0x316fe8[_0x5651e0(0x1ab)]({'label':_0x5651e0(0x136),'entries':[{'binding':0x0,'visibility':GPUShaderStage[_0x5651e0(0x19d)]|GPUShaderStage[_0x5651e0(0xd6)],'buffer':{'type':_0x5651e0(0xca)}},{'binding':0x1,'visibility':GPUShaderStage[_0x5651e0(0xd6)],'texture':{'sampleType':_0x5651e0(0x13e)}}]}),this[_0x5651e0(0x183)]=_0x316fe8[_0x5651e0(0x1ab)]({'label':_0x5651e0(0x1d8),'entries':[...Array['from']({'length':MAX_ATLAS_TEXTURE_COUNT},(_0x141c6c,_0x3839d1)=>({'binding':_0x3839d1,'visibility':GPUShaderStage[_0x5651e0(0xd6)],'texture':{'sampleType':_0x5651e0(0x189),'viewDimension':'3d'}})),{'binding':MAX_ATLAS_TEXTURE_COUNT,'visibility':GPUShaderStage[_0x5651e0(0xd6)],'buffer':{'type':_0x5651e0(0xfa)}},{'binding':MAX_ATLAS_TEXTURE_COUNT+0x1,'visibility':GPUShaderStage['FRAGMENT'],'buffer':{'type':_0x5651e0(0xca)}}]}),this[_0x5651e0(0x1ed)]=_0x316fe8[_0x5651e0(0x1ab)]({'label':_0x5651e0(0x1f9),'entries':[0x0,0x1,0x2,0x3]['map'](_0x50e7fb=>({'binding':_0x50e7fb,'visibility':GPUShaderStage[_0x5651e0(0xd6)],'buffer':{'type':_0x5651e0(0xfa)}}))}),this['sliceBindGroupLayout']=_0x316fe8[_0x5651e0(0x1ab)]({'label':_0x5651e0(0xd9),'entries':[{'binding':0x0,'visibility':GPUShaderStage['VERTEX']|GPUShaderStage[_0x5651e0(0xd6)],'buffer':{'type':_0x5651e0(0xca)}}]}),this[_0x5651e0(0x1b9)]=new WebgpuSceneAttachments(_0x316fe8),this[_0x5651e0(0x153)]=new WebgpuTransferResources(_0x316fe8),this[_0x5651e0(0x1c5)]=new WebgpuSceneMeshResources(_0x316fe8),this[_0x5651e0(0x1c3)]=new WebgpuSliceResources(_0x316fe8,this[_0x5651e0(0xd4)]()),this[_0x5651e0(0x11d)]=new WebgpuSceneMeshResources(_0x316fe8),this[_0x5651e0(0x14e)]();}[_0x5c76b0(0x14e)](){const _0x1dd1f9=_0x5c76b0,_0x4f690c=this['getDevice'](),_0x513566=this[_0x1dd1f9(0xf7)](),_0x30d478=this['getGeometryBindGroupLayout'](),_0xcae249=this[_0x1dd1f9(0x172)](),_0x59d2df=_0x4f690c[_0x1dd1f9(0x14a)]({'label':_0x1dd1f9(0x160),'code':_0x3bdb85}),_0x7f5d97={'module':_0x59d2df,'entryPoint':'vertexMain','buffers':[{'arrayStride':0x1c,'attributes':[{'shaderLocation':0x0,'offset':0x0,'format':_0x1dd1f9(0xe2)},{'shaderLocation':0x1,'offset':0xc,'format':_0x1dd1f9(0x148)}]}]},_0xc2e1b5={'module':_0x59d2df,'entryPoint':_0x1dd1f9(0x11b),'targets':[{'format':_0x513566,'blend':premultipliedBlend()}]},_0x8b7a91=(_0x3864ee,_0x2c694b)=>_0x4f690c[_0x1dd1f9(0xdc)]({'layout':_0x4f690c[_0x1dd1f9(0xcf)]({'bindGroupLayouts':[_0x30d478]}),'vertex':_0x7f5d97,'fragment':_0xc2e1b5,'primitive':{'topology':_0x3864ee},'depthStencil':_0x2c694b?{'format':'depth32float','depthWriteEnabled':!![],'depthCompare':'less'}:undefined});this[_0x1dd1f9(0xc9)]=_0x8b7a91(_0x1dd1f9(0x182),!![]),this[_0x1dd1f9(0xcd)]=_0x8b7a91(_0x1dd1f9(0x122),!![]),this[_0x1dd1f9(0x1b0)]=_0x8b7a91(_0x1dd1f9(0x182),![]),this['overlayLinePipeline']=_0x8b7a91(_0x1dd1f9(0x122),![]);const _0x304ba4=_0x4f690c[_0x1dd1f9(0x14a)]({'label':_0x1dd1f9(0xf2),'code':_0x4b02ce});this[_0x1dd1f9(0x166)]=_0x4f690c['createRenderPipeline']({'layout':_0x4f690c[_0x1dd1f9(0xcf)]({'bindGroupLayouts':[_0xcae249,this[_0x1dd1f9(0x107)](),this[_0x1dd1f9(0x17c)]()]}),'vertex':{'module':_0x304ba4,'entryPoint':_0x1dd1f9(0x115)},'fragment':{'module':_0x304ba4,'entryPoint':'fragmentMain','targets':[{'format':_0x513566,'blend':premultipliedBlend()}]},'primitive':{'topology':_0x1dd1f9(0x182)}});const _0x1af531=_0x4f690c['createShaderModule']({'label':'volume\x20slice\x20shader','code':_0x252ff5}),_0x521646=_0x2976af=>_0x4f690c['createRenderPipeline']({'layout':_0x4f690c[_0x1dd1f9(0xcf)]({'bindGroupLayouts':[_0x30d478,this['getVolumeBindGroupLayout'](),this['getTransferBindGroupLayout'](),this[_0x1dd1f9(0xd4)]()]}),'vertex':{'module':_0x1af531,'entryPoint':_0x1dd1f9(0x115)},'fragment':{'module':_0x1af531,'entryPoint':'fragmentMain','targets':[{'format':_0x513566,'blend':premultipliedBlend()}]},'primitive':{'topology':_0x1dd1f9(0x182)},'depthStencil':_0x2976af?{'format':'depth32float','depthWriteEnabled':!![],'depthCompare':_0x1dd1f9(0x16f)}:undefined});this[_0x1dd1f9(0x1ba)]=_0x521646(!![]),this[_0x1dd1f9(0xcb)]=_0x521646(![]);}[_0x5c76b0(0xf3)](_0x10ce28){const _0x3f2edb=_0x5c76b0;this[_0x3f2edb(0x1e3)]?.[_0x3f2edb(0x1de)](),this[_0x3f2edb(0x1e3)]=new WebgpuBrickAtlas(this[_0x3f2edb(0x12f)](),this[_0x3f2edb(0x106)]['memoryTargetBytes']??DEFAULT_MEMORY_TARGET_BYTES,this['options'][_0x3f2edb(0x1fa)]??this[_0x3f2edb(0x106)][_0x3f2edb(0x159)]??DEFAULT_MEMORY_TARGET_BYTES),this['atlas'][_0x3f2edb(0xe0)](_0x10ce28),this[_0x3f2edb(0x116)](),this[_0x3f2edb(0x1e6)]=this[_0x3f2edb(0x1e3)]['createBindGroup'](this['getVolumeBindGroupLayout'](),this[_0x3f2edb(0xe3)]());}[_0x5c76b0(0xe9)](_0x107fe4,_0x300dad){return new Promise((_0x586bce,_0x52099d)=>{const _0x105f0a=_0x53eb;this[_0x105f0a(0x15d)]['push']({'upload':_0x107fe4,'generation':this['uploadGeneration'],'cacheOnSuccess':_0x300dad,'resolve':_0x586bce,'reject':_0x52099d}),this['scheduleUploadPump']();});}[_0x5c76b0(0x16c)](){const _0x343caf=_0x5c76b0;if(this[_0x343caf(0x201)])return;this[_0x343caf(0x201)]=Promise[_0x343caf(0x196)]()[_0x343caf(0x1b2)](()=>this['processBrickUploads']())[_0x343caf(0x131)](()=>{const _0x1970b3=_0x343caf;this[_0x1970b3(0x201)]=null;if(this['pendingBrickUploads'][_0x1970b3(0xe6)]>0x0&&this[_0x1970b3(0x1d9)]==='ready')this[_0x1970b3(0x16c)]();});}async[_0x5c76b0(0x1fe)](){const _0x2b4d1e=_0x5c76b0;while(this['pendingBrickUploads'][_0x2b4d1e(0xe6)]>0x0&&this['lifecycleState']==='ready'&&this[_0x2b4d1e(0xf4)]){const _0x327363=this['getDevice'](),_0x4c7a39=estimateBrickUploadBytes(this['metadata']),_0x3c2a48=Math['min'](MAX_UPLOAD_BATCH_BYTES,Math['max'](_0x4c7a39,Math[_0x2b4d1e(0xed)](_0x327363['limits'][_0x2b4d1e(0x19b)]/0x4))),_0x527ed6=[];let _0x175a7e=0x0;while(this[_0x2b4d1e(0x15d)]['length']>0x0&&_0x527ed6[_0x2b4d1e(0xe6)]<MAX_UPLOAD_BATCH_BRICKS){const _0xeca98c=this['pendingBrickUploads'][0x0];if(_0x527ed6[_0x2b4d1e(0xe6)]>0x0&&_0x175a7e+_0x4c7a39>_0x3c2a48)break;this[_0x2b4d1e(0x15d)][_0x2b4d1e(0xdd)]();if(_0xeca98c[_0x2b4d1e(0x135)]!==this[_0x2b4d1e(0xd3)]){_0xeca98c[_0x2b4d1e(0x1ac)](new DOMException('Volume\x20brick\x20upload\x20became\x20stale.\x20体积砖上传已过期。','AbortError'));continue;}_0x527ed6[_0x2b4d1e(0x15e)](_0xeca98c),_0x175a7e+=_0x4c7a39;}if(_0x527ed6[_0x2b4d1e(0xe6)]===0x0)continue;try{const _0x1f1f48=[];let _0x470a96=0x0;for(const _0x45bfee of _0x527ed6){const _0x10cab8=this[_0x2b4d1e(0x174)]()[_0x2b4d1e(0xf0)](_0x45bfee[_0x2b4d1e(0x105)],this[_0x2b4d1e(0x128)]),_0x218be5=Math[_0x2b4d1e(0x132)](_0x470a96/0x100)*0x100;_0x1f1f48[_0x2b4d1e(0x15e)]({'item':_0x45bfee,'prepared':_0x10cab8,'bufferOffset':_0x218be5}),_0x470a96=_0x218be5+_0x10cab8['values'][_0x2b4d1e(0x181)];}const _0x4aad36=this['getUploadStagingBuffer'](_0x470a96);await _0x4aad36['mapAsync'](GPUMapMode['WRITE']);const _0x4ddc16=new Uint8Array(_0x4aad36['getMappedRange']());for(const _0x4fd84c of _0x1f1f48){const _0x2bac8e=_0x4fd84c[_0x2b4d1e(0x15f)][_0x2b4d1e(0xfc)];_0x4ddc16[_0x2b4d1e(0x1a6)](new Uint8Array(_0x2bac8e[_0x2b4d1e(0x126)],_0x2bac8e['byteOffset'],_0x2bac8e['byteLength']),_0x4fd84c[_0x2b4d1e(0x19f)]);}_0x4aad36['unmap']();const _0x459682=_0x327363['createCommandEncoder']({'label':'volume\x20brick\x20upload\x20batch\x20flush'});for(const _0x5c2809 of _0x1f1f48){this[_0x2b4d1e(0x174)]()[_0x2b4d1e(0x1c8)](_0x459682,_0x4aad36,_0x5c2809[_0x2b4d1e(0x19f)],_0x5c2809[_0x2b4d1e(0x15f)]);}_0x327363[_0x2b4d1e(0x1eb)][_0x2b4d1e(0x13b)]([_0x459682[_0x2b4d1e(0xff)]()]),await _0x327363[_0x2b4d1e(0x1eb)][_0x2b4d1e(0x10a)](),await new Promise(_0x328987=>setTimeout(_0x328987,0x0)),this[_0x2b4d1e(0x18c)]+=_0x527ed6[_0x2b4d1e(0xe6)],this[_0x2b4d1e(0x109)]+=0x1,this['maximumUploadBatchBytes']=Math[_0x2b4d1e(0xd8)](this[_0x2b4d1e(0xde)],_0x175a7e);for(const _0x2c8adf of _0x527ed6){if(_0x2c8adf['generation']!==this[_0x2b4d1e(0xd3)]){_0x2c8adf[_0x2b4d1e(0x1ac)](new DOMException(_0x2b4d1e(0x1d0),'AbortError'));continue;}if(_0x2c8adf[_0x2b4d1e(0x14f)])this[_0x2b4d1e(0x146)](_0x2c8adf[_0x2b4d1e(0x105)]);_0x2c8adf[_0x2b4d1e(0x196)]();}}catch(_0x250c9f){for(const _0x2969e2 of _0x527ed6)_0x2969e2[_0x2b4d1e(0x1ac)](_0x250c9f);}}}[_0x5c76b0(0x1d7)](_0x52b560){const _0x3dfe3e=_0x5c76b0,_0x492f51=Math[_0x3dfe3e(0xd8)](0x100,Math[_0x3dfe3e(0x132)](_0x52b560/0x100)*0x100);if(this[_0x3dfe3e(0x13f)]&&this[_0x3dfe3e(0x121)]>=_0x492f51)return this['uploadStagingBuffer'];return this['uploadStagingBuffer']?.[_0x3dfe3e(0x1de)](),this['uploadStagingBuffer']=this[_0x3dfe3e(0x12f)]()['createBuffer']({'label':_0x3dfe3e(0x1c9),'size':_0x492f51,'usage':GPUBufferUsage[_0x3dfe3e(0x151)]|GPUBufferUsage[_0x3dfe3e(0x171)]}),this[_0x3dfe3e(0x121)]=_0x492f51,this[_0x3dfe3e(0x13f)];}[_0x5c76b0(0x146)](_0x5666e9){const _0x4abda=_0x5c76b0;this[_0x4abda(0x177)]['delete'](_0x5666e9[_0x4abda(0x157)]),this[_0x4abda(0x177)]['set'](_0x5666e9[_0x4abda(0x157)],new Float32Array(_0x5666e9[_0x4abda(0xfc)]));while(this[_0x4abda(0x177)][_0x4abda(0x1f0)]>this[_0x4abda(0x18f)][_0x4abda(0x18d)]){const _0x450cd3=this[_0x4abda(0x177)][_0x4abda(0x10c)]()['next']()[_0x4abda(0xc6)];if(_0x450cd3===undefined)break;this[_0x4abda(0x177)]['delete'](_0x450cd3);}}[_0x5c76b0(0x1c1)](_0x38a2a8){const _0x5b0514=_0x5c76b0;for(const _0xaed221 of this['pendingBrickUploads']['splice'](0x0))_0xaed221[_0x5b0514(0x1ac)](_0x38a2a8);}[_0x5c76b0(0x1d2)](){const _0x26701c=_0x5c76b0,_0x3f4d3c=this[_0x26701c(0x1e9)]();_0x3f4d3c[_0x26701c(0x18b)](this[_0x26701c(0x1f8)],this[_0x26701c(0x19a)]),this[_0x26701c(0x162)]=_0x3f4d3c[_0x26701c(0x187)](this[_0x26701c(0x17c)]());}[_0x5c76b0(0x123)](){const _0x13adee=_0x5c76b0;if(!this[_0x13adee(0xdb)]||!this[_0x13adee(0x1b9)]||!this[_0x13adee(0xda)]||!this['sceneBindGroupLayout'])return;this[_0x13adee(0x17b)]=this[_0x13adee(0x12f)]()[_0x13adee(0x187)]({'label':'volume\x20geometry\x20bind\x20group','layout':this[_0x13adee(0xda)],'entries':[{'binding':0x0,'resource':{'buffer':this[_0x13adee(0xdb)]}}]}),this['sceneBindGroup']=this['getDevice']()['createBindGroup']({'label':_0x13adee(0x165),'layout':this[_0x13adee(0x184)],'entries':[{'binding':0x0,'resource':{'buffer':this[_0x13adee(0xdb)]}},{'binding':0x1,'resource':this['attachments']['sceneDepthView']}]});}[_0x5c76b0(0x18e)](){const _0x2c83fc=_0x5c76b0,_0x391fc9=new Float32Array(SCENE_PARAMS_FLOAT_COUNT);_0x391fc9[_0x2c83fc(0x1a6)](this['camera']['viewProjection'],0x0),_0x391fc9[_0x2c83fc(0x1a6)](this[_0x2c83fc(0x1db)][_0x2c83fc(0x191)],0x10),_0x391fc9[_0x2c83fc(0x1a6)](this[_0x2c83fc(0x1a9)],0x20),_0x391fc9[_0x2c83fc(0x1a6)](this[_0x2c83fc(0x202)],0x30),_0x391fc9[_0x2c83fc(0x1a6)]([...this['camera'][_0x2c83fc(0xef)],0x1],0x40),_0x391fc9['set']([this[_0x2c83fc(0x1f7)],this[_0x2c83fc(0x18a)],0x1/this[_0x2c83fc(0x1f7)],0x1/this[_0x2c83fc(0x18a)]],0x44),_0x391fc9[_0x2c83fc(0x1a6)]([...this[_0x2c83fc(0x178)],0x0],0x48),_0x391fc9[_0x2c83fc(0x1a6)]([...this[_0x2c83fc(0x16a)],0x0],0x4c),_0x391fc9['set']([this[_0x2c83fc(0x169)]===_0x2c83fc(0x1a8)?0x1:0x0,this[_0x2c83fc(0x179)],this[_0x2c83fc(0x10d)],this[_0x2c83fc(0x141)]],0x50),_0x391fc9[_0x2c83fc(0x1a6)]([this[_0x2c83fc(0x1f8)][_0x2c83fc(0xe6)],this[_0x2c83fc(0x19a)]['length'],this[_0x2c83fc(0x1e8)],this[_0x2c83fc(0xec)]===_0x2c83fc(0x10e)?0x1:0x0],0x54);const _0x46eadc=this['geographicTransform'];_0x46eadc&&(_0x391fc9[_0x2c83fc(0x1a6)]([0x1,..._0x46eadc[_0x2c83fc(0x11c)]],0x58),_0x391fc9[_0x2c83fc(0x1a6)]([_0x46eadc[_0x2c83fc(0xd1)],_0x46eadc[_0x2c83fc(0x1a5)],..._0x46eadc['longitudeRadians']],0x5c),_0x391fc9[_0x2c83fc(0x1a6)]([..._0x46eadc[_0x2c83fc(0x168)],..._0x46eadc[_0x2c83fc(0x173)]],0x60)),this[_0x2c83fc(0x12f)]()[_0x2c83fc(0x1eb)]['writeBuffer'](this['getSceneParamsBuffer'](),0x0,_0x391fc9);}[_0x5c76b0(0x116)](){const _0x2e0813=_0x5c76b0,_0x10d500=this[_0x2e0813(0xf4)],_0x59c9c3=this[_0x2e0813(0x1e3)];if(!_0x10d500||!_0x59c9c3)return;const _0x186ab3=_0x59c9c3[_0x2e0813(0x197)],_0x1c0ab6=new Uint32Array(VOLUME_PARAMS_BYTE_SIZE/0x4),_0xf957a1=Math[_0x2e0813(0x132)](_0x10d500[_0x2e0813(0x110)][_0x2e0813(0x12e)]/_0x10d500[_0x2e0813(0x1af)]),_0x517119=Math[_0x2e0813(0x132)](_0x10d500[_0x2e0813(0xe1)][_0x2e0813(0x12e)]/_0x10d500['brickHeight']),_0x5483a7=Math['ceil'](_0x10d500[_0x2e0813(0x1e4)][_0x2e0813(0x12e)]/_0x10d500[_0x2e0813(0x10f)]);_0x1c0ab6[_0x2e0813(0x1a6)]([_0x10d500[_0x2e0813(0x110)][_0x2e0813(0x12e)],_0x10d500[_0x2e0813(0xe1)][_0x2e0813(0x12e)],_0x10d500[_0x2e0813(0x1e4)]['count'],0x0],0x0),_0x1c0ab6[_0x2e0813(0x1a6)]([_0x10d500['brickWidth'],_0x10d500[_0x2e0813(0x1f5)],_0x10d500['brickDepth'],0x1],0x4),_0x1c0ab6[_0x2e0813(0x1a6)]([_0xf957a1,_0x517119,_0x5483a7,0x0],0x8),_0x1c0ab6['set']([_0x186ab3[_0x2e0813(0x11e)],_0x186ab3[_0x2e0813(0xfd)],_0x186ab3[_0x2e0813(0x143)],_0x186ab3[_0x2e0813(0x112)]],0xc),_0x1c0ab6[_0x2e0813(0x1a6)]([(_0x10d500[_0x2e0813(0x1af)]+0x2)*_0x186ab3[_0x2e0813(0x11e)],(_0x10d500[_0x2e0813(0x1f5)]+0x2)*_0x186ab3[_0x2e0813(0xfd)],(_0x10d500[_0x2e0813(0x10f)]+0x2)*_0x186ab3[_0x2e0813(0x143)],0x0],0x10);const _0x490086=new Float32Array(_0x1c0ab6[_0x2e0813(0x126)]);_0x490086[_0x2e0813(0x1a6)]([_0x10d500[_0x2e0813(0xe8)]??0x0,_0x10d500[_0x2e0813(0xe8)]===undefined?0x0:0x1,0x0,0x0],0x14),this[_0x2e0813(0x12f)]()[_0x2e0813(0x1eb)][_0x2e0813(0x13d)](this[_0x2e0813(0xe3)](),0x0,_0x1c0ab6);}['encodeScenePass'](_0x4fe550,_0x5e87fb){const _0x24ca7c=_0x5c76b0,_0x4410cc=_0x4fe550[_0x24ca7c(0x1d4)]({'label':_0x24ca7c(0x13a),'colorAttachments':[{'view':_0x5e87fb,'clearValue':{'r':0x0,'g':0x0,'b':0x0,'a':0x0},'loadOp':_0x24ca7c(0x14b),'storeOp':_0x24ca7c(0x180)}],'depthStencilAttachment':{'view':this[_0x24ca7c(0x161)]()[_0x24ca7c(0x190)],'depthClearValue':0x1,'depthLoadOp':_0x24ca7c(0x14b),'depthStoreOp':_0x24ca7c(0x180)}});this['drawMeshes'](_0x4410cc,'scene'),this['drawSlices'](_0x4410cc,_0x24ca7c(0x1bc)),_0x4410cc[_0x24ca7c(0x150)]();}[_0x5c76b0(0x15c)](_0x4050d1,_0x28ae77){const _0x32977a=_0x5c76b0;if(!this[_0x32977a(0x1e6)]||!this[_0x32977a(0x162)]||!this[_0x32977a(0xd5)]||!this[_0x32977a(0x166)])return;const _0x146f7f=_0x4050d1['beginRenderPass']({'label':_0x32977a(0x108),'colorAttachments':[{'view':_0x28ae77,'loadOp':_0x32977a(0x16e),'storeOp':'store'}]});_0x146f7f['setPipeline'](this[_0x32977a(0x166)]),_0x146f7f[_0x32977a(0x154)](0x0,this[_0x32977a(0xd5)]),_0x146f7f['setBindGroup'](0x1,this[_0x32977a(0x1e6)]),_0x146f7f[_0x32977a(0x154)](0x2,this[_0x32977a(0x162)]),_0x146f7f['draw'](0x3),_0x146f7f[_0x32977a(0x150)]();}[_0x5c76b0(0x101)](_0x22a7cd,_0x44a95b){const _0x271f77=_0x5c76b0,_0xe0e4ca=_0x22a7cd[_0x271f77(0x1d4)]({'label':_0x271f77(0xf6),'colorAttachments':[{'view':_0x44a95b,'loadOp':_0x271f77(0x16e),'storeOp':_0x271f77(0x180)}]});this[_0x271f77(0x130)](_0xe0e4ca,_0x271f77(0x1e7)),this[_0x271f77(0x17f)](_0xe0e4ca,_0x271f77(0x1e7)),_0xe0e4ca[_0x271f77(0x150)]();}[_0x5c76b0(0x130)](_0x1855bc,_0x8634d6){const _0x19d5d1=_0x5c76b0,_0x284b7e=this[_0x19d5d1(0x17b)];if(!_0x284b7e)return;const _0x2b46ed=_0x8634d6==='scene'?this[_0x19d5d1(0xc9)]:this['overlayTrianglePipeline'],_0x3cac0d=_0x8634d6===_0x19d5d1(0x1bc)?this[_0x19d5d1(0xcd)]:this[_0x19d5d1(0x1b3)];_0x2b46ed&&(_0x1855bc[_0x19d5d1(0x114)](_0x2b46ed),_0x1855bc['setBindGroup'](0x0,_0x284b7e),this['profileResources']?.['draw'](_0x1855bc,_0x19d5d1(0x182),_0x8634d6),this['axisResources']?.[_0x19d5d1(0x1c7)](_0x1855bc,_0x19d5d1(0x182),_0x8634d6)),_0x3cac0d&&(_0x1855bc[_0x19d5d1(0x114)](_0x3cac0d),_0x1855bc['setBindGroup'](0x0,_0x284b7e),this[_0x19d5d1(0x1c5)]?.[_0x19d5d1(0x1c7)](_0x1855bc,_0x19d5d1(0x122),_0x8634d6),this[_0x19d5d1(0x11d)]?.['draw'](_0x1855bc,_0x19d5d1(0x122),_0x8634d6));}[_0x5c76b0(0x17f)](_0x1b4b04,_0x5cb510){const _0x5045a0=_0x5c76b0,_0x235cca=_0x5cb510===_0x5045a0(0x1bc)?this[_0x5045a0(0x1ba)]:this[_0x5045a0(0xcb)];if(!_0x235cca||!this['geometryBindGroup']||!this['volumeBindGroup']||!this[_0x5045a0(0x162)])return;_0x1b4b04[_0x5045a0(0x154)](0x0,this[_0x5045a0(0x17b)]),_0x1b4b04[_0x5045a0(0x154)](0x1,this[_0x5045a0(0x1e6)]),_0x1b4b04[_0x5045a0(0x154)](0x2,this[_0x5045a0(0x162)]),this[_0x5045a0(0x1c3)]?.['draw'](_0x1b4b04,_0x235cca,_0x5cb510);}[_0x5c76b0(0xc5)](_0x3f33b8){const _0x3959e8=_0x5c76b0;void _0x3f33b8[_0x3959e8(0xce)][_0x3959e8(0x1b2)](_0x4ae22a=>{const _0x32a729=_0x3959e8;if(this[_0x32a729(0xe7)]!==_0x3f33b8||this[_0x32a729(0x1d9)]===_0x32a729(0xcc))return;this[_0x32a729(0x1d9)]=_0x32a729(0xce),console[_0x32a729(0x1b5)](_0x32a729(0x14d)+_0x4ae22a['message']+_0x32a729(0x100));const _0x5ef56b=this['canvas'];this[_0x32a729(0x16b)](),_0x5ef56b&&void this[_0x32a729(0x1a3)](_0x5ef56b)[_0x32a729(0x137)](_0x445a5b=>{const _0x101472=_0x32a729;console[_0x101472(0x1b5)]('WebGPU\x20volume\x20device\x20restoration\x20failed.\x20WebGPU\x20体积设备恢复失败。',_0x445a5b);});});}[_0x5c76b0(0x16b)](){const _0x3cd2ad=_0x5c76b0;this[_0x3cd2ad(0xd3)]+=0x1,this[_0x3cd2ad(0x1c1)](new DOMException(_0x3cd2ad(0x16d),_0x3cd2ad(0x15b))),this['atlas']?.['destroy'](),this['transferResources']?.['destroy'](),this[_0x3cd2ad(0x1c5)]?.[_0x3cd2ad(0x1de)](),this[_0x3cd2ad(0x1c3)]?.['destroy'](),this[_0x3cd2ad(0x11d)]?.[_0x3cd2ad(0x1de)](),this[_0x3cd2ad(0x1b9)]?.['destroy'](),this[_0x3cd2ad(0xdb)]?.['destroy'](),this[_0x3cd2ad(0x1b1)]?.[_0x3cd2ad(0x1de)](),this[_0x3cd2ad(0x13f)]?.[_0x3cd2ad(0x1de)]();try{this[_0x3cd2ad(0x117)]?.[_0x3cd2ad(0xe5)]();}catch{}this['device']?.[_0x3cd2ad(0x1de)](),this[_0x3cd2ad(0x1d5)]=null,this[_0x3cd2ad(0xe7)]=null,this[_0x3cd2ad(0x117)]=null,this[_0x3cd2ad(0x12b)]=null,this['sceneParamsBuffer']=null,this[_0x3cd2ad(0x1b1)]=null,this[_0x3cd2ad(0x13f)]=null,this[_0x3cd2ad(0x121)]=0x0,this['geometryBindGroupLayout']=null,this['sceneBindGroupLayout']=null,this[_0x3cd2ad(0x183)]=null,this['transferBindGroupLayout']=null,this[_0x3cd2ad(0x113)]=null,this['geometryBindGroup']=null,this[_0x3cd2ad(0xd5)]=null,this['volumeBindGroup']=null,this[_0x3cd2ad(0x162)]=null,this[_0x3cd2ad(0x166)]=null,this[_0x3cd2ad(0xc9)]=null,this[_0x3cd2ad(0xcd)]=null,this[_0x3cd2ad(0x1b0)]=null,this[_0x3cd2ad(0x1b3)]=null,this[_0x3cd2ad(0x1ba)]=null,this['overlaySlicePipeline']=null,this[_0x3cd2ad(0x1b9)]=null,this[_0x3cd2ad(0x1e3)]=null,this[_0x3cd2ad(0x153)]=null,this[_0x3cd2ad(0x1c5)]=null,this[_0x3cd2ad(0x1c3)]=null,this['axisResources']=null,this[_0x3cd2ad(0x1c2)]=![],this[_0x3cd2ad(0x1f7)]=0x0,this[_0x3cd2ad(0x18a)]=0x0;}[_0x5c76b0(0x12f)](){const _0x4d7f4f=_0x5c76b0;if(!this['device'])throw new Error(_0x4d7f4f(0xc7));return this['device'];}[_0x5c76b0(0x1b4)](){const _0x37fa8c=_0x5c76b0;if(!this['context'])throw new Error(_0x37fa8c(0xc8));return this['context'];}[_0x5c76b0(0xf7)](){const _0x28e438=_0x5c76b0;if(!this[_0x28e438(0x12b)])throw new Error(_0x28e438(0x17a));return this[_0x28e438(0x12b)];}[_0x5c76b0(0x125)](){const _0x30c253=_0x5c76b0;if(!this[_0x30c253(0x1bb)])throw new Error('WebGPU\x20volume\x20canvas\x20is\x20not\x20initialized.\x20WebGPU\x20体积\x20Canvas\x20尚未初始化。');return this[_0x30c253(0x1bb)];}[_0x5c76b0(0x161)](){const _0x3f7826=_0x5c76b0;if(!this[_0x3f7826(0x1b9)])throw new Error(_0x3f7826(0x193));return this['attachments'];}[_0x5c76b0(0x174)](){const _0x4887e7=_0x5c76b0;if(!this[_0x4887e7(0x1e3)])throw new Error(_0x4887e7(0x192));return this[_0x4887e7(0x1e3)];}['getTransferResources'](){const _0x4ca50c=_0x5c76b0;if(!this[_0x4ca50c(0x153)])throw new Error(_0x4ca50c(0xeb));return this['transferResources'];}[_0x5c76b0(0x1ee)](){const _0x2244ee=_0x5c76b0;if(!this[_0x2244ee(0x1c5)])throw new Error(_0x2244ee(0x175));return this[_0x2244ee(0x1c5)];}[_0x5c76b0(0x1da)](){const _0x35726d=_0x5c76b0;if(!this[_0x35726d(0x1c3)])throw new Error(_0x35726d(0x1e0));return this['sliceResources'];}[_0x5c76b0(0x17d)](){const _0x509634=_0x5c76b0;if(!this[_0x509634(0x11d)])throw new Error(_0x509634(0x186));return this['axisResources'];}[_0x5c76b0(0x172)](){const _0x7ca031=_0x5c76b0;if(!this[_0x7ca031(0x184)])throw new Error(_0x7ca031(0x1ad));return this[_0x7ca031(0x184)];}[_0x5c76b0(0x1dd)](){const _0x154da4=_0x5c76b0;if(!this[_0x154da4(0xda)])throw new Error('WebGPU\x20geometry\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20几何绑定布局不可用。');return this[_0x154da4(0xda)];}[_0x5c76b0(0x107)](){const _0x8f2c83=_0x5c76b0;if(!this[_0x8f2c83(0x183)])throw new Error(_0x8f2c83(0x1ec));return this[_0x8f2c83(0x183)];}['getTransferBindGroupLayout'](){const _0x2dc699=_0x5c76b0;if(!this[_0x2dc699(0x1ed)])throw new Error('WebGPU\x20transfer\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20传递函数绑定布局不可用。');return this[_0x2dc699(0x1ed)];}['getSliceBindGroupLayout'](){const _0x4508fc=_0x5c76b0;if(!this[_0x4508fc(0x113)])throw new Error('WebGPU\x20slice\x20bind\x20group\x20layout\x20is\x20unavailable.\x20WebGPU\x20切面绑定布局不可用。');return this[_0x4508fc(0x113)];}[_0x5c76b0(0xd2)](){const _0x23f2c5=_0x5c76b0;if(!this[_0x23f2c5(0xdb)])throw new Error(_0x23f2c5(0x1bd));return this[_0x23f2c5(0xdb)];}[_0x5c76b0(0xe3)](){const _0xed983d=_0x5c76b0;if(!this[_0xed983d(0x1b1)])throw new Error(_0xed983d(0xee));return this[_0xed983d(0x1b1)];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x57a3(_0x51b17c,_0x43616e){const _0x36124b=_0x3612();return _0x57a3=function(_0x57a3a9,_0xafbeb7){_0x57a3a9=_0x57a3a9-0x1cc;let _0x2ab3ee=_0x36124b[_0x57a3a9];return _0x2ab3ee;},_0x57a3(_0x51b17c,_0x43616e);}const _0xaa3be=_0x57a3;function _0x3612(){const _0x16cfab=['noData','NaN','depthMode','\x20的\x20values\x20长度与\x20path、heights\x20不匹配。','\x20的\x20path\x20包含非有限坐标。','path','scene','values','8896850ruDfCi','length','\x20至少需要两个高度层。','路线剖面\x20','路线剖面\x20id\x20不能为空。','end','start','heights','revision','zAxis','2702yFrmMO','1097848lLsrqQ','xAxis','127625YvKDXK','4121208vRHvJp','727800qMZUlR','38953YAsONk','opacity','\x20的\x20heights\x20包含非有限高度。','10VSQXTy','9832gPcows','isFinite','yAxis','24FkUIXy'];_0x3612=function(){return _0x16cfab;};return _0x3612();}(function(_0x464c4c,_0x40c2d4){const _0x1d2ba4=_0x57a3,_0x511ee7=_0x464c4c();while(!![]){try{const _0x19680b=parseInt(_0x1d2ba4(0x1da))/0x1*(-parseInt(_0x1d2ba4(0x1dd))/0x2)+-parseInt(_0x1d2ba4(0x1d9))/0x3+-parseInt(_0x1d2ba4(0x1d5))/0x4+-parseInt(_0x1d2ba4(0x1d7))/0x5*(-parseInt(_0x1d2ba4(0x1e1))/0x6)+-parseInt(_0x1d2ba4(0x1d4))/0x7*(-parseInt(_0x1d2ba4(0x1de))/0x8)+-parseInt(_0x1d2ba4(0x1d8))/0x9+parseInt(_0x1d2ba4(0x1ea))/0xa;if(_0x19680b===_0x40c2d4)break;else _0x511ee7['push'](_0x511ee7['shift']());}catch(_0x44548c){_0x511ee7['push'](_0x511ee7['shift']());}}}(_0x3612,0x485f8));const POSITION_COMPONENT_COUNT=0x3,isMissingValue=(_0x4c5e5e,_0x487ad2)=>Number['isNaN'](_0x4c5e5e)||_0x487ad2!==undefined&&_0x4c5e5e===_0x487ad2,axisValueToNormalized=(_0x33030,_0x331521)=>_0x33030[_0xaa3be(0x1d0)]===_0x33030[_0xaa3be(0x1cf)]?0x0:(_0x331521-_0x33030[_0xaa3be(0x1d0)])/(_0x33030['end']-_0x33030[_0xaa3be(0x1d0)]),validateProfile=_0x17d6fc=>{const _0x3e92a9=_0xaa3be;if(!_0x17d6fc['id'])throw new Error(_0x3e92a9(0x1ce));if(_0x17d6fc[_0x3e92a9(0x1e7)][_0x3e92a9(0x1eb)]<0x4||_0x17d6fc[_0x3e92a9(0x1e7)][_0x3e92a9(0x1eb)]%0x2!==0x0)throw new Error(_0x3e92a9(0x1cd)+_0x17d6fc['id']+'\x20的\x20path\x20必须包含至少两个\x20[x,\x20z]\x20点。');if(_0x17d6fc[_0x3e92a9(0x1d1)][_0x3e92a9(0x1eb)]<0x2)throw new Error(_0x3e92a9(0x1cd)+_0x17d6fc['id']+_0x3e92a9(0x1cc));const _0x2a1ab1=_0x17d6fc[_0x3e92a9(0x1e7)][_0x3e92a9(0x1eb)]/0x2;if(_0x17d6fc[_0x3e92a9(0x1e9)][_0x3e92a9(0x1eb)]!==_0x2a1ab1*_0x17d6fc[_0x3e92a9(0x1d1)][_0x3e92a9(0x1eb)])throw new Error(_0x3e92a9(0x1cd)+_0x17d6fc['id']+_0x3e92a9(0x1e5));if(_0x17d6fc['opacity']!==undefined&&(!(_0x17d6fc[_0x3e92a9(0x1db)]>=0x0&&_0x17d6fc[_0x3e92a9(0x1db)]<=0x1)||!Number[_0x3e92a9(0x1df)](_0x17d6fc[_0x3e92a9(0x1db)])))throw new Error('路线剖面\x20'+_0x17d6fc['id']+'\x20的\x20opacity\x20必须位于\x200\x20到\x201。');for(const _0x465b06 of _0x17d6fc[_0x3e92a9(0x1e7)]){if(!Number['isFinite'](_0x465b06))throw new Error('路线剖面\x20'+_0x17d6fc['id']+_0x3e92a9(0x1e6));}for(const _0x5bced4 of _0x17d6fc[_0x3e92a9(0x1d1)]){if(!Number[_0x3e92a9(0x1df)](_0x5bced4))throw new Error(_0x3e92a9(0x1cd)+_0x17d6fc['id']+_0x3e92a9(0x1dc));}return _0x2a1ab1;},createPositions=(_0x34ce4c,_0x52db71,_0x193f4a)=>{const _0xe29ebc=_0xaa3be,_0x5d575d=new Float32Array(_0x52db71*_0x34ce4c['heights'][_0xe29ebc(0x1eb)]*POSITION_COMPONENT_COUNT);for(let _0x2ce78f=0x0;_0x2ce78f<_0x34ce4c[_0xe29ebc(0x1d1)][_0xe29ebc(0x1eb)];_0x2ce78f+=0x1){for(let _0x31c90b=0x0;_0x31c90b<_0x52db71;_0x31c90b+=0x1){const _0x24b3ab=_0x2ce78f*_0x52db71+_0x31c90b,_0x48f836=_0x24b3ab*POSITION_COMPONENT_COUNT;_0x5d575d[_0x48f836]=axisValueToNormalized(_0x193f4a[_0xe29ebc(0x1d6)],_0x34ce4c['path'][_0x31c90b*0x2]),_0x5d575d[_0x48f836+0x1]=axisValueToNormalized(_0x193f4a[_0xe29ebc(0x1e0)],_0x34ce4c[_0xe29ebc(0x1d1)][_0x2ce78f]),_0x5d575d[_0x48f836+0x2]=axisValueToNormalized(_0x193f4a[_0xe29ebc(0x1d3)],_0x34ce4c[_0xe29ebc(0x1e7)][_0x31c90b*0x2+0x1]);}}return _0x5d575d;},createValues=_0x288267=>{const _0x7a6fbf=_0xaa3be,_0x22fba4=new Float32Array(_0x288267['values'][_0x7a6fbf(0x1eb)]);for(let _0x848f98=0x0;_0x848f98<_0x288267[_0x7a6fbf(0x1e9)][_0x7a6fbf(0x1eb)];_0x848f98+=0x1){const _0x2d6842=_0x288267[_0x7a6fbf(0x1e9)][_0x848f98];_0x22fba4[_0x848f98]=isMissingValue(_0x2d6842,_0x288267[_0x7a6fbf(0x1e2)])?Number[_0x7a6fbf(0x1e3)]:_0x2d6842;}return _0x22fba4;},createIndices=(_0x2749ab,_0x42c495)=>{const _0x540587=new Uint32Array((_0x2749ab-0x1)*(_0x42c495-0x1)*0x6);let _0x463b42=0x0;for(let _0x3a4625=0x0;_0x3a4625<_0x42c495-0x1;_0x3a4625+=0x1){for(let _0x282d38=0x0;_0x282d38<_0x2749ab-0x1;_0x282d38+=0x1){const _0x2da3ae=_0x3a4625*_0x2749ab+_0x282d38,_0x3c5ed4=_0x2da3ae+0x1,_0x5971d2=_0x2da3ae+_0x2749ab,_0x28ddbe=_0x5971d2+0x1;_0x540587[_0x463b42]=_0x2da3ae,_0x540587[_0x463b42+0x1]=_0x3c5ed4,_0x540587[_0x463b42+0x2]=_0x5971d2,_0x540587[_0x463b42+0x3]=_0x5971d2,_0x540587[_0x463b42+0x4]=_0x3c5ed4,_0x540587[_0x463b42+0x5]=_0x28ddbe,_0x463b42+=0x6;}}return _0x540587;};export const buildVolumeRouteProfileMesh=(_0x3e42db,_0xd64fdc)=>{const _0x1bbd1b=_0xaa3be,_0x583bf9=validateProfile(_0x3e42db);return{'id':_0x3e42db['id'],'positions':createPositions(_0x3e42db,_0x583bf9,_0xd64fdc),'values':createValues(_0x3e42db),'indices':createIndices(_0x583bf9,_0x3e42db[_0x1bbd1b(0x1d1)][_0x1bbd1b(0x1eb)]),'opacity':_0x3e42db['opacity']??0x1,'depthMode':_0x3e42db[_0x1bbd1b(0x1e4)]??_0x1bbd1b(0x1e8),'revision':_0x3e42db[_0x1bbd1b(0x1d2)]};};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5469c0=_0x46e8;(function(_0x5e352c,_0x12ccfb){const _0x29daca=_0x46e8,_0x5e71a2=_0x5e352c();while(!![]){try{const _0x56ad48=parseInt(_0x29daca(0x188))/0x1*(-parseInt(_0x29daca(0x181))/0x2)+-parseInt(_0x29daca(0x175))/0x3*(parseInt(_0x29daca(0x169))/0x4)+parseInt(_0x29daca(0x18c))/0x5+-parseInt(_0x29daca(0x149))/0x6*(parseInt(_0x29daca(0x14e))/0x7)+-parseInt(_0x29daca(0x16e))/0x8+-parseInt(_0x29daca(0x179))/0x9+parseInt(_0x29daca(0x15c))/0xa;if(_0x56ad48===_0x12ccfb)break;else _0x5e71a2['push'](_0x5e71a2['shift']());}catch(_0xdc84a0){_0x5e71a2['push'](_0x5e71a2['shift']());}}}(_0x524a,0xbd29c));function _0x524a(){const _0x450995=['getFrame','removeEventListener','applyHit','clientY','viewportHeight','lockedSlices','1915188cpuyeY','startX','endY','pointerup','left','7YIPncp','onInteractionStart','releasePointerCapture','state','startY','axisDefinitions','axisHysteresis','hitTolerance','width','stopPropagation','onInteractionEnd','pointerleave','preventDefault','top','45607190CxCyDS','distance','pointercancel','preview','sort','xAxis','map','length','updatePreview','zAxis','initialized','height','previousAxis','132432MhDqVl','viewportWidth','updateLockedSlice','handleWindowPointerMove','destroy','8902840eneebG','getBoundingClientRect','find','axis','handlePointerMove','pointerId','initialize','33KzruEy','button','clientX','setPointerCapture','12118041rzBRrZ','lockPreview','modelMatrix','handlePointerDown','clearPreview','min','hypot','viewProjectionMatrix','20wxyTKq','sliceId','findAxisHit','normalizedPosition','handlePointerUp','axisHysteresisPixels','element','106627FagLAb','toolMode','addEventListener','handlePointerLeave','2115265uUbMqO','pointermove','max','moved','kind','activePointer','pointerdown','filter'];_0x524a=function(){return _0x450995;};return _0x524a();}function _0x46e8(_0x27bb3d,_0xe23ae8){const _0x524a37=_0x524a();return _0x46e8=function(_0x46e8ed,_0x56a193){_0x46e8ed=_0x46e8ed-0x13c;let _0x3e02f7=_0x524a37[_0x46e8ed];return _0x3e02f7;},_0x46e8(_0x27bb3d,_0xe23ae8);}import{multiplyMatrices,projectPointToViewport}from'./matrix';import{normalizedToVolumeAxisValue}from'./sliceState';const DEFAULT_HIT_TOLERANCE=0xa,DEFAULT_AXIS_HYSTERESIS=0x4,CLICK_MOVEMENT_TOLERANCE=0x4,axisEndpoints=_0x200714=>{if(_0x200714==='x')return[[0x0,0x0,0x0],[0x1,0x0,0x0]];if(_0x200714==='y')return[[0x0,0x0,0x0],[0x0,0x1,0x0]];return[[0x0,0x0,0x0],[0x0,0x0,0x1]];},projectAxis=(_0x3abf6c,_0x19cc70)=>{const _0x1fff91=_0x46e8,_0x185b58=multiplyMatrices(_0x19cc70[_0x1fff91(0x180)],_0x19cc70[_0x1fff91(0x17b)]),[_0xeb5f5b,_0x49fd88]=axisEndpoints(_0x3abf6c),_0x1fedfa=projectPointToViewport(_0x185b58,_0xeb5f5b,_0x19cc70[_0x1fff91(0x16a)],_0x19cc70[_0x1fff91(0x147)]),_0x160fb8=projectPointToViewport(_0x185b58,_0x49fd88,_0x19cc70[_0x1fff91(0x16a)],_0x19cc70[_0x1fff91(0x147)]);if(!_0x1fedfa||!_0x160fb8)return null;return{'axis':_0x3abf6c,'startX':_0x1fedfa[0x0],'startY':_0x1fedfa[0x1],'endX':_0x160fb8[0x0],'endY':_0x160fb8[0x1]};},hitProjectedAxis=(_0x198754,_0x58ae77,_0x29ddbd)=>{const _0x2f12a5=_0x46e8,_0x4bab02=_0x198754['endX']-_0x198754[_0x2f12a5(0x14a)],_0x52301f=_0x198754[_0x2f12a5(0x14b)]-_0x198754[_0x2f12a5(0x152)],_0x1ed33e=_0x4bab02*_0x4bab02+_0x52301f*_0x52301f,_0x2bec3d=_0x1ed33e===0x0?0x0:((_0x58ae77-_0x198754[_0x2f12a5(0x14a)])*_0x4bab02+(_0x29ddbd-_0x198754['startY'])*_0x52301f)/_0x1ed33e,_0xdc1771=Math[_0x2f12a5(0x17e)](0x1,Math[_0x2f12a5(0x13d)](0x0,_0x2bec3d)),_0x167d69=_0x198754[_0x2f12a5(0x14a)]+_0xdc1771*_0x4bab02,_0x5e6f27=_0x198754[_0x2f12a5(0x152)]+_0xdc1771*_0x52301f;return{'axis':_0x198754[_0x2f12a5(0x171)],'distance':Math[_0x2f12a5(0x17f)](_0x58ae77-_0x167d69,_0x29ddbd-_0x5e6f27),'normalizedPosition':_0xdc1771};},eventViewportPoint=(_0x42de5c,_0x3bb58e,_0x1030dc)=>{const _0x21ab6=_0x46e8,_0x42e7f1=_0x3bb58e[_0x21ab6(0x16f)](),_0x148e92=_0x42e7f1['width']===0x0?0x0:(_0x42de5c[_0x21ab6(0x177)]-_0x42e7f1[_0x21ab6(0x14d)])*_0x1030dc[_0x21ab6(0x16a)]/_0x42e7f1[_0x21ab6(0x156)],_0x1a54cc=_0x42e7f1[_0x21ab6(0x167)]===0x0?0x0:(_0x42de5c[_0x21ab6(0x146)]-_0x42e7f1[_0x21ab6(0x15b)])*_0x1030dc[_0x21ab6(0x147)]/_0x42e7f1[_0x21ab6(0x167)];return[_0x148e92,_0x1a54cc];},realAxisPosition=(_0x4896c1,_0x20e184,_0x867d3c)=>{const _0x5de940=_0x46e8,_0x2d8cec=_0x4896c1[_0x5de940(0x153)],_0x567a36=_0x20e184==='x'?_0x2d8cec[_0x5de940(0x161)]:_0x20e184==='y'?_0x2d8cec['yAxis']:_0x2d8cec[_0x5de940(0x165)];return normalizedToVolumeAxisValue(_0x567a36,_0x867d3c);};export class SliceInteractionController{[_0x5469c0(0x187)];['state'];[_0x5469c0(0x143)];[_0x5469c0(0x155)];[_0x5469c0(0x154)];[_0x5469c0(0x14f)];[_0x5469c0(0x158)];['activePointer']=null;[_0x5469c0(0x168)]=null;[_0x5469c0(0x166)]=![];constructor(_0x2f21b8,_0x2eabf9,_0x238f78,_0x1174e9={}){const _0x5ba9ce=_0x5469c0;this[_0x5ba9ce(0x187)]=_0x2f21b8,this[_0x5ba9ce(0x151)]=_0x2eabf9,this['getFrame']=_0x238f78,this[_0x5ba9ce(0x155)]=_0x1174e9['hitTolerancePixels']??DEFAULT_HIT_TOLERANCE,this['axisHysteresis']=_0x1174e9[_0x5ba9ce(0x186)]??DEFAULT_AXIS_HYSTERESIS,this[_0x5ba9ce(0x14f)]=_0x1174e9[_0x5ba9ce(0x14f)],this[_0x5ba9ce(0x158)]=_0x1174e9['onInteractionEnd'];}[_0x5469c0(0x174)](){const _0x827ba7=_0x5469c0;if(this[_0x827ba7(0x166)])return;this['initialized']=!![],this[_0x827ba7(0x187)][_0x827ba7(0x18a)]('pointerdown',this[_0x827ba7(0x17c)],!![]),this[_0x827ba7(0x187)][_0x827ba7(0x18a)](_0x827ba7(0x13c),this['handlePointerMove'],!![]),this[_0x827ba7(0x187)][_0x827ba7(0x18a)](_0x827ba7(0x159),this[_0x827ba7(0x18b)],!![]),window['addEventListener'](_0x827ba7(0x13c),this['handleWindowPointerMove'],!![]),window[_0x827ba7(0x18a)](_0x827ba7(0x14c),this[_0x827ba7(0x185)],!![]),window['addEventListener'](_0x827ba7(0x15e),this[_0x827ba7(0x185)],!![]);}['beginLockedSliceDrag'](_0x1a7e84,_0x14aaa9){const _0x5f3d33=_0x5469c0,_0x5ee7b1=this[_0x5f3d33(0x151)][_0x5f3d33(0x148)][_0x5f3d33(0x170)](_0x91b80b=>_0x91b80b['id']===_0x1a7e84);if(!_0x5ee7b1)return;this[_0x5f3d33(0x140)]={'kind':'locked','axis':_0x5ee7b1[_0x5f3d33(0x171)],'pointerId':_0x14aaa9[_0x5f3d33(0x173)],'sliceId':_0x1a7e84,'startX':_0x14aaa9[_0x5f3d33(0x177)],'startY':_0x14aaa9[_0x5f3d33(0x146)],'moved':![]},this[_0x5f3d33(0x14f)]?.(),_0x14aaa9['preventDefault'](),_0x14aaa9[_0x5f3d33(0x157)]();}[_0x5469c0(0x16d)](){const _0x22bc11=_0x5469c0;if(!this[_0x22bc11(0x166)])return;this[_0x22bc11(0x166)]=![],this[_0x22bc11(0x187)][_0x22bc11(0x144)](_0x22bc11(0x141),this[_0x22bc11(0x17c)],!![]),this[_0x22bc11(0x187)]['removeEventListener'](_0x22bc11(0x13c),this[_0x22bc11(0x172)],!![]),this[_0x22bc11(0x187)]['removeEventListener'](_0x22bc11(0x159),this[_0x22bc11(0x18b)],!![]),window[_0x22bc11(0x144)](_0x22bc11(0x13c),this[_0x22bc11(0x16c)],!![]),window['removeEventListener'](_0x22bc11(0x14c),this[_0x22bc11(0x185)],!![]),window['removeEventListener'](_0x22bc11(0x15e),this[_0x22bc11(0x185)],!![]);if(this[_0x22bc11(0x140)])this[_0x22bc11(0x158)]?.();this[_0x22bc11(0x140)]=null,this['previousAxis']=null,this[_0x22bc11(0x151)][_0x22bc11(0x17d)]();}[_0x5469c0(0x183)](_0x38b24e,_0x496f49){const _0x4b7176=_0x5469c0,_0x380a95=this['getFrame']();if(!_0x380a95)return null;const [_0x51c126,_0x3d2ca2]=eventViewportPoint(_0x38b24e,this[_0x4b7176(0x187)],_0x380a95),_0x352740=this[_0x4b7176(0x151)][_0x4b7176(0x189)];if(_0x352740===null)return null;const _0xce854e=_0x496f49?[_0x496f49]:_0x352740==='auto'?['x','y','z']:[_0x352740],_0x35741d=_0xce854e[_0x4b7176(0x162)](_0x3d3173=>projectAxis(_0x3d3173,_0x380a95))[_0x4b7176(0x142)](_0x4c06f3=>_0x4c06f3!==null)[_0x4b7176(0x162)](_0x3f7c1d=>hitProjectedAxis(_0x3f7c1d,_0x51c126,_0x3d2ca2));if(_0x35741d[_0x4b7176(0x163)]===0x0)return null;_0x35741d[_0x4b7176(0x160)]((_0x384f75,_0x3019bb)=>_0x384f75['distance']-_0x3019bb[_0x4b7176(0x15d)]);let _0x5039c9=_0x35741d[0x0];if(!_0x496f49&&this['previousAxis']){const _0x587b28=_0x35741d['find'](_0x592511=>_0x592511[_0x4b7176(0x171)]===this[_0x4b7176(0x168)]);if(_0x587b28&&_0x587b28['distance']<=_0x5039c9['distance']+this[_0x4b7176(0x154)])_0x5039c9=_0x587b28;}if(!_0x496f49&&_0x5039c9[_0x4b7176(0x15d)]>this[_0x4b7176(0x155)])return null;return _0x5039c9;}['applyHit'](_0x42c478,_0x7b06b9){const _0xd0cac=_0x5469c0,_0x2aa79b=realAxisPosition(this[_0xd0cac(0x151)],_0x42c478['axis'],_0x42c478[_0xd0cac(0x184)]);if(_0x7b06b9)this[_0xd0cac(0x151)][_0xd0cac(0x16b)](_0x7b06b9,_0x2aa79b);else this[_0xd0cac(0x151)][_0xd0cac(0x164)](_0x42c478['axis'],_0x2aa79b);this[_0xd0cac(0x168)]=_0x42c478[_0xd0cac(0x171)];}['handlePointerDown']=_0x4e09d9=>{const _0x4adce9=_0x5469c0;if(_0x4e09d9[_0x4adce9(0x176)]!==0x0||this['activePointer'])return;const _0x456cb6=this['findAxisHit'](_0x4e09d9);if(!_0x456cb6)return;this[_0x4adce9(0x145)](_0x456cb6),this[_0x4adce9(0x140)]={'kind':_0x4adce9(0x15f),'axis':_0x456cb6[_0x4adce9(0x171)],'pointerId':_0x4e09d9[_0x4adce9(0x173)],'startX':_0x4e09d9[_0x4adce9(0x177)],'startY':_0x4e09d9[_0x4adce9(0x146)],'moved':![]},this[_0x4adce9(0x14f)]?.(),this[_0x4adce9(0x187)][_0x4adce9(0x178)]?.(_0x4e09d9['pointerId']),_0x4e09d9[_0x4adce9(0x15a)](),_0x4e09d9[_0x4adce9(0x157)]();};[_0x5469c0(0x172)]=_0x1215de=>{const _0x2f4028=_0x5469c0;if(this['activePointer'])return;const _0x1b944c=this[_0x2f4028(0x183)](_0x1215de);if(!_0x1b944c){this[_0x2f4028(0x168)]=null,this[_0x2f4028(0x151)][_0x2f4028(0x17d)]();return;}this[_0x2f4028(0x145)](_0x1b944c);};['handleWindowPointerMove']=_0x1c2f00=>{const _0x47a50a=_0x5469c0,_0x57f800=this['activePointer'];if(!_0x57f800||_0x57f800['pointerId']!==_0x1c2f00[_0x47a50a(0x173)])return;const _0x3cbf34=this['findAxisHit'](_0x1c2f00,_0x57f800['axis']);if(!_0x3cbf34)return;if(Math[_0x47a50a(0x17f)](_0x1c2f00[_0x47a50a(0x177)]-_0x57f800[_0x47a50a(0x14a)],_0x1c2f00[_0x47a50a(0x146)]-_0x57f800[_0x47a50a(0x152)])>CLICK_MOVEMENT_TOLERANCE)_0x57f800[_0x47a50a(0x13e)]=!![];this['applyHit'](_0x3cbf34,_0x57f800[_0x47a50a(0x182)]),_0x1c2f00[_0x47a50a(0x15a)](),_0x1c2f00[_0x47a50a(0x157)]();};[_0x5469c0(0x185)]=_0x41e94c=>{const _0x31377b=_0x5469c0,_0x2f513c=this['activePointer'];if(!_0x2f513c||_0x2f513c[_0x31377b(0x173)]!==_0x41e94c[_0x31377b(0x173)])return;if(_0x2f513c[_0x31377b(0x13f)]===_0x31377b(0x15f)&&!_0x2f513c[_0x31377b(0x13e)])this['state'][_0x31377b(0x17a)]();if(this[_0x31377b(0x187)]['hasPointerCapture']?.(_0x41e94c[_0x31377b(0x173)]))this['element'][_0x31377b(0x150)](_0x41e94c['pointerId']);this[_0x31377b(0x140)]=null,this[_0x31377b(0x158)]?.(),_0x41e94c[_0x31377b(0x15a)](),_0x41e94c[_0x31377b(0x157)]();};[_0x5469c0(0x18b)]=()=>{const _0x5d2f71=_0x5469c0;if(!this[_0x5d2f71(0x140)])this[_0x5d2f71(0x151)][_0x5d2f71(0x17d)]();};}
|
|
1
|
+
function _0x1586(){const _0x228ed8=['clearPreview','5371058uPsWZr','width','handlePointerLeave','beginLockedSliceDrag','endX','clientX','distance','171bkNsGf','viewProjectionMatrix','axisHysteresisPixels','5832uSlAXW','findAxisHit','updatePreview','startX','getFrame','pointerleave','handlePointerDown','clientY','zAxis','preview','length','handleWindowPointerMove','viewportWidth','addEventListener','154130knOOOT','startY','axisHysteresis','stopPropagation','viewportHeight','removeEventListener','locked','modelMatrix','5804148dOPGMp','activePointer','axis','hitTolerance','29466CkCtLM','onInteractionEnd','applyHit','initialize','map','max','getBoundingClientRect','sliceId','handlePointerUp','pointerup','55CgXCTr','kind','onInteractionStart','lockPreview','preventDefault','4jdEgFh','yAxis','endY','20464xMiETW','moved','226kZMtir','pointerId','pointercancel','pointerdown','setPointerCapture','hitTolerancePixels','handlePointerMove','xAxis','auto','element','normalizedPosition','state','left','releasePointerCapture','hasPointerCapture','find','height','2121915HxAYzW','axisDefinitions','filter','top','initialized','previousAxis','lockedSlices','hypot','pointermove'];_0x1586=function(){return _0x228ed8;};return _0x1586();}const _0x58d45f=_0x1f3d;(function(_0x179f44,_0x54bf54){const _0x47ff86=_0x1f3d,_0x40b3ee=_0x179f44();while(!![]){try{const _0x5751ef=-parseInt(_0x47ff86(0x19e))/0x1+-parseInt(_0x47ff86(0x179))/0x2*(-parseInt(_0x47ff86(0x165))/0x3)+parseInt(_0x47ff86(0x174))/0x4*(-parseInt(_0x47ff86(0x18a))/0x5)+parseInt(_0x47ff86(0x161))/0x6+-parseInt(_0x47ff86(0x194))/0x7+-parseInt(_0x47ff86(0x177))/0x8*(parseInt(_0x47ff86(0x19b))/0x9)+-parseInt(_0x47ff86(0x159))/0xa*(parseInt(_0x47ff86(0x16f))/0xb);if(_0x5751ef===_0x54bf54)break;else _0x40b3ee['push'](_0x40b3ee['shift']());}catch(_0x57149c){_0x40b3ee['push'](_0x40b3ee['shift']());}}}(_0x1586,0xb8194));import{multiplyMatrices,projectPointToViewport}from'./matrix';import{normalizedToVolumeAxisValue}from'./sliceState';const DEFAULT_HIT_TOLERANCE=0xa,DEFAULT_AXIS_HYSTERESIS=0x4,CLICK_MOVEMENT_TOLERANCE=0x4,axisEndpoints=_0x1e80ea=>{if(_0x1e80ea==='x')return[[0x0,0x0,0x0],[0x1,0x0,0x0]];if(_0x1e80ea==='y')return[[0x0,0x0,0x0],[0x0,0x1,0x0]];return[[0x0,0x0,0x0],[0x0,0x0,0x1]];},projectAxis=(_0x3ba75d,_0x1d9a9f)=>{const _0x3a611c=_0x1f3d,_0x1856f1=multiplyMatrices(_0x1d9a9f[_0x3a611c(0x19c)],_0x1d9a9f[_0x3a611c(0x160)]),[_0x191feb,_0x3726dc]=axisEndpoints(_0x3ba75d),_0x230009=projectPointToViewport(_0x1856f1,_0x191feb,_0x1d9a9f[_0x3a611c(0x157)],_0x1d9a9f[_0x3a611c(0x15d)]),_0x283274=projectPointToViewport(_0x1856f1,_0x3726dc,_0x1d9a9f[_0x3a611c(0x157)],_0x1d9a9f[_0x3a611c(0x15d)]);if(!_0x230009||!_0x283274)return null;return{'axis':_0x3ba75d,'startX':_0x230009[0x0],'startY':_0x230009[0x1],'endX':_0x283274[0x0],'endY':_0x283274[0x1]};},hitProjectedAxis=(_0xd3f163,_0x555692,_0x72557d)=>{const _0x14dbfb=_0x1f3d,_0x98b477=_0xd3f163[_0x14dbfb(0x198)]-_0xd3f163[_0x14dbfb(0x14e)],_0x314364=_0xd3f163[_0x14dbfb(0x176)]-_0xd3f163[_0x14dbfb(0x15a)],_0x2e7d62=_0x98b477*_0x98b477+_0x314364*_0x314364,_0x238549=_0x2e7d62===0x0?0x0:((_0x555692-_0xd3f163[_0x14dbfb(0x14e)])*_0x98b477+(_0x72557d-_0xd3f163[_0x14dbfb(0x15a)])*_0x314364)/_0x2e7d62,_0x1c16ec=Math['min'](0x1,Math[_0x14dbfb(0x16a)](0x0,_0x238549)),_0x190272=_0xd3f163[_0x14dbfb(0x14e)]+_0x1c16ec*_0x98b477,_0x20c95a=_0xd3f163['startY']+_0x1c16ec*_0x314364;return{'axis':_0xd3f163[_0x14dbfb(0x163)],'distance':Math['hypot'](_0x555692-_0x190272,_0x72557d-_0x20c95a),'normalizedPosition':_0x1c16ec};},eventViewportPoint=(_0x41b68f,_0x361323,_0x49ede4)=>{const _0x4464d6=_0x1f3d,_0x2b79f8=_0x361323[_0x4464d6(0x16b)](),_0x4430ba=_0x2b79f8[_0x4464d6(0x195)]===0x0?0x0:(_0x41b68f['clientX']-_0x2b79f8[_0x4464d6(0x185)])*_0x49ede4[_0x4464d6(0x157)]/_0x2b79f8[_0x4464d6(0x195)],_0x12b5fb=_0x2b79f8[_0x4464d6(0x189)]===0x0?0x0:(_0x41b68f[_0x4464d6(0x152)]-_0x2b79f8[_0x4464d6(0x18d)])*_0x49ede4['viewportHeight']/_0x2b79f8['height'];return[_0x4430ba,_0x12b5fb];},realAxisPosition=(_0x2f399f,_0x54d974,_0x513c3a)=>{const _0x123689=_0x1f3d,_0x2a3071=_0x2f399f[_0x123689(0x18b)],_0x43cf7b=_0x54d974==='x'?_0x2a3071[_0x123689(0x180)]:_0x54d974==='y'?_0x2a3071[_0x123689(0x175)]:_0x2a3071[_0x123689(0x153)];return normalizedToVolumeAxisValue(_0x43cf7b,_0x513c3a);};function _0x1f3d(_0x112690,_0x577b48){const _0x1586bc=_0x1586();return _0x1f3d=function(_0x1f3d42,_0x23e4cb){_0x1f3d42=_0x1f3d42-0x14c;let _0x7115ca=_0x1586bc[_0x1f3d42];return _0x7115ca;},_0x1f3d(_0x112690,_0x577b48);}export class SliceInteractionController{[_0x58d45f(0x182)];[_0x58d45f(0x184)];[_0x58d45f(0x14f)];['hitTolerance'];[_0x58d45f(0x15b)];[_0x58d45f(0x171)];[_0x58d45f(0x166)];['activePointer']=null;[_0x58d45f(0x18f)]=null;[_0x58d45f(0x18e)]=![];constructor(_0x47e983,_0x3bf8d4,_0x59ce52,_0x5edbcc={}){const _0x4cb75a=_0x58d45f;this[_0x4cb75a(0x182)]=_0x47e983,this[_0x4cb75a(0x184)]=_0x3bf8d4,this[_0x4cb75a(0x14f)]=_0x59ce52,this[_0x4cb75a(0x164)]=_0x5edbcc[_0x4cb75a(0x17e)]??DEFAULT_HIT_TOLERANCE,this[_0x4cb75a(0x15b)]=_0x5edbcc[_0x4cb75a(0x19d)]??DEFAULT_AXIS_HYSTERESIS,this[_0x4cb75a(0x171)]=_0x5edbcc[_0x4cb75a(0x171)],this[_0x4cb75a(0x166)]=_0x5edbcc[_0x4cb75a(0x166)];}[_0x58d45f(0x168)](){const _0x391685=_0x58d45f;if(this[_0x391685(0x18e)])return;this['initialized']=!![],this['element'][_0x391685(0x158)](_0x391685(0x17c),this['handlePointerDown'],!![]),this[_0x391685(0x182)][_0x391685(0x158)](_0x391685(0x192),this[_0x391685(0x17f)],!![]),this[_0x391685(0x182)][_0x391685(0x158)](_0x391685(0x150),this['handlePointerLeave'],!![]),window[_0x391685(0x158)](_0x391685(0x192),this[_0x391685(0x156)],!![]),window[_0x391685(0x158)](_0x391685(0x16e),this['handlePointerUp'],!![]),window[_0x391685(0x158)](_0x391685(0x17b),this[_0x391685(0x16d)],!![]);}[_0x58d45f(0x197)](_0x5daea8,_0x5ef2c2){const _0x159f10=_0x58d45f,_0x39e84f=this[_0x159f10(0x184)][_0x159f10(0x190)][_0x159f10(0x188)](_0x595ad2=>_0x595ad2['id']===_0x5daea8);if(!_0x39e84f)return;this[_0x159f10(0x162)]={'kind':_0x159f10(0x15f),'axis':_0x39e84f['axis'],'pointerId':_0x5ef2c2[_0x159f10(0x17a)],'sliceId':_0x5daea8,'startX':_0x5ef2c2[_0x159f10(0x199)],'startY':_0x5ef2c2['clientY'],'moved':![]},this[_0x159f10(0x171)]?.(),_0x5ef2c2[_0x159f10(0x173)](),_0x5ef2c2[_0x159f10(0x15c)]();}['destroy'](){const _0x18f51f=_0x58d45f;if(!this[_0x18f51f(0x18e)])return;this[_0x18f51f(0x18e)]=![],this[_0x18f51f(0x182)][_0x18f51f(0x15e)](_0x18f51f(0x17c),this[_0x18f51f(0x151)],!![]),this[_0x18f51f(0x182)][_0x18f51f(0x15e)](_0x18f51f(0x192),this['handlePointerMove'],!![]),this[_0x18f51f(0x182)][_0x18f51f(0x15e)](_0x18f51f(0x150),this[_0x18f51f(0x196)],!![]),window[_0x18f51f(0x15e)](_0x18f51f(0x192),this['handleWindowPointerMove'],!![]),window[_0x18f51f(0x15e)]('pointerup',this[_0x18f51f(0x16d)],!![]),window[_0x18f51f(0x15e)](_0x18f51f(0x17b),this[_0x18f51f(0x16d)],!![]);if(this[_0x18f51f(0x162)])this['onInteractionEnd']?.();this[_0x18f51f(0x162)]=null,this['previousAxis']=null,this[_0x18f51f(0x184)]['clearPreview']();}[_0x58d45f(0x14c)](_0x1e2b0f,_0x98e375){const _0x4d5553=_0x58d45f,_0x3d91e3=this['getFrame']();if(!_0x3d91e3)return null;const [_0x578810,_0x90c6b0]=eventViewportPoint(_0x1e2b0f,this['element'],_0x3d91e3),_0x1aac68=this[_0x4d5553(0x184)]['toolMode'];if(_0x1aac68===null)return null;const _0x5919ce=_0x98e375?[_0x98e375]:_0x1aac68===_0x4d5553(0x181)?['x','y','z']:[_0x1aac68],_0x2fc433=_0x5919ce[_0x4d5553(0x169)](_0xc39a39=>projectAxis(_0xc39a39,_0x3d91e3))[_0x4d5553(0x18c)](_0x145cec=>_0x145cec!==null)[_0x4d5553(0x169)](_0x2955a2=>hitProjectedAxis(_0x2955a2,_0x578810,_0x90c6b0));if(_0x2fc433[_0x4d5553(0x155)]===0x0)return null;_0x2fc433['sort']((_0x56b980,_0xfab532)=>_0x56b980[_0x4d5553(0x19a)]-_0xfab532['distance']);let _0x5dab0c=_0x2fc433[0x0];if(!_0x98e375&&this[_0x4d5553(0x18f)]){const _0x20102f=_0x2fc433[_0x4d5553(0x188)](_0x26d351=>_0x26d351[_0x4d5553(0x163)]===this[_0x4d5553(0x18f)]);if(_0x20102f&&_0x20102f[_0x4d5553(0x19a)]<=_0x5dab0c[_0x4d5553(0x19a)]+this[_0x4d5553(0x15b)])_0x5dab0c=_0x20102f;}if(!_0x98e375&&_0x5dab0c['distance']>this['hitTolerance'])return null;return _0x5dab0c;}[_0x58d45f(0x167)](_0x4a1717,_0x56d3be){const _0x5f20b3=_0x58d45f,_0x159ef2=realAxisPosition(this[_0x5f20b3(0x184)],_0x4a1717[_0x5f20b3(0x163)],_0x4a1717[_0x5f20b3(0x183)]);if(_0x56d3be)this[_0x5f20b3(0x184)]['updateLockedSlice'](_0x56d3be,_0x159ef2);else this['state'][_0x5f20b3(0x14d)](_0x4a1717[_0x5f20b3(0x163)],_0x159ef2);this['previousAxis']=_0x4a1717[_0x5f20b3(0x163)];}[_0x58d45f(0x151)]=_0x36e932=>{const _0x3d39c3=_0x58d45f;if(_0x36e932['button']!==0x0||this[_0x3d39c3(0x162)])return;const _0x1f990c=this[_0x3d39c3(0x14c)](_0x36e932);if(!_0x1f990c)return;this[_0x3d39c3(0x167)](_0x1f990c),this[_0x3d39c3(0x162)]={'kind':'preview','axis':_0x1f990c['axis'],'pointerId':_0x36e932[_0x3d39c3(0x17a)],'startX':_0x36e932['clientX'],'startY':_0x36e932[_0x3d39c3(0x152)],'moved':![]},this['onInteractionStart']?.(),this[_0x3d39c3(0x182)][_0x3d39c3(0x17d)]?.(_0x36e932[_0x3d39c3(0x17a)]),_0x36e932[_0x3d39c3(0x173)](),_0x36e932[_0x3d39c3(0x15c)]();};[_0x58d45f(0x17f)]=_0x3fa09d=>{const _0x494755=_0x58d45f;if(this[_0x494755(0x162)])return;const _0x3c23a7=this[_0x494755(0x14c)](_0x3fa09d);if(!_0x3c23a7){this['previousAxis']=null,this[_0x494755(0x184)][_0x494755(0x193)]();return;}this[_0x494755(0x167)](_0x3c23a7);};[_0x58d45f(0x156)]=_0x221443=>{const _0x3a59c2=_0x58d45f,_0x25eb74=this[_0x3a59c2(0x162)];if(!_0x25eb74||_0x25eb74[_0x3a59c2(0x17a)]!==_0x221443[_0x3a59c2(0x17a)])return;const _0x1259fa=this['findAxisHit'](_0x221443,_0x25eb74[_0x3a59c2(0x163)]);if(!_0x1259fa)return;if(Math[_0x3a59c2(0x191)](_0x221443[_0x3a59c2(0x199)]-_0x25eb74[_0x3a59c2(0x14e)],_0x221443['clientY']-_0x25eb74[_0x3a59c2(0x15a)])>CLICK_MOVEMENT_TOLERANCE)_0x25eb74['moved']=!![];this[_0x3a59c2(0x167)](_0x1259fa,_0x25eb74[_0x3a59c2(0x16c)]),_0x221443[_0x3a59c2(0x173)](),_0x221443['stopPropagation']();};[_0x58d45f(0x16d)]=_0x1e70ec=>{const _0x265e35=_0x58d45f,_0x307611=this['activePointer'];if(!_0x307611||_0x307611[_0x265e35(0x17a)]!==_0x1e70ec[_0x265e35(0x17a)])return;if(_0x307611[_0x265e35(0x170)]===_0x265e35(0x154)&&!_0x307611[_0x265e35(0x178)])this[_0x265e35(0x184)][_0x265e35(0x172)]();if(this[_0x265e35(0x182)][_0x265e35(0x187)]?.(_0x1e70ec[_0x265e35(0x17a)]))this[_0x265e35(0x182)][_0x265e35(0x186)](_0x1e70ec[_0x265e35(0x17a)]);this[_0x265e35(0x162)]=null,this[_0x265e35(0x166)]?.(),_0x1e70ec[_0x265e35(0x173)](),_0x1e70ec[_0x265e35(0x15c)]();};[_0x58d45f(0x196)]=()=>{const _0x5caf35=_0x58d45f;if(!this['activePointer'])this[_0x5caf35(0x184)][_0x5caf35(0x193)]();};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x3094c6=_0x42d3;(function(_0x27ed4b,_0x139dd5){const _0x37362a=_0x42d3,_0x1159d7=_0x27ed4b();while(!![]){try{const _0x2b990c=-parseInt(_0x37362a(0xcf))/0x1*(parseInt(_0x37362a(0xec))/0x2)+parseInt(_0x37362a(0xf2))/0x3*(-parseInt(_0x37362a(0xf6))/0x4)+-parseInt(_0x37362a(0xdc))/0x5+parseInt(_0x37362a(0xef))/0x6*(parseInt(_0x37362a(0xe3))/0x7)+parseInt(_0x37362a(0xb6))/0x8*(parseInt(_0x37362a(0xf5))/0x9)+-parseInt(_0x37362a(0xbe))/0xa*(-parseInt(_0x37362a(0xdf))/0xb)+parseInt(_0x37362a(0xb4))/0xc*(parseInt(_0x37362a(0xda))/0xd);if(_0x2b990c===_0x139dd5)break;else _0x1159d7['push'](_0x1159d7['shift']());}catch(_0x44f663){_0x1159d7['push'](_0x1159d7['shift']());}}}(_0x5609,0x354aa));import{multiplyMatrices,projectPointToViewport}from'./matrix';import{volumeAxisValueToNormalized}from'./sliceState';const axisLabel=_0x2f7d28=>_0x2f7d28['toUpperCase'](),defaultFormatPosition=(_0x587b8c,_0x6e1148)=>axisLabel(_0x587b8c)+'\x20'+Number(_0x6e1148[_0x3094c6(0xe9)](0x4)),getAxisDefinition=(_0x5ced46,_0x1a3f69)=>{const _0x3b8fa1=_0x3094c6,_0xc232ea=_0x5ced46[_0x3b8fa1(0xd0)];if(_0x1a3f69==='x')return _0xc232ea['xAxis'];if(_0x1a3f69==='y')return _0xc232ea[_0x3b8fa1(0xb2)];return _0xc232ea[_0x3b8fa1(0xfd)];},markerModelPoint=(_0x17c856,_0x46aed3)=>{const _0x2c0d13=_0x3094c6,_0x2162ed=volumeAxisValueToNormalized(getAxisDefinition(_0x17c856,_0x46aed3['axis']),_0x46aed3[_0x2c0d13(0xb0)]);if(_0x46aed3[_0x2c0d13(0xdb)]==='x')return[_0x2162ed,0x0,0x0];if(_0x46aed3[_0x2c0d13(0xdb)]==='y')return[0x0,_0x2162ed,0x0];return[0x0,0x0,_0x2162ed];},applyMarkerBaseStyle=_0x7f2e03=>{const _0x11abda=_0x3094c6;_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xb0)]=_0x11abda(0xd1),_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xf1)]='1',_0x7f2e03[_0x11abda(0xae)]['display']='flex',_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xc5)]='center',_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xf9)]=_0x11abda(0xc8),_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xce)]='3px\x206px',_0x7f2e03['style']['border']='1px\x20solid\x20rgb(255\x20255\x20255\x20/\x2065%)',_0x7f2e03[_0x11abda(0xae)]['borderRadius']=_0x11abda(0xc8),_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xc1)]=_0x11abda(0xe0),_0x7f2e03['style'][_0x11abda(0xd6)]=_0x11abda(0xc9),_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xcd)]=_0x11abda(0xaf),_0x7f2e03[_0x11abda(0xae)][_0x11abda(0xfc)]=_0x11abda(0xe4),_0x7f2e03[_0x11abda(0xae)]['transform']=_0x11abda(0xbc),_0x7f2e03['style'][_0x11abda(0xe1)]=_0x11abda(0xf3),_0x7f2e03['style'][_0x11abda(0xe7)]='none';},createDeleteButton=()=>{const _0x5b1600=_0x3094c6,_0x89564a=document[_0x5b1600(0xe6)]('button');return _0x89564a[_0x5b1600(0xbb)]=_0x5b1600(0xc6),_0x89564a['textContent']='×',_0x89564a['setAttribute'](_0x5b1600(0xad),'删除切面'),_0x89564a[_0x5b1600(0xae)][_0x5b1600(0xce)]='0\x202px',_0x89564a[_0x5b1600(0xae)]['border']='0',_0x89564a['style'][_0x5b1600(0xc1)]=_0x5b1600(0xd3),_0x89564a[_0x5b1600(0xae)]['background']=_0x5b1600(0xbf),_0x89564a[_0x5b1600(0xae)][_0x5b1600(0xd8)]=_0x5b1600(0xd5),_0x89564a;};function _0x42d3(_0x31997f,_0x170d33){const _0x5609b3=_0x5609();return _0x42d3=function(_0x42d3f3,_0x1712b7){_0x42d3f3=_0x42d3f3-0xa7;let _0x3ccd52=_0x5609b3[_0x42d3f3];return _0x3ccd52;},_0x42d3(_0x31997f,_0x170d33);}function _0x5609(){const _0x399331=['static','type','translate(-50%,\x20-100%)','unsubscribe','110BuLhjH','transparent','update','color','top','preview','syncPreview','alignItems','button','destroy','4px','rgb(17\x2024\x2039\x20/\x2082%)','hideAllMarkers','grab','getFrame','font','padding','11EjLarX','axisDefinitions','absolute','previousContainerPosition','inherit','stopPropagation','pointer','background','positionMarker','cursor','createLockedMarker','17017OStzLk','axis','1904985rIsPCl','addEventListener','0.72','427636JPMVtj','#fff','userSelect','createTextNode','9842kibRNK','nowrap','container','createElement','touchAction','pointerdown','toFixed','viewportWidth','viewProjectionMatrix','11930rhfACq','modelMatrix','left','12ZnsDtg','previewMarker','zIndex','17142sVzyMe','none','state','238455GpMIou','80rhyhKy','flex','lockedSlices','gap','beginLockedSliceDrag','textContent','whiteSpace','zAxis','display','append','map','div','relative','subscribe','remove','aria-label','style','12px/1.2\x20sans-serif','position','get','yAxis','removeSlice','768mrISrF','markers','80VCsljo','interactionController','formatPosition','set'];_0x5609=function(){return _0x399331;};return _0x5609();}export class SliceMarkerOverlay{[_0x3094c6(0xe5)];[_0x3094c6(0xf4)];[_0x3094c6(0xcc)];['interactionController'];['formatPosition'];[_0x3094c6(0xb5)]=new Map();[_0x3094c6(0xd2)];[_0x3094c6(0xbd)];['previewMarker']=null;constructor(_0x5ea27c,_0x1b7395,_0x1dfcaa,_0x5ae953={}){const _0xf214a8=_0x3094c6;this[_0xf214a8(0xe5)]=_0x5ea27c,this['state']=_0x1b7395,this[_0xf214a8(0xcc)]=_0x1dfcaa,this[_0xf214a8(0xb7)]=_0x5ae953[_0xf214a8(0xb7)],this['formatPosition']=_0x5ae953[_0xf214a8(0xb8)]??defaultFormatPosition,this[_0xf214a8(0xd2)]=_0x5ea27c[_0xf214a8(0xae)]['position'];if(getComputedStyle(_0x5ea27c)[_0xf214a8(0xb0)]===_0xf214a8(0xba))_0x5ea27c[_0xf214a8(0xae)]['position']=_0xf214a8(0xaa);this[_0xf214a8(0xbd)]=_0x1b7395[_0xf214a8(0xab)](()=>this[_0xf214a8(0xc0)]());}[_0x3094c6(0xc0)](){const _0x2e66d8=_0x3094c6,_0x117a8b=this[_0x2e66d8(0xf4)]['snapshot'];this[_0x2e66d8(0xc4)](_0x117a8b[_0x2e66d8(0xc3)]),this['syncLockedMarkers'](_0x117a8b[_0x2e66d8(0xf8)]);const _0x3bb1fb=this[_0x2e66d8(0xcc)]();if(!_0x3bb1fb){this[_0x2e66d8(0xca)]();return;}if(_0x117a8b['preview']&&this['previewMarker'])this[_0x2e66d8(0xd7)](this[_0x2e66d8(0xf0)],_0x117a8b[_0x2e66d8(0xc3)],_0x3bb1fb);for(const _0x3f378f of _0x117a8b['lockedSlices']){const _0x3a3c74=this[_0x2e66d8(0xb5)][_0x2e66d8(0xb1)](_0x3f378f['id']);if(_0x3a3c74)this['positionMarker'](_0x3a3c74,_0x3f378f,_0x3bb1fb);}}[_0x3094c6(0xc7)](){const _0x5a2bbd=_0x3094c6;this[_0x5a2bbd(0xbd)](),this[_0x5a2bbd(0xf0)]?.['remove'](),this['previewMarker']=null;for(const _0x16e860 of this[_0x5a2bbd(0xb5)]['values']())_0x16e860['remove']();this[_0x5a2bbd(0xb5)]['clear'](),this[_0x5a2bbd(0xe5)][_0x5a2bbd(0xae)][_0x5a2bbd(0xb0)]=this[_0x5a2bbd(0xd2)];}[_0x3094c6(0xc4)](_0x469541){const _0x39dae3=_0x3094c6;if(!_0x469541){this[_0x39dae3(0xf0)]?.[_0x39dae3(0xac)](),this[_0x39dae3(0xf0)]=null;return;}!this[_0x39dae3(0xf0)]&&(this[_0x39dae3(0xf0)]=document[_0x39dae3(0xe6)](_0x39dae3(0xa9)),applyMarkerBaseStyle(this[_0x39dae3(0xf0)]),this[_0x39dae3(0xf0)][_0x39dae3(0xae)]['pointerEvents']=_0x39dae3(0xf3),this['previewMarker']['style']['opacity']=_0x39dae3(0xde),this[_0x39dae3(0xe5)][_0x39dae3(0xa7)](this['previewMarker'])),this[_0x39dae3(0xf0)][_0x39dae3(0xfb)]=this[_0x39dae3(0xb8)](_0x469541[_0x39dae3(0xdb)],_0x469541[_0x39dae3(0xb0)]);}['syncLockedMarkers'](_0x1b7e01){const _0x56c105=_0x3094c6,_0x14ee56=new Set(_0x1b7e01[_0x56c105(0xa8)](_0x2b7990=>_0x2b7990['id']));for(const [_0x42be0b,_0x436acb]of this['markers']){if(_0x14ee56['has'](_0x42be0b))continue;_0x436acb[_0x56c105(0xac)](),this['markers']['delete'](_0x42be0b);}for(const _0x1be9fd of _0x1b7e01){let _0x47db7b=this[_0x56c105(0xb5)][_0x56c105(0xb1)](_0x1be9fd['id']);!_0x47db7b&&(_0x47db7b=this[_0x56c105(0xd9)](_0x1be9fd['id']),this[_0x56c105(0xb5)][_0x56c105(0xb9)](_0x1be9fd['id'],_0x47db7b),this[_0x56c105(0xe5)][_0x56c105(0xa7)](_0x47db7b));const _0x556f20=_0x47db7b['firstChild'];if(_0x556f20)_0x556f20[_0x56c105(0xfb)]=this[_0x56c105(0xb8)](_0x1be9fd[_0x56c105(0xdb)],_0x1be9fd[_0x56c105(0xb0)]);}}[_0x3094c6(0xd9)](_0xcb2798){const _0x4aa1f4=_0x3094c6,_0x5aaf9f=document[_0x4aa1f4(0xe6)](_0x4aa1f4(0xa9));applyMarkerBaseStyle(_0x5aaf9f),_0x5aaf9f[_0x4aa1f4(0xae)][_0x4aa1f4(0xd8)]=_0x4aa1f4(0xcb),_0x5aaf9f[_0x4aa1f4(0xa7)](document[_0x4aa1f4(0xe2)](''));const _0x44ca32=createDeleteButton();return _0x44ca32[_0x4aa1f4(0xdd)](_0x4aa1f4(0xe8),_0x16350c=>_0x16350c['stopPropagation']()),_0x44ca32['addEventListener']('click',_0x34b2ba=>{const _0xcd650b=_0x4aa1f4;_0x34b2ba[_0xcd650b(0xd4)](),this[_0xcd650b(0xf4)][_0xcd650b(0xb3)](_0xcb2798);}),_0x5aaf9f[_0x4aa1f4(0xdd)](_0x4aa1f4(0xe8),_0x40cf07=>this[_0x4aa1f4(0xb7)]?.[_0x4aa1f4(0xfa)](_0xcb2798,_0x40cf07)),_0x5aaf9f['append'](_0x44ca32),_0x5aaf9f;}['positionMarker'](_0x405c05,_0x1bf26b,_0x10d87c){const _0x1dc354=_0x3094c6,_0x51f04e=multiplyMatrices(_0x10d87c[_0x1dc354(0xeb)],_0x10d87c[_0x1dc354(0xed)]),_0x1bd854=projectPointToViewport(_0x51f04e,markerModelPoint(this['state'],_0x1bf26b),_0x10d87c[_0x1dc354(0xea)],_0x10d87c['viewportHeight']);if(!_0x1bd854||_0x1bd854[0x2]<0x0||_0x1bd854[0x2]>0x1){_0x405c05[_0x1dc354(0xae)][_0x1dc354(0xfe)]=_0x1dc354(0xf3);return;}_0x405c05[_0x1dc354(0xae)][_0x1dc354(0xfe)]=_0x1dc354(0xf7),_0x405c05['style'][_0x1dc354(0xee)]=_0x1bd854[0x0]+'px',_0x405c05[_0x1dc354(0xae)][_0x1dc354(0xc2)]=_0x1bd854[0x1]+'px';}[_0x3094c6(0xca)](){const _0x49932a=_0x3094c6;if(this[_0x49932a(0xf0)])this[_0x49932a(0xf0)][_0x49932a(0xae)]['display']=_0x49932a(0xf3);for(const _0x278d7a of this['markers']['values']())_0x278d7a['style'][_0x49932a(0xfe)]=_0x49932a(0xf3);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x5b33(){const _0x341188=['filter','preview','scene','length','depthMode','max','yAxis','xAxis','delete','onLimitReached','notify','toolMode','count','1587288nmeYvf','removeSlice','15FxJIaO','17660sLgnHD','18ppEWJB','zAxis','lockSlice','min','nextId','listeners','start','currentPreview','2qleflT','updatePreview','1216200SOQkWd','volumeDimFactor','maxLockedSlices\x20必须是正整数。','多采样点切面轴的起止值不能相等。','lockPreview','setToolMode','subscribe','mode','maxLockedSlices','1196796RRGLtM','3572989HQwPgl','490732AXoHEw','snapshot','position','setAxes','axis','lockedSlices','auto','axes','7469NLapqq','切面位置必须是有限数。','22863dxLXDp','always-visible','map','end','updateLockedSlice','volume-slice-','clearPreview','findIndex','切面轴端点必须是有限数。','clearLockedSlices','isFinite','切面深度模式无效\x20/\x20Slice\x20depth\x20mode\x20is\x20invalid','slices'];_0x5b33=function(){return _0x341188;};return _0x5b33();}const _0x1714a1=_0xff1a;(function(_0x3cc82b,_0x40a3d7){const _0x4e0c4b=_0xff1a,_0x39ae48=_0x3cc82b();while(!![]){try{const _0x15750c=parseInt(_0x4e0c4b(0xc5))/0x1*(parseInt(_0x4e0c4b(0xd2))/0x2)+-parseInt(_0x4e0c4b(0xdc))/0x3+parseInt(_0x4e0c4b(0xd0))/0x4+-parseInt(_0x4e0c4b(0xbb))/0x5*(-parseInt(_0x4e0c4b(0xc7))/0x6)+parseInt(_0x4e0c4b(0xd1))/0x7+-parseInt(_0x4e0c4b(0xf6))/0x8*(parseInt(_0x4e0c4b(0xbd))/0x9)+parseInt(_0x4e0c4b(0xbc))/0xa*(-parseInt(_0x4e0c4b(0xda))/0xb);if(_0x15750c===_0x40a3d7)break;else _0x39ae48['push'](_0x39ae48['shift']());}catch(_0x4338a7){_0x39ae48['push'](_0x39ae48['shift']());}}}(_0x5b33,0x4a705));const DEFAULT_VOLUME_DIM_FACTOR=0.25,DEFAULT_MAX_LOCKED_SLICES=0xc,getAxis=(_0x487166,_0x1b9c94)=>{const _0x4e8254=_0xff1a;if(_0x1b9c94==='x')return _0x487166[_0x4e8254(0xf0)];if(_0x1b9c94==='y')return _0x487166[_0x4e8254(0xef)];return _0x487166[_0x4e8254(0xbe)];},clampPosition=(_0x1674bf,_0x321985,_0x23a45d)=>{const _0x582350=_0xff1a;if(!Number[_0x582350(0xe6)](_0x23a45d))throw new Error(_0x582350(0xdb));const _0x254673=getAxis(_0x1674bf,_0x321985),_0x52d6a7=Math[_0x582350(0xc0)](_0x254673[_0x582350(0xc3)],_0x254673[_0x582350(0xdf)]),_0xa4f14b=Math[_0x582350(0xee)](_0x254673[_0x582350(0xc3)],_0x254673[_0x582350(0xdf)]);return Math[_0x582350(0xc0)](_0xa4f14b,Math['max'](_0x52d6a7,_0x23a45d));},clonePreview=_0x2ef9fe=>_0x2ef9fe?{..._0x2ef9fe}:null,cloneLockedSlice=_0x6ab01c=>({..._0x6ab01c}),validateAxes=_0x498887=>{const _0x489d86=_0xff1a;for(const _0x1ace32 of[_0x498887['xAxis'],_0x498887['yAxis'],_0x498887[_0x489d86(0xbe)]]){if(!Number[_0x489d86(0xe6)](_0x1ace32[_0x489d86(0xc3)])||!Number[_0x489d86(0xe6)](_0x1ace32['end']))throw new Error(_0x489d86(0xe4));if(!(Number['isInteger'](_0x1ace32[_0x489d86(0xf5)])&&_0x1ace32[_0x489d86(0xf5)]>0x0))throw new Error('切面轴采样数必须是正整数。');if(_0x1ace32['count']>0x1&&_0x1ace32[_0x489d86(0xc3)]===_0x1ace32[_0x489d86(0xdf)])throw new Error(_0x489d86(0xca));}};function _0xff1a(_0x18cedf,_0x3b5f04){const _0x5b33f8=_0x5b33();return _0xff1a=function(_0xff1a4d,_0x5c6fd0){_0xff1a4d=_0xff1a4d-0xbb;let _0x55768a=_0x5b33f8[_0xff1a4d];return _0x55768a;},_0xff1a(_0x18cedf,_0x3b5f04);}export const volumeAxisValueToNormalized=(_0x3cf3bf,_0x4c90de)=>_0x3cf3bf['start']===_0x3cf3bf['end']?0x0:(_0x4c90de-_0x3cf3bf[_0x1714a1(0xc3)])/(_0x3cf3bf[_0x1714a1(0xdf)]-_0x3cf3bf[_0x1714a1(0xc3)]);export const normalizedToVolumeAxisValue=(_0xd9cd1a,_0x4a1d94)=>_0xd9cd1a[_0x1714a1(0xc3)]+_0x4a1d94*(_0xd9cd1a[_0x1714a1(0xdf)]-_0xd9cd1a[_0x1714a1(0xc3)]);export class SliceState{[_0x1714a1(0xd9)];[_0x1714a1(0xc2)]=new Set();['onLimitReached'];[_0x1714a1(0xcf)];['depthMode'];['nextId']=0x1;[_0x1714a1(0xc4)]=null;[_0x1714a1(0xe8)]=[];['mode']=_0x1714a1(0xd8);[_0x1714a1(0xc8)];constructor(_0x299e74,_0x18e7e0={}){const _0x31765c=_0x1714a1;validateAxes(_0x299e74),this[_0x31765c(0xd9)]={'xAxis':{..._0x299e74['xAxis']},'yAxis':{..._0x299e74[_0x31765c(0xef)]},'zAxis':{..._0x299e74[_0x31765c(0xbe)]}},this['volumeDimFactor']=_0x18e7e0[_0x31765c(0xc8)]??DEFAULT_VOLUME_DIM_FACTOR,this['depthMode']=_0x18e7e0[_0x31765c(0xed)]??_0x31765c(0xeb),this[_0x31765c(0xcf)]=_0x18e7e0[_0x31765c(0xcf)]??DEFAULT_MAX_LOCKED_SLICES,this[_0x31765c(0xf2)]=_0x18e7e0['onLimitReached'];if(!(this[_0x31765c(0xc8)]>=0x0&&this[_0x31765c(0xc8)]<=0x1))throw new Error('volumeDimFactor\x20必须位于\x200\x20到\x201。');if(this[_0x31765c(0xed)]!==_0x31765c(0xeb)&&this[_0x31765c(0xed)]!==_0x31765c(0xdd))throw new Error(_0x31765c(0xe7));if(!(Number['isInteger'](this['maxLockedSlices'])&&this['maxLockedSlices']>0x0))throw new Error(_0x31765c(0xc9));}get[_0x1714a1(0xea)](){const _0x5f2b9e=_0x1714a1;return clonePreview(this[_0x5f2b9e(0xc4)]);}get['lockedSlices'](){const _0x3b4b7e=_0x1714a1;return this[_0x3b4b7e(0xe8)]['map'](cloneLockedSlice);}get[_0x1714a1(0xf4)](){const _0x4f2735=_0x1714a1;return this[_0x4f2735(0xce)];}get[_0x1714a1(0xd3)](){const _0x35e131=_0x1714a1;return{'preview':this['preview'],'lockedSlices':this[_0x35e131(0xd7)],'toolMode':this[_0x35e131(0xce)],'volumeDimFactor':this['volumeDimFactor']};}[_0x1714a1(0xcd)](_0x499482){const _0x1885bf=_0x1714a1;return this[_0x1885bf(0xc2)]['add'](_0x499482),_0x499482(this[_0x1885bf(0xd3)]),()=>this[_0x1885bf(0xc2)][_0x1885bf(0xf1)](_0x499482);}get['axisDefinitions'](){const _0x3ac546=_0x1714a1;return{'xAxis':{...this[_0x3ac546(0xd9)][_0x3ac546(0xf0)]},'yAxis':{...this[_0x3ac546(0xd9)]['yAxis']},'zAxis':{...this[_0x3ac546(0xd9)]['zAxis']}};}[_0x1714a1(0xd5)](_0x1e5be3){const _0x29f940=_0x1714a1;validateAxes(_0x1e5be3),this[_0x29f940(0xd9)]={'xAxis':{..._0x1e5be3[_0x29f940(0xf0)]},'yAxis':{..._0x1e5be3[_0x29f940(0xef)]},'zAxis':{..._0x1e5be3[_0x29f940(0xbe)]}};if(this['currentPreview'])this[_0x29f940(0xc4)]['position']=clampPosition(this[_0x29f940(0xd9)],this[_0x29f940(0xc4)][_0x29f940(0xd6)],this[_0x29f940(0xc4)][_0x29f940(0xd4)]);this['slices']=this[_0x29f940(0xe8)]['map'](_0x284818=>({..._0x284818,'position':clampPosition(this[_0x29f940(0xd9)],_0x284818[_0x29f940(0xd6)],_0x284818[_0x29f940(0xd4)])})),this[_0x29f940(0xf3)]();}[_0x1714a1(0xcc)](_0xd589d0){const _0x40b628=_0x1714a1;if(this[_0x40b628(0xce)]===_0xd589d0)return;this['mode']=_0xd589d0;if(_0xd589d0===null||_0xd589d0!==_0x40b628(0xd8)&&this[_0x40b628(0xc4)]?.[_0x40b628(0xd6)]!==_0xd589d0)this[_0x40b628(0xc4)]=null;this['notify']();}[_0x1714a1(0xc6)](_0xdd8ff6,_0x284015){const _0x1e0530=_0x1714a1;if(this['mode']===null||this[_0x1e0530(0xce)]!==_0x1e0530(0xd8)&&this['mode']!==_0xdd8ff6)return;const _0x52aeee=clampPosition(this[_0x1e0530(0xd9)],_0xdd8ff6,_0x284015);if(this[_0x1e0530(0xc4)]?.[_0x1e0530(0xd6)]===_0xdd8ff6&&this[_0x1e0530(0xc4)]['position']===_0x52aeee)return;this[_0x1e0530(0xc4)]={'axis':_0xdd8ff6,'position':_0x52aeee},this['notify']();}[_0x1714a1(0xe2)](){const _0x2f9d08=_0x1714a1;if(!this[_0x2f9d08(0xc4)])return;this['currentPreview']=null,this[_0x2f9d08(0xf3)]();}[_0x1714a1(0xcb)](_0x27d593=this['depthMode']){const _0x539b91=_0x1714a1;if(!this[_0x539b91(0xc4)])return null;return this[_0x539b91(0xbf)](this[_0x539b91(0xc4)][_0x539b91(0xd6)],this[_0x539b91(0xc4)][_0x539b91(0xd4)],_0x27d593);}[_0x1714a1(0xbf)](_0x50f72f,_0x295f4b,_0x164be6=this[_0x1714a1(0xed)]){const _0x4a9992=_0x1714a1;if(this['slices']['length']>=this[_0x4a9992(0xcf)])return this[_0x4a9992(0xf2)]?.(this[_0x4a9992(0xcf)]),null;const _0x36dc2b={'id':_0x4a9992(0xe1)+this[_0x4a9992(0xc1)],'axis':_0x50f72f,'position':clampPosition(this[_0x4a9992(0xd9)],_0x50f72f,_0x295f4b),'depthMode':_0x164be6,'visible':!![]};return this[_0x4a9992(0xc1)]+=0x1,this[_0x4a9992(0xe8)]=[...this[_0x4a9992(0xe8)],_0x36dc2b],this[_0x4a9992(0xf3)](),cloneLockedSlice(_0x36dc2b);}[_0x1714a1(0xe0)](_0x3e3e89,_0xe743b8){const _0x5c3041=_0x1714a1,_0x3ad188=this['slices'][_0x5c3041(0xe3)](_0x5f2ca7=>_0x5f2ca7['id']===_0x3e3e89);if(_0x3ad188<0x0)return;const _0x224b67=this['slices'][_0x3ad188],_0x252f81=clampPosition(this[_0x5c3041(0xd9)],_0x224b67['axis'],_0xe743b8);if(_0x252f81===_0x224b67[_0x5c3041(0xd4)])return;this[_0x5c3041(0xe8)]=this[_0x5c3041(0xe8)][_0x5c3041(0xde)](_0x2433f0=>_0x2433f0['id']===_0x3e3e89?{..._0x2433f0,'position':_0x252f81}:_0x2433f0),this[_0x5c3041(0xf3)]();}[_0x1714a1(0xf7)](_0x1a1c1f){const _0x13193c=_0x1714a1,_0x66e60b=this[_0x13193c(0xe8)][_0x13193c(0xe9)](_0x2fe05f=>_0x2fe05f['id']!==_0x1a1c1f);if(_0x66e60b['length']===this[_0x13193c(0xe8)][_0x13193c(0xec)])return;this[_0x13193c(0xe8)]=_0x66e60b,this['notify']();}[_0x1714a1(0xe5)](){const _0xbb1356=_0x1714a1;if(this[_0xbb1356(0xe8)][_0xbb1356(0xec)]===0x0)return;this[_0xbb1356(0xe8)]=[],this[_0xbb1356(0xf3)]();}['notify'](){const _0x33c160=_0x1714a1,_0x47236a=this[_0x33c160(0xd3)];for(const _0x3449a9 of this[_0x33c160(0xc2)])_0x3449a9(_0x47236a);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x4af08b=_0xb58a;(function(_0x29cdaa,_0x5bf56f){const _0x4065f6=_0xb58a,_0xd8dd32=_0x29cdaa();while(!![]){try{const _0x143b7d=-parseInt(_0x4065f6(0xe3))/0x1+parseInt(_0x4065f6(0xde))/0x2+parseInt(_0x4065f6(0xe1))/0x3*(parseInt(_0x4065f6(0xd9))/0x4)+parseInt(_0x4065f6(0xd4))/0x5*(parseInt(_0x4065f6(0xe8))/0x6)+-parseInt(_0x4065f6(0xe9))/0x7+parseInt(_0x4065f6(0xdc))/0x8*(parseInt(_0x4065f6(0xe5))/0x9)+parseInt(_0x4065f6(0xd3))/0xa*(-parseInt(_0x4065f6(0xdd))/0xb);if(_0x143b7d===_0x5bf56f)break;else _0xd8dd32['push'](_0xd8dd32['shift']());}catch(_0x582e5b){_0xd8dd32['push'](_0xd8dd32['shift']());}}}(_0x2a78,0x277c7));import{validateVolumeChunk}from'./volumeValidation';const clamp=(_0x5b6124,_0x281c6f)=>Math[_0x4af08b(0xda)](_0x281c6f-0x1,Math['max'](0x0,_0x5b6124));function _0xb58a(_0x10d7e0,_0x4f67c3){const _0x2a783a=_0x2a78();return _0xb58a=function(_0xb58a6f,_0x4779fc){_0xb58a6f=_0xb58a6f-0xd0;let _0x2852f9=_0x2a783a[_0xb58a6f];return _0x2852f9;},_0xb58a(_0x10d7e0,_0x4f67c3);}export const createPhysicalBrickValues=(_0x2098db,_0x245ab0,_0x5df84f,_0x516c21)=>{const _0x5df96a=_0x4af08b;validateVolumeChunk(_0x2098db,_0x516c21,_0x5df84f['readRange']);const _0x1dfc01=_0x245ab0[_0x5df96a(0xe2)]+_0x245ab0[_0x5df96a(0xd2)]*0x2,_0x53ef07=_0x245ab0[_0x5df96a(0xe7)]+_0x245ab0[_0x5df96a(0xd2)]*0x2,_0x209482=_0x245ab0[_0x5df96a(0xd6)]+_0x245ab0[_0x5df96a(0xd2)]*0x2,_0x5a53b1=new Float32Array(_0x1dfc01*_0x53ef07*_0x209482);for(let _0x200c02=0x0;_0x200c02<_0x209482;_0x200c02+=0x1){const _0x2c8841=clamp(_0x5df84f[_0x5df96a(0xd7)][_0x5df96a(0xd1)]+_0x200c02-_0x245ab0[_0x5df96a(0xd2)],_0x2098db[_0x5df96a(0xdf)][_0x5df96a(0xdb)])-_0x516c21['range'][_0x5df96a(0xd1)];for(let _0x1cf247=0x0;_0x1cf247<_0x53ef07;_0x1cf247+=0x1){const _0x596d0c=clamp(_0x5df84f['coreRange'][_0x5df96a(0xe6)]+_0x1cf247-_0x245ab0[_0x5df96a(0xd2)],_0x2098db[_0x5df96a(0xe0)]['count'])-_0x516c21['range'][_0x5df96a(0xe6)];for(let _0x589edc=0x0;_0x589edc<_0x1dfc01;_0x589edc+=0x1){const _0x5ca74a=clamp(_0x5df84f[_0x5df96a(0xd7)][_0x5df96a(0xe4)]+_0x589edc-_0x245ab0[_0x5df96a(0xd2)],_0x2098db[_0x5df96a(0xd0)][_0x5df96a(0xdb)])-_0x516c21[_0x5df96a(0xd5)][_0x5df96a(0xe4)];_0x5a53b1[(_0x200c02*_0x53ef07+_0x1cf247)*_0x1dfc01+_0x589edc]=_0x516c21[_0x5df96a(0xd8)][(_0x2c8841*_0x516c21['height']+_0x596d0c)*_0x516c21['width']+_0x5ca74a];}}}return _0x5a53b1;};function _0x2a78(){const _0x5cd89f=['1140kcjLJS','1198421BGlxZf','xAxis','sourceYStart','halo','1128420mEDZyT','625wuEtHv','range','depth','coreRange','values','560bWVyFy','min','count','80VfmkDX','22FgecWY','126182KqLXkS','zAxis','yAxis','6906PnoSzo','width','137279LoFuyS','xStart','258102nBeGVS','levelStart','height'];_0x2a78=function(){return _0x5cd89f;};return _0x2a78();}
|