t3d-ez.gl 0.0.1
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/core/Controls/controlsLibs/FirstControls.cjs.js +1 -0
- package/dist/core/Controls/controlsLibs/FirstControls.esm.js +1 -0
- package/dist/core/Controls/index.cjs.js +1 -0
- package/dist/core/Controls/index.esm.js +1 -0
- package/dist/core/DynamicSky/index.cjs.js +1 -0
- package/dist/core/DynamicSky/index.esm.js +1 -0
- package/dist/core/Lights/Builders/DirectionalLightBuilder.cjs.js +1 -0
- package/dist/core/Lights/Builders/DirectionalLightBuilder.esm.js +1 -0
- package/dist/core/Lights/Builders/PointLightBuilder.cjs.js +1 -0
- package/dist/core/Lights/Builders/PointLightBuilder.esm.js +1 -0
- package/dist/core/Lights/index.cjs.js +1 -0
- package/dist/core/Lights/index.esm.js +1 -0
- package/dist/core/Map/extrudeMap.cjs.js +1 -0
- package/dist/core/Map/extrudeMap.esm.js +1 -0
- package/dist/core/Map/index.cjs.js +1 -0
- package/dist/core/Map/index.esm.js +1 -0
- package/dist/core/MarkerHtmlUI/index.cjs.js +1 -0
- package/dist/core/MarkerHtmlUI/index.esm.js +1 -0
- package/dist/core/Materials/FresnelMaterial.cjs.js +1 -0
- package/dist/core/Materials/FresnelMaterial.esm.js +1 -0
- package/dist/core/Materials/GradationMaterial.cjs.js +1 -0
- package/dist/core/Materials/GradationMaterial.esm.js +1 -0
- package/dist/core/Materials/index.cjs.js +1 -0
- package/dist/core/Materials/index.esm.js +1 -0
- package/dist/core/Meshes/Builders/BoxBuilder.cjs.js +1 -0
- package/dist/core/Meshes/Builders/BoxBuilder.esm.js +1 -0
- package/dist/core/Meshes/Builders/MeshBuilder.cjs.js +1 -0
- package/dist/core/Meshes/Builders/MeshBuilder.esm.js +1 -0
- package/dist/core/Meshes/Builders/PlaneBuilder.cjs.js +1 -0
- package/dist/core/Meshes/Builders/PlaneBuilder.esm.js +1 -0
- package/dist/core/Meshes/Builders/SphereBuilder.cjs.js +1 -0
- package/dist/core/Meshes/Builders/SphereBuilder.esm.js +1 -0
- package/dist/core/Meshes/index.cjs.js +1 -0
- package/dist/core/Meshes/index.esm.js +1 -0
- package/dist/core/PostProcessor/effects/OutlineEffect.cjs.js +1 -0
- package/dist/core/PostProcessor/effects/OutlineEffect.esm.js +1 -0
- package/dist/core/PostProcessor/effects/PotateEffect.cjs.js +1 -0
- package/dist/core/PostProcessor/effects/PotateEffect.esm.js +1 -0
- package/dist/core/PostProcessor/effects/SAOEffect.cjs.js +1 -0
- package/dist/core/PostProcessor/effects/SAOEffect.esm.js +1 -0
- package/dist/core/PostProcessor/effects/UnrealBloomEffect.cjs.js +1 -0
- package/dist/core/PostProcessor/effects/UnrealBloomEffect.esm.js +1 -0
- package/dist/core/PostProcessor/index.cjs.js +1 -0
- package/dist/core/PostProcessor/index.esm.js +1 -0
- package/dist/core/Resource/ResourceManager.cjs.js +1 -0
- package/dist/core/Resource/ResourceManager.esm.js +1 -0
- package/dist/core/Resource/loaders.cjs.js +1 -0
- package/dist/core/Resource/loaders.esm.js +1 -0
- package/dist/core/Resource/types.cjs.js +1 -0
- package/dist/core/Resource/types.esm.js +1 -0
- package/dist/core/WebGLEngine/index.cjs.js +1 -0
- package/dist/core/WebGLEngine/index.esm.js +1 -0
- package/dist/helpers/InfiniteGridHelper.cjs.js +1 -0
- package/dist/helpers/InfiniteGridHelper.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/fsum.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/fsum.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/merge.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/merge.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/cartesian.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/cartesian.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/circle.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/circle.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/antimeridian.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/antimeridian.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/buffer.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/buffer.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/circle.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/circle.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/index.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/index.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/line.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/line.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/rectangle.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/rectangle.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/rejoin.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/rejoin.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/compose.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/compose.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/identity.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/identity.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/math.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/math.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/noop.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/noop.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/path/bounds.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/path/bounds.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/pointEqual.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/pointEqual.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/polygonContains.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/polygonContains.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/fit.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/fit.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/index.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/index.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/mercator.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/mercator.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/resample.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/resample.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/rotation.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/rotation.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/stream.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/stream.esm.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/transform.cjs.js +1 -0
- package/dist/node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/transform.esm.js +1 -0
- package/dist/node_modules/.pnpm/gsap@3.14.2/node_modules/gsap/CSSPlugin.cjs.js +1 -0
- package/dist/node_modules/.pnpm/gsap@3.14.2/node_modules/gsap/CSSPlugin.esm.js +1 -0
- package/dist/node_modules/.pnpm/gsap@3.14.2/node_modules/gsap/gsap-core.cjs.js +1 -0
- package/dist/node_modules/.pnpm/gsap@3.14.2/node_modules/gsap/gsap-core.esm.js +1 -0
- package/dist/node_modules/.pnpm/gsap@3.14.2/node_modules/gsap/index.cjs.js +1 -0
- package/dist/node_modules/.pnpm/gsap@3.14.2/node_modules/gsap/index.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/OrbitControls.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/OrbitControls.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/PointerLockControls.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/PointerLockControls.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/TrackballControls.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/TrackballControls.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/environments/RoomEnvironment.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/environments/RoomEnvironment.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/libs/stats.module.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/libs/stats.module.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/DRACOLoader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/DRACOLoader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/GLTFLoader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/GLTFLoader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/HDRLoader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/HDRLoader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/RGBELoader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/RGBELoader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/physics/AmmoPhysics.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/physics/AmmoPhysics.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/EffectComposer.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/EffectComposer.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/MaskPass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/MaskPass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutlinePass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutlinePass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutputPass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutputPass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/Pass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/Pass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/RenderPass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/RenderPass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SAOPass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SAOPass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SMAAPass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SMAAPass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/ShaderPass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/ShaderPass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/renderers/CSS3DRenderer.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/renderers/CSS3DRenderer.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/CopyShader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/CopyShader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/DepthLimitedBlurShader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/DepthLimitedBlurShader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/LuminosityHighPassShader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/LuminosityHighPassShader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/OutputShader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/OutputShader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/SAOShader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/SAOShader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/SMAAShader.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/SMAAShader.esm.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/utils/BufferGeometryUtils.cjs.js +1 -0
- package/dist/node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/utils/BufferGeometryUtils.esm.js +1 -0
- package/dist/package.json +36 -0
- package/dist/public/texture/yun_noise.png +0 -0
- package/dist/t3d-ez.gl.cjs.js +1 -0
- package/dist/t3d-ez.gl.esm.js +1 -0
- package/dist/types/core/Controls/controlsLibs/FirstControls.d.ts +19 -0
- package/dist/types/core/Controls/index.d.ts +36 -0
- package/dist/types/core/DynamicSky/index.d.ts +140 -0
- package/dist/types/core/Lights/Builders/DirectionalLightBuilder.d.ts +12 -0
- package/dist/types/core/Lights/Builders/PointLightBuilder.d.ts +14 -0
- package/dist/types/core/Lights/index.d.ts +7 -0
- package/dist/types/core/Map/extrudeMap.d.ts +19 -0
- package/dist/types/core/Map/index.d.ts +20 -0
- package/dist/types/core/MarkerHtmlUI/index.d.ts +21 -0
- package/dist/types/core/Materials/FresnelMaterial.d.ts +37 -0
- package/dist/types/core/Materials/GradationMaterial.d.ts +11 -0
- package/dist/types/core/Materials/index.d.ts +7 -0
- package/dist/types/core/Meshes/Builders/BoxBuilder.d.ts +20 -0
- package/dist/types/core/Meshes/Builders/MeshBuilder.d.ts +6 -0
- package/dist/types/core/Meshes/Builders/PlaneBuilder.d.ts +18 -0
- package/dist/types/core/Meshes/Builders/SphereBuilder.d.ts +21 -0
- package/dist/types/core/Meshes/Builders/index.d.ts +3 -0
- package/dist/types/core/Meshes/index.d.ts +9 -0
- package/dist/types/core/Physics/index.d.ts +1 -0
- package/dist/types/core/PostProcessor/effects/OutlineEffect.d.ts +12 -0
- package/dist/types/core/PostProcessor/effects/PotateEffect.d.ts +10 -0
- package/dist/types/core/PostProcessor/effects/SAOEffect.d.ts +14 -0
- package/dist/types/core/PostProcessor/effects/UnrealBloomEffect.d.ts +24 -0
- package/dist/types/core/PostProcessor/effects/index.d.ts +4 -0
- package/dist/types/core/PostProcessor/index.d.ts +21 -0
- package/dist/types/core/Resource/ResourceManager.d.ts +25 -0
- package/dist/types/core/Resource/index.d.ts +3 -0
- package/dist/types/core/Resource/loaders.d.ts +6 -0
- package/dist/types/core/Resource/types.d.ts +24 -0
- package/dist/types/core/WebGLEngine/index.d.ts +43 -0
- package/dist/types/core/WebGLEngine/types/index.d.ts +25 -0
- package/dist/types/core/index.d.ts +9 -0
- package/dist/types/helpers/InfiniteGridHelper.d.ts +5 -0
- package/dist/types/helpers/index.d.ts +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/types/PostProcessor/index.d.ts +5 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/utils/FpsMeter/index.d.ts +16 -0
- package/dist/types/utils/Logger.d.ts +10 -0
- package/dist/types/utils/index.d.ts +42 -0
- package/dist/utils/FpsMeter/index.cjs.js +1 -0
- package/dist/utils/FpsMeter/index.esm.js +1 -0
- package/dist/utils/Logger.cjs.js +1 -0
- package/dist/utils/Logger.esm.js +1 -0
- package/dist/utils/index.cjs.js +1 -0
- package/dist/utils/index.esm.js +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var e=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/PointerLockControls.cjs.js"),t=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");class o extends e.PointerLockControls{raycaster=new t.Raycaster(new t.Vector3,new t.Vector3(0,-1,0),0,10);moveForwardNum=0;moveBackward=0;moveLeft=0;moveRightFlag=0;canJump=0;prevTime=performance.now();velocity=new t.Vector3;direction=new t.Vector3;velocitySpeed=100;objects=[];constructor(e,t){super(e,t),document.addEventListener("keydown",e=>this.onKeyDown(e)),document.addEventListener("keyup",e=>this.onKeyUp(e))}update(){const e=performance.now();if(!0===this.isLocked){this.raycaster.ray.origin.copy(this.object.position),this.raycaster.ray.origin.y-=10;const t=this.raycaster.intersectObjects(this.objects,!1).length>0,o=(e-this.prevTime)/this.velocitySpeed*10;this.velocity.x-=10*this.velocity.x*o,this.velocity.z-=10*this.velocity.z*o,this.velocity.y-=9.8*100*o,this.direction.z=Number(this.moveForwardNum)-Number(this.moveBackward),this.direction.x=Number(this.moveRightFlag)-Number(this.moveLeft),this.direction.normalize(),(this.moveForwardNum||this.moveBackward)&&(this.velocity.z-=400*this.direction.z*o),(this.moveLeft||this.moveRightFlag)&&(this.velocity.x-=400*this.direction.x*o),!0===t&&(this.velocity.y=Math.max(0,this.velocity.y),this.canJump=1),this.moveRight(-this.velocity.x*o),this.moveForward(-this.velocity.z*o),this.object.position.y+=this.velocity.y*o,this.object.position.y<10&&(this.velocity.y=0,this.object.position.y=10,this.canJump=1)}this.prevTime=e}onKeyDown(e){switch(e.code){case"ArrowUp":case"KeyW":this.moveForwardNum=1;break;case"ArrowLeft":case"KeyA":this.moveLeft=1;break;case"ArrowDown":case"KeyS":this.moveBackward=1;break;case"ArrowRight":case"KeyD":this.moveRightFlag=1;break;case"Space":1===this.canJump&&(this.velocity.y+=350),this.canJump=0}}onKeyUp(e){switch(e.code){case"ArrowUp":case"KeyW":this.moveForwardNum=0;break;case"ArrowLeft":case"KeyA":this.moveLeft=0;break;case"ArrowDown":case"KeyS":this.moveBackward=0;break;case"ArrowRight":case"KeyD":this.moveRightFlag=0}}}exports.FirstControls=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{PointerLockControls as e}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/PointerLockControls.esm.js";import{Raycaster as t,Vector3 as o}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class i extends e{raycaster=new t(new o,new o(0,-1,0),0,10);moveForwardNum=0;moveBackward=0;moveLeft=0;moveRightFlag=0;canJump=0;prevTime=performance.now();velocity=new o;direction=new o;velocitySpeed=100;objects=[];constructor(e,t){super(e,t),document.addEventListener("keydown",e=>this.onKeyDown(e)),document.addEventListener("keyup",e=>this.onKeyUp(e))}update(){const e=performance.now();if(!0===this.isLocked){this.raycaster.ray.origin.copy(this.object.position),this.raycaster.ray.origin.y-=10;const t=this.raycaster.intersectObjects(this.objects,!1).length>0,o=(e-this.prevTime)/this.velocitySpeed*10;this.velocity.x-=10*this.velocity.x*o,this.velocity.z-=10*this.velocity.z*o,this.velocity.y-=9.8*100*o,this.direction.z=Number(this.moveForwardNum)-Number(this.moveBackward),this.direction.x=Number(this.moveRightFlag)-Number(this.moveLeft),this.direction.normalize(),(this.moveForwardNum||this.moveBackward)&&(this.velocity.z-=400*this.direction.z*o),(this.moveLeft||this.moveRightFlag)&&(this.velocity.x-=400*this.direction.x*o),!0===t&&(this.velocity.y=Math.max(0,this.velocity.y),this.canJump=1),this.moveRight(-this.velocity.x*o),this.moveForward(-this.velocity.z*o),this.object.position.y+=this.velocity.y*o,this.object.position.y<10&&(this.velocity.y=0,this.object.position.y=10,this.canJump=1)}this.prevTime=e}onKeyDown(e){switch(e.code){case"ArrowUp":case"KeyW":this.moveForwardNum=1;break;case"ArrowLeft":case"KeyA":this.moveLeft=1;break;case"ArrowDown":case"KeyS":this.moveBackward=1;break;case"ArrowRight":case"KeyD":this.moveRightFlag=1;break;case"Space":1===this.canJump&&(this.velocity.y+=350),this.canJump=0}}onKeyUp(e){switch(e.code){case"ArrowUp":case"KeyW":this.moveForwardNum=0;break;case"ArrowLeft":case"KeyA":this.moveLeft=0;break;case"ArrowDown":case"KeyS":this.moveBackward=0;break;case"ArrowRight":case"KeyD":this.moveRightFlag=0}}}export{i as FirstControls};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e,r=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/OrbitControls.cjs.js"),o=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/TrackballControls.cjs.js"),t=require("./controlsLibs/FirstControls.cjs.js"),n=require("../../utils/Logger.cjs.js"),s=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");exports.CONTROL_TYPE=void 0,(e=exports.CONTROL_TYPE||(exports.CONTROL_TYPE={}))[e.ORBIT=0]="ORBIT",e[e.TRACKBALL=1]="TRACKBALL",e[e.FIRSTPERSON=2]="FIRSTPERSON";const i=new Map([[exports.CONTROL_TYPE.ORBIT,r.OrbitControls],[exports.CONTROL_TYPE.TRACKBALL,o.TrackballControls],[exports.CONTROL_TYPE.FIRSTPERSON,t.FirstControls]]);exports.ControlsManager=class{engine;CONTROL_TYPE;constructor(e){this.CONTROL_TYPE=exports.CONTROL_TYPE,this.engine=e}createControls(e=0,r,o){if(o instanceof HTMLElement){if(r instanceof s.Camera)return i.has(e)?(exports.CONTROL_TYPE.ORBIT,this.initOrbitControls(r,o)):(n.Logger.warn("ControlManager","Control type is not defined , default to OrbitControls"),new(i.get(exports.CONTROL_TYPE.ORBIT))(r,o));n.Logger.error("ControlManager","Camera is not defined")}else n.Logger.error("ControlManager","DomElement is not defined")}initOrbitControls(e,o){const t=new r.OrbitControls(e,o);return t.enableDamping=!0,t.dampingFactor=.85,t.screenSpacePanning=!1,t}initFirstpersonControls(e,r){const o=new t.FirstControls(e,r);return o.pointerSpeed=.05,r.addEventListener("click",()=>o.lock()),o}initTrackballControls(e,r){return new o.TrackballControls(e,r)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{OrbitControls as e}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/OrbitControls.esm.js";import{TrackballControls as o}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/controls/TrackballControls.esm.js";import{FirstControls as n}from"./controlsLibs/FirstControls.esm.js";import{Logger as r}from"../../utils/Logger.esm.js";import{Camera as t}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";var s;!function(e){e[e.ORBIT=0]="ORBIT",e[e.TRACKBALL=1]="TRACKBALL",e[e.FIRSTPERSON=2]="FIRSTPERSON"}(s||(s={}));const i=new Map([[s.ORBIT,e],[s.TRACKBALL,o],[s.FIRSTPERSON,n]]);class l{engine;CONTROL_TYPE;constructor(e){this.CONTROL_TYPE=s,this.engine=e}createControls(e=0,o,n){if(n instanceof HTMLElement){if(o instanceof t)return i.has(e)?(s.ORBIT,this.initOrbitControls(o,n)):(r.warn("ControlManager","Control type is not defined , default to OrbitControls"),new(i.get(s.ORBIT))(o,n));r.error("ControlManager","Camera is not defined")}else r.error("ControlManager","DomElement is not defined")}initOrbitControls(o,n){const r=new e(o,n);return r.enableDamping=!0,r.dampingFactor=.85,r.screenSpacePanning=!1,r}initFirstpersonControls(e,o){const r=new n(e,o);return r.pointerSpeed=.05,o.addEventListener("click",()=>r.lock()),r}initTrackballControls(e,n){return new o(e,n)}}export{s as CONTROL_TYPE,l as ControlsManager};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js"),n=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const o={uTime:0,scale:6371.393,mult:.2,weaken:.15,THICKNESS:6,ABSORPTION:.45,N_MARCH_STEPS:12,N_LIGHT_STEPS:3,coverage:.5,sunSize:1,skylineF:.2,curve:.3,speed:3.8,xfactor:-.3,yfactor:.3,zfactor:.1,turbidity:10,rayleigh:.4,mieCoefficient:.005,mieDirectionalG:1,elevation:45,azimuth:180,exposure:1,distortionScale:3.7,size:1},t={sun_color:{value:new n.Color(1,0,0)},sunAngularDiameter:{value:.505},Intensity:{value:1},sunPosition:{value:new n.Vector3},mieDirectionalG:{value:1},Exposure:{value:1},skyscale:{value:1},turbidity:{value:10},skylineF:{value:.2},rayleigh:{value:.4},mieCoefficient:{value:.005},skyGlowColor:{value:new n.Color(1,.5,.5)},sunGlowColor:{value:new n.Color(.9216,.2431,.1059)},backSkyColor:{value:new n.Color(.1,.1,.1)},up:{value:new n.Vector3(0,1,0)},map:{value:null},uTime:{value:1},weaken:{value:.15},THICKNESS:{value:.001},N_LIGHT_STEPS:{value:3},curve:{value:.3},speed:{value:3.8},wind:{value:new n.Vector3(.3,.1,.3)},coverage:{value:.5},ABSORPTION:{value:.45},mult:{value:.2},N_MARCH_STEPS:{value:12},fogColor:{value:new n.Color(.7,.7,.7)},fogDensity:{value:1e-4}},a={uniforms:t,vertexShader:"\n // 太阳\n uniform float Intensity;// 亮度\n uniform vec3 sunPosition;// 太阳位置\n \n // 天空\n uniform float skyscale;\n uniform float rayleigh;// 瑞利散射\n uniform vec3 up;// 相机上方\n \n varying vec3 vWorldPosition;// 世界坐标\n varying vec3 vSunDirection;// 阳光方向\n varying float vSunfade;// 太阳照射范围\n varying vec3 vBetaR;// 瑞利系数\n varying float vSunE;// 阳光强度\n \n // 相关常数\n const float e = 2.71828182845904523536028747135266249775724709369995957;\n const float pi = 3.141592653589793238462643383279502884197169;\n const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );// RGB瑞利散射\n const float cutoffAngle = 1.6110731556870734;\n const float steepness = 1.5;\n const float EE = 1000.0;\n \n float sunIntensity( float zenithAngleCos ) {\n zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );\n return Intensity * EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) );\n }\n \n void main() {\n vec4 worldPosition = skyscale*modelMatrix * vec4( position, 1.0 );\n vWorldPosition = skyscale*worldPosition.xyz;\n \n gl_Position = skyscale*projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n gl_Position.z = gl_Position.w; // set z to camera.far\n \n vSunDirection = normalize( sunPosition );// 归一化\n float sun_up = dot( vSunDirection, up );\n \n vSunE = sunIntensity( sun_up );\n vSunfade = 1.0 - clamp( 1.0 - exp( ( sun_up ) ), 0.0, 1.0 );// 太阳照射范围\n \n float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );\n vBetaR = totalRayleigh * rayleighCoefficient;// 瑞利系数\n }\n ",fragmentShader:"\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n \n \n // 太阳\n uniform vec3 sun_color;// 太阳颜色\n uniform float sunAngularDiameter;// 太阳角直径,默认为0.505度\n uniform float mieDirectionalG;// 米式散射因子-方向光高光\n uniform float Exposure;// 色调映射曝光\n \n // 天空\n uniform float skyscale;\n uniform float turbidity;// 浑浊度\n uniform float skylineF;// 天际线\n uniform float rayleigh;// 瑞利散射\n uniform float mieCoefficient;// 米氏因子(白)\n uniform vec3 skyGlowColor;// 天空霞光颜色\n uniform vec3 sunGlowColor;// 太阳霞光颜色\n uniform vec3 backSkyColor;// 背面天空颜色\n uniform vec3 up;// 相机上方\n \n // 云朵\n uniform sampler2D map;// 云噪声图\n uniform float uTime;// 时间\n uniform float weaken;// 采样衰减因子\n uniform float THICKNESS;// 云厚度\n uniform int N_LIGHT_STEPS;// 光照计算迭代次数\n uniform float curve;// 坐标高度曲率\n uniform float speed;// 风速\n uniform vec3 wind;// 风向\n uniform float coverage;// 覆盖率\n uniform float ABSORPTION;// 云的光线吸收率\n uniform float mult;//位置变换系数,控制局部变化翻滚\n uniform int N_MARCH_STEPS;// 云厚度迭代次数\n \n // 雾\n uniform float fogDensity;// 雾密度\n uniform vec3 fogColor;// 雾颜色\n \n varying vec3 vWorldPosition;// 当前片元的坐标(已转换)\n varying vec3 vSunDirection;// 太阳方向\n varying float vSunfade;// 边缘褪色-影响阳光范围\n varying vec3 vBetaR;// 瑞利散射\n varying float vSunE;// 光强\n \n // 云--------------------------------------------------------------------------\n const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 );// 相机位置\n const float pi = 3.141592653589793238462643383279502884197169;\n const float TWO_PI = 6.28318530717958648;\n \n // 生成3D噪声\n float noise3D(vec3 p){return texture(map, p.xz).x;}// 采集噪声值\n \n // 3*3采样位置变换矩阵\n const mat3 m = mat3(0.00, 0.80, 0.60, -0.80, 0.36, -0.48, -0.60, -0.48, 0.64);\n \n // 计算叠加噪声值(模拟分形布朗克运动)\n float fbm(vec3 p)\n {\n float t=0.;\n float a=pow(weaken,0.01);// 初始系数\n \n for (int i=0; i<6; i++){\n t += a * noise3D(p);\n p = m * p * mult;\n a *= weaken;\n }\n \n return t;\n }\n \n // 云密度(返回 pos 位置的云密度值)cov为密度阈值参数\n float cloud_density(vec3 pos, float cov)\n {\n float dens = fbm(pos);// 修改\n return smoothstep(cov, 1., dens);// 阈值缩放\n }\n \n // 云亮度计算\n float cloud_light(vec3 pos, vec3 sundir_step, float cov)\n {\n float T = 1.0;// 透明度,transmitance\n float dens;// 密度\n float T_i;// 透射率\n \n for(int i = 0;i<N_LIGHT_STEPS; i++ )\n {\n dens = cloud_density(pos, cov);\n T_i = exp(-ABSORPTION * dens);\n T *= T_i;\n pos += sundir_step;\n }\n T = clamp(T, 0., 1.);\n return T;\n }\n \n // 云渲染(根据天空(云)坐标和视角方向计算当前方向的云颜色值和透明度)\n vec4 render_clouds(vec3 rayOrigin, vec3 rayDirection)\n {\n float march_step = (THICKNESS+.0002)/float(N_MARCH_STEPS);// 云迭代步长\n vec3 pos = rayOrigin +speed* vec3(uTime * wind.x, uTime*wind.y, uTime * wind.z);// 云初始位置\n vec3 dir_step = rayDirection * march_step;// 计算云迭代方向步长\n \n vec3 light_step = normalize(vSunDirection-cameraPos)*march_step;// 光线迭代步长\n \n float T = 1.0;// 云初始透明度\n vec3 C = vec3(0.0);// 云初始颜色\n float alpha = 0.0;// 初始不透明度\n float dens;// 密度\n float T_i;// 透射率\n float cloudLight;// 云透光率\n \n for(int i = 0; i<N_MARCH_STEPS; i++ )\n {\n dens = cloud_density(pos, 1.-coverage);// 密度\n \n T_i = exp(-ABSORPTION * dens * march_step);// 累积系数\n T *= T_i;// 累积透明度\n cloudLight = cloud_light(pos, light_step, 1.-coverage);// 云透光率(实现太阳照到云的高亮)\n C += T * cloudLight * dens * march_step;//累加片元颜色\n C = mix(C * 0.9, C, clamp(cloudLight, 0.0, 1.0));//颜色混合(阴影)\n alpha += (1.0-T_i) * (1.0-alpha);// 片元颜色透明度\n if (alpha > .99) break;// 透明度接近1,提前退出循环节省性能开销\n pos += dir_step;\n }\n \n return vec4(C, alpha);\n }\n \n // 天空----------------------------------------------------------------------------------------\n const float rayleighZenithLength = 8.4E3;// 瑞利光程\n const float mieZenithLength = 1.25E3;// 米氏光程\n const float THREE_OVER_SIXTEENPI = 0.05968310365946075;// 3.0 / ( 16.0 * pi )\n const float ONE_OVER_FOURPI = 0.07957747154594767;// 1.0 / ( 4.0 * pi )\n const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );// RGB米氏散射值\n \n // 瑞利散射相位因子\n float rayleighPhase( float cosTheta ) {return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );}\n \n // 米氏散射相位因子\n float hgPhase( float cosTheta, float g ) {\n float g2 = pow( g, 2.0 );\n float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );\n return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );\n }\n \n // 米氏散射计算\n vec3 totalMie( float T ) {\n float c = ( 0.2 * T ) * 10E-18;\n return 0.434 * c * MieConst;\n }\n \n // 色彩逆映射\n vec3 ReRRTAndODTFit( vec3 color ) {\n vec3 ret;\n ret = -(sqrt(10.0)*sqrt((-187345541948750.0*pow(color,vec3(2.0)))+232671271403227.0*color+241563894490.0)+21647550.0*color-1228930.0)/(98372900.0*color-100000000.0);\n return ret;\n }\n \n // 色调逆映射\n vec3 ReACESToneMapping( vec3 color ) {\n mat3 InputM_I = mat3(1.76474, -0.14703, -0.03634, \n -0.67578, 1.16025, -0.16244,\n -0.08896, -0.01322, 1.19877);\n mat3 Output_I = mat3(0.64304, 0.05927, 0.005962,\n 0.31119, 0.93144, 0.06393,\n 0.04578, 0.00929, 0.93012);\n \n vec3 ret;\n ret = InputM_I * ReRRTAndODTFit(Output_I * color)* 0.6 / Exposure;\n return ret;\n }\n \n void main() {\n vec3 direction = normalize( vWorldPosition - cameraPos );\n float view = smoothstep( 0.0, 1.0, dot( up, direction ) );// 0~1\n float zenithAngle = acos( max( 0.0, dot( up, direction ) ) );\n float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );\n float sR = rayleighZenithLength * inverse;// 瑞利天顶长度\n float sM = mieZenithLength * inverse;// 米式天顶长度\n float sun_up = smoothstep(0., 1., dot( up, vSunDirection ));\n \n // 云\n vec3 pos = normalize( vWorldPosition);//将立方体坐标转换为网格球体 \n vec4 cld = vec4(1., 1., 1., 1.);\n float d_factor = 1. - smoothstep(0., skylineF, pos.y);// 天际线距离因子,近小远大\n if (pos.y>0.)// 只计算地平线(0.)以上的云\n {\n float df = 1. / (curve*pos.y + .1);// 坐标距离因子,近小远大\n vec3 posS = .4*df*pos;// 云(天空)坐标\n \n vec3 raydir = normalize(posS - cameraPos);// 云(天空)方向\n cld = render_clouds(posS, raydir);\n }\n \n // 米氏系数mie coefficients\t\t\n vec3 vBetaM = totalMie( turbidity )*mieCoefficient;// 天空米式系数\n \n // 联合消光(散射)因子combined extinction factor\n vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );// 天空\n vec3 Fex_c = exp( -( vBetaR * sR + vBetaM * sM * (10000. * cld.a + 1.))/2. );// 云\n \n float cosTheta = dot( direction, vSunDirection );//片元方向和太阳方向的夹角余弦\n \n // 太阳\n float sunAngularDiameterCos = cos( sunAngularDiameter * pi / 180. );// 太阳角直径余弦\n float sundisk = smoothstep( sunAngularDiameterCos, 1., cosTheta );// 太阳圆盘\n vec3 suncolor = vSunE * 19000. * Fex * sundisk;// 圆盘颜色\n suncolor *= 1. - smoothstep(0., 1., cld.a*2000.);// 云遮挡\n \n // 瑞利散射\n float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );//瑞利相位,取值:0.736~1.178\n vec3 betaRTheta = vBetaR * rPhase;// 天空的瑞利散射\n vec3 cloudBetaR = vBetaR * rPhase;// 云的瑞利散射\n \n // 米氏散射\n float a = 1. - smoothstep(0., 1., cld.a*2000.);// 单散射的反射率\n float mPhase = a*hgPhase( cosTheta, mieDirectionalG );\n vec3 betaMTheta = vBetaM * mPhase;\n \n // 天空颜色\n vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 3.5 ) );//天空颜色蓝度1.5\n Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5. ), 0.0, 1.0 ) );\n \n vec3 L0 = vec3( 0.1 ) * Fex;// 天空底色(夜空)\n \n // 云颜色\n vec3 cloud = pow( vSunE * ( ( cloudBetaR + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex_c ), vec3( 1.5 ) );//天空颜色蓝度1.5\n cloud *= mix( vec3( 1.0 ), pow( vSunE * ( ( cloudBetaR + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex_c, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5. ), 0.0, 1.0 ) );\n cloud *= 1. + cld.xyz*2000.;// 云阴影\n \n // 早晚霞\n vec3 delta2 = pow(pos.xyz-vSunDirection.xyz, vec3(2.));\n vec2 glowRange = vec2(4., 0.5);\n vec2 R = vec2(delta2.x+delta2.z, delta2.y) / glowRange;\n float deltaR = R.x+R.y;// 晚霞范围(椭圆)\n float f = 1.-smoothstep(0., 0.26, sun_up);\n vec3 cloudGlow = ReACESToneMapping(skyGlowColor);\n cloud = mix(cloud, cloudGlow, f);// 基础红霞\n if (pos.y>0. && deltaR < 1.){\n vec3 sunFixColor = ReACESToneMapping(sunGlowColor);\n cloud = mix(cloud, sunFixColor, f*(1.-deltaR));\n }\n \n vec3 bluecolor = vec3( 0.0002, 0.00045, 0.0008 );// 蓝天修正偏移色\n \n vec3 texColor = ( Lin + L0 ) * 0.04 + bluecolor;// Lin为蓝色天空,L0为夜空底色;\n vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );\n \n cloud = mix(cloud, retColor, clamp(d_factor, 0., 1.));//云天际线颜色\n retColor = mix(retColor+suncolor, cloud, clamp((cld.a)*2000.,0.,1.));// 混合云和天空颜色\n \n vec3 backcolor = ReACESToneMapping(backSkyColor);// 背景色色调映射\n // vec3 backcolor = ReACESToneMapping(sRGBToLinear(vec4(backSkyColor,1.0)).rgb);// 背景色色调映射\n \n // backcolor = sRGBToLinear(vec4(backcolor,1.0)).rgb;// 转换为线性空间\n if (pos.y < 0.){retColor = mix(backcolor, retColor, pow(1.+pos.y, 30.));}// 地面阴影\n vec3 fog_Color = ReACESToneMapping(fogColor);\n retColor = mix(retColor, fog_Color, fogDensity);// 雾效果\n retColor = clamp(retColor, 0., 14.);// 颜色范围\n \n gl_FragColor = vec4(retColor, 1.0);// 输出片元颜色\n #include <tonemapping_fragment>\n #include <colorspace_fragment>\n }\n "},i=new n.ShaderMaterial({name:"SkyShader",fragmentShader:a.fragmentShader,vertexShader:a.vertexShader,uniforms:n.UniformsUtils.clone(a.uniforms),side:n.BackSide,depthWrite:!1});class r extends n.Mesh{PARAMETERS=o;material=i;SHADER_UNIFORMS=t;sun=new n.Vector3;renderer;scene;pmremGenerator;renderTarget;isSky;constructor(o){super(new n.SphereGeometry(1,32,16),i),this.renderer=o.renderer,this.scene=o.scene;const t=o.url||"../../public/texture/yun_noise.png",a=(new n.TextureLoader).load(t);a.anisotropy=16,a.wrapS=n.RepeatWrapping,a.wrapT=n.RepeatWrapping,a.flipY=!1,a.minFilter=n.LinearFilter,a.magFilter=n.LinearFilter,a.generateMipmaps=!1,this.material.uniforms.map.value=a,this.pmremGenerator=new e.PMREMGenerator(this.renderer),this.pmremGenerator.compileEquirectangularShader(),this.updateSun(),this.isSky=!0}updateSun(){const e=this.material.uniforms,o=n.MathUtils.degToRad(90-this.PARAMETERS.elevation),t=n.MathUtils.degToRad(this.PARAMETERS.azimuth);this.sun.setFromSphericalCoords(1,o,t),e.sunPosition.value.copy(this.sun),new n.Vector3(0,1,0).dot(this.sun.normalize()),e.turbidity.value=this.PARAMETERS.turbidity,e.rayleigh.value=this.PARAMETERS.rayleigh,e.mieCoefficient.value=this.PARAMETERS.mieCoefficient,e.mieDirectionalG.value=this.PARAMETERS.mieDirectionalG,e.sunAngularDiameter.value=.505*this.PARAMETERS.sunSize,e.mult.value=this.PARAMETERS.mult,e.THICKNESS.value=this.PARAMETERS.THICKNESS/this.PARAMETERS.scale,e.ABSORPTION.value=this.PARAMETERS.ABSORPTION,e.N_MARCH_STEPS.value=this.PARAMETERS.N_MARCH_STEPS,e.N_LIGHT_STEPS.value=this.PARAMETERS.N_LIGHT_STEPS,e.weaken.value=this.PARAMETERS.weaken,e.coverage.value=this.PARAMETERS.coverage,e.speed.value=this.PARAMETERS.speed/10,e.wind.value=new n.Vector3(this.PARAMETERS.xfactor,this.PARAMETERS.yfactor,this.PARAMETERS.zfactor),e.skylineF.value=this.PARAMETERS.skylineF,e.curve.value=1-this.PARAMETERS.curve,this.scale.setScalar(this.PARAMETERS.scale),this.scene&&this.renderer&&this.pmremGenerator}update(e){this.material.uniforms.uTime.value=e}}exports.DynamicSky=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{PMREMGenerator as n}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Color as e,Vector3 as o,ShaderMaterial as t,BackSide as a,UniformsUtils as i,Mesh as r,SphereGeometry as l,TextureLoader as s,RepeatWrapping as c,LinearFilter as u,MathUtils as v}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const f={uTime:0,scale:6371.393,mult:.2,weaken:.15,THICKNESS:6,ABSORPTION:.45,N_MARCH_STEPS:12,N_LIGHT_STEPS:3,coverage:.5,sunSize:1,skylineF:.2,curve:.3,speed:3.8,xfactor:-.3,yfactor:.3,zfactor:.1,turbidity:10,rayleigh:.4,mieCoefficient:.005,mieDirectionalG:1,elevation:45,azimuth:180,exposure:1,distortionScale:3.7,size:1},m={sun_color:{value:new e(1,0,0)},sunAngularDiameter:{value:.505},Intensity:{value:1},sunPosition:{value:new o},mieDirectionalG:{value:1},Exposure:{value:1},skyscale:{value:1},turbidity:{value:10},skylineF:{value:.2},rayleigh:{value:.4},mieCoefficient:{value:.005},skyGlowColor:{value:new e(1,.5,.5)},sunGlowColor:{value:new e(.9216,.2431,.1059)},backSkyColor:{value:new e(.1,.1,.1)},up:{value:new o(0,1,0)},map:{value:null},uTime:{value:1},weaken:{value:.15},THICKNESS:{value:.001},N_LIGHT_STEPS:{value:3},curve:{value:.3},speed:{value:3.8},wind:{value:new o(.3,.1,.3)},coverage:{value:.5},ABSORPTION:{value:.45},mult:{value:.2},N_MARCH_STEPS:{value:12},fogColor:{value:new e(.7,.7,.7)},fogDensity:{value:1e-4}},p={uniforms:m,vertexShader:"\n // 太阳\n uniform float Intensity;// 亮度\n uniform vec3 sunPosition;// 太阳位置\n \n // 天空\n uniform float skyscale;\n uniform float rayleigh;// 瑞利散射\n uniform vec3 up;// 相机上方\n \n varying vec3 vWorldPosition;// 世界坐标\n varying vec3 vSunDirection;// 阳光方向\n varying float vSunfade;// 太阳照射范围\n varying vec3 vBetaR;// 瑞利系数\n varying float vSunE;// 阳光强度\n \n // 相关常数\n const float e = 2.71828182845904523536028747135266249775724709369995957;\n const float pi = 3.141592653589793238462643383279502884197169;\n const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );// RGB瑞利散射\n const float cutoffAngle = 1.6110731556870734;\n const float steepness = 1.5;\n const float EE = 1000.0;\n \n float sunIntensity( float zenithAngleCos ) {\n zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );\n return Intensity * EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) );\n }\n \n void main() {\n vec4 worldPosition = skyscale*modelMatrix * vec4( position, 1.0 );\n vWorldPosition = skyscale*worldPosition.xyz;\n \n gl_Position = skyscale*projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n gl_Position.z = gl_Position.w; // set z to camera.far\n \n vSunDirection = normalize( sunPosition );// 归一化\n float sun_up = dot( vSunDirection, up );\n \n vSunE = sunIntensity( sun_up );\n vSunfade = 1.0 - clamp( 1.0 - exp( ( sun_up ) ), 0.0, 1.0 );// 太阳照射范围\n \n float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );\n vBetaR = totalRayleigh * rayleighCoefficient;// 瑞利系数\n }\n ",fragmentShader:"\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n \n \n // 太阳\n uniform vec3 sun_color;// 太阳颜色\n uniform float sunAngularDiameter;// 太阳角直径,默认为0.505度\n uniform float mieDirectionalG;// 米式散射因子-方向光高光\n uniform float Exposure;// 色调映射曝光\n \n // 天空\n uniform float skyscale;\n uniform float turbidity;// 浑浊度\n uniform float skylineF;// 天际线\n uniform float rayleigh;// 瑞利散射\n uniform float mieCoefficient;// 米氏因子(白)\n uniform vec3 skyGlowColor;// 天空霞光颜色\n uniform vec3 sunGlowColor;// 太阳霞光颜色\n uniform vec3 backSkyColor;// 背面天空颜色\n uniform vec3 up;// 相机上方\n \n // 云朵\n uniform sampler2D map;// 云噪声图\n uniform float uTime;// 时间\n uniform float weaken;// 采样衰减因子\n uniform float THICKNESS;// 云厚度\n uniform int N_LIGHT_STEPS;// 光照计算迭代次数\n uniform float curve;// 坐标高度曲率\n uniform float speed;// 风速\n uniform vec3 wind;// 风向\n uniform float coverage;// 覆盖率\n uniform float ABSORPTION;// 云的光线吸收率\n uniform float mult;//位置变换系数,控制局部变化翻滚\n uniform int N_MARCH_STEPS;// 云厚度迭代次数\n \n // 雾\n uniform float fogDensity;// 雾密度\n uniform vec3 fogColor;// 雾颜色\n \n varying vec3 vWorldPosition;// 当前片元的坐标(已转换)\n varying vec3 vSunDirection;// 太阳方向\n varying float vSunfade;// 边缘褪色-影响阳光范围\n varying vec3 vBetaR;// 瑞利散射\n varying float vSunE;// 光强\n \n // 云--------------------------------------------------------------------------\n const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 );// 相机位置\n const float pi = 3.141592653589793238462643383279502884197169;\n const float TWO_PI = 6.28318530717958648;\n \n // 生成3D噪声\n float noise3D(vec3 p){return texture(map, p.xz).x;}// 采集噪声值\n \n // 3*3采样位置变换矩阵\n const mat3 m = mat3(0.00, 0.80, 0.60, -0.80, 0.36, -0.48, -0.60, -0.48, 0.64);\n \n // 计算叠加噪声值(模拟分形布朗克运动)\n float fbm(vec3 p)\n {\n float t=0.;\n float a=pow(weaken,0.01);// 初始系数\n \n for (int i=0; i<6; i++){\n t += a * noise3D(p);\n p = m * p * mult;\n a *= weaken;\n }\n \n return t;\n }\n \n // 云密度(返回 pos 位置的云密度值)cov为密度阈值参数\n float cloud_density(vec3 pos, float cov)\n {\n float dens = fbm(pos);// 修改\n return smoothstep(cov, 1., dens);// 阈值缩放\n }\n \n // 云亮度计算\n float cloud_light(vec3 pos, vec3 sundir_step, float cov)\n {\n float T = 1.0;// 透明度,transmitance\n float dens;// 密度\n float T_i;// 透射率\n \n for(int i = 0;i<N_LIGHT_STEPS; i++ )\n {\n dens = cloud_density(pos, cov);\n T_i = exp(-ABSORPTION * dens);\n T *= T_i;\n pos += sundir_step;\n }\n T = clamp(T, 0., 1.);\n return T;\n }\n \n // 云渲染(根据天空(云)坐标和视角方向计算当前方向的云颜色值和透明度)\n vec4 render_clouds(vec3 rayOrigin, vec3 rayDirection)\n {\n float march_step = (THICKNESS+.0002)/float(N_MARCH_STEPS);// 云迭代步长\n vec3 pos = rayOrigin +speed* vec3(uTime * wind.x, uTime*wind.y, uTime * wind.z);// 云初始位置\n vec3 dir_step = rayDirection * march_step;// 计算云迭代方向步长\n \n vec3 light_step = normalize(vSunDirection-cameraPos)*march_step;// 光线迭代步长\n \n float T = 1.0;// 云初始透明度\n vec3 C = vec3(0.0);// 云初始颜色\n float alpha = 0.0;// 初始不透明度\n float dens;// 密度\n float T_i;// 透射率\n float cloudLight;// 云透光率\n \n for(int i = 0; i<N_MARCH_STEPS; i++ )\n {\n dens = cloud_density(pos, 1.-coverage);// 密度\n \n T_i = exp(-ABSORPTION * dens * march_step);// 累积系数\n T *= T_i;// 累积透明度\n cloudLight = cloud_light(pos, light_step, 1.-coverage);// 云透光率(实现太阳照到云的高亮)\n C += T * cloudLight * dens * march_step;//累加片元颜色\n C = mix(C * 0.9, C, clamp(cloudLight, 0.0, 1.0));//颜色混合(阴影)\n alpha += (1.0-T_i) * (1.0-alpha);// 片元颜色透明度\n if (alpha > .99) break;// 透明度接近1,提前退出循环节省性能开销\n pos += dir_step;\n }\n \n return vec4(C, alpha);\n }\n \n // 天空----------------------------------------------------------------------------------------\n const float rayleighZenithLength = 8.4E3;// 瑞利光程\n const float mieZenithLength = 1.25E3;// 米氏光程\n const float THREE_OVER_SIXTEENPI = 0.05968310365946075;// 3.0 / ( 16.0 * pi )\n const float ONE_OVER_FOURPI = 0.07957747154594767;// 1.0 / ( 4.0 * pi )\n const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );// RGB米氏散射值\n \n // 瑞利散射相位因子\n float rayleighPhase( float cosTheta ) {return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );}\n \n // 米氏散射相位因子\n float hgPhase( float cosTheta, float g ) {\n float g2 = pow( g, 2.0 );\n float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );\n return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );\n }\n \n // 米氏散射计算\n vec3 totalMie( float T ) {\n float c = ( 0.2 * T ) * 10E-18;\n return 0.434 * c * MieConst;\n }\n \n // 色彩逆映射\n vec3 ReRRTAndODTFit( vec3 color ) {\n vec3 ret;\n ret = -(sqrt(10.0)*sqrt((-187345541948750.0*pow(color,vec3(2.0)))+232671271403227.0*color+241563894490.0)+21647550.0*color-1228930.0)/(98372900.0*color-100000000.0);\n return ret;\n }\n \n // 色调逆映射\n vec3 ReACESToneMapping( vec3 color ) {\n mat3 InputM_I = mat3(1.76474, -0.14703, -0.03634, \n -0.67578, 1.16025, -0.16244,\n -0.08896, -0.01322, 1.19877);\n mat3 Output_I = mat3(0.64304, 0.05927, 0.005962,\n 0.31119, 0.93144, 0.06393,\n 0.04578, 0.00929, 0.93012);\n \n vec3 ret;\n ret = InputM_I * ReRRTAndODTFit(Output_I * color)* 0.6 / Exposure;\n return ret;\n }\n \n void main() {\n vec3 direction = normalize( vWorldPosition - cameraPos );\n float view = smoothstep( 0.0, 1.0, dot( up, direction ) );// 0~1\n float zenithAngle = acos( max( 0.0, dot( up, direction ) ) );\n float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );\n float sR = rayleighZenithLength * inverse;// 瑞利天顶长度\n float sM = mieZenithLength * inverse;// 米式天顶长度\n float sun_up = smoothstep(0., 1., dot( up, vSunDirection ));\n \n // 云\n vec3 pos = normalize( vWorldPosition);//将立方体坐标转换为网格球体 \n vec4 cld = vec4(1., 1., 1., 1.);\n float d_factor = 1. - smoothstep(0., skylineF, pos.y);// 天际线距离因子,近小远大\n if (pos.y>0.)// 只计算地平线(0.)以上的云\n {\n float df = 1. / (curve*pos.y + .1);// 坐标距离因子,近小远大\n vec3 posS = .4*df*pos;// 云(天空)坐标\n \n vec3 raydir = normalize(posS - cameraPos);// 云(天空)方向\n cld = render_clouds(posS, raydir);\n }\n \n // 米氏系数mie coefficients\t\t\n vec3 vBetaM = totalMie( turbidity )*mieCoefficient;// 天空米式系数\n \n // 联合消光(散射)因子combined extinction factor\n vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );// 天空\n vec3 Fex_c = exp( -( vBetaR * sR + vBetaM * sM * (10000. * cld.a + 1.))/2. );// 云\n \n float cosTheta = dot( direction, vSunDirection );//片元方向和太阳方向的夹角余弦\n \n // 太阳\n float sunAngularDiameterCos = cos( sunAngularDiameter * pi / 180. );// 太阳角直径余弦\n float sundisk = smoothstep( sunAngularDiameterCos, 1., cosTheta );// 太阳圆盘\n vec3 suncolor = vSunE * 19000. * Fex * sundisk;// 圆盘颜色\n suncolor *= 1. - smoothstep(0., 1., cld.a*2000.);// 云遮挡\n \n // 瑞利散射\n float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );//瑞利相位,取值:0.736~1.178\n vec3 betaRTheta = vBetaR * rPhase;// 天空的瑞利散射\n vec3 cloudBetaR = vBetaR * rPhase;// 云的瑞利散射\n \n // 米氏散射\n float a = 1. - smoothstep(0., 1., cld.a*2000.);// 单散射的反射率\n float mPhase = a*hgPhase( cosTheta, mieDirectionalG );\n vec3 betaMTheta = vBetaM * mPhase;\n \n // 天空颜色\n vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 3.5 ) );//天空颜色蓝度1.5\n Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5. ), 0.0, 1.0 ) );\n \n vec3 L0 = vec3( 0.1 ) * Fex;// 天空底色(夜空)\n \n // 云颜色\n vec3 cloud = pow( vSunE * ( ( cloudBetaR + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex_c ), vec3( 1.5 ) );//天空颜色蓝度1.5\n cloud *= mix( vec3( 1.0 ), pow( vSunE * ( ( cloudBetaR + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex_c, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5. ), 0.0, 1.0 ) );\n cloud *= 1. + cld.xyz*2000.;// 云阴影\n \n // 早晚霞\n vec3 delta2 = pow(pos.xyz-vSunDirection.xyz, vec3(2.));\n vec2 glowRange = vec2(4., 0.5);\n vec2 R = vec2(delta2.x+delta2.z, delta2.y) / glowRange;\n float deltaR = R.x+R.y;// 晚霞范围(椭圆)\n float f = 1.-smoothstep(0., 0.26, sun_up);\n vec3 cloudGlow = ReACESToneMapping(skyGlowColor);\n cloud = mix(cloud, cloudGlow, f);// 基础红霞\n if (pos.y>0. && deltaR < 1.){\n vec3 sunFixColor = ReACESToneMapping(sunGlowColor);\n cloud = mix(cloud, sunFixColor, f*(1.-deltaR));\n }\n \n vec3 bluecolor = vec3( 0.0002, 0.00045, 0.0008 );// 蓝天修正偏移色\n \n vec3 texColor = ( Lin + L0 ) * 0.04 + bluecolor;// Lin为蓝色天空,L0为夜空底色;\n vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );\n \n cloud = mix(cloud, retColor, clamp(d_factor, 0., 1.));//云天际线颜色\n retColor = mix(retColor+suncolor, cloud, clamp((cld.a)*2000.,0.,1.));// 混合云和天空颜色\n \n vec3 backcolor = ReACESToneMapping(backSkyColor);// 背景色色调映射\n // vec3 backcolor = ReACESToneMapping(sRGBToLinear(vec4(backSkyColor,1.0)).rgb);// 背景色色调映射\n \n // backcolor = sRGBToLinear(vec4(backcolor,1.0)).rgb;// 转换为线性空间\n if (pos.y < 0.){retColor = mix(backcolor, retColor, pow(1.+pos.y, 30.));}// 地面阴影\n vec3 fog_Color = ReACESToneMapping(fogColor);\n retColor = mix(retColor, fog_Color, fogDensity);// 雾效果\n retColor = clamp(retColor, 0., 14.);// 颜色范围\n \n gl_FragColor = vec4(retColor, 1.0);// 输出片元颜色\n #include <tonemapping_fragment>\n #include <colorspace_fragment>\n }\n "},d=new t({name:"SkyShader",fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:i.clone(p.uniforms),side:a,depthWrite:!1});class h extends r{PARAMETERS=f;material=d;SHADER_UNIFORMS=m;sun=new o;renderer;scene;pmremGenerator;renderTarget;isSky;constructor(e){super(new l(1,32,16),d),this.renderer=e.renderer,this.scene=e.scene;const o=e.url||"../../public/texture/yun_noise.png",t=(new s).load(o);t.anisotropy=16,t.wrapS=c,t.wrapT=c,t.flipY=!1,t.minFilter=u,t.magFilter=u,t.generateMipmaps=!1,this.material.uniforms.map.value=t,this.pmremGenerator=new n(this.renderer),this.pmremGenerator.compileEquirectangularShader(),this.updateSun(),this.isSky=!0}updateSun(){const n=this.material.uniforms,e=v.degToRad(90-this.PARAMETERS.elevation),t=v.degToRad(this.PARAMETERS.azimuth);this.sun.setFromSphericalCoords(1,e,t),n.sunPosition.value.copy(this.sun),new o(0,1,0).dot(this.sun.normalize()),n.turbidity.value=this.PARAMETERS.turbidity,n.rayleigh.value=this.PARAMETERS.rayleigh,n.mieCoefficient.value=this.PARAMETERS.mieCoefficient,n.mieDirectionalG.value=this.PARAMETERS.mieDirectionalG,n.sunAngularDiameter.value=.505*this.PARAMETERS.sunSize,n.mult.value=this.PARAMETERS.mult,n.THICKNESS.value=this.PARAMETERS.THICKNESS/this.PARAMETERS.scale,n.ABSORPTION.value=this.PARAMETERS.ABSORPTION,n.N_MARCH_STEPS.value=this.PARAMETERS.N_MARCH_STEPS,n.N_LIGHT_STEPS.value=this.PARAMETERS.N_LIGHT_STEPS,n.weaken.value=this.PARAMETERS.weaken,n.coverage.value=this.PARAMETERS.coverage,n.speed.value=this.PARAMETERS.speed/10,n.wind.value=new o(this.PARAMETERS.xfactor,this.PARAMETERS.yfactor,this.PARAMETERS.zfactor),n.skylineF.value=this.PARAMETERS.skylineF,n.curve.value=1-this.PARAMETERS.curve,this.scale.setScalar(this.PARAMETERS.scale),this.scene&&this.renderer&&this.pmremGenerator}update(n){this.material.uniforms.uTime.value=n}}export{h as DynamicSky};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var t=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const i={color:new t.Color(16777215),intensity:1,position:new t.Vector3(30,30,-20)};class s extends t.DirectionalLight{constructor(t="",s={},e){const{color:o,intensity:h,position:a}={...i,...s};super(o,h),this.name=t,this.position.copy(a),this.initShadowConfig(),e.add(this)}initShadowConfig(){this.castShadow=!0,this.shadow.intensity=1,this.shadow.mapSize.width=2048,this.shadow.mapSize.height=2048,this.shadow.camera.near=.5,this.shadow.camera.far=50,this.shadow.bias=-1e-4,this.shadow.radius=1,this.shadow.bias=-1e-4,this.shadow.normalBias=.007,this.shadow.camera.left=-100,this.shadow.camera.right=100,this.shadow.camera.top=100,this.shadow.camera.bottom=-100}}exports.DirectionalLightBuilder=s,exports.createDirectionalLight=function(t="",i={},e){return new s(t,i,e)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Vector3 as s,Color as t,DirectionalLight as o}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const i={color:new t(16777215),intensity:1,position:new s(30,30,-20)};class e extends o{constructor(s="",t={},o){const{color:e,intensity:h,position:a}={...i,...t};super(e,h),this.name=s,this.position.copy(a),this.initShadowConfig(),o.add(this)}initShadowConfig(){this.castShadow=!0,this.shadow.intensity=1,this.shadow.mapSize.width=2048,this.shadow.mapSize.height=2048,this.shadow.camera.near=.5,this.shadow.camera.far=50,this.shadow.bias=-1e-4,this.shadow.radius=1,this.shadow.bias=-1e-4,this.shadow.normalBias=.007,this.shadow.camera.left=-100,this.shadow.camera.right=100,this.shadow.camera.top=100,this.shadow.camera.bottom=-100}}function h(s="",t={},o){return new e(s,t,o)}export{e as DirectionalLightBuilder,h as createDirectionalLight};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var e=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const i={color:new e.Color(16777215),intensity:1,position:new e.Vector3(30,30,-20),distance:0,decay:2};class s extends e.PointLight{constructor(e="",s={},t){const{color:o,intensity:h,position:n,distance:a,decay:d}={...i,...s};super(o,h),this.name=e,this.distance=a,this.decay=d,this.position.copy(n),this.initShadowConfig(),t.add(this)}initShadowConfig(){this.castShadow=!0,this.shadow.intensity=1,this.shadow.mapSize.width=2048,this.shadow.mapSize.height=2048,this.shadow.camera.near=.5,this.shadow.camera.far=50,this.shadow.bias=-1e-4,this.shadow.radius=1,this.shadow.bias=-1e-4,this.shadow.normalBias=.007}}exports.PointLightBuilder=s,exports.createPointLight=function(e="",i={},t){return new s(e,i,t)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Vector3 as s,Color as e,PointLight as i}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const t={color:new e(16777215),intensity:1,position:new s(30,30,-20),distance:0,decay:2};class o extends i{constructor(s="",e={},i){const{color:o,intensity:h,position:a,distance:n,decay:d}={...t,...e};super(o,h),this.name=s,this.distance=n,this.decay=d,this.position.copy(a),this.initShadowConfig(),i.add(this)}initShadowConfig(){this.castShadow=!0,this.shadow.intensity=1,this.shadow.mapSize.width=2048,this.shadow.mapSize.height=2048,this.shadow.camera.near=.5,this.shadow.camera.far=50,this.shadow.bias=-1e-4,this.shadow.radius=1,this.shadow.bias=-1e-4,this.shadow.normalBias=.007}}function h(s="",e={},i){return new o(s,e,i)}export{o as PointLightBuilder,h as createPointLight};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=require("./Builders/DirectionalLightBuilder.cjs.js"),t=require("./Builders/PointLightBuilder.cjs.js");const e={createDirectionalLight:i.createDirectionalLight,createPointLight:t.createPointLight};exports.DirectionalLightBuilder=i.DirectionalLightBuilder,exports.PointLightBuilder=t.PointLightBuilder,exports.LightBuilder=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createDirectionalLight as i}from"./Builders/DirectionalLightBuilder.esm.js";export{DirectionalLightBuilder}from"./Builders/DirectionalLightBuilder.esm.js";import{createPointLight as e}from"./Builders/PointLightBuilder.esm.js";export{PointLightBuilder}from"./Builders/PointLightBuilder.esm.js";const r={createDirectionalLight:i,createPointLight:e};export{r as LightBuilder};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("../../node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/mercator.cjs.js"),t=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const n={steps:1,depth:.2,bevelEnabled:!0,bevelThickness:.005,bevelSize:.004,bevelOffset:.01,bevelSegments:3},o=new t.MeshPhysicalMaterial({metalness:.8,roughness:.35,clearcoat:.5,clearcoatRoughness:.5,transparent:!0,opacity:1});exports.createExtrudeMap=function(r,s=n){const a=new t.Group,c=new t.Group,l=r.features,i=l[0].properties,d=e.default().center(i.center).scale(200).translate([0,0]);for(let e=0;e<l.length;e++){const r=l[e],s=r.geometry.coordinates,i=r.properties;for(let e=0;e<s.length;e++){const r=s[e];for(let e=0;e<r.length;e++){const s=r[e],l=new t.Shape;let p=new Array;s.forEach((e,n)=>{const[o,r]=d(e);0!==n?l.lineTo(o,-r):l.moveTo(o,-r),p.push(new t.Vector3(o,-r,.187))});const u=new t.BufferGeometry;u.setFromPoints(p);const m=new t.LineBasicMaterial({color:43248});let h=new t.Line(u,m);h.name=i.name,c.add(h);const w=new t.ExtrudeGeometry(l,n),f=o,g=o.clone();let b=new t.Mesh(w,[f,g]);const[v,y]=d(i.centroid||i.center);b.userData.position=new t.Vector3(v,-y,0),a.add(b),b.name=i.name}}}return{mapAreas:a,boundaryLines:c,mercatorConversion:d}},exports.mapMaterial=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"../../node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/mercator.esm.js";import{MeshPhysicalMaterial as n,Group as o,Shape as t,Vector3 as r,BufferGeometry as s,LineBasicMaterial as c,Line as a,ExtrudeGeometry as l,Mesh as m}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const d={steps:1,depth:.2,bevelEnabled:!0,bevelThickness:.005,bevelSize:.004,bevelOffset:.01,bevelSegments:3},p=new n({metalness:.8,roughness:.35,clearcoat:.5,clearcoatRoughness:.5,transparent:!0,opacity:1});function i(n,i=d){const u=new o,h=new o,w=n.features,f=w[0].properties,g=e().center(f.center).scale(200).translate([0,0]);for(let e=0;e<w.length;e++){const n=w[e],o=n.geometry.coordinates,i=n.properties;for(let e=0;e<o.length;e++){const n=o[e];for(let e=0;e<n.length;e++){const o=n[e],w=new t;let f=new Array;o.forEach((e,n)=>{const[o,t]=g(e);0!==n?w.lineTo(o,-t):w.moveTo(o,-t),f.push(new r(o,-t,.187))});const b=new s;b.setFromPoints(f);const v=new c({color:43248});let y=new a(b,v);y.name=i.name,h.add(y);const _=new l(w,d),j=p,T=p.clone();let A=new m(_,[j,T]);const[E,S]=g(i.centroid||i.center);A.userData.position=new r(E,-S,0),u.add(A),A.name=i.name}}}return{mapAreas:u,boundaryLines:h,mercatorConversion:g}}export{i as createExtrudeMap,p as mapMaterial};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./extrudeMap.cjs.js");const t={steps:1,depth:.18,bevelEnabled:!1};exports.PotatoMap=class{constructor(){}static createExtrudeMap(r,s=t){return e.createExtrudeMap(r,s)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createExtrudeMap as e}from"./extrudeMap.esm.js";const t={steps:1,depth:.18,bevelEnabled:!1};class r{constructor(){}static createExtrudeMap(r,s=t){return e(r,s)}}export{r as PotatoMap};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/renderers/CSS3DRenderer.cjs.js");require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var n=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");exports.MarkerHtmlUI=class{engine;css3dRenderer;box3=new n.Box3;isRender=!1;constructor(e){this.engine=e,this.initCSS3DRenderer()}initCSS3DRenderer(){this.isRender=!0;const{clientWidth:n,clientHeight:t}=this.engine.container;this.css3dRenderer=new e.CSS3DRenderer,this.css3dRenderer.setSize(n,t),this.css3dRenderer.domElement.style.position="absolute",this.css3dRenderer.domElement.style.top="0px",this.css3dRenderer.domElement.style.left="0px",this.css3dRenderer.domElement.style.pointerEvents="none",this.engine.container.appendChild(this.css3dRenderer.domElement),this.startRender()}render(){this.isRender&&this.css3dRenderer.render(this.engine.sceneGraph,this.engine.camera)}stopRender(){this.isRender=!1}startRender(){this.isRender=!0}createMarker(t,s,r="标题",i=.02,o="marker-body"){const d=document.createElement("div");d.style.fontSize="8px",d.classList.add(o);let l="";for(const e in s)l+=`<div style="disply: flex;flex-direction:column;margin-top: 0px;">\n <span style="font-family: '思源黑体'; color: rgb(177, 195, 212);font-size: 0.8rem;">${e}: </span>\n <span style="font-family: 'DINPRO-Bold';font-weight: 700; color: rgb(255, 255, 255);font-size: 1rem;">${s[e].value}</span>\n <span style="font-family: '微软雅黑';font-weight: 500; color: rgba(255, 255, 255, 0.7);font-size: 0.8rem;">${s[e].unit}</span>\n </div>`;const c=`\n <div style="font-size: 1rem;color: #fff;disply: flex:direction:column;align-items:center;">\n <span class="ui-button" style="font-family: 'DINPRO'; font-weight: 700; color: rgb(255, 255, 255);" >${r}</span>\n ${l}\n </div>\n `;d.innerHTML=c;const m=new e.CSS3DSprite(d);m.element.style.pointerEvents="none",m.scale.setScalar(i);const a=this.box3.setFromObject(t),h=new n.Vector3,p=new n.Vector3;a.getCenter(h),a.getSize(p);const f=t.getWorldPosition(new n.Vector3),{x:u,y:R,z:y}=f;return m.position.set(u,R+.005,y),m.name=s.name,m}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{CSS3DRenderer as e,CSS3DSprite as n}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/renderers/CSS3DRenderer.esm.js";import"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Box3 as t,Vector3 as s}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class r{engine;css3dRenderer;box3=new t;isRender=!1;constructor(e){this.engine=e,this.initCSS3DRenderer()}initCSS3DRenderer(){this.isRender=!0;const{clientWidth:n,clientHeight:t}=this.engine.container;this.css3dRenderer=new e,this.css3dRenderer.setSize(n,t),this.css3dRenderer.domElement.style.position="absolute",this.css3dRenderer.domElement.style.top="0px",this.css3dRenderer.domElement.style.left="0px",this.css3dRenderer.domElement.style.pointerEvents="none",this.engine.container.appendChild(this.css3dRenderer.domElement),this.startRender()}render(){this.isRender&&this.css3dRenderer.render(this.engine.sceneGraph,this.engine.camera)}stopRender(){this.isRender=!1}startRender(){this.isRender=!0}createMarker(e,t,r="标题",i=.02,o="marker-body"){const d=document.createElement("div");d.style.fontSize="8px",d.classList.add(o);let l="";for(const e in t)l+=`<div style="disply: flex;flex-direction:column;margin-top: 0px;">\n <span style="font-family: '思源黑体'; color: rgb(177, 195, 212);font-size: 0.8rem;">${e}: </span>\n <span style="font-family: 'DINPRO-Bold';font-weight: 700; color: rgb(255, 255, 255);font-size: 1rem;">${t[e].value}</span>\n <span style="font-family: '微软雅黑';font-weight: 500; color: rgba(255, 255, 255, 0.7);font-size: 0.8rem;">${t[e].unit}</span>\n </div>`;const m=`\n <div style="font-size: 1rem;color: #fff;disply: flex:direction:column;align-items:center;">\n <span class="ui-button" style="font-family: 'DINPRO'; font-weight: 700; color: rgb(255, 255, 255);" >${r}</span>\n ${l}\n </div>\n `;d.innerHTML=m;const c=new n(d);c.element.style.pointerEvents="none",c.scale.setScalar(i);const a=this.box3.setFromObject(e),h=new s,p=new s;a.getCenter(h),a.getSize(p);const f=e.getWorldPosition(new s),{x:R,y:y,z:g}=f;return c.position.set(R,y+.005,g),c.name=t.name,c}}export{r as MarkerHtmlUI};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var n=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const e="\n\nvarying vec3 vNormal;\n\n varying vec3 vPositionNormal;\n\n void main()\n\n {\n\n vNormal = normalize( normalMatrix * normal ); // 转换到视图空间\n\n vPositionNormal = normalize(( modelViewMatrix * vec4(position, 1.0) ).xyz);\n\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }",o="\n\nuniform vec3 glowColor;\n\n uniform float b;\n\n uniform float p;\n\n uniform float s;\n\n varying vec3 vNormal;\n\n varying vec3 vPositionNormal;\n\n void main()\n\n {\n\n float a = pow( b + s * abs(dot(vNormal, vPositionNormal)), p );\n\n gl_FragColor = vec4( glowColor, a );\n\n }\n",r={uniforms:{s:{type:"f",value:-1},b:{type:"f",value:1},p:{type:"f",value:2},glowColor:{type:"c",value:new n.Color(65535)}},vertexShader:e,fragmentShader:o,side:n.FrontSide,blending:n.AdditiveBlending,transparent:!0,depthTest:!1,depthWrite:!1},i=new n.ShaderMaterial(r);exports.FresnelMaterial=i,exports.fragmentShaderString=o,exports.options=r,exports.vertexShaderString=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Color as n,ShaderMaterial as o,AdditiveBlending as e,FrontSide as r}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const i="\n\nvarying vec3 vNormal;\n\n varying vec3 vPositionNormal;\n\n void main()\n\n {\n\n vNormal = normalize( normalMatrix * normal ); // 转换到视图空间\n\n vPositionNormal = normalize(( modelViewMatrix * vec4(position, 1.0) ).xyz);\n\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }",a="\n\nuniform vec3 glowColor;\n\n uniform float b;\n\n uniform float p;\n\n uniform float s;\n\n varying vec3 vNormal;\n\n varying vec3 vPositionNormal;\n\n void main()\n\n {\n\n float a = pow( b + s * abs(dot(vNormal, vPositionNormal)), p );\n\n gl_FragColor = vec4( glowColor, a );\n\n }\n",l={uniforms:{s:{type:"f",value:-1},b:{type:"f",value:1},p:{type:"f",value:2},glowColor:{type:"c",value:new n(65535)}},vertexShader:i,fragmentShader:a,side:r,blending:e,transparent:!0,depthTest:!1,depthWrite:!1},t=new o(l);export{t as FresnelMaterial,a as fragmentShaderString,l as options,i as vertexShaderString};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var o=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");class e extends o.ShaderMaterial{name="gradationMaterial";type="gradationMaterial";constructor(e={}){super();const{topColor:n,bottomColor:r}={topColor:2746086,bottomColor:1064821,...e};this.uniforms={topColor:{value:new o.Color(n)},botColor:{value:new o.Color(r)}},this.vertexShader="\n uniform vec3 topColor;\n uniform vec3 botColor;\n varying vec3 vColor;\n void main() {\n vec4 mvPosition = vec4( position, 1.0 );\n if(position.y > 0.0) {\n vColor = topColor;\n } else {\n vColor = botColor;\n }\n // 使用 instanceMesh使用必须进行设置 instanceMatrix\n // 否则 会出现 模型位置不生效\n //mvPosition = instanceMatrix * mvPosition;\n gl_Position = projectionMatrix * modelViewMatrix * mvPosition;\n }\n ",this.fragmentShader="\n varying vec3 vColor;\n \n void main() {\n gl_FragColor = vec4(vColor, 1.0);\n }\n "}}exports.GradationMaterial=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{ShaderMaterial as o,Color as n}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class e extends o{name="gradationMaterial";type="gradationMaterial";constructor(o={}){super();const{topColor:e,bottomColor:t}={topColor:2746086,bottomColor:1064821,...o};this.uniforms={topColor:{value:new n(e)},botColor:{value:new n(t)}},this.vertexShader="\n uniform vec3 topColor;\n uniform vec3 botColor;\n varying vec3 vColor;\n void main() {\n vec4 mvPosition = vec4( position, 1.0 );\n if(position.y > 0.0) {\n vColor = topColor;\n } else {\n vColor = botColor;\n }\n // 使用 instanceMesh使用必须进行设置 instanceMatrix\n // 否则 会出现 模型位置不生效\n //mvPosition = instanceMatrix * mvPosition;\n gl_Position = projectionMatrix * modelViewMatrix * mvPosition;\n }\n ",this.fragmentShader="\n varying vec3 vColor;\n \n void main() {\n gl_FragColor = vec4(vColor, 1.0);\n }\n "}}export{e as GradationMaterial};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var a=require("./GradationMaterial.cjs.js"),r=require("./FresnelMaterial.cjs.js");const e={GradationMaterial:a.GradationMaterial,FresnelMaterial:r.FresnelMaterial};exports.GradationMaterial=a.GradationMaterial,exports.FresnelMaterial=r.FresnelMaterial,exports.MaterialsLibrary=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{GradationMaterial as r}from"./GradationMaterial.esm.js";import{FresnelMaterial as a}from"./FresnelMaterial.esm.js";const e={GradationMaterial:r,FresnelMaterial:a};export{a as FresnelMaterial,r as GradationMaterial,e as MaterialsLibrary};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var e=require("../../../utils/Logger.cjs.js"),t=require("./MeshBuilder.cjs.js"),r=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const s={width:1,height:1,depth:1,widthSegments:1,heightSegments:1,depthSegments:1,material:new r.MeshPhongMaterial({color:16777215})};class o extends t.MeshBuilder{options=s;type="BoxBuilder";constructor(t="",r={},s){super(o.createGeometry(r),o.createMaterial(r)),this.name=t,this.options=r,s?s.add(this):e.Logger.error("BoxBuilder","Scene is not defined")}static createGeometry(e){const{width:t,height:o,depth:i,widthSegments:n,heightSegments:h,depthSegments:d}={...s,...e};return new r.BoxGeometry(t,o,i,n,h,d)}static createMaterial(e){const{material:t}={...s,...e};return t instanceof r.Material?t:new r.MeshPhongMaterial({color:16777215})}}exports.BoxBuilder=o,exports.createBox=function(e="",t=s,r){return new o(e,t,r)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Logger as e}from"../../../utils/Logger.esm.js";import{MeshBuilder as t}from"./MeshBuilder.esm.js";import{MeshPhongMaterial as r,BoxGeometry as o,Material as s}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const n={width:1,height:1,depth:1,widthSegments:1,heightSegments:1,depthSegments:1,material:new r({color:16777215})};class i extends t{options=n;type="BoxBuilder";constructor(t="",r={},o){super(i.createGeometry(r),i.createMaterial(r)),this.name=t,this.options=r,o?o.add(this):e.error("BoxBuilder","Scene is not defined")}static createGeometry(e){const{width:t,height:r,depth:s,widthSegments:i,heightSegments:m,depthSegments:d}={...n,...e};return new o(t,r,s,i,m,d)}static createMaterial(e){const{material:t}={...n,...e};return t instanceof s?t:new r({color:16777215})}}function m(e="",t=n,r){return new i(e,t,r)}export{i as BoxBuilder,m as createBox};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var e=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");class t extends e.Mesh{constructor(t=new e.BufferGeometry,r=new e.MeshBasicMaterial){super(t,r)}updateMaterial(t){Array.isArray(this.material)?(this.material.forEach(e=>e.dispose()),this.material=t):this.material instanceof e.Material&&(this.material.dispose(),this.material=t)}setMaterialAttribute(e,t){let r={};"string"==typeof e?r[e]=t:"[object Object]"===Object.prototype.toString.call(e)&&(r=e),Array.isArray(this.material)||this.material.setValues(r)}}exports.MeshBuilder=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Mesh as e,BufferGeometry as t,MeshBasicMaterial as r,Material as s}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class a extends e{constructor(e=new t,s=new r){super(e,s)}updateMaterial(e){Array.isArray(this.material)?(this.material.forEach(e=>e.dispose()),this.material=e):this.material instanceof s&&(this.material.dispose(),this.material=e)}setMaterialAttribute(e,t){let r={};"string"==typeof e?r[e]=t:"[object Object]"===Object.prototype.toString.call(e)&&(r=e),Array.isArray(this.material)||this.material.setValues(r)}}export{a as MeshBuilder};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var e=require("../../../utils/Logger.cjs.js"),t=require("./MeshBuilder.cjs.js"),r=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const s={width:6,height:6,widthSegments:1,heightSegments:1,material:new r.MeshPhongMaterial({color:16777215})};class i extends t.MeshBuilder{options=s;type="PlaneBuilder";constructor(t="",s={},n){super(i.createGeometry(s),i.createMaterial(s)),this.name=t,this.options=s,n?(this.rotateOnAxis(new r.Vector3(1,0,0),-Math.PI/2),n.add(this)):e.Logger.error("PlaneBuilder","Scene is not defined")}static createGeometry(e){const{width:t,height:i,widthSegments:n,heightSegments:o}={...s,...e};return new r.PlaneGeometry(t,i,n,o)}static createMaterial(e){const{material:t}={...s,...e};return t instanceof r.Material?t:new r.MeshPhongMaterial({color:16777215})}}exports.PlaneBuilder=i,exports.createPlane=function(e="",t=s,r){return new i(e,t,r)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{Logger as e}from"../../../utils/Logger.esm.js";import{MeshBuilder as t}from"./MeshBuilder.esm.js";import{MeshPhongMaterial as r,Vector3 as o,PlaneGeometry as s,Material as n}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const i={width:6,height:6,widthSegments:1,heightSegments:1,material:new r({color:16777215})};class m extends t{options=i;type="PlaneBuilder";constructor(t="",r={},s){super(m.createGeometry(r),m.createMaterial(r)),this.name=t,this.options=r,s?(this.rotateOnAxis(new o(1,0,0),-Math.PI/2),s.add(this)):e.error("PlaneBuilder","Scene is not defined")}static createGeometry(e){const{width:t,height:r,widthSegments:o,heightSegments:n}={...i,...e};return new s(t,r,o,n)}static createMaterial(e){const{material:t}={...i,...e};return t instanceof n?t:new r({color:16777215})}}function h(e="",t=i,r){return new m(e,t,r)}export{m as PlaneBuilder,h as createPlane};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("../../../utils/Logger.cjs.js"),t=require("./MeshBuilder.cjs.js"),r=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const s={radius:.5,widthSegments:64,heightSegments:64,phiStart:0,phiLength:2*Math.PI,thetaStart:0,thetaLength:2*Math.PI,material:new r.MeshPhongMaterial({color:16777215})};class i extends t.MeshBuilder{options=s;type="SphereBuilder";constructor(t="",r={},s){super(i.createGeometry(r),i.createMaterial(r)),this.name=t,this.options=r,s?s.add(this):e.Logger.error("SphereBuilder","Scene is not defined")}static createGeometry(e){const{radius:t,widthSegments:i,heightSegments:a,phiStart:h,phiLength:n,thetaStart:o,thetaLength:c}={...s,...e};return new r.SphereGeometry(t,i,a,h,n,o,c)}static createMaterial(e){const{material:t}={...s,...e};return t instanceof r.Material?t:new r.MeshPhongMaterial({color:16777215})}}exports.SphereBuilder=i,exports.createSphere=function(e="",t=s,r){return new i(e,t,r)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Logger as e}from"../../../utils/Logger.esm.js";import{MeshBuilder as t}from"./MeshBuilder.esm.js";import{MeshPhongMaterial as r,SphereGeometry as i,Material as n}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const s={radius:.5,widthSegments:64,heightSegments:64,phiStart:0,phiLength:2*Math.PI,thetaStart:0,thetaLength:2*Math.PI,material:new r({color:16777215})};class o extends t{options=s;type="SphereBuilder";constructor(t="",r={},i){super(o.createGeometry(r),o.createMaterial(r)),this.name=t,this.options=r,i?i.add(this):e.error("SphereBuilder","Scene is not defined")}static createGeometry(e){const{radius:t,widthSegments:r,heightSegments:n,phiStart:o,phiLength:a,thetaStart:h,thetaLength:m}={...s,...e};return new i(t,r,n,o,a,h,m)}static createMaterial(e){const{material:t}={...s,...e};return t instanceof n?t:new r({color:16777215})}}function a(e="",t=s,r){return new o(e,t,r)}export{o as SphereBuilder,a as createSphere};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./Builders/BoxBuilder.cjs.js"),r=require("./Builders/SphereBuilder.cjs.js"),l=require("./Builders/PlaneBuilder.cjs.js");const B={createBox:e.createBox,createSphere:r.createSphere,createPlane:l.createPlane};exports.BoxBuilder=e.BoxBuilder,exports.SphereBuilder=r.SphereBuilder,exports.PlaneBuilder=l.PlaneBuilder,exports.MeshBuilder=B;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createBox as e}from"./Builders/BoxBuilder.esm.js";export{BoxBuilder}from"./Builders/BoxBuilder.esm.js";import{createSphere as r}from"./Builders/SphereBuilder.esm.js";export{SphereBuilder}from"./Builders/SphereBuilder.esm.js";import{createPlane as l}from"./Builders/PlaneBuilder.esm.js";export{PlaneBuilder}from"./Builders/PlaneBuilder.esm.js";const s={createBox:e,createSphere:r,createPlane:l};export{s as MeshBuilder};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutlinePass.cjs.js");require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var s=require("./PotateEffect.cjs.js"),t=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");class i extends s.PotateEffect{name="OutlineEffect";type="OutlineEffect";passes=null;outlinePass;constructor(s){super(s),this.passes=new Map;const{sceneGraph:i,camera:o,renderer:n}=s.engine;this.outlinePass=new e.OutlinePass(new t.Vector2(n.domElement.clientWidth,n.domElement.clientHeight),i,o),this.outlinePass.edgeStrength=5,this.outlinePass.edgeThickness=2,this.outlinePass.edgeGlow=.6,this.outlinePass.pulsePeriod=1,this.outlinePass.visibleEdgeColor.set("#585695"),this.outlinePass.hiddenEdgeColor.set("#00ff00"),this.passes.set("outlinePass",this.outlinePass)}dispose(){if(super.dispose(),this.passes){for(let[e,s]of this.passes)s.dispose();this.passes=new Map}}}exports.OutlineEffect=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{OutlinePass as e}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutlinePass.esm.js";import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{PotateEffect as s}from"./PotateEffect.esm.js";import{Vector2 as t}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class o extends s{name="OutlineEffect";type="OutlineEffect";passes=null;outlinePass;constructor(s){super(s),this.passes=new Map;const{sceneGraph:o,camera:i,renderer:n}=s.engine;this.outlinePass=new e(new t(n.domElement.clientWidth,n.domElement.clientHeight),o,i),this.outlinePass.edgeStrength=5,this.outlinePass.edgeThickness=2,this.outlinePass.edgeGlow=.6,this.outlinePass.pulsePeriod=1,this.outlinePass.visibleEdgeColor.set("#585695"),this.outlinePass.hiddenEdgeColor.set("#00ff00"),this.passes.set("outlinePass",this.outlinePass)}dispose(){if(super.dispose(),this.passes){for(let[e,s]of this.passes)s.dispose();this.passes=new Map}}}export{o as OutlineEffect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.PotateEffect=class{name="";type;passes=null;uuid="";constructor(t){this.type="PotateEffect"}dispose(){}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class s{name="";type;passes=null;uuid="";constructor(s){this.type="PotateEffect"}dispose(){}}export{s as PotateEffect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var s=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutputPass.cjs.js"),e=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SAOPass.cjs.js"),t=require("./PotateEffect.cjs.js");class a extends t.PotateEffect{name="SAOEffect";type="Effect";passes=null;saoPass;outputPass;constructor(t){super(t),this.passes=new Map;const{sceneGraph:a,camera:p}=t.engine;this.saoPass=new e.SAOPass(a,p),this.outputPass=new s.OutputPass,this.passes.set("SAOPass",this.saoPass),this.passes.set("OutputPass",this.outputPass)}dispose(){if(super.dispose(),this.passes){for(let[s,e]of this.passes)e.dispose();this.passes=new Map}}}exports.SAOEffect=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{OutputPass as s}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutputPass.esm.js";import{SAOPass as e}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SAOPass.esm.js";import{PotateEffect as t}from"./PotateEffect.esm.js";class p extends t{name="SAOEffect";type="Effect";passes=null;saoPass;outputPass;constructor(t){super(t),this.passes=new Map;const{sceneGraph:p,camera:o}=t.engine;this.saoPass=new e(p,o),this.outputPass=new s,this.passes.set("SAOPass",this.saoPass),this.passes.set("OutputPass",this.outputPass)}dispose(){if(super.dispose(),this.passes){for(let[s,e]of this.passes)e.dispose();this.passes=new Map}}}export{p as SAOEffect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var s=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutputPass.cjs.js"),e=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.cjs.js");require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js");var t=require("./PotateEffect.cjs.js"),o=require("../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");class r extends t.PotateEffect{name="BloomEffect";type="BloomEffect";passes=null;unrealBloomPass;outputPass;params={strength:1.5,radius:.5,threshold:.5,resolution:new o.Vector2(window.innerWidth,window.innerHeight)};constructor(t,r={strength:1.5,radius:0,threshold:0}){super(t),this.passes=new Map,this.params={...this.params,...r};const{clientWidth:a,clientHeight:n}=t.engine.renderer.domElement;this.unrealBloomPass=new e.UnrealBloomPass(this.params?.resolution||new o.Vector2(a,n),this.params.strength||1.5,this.params.radius||.4,this.params.threshold||.5),this.outputPass=new s.OutputPass,this.passes.set("outlinePass",this.unrealBloomPass),this.passes.set("OutputPass",this.outputPass)}setAttibutes(s,e){this.unrealBloomPass[s]=e}dispose(){if(super.dispose(),this.passes){for(let[s,e]of this.passes)e.dispose();this.passes=new Map}}}exports.UnrealBloomEffect=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{OutputPass as s}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/OutputPass.esm.js";import{UnrealBloomPass as e}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.esm.js";import"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{PotateEffect as t}from"./PotateEffect.esm.js";import{Vector2 as o}from"../../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class r extends t{name="BloomEffect";type="BloomEffect";passes=null;unrealBloomPass;outputPass;params={strength:1.5,radius:.5,threshold:.5,resolution:new o(window.innerWidth,window.innerHeight)};constructor(t,r={strength:1.5,radius:0,threshold:0}){super(t),this.passes=new Map,this.params={...this.params,...r};const{clientWidth:i,clientHeight:m}=t.engine.renderer.domElement;this.unrealBloomPass=new e(this.params?.resolution||new o(i,m),this.params.strength||1.5,this.params.radius||.4,this.params.threshold||.5),this.outputPass=new s,this.passes.set("outlinePass",this.unrealBloomPass),this.passes.set("OutputPass",this.outputPass)}setAttibutes(s,e){this.unrealBloomPass[s]=e}dispose(){if(super.dispose(),this.passes){for(let[s,e]of this.passes)e.dispose();this.passes=new Map}}}export{r as UnrealBloomEffect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/EffectComposer.cjs.js"),s=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/RenderPass.cjs.js"),a=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SMAAPass.cjs.js"),r=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.cjs.js"),o=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/ShaderPass.cjs.js");class t extends e.EffectComposer{name="";type="PostProcessor";engine;effects=new Map;SmaaPass;gammaCorrectionShader;constructor(e,t){super(e.renderer,t),this.engine=e;const{sceneGraph:n,camera:d}=e,i=new s.RenderPass(n,d);this.addPass(i),this.gammaCorrectionShader=new o.ShaderPass(r.GammaCorrectionShader),this.addPass(this.gammaCorrectionShader),this.SmaaPass=new a.SMAAPass,this.addPass(this.SmaaPass)}addEffect(e){if(e?.passes){this.effects.set(e.name,e),this.passes.splice(this.passes.length-1,1);for(let[s,a]of e.passes)this.addPass(a);this.addPass(this.SmaaPass)}}removeEffect(e){this.effects.has(e.name)&&(e.dispose(),this.effects.delete(e.name))}open(){this.engine.isPostProcessing=!0}close(){this.engine.isPostProcessing=!1}dispose(){this.dispose()}}exports.PostProcessor=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{EffectComposer as s}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/EffectComposer.esm.js";import{RenderPass as e}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/RenderPass.esm.js";import{SMAAPass as o}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/SMAAPass.esm.js";import{GammaCorrectionShader as t}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.esm.js";import{ShaderPass as a}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/postprocessing/ShaderPass.esm.js";class m extends s{name="";type="PostProcessor";engine;effects=new Map;SmaaPass;gammaCorrectionShader;constructor(s,m){super(s.renderer,m),this.engine=s;const{sceneGraph:r,camera:n}=s,d=new e(r,n);this.addPass(d),this.gammaCorrectionShader=new a(t),this.addPass(this.gammaCorrectionShader),this.SmaaPass=new o,this.addPass(this.SmaaPass)}addEffect(s){if(s?.passes){this.effects.set(s.name,s),this.passes.splice(this.passes.length-1,1);for(let[e,o]of s.passes)this.addPass(o);this.addPass(this.SmaaPass)}}removeEffect(s){this.effects.has(s.name)&&(s.dispose(),this.effects.delete(s.name))}open(){this.engine.isPostProcessing=!0}close(){this.engine.isPostProcessing=!1}dispose(){this.dispose()}}export{m as PostProcessor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./types.cjs.js"),r=require("./loaders.cjs.js"),a=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");exports.ResourceManager=class{type;engine;LoaderMaps=r.LoaderMaps;RESOURCE_TYPE=e.RESOURCE_TYPE;constructor(e){this.type="ResourceManager",this.engine=e}loadGLTF(o={url:"",loadingManager:new a.LoadingManager},n){const{url:s,loadingManager:t}=o;r.LoaderMaps.get(e.RESOURCE_TYPE.GLTF)?.load(s,e=>n&&n(e))}loadGLTFAsync(e={url:""}){const r=this;return new Promise(function(a,o){r.loadGLTF(e,e=>a(e))})}loadHDR(o={url:"",loadingManager:new a.LoadingManager},n){const{url:s,loadingManager:t}=o;r.LoaderMaps.get(e.RESOURCE_TYPE.HDR)?.load(s,e=>n&&n(e))}loadHDRAsync(e={url:""}){const r=this;return new Promise(function(a,o){r.loadHDR(e)})}loadTexture(a={url:""},o){const{url:n}=a;r.LoaderMaps.get(e.RESOURCE_TYPE.TEXTURE)?.load(n,e=>o&&o(e))}loadTextureAsync(e={url:""}){const r=this;return new Promise(function(a,o){r.loadTexture(e,e=>a(e))})}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{RESOURCE_TYPE as e}from"./types.esm.js";import{LoaderMaps as o}from"./loaders.esm.js";import{LoadingManager as r}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class n{type;engine;LoaderMaps=o;RESOURCE_TYPE=e;constructor(e){this.type="ResourceManager",this.engine=e}loadGLTF(n={url:"",loadingManager:new r},t){const{url:s,loadingManager:a}=n;o.get(e.GLTF)?.load(s,e=>t&&t(e))}loadGLTFAsync(e={url:""}){const o=this;return new Promise(function(r,n){o.loadGLTF(e,e=>r(e))})}loadHDR(n={url:"",loadingManager:new r},t){const{url:s,loadingManager:a}=n;o.get(e.HDR)?.load(s,e=>t&&t(e))}loadHDRAsync(e={url:""}){const o=this;return new Promise(function(r,n){o.loadHDR(e)})}loadTexture(r={url:""},n){const{url:t}=r;o.get(e.TEXTURE)?.load(t,e=>n&&n(e))}loadTextureAsync(e={url:""}){const o=this;return new Promise(function(r,n){o.loadTexture(e,e=>r(e))})}}export{n as ResourceManager};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./types.cjs.js"),r=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/DRACOLoader.cjs.js"),o=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/GLTFLoader.cjs.js"),s=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/RGBELoader.cjs.js"),d=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const t=new Map([[e.RESOURCE_TYPE.GLTF,function(e="https://www.gstatic.com/draco/versioned/decoders/1.5.7/"){const s=new r.DRACOLoader,d=new o.GLTFLoader;s&&(s.setDecoderPath(e),s.setDecoderConfig({type:"js"}),s.preload());d&&s&&d.setDRACOLoader(s);return d}()],[e.RESOURCE_TYPE.HDR,new s.RGBELoader],[e.RESOURCE_TYPE.TEXTURE,function(){const e=new d.TextureLoader;return e.setCrossOrigin("anonymous"),e}()]]);exports.GLTFLoader=o.GLTFLoader,exports.LoaderMaps=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{RESOURCE_TYPE as e}from"./types.esm.js";import{DRACOLoader as o}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/DRACOLoader.esm.js";import{GLTFLoader as s}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/GLTFLoader.esm.js";import{RGBELoader as r}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/examples/jsm/loaders/RGBELoader.esm.js";import{TextureLoader as m}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const t=new Map([[e.GLTF,function(e="https://www.gstatic.com/draco/versioned/decoders/1.5.7/"){const r=new o,m=new s;r&&(r.setDecoderPath(e),r.setDecoderConfig({type:"js"}),r.preload());m&&r&&m.setDRACOLoader(r);return m}()],[e.HDR,new r],[e.TEXTURE,function(){const e=new m;return e.setCrossOrigin("anonymous"),e}()]]);export{s as GLTFLoader,t as LoaderMaps};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const E=Object.freeze({GLTF:"GLTF_MODEL",HDR:"HDR",TEXTURE:"TEXTURE"});exports.RESOURCE_TYPE=E;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const T=Object.freeze({GLTF:"GLTF_MODEL",HDR:"HDR",TEXTURE:"TEXTURE"});export{T as RESOURCE_TYPE};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.cjs.js"),r=require("../../utils/index.cjs.js"),t=require("../Controls/index.cjs.js"),n=require("../Resource/ResourceManager.cjs.js"),s=require("../PostProcessor/index.cjs.js"),a=require("../MarkerHtmlUI/index.cjs.js"),i=require("../../utils/Logger.cjs.js"),o=require("../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");const c={container:"body",antialias:!0,alpha:!1,backgroundColor:1514278,camera:"Perspective",isPostProcessing:!1};class h{container;activeCanvas=null;parameters=c;renderScopes;sceneGraph;camera;controls;renderer;VERSION="1.0.0";CONTROL_TYPE=t.CONTROL_TYPE;resourceManager;controlsManager;plugins=new Map;isPostProcessing=!1;markerHtmlUI;postProcessor;animateTimer;constructor(e){i.Logger.info("Hello PotatoGL.js!"),this.renderScopes=new Set,this.parameters={...this.parameters,...e},this.resourceManager=new n.ResourceManager(this),this.controlsManager=new t.ControlsManager(this),this.parameters.container||i.Logger.error("PotatoEngine","container is not defined")}async create(e){this.parameters=Object.assign(this.parameters,e);const{container:t}=this.parameters;return this.container=r.getContainerElement(t),this.sceneGraph=h.createScene(e),this.sceneGraph.background=new o.Color(this.parameters.backgroundColor),this.camera=h.createCamera(e,this.container),this.renderer=h.createRenderer(this.parameters,this.container),this.activeCanvas=this.renderer.domElement,this.container.appendChild(this.renderer.domElement),this.postProcessor=new s.PostProcessor(this),this.markerHtmlUI=new a.MarkerHtmlUI(this),this.initEngineInfo(this.activeCanvas),this}static createScene(e){const{backgroundColor:r}=e,t=new o.Scene;return t.background=new o.Color(r),t}static createCamera(e,r){const{camera:t}=e,{clientWidth:n,clientHeight:s}=r;let a;return a="Orthographic"===t?new o.OrthographicCamera(-n/2,n/2,s/2,-s/2,.01,1e3):new o.PerspectiveCamera(60,n/s,.01,1e3),a}static createRenderer(r,t=document.body){const{antialias:n,alpha:s}=r,a=new e.WebGLRenderer({antialias:n,alpha:s,powerPreference:"high-performance"}),{clientWidth:i,clientHeight:c}=t,h=1*window.devicePixelRatio;return a.setPixelRatio(h),a.setSize(i||500,c||300),a.outputColorSpace=o.SRGBColorSpace,a.toneMapping=o.ACESFilmicToneMapping,a.toneMappingExposure=1,a}runRenderLoop(e){e&&!this.renderScopes.has(e)&&this.renderScopes.add(e),this.sceneGraph&&this.camera&&this.renderer?(this.isPostProcessing?this.postProcessor?.render():this.renderer.render(this.sceneGraph,this.camera),this.markerHtmlUI.render(),this.renderScopes.forEach(e=>e({sceneGraph:this.sceneGraph,camera:this.camera,renderer:this.renderer})),this.animateTimer=requestAnimationFrame(()=>this.runRenderLoop())):i.Logger.error("PotatoEngine","Scene, Camera, Renderer is not defined")}addRunScope(e){this.renderScopes.has(e)&&i.Logger.warn("PotatoEngine","RunScope is already added"),this.renderScopes.add(e)}attachControl(e){if(this.camera&&this.renderer)return this.controls=this.controlsManager.createControls(e,this.camera,this.renderer.domElement),this.addRunScope(()=>this.controls.update()),this.controls;i.Logger.error("PotatoEngine","Camera, Renderer is not defined")}stopRenderLoop(){this.animateTimer&&(cancelAnimationFrame(this.animateTimer),this.animateTimer=0)}regieterPlugin(e,r){}initEngineInfo(e){e instanceof HTMLCanvasElement&&(e.style.borderRadius="5px"),"setAttribute"in e&&e.setAttribute("data-engine",`Potato.js V${this.VERSION}`)}}exports.PotatoEngine=h;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{WebGLRenderer as e}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.module.esm.js";import{getContainerElement as r}from"../../utils/index.esm.js";import{CONTROL_TYPE as t,ControlsManager as s}from"../Controls/index.esm.js";import{ResourceManager as n}from"../Resource/ResourceManager.esm.js";import{PostProcessor as a}from"../PostProcessor/index.esm.js";import{MarkerHtmlUI as i}from"../MarkerHtmlUI/index.esm.js";import{Logger as o}from"../../utils/Logger.esm.js";import{Color as c,Scene as h,OrthographicCamera as m,PerspectiveCamera as d,SRGBColorSpace as p,ACESFilmicToneMapping as l}from"../../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";const u={container:"body",antialias:!0,alpha:!1,backgroundColor:1514278,camera:"Perspective",isPostProcessing:!1};class g{container;activeCanvas=null;parameters=u;renderScopes;sceneGraph;camera;controls;renderer;VERSION="1.0.0";CONTROL_TYPE=t;resourceManager;controlsManager;plugins=new Map;isPostProcessing=!1;markerHtmlUI;postProcessor;animateTimer;constructor(e){o.info("Hello PotatoGL.js!"),this.renderScopes=new Set,this.parameters={...this.parameters,...e},this.resourceManager=new n(this),this.controlsManager=new s(this),this.parameters.container||o.error("PotatoEngine","container is not defined")}async create(e){this.parameters=Object.assign(this.parameters,e);const{container:t}=this.parameters;return this.container=r(t),this.sceneGraph=g.createScene(e),this.sceneGraph.background=new c(this.parameters.backgroundColor),this.camera=g.createCamera(e,this.container),this.renderer=g.createRenderer(this.parameters,this.container),this.activeCanvas=this.renderer.domElement,this.container.appendChild(this.renderer.domElement),this.postProcessor=new a(this),this.markerHtmlUI=new i(this),this.initEngineInfo(this.activeCanvas),this}static createScene(e){const{backgroundColor:r}=e,t=new h;return t.background=new c(r),t}static createCamera(e,r){const{camera:t}=e,{clientWidth:s,clientHeight:n}=r;let a;return a="Orthographic"===t?new m(-s/2,s/2,n/2,-n/2,.01,1e3):new d(60,s/n,.01,1e3),a}static createRenderer(r,t=document.body){const{antialias:s,alpha:n}=r,a=new e({antialias:s,alpha:n,powerPreference:"high-performance"}),{clientWidth:i,clientHeight:o}=t,c=1*window.devicePixelRatio;return a.setPixelRatio(c),a.setSize(i||500,o||300),a.outputColorSpace=p,a.toneMapping=l,a.toneMappingExposure=1,a}runRenderLoop(e){e&&!this.renderScopes.has(e)&&this.renderScopes.add(e),this.sceneGraph&&this.camera&&this.renderer?(this.isPostProcessing?this.postProcessor?.render():this.renderer.render(this.sceneGraph,this.camera),this.markerHtmlUI.render(),this.renderScopes.forEach(e=>e({sceneGraph:this.sceneGraph,camera:this.camera,renderer:this.renderer})),this.animateTimer=requestAnimationFrame(()=>this.runRenderLoop())):o.error("PotatoEngine","Scene, Camera, Renderer is not defined")}addRunScope(e){this.renderScopes.has(e)&&o.warn("PotatoEngine","RunScope is already added"),this.renderScopes.add(e)}attachControl(e){if(this.camera&&this.renderer)return this.controls=this.controlsManager.createControls(e,this.camera,this.renderer.domElement),this.addRunScope(()=>this.controls.update()),this.controls;o.error("PotatoEngine","Camera, Renderer is not defined")}stopRenderLoop(){this.animateTimer&&(cancelAnimationFrame(this.animateTimer),this.animateTimer=0)}regieterPlugin(e,r){}initEngineInfo(e){e instanceof HTMLCanvasElement&&(e.style.borderRadius="5px"),"setAttribute"in e&&e.setAttribute("data-engine",`Potato.js V${this.VERSION}`)}}export{g as PotatoEngine};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=require("../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.cjs.js");class e extends n.Mesh{constructor(e,o,i,r,t="xzy"){i=i||new n.Color("white"),e=e||10,o=o||100,r=r||8e3;const a=t.substr(0,2);super(new n.PlaneGeometry(2,2,1,1),new n.ShaderMaterial({side:n.DoubleSide,uniforms:{uSize1:{value:e},uSize2:{value:o},uColor:{value:i},uDistance:{value:r}},transparent:!0,vertexShader:`\n \n varying vec3 worldPosition;\n \n uniform float uDistance;\n \n void main() {\n \n vec3 pos = position.${t} * uDistance;\n pos.${a} += cameraPosition.${a};\n \n worldPosition = pos;\n \n gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);\n \n }\n `,fragmentShader:`\n \n varying vec3 worldPosition;\n \n uniform float uSize1;\n uniform float uSize2;\n uniform vec3 uColor;\n uniform float uDistance;\n \n \n \n float getGrid(float size) {\n \n vec2 r = worldPosition.${a} / size;\n \n \n vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r);\n float line = min(grid.x, grid.y);\n \n \n return 1.0 - min(line, 1.0);\n }\n \n void main() {\n \n \n float d = 1.0 - min(distance(cameraPosition.${a}, worldPosition.${a}) / uDistance, 1.0);\n \n float g1 = getGrid(uSize1);\n float g2 = getGrid(uSize2);\n \n gl_FragColor = vec4(uColor.rgb, mix(g2, g1, g1) * pow(d, 4.0));\n gl_FragColor.a = mix(0.5 * gl_FragColor.a, gl_FragColor.a, g2);\n \n \n if ( gl_FragColor.a <= 0.0 ) discard;\n \n \n }\n \n `})),this.frustumCulled=!1}}exports.InfiniteGridHelper=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Mesh as n,Color as o,PlaneGeometry as i,ShaderMaterial as e,DoubleSide as r}from"../node_modules/.pnpm/three@0.182.0/node_modules/three/build/three.core.esm.js";class t extends n{constructor(n,t,a,l,s="xzy"){a=a||new o("white"),n=n||10,t=t||100,l=l||8e3;const u=s.substr(0,2);super(new i(2,2,1,1),new e({side:r,uniforms:{uSize1:{value:n},uSize2:{value:t},uColor:{value:a},uDistance:{value:l}},transparent:!0,vertexShader:`\n \n varying vec3 worldPosition;\n \n uniform float uDistance;\n \n void main() {\n \n vec3 pos = position.${s} * uDistance;\n pos.${u} += cameraPosition.${u};\n \n worldPosition = pos;\n \n gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);\n \n }\n `,fragmentShader:`\n \n varying vec3 worldPosition;\n \n uniform float uSize1;\n uniform float uSize2;\n uniform vec3 uColor;\n uniform float uDistance;\n \n \n \n float getGrid(float size) {\n \n vec2 r = worldPosition.${u} / size;\n \n \n vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r);\n float line = min(grid.x, grid.y);\n \n \n return 1.0 - min(line, 1.0);\n }\n \n void main() {\n \n \n float d = 1.0 - min(distance(cameraPosition.${u}, worldPosition.${u}) / uDistance, 1.0);\n \n float g1 = getGrid(uSize1);\n float g2 = getGrid(uSize2);\n \n gl_FragColor = vec4(uColor.rgb, mix(g2, g1, g1) * pow(d, 4.0));\n gl_FragColor.a = mix(0.5 * gl_FragColor.a, gl_FragColor.a, g2);\n \n \n if ( gl_FragColor.a <= 0.0 ) discard;\n \n \n }\n \n `})),this.frustumCulled=!1}}export{t as InfiniteGridHelper};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.Adder=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const s=this._partials;let r=0;for(let a=0;a<this._n&&a<32;a++){const i=s[a],n=t+i,e=Math.abs(t)<Math.abs(i)?t-(n-i):i-(n-t);e&&(s[r++]=e),t=n}return s[r]=t,this._n=r+1,this}valueOf(){const t=this._partials;let s,r,a,i=this._n,n=0;if(i>0){for(n=t[--i];i>0&&(s=n,r=t[--i],n=s+r,a=r-(n-s),!a););i>0&&(a<0&&t[i-1]<0||a>0&&t[i-1]>0)&&(r=2*a,s=n+r,r==s-n&&(n=s))}return n}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class t{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const s=this._partials;let a=0;for(let r=0;r<this._n&&r<32;r++){const i=s[r],n=t+i,h=Math.abs(t)<Math.abs(i)?t-(n-i):i-(n-t);h&&(s[a++]=h),t=n}return s[a]=t,this._n=a+1,this}valueOf(){const t=this._partials;let s,a,r,i=this._n,n=0;if(i>0){for(n=t[--i];i>0&&(s=n,a=t[--i],n=s+a,r=a-(n-s),!r););i>0&&(r<0&&t[i-1]<0||r>0&&t[i-1]>0)&&(a=2*r,s=n+a,a==s-n&&(n=s))}return n}}export{t as Adder};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";module.exports=function(o){return Array.from(function*(o){for(const r of o)yield*r}(o))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function o(o){return Array.from(function*(o){for(const r of o)yield*r}(o))}export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var r=require("./math.cjs.js");exports.cartesian=function(n){var t=n[0],e=n[1],s=r.cos(e);return[s*r.cos(t),s*r.sin(t),r.sin(e)]},exports.cartesianAddInPlace=function(r,n){r[0]+=n[0],r[1]+=n[1],r[2]+=n[2]},exports.cartesianCross=function(r,n){return[r[1]*n[2]-r[2]*n[1],r[2]*n[0]-r[0]*n[2],r[0]*n[1]-r[1]*n[0]]},exports.cartesianDot=function(r,n){return r[0]*n[0]+r[1]*n[1]+r[2]*n[2]},exports.cartesianNormalizeInPlace=function(n){var t=r.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t},exports.cartesianScale=function(r,n){return[r[0]*n,r[1]*n,r[2]*n]},exports.spherical=function(n){return[r.atan2(n[1],n[0]),r.asin(n[2])]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{sin as n,cos as r,sqrt as t,atan2 as u,asin as o}from"./math.esm.js";function f(n){return[u(n[1],n[0]),o(n[2])]}function i(t){var u=t[0],o=t[1],f=r(o);return[f*r(u),f*n(u),n(o)]}function c(n,r){return n[0]*r[0]+n[1]*r[1]+n[2]*r[2]}function e(n,r){return[n[1]*r[2]-n[2]*r[1],n[2]*r[0]-n[0]*r[2],n[0]*r[1]-n[1]*r[0]]}function m(n,r){n[0]+=r[0],n[1]+=r[1],n[2]+=r[2]}function a(n,r){return[n[0]*r,n[1]*r,n[2]*r]}function p(n){var r=t(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=r,n[1]/=r,n[2]/=r}export{i as cartesian,m as cartesianAddInPlace,e as cartesianCross,c as cartesianDot,p as cartesianNormalizeInPlace,a as cartesianScale,f as spherical};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var a=require("./cartesian.cjs.js"),r=require("./math.cjs.js");function s(s,e){(e=a.cartesian(e))[0]-=s,a.cartesianNormalizeInPlace(e);var i=r.acos(-e[1]);return((-e[2]<0?-i:i)+r.tau-r.epsilon)%r.tau}exports.circleStream=function(e,i,t,c,n,u){if(t){var o=r.cos(i),l=r.sin(i),f=c*t;null==n?(n=i+c*r.tau,u=i-f/2):(n=s(o,n),u=s(o,u),(c>0?n<u:n>u)&&(n+=c*r.tau));for(var j,p=n;c>0?p>u:p<u;p-=f)j=a.spherical([o,-l*r.cos(p),-l*r.sin(p)]),e.point(j[0],j[1])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{spherical as r,cartesian as o,cartesianNormalizeInPlace as t}from"./cartesian.esm.js";import{tau as n,acos as i,epsilon as m,cos as a,sin as f}from"./math.esm.js";function e(o,t,i,m,e,p){if(i){var u=a(t),c=f(t),v=m*i;null==e?(e=t+m*n,p=t-v/2):(e=s(u,e),p=s(u,p),(m>0?e<p:e>p)&&(e+=m*n));for(var j,l=e;m>0?l>p:l<p;l-=v)j=r([u,-c*a(l),-c*f(l)]),o.point(j[0],j[1])}}function s(r,a){(a=o(a))[0]-=r,t(a);var f=i(-a[1]);return((-a[2]<0?-f:f)+n-m)%n}export{e as circleStream};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=require("./index.cjs.js"),n=require("../math.cjs.js"),t=i(function(){return!0},function(i){var t,p=NaN,o=NaN,e=NaN;return{lineStart:function(){i.lineStart(),t=1},point:function(s,a){var l=s>0?n.pi:-n.pi,r=n.abs(s-p);n.abs(r-n.pi)<n.epsilon?(i.point(p,o=(o+a)/2>0?n.halfPi:-n.halfPi),i.point(e,o),i.lineEnd(),i.lineStart(),i.point(l,o),i.point(s,o),t=0):e!==l&&r>=n.pi&&(n.abs(p-e)<n.epsilon&&(p-=e*n.epsilon),n.abs(s-l)<n.epsilon&&(s-=l*n.epsilon),o=function(i,t,p,o){var e,s,a=n.sin(i-p);return n.abs(a)>n.epsilon?n.atan((n.sin(t)*(s=n.cos(o))*n.sin(p)-n.sin(o)*(e=n.cos(t))*n.sin(i))/(e*s*a)):(t+o)/2}(p,o,s,a),i.point(e,o),i.lineEnd(),i.lineStart(),i.point(l,o),t=0),i.point(p=s,o=a),e=l},lineEnd:function(){i.lineEnd(),p=o=NaN},clean:function(){return 2-t}}},function(i,t,p,o){var e;if(null==i)e=p*n.halfPi,o.point(-n.pi,e),o.point(0,e),o.point(n.pi,e),o.point(n.pi,0),o.point(n.pi,-e),o.point(0,-e),o.point(-n.pi,-e),o.point(-n.pi,0),o.point(-n.pi,e);else if(n.abs(i[0]-t[0])>n.epsilon){var s=i[0]<t[0]?n.pi:-n.pi;e=p*s/2,o.point(-s,e),o.point(0,e),o.point(s,e)}else o.point(t[0],t[1])},[-n.pi,-n.halfPi]);module.exports=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import n from"./index.esm.js";import{pi as t,halfPi as i,abs as o,epsilon as p,atan as r,sin as e,cos as a}from"../math.esm.js";var l=n(function(){return!0},function(n){var l,u=NaN,f=NaN,c=NaN;return{lineStart:function(){n.lineStart(),l=1},point:function(N,m){var s=N>0?t:-t,d=o(N-u);o(d-t)<p?(n.point(u,f=(f+m)/2>0?i:-i),n.point(c,f),n.lineEnd(),n.lineStart(),n.point(s,f),n.point(N,f),l=0):c!==s&&d>=t&&(o(u-c)<p&&(u-=c*p),o(N-s)<p&&(N-=s*p),f=function(n,t,i,l){var u,f,c=e(n-i);return o(c)>p?r((e(t)*(f=a(l))*e(i)-e(l)*(u=a(t))*e(n))/(u*f*c)):(t+l)/2}(u,f,N,m),n.point(c,f),n.lineEnd(),n.lineStart(),n.point(s,f),l=0),n.point(u=N,f=m),c=s},lineEnd:function(){n.lineEnd(),u=f=NaN},clean:function(){return 2-l}}},function(n,r,e,a){var l;if(null==n)l=e*i,a.point(-t,l),a.point(0,l),a.point(t,l),a.point(t,0),a.point(t,-l),a.point(0,-l),a.point(-t,-l),a.point(-t,0),a.point(-t,l);else if(o(n[0]-r[0])>p){var u=n[0]<r[0]?t:-t;l=e*u/2,a.point(-u,l),a.point(0,l),a.point(u,l)}else a.point(r[0],r[1])},[-t,-i]);export{l as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=require("../noop.cjs.js");module.exports=function(){var t,u=[];return{point:function(n,u,r){t.push([n,u,r])},lineStart:function(){u.push(t=[])},lineEnd:n,rejoin:function(){u.length>1&&u.push(u.pop().concat(u.shift()))},result:function(){var n=u;return u=[],t=null,n}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import n from"../noop.esm.js";function t(){var t,o=[];return{point:function(n,o,u){t.push([n,o,u])},lineStart:function(){o.push(t=[])},lineEnd:n,rejoin:function(){o.length>1&&o.push(o.pop().concat(o.shift()))},result:function(){var n=o;return o=[],t=null,n}}}export{t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=require("../cartesian.cjs.js"),i=require("../circle.cjs.js"),r=require("../math.cjs.js"),a=require("../pointEqual.cjs.js"),e=require("./index.cjs.js");module.exports=function(t){var c=r.cos(t),s=2*r.radians,o=c>0,l=r.abs(c)>r.epsilon;function u(n,i){return r.cos(n)*r.cos(i)>c}function p(i,a,e){var t=n.cartesian(i),s=n.cartesian(a),o=[1,0,0],l=n.cartesianCross(t,s),u=n.cartesianDot(l,l),p=l[0],f=u-p*p;if(!f)return!e&&i;var d=c*u/f,v=-c*p/f,j=n.cartesianCross(o,l),S=n.cartesianScale(o,d),q=n.cartesianScale(l,v);n.cartesianAddInPlace(S,q);var E=j,D=n.cartesianDot(S,E),b=n.cartesianDot(E,E),h=D*D-b*(n.cartesianDot(S,S)-1);if(!(h<0)){var m=r.sqrt(h),A=n.cartesianScale(E,(-D-m)/b);if(n.cartesianAddInPlace(A,S),A=n.spherical(A),!e)return A;var I,P=i[0],x=a[0],C=i[1],g=a[1];x<P&&(I=P,P=x,x=I);var k=x-P,w=r.abs(k-r.pi)<r.epsilon;if(!w&&g<C&&(I=C,C=g,g=I),w||k<r.epsilon?w?C+g>0^A[1]<(r.abs(A[0]-P)<r.epsilon?C:g):C<=A[1]&&A[1]<=g:k>r.pi^(P<=A[0]&&A[0]<=x)){var y=n.cartesianScale(E,(-D+m)/b);return n.cartesianAddInPlace(y,S),[A,n.spherical(y)]}}}function f(n,i){var a=o?t:r.pi-t,e=0;return n<-a?e|=1:n>a&&(e|=2),i<-a?e|=4:i>a&&(e|=8),e}return e(u,function(n){var i,e,t,c,s;return{lineStart:function(){c=t=!1,s=1},point:function(d,v){var j,S=[d,v],q=u(d,v),E=o?q?0:f(d,v):q?f(d+(d<0?r.pi:-r.pi),v):0;if(!i&&(c=t=q)&&n.lineStart(),q!==t&&(!(j=p(i,S))||a(i,j)||a(S,j))&&(S[2]=1),q!==t)s=0,q?(n.lineStart(),j=p(S,i),n.point(j[0],j[1])):(j=p(i,S),n.point(j[0],j[1],2),n.lineEnd()),i=j;else if(l&&i&&o^q){var D;E&e||!(D=p(S,i,!0))||(s=0,o?(n.lineStart(),n.point(D[0][0],D[0][1]),n.point(D[1][0],D[1][1]),n.lineEnd()):(n.point(D[1][0],D[1][1]),n.lineEnd(),n.lineStart(),n.point(D[0][0],D[0][1],3)))}!q||i&&a(i,S)||n.point(S[0],S[1]),i=S,t=q,e=E},lineEnd:function(){t&&n.lineEnd(),i=null},clean:function(){return s|(c&&t)<<1}}},function(n,r,a,e){i.circleStream(e,t,s,a,n,r)},o?[0,-t]:[-r.pi,t-r.pi])};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cartesian as n,cartesianCross as r,cartesianDot as t,cartesianScale as i,cartesianAddInPlace as e,spherical as o}from"../cartesian.esm.js";import{circleStream as a}from"../circle.esm.js";import{pi as f,cos as u,abs as l,epsilon as m,sqrt as p,radians as c}from"../math.esm.js";import s from"../pointEqual.esm.js";import v from"./index.esm.js";function d(d){var E=u(d),j=2*c,S=E>0,x=l(E)>m;function h(n,r){return u(n)*u(r)>E}function q(a,u,c){var s=n(a),v=n(u),d=[1,0,0],j=r(s,v),S=t(j,j),x=j[0],h=S-x*x;if(!h)return!c&&a;var q=E*S/h,b=-E*x/h,g=r(d,j),k=i(d,q),w=i(j,b);e(k,w);var y=g,z=t(k,y),A=t(y,y),B=z*z-A*(t(k,k)-1);if(!(B<0)){var C=p(B),D=i(y,(-z-C)/A);if(e(D,k),D=o(D),!c)return D;var F,G=a[0],H=u[0],I=a[1],J=u[1];H<G&&(F=G,G=H,H=F);var K=H-G,L=l(K-f)<m;if(!L&&J<I&&(F=I,I=J,J=F),L||K<m?L?I+J>0^D[1]<(l(D[0]-G)<m?I:J):I<=D[1]&&D[1]<=J:K>f^(G<=D[0]&&D[0]<=H)){var M=i(y,(-z+C)/A);return e(M,k),[D,o(M)]}}}function b(n,r){var t=S?d:f-d,i=0;return n<-t?i|=1:n>t&&(i|=2),r<-t?i|=4:r>t&&(i|=8),i}return v(h,function(n){var r,t,i,e,o;return{lineStart:function(){e=i=!1,o=1},point:function(a,u){var l,m=[a,u],p=h(a,u),c=S?p?0:b(a,u):p?b(a+(a<0?f:-f),u):0;if(!r&&(e=i=p)&&n.lineStart(),p!==i&&(!(l=q(r,m))||s(r,l)||s(m,l))&&(m[2]=1),p!==i)o=0,p?(n.lineStart(),l=q(m,r),n.point(l[0],l[1])):(l=q(r,m),n.point(l[0],l[1],2),n.lineEnd()),r=l;else if(x&&r&&S^p){var v;c&t||!(v=q(m,r,!0))||(o=0,S?(n.lineStart(),n.point(v[0][0],v[0][1]),n.point(v[1][0],v[1][1]),n.lineEnd()):(n.point(v[1][0],v[1][1]),n.lineEnd(),n.lineStart(),n.point(v[0][0],v[0][1],3)))}!p||r&&s(r,m)||n.point(m[0],m[1]),r=m,i=p,t=c},lineEnd:function(){i&&n.lineEnd(),r=null},clean:function(){return o|(e&&i)<<1}}},function(n,r,t,i){a(i,d,j,t,n,r)},S?[0,-d]:[-f,d-f])}export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=require("./buffer.cjs.js"),t=require("./rejoin.cjs.js"),i=require("../math.cjs.js"),l=require("../polygonContains.cjs.js"),o=require("../../../../../d3-array@3.2.4/node_modules/d3-array/src/merge.cjs.js");function e(n){return n.length>1}function r(n,t){return((n=n.x)[0]<0?n[1]-i.halfPi-i.epsilon:i.halfPi-n[1])-((t=t.x)[0]<0?t[1]-i.halfPi-i.epsilon:i.halfPi-t[1])}module.exports=function(i,u,p,a){return function(f){var s,c,d,h=u(f),g=n(),S=u(g),j=!1,y={point:E,lineStart:m,lineEnd:v,polygonStart:function(){y.point=P,y.lineStart=x,y.lineEnd=b,c=[],s=[]},polygonEnd:function(){y.point=E,y.lineStart=m,y.lineEnd=v,c=o(c);var n=l(s,a);c.length?(j||(f.polygonStart(),j=!0),t(c,r,n,p,f)):n&&(j||(f.polygonStart(),j=!0),f.lineStart(),p(null,null,1,f),f.lineEnd()),j&&(f.polygonEnd(),j=!1),c=s=null},sphere:function(){f.polygonStart(),f.lineStart(),p(null,null,1,f),f.lineEnd(),f.polygonEnd()}};function E(n,t){i(n,t)&&f.point(n,t)}function q(n,t){h.point(n,t)}function m(){y.point=q,h.lineStart()}function v(){y.point=E,h.lineEnd()}function P(n,t){d.push([n,t]),S.point(n,t)}function x(){S.lineStart(),d=[]}function b(){P(d[0][0],d[0][1]),S.lineEnd();var n,t,i,l,o=S.clean(),r=g.result(),u=r.length;if(d.pop(),s.push(d),d=null,u)if(1&o){if((t=(i=r[0]).length-1)>0){for(j||(f.polygonStart(),j=!0),f.lineStart(),n=0;n<t;++n)f.point((l=i[n])[0],l[1]);f.lineEnd()}}else u>1&&2&o&&r.push(r.pop().concat(r.shift())),c.push(r.filter(e))}return y}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import n from"./buffer.esm.js";import t from"./rejoin.esm.js";import{halfPi as o,epsilon as i}from"../math.esm.js";import l from"../polygonContains.esm.js";import r from"../../../../../d3-array@3.2.4/node_modules/d3-array/src/merge.esm.js";function e(o,i,e,f){return function(a){var s,c,m,d=i(a),g=n(),S=i(g),h=!1,y={point:E,lineStart:v,lineEnd:x,polygonStart:function(){y.point=b,y.lineStart=C,y.lineEnd=_,c=[],s=[]},polygonEnd:function(){y.point=E,y.lineStart=v,y.lineEnd=x,c=r(c);var n=l(s,f);c.length?(h||(a.polygonStart(),h=!0),t(c,u,n,e,a)):n&&(h||(a.polygonStart(),h=!0),a.lineStart(),e(null,null,1,a),a.lineEnd()),h&&(a.polygonEnd(),h=!1),c=s=null},sphere:function(){a.polygonStart(),a.lineStart(),e(null,null,1,a),a.lineEnd(),a.polygonEnd()}};function E(n,t){o(n,t)&&a.point(n,t)}function j(n,t){d.point(n,t)}function v(){y.point=j,d.lineStart()}function x(){y.point=E,d.lineEnd()}function b(n,t){m.push([n,t]),S.point(n,t)}function C(){S.lineStart(),m=[]}function _(){b(m[0][0],m[0][1]),S.lineEnd();var n,t,o,i,l=S.clean(),r=g.result(),e=r.length;if(m.pop(),s.push(m),m=null,e)if(1&l){if((t=(o=r[0]).length-1)>0){for(h||(a.polygonStart(),h=!0),a.lineStart(),n=0;n<t;++n)a.point((i=o[n])[0],i[1]);a.lineEnd()}}else e>1&&2&l&&r.push(r.pop().concat(r.shift())),c.push(r.filter(p))}return y}}function p(n){return n.length>1}function u(n,t){return((n=n.x)[0]<0?n[1]-o-i:o-n[1])-((t=t.x)[0]<0?t[1]-o-i:o-t[1])}export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";module.exports=function(i,f,r,e,t,u){var n,s=i[0],l=i[1],o=0,c=1,a=f[0]-s,d=f[1]-l;if(n=r-s,a||!(n>0)){if(n/=a,a<0){if(n<o)return;n<c&&(c=n)}else if(a>0){if(n>c)return;n>o&&(o=n)}if(n=t-s,a||!(n<0)){if(n/=a,a<0){if(n>c)return;n>o&&(o=n)}else if(a>0){if(n<o)return;n<c&&(c=n)}if(n=e-l,d||!(n>0)){if(n/=d,d<0){if(n<o)return;n<c&&(c=n)}else if(d>0){if(n>c)return;n>o&&(o=n)}if(n=u-l,d||!(n<0)){if(n/=d,d<0){if(n>c)return;n>o&&(o=n)}else if(d>0){if(n<o)return;n<c&&(c=n)}return o>0&&(i[0]=s+o*a,i[1]=l+o*d),c<1&&(f[0]=s+c*a,f[1]=l+c*d),!0}}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function f(f,i,r,e,t,n){var u,l=f[0],s=f[1],a=0,o=1,c=i[0]-l,d=i[1]-s;if(u=r-l,c||!(u>0)){if(u/=c,c<0){if(u<a)return;u<o&&(o=u)}else if(c>0){if(u>o)return;u>a&&(a=u)}if(u=t-l,c||!(u<0)){if(u/=c,c<0){if(u>o)return;u>a&&(a=u)}else if(c>0){if(u<a)return;u<o&&(o=u)}if(u=e-s,d||!(u>0)){if(u/=d,d<0){if(u<a)return;u<o&&(o=u)}else if(d>0){if(u>o)return;u>a&&(a=u)}if(u=n-s,d||!(u<0)){if(u/=d,d<0){if(u>o)return;u>a&&(a=u)}else if(d>0){if(u<a)return;u<o&&(o=u)}return a>0&&(f[0]=l+a*c,f[1]=s+a*d),o<1&&(i[0]=l+o*c,i[1]=s+o*d),!0}}}}}export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=require("../math.cjs.js"),t=require("./buffer.cjs.js"),i=require("./line.cjs.js"),r=require("./rejoin.cjs.js"),e=require("../../../../../d3-array@3.2.4/node_modules/d3-array/src/merge.cjs.js"),o=1e9,u=-o;module.exports=function(a,l,s,p){function c(n,t){return a<=n&&n<=s&&l<=t&&t<=p}function f(n,t,i,r){var e=0,o=0;if(null==n||(e=h(n,i))!==(o=h(t,i))||j(n,t)<0^i>0)do{r.point(0===e||3===e?a:s,e>1?p:l)}while((e=(e+i+4)%4)!==o);else r.point(t[0],t[1])}function h(t,i){return n.abs(t[0]-a)<n.epsilon?i>0?0:3:n.abs(t[0]-s)<n.epsilon?i>0?2:1:n.abs(t[1]-l)<n.epsilon?i>0?1:0:i>0?3:2}function d(n,t){return j(n.x,t.x)}function j(n,t){var i=h(n,1),r=h(t,1);return i!==r?i-r:0===i?t[1]-n[1]:1===i?n[0]-t[0]:2===i?n[1]-t[1]:t[0]-n[0]}return function(n){var h,j,m,v,g,M,x,S,y,E,q,b=n,N=t(),w={point:_,lineStart:function(){w.point=k,j&&j.push(m=[]);E=!0,y=!1,x=S=NaN},lineEnd:function(){h&&(k(v,g),M&&y&&N.rejoin(),h.push(N.result()));w.point=_,y&&b.lineEnd()},polygonStart:function(){b=N,h=[],j=[],q=!0},polygonEnd:function(){var t=function(){for(var n=0,t=0,i=j.length;t<i;++t)for(var r,e,o=j[t],u=1,l=o.length,s=o[0],c=s[0],f=s[1];u<l;++u)r=c,e=f,c=(s=o[u])[0],f=s[1],e<=p?f>p&&(c-r)*(p-e)>(f-e)*(a-r)&&++n:f<=p&&(c-r)*(p-e)<(f-e)*(a-r)&&--n;return n}(),i=q&&t,o=(h=e(h)).length;(i||o)&&(n.polygonStart(),i&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),o&&r(h,d,t,f,n),n.polygonEnd());b=n,h=j=m=null}};function _(n,t){c(n,t)&&b.point(n,t)}function k(n,t){var r=c(n,t);if(j&&m.push([n,t]),E)v=n,g=t,M=r,E=!1,r&&(b.lineStart(),b.point(n,t));else if(r&&y)b.point(n,t);else{var e=[x=Math.max(u,Math.min(o,x)),S=Math.max(u,Math.min(o,S))],f=[n=Math.max(u,Math.min(o,n)),t=Math.max(u,Math.min(o,t))];i(e,f,a,l,s,p)?(y||(b.lineStart(),b.point(e[0],e[1])),b.point(f[0],f[1]),r||b.lineEnd(),q=!1):r&&(b.lineStart(),b.point(n,t),q=!1)}x=n,S=t,y=r}return w}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{abs as n,epsilon as t}from"../math.esm.js";import r from"./buffer.esm.js";import o from"./line.esm.js";import i from"./rejoin.esm.js";import e from"../../../../../d3-array@3.2.4/node_modules/d3-array/src/merge.esm.js";var a=1e9,l=-a;function u(u,f,m,p){function s(n,t){return u<=n&&n<=m&&f<=t&&t<=p}function h(n,t,r,o){var i=0,e=0;if(null==n||(i=c(n,r))!==(e=c(t,r))||v(n,t)<0^r>0)do{o.point(0===i||3===i?u:m,i>1?p:f)}while((i=(i+r+4)%4)!==e);else o.point(t[0],t[1])}function c(r,o){return n(r[0]-u)<t?o>0?0:3:n(r[0]-m)<t?o>0?2:1:n(r[1]-f)<t?o>0?1:0:o>0?3:2}function d(n,t){return v(n.x,t.x)}function v(n,t){var r=c(n,1),o=c(t,1);return r!==o?r-o:0===r?t[1]-n[1]:1===r?n[0]-t[0]:2===r?n[1]-t[1]:t[0]-n[0]}return function(n){var t,c,v,g,M,j,x,S,y,E,N,b=n,w=r(),_={point:k,lineStart:function(){_.point=q,c&&c.push(v=[]);E=!0,y=!1,x=S=NaN},lineEnd:function(){t&&(q(g,M),j&&y&&w.rejoin(),t.push(w.result()));_.point=k,y&&b.lineEnd()},polygonStart:function(){b=w,t=[],c=[],N=!0},polygonEnd:function(){var r=function(){for(var n=0,t=0,r=c.length;t<r;++t)for(var o,i,e=c[t],a=1,l=e.length,f=e[0],m=f[0],s=f[1];a<l;++a)o=m,i=s,m=(f=e[a])[0],s=f[1],i<=p?s>p&&(m-o)*(p-i)>(s-i)*(u-o)&&++n:s<=p&&(m-o)*(p-i)<(s-i)*(u-o)&&--n;return n}(),o=N&&r,a=(t=e(t)).length;(o||a)&&(n.polygonStart(),o&&(n.lineStart(),h(null,null,1,n),n.lineEnd()),a&&i(t,d,r,h,n),n.polygonEnd());b=n,t=c=v=null}};function k(n,t){s(n,t)&&b.point(n,t)}function q(n,t){var r=s(n,t);if(c&&v.push([n,t]),E)g=n,M=t,j=r,E=!1,r&&(b.lineStart(),b.point(n,t));else if(r&&y)b.point(n,t);else{var i=[x=Math.max(l,Math.min(a,x)),S=Math.max(l,Math.min(a,S))],e=[n=Math.max(l,Math.min(a,n)),t=Math.max(l,Math.min(a,t))];o(i,e,u,f,m,p)?(y||(b.lineStart(),b.point(i[0],i[1])),b.point(e[0],e[1]),r||b.lineEnd(),N=!1):r&&(b.lineStart(),b.point(n,t),N=!1)}x=n,S=t,y=r}return _}}export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=require("../pointEqual.cjs.js"),e=require("../math.cjs.js");function i(n,e,i,t){this.x=n,this.z=e,this.o=i,this.e=t,this.v=!1,this.n=this.p=null}function t(n){if(e=n.length){for(var e,i,t=0,l=n[0];++t<e;)l.n=i=n[t],i.p=l,l=i;l.n=i=n[0],i.p=l}}module.exports=function(l,o,r,s,f){var h,u,p=[],v=[];if(l.forEach(function(t){if(!((l=t.length-1)<=0)){var l,o,r=t[0],s=t[l];if(n(r,s)){if(!r[2]&&!s[2]){for(f.lineStart(),h=0;h<l;++h)f.point((r=t[h])[0],r[1]);return void f.lineEnd()}s[0]+=2*e.epsilon}p.push(o=new i(r,t,null,!0)),v.push(o.o=new i(r,null,o,!1)),p.push(o=new i(s,t,null,!1)),v.push(o.o=new i(s,null,o,!0))}}),p.length){for(v.sort(o),t(p),t(v),h=0,u=v.length;h<u;++h)v[h].e=r=!r;for(var a,c,g=p[0];;){for(var x=g,d=!0;x.v;)if((x=x.n)===g)return;a=x.z,f.lineStart();do{if(x.v=x.o.v=!0,x.e){if(d)for(h=0,u=a.length;h<u;++h)f.point((c=a[h])[0],c[1]);else s(x.x,x.n.x,1,f);x=x.n}else{if(d)for(a=x.p.z,h=a.length-1;h>=0;--h)f.point((c=a[h])[0],c[1]);else s(x.x,x.p.x,-1,f);x=x.p}a=(x=x.o).z,d=!d}while(!x.v);f.lineEnd()}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import n from"../pointEqual.esm.js";import{epsilon as t}from"../math.esm.js";function i(n,t,i,e){this.x=n,this.z=t,this.o=i,this.e=e,this.v=!1,this.n=this.p=null}function e(e,l,r,f,h){var s,p,u=[],a=[];if(e.forEach(function(e){if(!((o=e.length-1)<=0)){var o,l,r=e[0],f=e[o];if(n(r,f)){if(!r[2]&&!f[2]){for(h.lineStart(),s=0;s<o;++s)h.point((r=e[s])[0],r[1]);return void h.lineEnd()}f[0]+=2*t}u.push(l=new i(r,e,null,!0)),a.push(l.o=new i(r,null,l,!1)),u.push(l=new i(f,e,null,!1)),a.push(l.o=new i(f,null,l,!0))}}),u.length){for(a.sort(l),o(u),o(a),s=0,p=a.length;s<p;++s)a[s].e=r=!r;for(var v,m,g=u[0];;){for(var x=g,c=!0;x.v;)if((x=x.n)===g)return;v=x.z,h.lineStart();do{if(x.v=x.o.v=!0,x.e){if(c)for(s=0,p=v.length;s<p;++s)h.point((m=v[s])[0],m[1]);else f(x.x,x.n.x,1,h);x=x.n}else{if(c)for(v=x.p.z,s=v.length-1;s>=0;--s)h.point((m=v[s])[0],m[1]);else f(x.x,x.p.x,-1,h);x=x.p}v=(x=x.o).z,c=!c}while(!x.v);h.lineEnd()}}}function o(n){if(t=n.length){for(var t,i,e=0,o=n[0];++e<t;)o.n=i=n[e],i.p=o,o=i;o.n=i=n[0],i.p=o}}export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";module.exports=function(n,t){function r(r,e){return r=n(r,e),t(r[0],r[1])}return n.invert&&t.invert&&(r.invert=function(r,e){return(r=t.invert(r,e))&&n.invert(r[0],r[1])}),r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(n,t){function r(r,e){return r=n(r,e),t(r[0],r[1])}return n.invert&&t.invert&&(r.invert=function(r,e){return(r=t.invert(r,e))&&n.invert(r[0],r[1])}),r}export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";module.exports=e=>e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a=a=>a;export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var t=Math.PI,s=t/2,a=t/4,r=2*t,e=180/t,o=t/180,n=Math.abs,p=Math.atan,x=Math.atan2,i=Math.cos,h=Math.exp,M=Math.log,u=Math.sin,c=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sqrt,f=Math.tan;exports.abs=n,exports.acos=function(s){return s>1?0:s<-1?t:Math.acos(s)},exports.asin=function(t){return t>1?s:t<-1?-s:Math.asin(t)},exports.atan=p,exports.atan2=x,exports.cos=i,exports.degrees=e,exports.epsilon=1e-6,exports.exp=h,exports.halfPi=s,exports.log=M,exports.pi=t,exports.quarterPi=a,exports.radians=o,exports.sign=c,exports.sin=u,exports.sqrt=g,exports.tan=f,exports.tau=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=1e-6,a=Math.PI,n=a/2,h=a/4,M=2*a,r=180/a,o=a/180,s=Math.abs,e=Math.atan,i=Math.atan2,u=Math.cos,c=Math.exp,f=Math.log,g=Math.sin,p=Math.sign||function(t){return t>0?1:t<0?-1:0},x=Math.sqrt,b=Math.tan;function l(t){return t>1?0:t<-1?a:Math.acos(t)}function q(t){return t>1?n:t<-1?-n:Math.asin(t)}export{s as abs,l as acos,q as asin,e as atan,i as atan2,u as cos,r as degrees,t as epsilon,c as exp,n as halfPi,f as log,a as pi,h as quarterPi,o as radians,p as sign,g as sin,x as sqrt,b as tan,M as tau};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";module.exports=function(){};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(){}export{t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=require("../noop.cjs.js"),t=1/0,o=t,r=-t,e=r,i={point:function(n,i){n<t&&(t=n);n>r&&(r=n);i<o&&(o=i);i>e&&(e=i)},lineStart:n,lineEnd:n,polygonStart:n,polygonEnd:n,result:function(){var n=[[t,o],[r,e]];return r=e=-(o=t=1/0),n}};module.exports=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import n from"../noop.esm.js";var o=1/0,t=o,r=-o,e=r,a={point:function(n,a){n<o&&(o=n);n>r&&(r=n);a<t&&(t=a);a>e&&(e=a)},lineStart:n,lineEnd:n,polygonStart:n,polygonEnd:n,result:function(){var n=[[o,t],[r,e]];return r=e=-(t=o=1/0),n}};export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var s=require("./math.cjs.js");module.exports=function(e,r){return s.abs(e[0]-r[0])<s.epsilon&&s.abs(e[1]-r[1])<s.epsilon};
|