@rings-webgpu/core 1.0.5 → 1.0.7
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/rings.es.js +1 -1
- package/dist/rings.es.js.map +1 -1
- package/dist/rings.es.max.js +478 -478
- package/dist/rings.umd.js +1 -1
- package/dist/rings.umd.js.map +1 -1
- package/dist/rings.umd.max.js +478 -478
- package/dist/types/Engine3D.d.ts +107 -0
- package/dist/types/assets/Fonts.d.ts +20 -0
- package/dist/types/assets/Res.d.ts +74 -0
- package/dist/types/assets/shader/ShaderLib.d.ts +5 -0
- package/dist/types/assets/shader/anim/SkeletonAnimation_shader.d.ts +3 -0
- package/dist/types/assets/shader/cluster/ClusterBoundsSource_cs.d.ts +1 -0
- package/dist/types/assets/shader/cluster/ClusterLighting_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/BRDFLUT.d.ts +1 -0
- package/dist/types/assets/shader/compute/BloomEffect_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/BlurEffectCreator_cs.d.ts +2 -0
- package/dist/types/assets/shader/compute/DDGIIrradiance_Cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/DDGILighting_CSShader.d.ts +4 -0
- package/dist/types/assets/shader/compute/DepthOfView_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/ErpImage2CubeMapCreateCube_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/ErpImage2CubeMapRgbe2rgba_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/GTAO_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/GodRay_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/IBLEnvMapCreator_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/MergeRGBA_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/MultiBouncePass_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/OutLineBlendColor_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/OutlineCalcOutline_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/Outline_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/Picker_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/PreFilteredEnvironment_cs copy.d.ts +1 -0
- package/dist/types/assets/shader/compute/PreFilteredEnvironment_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/PreIntegratedLut.d.ts +1 -0
- package/dist/types/assets/shader/compute/SSAO_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/SSGI2_cs.d.ts +7 -0
- package/dist/types/assets/shader/compute/SSR_BlendColor_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/SSR_IS_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/SSR_RayTrace_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/TAACopyTex_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/TAASharpTex_cs.d.ts +1 -0
- package/dist/types/assets/shader/compute/TAA_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/utils/Combine_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/utils/Denoising_cs.d.ts +4 -0
- package/dist/types/assets/shader/compute/utils/TestComputeLoadBuffer.d.ts +1 -0
- package/dist/types/assets/shader/compute/utils/TextureCompress.d.ts +2 -0
- package/dist/types/assets/shader/compute/utils/tw.d.ts +4 -0
- package/dist/types/assets/shader/core/base/Common_frag.d.ts +1 -0
- package/dist/types/assets/shader/core/base/Common_vert.d.ts +1 -0
- package/dist/types/assets/shader/core/common/BrdfLut_frag.d.ts +1 -0
- package/dist/types/assets/shader/core/common/EnvMap_frag.d.ts +1 -0
- package/dist/types/assets/shader/core/common/GBufferStand.d.ts +1 -0
- package/dist/types/assets/shader/core/common/GlobalUniform.d.ts +4 -0
- package/dist/types/assets/shader/core/common/InstanceUniform.d.ts +1 -0
- package/dist/types/assets/shader/core/common/SHCommon_frag.d.ts +1 -0
- package/dist/types/assets/shader/core/common/WorldMatrixUniform.d.ts +1 -0
- package/dist/types/assets/shader/core/inline/Inline_vert.d.ts +1 -0
- package/dist/types/assets/shader/core/pass/CastShadow_pass.d.ts +4 -0
- package/dist/types/assets/shader/core/pass/FrustumCulling_cs.d.ts +4 -0
- package/dist/types/assets/shader/core/pass/GBuffer_pass.d.ts +1 -0
- package/dist/types/assets/shader/core/pass/SkyGBuffer_pass.d.ts +1 -0
- package/dist/types/assets/shader/core/pass/ZPassShader_cs.d.ts +1 -0
- package/dist/types/assets/shader/core/pass/ZPassShader_fs.d.ts +1 -0
- package/dist/types/assets/shader/core/pass/ZPassShader_vs.d.ts +1 -0
- package/dist/types/assets/shader/core/struct/ClusterLight.d.ts +4 -0
- package/dist/types/assets/shader/core/struct/ColorPassFragmentOutput.d.ts +1 -0
- package/dist/types/assets/shader/core/struct/FragmentOutput.d.ts +1 -0
- package/dist/types/assets/shader/core/struct/FragmentVarying.d.ts +1 -0
- package/dist/types/assets/shader/core/struct/ShadingInput.d.ts +1 -0
- package/dist/types/assets/shader/core/struct/VertexAttributeIndexShader.d.ts +1 -0
- package/dist/types/assets/shader/core/struct/VertexAttributes.d.ts +1 -0
- package/dist/types/assets/shader/env/ReflectionCG.d.ts +1 -0
- package/dist/types/assets/shader/glsl/Quad_glsl.d.ts +2 -0
- package/dist/types/assets/shader/lighting/BRDF_frag.d.ts +4 -0
- package/dist/types/assets/shader/lighting/BsDF_frag.d.ts +4 -0
- package/dist/types/assets/shader/lighting/BxDF_frag.d.ts +4 -0
- package/dist/types/assets/shader/lighting/Hair_frag.d.ts +1 -0
- package/dist/types/assets/shader/lighting/IESProfiles_frag.d.ts +1 -0
- package/dist/types/assets/shader/lighting/IrradianceVolumeData_frag.d.ts +1 -0
- package/dist/types/assets/shader/lighting/Irradiance_frag.d.ts +4 -0
- package/dist/types/assets/shader/lighting/LightingFunction_frag.d.ts +1 -0
- package/dist/types/assets/shader/lighting/UnLit_frag.d.ts +1 -0
- package/dist/types/assets/shader/materials/ColorLitShader.d.ts +1 -0
- package/dist/types/assets/shader/materials/GIProbeShader.d.ts +1 -0
- package/dist/types/assets/shader/materials/GSplatShader.d.ts +2 -0
- package/dist/types/assets/shader/materials/GlassShader.d.ts +1 -0
- package/dist/types/assets/shader/materials/Hair_shader.d.ts +2 -0
- package/dist/types/assets/shader/materials/Lambert_shader.d.ts +1 -0
- package/dist/types/assets/shader/materials/Lit_shader.d.ts +1 -0
- package/dist/types/assets/shader/materials/OutlinePass.d.ts +1 -0
- package/dist/types/assets/shader/materials/PBRLItShader.d.ts +4 -0
- package/dist/types/assets/shader/materials/PBRLitSSSShader.d.ts +4 -0
- package/dist/types/assets/shader/materials/ReflectionShader_shader.d.ts +1 -0
- package/dist/types/assets/shader/materials/UnLit.d.ts +4 -0
- package/dist/types/assets/shader/materials/UnLitTextureArray.d.ts +1 -0
- package/dist/types/assets/shader/materials/program/BxdfDebug_frag.d.ts +4 -0
- package/dist/types/assets/shader/materials/program/Clearcoat_frag.d.ts +1 -0
- package/dist/types/assets/shader/materials/program/ClusterDebug_frag.d.ts +1 -0
- package/dist/types/assets/shader/materials/program/NormalMap_frag.d.ts +4 -0
- package/dist/types/assets/shader/materials/program/ShadowMapping_frag.d.ts +1 -0
- package/dist/types/assets/shader/materials/uniforms/PhysicMaterialUniform_frag.d.ts +1 -0
- package/dist/types/assets/shader/materials/uniforms/UnLitMaterialUniform_frag.d.ts +1 -0
- package/dist/types/assets/shader/materials/uniforms/VideoUniform_frag.d.ts +1 -0
- package/dist/types/assets/shader/math/FastMathShader.d.ts +1 -0
- package/dist/types/assets/shader/math/MathShader.d.ts +4 -0
- package/dist/types/assets/shader/math/MatrixShader.d.ts +1 -0
- package/dist/types/assets/shader/post/FXAAShader.d.ts +1 -0
- package/dist/types/assets/shader/post/GlobalFog_shader.d.ts +4 -0
- package/dist/types/assets/shader/quad/Quad_shader.d.ts +24 -0
- package/dist/types/assets/shader/sky/AtmosphericScatteringSky_shader.d.ts +3 -0
- package/dist/types/assets/shader/sky/CubeSky_Shader.d.ts +4 -0
- package/dist/types/assets/shader/utils/BitUtil.d.ts +1 -0
- package/dist/types/assets/shader/utils/ColorUtil.d.ts +1 -0
- package/dist/types/assets/shader/utils/GenerayRandomDir.d.ts +1 -0
- package/dist/types/components/AtmosphericComponent.d.ts +28 -0
- package/dist/types/components/BillboardComponent.d.ts +13 -0
- package/dist/types/components/ColliderComponent.d.ts +15 -0
- package/dist/types/components/ComponentBase.d.ts +43 -0
- package/dist/types/components/IComponent.d.ts +27 -0
- package/dist/types/components/SkeletonAnimationComponent.d.ts +52 -0
- package/dist/types/components/Transform.d.ts +119 -0
- package/dist/types/components/anim/AnimatorComponent.d.ts +67 -0
- package/dist/types/components/anim/OAnimationEvent.d.ts +6 -0
- package/dist/types/components/anim/curveAnim/AnimationMonitor.d.ts +29 -0
- package/dist/types/components/anim/curveAnim/AttributeAnimCurve.d.ts +8 -0
- package/dist/types/components/anim/curveAnim/PropertyAnimClip.d.ts +29 -0
- package/dist/types/components/anim/curveAnim/PropertyAnimation.d.ts +31 -0
- package/dist/types/components/anim/curveAnim/PropertyAnimationEvent.d.ts +14 -0
- package/dist/types/components/anim/curveAnim/PropertyHelp.d.ts +13 -0
- package/dist/types/components/anim/morphAnim/MorphTargetBlender.d.ts +18 -0
- package/dist/types/components/anim/morphAnim/MorphTargetData.d.ts +52 -0
- package/dist/types/components/anim/morphAnim/MorphTargetFrame.d.ts +68 -0
- package/dist/types/components/anim/morphAnim/MorphTargetKey.d.ts +58 -0
- package/dist/types/components/anim/morphAnim/MorphTarget_shader.d.ts +8 -0
- package/dist/types/components/anim/skeletonAnim/Joint.d.ts +12 -0
- package/dist/types/components/anim/skeletonAnim/JointPose.d.ts +6 -0
- package/dist/types/components/anim/skeletonAnim/Skeleton.d.ts +10 -0
- package/dist/types/components/anim/skeletonAnim/SkeletonAnimationClip.d.ts +22 -0
- package/dist/types/components/anim/skeletonAnim/SkeletonAnimationClipState.d.ts +21 -0
- package/dist/types/components/anim/skeletonAnim/SkeletonAnimationCompute.d.ts +6 -0
- package/dist/types/components/anim/skeletonAnim/SkeletonPose.d.ts +16 -0
- package/dist/types/components/anim/skeletonAnim/buffer/SkeletonBlendComputeArgs.d.ts +23 -0
- package/dist/types/components/anim/skeletonAnim/buffer/SkeletonTransformComputeArgs.d.ts +23 -0
- package/dist/types/components/controller/CameraControllerBase.d.ts +17 -0
- package/dist/types/components/controller/FirstPersonCameraController.d.ts +15 -0
- package/dist/types/components/controller/FlyCameraController.d.ts +36 -0
- package/dist/types/components/controller/HoverCameraController.d.ts +54 -0
- package/dist/types/components/controller/OrbitController.d.ts +170 -0
- package/dist/types/components/controller/ThirdPersonCameraController.d.ts +16 -0
- package/dist/types/components/gui/GUIConfig.d.ts +23 -0
- package/dist/types/components/gui/GUIExtension.d.ts +5 -0
- package/dist/types/components/gui/GUIPick.d.ts +36 -0
- package/dist/types/components/gui/GUIPickHelper.d.ts +25 -0
- package/dist/types/components/gui/core/GUIAtlasTexture.d.ts +16 -0
- package/dist/types/components/gui/core/GUICanvas.d.ts +21 -0
- package/dist/types/components/gui/core/GUIDefine.d.ts +7 -0
- package/dist/types/components/gui/core/GUIGeometry.d.ts +36 -0
- package/dist/types/components/gui/core/GUIGeometryRebuild.d.ts +21 -0
- package/dist/types/components/gui/core/GUIMaterial.d.ts +29 -0
- package/dist/types/components/gui/core/GUIQuad.d.ts +52 -0
- package/dist/types/components/gui/core/GUIRenderer.d.ts +15 -0
- package/dist/types/components/gui/core/GUIShader.d.ts +8 -0
- package/dist/types/components/gui/core/GUISprite.d.ts +19 -0
- package/dist/types/components/gui/core/GUITexture.d.ts +12 -0
- package/dist/types/components/gui/uiComponents/IUIInteractive.d.ts +25 -0
- package/dist/types/components/gui/uiComponents/TextFieldLayout.d.ts +34 -0
- package/dist/types/components/gui/uiComponents/UIButton.d.ts +45 -0
- package/dist/types/components/gui/uiComponents/UIComponentBase.d.ts +15 -0
- package/dist/types/components/gui/uiComponents/UIImage.d.ts +21 -0
- package/dist/types/components/gui/uiComponents/UIImageGroup.d.ts +31 -0
- package/dist/types/components/gui/uiComponents/UIInteractive.d.ts +25 -0
- package/dist/types/components/gui/uiComponents/UIPanel.d.ts +38 -0
- package/dist/types/components/gui/uiComponents/UIRenderAble.d.ts +27 -0
- package/dist/types/components/gui/uiComponents/UIShadow.d.ts +31 -0
- package/dist/types/components/gui/uiComponents/UITextField.d.ts +36 -0
- package/dist/types/components/gui/uiComponents/UITransform.d.ts +60 -0
- package/dist/types/components/gui/uiComponents/ViewPanel.d.ts +9 -0
- package/dist/types/components/gui/uiComponents/WorldPanel.d.ts +13 -0
- package/dist/types/components/lights/DirectLight.d.ts +13 -0
- package/dist/types/components/lights/GILighting.d.ts +6 -0
- package/dist/types/components/lights/IESProfiles.d.ts +14 -0
- package/dist/types/components/lights/ILight.d.ts +12 -0
- package/dist/types/components/lights/Light.d.ts +32 -0
- package/dist/types/components/lights/LightBase.d.ts +127 -0
- package/dist/types/components/lights/LightData.d.ts +29 -0
- package/dist/types/components/lights/PointLight.d.ts +19 -0
- package/dist/types/components/lights/SpotLight.d.ts +21 -0
- package/dist/types/components/post/PostProcessingComponent.d.ts +16 -0
- package/dist/types/components/renderer/GSplatRenderer.d.ts +151 -0
- package/dist/types/components/renderer/GlobalIlluminationComponent.d.ts +22 -0
- package/dist/types/components/renderer/InstanceDrawComponent.d.ts +19 -0
- package/dist/types/components/renderer/MeshFilter.d.ts +9 -0
- package/dist/types/components/renderer/MeshRenderer.d.ts +27 -0
- package/dist/types/components/renderer/Reflection.d.ts +15 -0
- package/dist/types/components/renderer/RenderNode.d.ts +85 -0
- package/dist/types/components/renderer/SkinnedMeshRenderer.d.ts +26 -0
- package/dist/types/components/renderer/SkinnedMeshRenderer2.d.ts +37 -0
- package/dist/types/components/renderer/SkyRenderer.d.ts +22 -0
- package/dist/types/components/renderer/SphereReflection.d.ts +12 -0
- package/dist/types/components/shape/BoxColliderShape.d.ts +9 -0
- package/dist/types/components/shape/CapsuleColliderShape.d.ts +6 -0
- package/dist/types/components/shape/ColliderShape.d.ts +35 -0
- package/dist/types/components/shape/MeshColliderShape.d.ts +8 -0
- package/dist/types/components/shape/SphereColliderShape.d.ts +26 -0
- package/dist/types/core/Camera3D.d.ts +308 -0
- package/dist/types/core/CameraType.d.ts +5 -0
- package/dist/types/core/CubeCamera.d.ts +18 -0
- package/dist/types/core/PointShadowCubeCamera.d.ts +13 -0
- package/dist/types/core/Scene3D.d.ts +66 -0
- package/dist/types/core/View3D.d.ts +85 -0
- package/dist/types/core/ViewQuad.d.ts +19 -0
- package/dist/types/core/bound/BoundingBox.d.ts +34 -0
- package/dist/types/core/bound/BoundingSphere.d.ts +34 -0
- package/dist/types/core/bound/Frustum.d.ts +17 -0
- package/dist/types/core/bound/IBound.d.ts +19 -0
- package/dist/types/core/csm/CSM.d.ts +3 -0
- package/dist/types/core/csm/FrustumCSM.d.ts +32 -0
- package/dist/types/core/entities/Entity.d.ts +43 -0
- package/dist/types/core/entities/InstancedMesh.d.ts +11 -0
- package/dist/types/core/entities/Object3D.d.ts +66 -0
- package/dist/types/core/geometry/ExtrudeGeometry.d.ts +31 -0
- package/dist/types/core/geometry/GeometryBase.d.ts +70 -0
- package/dist/types/core/geometry/GeometryIndicesBuffer.d.ts +15 -0
- package/dist/types/core/geometry/GeometryVertexBuffer.d.ts +23 -0
- package/dist/types/core/geometry/GeometryVertexType.d.ts +5 -0
- package/dist/types/core/geometry/VertexAttribute.d.ts +15 -0
- package/dist/types/core/geometry/VertexAttributeData.d.ts +5 -0
- package/dist/types/core/geometry/VertexAttributeName.d.ts +23 -0
- package/dist/types/core/geometry/VertexAttributeSize.d.ts +11 -0
- package/dist/types/core/geometry/VertexAttributeStride.d.ts +15 -0
- package/dist/types/core/geometry/VertexFormat.d.ts +1 -0
- package/dist/types/core/pool/ObjectPool.d.ts +11 -0
- package/dist/types/core/pool/memory/MemoryDO.d.ts +10 -0
- package/dist/types/core/pool/memory/MemoryInfo.d.ts +79 -0
- package/dist/types/core/tree/kdTree/IKDTreeUserData.d.ts +10 -0
- package/dist/types/core/tree/kdTree/KDTreeEntity.d.ts +27 -0
- package/dist/types/core/tree/kdTree/KDTreeNode.d.ts +68 -0
- package/dist/types/core/tree/kdTree/KDTreeSpace.d.ts +26 -0
- package/dist/types/core/tree/octree/Octree.d.ts +28 -0
- package/dist/types/core/tree/octree/OctreeEntity.d.ts +11 -0
- package/dist/types/core/tree/quad/IQuadNode.d.ts +9 -0
- package/dist/types/core/tree/quad/QuadAABB.d.ts +26 -0
- package/dist/types/core/tree/quad/QuadRoot.d.ts +14 -0
- package/dist/types/core/tree/quad/QuadTree.d.ts +22 -0
- package/dist/types/core/tree/quad/QuadTreeCell.d.ts +23 -0
- package/dist/types/event/CEvent.d.ts +27 -0
- package/dist/types/event/CEventDispatcher.d.ts +13 -0
- package/dist/types/event/CEventListener.d.ts +13 -0
- package/dist/types/event/CResizeEvent.d.ts +4 -0
- package/dist/types/event/KeyCode.d.ts +110 -0
- package/dist/types/event/MouseCode.d.ts +5 -0
- package/dist/types/event/eventConst/KeyEvent.d.ts +6 -0
- package/dist/types/event/eventConst/LoaderEvent.d.ts +5 -0
- package/dist/types/event/eventConst/Object3DEvent.d.ts +7 -0
- package/dist/types/event/eventConst/PointerEvent3D.d.ts +63 -0
- package/dist/types/event/eventConst/UIEvent.d.ts +6 -0
- package/dist/types/gfx/generate/BrdfLUTGenerate.d.ts +7 -0
- package/dist/types/gfx/generate/PassGenerate.d.ts +9 -0
- package/dist/types/gfx/generate/convert/BlurEffectCreator.d.ts +7 -0
- package/dist/types/gfx/generate/convert/ErpImage2CubeMap.d.ts +9 -0
- package/dist/types/gfx/generate/convert/IBLEnvMapCreator.d.ts +12 -0
- package/dist/types/gfx/generate/convert/MergeRGBACreator.d.ts +5 -0
- package/dist/types/gfx/generate/convert/TextureCubeStdCreator.d.ts +9 -0
- package/dist/types/gfx/generate/convert/TextureCubeUtils.d.ts +12 -0
- package/dist/types/gfx/generate/convert/TextureScaleCompute.d.ts +6 -0
- package/dist/types/gfx/graphics/webGpu/CanvasConfig.d.ts +7 -0
- package/dist/types/gfx/graphics/webGpu/Context3D.d.ts +20 -0
- package/dist/types/gfx/graphics/webGpu/PipelinePool.d.ts +5 -0
- package/dist/types/gfx/graphics/webGpu/WebGPUConst.d.ts +154 -0
- package/dist/types/gfx/graphics/webGpu/compute/PreIntegratedLutCompute.d.ts +8 -0
- package/dist/types/gfx/graphics/webGpu/compute/RenderShaderCompute.d.ts +12 -0
- package/dist/types/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroup.d.ts +18 -0
- package/dist/types/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroupLayout.d.ts +4 -0
- package/dist/types/gfx/graphics/webGpu/core/bindGroups/GlobalUniformGroup.d.ts +25 -0
- package/dist/types/gfx/graphics/webGpu/core/bindGroups/MatrixBindGroup.d.ts +11 -0
- package/dist/types/gfx/graphics/webGpu/core/bindGroups/groups/LightEntries.d.ts +11 -0
- package/dist/types/gfx/graphics/webGpu/core/bindGroups/groups/ProbeEntries.d.ts +10 -0
- package/dist/types/gfx/graphics/webGpu/core/bindGroups/groups/ReflectionEntries.d.ts +12 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/ArrayBufferData.d.ts +1 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/ComputeGPUBuffer.d.ts +4 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/GPUBufferBase.d.ts +84 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/GPUBufferType.d.ts +9 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/IndicesGPUBuffer.d.ts +14 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/MaterialDataUniformGPUBuffer.d.ts +10 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/MatrixGPUBuffer.d.ts +8 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/StorageGPUBuffer.d.ts +5 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/StructStorageGPUBuffer.d.ts +7 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/UniformGPUBuffer.d.ts +5 -0
- package/dist/types/gfx/graphics/webGpu/core/buffer/VertexGPUBuffer.d.ts +7 -0
- package/dist/types/gfx/graphics/webGpu/core/texture/ITexture.d.ts +18 -0
- package/dist/types/gfx/graphics/webGpu/core/texture/Texture.d.ts +79 -0
- package/dist/types/gfx/graphics/webGpu/core/texture/TextureCube.d.ts +11 -0
- package/dist/types/gfx/graphics/webGpu/core/texture/TextureMipmapCompute.d.ts +9 -0
- package/dist/types/gfx/graphics/webGpu/core/texture/TextureMipmapGenerator.d.ts +9 -0
- package/dist/types/gfx/graphics/webGpu/core/uniforms/UniformNode.d.ts +34 -0
- package/dist/types/gfx/graphics/webGpu/descriptor/RTDescriptor.d.ts +5 -0
- package/dist/types/gfx/graphics/webGpu/descriptor/WebGPUDescriptorCreator.d.ts +8 -0
- package/dist/types/gfx/graphics/webGpu/shader/ComputeShader.d.ts +28 -0
- package/dist/types/gfx/graphics/webGpu/shader/RenderShaderPass.d.ts +83 -0
- package/dist/types/gfx/graphics/webGpu/shader/Shader.d.ts +53 -0
- package/dist/types/gfx/graphics/webGpu/shader/ShaderPassBase.d.ts +60 -0
- package/dist/types/gfx/graphics/webGpu/shader/ShaderStage.d.ts +5 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/GLSLLexer.d.ts +16 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/GLSLLexerToken.d.ts +174 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/GLSLPreprocessor.d.ts +10 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/GLSLSyntax.d.ts +14 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/Reader.d.ts +30 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/ShaderConverter.d.ts +47 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/StatementNode.d.ts +309 -0
- package/dist/types/gfx/graphics/webGpu/shader/converter/WGSLTranslator.d.ts +50 -0
- package/dist/types/gfx/graphics/webGpu/shader/util/MorePassParser.d.ts +25 -0
- package/dist/types/gfx/graphics/webGpu/shader/util/Preprocessor.d.ts +28 -0
- package/dist/types/gfx/graphics/webGpu/shader/util/ShaderUtil.d.ts +23 -0
- package/dist/types/gfx/graphics/webGpu/shader/value/ConstValue.d.ts +1 -0
- package/dist/types/gfx/graphics/webGpu/shader/value/DefineValue.d.ts +4 -0
- package/dist/types/gfx/graphics/webGpu/shader/value/ShaderReflectionInfo.d.ts +57 -0
- package/dist/types/gfx/graphics/webGpu/shader/value/ShaderState.d.ts +30 -0
- package/dist/types/gfx/graphics/webGpu/shader/value/ShaderValue.d.ts +32 -0
- package/dist/types/gfx/graphics/webGpu/shader/value/UniformValue.d.ts +13 -0
- package/dist/types/gfx/renderJob/GPUContext.d.ts +32 -0
- package/dist/types/gfx/renderJob/collect/CollectInfo.d.ts +7 -0
- package/dist/types/gfx/renderJob/collect/ComponentCollect.d.ts +29 -0
- package/dist/types/gfx/renderJob/collect/EntityBatchCollect.d.ts +7 -0
- package/dist/types/gfx/renderJob/collect/EntityCollect.d.ts +48 -0
- package/dist/types/gfx/renderJob/collect/RenderGroup.d.ts +7 -0
- package/dist/types/gfx/renderJob/collect/RenderShaderCollect.d.ts +9 -0
- package/dist/types/gfx/renderJob/collect/ShadowLightsCollect.d.ts +20 -0
- package/dist/types/gfx/renderJob/config/RTResourceConfig.d.ts +10 -0
- package/dist/types/gfx/renderJob/config/RenderLayer.d.ts +11 -0
- package/dist/types/gfx/renderJob/frame/GBufferFrame.d.ts +19 -0
- package/dist/types/gfx/renderJob/frame/ProbeGBufferFrame.d.ts +5 -0
- package/dist/types/gfx/renderJob/frame/RTFrame.d.ts +17 -0
- package/dist/types/gfx/renderJob/frame/RTResourceMap.d.ts +13 -0
- package/dist/types/gfx/renderJob/jobs/ForwardRenderJob.d.ts +7 -0
- package/dist/types/gfx/renderJob/jobs/RenderMap.d.ts +12 -0
- package/dist/types/gfx/renderJob/jobs/RendererJob.d.ts +43 -0
- package/dist/types/gfx/renderJob/occlusion/OcclusionSystem.d.ts +16 -0
- package/dist/types/gfx/renderJob/passRenderer/RenderContext.d.ts +20 -0
- package/dist/types/gfx/renderJob/passRenderer/RendererBase.d.ts +40 -0
- package/dist/types/gfx/renderJob/passRenderer/cluster/ClusterConfig.d.ts +5 -0
- package/dist/types/gfx/renderJob/passRenderer/cluster/ClusterLightingBuffer.d.ts +10 -0
- package/dist/types/gfx/renderJob/passRenderer/cluster/ClusterLightingRender.d.ts +20 -0
- package/dist/types/gfx/renderJob/passRenderer/color/ColorPassRenderer.d.ts +12 -0
- package/dist/types/gfx/renderJob/passRenderer/color/GUIPassRenderer.d.ts +13 -0
- package/dist/types/gfx/renderJob/passRenderer/cubeRenderer/ReflectionRenderer.d.ts +36 -0
- package/dist/types/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceComputePass.d.ts +18 -0
- package/dist/types/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceGPUBufferReader.d.ts +22 -0
- package/dist/types/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceVolume.d.ts +32 -0
- package/dist/types/gfx/renderJob/passRenderer/ddgi/DDGILightingPass.d.ts +17 -0
- package/dist/types/gfx/renderJob/passRenderer/ddgi/DDGIMultiBouncePass.d.ts +13 -0
- package/dist/types/gfx/renderJob/passRenderer/ddgi/DDGIProbeRenderer.d.ts +46 -0
- package/dist/types/gfx/renderJob/passRenderer/ddgi/Probe.d.ts +6 -0
- package/dist/types/gfx/renderJob/passRenderer/post/PostRenderer.d.ts +19 -0
- package/dist/types/gfx/renderJob/passRenderer/preDepth/PreDepthPassRenderer.d.ts +16 -0
- package/dist/types/gfx/renderJob/passRenderer/preDepth/ZCullingCompute.d.ts +12 -0
- package/dist/types/gfx/renderJob/passRenderer/shadow/PointLightShadowRenderer.d.ts +32 -0
- package/dist/types/gfx/renderJob/passRenderer/shadow/ShadowMapPassRenderer.d.ts +27 -0
- package/dist/types/gfx/renderJob/passRenderer/state/PassType.d.ts +13 -0
- package/dist/types/gfx/renderJob/passRenderer/state/RendererMask.d.ts +18 -0
- package/dist/types/gfx/renderJob/passRenderer/state/RendererPassState.d.ts +27 -0
- package/dist/types/gfx/renderJob/post/BloomPost.d.ts +45 -0
- package/dist/types/gfx/renderJob/post/DepthOfFieldPost.d.ts +56 -0
- package/dist/types/gfx/renderJob/post/FXAAPost.d.ts +18 -0
- package/dist/types/gfx/renderJob/post/GBufferPost.d.ts +35 -0
- package/dist/types/gfx/renderJob/post/GTAOPost.d.ts +67 -0
- package/dist/types/gfx/renderJob/post/GlobalFog.d.ts +69 -0
- package/dist/types/gfx/renderJob/post/GodRayPost.d.ts +56 -0
- package/dist/types/gfx/renderJob/post/OutlinePost.d.ts +93 -0
- package/dist/types/gfx/renderJob/post/PostBase.d.ts +35 -0
- package/dist/types/gfx/renderJob/post/SSGIPost.d.ts +67 -0
- package/dist/types/gfx/renderJob/post/SSRPost.d.ts +76 -0
- package/dist/types/gfx/renderJob/post/TAAPost.d.ts +40 -0
- package/dist/types/index.d.ts +589 -0
- package/dist/types/io/InputSystem.d.ts +49 -0
- package/dist/types/io/OutlineManager.d.ts +11 -0
- package/dist/types/io/OutlinePostData.d.ts +22 -0
- package/dist/types/io/PickFire.d.ts +32 -0
- package/dist/types/io/PickResult.d.ts +59 -0
- package/dist/types/io/RayCastMeshDetail.d.ts +32 -0
- package/dist/types/io/TouchData.d.ts +12 -0
- package/dist/types/io/picker/PickCompute.d.ts +14 -0
- package/dist/types/loader/FileLoader.d.ts +7 -0
- package/dist/types/loader/LoaderBase.d.ts +30 -0
- package/dist/types/loader/LoaderFunctions.d.ts +7 -0
- package/dist/types/loader/LoaderManager.d.ts +36 -0
- package/dist/types/loader/parser/3dgs/GaussianSplatAsset.d.ts +21 -0
- package/dist/types/loader/parser/3dgs/GaussianSplatParser.d.ts +8 -0
- package/dist/types/loader/parser/3dgs/loaders/FormatDetector.d.ts +13 -0
- package/dist/types/loader/parser/3dgs/loaders/index.d.ts +10 -0
- package/dist/types/loader/parser/3dgs/loaders/ply/PlyLoader.d.ts +9 -0
- package/dist/types/loader/parser/3dgs/loaders/ply/PlyTypes.d.ts +30 -0
- package/dist/types/loader/parser/3dgs/loaders/ply/PlyUtils.d.ts +13 -0
- package/dist/types/loader/parser/3dgs/loaders/ply/index.d.ts +8 -0
- package/dist/types/loader/parser/AtlasParser.d.ts +10 -0
- package/dist/types/loader/parser/B3DMParser.d.ts +24 -0
- package/dist/types/loader/parser/FontParser.d.ts +54 -0
- package/dist/types/loader/parser/I3DMParser.d.ts +7 -0
- package/dist/types/loader/parser/OBJParser.d.ts +72 -0
- package/dist/types/loader/parser/ParserBase.d.ts +18 -0
- package/dist/types/loader/parser/ParserFormat.d.ts +5 -0
- package/dist/types/loader/parser/RGBEParser.d.ts +40 -0
- package/dist/types/loader/parser/b3dm/B3DMLoader.d.ts +10 -0
- package/dist/types/loader/parser/b3dm/B3DMLoaderBase.d.ts +9 -0
- package/dist/types/loader/parser/b3dm/FeatureTable.d.ts +14 -0
- package/dist/types/loader/parser/b3dm/arrayToString.d.ts +1 -0
- package/dist/types/loader/parser/b3dm/readMagicBytes.d.ts +1 -0
- package/dist/types/loader/parser/gis/GeoJsonParser.d.ts +29 -0
- package/dist/types/loader/parser/gis/GeoJsonUtil.d.ts +5 -0
- package/dist/types/loader/parser/gltf/GLBParser.d.ts +21 -0
- package/dist/types/loader/parser/gltf/GLTFInfo.d.ts +137 -0
- package/dist/types/loader/parser/gltf/GLTFMaterial.d.ts +24 -0
- package/dist/types/loader/parser/gltf/GLTFParser.d.ts +45 -0
- package/dist/types/loader/parser/gltf/GLTFSubParser.d.ts +47 -0
- package/dist/types/loader/parser/gltf/GLTFSubParserCamera.d.ts +7 -0
- package/dist/types/loader/parser/gltf/GLTFSubParserConverter.d.ts +17 -0
- package/dist/types/loader/parser/gltf/GLTFSubParserMaterial.d.ts +10 -0
- package/dist/types/loader/parser/gltf/GLTFSubParserMesh.d.ts +11 -0
- package/dist/types/loader/parser/gltf/GLTFSubParserSkeleton.d.ts +15 -0
- package/dist/types/loader/parser/gltf/GLTFSubParserSkin.d.ts +10 -0
- package/dist/types/loader/parser/gltf/GLTFType.d.ts +22 -0
- package/dist/types/loader/parser/gltf/TypeArray.d.ts +4 -0
- package/dist/types/loader/parser/gltf/extends/KHR_draco_mesh_compression.d.ts +9 -0
- package/dist/types/loader/parser/gltf/extends/KHR_lights_punctual.d.ts +2 -0
- package/dist/types/loader/parser/gltf/extends/KHR_materials_clearcoat.d.ts +7 -0
- package/dist/types/loader/parser/gltf/extends/KHR_materials_emissive_strength.d.ts +3 -0
- package/dist/types/loader/parser/gltf/extends/KHR_materials_ior.d.ts +2 -0
- package/dist/types/loader/parser/gltf/extends/KHR_materials_unlit.d.ts +3 -0
- package/dist/types/loader/parser/i3dm/I3DMLoader.d.ts +17 -0
- package/dist/types/loader/parser/i3dm/I3DMLoaderBase.d.ts +9 -0
- package/dist/types/loader/parser/kmz/3d/WayLines3D.d.ts +10 -0
- package/dist/types/loader/parser/kmz/3d/WayPoint3D.d.ts +11 -0
- package/dist/types/loader/parser/kmz/KMZParser.d.ts +8 -0
- package/dist/types/loader/parser/kmz/dataDef/action.d.ts +564 -0
- package/dist/types/loader/parser/kmz/dataDef/global.d.ts +58 -0
- package/dist/types/loader/parser/kmz/dataDef/index.d.ts +12 -0
- package/dist/types/loader/parser/kmz/dataDef/point.d.ts +129 -0
- package/dist/types/loader/parser/kmz/dataDef/template.d.ts +300 -0
- package/dist/types/loader/parser/kmz/dataDef/wayline.d.ts +97 -0
- package/dist/types/loader/parser/prefab/PrefabAvatarParser.d.ts +9 -0
- package/dist/types/loader/parser/prefab/PrefabMaterialParser.d.ts +9 -0
- package/dist/types/loader/parser/prefab/PrefabMeshParser.d.ts +10 -0
- package/dist/types/loader/parser/prefab/PrefabParser.d.ts +16 -0
- package/dist/types/loader/parser/prefab/PrefabStringUtil.d.ts +12 -0
- package/dist/types/loader/parser/prefab/PrefabTextureParser.d.ts +10 -0
- package/dist/types/loader/parser/prefab/mats/MaterialUtilities.d.ts +8 -0
- package/dist/types/loader/parser/prefab/mats/shader/LitSSSShader.d.ts +24 -0
- package/dist/types/loader/parser/prefab/mats/shader/LitShader.d.ts +19 -0
- package/dist/types/loader/parser/prefab/mats/shader/QuadShader.d.ts +4 -0
- package/dist/types/loader/parser/prefab/mats/shader/ReflectionShader.d.ts +19 -0
- package/dist/types/loader/parser/prefab/mats/shader/SkyShader.d.ts +4 -0
- package/dist/types/loader/parser/prefab/mats/shader/StandShader.d.ts +220 -0
- package/dist/types/loader/parser/prefab/mats/shader/UnLitShader.d.ts +19 -0
- package/dist/types/loader/parser/prefab/mats/shader/UnLitTexArrayShader.d.ts +19 -0
- package/dist/types/loader/parser/prefab/prefabData/BlendShapeData.d.ts +11 -0
- package/dist/types/loader/parser/prefab/prefabData/BlendShapePropertyData.d.ts +9 -0
- package/dist/types/loader/parser/prefab/prefabData/KVData.d.ts +9 -0
- package/dist/types/loader/parser/prefab/prefabData/PrefabAvatarData.d.ts +9 -0
- package/dist/types/loader/parser/prefab/prefabData/PrefabBoneData.d.ts +16 -0
- package/dist/types/loader/parser/prefab/prefabData/PrefabMeshData.d.ts +19 -0
- package/dist/types/loader/parser/prefab/prefabData/PrefabNode.d.ts +19 -0
- package/dist/types/loader/parser/prefab/prefabData/PrefabTextureData.d.ts +14 -0
- package/dist/types/loader/parser/prefab/prefabData/ValueParser.d.ts +16 -0
- package/dist/types/loader/parser/prefab/prefabData/ValueType.d.ts +35 -0
- package/dist/types/loader/parser/tileRenderer/TileSet.d.ts +45 -0
- package/dist/types/loader/parser/tileRenderer/TilesRenderer.d.ts +12 -0
- package/dist/types/materials/BlendMode.d.ts +58 -0
- package/dist/types/materials/ColorLitMaterial.d.ts +14 -0
- package/dist/types/materials/GIProbeMaterial.d.ts +15 -0
- package/dist/types/materials/GSplatMaterial.d.ts +20 -0
- package/dist/types/materials/LambertMaterial.d.ts +39 -0
- package/dist/types/materials/LitMaterial.d.ts +49 -0
- package/dist/types/materials/Material.d.ts +67 -0
- package/dist/types/materials/MaterialRegister.d.ts +9 -0
- package/dist/types/materials/ReflectionMaterial.d.ts +13 -0
- package/dist/types/materials/SkyMaterial.d.ts +13 -0
- package/dist/types/materials/UnLitMaterial.d.ts +33 -0
- package/dist/types/materials/UnLitTexArrayMaterial.d.ts +20 -0
- package/dist/types/materials/multiPass/CastPointShadowMaterialPass.d.ts +4 -0
- package/dist/types/materials/multiPass/CastShadowMaterialPass.d.ts +4 -0
- package/dist/types/materials/multiPass/DepthMaterialPass.d.ts +4 -0
- package/dist/types/materials/multiPass/GBufferPass.d.ts +5 -0
- package/dist/types/materials/multiPass/SkyGBufferPass.d.ts +4 -0
- package/dist/types/math/AnimationCurve.d.ts +42 -0
- package/dist/types/math/AnimationCurveClip.d.ts +15 -0
- package/dist/types/math/AnimationCurveT.d.ts +24 -0
- package/dist/types/math/BiMap.d.ts +9 -0
- package/dist/types/math/Color.d.ts +249 -0
- package/dist/types/math/ColorGradient.d.ts +6 -0
- package/dist/types/math/CubicBezierCurve.d.ts +47 -0
- package/dist/types/math/CubicBezierPath.d.ts +37 -0
- package/dist/types/math/HaltonSeq.d.ts +13 -0
- package/dist/types/math/Line.d.ts +39 -0
- package/dist/types/math/MathUtil.d.ts +86 -0
- package/dist/types/math/Matrix3.d.ts +183 -0
- package/dist/types/math/Matrix4.d.ts +563 -0
- package/dist/types/math/OrderMap.d.ts +11 -0
- package/dist/types/math/Orientation3D.d.ts +5 -0
- package/dist/types/math/ParticleMath.d.ts +22 -0
- package/dist/types/math/ParticleSystemCurves.d.ts +85 -0
- package/dist/types/math/Plane3D.d.ts +173 -0
- package/dist/types/math/PlaneClassification.d.ts +32 -0
- package/dist/types/math/PolynomialCurve.d.ts +43 -0
- package/dist/types/math/Polynomials.d.ts +12 -0
- package/dist/types/math/Quaternion.d.ts +42 -0
- package/dist/types/math/Rand.d.ts +15 -0
- package/dist/types/math/Random.d.ts +67 -0
- package/dist/types/math/Ray.d.ts +41 -0
- package/dist/types/math/Rect.d.ts +21 -0
- package/dist/types/math/TimeInterpolator.d.ts +179 -0
- package/dist/types/math/Triangle.d.ts +33 -0
- package/dist/types/math/UV.d.ts +10 -0
- package/dist/types/math/Vector2.d.ts +38 -0
- package/dist/types/math/Vector3.d.ts +107 -0
- package/dist/types/math/Vector4.d.ts +34 -0
- package/dist/types/math/enum/FrameCache.d.ts +6 -0
- package/dist/types/math/enum/Keyframe.d.ts +14 -0
- package/dist/types/math/enum/T/KeyframeT.d.ts +18 -0
- package/dist/types/math/enum/T/ValueOp.d.ts +4 -0
- package/dist/types/math/enum/WrapTimeMode.d.ts +5 -0
- package/dist/types/math/navigation/DoubleArray.d.ts +11 -0
- package/dist/types/math/navigation/Navi3DAstar.d.ts +16 -0
- package/dist/types/math/navigation/Navi3DConst.d.ts +5 -0
- package/dist/types/math/navigation/Navi3DEdge.d.ts +33 -0
- package/dist/types/math/navigation/Navi3DFunnel.d.ts +19 -0
- package/dist/types/math/navigation/Navi3DMaskType.d.ts +3 -0
- package/dist/types/math/navigation/Navi3DMesh.d.ts +27 -0
- package/dist/types/math/navigation/Navi3DPoint.d.ts +13 -0
- package/dist/types/math/navigation/Navi3DPoint2D.d.ts +10 -0
- package/dist/types/math/navigation/Navi3DPointFat.d.ts +11 -0
- package/dist/types/math/navigation/Navi3DRouter.d.ts +29 -0
- package/dist/types/math/navigation/Navi3DTriangle.d.ts +44 -0
- package/dist/types/setting/EngineSetting.d.ts +23 -0
- package/dist/types/setting/GlobalIlluminationSetting.d.ts +115 -0
- package/dist/types/setting/LightSetting.d.ts +3 -0
- package/dist/types/setting/LoaderSetting.d.ts +3 -0
- package/dist/types/setting/MaterialSetting.d.ts +5 -0
- package/dist/types/setting/OcclusionQuerySetting.d.ts +12 -0
- package/dist/types/setting/PickSetting.d.ts +5 -0
- package/dist/types/setting/ReflectionSetting.d.ts +7 -0
- package/dist/types/setting/RenderSetting.d.ts +51 -0
- package/dist/types/setting/ShadowSetting.d.ts +17 -0
- package/dist/types/setting/SkySetting.d.ts +8 -0
- package/dist/types/setting/post/BloomSetting.d.ts +11 -0
- package/dist/types/setting/post/DepthOfViewSetting.d.ts +7 -0
- package/dist/types/setting/post/GTAOSetting.d.ts +11 -0
- package/dist/types/setting/post/GlobalFogSetting.d.ts +19 -0
- package/dist/types/setting/post/GodRaySetting.d.ts +7 -0
- package/dist/types/setting/post/OutlineSetting.d.ts +10 -0
- package/dist/types/setting/post/SSRSetting.d.ts +12 -0
- package/dist/types/setting/post/TAASetting.d.ts +9 -0
- package/dist/types/shape/BoxGeometry.d.ts +28 -0
- package/dist/types/shape/CylinderGeometry.d.ts +60 -0
- package/dist/types/shape/PlaneGeometry.d.ts +11 -0
- package/dist/types/shape/SphereGeometry.d.ts +25 -0
- package/dist/types/shape/TorusGeometry.d.ts +33 -0
- package/dist/types/shape/TrailGeometry.d.ts +18 -0
- package/dist/types/shape/TriGeometry.d.ts +13 -0
- package/dist/types/textures/AtmosphericScatteringSky.d.ts +42 -0
- package/dist/types/textures/BitmapTexture2D.d.ts +12 -0
- package/dist/types/textures/BitmapTexture2DArray.d.ts +15 -0
- package/dist/types/textures/BitmapTextureCube.d.ts +14 -0
- package/dist/types/textures/Depth2DTextureArray.d.ts +9 -0
- package/dist/types/textures/DepthCubeArrayTexture.d.ts +9 -0
- package/dist/types/textures/Float16ArrayTexture.d.ts +28 -0
- package/dist/types/textures/Float32ArrayTexture.d.ts +5 -0
- package/dist/types/textures/HDRTexture.d.ts +7 -0
- package/dist/types/textures/HDRTextureCube.d.ts +16 -0
- package/dist/types/textures/LDRTextureCube.d.ts +13 -0
- package/dist/types/textures/RenderTexture.d.ts +12 -0
- package/dist/types/textures/SolidColorSky.d.ts +11 -0
- package/dist/types/textures/TextureCubeFaceData.d.ts +19 -0
- package/dist/types/textures/Uint32ArrayTexture.d.ts +11 -0
- package/dist/types/textures/Uint8ArrayTexture.d.ts +6 -0
- package/dist/types/textures/VirtualTexture.d.ts +29 -0
- package/dist/types/util/AxisObject.d.ts +11 -0
- package/dist/types/util/BoundUtil.d.ts +13 -0
- package/dist/types/util/BytesArray.d.ts +49 -0
- package/dist/types/util/CameraUtil.d.ts +10 -0
- package/dist/types/util/Convert.d.ts +1 -0
- package/dist/types/util/GeometryUtil.d.ts +12 -0
- package/dist/types/util/Global.d.ts +15 -0
- package/dist/types/util/GridObject.d.ts +12 -0
- package/dist/types/util/KelvinUtil.d.ts +40 -0
- package/dist/types/util/Object3DUtil.d.ts +25 -0
- package/dist/types/util/ProfilerUtil.d.ts +49 -0
- package/dist/types/util/Reference.d.ts +37 -0
- package/dist/types/util/SerializeDecoration.d.ts +9 -0
- package/dist/types/util/StringUtil.d.ts +23 -0
- package/dist/types/util/Time.d.ts +9 -0
- package/dist/types/util/Vector3Ex.d.ts +16 -0
- package/dist/types/util/ZSorterUtil.d.ts +13 -0
- package/dist/types/util/struct/Struct.d.ts +37 -0
- package/dist/types/util/transformUtil/Object3DTransformTools.d.ts +37 -0
- package/dist/types/util/transformUtil/RotationControlComponents.d.ts +21 -0
- package/dist/types/util/transformUtil/ScaleControlComponents.d.ts +11 -0
- package/dist/types/util/transformUtil/TransformAxisEnum.d.ts +11 -0
- package/dist/types/util/transformUtil/TransformControllerBaseComponent.d.ts +48 -0
- package/dist/types/util/transformUtil/TransformMode.d.ts +6 -0
- package/dist/types/util/transformUtil/TransformSpaceMode.d.ts +4 -0
- package/dist/types/util/transformUtil/TranslationControlComponents.d.ts +12 -0
- package/package.json +1 -1
package/dist/rings.es.js
CHANGED
|
@@ -7557,7 +7557,7 @@ $1\r
|
|
|
7557
7557
|
`;class hc{compute;constructor(){this.compute=new ue(lc)}generateBRDFLUTTexture(){let e=new Ae(256,256,X.rgba8unorm,!1,GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING);this.compute.setStorageTexture("brdflutTexture",e),this.compute.workerSizeX=256/8,this.compute.workerSizeY=256/8;let t=F.beginCommandEncoder();return F.computeCommand(t,[this.compute]),F.endCommandEncoder(t),e}}class Ki{id;guiTexture;uvRec=new $(0,0,1,1);uvBorder=new $(0,0,0,0);offsetSize=new $(0,0,4,4);borderSize=new $(0,0,0,0);trimSize=new K;isSliced=!1;height=4;width=4;xadvance=0;xoffset=0;yoffset=0;constructor(e){this.guiTexture=e||m.res.defaultGUITexture}}class fi{static _maxUid=-1;_staticId=-1;dynamicId=-1;texture;width=1;height=1;get staticId(){return this._staticId}constructor(e){e||=m.res.whiteTexture,e.addressModeU="clamp-to-edge",e.addressModeV="clamp-to-edge",this.texture=e,fi._maxUid++,this._staticId=fi._maxUid,this.init()}init(){this.dynamicId=-1,this.width=this.texture.width,this.height=this.texture.height}}class xp{fntCache={};fntData={};addFontData(e,t,r){this.fntData[`${e}${t}`]=r}getFontData(e,t){return this.fntData[`${e}${t}`]}addFnt(e,t,r,i){let a=`${e}${t}`;this.fntCache[a]||(this.fntCache[a]={}),this.fntCache[a][r]=i}getFnt(e,t,r){let i=`${e}${t}`,a=this.fntCache[i];return a?a[r]:this.fntCache[" "]}}let qi=new xp;class uc{face="";size=0;bold=!1;italic=!1;stretchH=0;spacing="";outline=0;lineHeight=0;base=0;scaleW=0;scaleH=0;pages=0;packed=0;alphaChnl=0;redChnl=0;greenChnl=0;blueChnl=0;count=0;fontPage=[];fontChar={};constructor(){}}class cc{id=0;file=""}class fc{id=-1;x=0;y=0;width=0;height=0;xoffset=0;yoffset=0;xadvance=0;page=0;chnl=0}class Lr extends st{static format=Ge.TEXT;static parseSprite(e,t){for(const r in t.fontChar)if(Object.prototype.hasOwnProperty.call(t.fontChar,r)){const i=t.fontChar[r];let a=new Ki;a.id=i.id.toString(),a.offsetSize.set(0,0,i.width,i.height),a.trimSize.set(i.width,i.height),a.width=i.width,a.height=i.height,a.xadvance=i.xadvance,a.xoffset=i.xoffset,a.yoffset=i.yoffset,a.guiTexture=e[i.page],a.uvRec.set(i.x/t.scaleW,(t.scaleH-(i.y+i.height))/t.scaleH,i.width/t.scaleW,i.height/t.scaleH),qi.addFnt(t.face,t.size,a.id,a)}}verification(){if(this.data)return!0;throw new Error("Method not implemented.")}async parseString(e){let t=this.getNewLine(e),r=e,i=new uc;r.trim().split(t).forEach((a,o)=>{if(o<2)Lr.readLineProperty(a,i);else if(o<i.pages+2){let n=new cc;Lr.readLineProperty(a,n),i.fontPage.push(n)}else if(o<i.pages+3)Lr.readLineProperty(a,i);else if(i.count>0){let n=new fc;Lr.readLineProperty(a,n),i.fontChar[n.id]=n,i.count--}}),r="",this.data=i,await this.loadFontTextures()}getNewLine(e){return e.indexOf(`\r
|
|
7558
7558
|
`)!=-1?`\r
|
|
7559
7559
|
`:e.indexOf("\r")!=-1?"\r":`
|
|
7560
|
-
`}async loadFontTextures(){let e=[],t=this.data;for(const r of t.fontPage){let i=this.baseUrl+r.file;await m.res.loadTexture(i,null,!0);let a=m.res.getTexture(i),o=new fi(a);e.push(o)}Lr.parseSprite(e,t),t.fontChar[" "]||Lr.insertSpaceChar(t,e[0])}static insertSpaceChar(e,t){let r=new Ki,i=e.size*.5,a=e.lineHeight*.5;r.id=" ",r.offsetSize.set(0,0,e.size,e.size),r.trimSize.set(i,a),r.width=i,r.height=a,r.xadvance=0,r.xoffset=0,r.yoffset=0,r.guiTexture=t,r.uvRec.set(0,0,1e-6,1e-6),qi.addFnt(e.face,e.size,r.id,r)}static readLineProperty(e,t){e.trim().split(" ").forEach((r,i)=>{let a=r.split("=");if(a.length>1){let o=a[0],n=a[1];Object.prototype.hasOwnProperty.call(t,o)&&(n.indexOf('"')==-1?t[o]=parseFloat(a[1]):t[o]=n.replace('"',"").replace('"',""))}})}}function Bp(s,e){let t=new Ki;return t.id=s,t.offsetSize.set(0,0,e.width,e.height),t.trimSize.set(e.width,e.height),t.width=e.width,t.height=e.height,t.xadvance=0,t.xoffset=0,t.yoffset=0,t.guiTexture=new fi(e),t.uvRec.set(0,0,1,1),e.isVideoTexture||(e.flipY=!0),t}function dc(s,e,t){let r=new Ki;r.guiTexture=s,r.id=e,r.uvRec.copyFrom(t.textureRect),r.trimSize.x=t.textureRect.z,r.trimSize.y=t.textureRect.w,r.offsetSize.x=t.textureRectOffset.x,r.offsetSize.y=t.textureRectOffset.y,r.offsetSize.z=t.size.x,r.offsetSize.w=t.size.y,r.width=t.size.x,r.height=t.size.y;let i=1/s.width,a=1/s.height;r.uvRec.set(r.uvRec.x*i,r.uvRec.y*a,r.uvRec.z*i,r.uvRec.w*a);let o=.1;return t.border.x<=o&&t.border.y<=o&&t.border.z<=o&&t.border.x<=o?r.isSliced=!1:(r.borderSize.copyFrom(t.border),r.uvBorder.copyFrom(t.border),r.uvBorder.x-=t.textureRectOffset.x,r.uvBorder.y-=t.textureRectOffset.y,r.uvBorder.z=t.border.z-(t.size.x-t.textureRect.z-t.textureRectOffset.x),r.uvBorder.w=t.border.w-(t.size.y-t.textureRect.w-t.textureRectOffset.y),r.uvBorder.x/=t.textureRect.z,r.uvBorder.z/=t.textureRect.z,r.uvBorder.y/=t.textureRect.w,r.uvBorder.w/=t.textureRect.w,r.isSliced=!0),r}class gc{_spriteMap=new Map;_spriteList=[];textureSize=new K;name;constructor(e){this.textureSize.set(e.x,e.y)}setTexture(e,t,r){let i=dc(e,t,r);return this._spriteMap.set(i.id,i),this._spriteList.push(i),i}getSprite(e){return this._spriteMap.get(e)}get spriteList(){return this._spriteList}}class pc extends st{static format=Ge.TEXT;_json;_texture;async parseString(e){this._json=JSON.parse(e);let t=this.userData.replace(".json",".png");this._texture=await m.res.loadTexture(t,null,!0),this.data={json:this._json,texture:this._texture},this.parseAtlas()}verification(){if(this.data)return!0;throw new Error("verify failed.")}parseAtlas(){let e=new gc(this._json.size),t=new fi(this._texture),r=this._json.atlas;for(const i in r)e.setTexture(t,i,r[i]);m.res.addAtlas(this.baseUrl,e),this.data=e}}var kt=Uint8Array,$i=Uint16Array,vp=Int32Array,mc=new kt([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ac=new kt([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Cp=new kt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Uc=function(s,e){for(var t=new $i(31),r=0;r<31;++r)t[r]=e+=1<<s[r-1];for(var i=new vp(t[30]),r=1;r<30;++r)for(var a=t[r];a<t[r+1];++a)i[a]=a-t[r]<<5|r;return{b:t,r:i}},xc=Uc(mc,2),Bc=xc.b,Sp=xc.r;Bc[28]=258,Sp[258]=28;for(var _p=Uc(Ac,0),Fp=_p.b,tn=new $i(32768),De=0;De<32768;++De){var ri=(De&43690)>>1|(De&21845)<<1;ri=(ri&52428)>>2|(ri&13107)<<2,ri=(ri&61680)>>4|(ri&3855)<<4,tn[De]=((ri&65280)>>8|(ri&255)<<8)>>1}for(var va=(function(s,e,t){for(var r=s.length,i=0,a=new $i(e);i<r;++i)s[i]&&++a[s[i]-1];var o=new $i(e);for(i=1;i<e;++i)o[i]=o[i-1]+a[i-1]<<1;var n;if(t){n=new $i(1<<e);var l=15-e;for(i=0;i<r;++i)if(s[i])for(var h=i<<4|s[i],u=e-s[i],c=o[s[i]-1]++<<u,f=c|(1<<u)-1;c<=f;++c)n[tn[c]>>l]=h}else for(n=new $i(r),i=0;i<r;++i)s[i]&&(n[i]=tn[o[s[i]-1]++]>>15-s[i]);return n}),Ca=new kt(288),De=0;De<144;++De)Ca[De]=8;for(var De=144;De<256;++De)Ca[De]=9;for(var De=256;De<280;++De)Ca[De]=7;for(var De=280;De<288;++De)Ca[De]=8;for(var vc=new kt(32),De=0;De<32;++De)vc[De]=5;var yp=va(Ca,9,1),bp=va(vc,5,1),rn=function(s){for(var e=s[0],t=1;t<s.length;++t)s[t]>e&&(e=s[t]);return e},sr=function(s,e,t){var r=e/8|0;return(s[r]|s[r+1]<<8)>>(e&7)&t},an=function(s,e){var t=e/8|0;return(s[t]|s[t+1]<<8|s[t+2]<<16)>>(e&7)},Qp=function(s){return(s+7)/8|0},sn=function(s,e,t){return(e==null||e<0)&&(e=0),(t==null||t>s.length)&&(t=s.length),new kt(s.subarray(e,t))},Rp=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ht=function(s,e,t){var r=new Error(e||Rp[s]);if(r.code=s,Error.captureStackTrace&&Error.captureStackTrace(r,Ht),!t)throw r;return r},Ip=function(s,e,t,r){var i=s.length,a=r?r.length:0;if(!i||e.f&&!e.l)return t||new kt(0);var o=!t,n=o||e.i!=2,l=e.i;o&&(t=new kt(i*3));var h=function(Qt){var Rt=t.length;if(Qt>Rt){var Nt=new kt(Math.max(Rt*2,Qt));Nt.set(t),t=Nt}},u=e.f||0,c=e.p||0,f=e.b||0,g=e.l,p=e.d,A=e.m,U=e.n,x=i*8;do{if(!g){u=sr(s,c,1);var B=sr(s,c+1,3);if(c+=3,B)if(B==1)g=yp,p=bp,A=9,U=5;else if(B==2){var y=sr(s,c,31)+257,b=sr(s,c+10,15)+4,w=y+sr(s,c+5,31)+1;c+=14;for(var Q=new kt(w),E=new kt(19),M=0;M<b;++M)E[Cp[M]]=sr(s,c+M*3,7);c+=b*3;for(var z=rn(E),Y=(1<<z)-1,ee=va(E,z,1),M=0;M<w;){var oe=ee[sr(s,c,Y)];c+=oe&15;var S=oe>>4;if(S<16)Q[M++]=S;else{var te=0,ge=0;for(S==16?(ge=3+sr(s,c,3),c+=2,te=Q[M-1]):S==17?(ge=3+sr(s,c,7),c+=3):S==18&&(ge=11+sr(s,c,127),c+=7);ge--;)Q[M++]=te}}var Ce=Q.subarray(0,y),J=Q.subarray(y);A=rn(Ce),U=rn(J),g=va(Ce,A,1),p=va(J,U,1)}else Ht(1);else{var S=Qp(c)+4,C=s[S-4]|s[S-3]<<8,_=S+C;if(_>i){l&&Ht(0);break}n&&h(f+C),t.set(s.subarray(S,_),f),e.b=f+=C,e.p=c=_*8,e.f=u;continue}if(c>x){l&&Ht(0);break}}n&&h(f+131072);for(var ce=(1<<A)-1,he=(1<<U)-1,Ue=c;;Ue=c){var te=g[an(s,c)&ce],xe=te>>4;if(c+=te&15,c>x){l&&Ht(0);break}if(te||Ht(2),xe<256)t[f++]=xe;else if(xe==256){Ue=c,g=null;break}else{var Ve=xe-254;if(xe>264){var M=xe-257,Ie=mc[M];Ve=sr(s,c,(1<<Ie)-1)+Bc[M],c+=Ie}var Fe=p[an(s,c)&he],Me=Fe>>4;Fe||Ht(3),c+=Fe&15;var J=Fp[Me];if(Me>3){var Ie=Ac[Me];J+=an(s,c)&(1<<Ie)-1,c+=Ie}if(c>x){l&&Ht(0);break}n&&h(f+131072);var nt=f+Ve;if(f<J){var mr=a-J,Mt=Math.min(J,nt);for(mr+f<0&&Ht(3);f<Mt;++f)t[f]=r[mr+f]}for(;f<nt;++f)t[f]=t[f-J]}}e.l=g,e.p=Ue,e.b=f,e.f=u,g&&(u=1,e.m=A,e.d=p,e.n=U)}while(!u);return f!=t.length&&o?sn(t,0,f):t.subarray(0,f)},Ep=new kt(0),yr=function(s,e){return s[e]|s[e+1]<<8},or=function(s,e){return(s[e]|s[e+1]<<8|s[e+2]<<16|s[e+3]<<24)>>>0},on=function(s,e){return or(s,e)+or(s,e+4)*4294967296};function wp(s,e){return Ip(s,{i:2},e&&e.out,e&&e.dictionary)}var nn=typeof TextDecoder<"u"&&new TextDecoder,Tp=0;try{nn.decode(Ep,{stream:!0}),Tp=1}catch{}var Dp=function(s){for(var e="",t=0;;){var r=s[t++],i=(r>127)+(r>223)+(r>239);if(t+i>s.length)return{s:e,r:sn(s,t-1)};i?i==3?(r=((r&15)<<18|(s[t++]&63)<<12|(s[t++]&63)<<6|s[t++]&63)-65536,e+=String.fromCharCode(55296|r>>10,56320|r&1023)):i&1?e+=String.fromCharCode((r&31)<<6|s[t++]&63):e+=String.fromCharCode((r&15)<<12|(s[t++]&63)<<6|s[t++]&63):e+=String.fromCharCode(r)}};function Cc(s,e){if(e){for(var t="",r=0;r<s.length;r+=16384)t+=String.fromCharCode.apply(null,s.subarray(r,r+16384));return t}else{if(nn)return nn.decode(s);var i=Dp(s),a=i.s,t=i.r;return t.length&&Ht(8),a}}var Mp=function(s,e){return e+30+yr(s,e+26)+yr(s,e+28)},Np=function(s,e,t){var r=yr(s,e+28),i=Cc(s.subarray(e+46,e+46+r),!(yr(s,e+8)&2048)),a=e+46+r,o=or(s,e+20),n=t&&o==4294967295?Vp(s,a):[o,or(s,e+24),or(s,e+42)],l=n[0],h=n[1],u=n[2];return[yr(s,e+10),l,h,i,a+yr(s,e+30)+yr(s,e+32),u]},Vp=function(s,e){for(;yr(s,e)!=1;e+=4+yr(s,e+2));return[on(s,e+12),on(s,e+4),on(s,e+20)]};function Pp(s,e){for(var t={},r=s.length-22;or(s,r)!=101010256;--r)(!r||s.length-r>65558)&&Ht(13);var i=yr(s,r+8);if(!i)return{};var a=or(s,r+16),o=a==4294967295||i==65535;if(o){var n=or(s,r-12);o=or(s,n)==101075792,o&&(i=or(s,n+32),a=or(s,n+48))}for(var l=0;l<i;++l){var h=Np(s,a,o),u=h[0],c=h[1],f=h[2],g=h[3],p=h[4],A=h[5],U=Mp(s,A);a=p,u?u==8?t[g]=wp(s.subarray(U,U+c),{out:new kt(f)}):Ht(14,"unknown compression type "+u):t[g]=sn(s,U,U+c)}return t}class Ft extends yt{constructor(){super(),this.shader=new Ea,this.baseMap=m.res.whiteTexture}set baseMap(e){this.shader.setTexture("baseMap",e)}get baseMap(){return this.shader.getTexture("baseMap")}set baseColor(e){this.shader.setUniformColor("baseColor",e)}get baseColor(){return this.shader.getUniformColor("baseColor")}set envMap(e){}set shadowMap(e){}}class Ri extends Ne{shape_vertices=[];shape_indices=[];radius;widthSegments;heightSegments;phiStart;phiLength;thetaStart;thetaLength;constructor(e,t,r,i,a,o,n){super(),this.radius=e,this.widthSegments=t,this.heightSegments=r,this.phiStart=i,this.phiLength=a,this.thetaStart=o,this.thetaLength=n,this.buildGeometry()}buildGeometry(){var e,t,r=0;let i=this.heightSegments,a=this.widthSegments,o=this.radius;var n=(i+1)*(a+1);let l=new Float32Array(n*3),h=new Float32Array(n*3),u=new Float32Array(n*2),c=new Uint16Array(a*i*2*3),f=0,g=0,p=0;for(t=0;t<=i;++t){var A=Math.PI*t/i,U=o*Math.cos(A),x=o*Math.sin(A);for(e=0;e<=a;++e){var B=2*Math.PI*e/a,S=x*Math.cos(B),C=x*Math.sin(B),_=1/Math.sqrt(S*S+U*U+C*C);if(l[f++]=S,l[f++]=U,l[f++]=C,h[g++]=S*_,h[g++]=U*_,h[g++]=C*_,u[p++]=e/a,u[p++]=t/i,e>0&&t>0){var y=(a+1)*t+e,b=(a+1)*t+e-1,w=(a+1)*(t-1)+e-1,Q=(a+1)*(t-1)+e;t==i?(c[r++]=y,c[r++]=w,c[r++]=Q):t==1?(c[r++]=y,c[r++]=b,c[r++]=w):(c[r++]=y,c[r++]=b,c[r++]=w,c[r++]=y,c[r++]=w,c[r++]=Q)}}}this.setIndices(c),this.setAttribute(V.position,l),this.setAttribute(V.normal,h),this.setAttribute(V.uv,u),this.setAttribute(V.TEXCOORD_1,u),this.addSubGeometry({indexStart:0,indexCount:c.length,vertexStart:0,vertexCount:0,firstStart:0,index:0,topology:0}),this.bounds=new Re(d.ZERO,new d(this.radius*2,this.radius*2,this.radius*2))}}class $a extends q{static register3DRepresentation=null;positionIndex=-1;positionValid=!1;marker;constructor(e){super(),this.parsePlacemark(e),this.setup3DRepresentation()}parsePlacemark(e){if(!e.slamPositionInfo){console.warn("WayPoint3D: slamPositionInfo is not found");return}const t=e.slamPositionInfo.slamPosition.split(",").map(Number);this.localPosition=new d(t[0],t[1],t[2]),this.positionIndex=Number(e.slamPositionInfo.slamPositionIndex),this.positionValid=e.slamPositionInfo.slamPositionValid==="1"}setup3DRepresentation(){if(this.marker&&(this.removeChild(this.marker),this.marker=null),$a.register3DRepresentation)this.marker=$a.register3DRepresentation(this),this.marker&&this.addChild(this.marker);else{this.marker=new q;const e=this.marker.addComponent(j);e.geometry=new Ri(.1,32,16),e.material=new ur,e.material.baseColor=this.positionValid?new P(0,1,0,1):new P(1,0,0,1),this.addChild(this.marker),this.marker.name="WayPoint3DMarker"}}}class es extends q{static register3DRepresentation=null;line;constructor(e){super(),this.parseWayLineFile(e),this.setup3DRepresentation()}parseWayLineFile(e){for(const t of e.Folder.Placemark){const r=new $a(t);this.addChild(r)}this.entityChildren=this.entityChildren.sort((t,r)=>t.positionIndex-r.positionIndex)}setup3DRepresentation(){this.line&&(this.removeChild(this.line),this.line=null),es.register3DRepresentation?(this.line=es.register3DRepresentation(this),this.line&&this.addChild(this.line)):(this.line=this.createMultiLine(this.entityChildren.map(e=>e.localPosition),new P(1,1,1,1)),this.addChild(this.line),this.line.name="WayLines3DLine")}createMultiLine(e,t){if(e.length<2)return null;const r=new Ne,i=new Float32Array(e.length*3);for(let h=0;h<e.length;h++)i[h*3]=e[h].x,i[h*3+1]=e[h].y,i[h*3+2]=e[h].z;const a=new Uint16Array((e.length-1)*2);for(let h=0;h<e.length-1;h++)a[h*2]=h,a[h*2+1]=h+1;r.setIndices(a),r.setAttribute(V.position,i),r.addSubGeometry({indexStart:0,indexCount:a.length,vertexStart:0,vertexCount:0,firstStart:0,index:0,topology:0});const o=new q,n=o.addComponent(j),l=new Ft;return l.topology="line-list",l.baseColor=t,l.blendMode=ae.ADD,l.castReflection=!1,n.geometry=r,n.material=l,o}}class Sc extends st{static format=Ge.BIN;parseBuffer(e){try{const t={template:null,waylines:null},r=Pp(new Uint8Array(e));for(const a in r){const o=r[a],l=new DOMParser().parseFromString(Cc(o),"application/xml"),h={};this.parseNode(l,h);const u=a.replace("wpmz/","").split(".")[0];Object.assign(t,{[u]:h["#document"].kml.Document})}const i=new es(t.waylines);this.data=i}catch(t){this.parserError(`KMZ parsing failed: ${t}`,-1)}}parseNode(e,t){const r=["Placemark","actionGroup","action"],i=e.nodeName.replace("wpml:","");if(!e.childNodes.length)t[i]=void 0;else{let a=null,o=!1;for(let n=0;n<e.childNodes.length;++n){const l=e.childNodes[n];if(l.nodeType==Node.TEXT_NODE){const h=l.nodeValue?.trim();h&&h.length>0&&(a=h)}else l.nodeType==Node.ELEMENT_NODE&&(o=!0)}if(a&&!o)t[i]=a;else if(o){r.includes(i)?t[i]?.length?t[i].push({}):t[i]=[{}]:t[i]={};for(let n=0;n<e.childNodes.length;++n){const l=e.childNodes[n];l.nodeType==Node.ELEMENT_NODE&&this.parseNode(l,Array.isArray(t[i])?t[i].at(-1):t[i])}}else t[i]=void 0}}verification(){if(this.data)return!0;throw new Error("verify failed.")}}class _c{_texturePool;_materialPool;_prefabPool;_gltfPool;_geometryPool;_atlasList;_obj;constructor(){this._texturePool=new Map,this._materialPool=new Map,this._prefabPool=new Map,this._geometryPool=new Map,this._gltfPool=new Map,this._atlasList=new Map,this._obj=new Map}getGltf(e){return this._gltfPool.get(e)}addObj(e,t){this._obj.set(e,t)}getObj(e){return this._obj.get(e)}addTexture(e,t){this._texturePool.set(e,t)}getTexture(e){return this._texturePool.get(e)}addGeometry(e,t){this._geometryPool.set(e,t)}getGeometry(e){return this._geometryPool.get(e)}addMat(e,t){return this._materialPool.set(e,t)}getMat(e){return this._materialPool.get(e)}addPrefab(e,t){this._prefabPool.set(e,t)}getPrefab(e){return this._prefabPool.get(e).instantiate()}addAtlas(e,t){t.name=e,this._atlasList.set(e,t)}getAtlas(e){return this._atlasList.get(e)}getGUISprite(e){for(let t of this._atlasList.values()){let r=t.getSprite(e);if(r)return r}return null}async load(e,t,r){return(await new gt().load(e,t,r)).data}async loadGltf(e,t){if(this._prefabPool.has(e))return this._prefabPool.get(e);let r,i=e.substring(e.lastIndexOf(".")).toLowerCase(),a=new gt;i==".gltf"?r=await a.load(e,At,t):r=await a.load(e,Wo,t);let o=r.data;return this._prefabPool.set(e,o),this._gltfPool.set(e,r.gltf),o}async loadObj(e,t){if(this._prefabPool.has(e))return this._prefabPool.get(e);let r,i=e.substring(e.lastIndexOf(".")).toLowerCase(),a=new gt;i==".obj"&&(r=await a.load(e,Gu,t));let o=r.data;return this._prefabPool.set(e,o),o}async loadB3DM(e,t,r){if(this._prefabPool.has(e))return this._prefabPool.get(e);let o=(await new gt().load(e,tc,t,r)).data;return this._prefabPool.set(e,o),o}async loadI3DM(e,t,r){if(this._prefabPool.has(e))return this._prefabPool.get(e);let o=(await new gt().load(e,nc,t,r)).data;return this._prefabPool.set(e,o),o}async loadTexture(e,t,r){if(this._texturePool.has(e))return this._texturePool.get(e);let i=new Mr;return i.flipY=r,await i.load(e,t),this._texturePool.set(e,i),i}async loadTextureCount(e,t,r,i){return new Promise(async(a,o)=>{let n=0,l=[];t==0&&a(l);for(let h=0;h<t;h++){const u=e.shift();this.loadTexture(u,r,i).then(c=>{l.push(c),n++,n==t&&a(l)})}})}async loadBitmapTextures(e,t=5,r,i){let a=[],o=Math.floor(e.length/t)+1,n=Math.floor(e.length%t);for(let l=0;l<o;l++){let h=await this.loadTextureCount(e,l==o-1?n:t,r,i);a.push(...h)}return a}async loadHDRTexture(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new Yo;return r=await r.load(e,t),this._texturePool.set(e,r),r}async loadHDRTextureCube(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new ms;return r=await r.load(e,t),this._texturePool.set(e,r),r}async loadLDRTextureCube(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new Us;return r=await r.load(e,t),this._texturePool.set(e,r),r}async loadTextureCubeMaps(e){let t=e[0];if(this._texturePool.has(t))return this._texturePool.get(t);let r=new Jo;return await r.load(e),this._texturePool.set(e[0],r),r}async loadTextureCubeStd(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new Jo;return await r.loadStd(e),r}async loadJSON(e,t){return await new gt().loadJson(e,t).then(async r=>r).catch(r=>{console.log(r)})}async loadFont(e,t,r){let a=await new gt().load(e,Lr,t,r),o=a.data;return qi.addFontData(o.face,o.size,o),a.data}async loadAtlas(e,t){return(await new gt().load(e,pc,t,e)).data}async loadKMZ(e,t){return(await new gt().load(e,Sc,t)).data}normalTexture;maskTexture;whiteTexture;blackTexture;redTexture;blueTexture;greenTexture;yellowTexture;grayTexture;defaultSky;defaultGUITexture;defaultGUISprite;defaultMaterial;createTexture(e,t,r,i,a,o,n){let l=32,h=32,u=new Uint8Array(l*h*4);this.fillColor(u,e,t,r,i,a,o);let c=new Bo;return c.name=n,c.create(16,16,u,!0),n&&this.addTexture(n,c),c}fillColor(e,t,r,i,a,o,n){for(let l=0;l<t;l++)for(let h=0;h<r;h++){let u=h*t+l;e[u*4+0]=i,e[u*4+1]=a,e[u*4+2]=o,e[u*4+3]=n}}initDefault(){this.normalTexture=this.createTexture(32,32,255*.5,255*.5,255,255,"default-normalTexture"),this.maskTexture=this.createTexture(32,32,255,255*.5,255,255,"default-maskTexture"),this.whiteTexture=this.createTexture(32,32,255,255,255,255,"default-whiteTexture"),this.blackTexture=this.createTexture(32,32,0,0,0,255,"default-blackTexture"),this.redTexture=this.createTexture(32,32,255,0,0,255,"default-redTexture"),this.blueTexture=this.createTexture(32,32,0,0,255,255,"default-blueTexture"),this.greenTexture=this.createTexture(32,32,0,255,0,255,"default-greenTexture"),this.yellowTexture=this.createTexture(32,32,0,255,255,255,"default-yellowTexture"),this.grayTexture=this.createTexture(32,32,128,128,128,255,"default-grayTexture");let t=new hc().generateBRDFLUTTexture(),r=t.name="BRDFLUT";this.addTexture(r,t),this.defaultSky=new ms,this.defaultSky.createFromTexture(128,this.blackTexture),me.getInstance().attached(this.defaultSky,this),me.getInstance().attached(t,this),me.getInstance().attached(this.normalTexture,this),me.getInstance().attached(this.maskTexture,this),me.getInstance().attached(this.whiteTexture,this),me.getInstance().attached(this.blackTexture,this),me.getInstance().attached(this.redTexture,this),me.getInstance().attached(this.blueTexture,this),me.getInstance().attached(this.greenTexture,this),me.getInstance().attached(this.yellowTexture,this),me.getInstance().attached(this.grayTexture,this),this.defaultGUITexture=new fi(this.whiteTexture),this.defaultGUISprite=new Ki(this.defaultGUITexture),this.defaultGUISprite.trimSize.set(4,4),this.defaultMaterial=new ur}}class Fc extends Pe{_postList;init(e){this._postList=new Map}start(){}stop(){}onEnable(){this.activePost()}onDisable(){this.unActivePost()}activePost(){let e=this.transform.view3D,t=m.getRenderJob(e);this._postList.forEach(r=>{t.addPost(r)})}unActivePost(){let e=this.transform.view3D,t=m.getRenderJob(e);this._postList.forEach(r=>{t.removePost(r)})}addPost(e){if(this._postList.has(e))return;let t=new e;return this._postList.set(e,t),this._enable&&this.activePost(),t}removePost(e){if(!this._postList.has(e))return;let t=this._postList.get(e);this._postList.delete(e);let r=this.transform.view3D;m.getRenderJob(r).removePost(t)}getPost(e){return this._postList.has(e)?this._postList.get(e):null}}const kp="1.0.5";class m{static res;static inputSystem;static views;static _frameRateValue=0;static _frameRate=360;static _time=0;static _beforeRender;static _renderLoop;static _lateRender;static _requestAnimationFrameID=0;static get frameRate(){return this._frameRate}static set frameRate(e){this._frameRate=e,this._frameRateValue=1e3/e,e>=360&&(this._frameRateValue=0)}static get size(){return R.presentationSize}static get aspect(){return R.aspect}static get width(){return R.windowWidth}static get height(){return R.windowHeight}static setting={doublePrecision:!1,occlusionQuery:{enable:!0,debug:!1},pick:{enable:!0,mode:"bound",detail:"mesh"},render:{debug:!1,renderPassState:4,renderState_left:5,renderState_right:5,renderState_split:.5,quadScale:1,hdrExposure:1.5,debugQuad:-1,maxPointLight:1e3,maxDirectLight:4,maxSportLight:1e3,drawOpMin:0,drawOpMax:Number.MAX_SAFE_INTEGER,drawTrMin:0,drawTrMax:Number.MAX_SAFE_INTEGER,zPrePass:!1,useLogDepth:!1,useCompressGBuffer:!1,gi:!1,postProcessing:{bloom:{downSampleStep:3,downSampleBlurSize:9,downSampleBlurSigma:1,upSampleBlurSize:9,upSampleBlurSigma:1,luminanceThreshole:1,bloomIntensity:1,hdr:1},globalFog:{debug:!1,enable:!1,fogType:0,fogHeightScale:.1,start:400,end:10,density:.02,ins:.5,skyFactor:.5,skyRoughness:.4,overrideSkyFactor:.8,fogColor:new P(96/255,117/255,133/255,1),falloff:.7,rayLength:200,scatteringExponent:2.7,dirHeightLine:10},godRay:{blendColor:!0,rayMarchCount:16,scatteringExponent:5,intensity:.5},ssao:{enable:!1,radius:.15,bias:-.1,aoPower:2,debug:!0},outline:{enable:!1,strength:1,groupCount:4,outlinePixel:2,fadeOutlinePixel:4,textureScale:1,useAddMode:!1,debug:!0},taa:{enable:!1,jitterSeedCount:8,blendFactor:.1,sharpFactor:.6,sharpPreBlurFactor:.5,temporalJitterScale:.13,debug:!0},gtao:{enable:!1,darkFactor:1,maxDistance:5,maxPixel:50,rayMarchSegment:6,multiBounce:!1,usePosFloat32:!0,blendColor:!0,debug:!0},ssr:{enable:!1,pixelRatio:1,fadeEdgeRatio:.2,rayMarchRatio:.5,fadeDistanceMin:600,fadeDistanceMax:2e3,roughnessThreshold:.5,powDotRN:.2,mixThreshold:.1,debug:!0},fxaa:{enable:!1},depthOfView:{enable:!1,iterationCount:3,pixelOffset:1,near:150,far:300}}},shadow:{enable:!0,type:"HARD",pointShadowBias:5e-4,shadowSize:2048,pointShadowSize:1024,shadowSoft:.005,shadowBound:100,shadowBias:.05,needUpdate:!0,autoUpdate:!0,updateFrameRate:2,csmMargin:.1,csmScatteringExp:.7,csmAreaScale:.4,debug:!1},gi:{enable:!1,offsetX:0,offsetY:0,offsetZ:0,probeSpace:64,probeXCount:4,probeYCount:2,probeZCount:4,probeSize:32,probeSourceTextureSize:2048,octRTMaxSize:2048,octRTSideSize:16,maxDistance:64*1.73,normalBias:.25,depthSharpness:1,hysteresis:.98,lerpHysteresis:.01,irradianceChebyshevBias:.01,rayNumber:144,irradianceDistanceBias:32,indirectIntensity:1,ddgiGamma:2.2,bounceIntensity:.025,probeRoughness:1,realTimeGI:!1,debug:!1,autoRenderProbe:!1},sky:{type:"HDRSKY",sky:null,skyExposure:1,defaultFar:65536,defaultNear:1},light:{maxLight:4096},material:{materialChannelDebug:!1,materialDebug:!1},loader:{numConcurrent:20},reflectionSetting:{reflectionProbeMaxCount:8,reflectionProbeSize:256,width:256*6,height:8*256,enable:!0}};static renderJobs;static async init(e={}){console.log("Rings Version",kp),window.isSecureContext||console.warn("WebGPU is only supported in secure contexts (HTTPS or localhost)"),this.setting={...this.setting,...e.engineSetting},await pe.init(I.allocCount,this.setting.doublePrecision),await R.init(e.canvasConfig),this.setting.reflectionSetting.width=this.setting.reflectionSetting.reflectionProbeSize*6,this.setting.reflectionSetting.height=this.setting.reflectionSetting.reflectionProbeSize*this.setting.reflectionSetting.reflectionProbeMaxCount,se.getGBufferFrame(se.reflections_GBuffer,this.setting.reflectionSetting.width,this.setting.reflectionSetting.height,!1),O.init(),Dr.init(),ne.init(),Bt.init(),wt.init(),this.res=new _c,this.res.initDefault(),this._beforeRender=e.beforeRender,this._renderLoop=e.renderLoop,this._lateRender=e.lateRender,this.inputSystem=new Ln,this.inputSystem.initCanvas(R.canvas)}static startRenderJob(e){let t=new Bu(e);return this.renderJobs.set(e,t),this.setting.pick.mode=="pixel"&&e.scene.getOrAddComponent(Fc).addPost(Io),(this.setting.pick.mode=="pixel"||this.setting.pick.mode=="bound")&&(e.enablePick=!0),t}static startRenderView(e){this.renderJobs||=new Map,this.views=[e];let t=this.startRenderJob(e);return this.resume(),t}static startRenderViews(e){this.renderJobs||=new Map,this.views=e;for(let t=0;t<e.length;t++)this.startRenderJob(e[t]);this.resume()}static getRenderJob(e){return this.renderJobs.get(e)}static pause(){this._requestAnimationFrameID!==0&&(cancelAnimationFrame(this._requestAnimationFrameID),this._requestAnimationFrameID=0)}static resume(){this._requestAnimationFrameID===0&&(this._requestAnimationFrameID=requestAnimationFrame(e=>this.render(e)))}static async render(e){if(this._frameRateValue>0){let t=e-this._time;if(t<this._frameRateValue){let r=performance.now();await new Promise(i=>{setTimeout(()=>{e+=performance.now()-r,i(!0)},this._frameRateValue-t)})}this._time=e}await this.updateFrame(e),this._requestAnimationFrameID=0,this.resume()}static async updateFrame(e){be.delta=e-be.time,be.time=e,be.frame+=1,ci.tick(be.delta);let t=this.views,r=0;for(r=0;r<t.length;r++){const o=t[r];o.scene.waitUpdate();let[n,l]=R.presentationSize;o.camera.viewPort.setTo(0,0,n,l)}this._beforeRender&&await this._beforeRender();for(const o of Se.componentsBeforeUpdateList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n)}}let i=R.device.createCommandEncoder();for(const o of Se.componentsComputeList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n,i)}}R.device.queue.submit([i.finish()]);for(const o of Se.componentsUpdateList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n)}}for(const o of Se.graphicComponent){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];n&&u.enable&&c(n)}}this._renderLoop&&await this._renderLoop(),pe.updateAllContinueTransform(0,I.useCount,16),ne.modelMatrixBindGroup.writeBuffer(I.useCount*16),this.renderJobs.forEach((o,n)=>{o.renderState||o.start(),o.renderFrame()});for(const o of Se.componentsLateUpdateList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n)}}this._lateRender&&await this._lateRender()}}let xs=`
|
|
7560
|
+
`}async loadFontTextures(){let e=[],t=this.data;for(const r of t.fontPage){let i=this.baseUrl+r.file;await m.res.loadTexture(i,null,!0);let a=m.res.getTexture(i),o=new fi(a);e.push(o)}Lr.parseSprite(e,t),t.fontChar[" "]||Lr.insertSpaceChar(t,e[0])}static insertSpaceChar(e,t){let r=new Ki,i=e.size*.5,a=e.lineHeight*.5;r.id=" ",r.offsetSize.set(0,0,e.size,e.size),r.trimSize.set(i,a),r.width=i,r.height=a,r.xadvance=0,r.xoffset=0,r.yoffset=0,r.guiTexture=t,r.uvRec.set(0,0,1e-6,1e-6),qi.addFnt(e.face,e.size,r.id,r)}static readLineProperty(e,t){e.trim().split(" ").forEach((r,i)=>{let a=r.split("=");if(a.length>1){let o=a[0],n=a[1];Object.prototype.hasOwnProperty.call(t,o)&&(n.indexOf('"')==-1?t[o]=parseFloat(a[1]):t[o]=n.replace('"',"").replace('"',""))}})}}function Bp(s,e){let t=new Ki;return t.id=s,t.offsetSize.set(0,0,e.width,e.height),t.trimSize.set(e.width,e.height),t.width=e.width,t.height=e.height,t.xadvance=0,t.xoffset=0,t.yoffset=0,t.guiTexture=new fi(e),t.uvRec.set(0,0,1,1),e.isVideoTexture||(e.flipY=!0),t}function dc(s,e,t){let r=new Ki;r.guiTexture=s,r.id=e,r.uvRec.copyFrom(t.textureRect),r.trimSize.x=t.textureRect.z,r.trimSize.y=t.textureRect.w,r.offsetSize.x=t.textureRectOffset.x,r.offsetSize.y=t.textureRectOffset.y,r.offsetSize.z=t.size.x,r.offsetSize.w=t.size.y,r.width=t.size.x,r.height=t.size.y;let i=1/s.width,a=1/s.height;r.uvRec.set(r.uvRec.x*i,r.uvRec.y*a,r.uvRec.z*i,r.uvRec.w*a);let o=.1;return t.border.x<=o&&t.border.y<=o&&t.border.z<=o&&t.border.x<=o?r.isSliced=!1:(r.borderSize.copyFrom(t.border),r.uvBorder.copyFrom(t.border),r.uvBorder.x-=t.textureRectOffset.x,r.uvBorder.y-=t.textureRectOffset.y,r.uvBorder.z=t.border.z-(t.size.x-t.textureRect.z-t.textureRectOffset.x),r.uvBorder.w=t.border.w-(t.size.y-t.textureRect.w-t.textureRectOffset.y),r.uvBorder.x/=t.textureRect.z,r.uvBorder.z/=t.textureRect.z,r.uvBorder.y/=t.textureRect.w,r.uvBorder.w/=t.textureRect.w,r.isSliced=!0),r}class gc{_spriteMap=new Map;_spriteList=[];textureSize=new K;name;constructor(e){this.textureSize.set(e.x,e.y)}setTexture(e,t,r){let i=dc(e,t,r);return this._spriteMap.set(i.id,i),this._spriteList.push(i),i}getSprite(e){return this._spriteMap.get(e)}get spriteList(){return this._spriteList}}class pc extends st{static format=Ge.TEXT;_json;_texture;async parseString(e){this._json=JSON.parse(e);let t=this.userData.replace(".json",".png");this._texture=await m.res.loadTexture(t,null,!0),this.data={json:this._json,texture:this._texture},this.parseAtlas()}verification(){if(this.data)return!0;throw new Error("verify failed.")}parseAtlas(){let e=new gc(this._json.size),t=new fi(this._texture),r=this._json.atlas;for(const i in r)e.setTexture(t,i,r[i]);m.res.addAtlas(this.baseUrl,e),this.data=e}}var kt=Uint8Array,$i=Uint16Array,vp=Int32Array,mc=new kt([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ac=new kt([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Cp=new kt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Uc=function(s,e){for(var t=new $i(31),r=0;r<31;++r)t[r]=e+=1<<s[r-1];for(var i=new vp(t[30]),r=1;r<30;++r)for(var a=t[r];a<t[r+1];++a)i[a]=a-t[r]<<5|r;return{b:t,r:i}},xc=Uc(mc,2),Bc=xc.b,Sp=xc.r;Bc[28]=258,Sp[258]=28;for(var _p=Uc(Ac,0),Fp=_p.b,tn=new $i(32768),De=0;De<32768;++De){var ri=(De&43690)>>1|(De&21845)<<1;ri=(ri&52428)>>2|(ri&13107)<<2,ri=(ri&61680)>>4|(ri&3855)<<4,tn[De]=((ri&65280)>>8|(ri&255)<<8)>>1}for(var va=(function(s,e,t){for(var r=s.length,i=0,a=new $i(e);i<r;++i)s[i]&&++a[s[i]-1];var o=new $i(e);for(i=1;i<e;++i)o[i]=o[i-1]+a[i-1]<<1;var n;if(t){n=new $i(1<<e);var l=15-e;for(i=0;i<r;++i)if(s[i])for(var h=i<<4|s[i],u=e-s[i],c=o[s[i]-1]++<<u,f=c|(1<<u)-1;c<=f;++c)n[tn[c]>>l]=h}else for(n=new $i(r),i=0;i<r;++i)s[i]&&(n[i]=tn[o[s[i]-1]++]>>15-s[i]);return n}),Ca=new kt(288),De=0;De<144;++De)Ca[De]=8;for(var De=144;De<256;++De)Ca[De]=9;for(var De=256;De<280;++De)Ca[De]=7;for(var De=280;De<288;++De)Ca[De]=8;for(var vc=new kt(32),De=0;De<32;++De)vc[De]=5;var yp=va(Ca,9,1),bp=va(vc,5,1),rn=function(s){for(var e=s[0],t=1;t<s.length;++t)s[t]>e&&(e=s[t]);return e},sr=function(s,e,t){var r=e/8|0;return(s[r]|s[r+1]<<8)>>(e&7)&t},an=function(s,e){var t=e/8|0;return(s[t]|s[t+1]<<8|s[t+2]<<16)>>(e&7)},Qp=function(s){return(s+7)/8|0},sn=function(s,e,t){return(e==null||e<0)&&(e=0),(t==null||t>s.length)&&(t=s.length),new kt(s.subarray(e,t))},Rp=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ht=function(s,e,t){var r=new Error(e||Rp[s]);if(r.code=s,Error.captureStackTrace&&Error.captureStackTrace(r,Ht),!t)throw r;return r},Ip=function(s,e,t,r){var i=s.length,a=r?r.length:0;if(!i||e.f&&!e.l)return t||new kt(0);var o=!t,n=o||e.i!=2,l=e.i;o&&(t=new kt(i*3));var h=function(Qt){var Rt=t.length;if(Qt>Rt){var Nt=new kt(Math.max(Rt*2,Qt));Nt.set(t),t=Nt}},u=e.f||0,c=e.p||0,f=e.b||0,g=e.l,p=e.d,A=e.m,U=e.n,x=i*8;do{if(!g){u=sr(s,c,1);var B=sr(s,c+1,3);if(c+=3,B)if(B==1)g=yp,p=bp,A=9,U=5;else if(B==2){var y=sr(s,c,31)+257,b=sr(s,c+10,15)+4,w=y+sr(s,c+5,31)+1;c+=14;for(var Q=new kt(w),E=new kt(19),M=0;M<b;++M)E[Cp[M]]=sr(s,c+M*3,7);c+=b*3;for(var z=rn(E),Y=(1<<z)-1,ee=va(E,z,1),M=0;M<w;){var oe=ee[sr(s,c,Y)];c+=oe&15;var S=oe>>4;if(S<16)Q[M++]=S;else{var te=0,ge=0;for(S==16?(ge=3+sr(s,c,3),c+=2,te=Q[M-1]):S==17?(ge=3+sr(s,c,7),c+=3):S==18&&(ge=11+sr(s,c,127),c+=7);ge--;)Q[M++]=te}}var Ce=Q.subarray(0,y),J=Q.subarray(y);A=rn(Ce),U=rn(J),g=va(Ce,A,1),p=va(J,U,1)}else Ht(1);else{var S=Qp(c)+4,C=s[S-4]|s[S-3]<<8,_=S+C;if(_>i){l&&Ht(0);break}n&&h(f+C),t.set(s.subarray(S,_),f),e.b=f+=C,e.p=c=_*8,e.f=u;continue}if(c>x){l&&Ht(0);break}}n&&h(f+131072);for(var ce=(1<<A)-1,he=(1<<U)-1,Ue=c;;Ue=c){var te=g[an(s,c)&ce],xe=te>>4;if(c+=te&15,c>x){l&&Ht(0);break}if(te||Ht(2),xe<256)t[f++]=xe;else if(xe==256){Ue=c,g=null;break}else{var Ve=xe-254;if(xe>264){var M=xe-257,Ie=mc[M];Ve=sr(s,c,(1<<Ie)-1)+Bc[M],c+=Ie}var Fe=p[an(s,c)&he],Me=Fe>>4;Fe||Ht(3),c+=Fe&15;var J=Fp[Me];if(Me>3){var Ie=Ac[Me];J+=an(s,c)&(1<<Ie)-1,c+=Ie}if(c>x){l&&Ht(0);break}n&&h(f+131072);var nt=f+Ve;if(f<J){var mr=a-J,Mt=Math.min(J,nt);for(mr+f<0&&Ht(3);f<Mt;++f)t[f]=r[mr+f]}for(;f<nt;++f)t[f]=t[f-J]}}e.l=g,e.p=Ue,e.b=f,e.f=u,g&&(u=1,e.m=A,e.d=p,e.n=U)}while(!u);return f!=t.length&&o?sn(t,0,f):t.subarray(0,f)},Ep=new kt(0),yr=function(s,e){return s[e]|s[e+1]<<8},or=function(s,e){return(s[e]|s[e+1]<<8|s[e+2]<<16|s[e+3]<<24)>>>0},on=function(s,e){return or(s,e)+or(s,e+4)*4294967296};function wp(s,e){return Ip(s,{i:2},e&&e.out,e&&e.dictionary)}var nn=typeof TextDecoder<"u"&&new TextDecoder,Tp=0;try{nn.decode(Ep,{stream:!0}),Tp=1}catch{}var Dp=function(s){for(var e="",t=0;;){var r=s[t++],i=(r>127)+(r>223)+(r>239);if(t+i>s.length)return{s:e,r:sn(s,t-1)};i?i==3?(r=((r&15)<<18|(s[t++]&63)<<12|(s[t++]&63)<<6|s[t++]&63)-65536,e+=String.fromCharCode(55296|r>>10,56320|r&1023)):i&1?e+=String.fromCharCode((r&31)<<6|s[t++]&63):e+=String.fromCharCode((r&15)<<12|(s[t++]&63)<<6|s[t++]&63):e+=String.fromCharCode(r)}};function Cc(s,e){if(e){for(var t="",r=0;r<s.length;r+=16384)t+=String.fromCharCode.apply(null,s.subarray(r,r+16384));return t}else{if(nn)return nn.decode(s);var i=Dp(s),a=i.s,t=i.r;return t.length&&Ht(8),a}}var Mp=function(s,e){return e+30+yr(s,e+26)+yr(s,e+28)},Np=function(s,e,t){var r=yr(s,e+28),i=Cc(s.subarray(e+46,e+46+r),!(yr(s,e+8)&2048)),a=e+46+r,o=or(s,e+20),n=t&&o==4294967295?Vp(s,a):[o,or(s,e+24),or(s,e+42)],l=n[0],h=n[1],u=n[2];return[yr(s,e+10),l,h,i,a+yr(s,e+30)+yr(s,e+32),u]},Vp=function(s,e){for(;yr(s,e)!=1;e+=4+yr(s,e+2));return[on(s,e+12),on(s,e+4),on(s,e+20)]};function Pp(s,e){for(var t={},r=s.length-22;or(s,r)!=101010256;--r)(!r||s.length-r>65558)&&Ht(13);var i=yr(s,r+8);if(!i)return{};var a=or(s,r+16),o=a==4294967295||i==65535;if(o){var n=or(s,r-12);o=or(s,n)==101075792,o&&(i=or(s,n+32),a=or(s,n+48))}for(var l=0;l<i;++l){var h=Np(s,a,o),u=h[0],c=h[1],f=h[2],g=h[3],p=h[4],A=h[5],U=Mp(s,A);a=p,u?u==8?t[g]=wp(s.subarray(U,U+c),{out:new kt(f)}):Ht(14,"unknown compression type "+u):t[g]=sn(s,U,U+c)}return t}class Ft extends yt{constructor(){super(),this.shader=new Ea,this.baseMap=m.res.whiteTexture}set baseMap(e){this.shader.setTexture("baseMap",e)}get baseMap(){return this.shader.getTexture("baseMap")}set baseColor(e){this.shader.setUniformColor("baseColor",e)}get baseColor(){return this.shader.getUniformColor("baseColor")}set envMap(e){}set shadowMap(e){}}class Ri extends Ne{shape_vertices=[];shape_indices=[];radius;widthSegments;heightSegments;phiStart;phiLength;thetaStart;thetaLength;constructor(e,t,r,i,a,o,n){super(),this.radius=e,this.widthSegments=t,this.heightSegments=r,this.phiStart=i,this.phiLength=a,this.thetaStart=o,this.thetaLength=n,this.buildGeometry()}buildGeometry(){var e,t,r=0;let i=this.heightSegments,a=this.widthSegments,o=this.radius;var n=(i+1)*(a+1);let l=new Float32Array(n*3),h=new Float32Array(n*3),u=new Float32Array(n*2),c=new Uint16Array(a*i*2*3),f=0,g=0,p=0;for(t=0;t<=i;++t){var A=Math.PI*t/i,U=o*Math.cos(A),x=o*Math.sin(A);for(e=0;e<=a;++e){var B=2*Math.PI*e/a,S=x*Math.cos(B),C=x*Math.sin(B),_=1/Math.sqrt(S*S+U*U+C*C);if(l[f++]=S,l[f++]=U,l[f++]=C,h[g++]=S*_,h[g++]=U*_,h[g++]=C*_,u[p++]=e/a,u[p++]=t/i,e>0&&t>0){var y=(a+1)*t+e,b=(a+1)*t+e-1,w=(a+1)*(t-1)+e-1,Q=(a+1)*(t-1)+e;t==i?(c[r++]=y,c[r++]=w,c[r++]=Q):t==1?(c[r++]=y,c[r++]=b,c[r++]=w):(c[r++]=y,c[r++]=b,c[r++]=w,c[r++]=y,c[r++]=w,c[r++]=Q)}}}this.setIndices(c),this.setAttribute(V.position,l),this.setAttribute(V.normal,h),this.setAttribute(V.uv,u),this.setAttribute(V.TEXCOORD_1,u),this.addSubGeometry({indexStart:0,indexCount:c.length,vertexStart:0,vertexCount:0,firstStart:0,index:0,topology:0}),this.bounds=new Re(d.ZERO,new d(this.radius*2,this.radius*2,this.radius*2))}}class $a extends q{static register3DRepresentation=null;positionIndex=-1;positionValid=!1;marker;constructor(e){super(),this.parsePlacemark(e),this.setup3DRepresentation()}parsePlacemark(e){if(!e.slamPositionInfo){console.warn("WayPoint3D: slamPositionInfo is not found");return}const t=e.slamPositionInfo.slamPosition.split(",").map(Number);this.localPosition=new d(t[0],t[1],t[2]),this.positionIndex=Number(e.slamPositionInfo.slamPositionIndex),this.positionValid=e.slamPositionInfo.slamPositionValid==="1"}setup3DRepresentation(){if(this.marker&&(this.removeChild(this.marker),this.marker=null),$a.register3DRepresentation)this.marker=$a.register3DRepresentation(this),this.marker&&this.addChild(this.marker);else{this.marker=new q;const e=this.marker.addComponent(j);e.geometry=new Ri(.1,32,16),e.material=new ur,e.material.baseColor=this.positionValid?new P(0,1,0,1):new P(1,0,0,1),this.addChild(this.marker),this.marker.name="WayPoint3DMarker"}}}class es extends q{static register3DRepresentation=null;line;constructor(e){super(),this.parseWayLineFile(e),this.setup3DRepresentation()}parseWayLineFile(e){for(const t of e.Folder.Placemark){const r=new $a(t);this.addChild(r)}this.entityChildren=this.entityChildren.sort((t,r)=>t.positionIndex-r.positionIndex)}setup3DRepresentation(){this.line&&(this.removeChild(this.line),this.line=null),es.register3DRepresentation?(this.line=es.register3DRepresentation(this),this.line&&this.addChild(this.line)):(this.line=this.createMultiLine(this.entityChildren.map(e=>e.localPosition),new P(1,1,1,1)),this.addChild(this.line),this.line.name="WayLines3DLine")}createMultiLine(e,t){if(e.length<2)return null;const r=new Ne,i=new Float32Array(e.length*3);for(let h=0;h<e.length;h++)i[h*3]=e[h].x,i[h*3+1]=e[h].y,i[h*3+2]=e[h].z;const a=new Uint16Array((e.length-1)*2);for(let h=0;h<e.length-1;h++)a[h*2]=h,a[h*2+1]=h+1;r.setIndices(a),r.setAttribute(V.position,i),r.addSubGeometry({indexStart:0,indexCount:a.length,vertexStart:0,vertexCount:0,firstStart:0,index:0,topology:0});const o=new q,n=o.addComponent(j),l=new Ft;return l.topology="line-list",l.baseColor=t,l.blendMode=ae.ADD,l.castReflection=!1,n.geometry=r,n.material=l,o}}class Sc extends st{static format=Ge.BIN;parseBuffer(e){try{const t={template:null,waylines:null},r=Pp(new Uint8Array(e));for(const a in r){const o=r[a],l=new DOMParser().parseFromString(Cc(o),"application/xml"),h={};this.parseNode(l,h);const u=a.replace("wpmz/","").split(".")[0];Object.assign(t,{[u]:h["#document"].kml.Document})}const i=new es(t.waylines);this.data=i}catch(t){this.parserError(`KMZ parsing failed: ${t}`,-1)}}parseNode(e,t){const r=["Placemark","actionGroup","action"],i=e.nodeName.replace("wpml:","");if(!e.childNodes.length)t[i]=void 0;else{let a=null,o=!1;for(let n=0;n<e.childNodes.length;++n){const l=e.childNodes[n];if(l.nodeType==Node.TEXT_NODE){const h=l.nodeValue?.trim();h&&h.length>0&&(a=h)}else l.nodeType==Node.ELEMENT_NODE&&(o=!0)}if(a&&!o)t[i]=a;else if(o){r.includes(i)?t[i]?.length?t[i].push({}):t[i]=[{}]:t[i]={};for(let n=0;n<e.childNodes.length;++n){const l=e.childNodes[n];l.nodeType==Node.ELEMENT_NODE&&this.parseNode(l,Array.isArray(t[i])?t[i].at(-1):t[i])}}else t[i]=void 0}}verification(){if(this.data)return!0;throw new Error("verify failed.")}}class _c{_texturePool;_materialPool;_prefabPool;_gltfPool;_geometryPool;_atlasList;_obj;constructor(){this._texturePool=new Map,this._materialPool=new Map,this._prefabPool=new Map,this._geometryPool=new Map,this._gltfPool=new Map,this._atlasList=new Map,this._obj=new Map}getGltf(e){return this._gltfPool.get(e)}addObj(e,t){this._obj.set(e,t)}getObj(e){return this._obj.get(e)}addTexture(e,t){this._texturePool.set(e,t)}getTexture(e){return this._texturePool.get(e)}addGeometry(e,t){this._geometryPool.set(e,t)}getGeometry(e){return this._geometryPool.get(e)}addMat(e,t){return this._materialPool.set(e,t)}getMat(e){return this._materialPool.get(e)}addPrefab(e,t){this._prefabPool.set(e,t)}getPrefab(e){return this._prefabPool.get(e).instantiate()}addAtlas(e,t){t.name=e,this._atlasList.set(e,t)}getAtlas(e){return this._atlasList.get(e)}getGUISprite(e){for(let t of this._atlasList.values()){let r=t.getSprite(e);if(r)return r}return null}async load(e,t,r){return(await new gt().load(e,t,r)).data}async loadGltf(e,t){if(this._prefabPool.has(e))return this._prefabPool.get(e);let r,i=e.substring(e.lastIndexOf(".")).toLowerCase(),a=new gt;i==".gltf"?r=await a.load(e,At,t):r=await a.load(e,Wo,t);let o=r.data;return this._prefabPool.set(e,o),this._gltfPool.set(e,r.gltf),o}async loadObj(e,t){if(this._prefabPool.has(e))return this._prefabPool.get(e);let r,i=e.substring(e.lastIndexOf(".")).toLowerCase(),a=new gt;i==".obj"&&(r=await a.load(e,Gu,t));let o=r.data;return this._prefabPool.set(e,o),o}async loadB3DM(e,t,r){if(this._prefabPool.has(e))return this._prefabPool.get(e);let o=(await new gt().load(e,tc,t,r)).data;return this._prefabPool.set(e,o),o}async loadI3DM(e,t,r){if(this._prefabPool.has(e))return this._prefabPool.get(e);let o=(await new gt().load(e,nc,t,r)).data;return this._prefabPool.set(e,o),o}async loadTexture(e,t,r){if(this._texturePool.has(e))return this._texturePool.get(e);let i=new Mr;return i.flipY=r,await i.load(e,t),this._texturePool.set(e,i),i}async loadTextureCount(e,t,r,i){return new Promise(async(a,o)=>{let n=0,l=[];t==0&&a(l);for(let h=0;h<t;h++){const u=e.shift();this.loadTexture(u,r,i).then(c=>{l.push(c),n++,n==t&&a(l)})}})}async loadBitmapTextures(e,t=5,r,i){let a=[],o=Math.floor(e.length/t)+1,n=Math.floor(e.length%t);for(let l=0;l<o;l++){let h=await this.loadTextureCount(e,l==o-1?n:t,r,i);a.push(...h)}return a}async loadHDRTexture(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new Yo;return r=await r.load(e,t),this._texturePool.set(e,r),r}async loadHDRTextureCube(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new ms;return r=await r.load(e,t),this._texturePool.set(e,r),r}async loadLDRTextureCube(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new Us;return r=await r.load(e,t),this._texturePool.set(e,r),r}async loadTextureCubeMaps(e){let t=e[0];if(this._texturePool.has(t))return this._texturePool.get(t);let r=new Jo;return await r.load(e),this._texturePool.set(e[0],r),r}async loadTextureCubeStd(e,t){if(this._texturePool.has(e))return this._texturePool.get(e);let r=new Jo;return await r.loadStd(e),r}async loadJSON(e,t){return await new gt().loadJson(e,t).then(async r=>r).catch(r=>{console.log(r)})}async loadFont(e,t,r){let a=await new gt().load(e,Lr,t,r),o=a.data;return qi.addFontData(o.face,o.size,o),a.data}async loadAtlas(e,t){return(await new gt().load(e,pc,t,e)).data}async loadKMZ(e,t){return(await new gt().load(e,Sc,t)).data}normalTexture;maskTexture;whiteTexture;blackTexture;redTexture;blueTexture;greenTexture;yellowTexture;grayTexture;defaultSky;defaultGUITexture;defaultGUISprite;defaultMaterial;createTexture(e,t,r,i,a,o,n){let l=32,h=32,u=new Uint8Array(l*h*4);this.fillColor(u,e,t,r,i,a,o);let c=new Bo;return c.name=n,c.create(16,16,u,!0),n&&this.addTexture(n,c),c}fillColor(e,t,r,i,a,o,n){for(let l=0;l<t;l++)for(let h=0;h<r;h++){let u=h*t+l;e[u*4+0]=i,e[u*4+1]=a,e[u*4+2]=o,e[u*4+3]=n}}initDefault(){this.normalTexture=this.createTexture(32,32,255*.5,255*.5,255,255,"default-normalTexture"),this.maskTexture=this.createTexture(32,32,255,255*.5,255,255,"default-maskTexture"),this.whiteTexture=this.createTexture(32,32,255,255,255,255,"default-whiteTexture"),this.blackTexture=this.createTexture(32,32,0,0,0,255,"default-blackTexture"),this.redTexture=this.createTexture(32,32,255,0,0,255,"default-redTexture"),this.blueTexture=this.createTexture(32,32,0,0,255,255,"default-blueTexture"),this.greenTexture=this.createTexture(32,32,0,255,0,255,"default-greenTexture"),this.yellowTexture=this.createTexture(32,32,0,255,255,255,"default-yellowTexture"),this.grayTexture=this.createTexture(32,32,128,128,128,255,"default-grayTexture");let t=new hc().generateBRDFLUTTexture(),r=t.name="BRDFLUT";this.addTexture(r,t),this.defaultSky=new ms,this.defaultSky.createFromTexture(128,this.blackTexture),me.getInstance().attached(this.defaultSky,this),me.getInstance().attached(t,this),me.getInstance().attached(this.normalTexture,this),me.getInstance().attached(this.maskTexture,this),me.getInstance().attached(this.whiteTexture,this),me.getInstance().attached(this.blackTexture,this),me.getInstance().attached(this.redTexture,this),me.getInstance().attached(this.blueTexture,this),me.getInstance().attached(this.greenTexture,this),me.getInstance().attached(this.yellowTexture,this),me.getInstance().attached(this.grayTexture,this),this.defaultGUITexture=new fi(this.whiteTexture),this.defaultGUISprite=new Ki(this.defaultGUITexture),this.defaultGUISprite.trimSize.set(4,4),this.defaultMaterial=new ur}}class Fc extends Pe{_postList;init(e){this._postList=new Map}start(){}stop(){}onEnable(){this.activePost()}onDisable(){this.unActivePost()}activePost(){let e=this.transform.view3D,t=m.getRenderJob(e);this._postList.forEach(r=>{t.addPost(r)})}unActivePost(){let e=this.transform.view3D,t=m.getRenderJob(e);this._postList.forEach(r=>{t.removePost(r)})}addPost(e){if(this._postList.has(e))return;let t=new e;return this._postList.set(e,t),this._enable&&this.activePost(),t}removePost(e){if(!this._postList.has(e))return;let t=this._postList.get(e);this._postList.delete(e);let r=this.transform.view3D;m.getRenderJob(r).removePost(t)}getPost(e){return this._postList.has(e)?this._postList.get(e):null}}const kp="1.0.7";class m{static res;static inputSystem;static views;static _frameRateValue=0;static _frameRate=360;static _time=0;static _beforeRender;static _renderLoop;static _lateRender;static _requestAnimationFrameID=0;static get frameRate(){return this._frameRate}static set frameRate(e){this._frameRate=e,this._frameRateValue=1e3/e,e>=360&&(this._frameRateValue=0)}static get size(){return R.presentationSize}static get aspect(){return R.aspect}static get width(){return R.windowWidth}static get height(){return R.windowHeight}static setting={doublePrecision:!1,occlusionQuery:{enable:!0,debug:!1},pick:{enable:!0,mode:"bound",detail:"mesh"},render:{debug:!1,renderPassState:4,renderState_left:5,renderState_right:5,renderState_split:.5,quadScale:1,hdrExposure:1.5,debugQuad:-1,maxPointLight:1e3,maxDirectLight:4,maxSportLight:1e3,drawOpMin:0,drawOpMax:Number.MAX_SAFE_INTEGER,drawTrMin:0,drawTrMax:Number.MAX_SAFE_INTEGER,zPrePass:!1,useLogDepth:!1,useCompressGBuffer:!1,gi:!1,postProcessing:{bloom:{downSampleStep:3,downSampleBlurSize:9,downSampleBlurSigma:1,upSampleBlurSize:9,upSampleBlurSigma:1,luminanceThreshole:1,bloomIntensity:1,hdr:1},globalFog:{debug:!1,enable:!1,fogType:0,fogHeightScale:.1,start:400,end:10,density:.02,ins:.5,skyFactor:.5,skyRoughness:.4,overrideSkyFactor:.8,fogColor:new P(96/255,117/255,133/255,1),falloff:.7,rayLength:200,scatteringExponent:2.7,dirHeightLine:10},godRay:{blendColor:!0,rayMarchCount:16,scatteringExponent:5,intensity:.5},ssao:{enable:!1,radius:.15,bias:-.1,aoPower:2,debug:!0},outline:{enable:!1,strength:1,groupCount:4,outlinePixel:2,fadeOutlinePixel:4,textureScale:1,useAddMode:!1,debug:!0},taa:{enable:!1,jitterSeedCount:8,blendFactor:.1,sharpFactor:.6,sharpPreBlurFactor:.5,temporalJitterScale:.13,debug:!0},gtao:{enable:!1,darkFactor:1,maxDistance:5,maxPixel:50,rayMarchSegment:6,multiBounce:!1,usePosFloat32:!0,blendColor:!0,debug:!0},ssr:{enable:!1,pixelRatio:1,fadeEdgeRatio:.2,rayMarchRatio:.5,fadeDistanceMin:600,fadeDistanceMax:2e3,roughnessThreshold:.5,powDotRN:.2,mixThreshold:.1,debug:!0},fxaa:{enable:!1},depthOfView:{enable:!1,iterationCount:3,pixelOffset:1,near:150,far:300}}},shadow:{enable:!0,type:"HARD",pointShadowBias:5e-4,shadowSize:2048,pointShadowSize:1024,shadowSoft:.005,shadowBound:100,shadowBias:.05,needUpdate:!0,autoUpdate:!0,updateFrameRate:2,csmMargin:.1,csmScatteringExp:.7,csmAreaScale:.4,debug:!1},gi:{enable:!1,offsetX:0,offsetY:0,offsetZ:0,probeSpace:64,probeXCount:4,probeYCount:2,probeZCount:4,probeSize:32,probeSourceTextureSize:2048,octRTMaxSize:2048,octRTSideSize:16,maxDistance:64*1.73,normalBias:.25,depthSharpness:1,hysteresis:.98,lerpHysteresis:.01,irradianceChebyshevBias:.01,rayNumber:144,irradianceDistanceBias:32,indirectIntensity:1,ddgiGamma:2.2,bounceIntensity:.025,probeRoughness:1,realTimeGI:!1,debug:!1,autoRenderProbe:!1},sky:{type:"HDRSKY",sky:null,skyExposure:1,defaultFar:65536,defaultNear:1},light:{maxLight:4096},material:{materialChannelDebug:!1,materialDebug:!1},loader:{numConcurrent:20},reflectionSetting:{reflectionProbeMaxCount:8,reflectionProbeSize:256,width:256*6,height:8*256,enable:!0}};static renderJobs;static async init(e={}){console.log("Rings Version",kp),window.isSecureContext||console.warn("WebGPU is only supported in secure contexts (HTTPS or localhost)"),this.setting={...this.setting,...e.engineSetting},await pe.init(I.allocCount,this.setting.doublePrecision),await R.init(e.canvasConfig),this.setting.reflectionSetting.width=this.setting.reflectionSetting.reflectionProbeSize*6,this.setting.reflectionSetting.height=this.setting.reflectionSetting.reflectionProbeSize*this.setting.reflectionSetting.reflectionProbeMaxCount,se.getGBufferFrame(se.reflections_GBuffer,this.setting.reflectionSetting.width,this.setting.reflectionSetting.height,!1),O.init(),Dr.init(),ne.init(),Bt.init(),wt.init(),this.res=new _c,this.res.initDefault(),this._beforeRender=e.beforeRender,this._renderLoop=e.renderLoop,this._lateRender=e.lateRender,this.inputSystem=new Ln,this.inputSystem.initCanvas(R.canvas)}static startRenderJob(e){let t=new Bu(e);return this.renderJobs.set(e,t),this.setting.pick.mode=="pixel"&&e.scene.getOrAddComponent(Fc).addPost(Io),(this.setting.pick.mode=="pixel"||this.setting.pick.mode=="bound")&&(e.enablePick=!0),t}static startRenderView(e){this.renderJobs||=new Map,this.views=[e];let t=this.startRenderJob(e);return this.resume(),t}static startRenderViews(e){this.renderJobs||=new Map,this.views=e;for(let t=0;t<e.length;t++)this.startRenderJob(e[t]);this.resume()}static getRenderJob(e){return this.renderJobs.get(e)}static pause(){this._requestAnimationFrameID!==0&&(cancelAnimationFrame(this._requestAnimationFrameID),this._requestAnimationFrameID=0)}static resume(){this._requestAnimationFrameID===0&&(this._requestAnimationFrameID=requestAnimationFrame(e=>this.render(e)))}static async render(e){if(this._frameRateValue>0){let t=e-this._time;if(t<this._frameRateValue){let r=performance.now();await new Promise(i=>{setTimeout(()=>{e+=performance.now()-r,i(!0)},this._frameRateValue-t)})}this._time=e}await this.updateFrame(e),this._requestAnimationFrameID=0,this.resume()}static async updateFrame(e){be.delta=e-be.time,be.time=e,be.frame+=1,ci.tick(be.delta);let t=this.views,r=0;for(r=0;r<t.length;r++){const o=t[r];o.scene.waitUpdate();let[n,l]=R.presentationSize;o.camera.viewPort.setTo(0,0,n,l)}this._beforeRender&&await this._beforeRender();for(const o of Se.componentsBeforeUpdateList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n)}}let i=R.device.createCommandEncoder();for(const o of Se.componentsComputeList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n,i)}}R.device.queue.submit([i.finish()]);for(const o of Se.componentsUpdateList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n)}}for(const o of Se.graphicComponent){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];n&&u.enable&&c(n)}}this._renderLoop&&await this._renderLoop(),pe.updateAllContinueTransform(0,I.useCount,16),ne.modelMatrixBindGroup.writeBuffer(I.useCount*16),this.renderJobs.forEach((o,n)=>{o.renderState||o.start(),o.renderFrame()});for(const o of Se.componentsLateUpdateList){let n=o[0],l=o[1];for(const h of l){let u=h[0],c=h[1];u.enable&&c(n)}}this._lateRender&&await this._lateRender()}}let xs=`
|
|
7561
7561
|
struct BloomCfg{
|
|
7562
7562
|
downSampleStep: f32,
|
|
7563
7563
|
downSampleBlurSize: f32,
|