@react-three/drei 10.7.6 → 10.8.0-alpha.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/README.md +49 -758
- package/_chunks/hls.mjs +3 -0
- package/_chunks/libs/@mediapipe/tasks-vision.mjs +4781 -0
- package/_chunks/libs/@monogrid/gainmap-js.mjs +1137 -0
- package/_chunks/libs/@use-gesture/core.mjs +1650 -0
- package/_chunks/libs/@use-gesture/react.mjs +207 -0
- package/_chunks/libs/camera-controls.mjs +2207 -0
- package/_chunks/libs/detect-gpu.mjs +515 -0
- package/_chunks/libs/hls.js.mjs +21925 -0
- package/_chunks/libs/maath.mjs +5200 -0
- package/_chunks/libs/stats-gl.mjs +301 -0
- package/_chunks/libs/stats.js.mjs +90 -0
- package/_chunks/libs/suspend-react.mjs +60 -0
- package/_chunks/libs/three.mjs +23169 -0
- package/_chunks/libs/tunnel-rat.mjs +458 -0
- package/_chunks/libs/zustand.mjs +104 -0
- package/_chunks/rolldown-runtime.mjs +47 -0
- package/_chunks/vision_bundle.mjs +3 -0
- package/core/_chunks/hls.mjs +3 -0
- package/core/_chunks/libs/@monogrid/gainmap-js.mjs +1137 -0
- package/core/_chunks/libs/@use-gesture/core.mjs +1650 -0
- package/core/_chunks/libs/@use-gesture/react.mjs +207 -0
- package/core/_chunks/libs/detect-gpu.mjs +515 -0
- package/core/_chunks/libs/hls.js.mjs +21925 -0
- package/core/_chunks/libs/maath.mjs +5200 -0
- package/core/_chunks/libs/stats-gl.mjs +301 -0
- package/core/_chunks/libs/stats.js.mjs +90 -0
- package/core/_chunks/libs/suspend-react.mjs +60 -0
- package/core/_chunks/libs/three.mjs +22457 -0
- package/core/_chunks/libs/tunnel-rat.mjs +458 -0
- package/core/_chunks/libs/zustand.mjs +104 -0
- package/core/_chunks/rolldown-runtime.mjs +47 -0
- package/core/core/index.d.mts +2232 -0
- package/core/core/index.mjs +11082 -0
- package/experimental/_chunks/libs/three.mjs +15386 -0
- package/experimental/experimental/index.d.mts +253 -0
- package/experimental/experimental/index.mjs +434 -0
- package/external/_chunks/hls.mjs +3 -0
- package/external/_chunks/libs/@mediapipe/tasks-vision.mjs +4781 -0
- package/external/_chunks/libs/camera-controls.mjs +2207 -0
- package/external/_chunks/libs/hls.js.mjs +21925 -0
- package/external/_chunks/libs/maath.mjs +5200 -0
- package/external/_chunks/libs/suspend-react.mjs +58 -0
- package/external/_chunks/libs/three.mjs +15387 -0
- package/external/_chunks/rolldown-runtime.mjs +32 -0
- package/external/_chunks/vision_bundle.mjs +3 -0
- package/external/external/index.d.mts +499 -0
- package/external/external/index.mjs +9422 -0
- package/index.d.mts +2567 -0
- package/index.mjs +20571 -0
- package/legacy/_chunks/hls.mjs +3 -0
- package/legacy/_chunks/libs/@monogrid/gainmap-js.mjs +1137 -0
- package/legacy/_chunks/libs/@use-gesture/core.mjs +1650 -0
- package/legacy/_chunks/libs/@use-gesture/react.mjs +207 -0
- package/legacy/_chunks/libs/bidi-js.mjs +675 -0
- package/legacy/_chunks/libs/detect-gpu.mjs +515 -0
- package/legacy/_chunks/libs/hls.js.mjs +21925 -0
- package/legacy/_chunks/libs/maath.mjs +5200 -0
- package/legacy/_chunks/libs/stats-gl.mjs +301 -0
- package/legacy/_chunks/libs/stats.js.mjs +90 -0
- package/legacy/_chunks/libs/suspend-react.mjs +60 -0
- package/legacy/_chunks/libs/three.mjs +26062 -0
- package/legacy/_chunks/libs/troika-three-text.mjs +6494 -0
- package/legacy/_chunks/libs/tunnel-rat.mjs +458 -0
- package/legacy/_chunks/libs/zustand.mjs +104 -0
- package/legacy/_chunks/rolldown-runtime.mjs +47 -0
- package/legacy/legacy/index.d.mts +2788 -0
- package/legacy/legacy/index.mjs +14984 -0
- package/native/_chunks/hls.mjs +3 -0
- package/native/_chunks/libs/@monogrid/gainmap-js.mjs +1137 -0
- package/native/_chunks/libs/@use-gesture/core.mjs +1650 -0
- package/native/_chunks/libs/@use-gesture/react.mjs +207 -0
- package/native/_chunks/libs/detect-gpu.mjs +515 -0
- package/native/_chunks/libs/hls.js.mjs +21925 -0
- package/native/_chunks/libs/maath.mjs +5200 -0
- package/native/_chunks/libs/stats-gl.mjs +301 -0
- package/native/_chunks/libs/stats.js.mjs +90 -0
- package/native/_chunks/libs/suspend-react.mjs +60 -0
- package/native/_chunks/libs/three.mjs +22592 -0
- package/native/_chunks/libs/tunnel-rat.mjs +458 -0
- package/native/_chunks/libs/zustand.mjs +104 -0
- package/native/_chunks/rolldown-runtime.mjs +47 -0
- package/native/native/index.d.mts +3168 -0
- package/native/native/index.mjs +14863 -0
- package/package.json +41 -10
- package/webgpu/_chunks/hls.mjs +3 -0
- package/webgpu/_chunks/libs/@monogrid/gainmap-js.mjs +1137 -0
- package/webgpu/_chunks/libs/@use-gesture/core.mjs +1650 -0
- package/webgpu/_chunks/libs/@use-gesture/react.mjs +207 -0
- package/webgpu/_chunks/libs/detect-gpu.mjs +515 -0
- package/webgpu/_chunks/libs/hls.js.mjs +21925 -0
- package/webgpu/_chunks/libs/maath.mjs +5200 -0
- package/webgpu/_chunks/libs/stats-gl.mjs +301 -0
- package/webgpu/_chunks/libs/stats.js.mjs +90 -0
- package/webgpu/_chunks/libs/suspend-react.mjs +60 -0
- package/webgpu/_chunks/libs/three.mjs +22592 -0
- package/webgpu/_chunks/libs/tunnel-rat.mjs +458 -0
- package/webgpu/_chunks/libs/zustand.mjs +104 -0
- package/webgpu/_chunks/rolldown-runtime.mjs +47 -0
- package/webgpu/webgpu/index.d.mts +3166 -0
- package/webgpu/webgpu/index.mjs +15015 -0
- package/core/AccumulativeShadows.cjs.js +0 -1
- package/core/AccumulativeShadows.d.ts +0 -59
- package/core/AccumulativeShadows.js +0 -310
- package/core/AdaptiveDpr.cjs.js +0 -1
- package/core/AdaptiveDpr.d.ts +0 -3
- package/core/AdaptiveDpr.js +0 -28
- package/core/AdaptiveEvents.cjs.js +0 -1
- package/core/AdaptiveEvents.d.ts +0 -1
- package/core/AdaptiveEvents.js +0 -20
- package/core/ArcballControls.cjs.js +0 -1
- package/core/ArcballControls.d.ts +0 -15
- package/core/ArcballControls.js +0 -67
- package/core/AsciiRenderer.cjs.js +0 -1
- package/core/AsciiRenderer.d.ts +0 -11
- package/core/AsciiRenderer.js +0 -66
- package/core/BBAnchor.cjs.js +0 -1
- package/core/BBAnchor.d.ts +0 -7
- package/core/BBAnchor.js +0 -37
- package/core/Backdrop.cjs.js +0 -1
- package/core/Backdrop.d.ts +0 -15
- package/core/Backdrop.js +0 -33
- package/core/BakeShadows.cjs.js +0 -1
- package/core/BakeShadows.d.ts +0 -1
- package/core/BakeShadows.js +0 -16
- package/core/Billboard.cjs.js +0 -1
- package/core/Billboard.d.ts +0 -10
- package/core/Billboard.js +0 -53
- package/core/Bounds.cjs.js +0 -1
- package/core/Bounds.d.ts +0 -36
- package/core/Bounds.js +0 -254
- package/core/Bvh.cjs.js +0 -1
- package/core/Bvh.d.ts +0 -19
- package/core/Bvh.js +0 -92
- package/core/CameraControls.cjs.js +0 -1
- package/core/CameraControls.d.ts +0 -48
- package/core/CameraControls.js +0 -151
- package/core/CameraShake.cjs.js +0 -1
- package/core/CameraShake.d.ts +0 -17
- package/core/CameraShake.js +0 -57
- package/core/CatmullRomLine.cjs.js +0 -1
- package/core/CatmullRomLine.d.ts +0 -10
- package/core/CatmullRomLine.js +0 -42
- package/core/Caustics.cjs.js +0 -1
- package/core/Caustics.d.ts +0 -32
- package/core/Caustics.js +0 -388
- package/core/Center.cjs.js +0 -1
- package/core/Center.d.ts +0 -33
- package/core/Center.js +0 -67
- package/core/Clone.cjs.js +0 -1
- package/core/Clone.d.ts +0 -15
- package/core/Clone.js +0 -100
- package/core/Cloud.cjs.js +0 -1
- package/core/Cloud.d.ts +0 -97
- package/core/Cloud.js +0 -231
- package/core/ComputedAttribute.cjs.js +0 -1
- package/core/ComputedAttribute.d.ts +0 -8
- package/core/ComputedAttribute.js +0 -33
- package/core/ContactShadows.cjs.js +0 -1
- package/core/ContactShadows.d.ts +0 -18
- package/core/ContactShadows.js +0 -114
- package/core/CubeCamera.cjs.js +0 -1
- package/core/CubeCamera.d.ts +0 -21
- package/core/CubeCamera.js +0 -86
- package/core/CubeTexture.cjs.js +0 -1
- package/core/CubeTexture.d.ts +0 -14
- package/core/CubeTexture.js +0 -25
- package/core/CubicBezierLine.cjs.js +0 -1
- package/core/CubicBezierLine.d.ts +0 -12
- package/core/CubicBezierLine.js +0 -28
- package/core/CurveModifier.cjs.js +0 -1
- package/core/CurveModifier.d.ts +0 -11
- package/core/CurveModifier.js +0 -27
- package/core/Decal.cjs.js +0 -1
- package/core/Decal.d.ts +0 -16
- package/core/Decal.js +0 -128
- package/core/Detailed.cjs.js +0 -1
- package/core/Detailed.d.ts +0 -10
- package/core/Detailed.js +0 -33
- package/core/DetectGPU.cjs.js +0 -1
- package/core/DetectGPU.d.ts +0 -7
- package/core/DetectGPU.js +0 -14
- package/core/DeviceOrientationControls.cjs.js +0 -1
- package/core/DeviceOrientationControls.d.ts +0 -10
- package/core/DeviceOrientationControls.js +0 -51
- package/core/Edges.cjs.js +0 -1
- package/core/Edges.d.ts +0 -13
- package/core/Edges.js +0 -38
- package/core/Effects.cjs.js +0 -1
- package/core/Effects.d.ts +0 -25
- package/core/Effects.js +0 -91
- package/core/Environment.cjs.js +0 -1
- package/core/Environment.d.ts +0 -37
- package/core/Environment.js +0 -189
- package/core/Example.cjs.js +0 -1
- package/core/Example.d.ts +0 -13
- package/core/Example.js +0 -46
- package/core/Fbo.cjs.js +0 -1
- package/core/Fbo.d.ts +0 -22
- package/core/Fbo.js +0 -63
- package/core/Fbx.cjs.js +0 -1
- package/core/Fbx.d.ts +0 -11
- package/core/Fbx.js +0 -23
- package/core/FirstPersonControls.cjs.js +0 -1
- package/core/FirstPersonControls.d.ts +0 -8
- package/core/FirstPersonControls.js +0 -38
- package/core/Fisheye.cjs.js +0 -1
- package/core/Fisheye.d.ts +0 -10
- package/core/Fisheye.js +0 -95
- package/core/Float.cjs.js +0 -1
- package/core/Float.d.ts +0 -14
- package/core/Float.js +0 -37
- package/core/FlyControls.cjs.js +0 -1
- package/core/FlyControls.d.ts +0 -10
- package/core/FlyControls.js +0 -55
- package/core/GizmoHelper.cjs.js +0 -1
- package/core/GizmoHelper.d.ts +0 -16
- package/core/GizmoHelper.js +0 -116
- package/core/GizmoViewcube.cjs.js +0 -1
- package/core/GizmoViewcube.d.ts +0 -14
- package/core/GizmoViewcube.js +0 -133
- package/core/GizmoViewport.cjs.js +0 -1
- package/core/GizmoViewport.d.ts +0 -16
- package/core/GizmoViewport.js +0 -140
- package/core/Gltf.cjs.js +0 -1
- package/core/Gltf.d.ts +0 -27
- package/core/Gltf.js +0 -52
- package/core/GradientTexture.cjs.js +0 -1
- package/core/GradientTexture.d.ts +0 -18
- package/core/GradientTexture.js +0 -54
- package/core/Grid.cjs.js +0 -1
- package/core/Grid.d.ts +0 -26
- package/core/Grid.js +0 -142
- package/core/Helper.cjs.js +0 -1
- package/core/Helper.d.ts +0 -16
- package/core/Helper.js +0 -47
- package/core/Hud.cjs.js +0 -1
- package/core/Hud.d.ts +0 -6
- package/core/Hud.js +0 -55
- package/core/Image.cjs.js +0 -1
- package/core/Image.d.ts +0 -38
- package/core/Image.js +0 -160
- package/core/Instances.cjs.js +0 -1
- package/core/Instances.d.ts +0 -64
- package/core/Instances.js +0 -313
- package/core/Ktx2.cjs.js +0 -1
- package/core/Ktx2.d.ts +0 -14
- package/core/Ktx2.js +0 -48
- package/core/Lightformer.cjs.js +0 -1
- package/core/Lightformer.d.ts +0 -15
- package/core/Lightformer.js +0 -63
- package/core/Line.cjs.js +0 -1
- package/core/Line.d.ts +0 -13
- package/core/Line.js +0 -73
- package/core/MapControls.cjs.js +0 -1
- package/core/MapControls.d.ts +0 -14
- package/core/MapControls.js +0 -63
- package/core/MarchingCubes.cjs.js +0 -1
- package/core/MarchingCubes.d.ts +0 -24
- package/core/MarchingCubes.js +0 -78
- package/core/Mask.cjs.js +0 -1
- package/core/Mask.d.ts +0 -17
- package/core/Mask.js +0 -42
- package/core/MatcapTexture.cjs.js +0 -1
- package/core/MatcapTexture.d.ts +0 -9
- package/core/MatcapTexture.js +0 -51
- package/core/MeshDiscardMaterial.cjs.js +0 -1
- package/core/MeshDiscardMaterial.d.ts +0 -10
- package/core/MeshDiscardMaterial.js +0 -15
- package/core/MeshDistortMaterial.cjs.js +0 -1
- package/core/MeshDistortMaterial.d.ts +0 -39
- package/core/MeshDistortMaterial.js +0 -72
- package/core/MeshPortalMaterial.cjs.js +0 -1
- package/core/MeshPortalMaterial.d.ts +0 -25
- package/core/MeshPortalMaterial.js +0 -467
- package/core/MeshReflectorMaterial.cjs.js +0 -1
- package/core/MeshReflectorMaterial.d.ts +0 -14
- package/core/MeshReflectorMaterial.js +0 -180
- package/core/MeshRefractionMaterial.cjs.js +0 -1
- package/core/MeshRefractionMaterial.d.ts +0 -19
- package/core/MeshRefractionMaterial.js +0 -73
- package/core/MeshTransmissionMaterial.cjs.js +0 -1
- package/core/MeshTransmissionMaterial.d.ts +0 -34
- package/core/MeshTransmissionMaterial.js +0 -402
- package/core/MeshWobbleMaterial.cjs.js +0 -1
- package/core/MeshWobbleMaterial.d.ts +0 -36
- package/core/MeshWobbleMaterial.js +0 -60
- package/core/MotionPathControls.cjs.js +0 -1
- package/core/MotionPathControls.d.ts +0 -33
- package/core/MotionPathControls.js +0 -121
- package/core/MultiMaterial.cjs.js +0 -1
- package/core/MultiMaterial.d.ts +0 -4
- package/core/MultiMaterial.js +0 -29
- package/core/NormalTexture.cjs.js +0 -1
- package/core/NormalTexture.d.ts +0 -14
- package/core/NormalTexture.js +0 -42
- package/core/OrbitControls.cjs.js +0 -1
- package/core/OrbitControls.d.ts +0 -22
- package/core/OrbitControls.js +0 -79
- package/core/OrthographicCamera.cjs.js +0 -1
- package/core/OrthographicCamera.d.ts +0 -14
- package/core/OrthographicCamera.js +0 -76
- package/core/Outlines.cjs.js +0 -1
- package/core/Outlines.d.ts +0 -17
- package/core/Outlines.js +0 -166
- package/core/PerformanceMonitor.cjs.js +0 -1
- package/core/PerformanceMonitor.d.ts +0 -36
- package/core/PerformanceMonitor.js +0 -116
- package/core/PerspectiveCamera.cjs.js +0 -1
- package/core/PerspectiveCamera.d.ts +0 -14
- package/core/PerspectiveCamera.js +0 -72
- package/core/PointMaterial.cjs.js +0 -1
- package/core/PointMaterial.d.ts +0 -8
- package/core/PointMaterial.js +0 -36
- package/core/PointerLockControls.cjs.js +0 -1
- package/core/PointerLockControls.d.ts +0 -15
- package/core/PointerLockControls.js +0 -89
- package/core/Points.cjs.js +0 -1
- package/core/Points.d.ts +0 -31
- package/core/Points.js +0 -202
- package/core/PositionalAudio.cjs.js +0 -1
- package/core/PositionalAudio.d.ts +0 -9
- package/core/PositionalAudio.js +0 -46
- package/core/Preload.cjs.js +0 -1
- package/core/Preload.d.ts +0 -7
- package/core/Preload.js +0 -44
- package/core/Progress.cjs.js +0 -1
- package/core/Progress.d.ts +0 -14
- package/core/Progress.js +0 -55
- package/core/QuadraticBezierLine.cjs.js +0 -1
- package/core/QuadraticBezierLine.d.ts +0 -14
- package/core/QuadraticBezierLine.js +0 -42
- package/core/RenderCubeTexture.cjs.js +0 -1
- package/core/RenderCubeTexture.d.ts +0 -30
- package/core/RenderCubeTexture.js +0 -96
- package/core/RenderTexture.cjs.js +0 -1
- package/core/RenderTexture.d.ts +0 -18
- package/core/RenderTexture.js +0 -105
- package/core/Resize.cjs.js +0 -1
- package/core/Resize.d.ts +0 -17
- package/core/Resize.js +0 -39
- package/core/RoundedBox.cjs.js +0 -1
- package/core/RoundedBox.d.ts +0 -14
- package/core/RoundedBox.js +0 -70
- package/core/Sampler.cjs.js +0 -1
- package/core/Sampler.d.ts +0 -28
- package/core/Sampler.js +0 -75
- package/core/ScreenQuad.cjs.js +0 -1
- package/core/ScreenQuad.d.ts +0 -5
- package/core/ScreenQuad.js +0 -25
- package/core/ScreenSizer.cjs.js +0 -1
- package/core/ScreenSizer.d.ts +0 -7
- package/core/ScreenSizer.js +0 -39
- package/core/ScreenSpace.cjs.js +0 -1
- package/core/ScreenSpace.d.ts +0 -7
- package/core/ScreenSpace.js +0 -25
- package/core/Segments.cjs.js +0 -1
- package/core/Segments.d.ts +0 -29
- package/core/Segments.js +0 -96
- package/core/Shadow.cjs.js +0 -1
- package/core/Shadow.d.ts +0 -12
- package/core/Shadow.js +0 -42
- package/core/ShadowAlpha.cjs.js +0 -1
- package/core/ShadowAlpha.d.ts +0 -7
- package/core/ShadowAlpha.js +0 -108
- package/core/Sky.cjs.js +0 -1
- package/core/Sky.d.ts +0 -16
- package/core/Sky.js +0 -39
- package/core/Sparkles.cjs.js +0 -1
- package/core/Sparkles.d.ts +0 -26
- package/core/Sparkles.js +0 -161
- package/core/Splat.cjs.js +0 -1
- package/core/Splat.d.ts +0 -56
- package/core/Splat.js +0 -506
- package/core/SpotLight.cjs.js +0 -1
- package/core/SpotLight.d.ts +0 -27
- package/core/SpotLight.js +0 -223
- package/core/SpriteAnimator.cjs.js +0 -1
- package/core/SpriteAnimator.d.ts +0 -88
- package/core/SpriteAnimator.js +0 -413
- package/core/Stage.cjs.js +0 -1
- package/core/Stage.d.ts +0 -27
- package/core/Stage.js +0 -133
- package/core/Stars.cjs.js +0 -1
- package/core/Stars.d.ts +0 -22
- package/core/Stars.js +0 -100
- package/core/Stats.cjs.js +0 -1
- package/core/Stats.d.ts +0 -7
- package/core/Stats.js +0 -32
- package/core/StatsGl.cjs.js +0 -1
- package/core/StatsGl.d.ts +0 -14
- package/core/StatsGl.js +0 -44
- package/core/Svg.cjs.js +0 -1
- package/core/Svg.d.ts +0 -13
- package/core/Svg.js +0 -62
- package/core/Text.cjs.js +0 -1
- package/core/Text.d.ts +0 -38
- package/core/Text.js +0 -57
- package/core/Text3D.cjs.js +0 -1
- package/core/Text3D.d.ts +0 -20
- package/core/Text3D.js +0 -74
- package/core/Texture.cjs.js +0 -1
- package/core/Texture.d.ts +0 -20
- package/core/Texture.js +0 -60
- package/core/TrackballControls.cjs.js +0 -1
- package/core/TrackballControls.d.ts +0 -15
- package/core/TrackballControls.js +0 -72
- package/core/Trail.cjs.js +0 -1
- package/core/Trail.d.ts +0 -21
- package/core/Trail.js +0 -150
- package/core/TrailTexture.cjs.js +0 -1
- package/core/TrailTexture.d.ts +0 -19
- package/core/TrailTexture.js +0 -159
- package/core/TransformControls.cjs.js +0 -1
- package/core/TransformControls.d.ts +0 -28
- package/core/TransformControls.js +0 -114
- package/core/VideoTexture.cjs.js +0 -1
- package/core/VideoTexture.d.ts +0 -26
- package/core/VideoTexture.js +0 -111
- package/core/Wireframe.cjs.js +0 -1
- package/core/Wireframe.d.ts +0 -15
- package/core/Wireframe.js +0 -157
- package/core/calculateScaleFactor.cjs.js +0 -1
- package/core/calculateScaleFactor.d.ts +0 -3
- package/core/calculateScaleFactor.js +0 -31
- package/core/index.cjs.js +0 -1
- package/core/index.d.ts +0 -122
- package/core/index.js +0 -150
- package/core/meshBounds.cjs.js +0 -1
- package/core/meshBounds.d.ts +0 -2
- package/core/meshBounds.js +0 -28
- package/core/shaderMaterial.cjs.js +0 -1
- package/core/shaderMaterial.d.ts +0 -9
- package/core/shaderMaterial.js +0 -29
- package/core/shapes.cjs.js +0 -1
- package/core/shapes.d.ts +0 -26
- package/core/shapes.js +0 -65
- package/core/softShadows.cjs.js +0 -1
- package/core/softShadows.d.ts +0 -6
- package/core/softShadows.js +0 -158
- package/core/useAnimations.cjs.js +0 -1
- package/core/useAnimations.d.ts +0 -13
- package/core/useAnimations.js +0 -52
- package/core/useAspect.cjs.js +0 -1
- package/core/useAspect.d.ts +0 -1
- package/core/useAspect.js +0 -10
- package/core/useBoxProjectedEnv.cjs.js +0 -1
- package/core/useBoxProjectedEnv.d.ts +0 -19
- package/core/useBoxProjectedEnv.js +0 -95
- package/core/useCamera.cjs.js +0 -1
- package/core/useCamera.d.ts +0 -3
- package/core/useCamera.js +0 -19
- package/core/useContextBridge.cjs.js +0 -1
- package/core/useContextBridge.d.ts +0 -4
- package/core/useContextBridge.js +0 -20
- package/core/useDepthBuffer.cjs.js +0 -1
- package/core/useDepthBuffer.d.ts +0 -6
- package/core/useDepthBuffer.js +0 -38
- package/core/useEnvironment.cjs.js +0 -1
- package/core/useEnvironment.d.ts +0 -17
- package/core/useEnvironment.js +0 -150
- package/core/useFont.cjs.js +0 -1
- package/core/useFont.d.ts +0 -24
- package/core/useFont.js +0 -24
- package/core/useIntersect.cjs.js +0 -1
- package/core/useIntersect.d.ts +0 -3
- package/core/useIntersect.js +0 -36
- package/core/useSpriteLoader.cjs.js +0 -1
- package/core/useSpriteLoader.d.ts +0 -57
- package/core/useSpriteLoader.js +0 -402
- package/helpers/constants.cjs.js +0 -1
- package/helpers/constants.d.ts +0 -1
- package/helpers/constants.js +0 -6
- package/helpers/deprecated.cjs.js +0 -1
- package/helpers/deprecated.d.ts +0 -5
- package/helpers/deprecated.js +0 -8
- package/helpers/environment-assets.cjs.js +0 -1
- package/helpers/environment-assets.d.ts +0 -13
- package/helpers/environment-assets.js +0 -14
- package/helpers/glsl/DefaultSpotlightShadowShadows.glsl.js +0 -3
- package/helpers/glsl/distort.vert.glsl.js +0 -3
- package/helpers/ts-utils.cjs.js +0 -1
- package/helpers/ts-utils.d.ts +0 -7
- package/helpers/ts-utils.js +0 -1
- package/helpers/useEffectfulState.cjs.js +0 -1
- package/helpers/useEffectfulState.d.ts +0 -4
- package/helpers/useEffectfulState.js +0 -17
- package/index.cjs.js +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -139
- package/materials/BlurPass.cjs.js +0 -1
- package/materials/BlurPass.d.ts +0 -23
- package/materials/BlurPass.js +0 -72
- package/materials/ConvolutionMaterial.cjs.js +0 -1
- package/materials/ConvolutionMaterial.d.ts +0 -7
- package/materials/ConvolutionMaterial.js +0 -97
- package/materials/DiscardMaterial.cjs.js +0 -1
- package/materials/DiscardMaterial.d.ts +0 -3
- package/materials/DiscardMaterial.js +0 -5
- package/materials/MeshReflectorMaterial.cjs.js +0 -1
- package/materials/MeshReflectorMaterial.d.ts +0 -50
- package/materials/MeshReflectorMaterial.js +0 -256
- package/materials/MeshRefractionMaterial.cjs.js +0 -1
- package/materials/MeshRefractionMaterial.d.ts +0 -18
- package/materials/MeshRefractionMaterial.js +0 -163
- package/materials/SpotLightMaterial.cjs.js +0 -1
- package/materials/SpotLightMaterial.d.ts +0 -4
- package/materials/SpotLightMaterial.js +0 -115
- package/materials/WireframeMaterial.cjs.js +0 -1
- package/materials/WireframeMaterial.d.ts +0 -64
- package/materials/WireframeMaterial.js +0 -217
- package/native/index.cjs.js +0 -1
- package/native/index.d.ts +0 -1
- package/native/index.js +0 -150
- package/web/CycleRaycast.cjs.js +0 -1
- package/web/CycleRaycast.d.ts +0 -10
- package/web/CycleRaycast.js +0 -93
- package/web/DragControls.cjs.js +0 -1
- package/web/DragControls.d.ts +0 -17
- package/web/DragControls.js +0 -127
- package/web/FaceControls.cjs.js +0 -1
- package/web/FaceControls.d.ts +0 -29
- package/web/FaceControls.js +0 -236
- package/web/FaceLandmarker.cjs.js +0 -1
- package/web/FaceLandmarker.d.ts +0 -14
- package/web/FaceLandmarker.js +0 -49
- package/web/Facemesh.cjs.js +0 -1
- package/web/Facemesh.d.ts +0 -118
- package/web/Facemesh.js +0 -4538
- package/web/Html.cjs.js +0 -1
- package/web/Html.d.ts +0 -34
- package/web/Html.js +0 -375
- package/web/KeyboardControls.cjs.js +0 -1
- package/web/KeyboardControls.d.ts +0 -37
- package/web/KeyboardControls.js +0 -104
- package/web/Loader.cjs.js +0 -1
- package/web/Loader.d.ts +0 -12
- package/web/Loader.js +0 -101
- package/web/PresentationControls.cjs.js +0 -1
- package/web/PresentationControls.d.ts +0 -16
- package/web/PresentationControls.js +0 -79
- package/web/ScreenVideoTexture.cjs.js +0 -1
- package/web/ScreenVideoTexture.d.ts +0 -17
- package/web/ScreenVideoTexture.js +0 -30
- package/web/ScrollControls.cjs.js +0 -1
- package/web/ScrollControls.d.ts +0 -45
- package/web/ScrollControls.js +0 -237
- package/web/Select.cjs.js +0 -1
- package/web/Select.d.ts +0 -14
- package/web/Select.js +0 -171
- package/web/View.cjs.js +0 -1
- package/web/View.d.ts +0 -34
- package/web/View.js +0 -259
- package/web/WebcamVideoTexture.cjs.js +0 -1
- package/web/WebcamVideoTexture.d.ts +0 -17
- package/web/WebcamVideoTexture.js +0 -33
- package/web/index.cjs.js +0 -1
- package/web/index.d.ts +0 -17
- package/web/index.js +0 -176
- package/web/pivotControls/AxisArrow.cjs.js +0 -1
- package/web/pivotControls/AxisArrow.d.ts +0 -7
- package/web/pivotControls/AxisArrow.js +0 -193
- package/web/pivotControls/AxisRotator.cjs.js +0 -1
- package/web/pivotControls/AxisRotator.d.ts +0 -7
- package/web/pivotControls/AxisRotator.js +0 -220
- package/web/pivotControls/PlaneSlider.cjs.js +0 -1
- package/web/pivotControls/PlaneSlider.d.ts +0 -7
- package/web/pivotControls/PlaneSlider.js +0 -202
- package/web/pivotControls/ScalingSphere.cjs.js +0 -1
- package/web/pivotControls/ScalingSphere.d.ts +0 -7
- package/web/pivotControls/ScalingSphere.js +0 -192
- package/web/pivotControls/context.cjs.js +0 -1
- package/web/pivotControls/context.d.ts +0 -33
- package/web/pivotControls/context.js +0 -5
- package/web/pivotControls/index.cjs.js +0 -1
- package/web/pivotControls/index.d.ts +0 -39
- package/web/pivotControls/index.js +0 -213
- package/web/useCursor.cjs.js +0 -1
- package/web/useCursor.d.ts +0 -1
- package/web/useCursor.js +0 -12
package/core/GradientTexture.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { useThree } from '@react-three/fiber';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
|
|
6
|
-
let GradientType = /*#__PURE__*/function (GradientType) {
|
|
7
|
-
GradientType["Linear"] = "linear";
|
|
8
|
-
GradientType["Radial"] = "radial";
|
|
9
|
-
return GradientType;
|
|
10
|
-
}({});
|
|
11
|
-
function GradientTexture({
|
|
12
|
-
stops,
|
|
13
|
-
colors,
|
|
14
|
-
size = 1024,
|
|
15
|
-
width = 16,
|
|
16
|
-
type = GradientType.Linear,
|
|
17
|
-
innerCircleRadius = 0,
|
|
18
|
-
outerCircleRadius = 'auto',
|
|
19
|
-
...props
|
|
20
|
-
}) {
|
|
21
|
-
const gl = useThree(state => state.gl);
|
|
22
|
-
const canvas = React.useMemo(() => {
|
|
23
|
-
const canvas = document.createElement('canvas');
|
|
24
|
-
const context = canvas.getContext('2d');
|
|
25
|
-
canvas.width = width;
|
|
26
|
-
canvas.height = size;
|
|
27
|
-
let gradient;
|
|
28
|
-
if (type === GradientType.Linear) {
|
|
29
|
-
gradient = context.createLinearGradient(0, 0, 0, size);
|
|
30
|
-
} else {
|
|
31
|
-
const canvasCenterX = canvas.width / 2;
|
|
32
|
-
const canvasCenterY = canvas.height / 2;
|
|
33
|
-
const radius = outerCircleRadius !== 'auto' ? Math.abs(Number(outerCircleRadius)) : Math.sqrt(canvasCenterX ** 2 + canvasCenterY ** 2);
|
|
34
|
-
gradient = context.createRadialGradient(canvasCenterX, canvasCenterY, Math.abs(innerCircleRadius), canvasCenterX, canvasCenterY, radius);
|
|
35
|
-
}
|
|
36
|
-
const tempColor = new THREE.Color(); // reuse instance for performance
|
|
37
|
-
let i = stops.length;
|
|
38
|
-
while (i--) {
|
|
39
|
-
gradient.addColorStop(stops[i], tempColor.set(colors[i]).getStyle());
|
|
40
|
-
}
|
|
41
|
-
context.save();
|
|
42
|
-
context.fillStyle = gradient;
|
|
43
|
-
context.fillRect(0, 0, width, size);
|
|
44
|
-
context.restore();
|
|
45
|
-
return canvas;
|
|
46
|
-
}, [stops]);
|
|
47
|
-
return /*#__PURE__*/React.createElement("canvasTexture", _extends({
|
|
48
|
-
colorSpace: gl.outputColorSpace,
|
|
49
|
-
args: [canvas],
|
|
50
|
-
attach: "map"
|
|
51
|
-
}, props));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { GradientTexture, GradientType };
|
package/core/Grid.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),n=require("react"),o=require("three"),i=require("@react-three/fiber"),r=require("./shaderMaterial.cjs.js"),t=require("../helpers/constants.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var i=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,i.get?i:{enumerable:!0,get:function(){return e[o]}})}})),n.default=e,Object.freeze(n)}var s=l(e),c=a(n),f=a(o);const d=r.shaderMaterial({cellSize:.5,sectionSize:1,fadeDistance:100,fadeStrength:1,fadeFrom:1,cellThickness:.5,sectionThickness:1,cellColor:new f.Color,sectionColor:new f.Color,infiniteGrid:!1,followCamera:!1,worldCamProjPosition:new f.Vector3,worldPlanePosition:new f.Vector3},"\n varying vec3 localPosition;\n varying vec4 worldPosition;\n\n uniform vec3 worldCamProjPosition;\n uniform vec3 worldPlanePosition;\n uniform float fadeDistance;\n uniform bool infiniteGrid;\n uniform bool followCamera;\n\n void main() {\n localPosition = position.xzy;\n if (infiniteGrid) localPosition *= 1.0 + fadeDistance;\n \n worldPosition = modelMatrix * vec4(localPosition, 1.0);\n if (followCamera) {\n worldPosition.xyz += (worldCamProjPosition - worldPlanePosition);\n localPosition = (inverse(modelMatrix) * worldPosition).xyz;\n }\n\n gl_Position = projectionMatrix * viewMatrix * worldPosition;\n }\n ",`\n varying vec3 localPosition;\n varying vec4 worldPosition;\n\n uniform vec3 worldCamProjPosition;\n uniform float cellSize;\n uniform float sectionSize;\n uniform vec3 cellColor;\n uniform vec3 sectionColor;\n uniform float fadeDistance;\n uniform float fadeStrength;\n uniform float fadeFrom;\n uniform float cellThickness;\n uniform float sectionThickness;\n\n float getGrid(float size, float thickness) {\n vec2 r = localPosition.xz / size;\n vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r);\n float line = min(grid.x, grid.y) + 1.0 - thickness;\n return 1.0 - min(line, 1.0);\n }\n\n void main() {\n float g1 = getGrid(cellSize, cellThickness);\n float g2 = getGrid(sectionSize, sectionThickness);\n\n vec3 from = worldCamProjPosition*vec3(fadeFrom);\n float dist = distance(from, worldPosition.xyz);\n float d = 1.0 - min(dist / fadeDistance, 1.0);\n vec3 color = mix(cellColor, sectionColor, min(1.0, sectionThickness * g2));\n\n gl_FragColor = vec4(color, (g1 + g2) * pow(d, fadeStrength));\n gl_FragColor.a = mix(0.75 * gl_FragColor.a, gl_FragColor.a, g2);\n if (gl_FragColor.a <= 0.0) discard;\n\n #include <tonemapping_fragment>\n #include <${t.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }\n `),m=c.forwardRef((({args:e,cellColor:n="#000000",sectionColor:o="#2080ff",cellSize:r=.5,sectionSize:t=1,followCamera:l=!1,infiniteGrid:a=!1,fadeDistance:m=100,fadeStrength:u=1,fadeFrom:g=1,cellThickness:P=.5,sectionThickness:v=1,side:w=f.BackSide,...C},h)=>{i.extend({GridMaterial:d});const p=c.useRef(null);c.useImperativeHandle(h,(()=>p.current),[]);const x=new f.Plane,j=new f.Vector3(0,1,0),z=new f.Vector3(0,0,0);i.useFrame((e=>{x.setFromNormalAndCoplanarPoint(j,z).applyMatrix4(p.current.matrixWorld);const n=p.current.material,o=n.uniforms.worldCamProjPosition,i=n.uniforms.worldPlanePosition;x.projectPoint(e.camera.position,o.value),i.value.set(0,0,0).applyMatrix4(p.current.matrixWorld)}));const y={cellSize:r,sectionSize:t,cellColor:n,sectionColor:o,cellThickness:P,sectionThickness:v},S={fadeDistance:m,fadeStrength:u,fadeFrom:g,infiniteGrid:a,followCamera:l};return c.createElement("mesh",s.default({ref:p,frustumCulled:!1},C),c.createElement("gridMaterial",s.default({transparent:!0,"extensions-derivatives":!0,side:w},y,S)),c.createElement("planeGeometry",{args:e}))}));exports.Grid=m;
|
package/core/Grid.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { ThreeElements } from '@react-three/fiber';
|
|
3
|
-
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
4
|
-
export type GridMaterialType = {
|
|
5
|
-
cellSize?: number;
|
|
6
|
-
cellThickness?: number;
|
|
7
|
-
cellColor?: THREE.ColorRepresentation;
|
|
8
|
-
sectionSize?: number;
|
|
9
|
-
sectionThickness?: number;
|
|
10
|
-
sectionColor?: THREE.ColorRepresentation;
|
|
11
|
-
followCamera?: boolean;
|
|
12
|
-
infiniteGrid?: boolean;
|
|
13
|
-
fadeDistance?: number;
|
|
14
|
-
fadeStrength?: number;
|
|
15
|
-
fadeFrom?: number;
|
|
16
|
-
side?: THREE.Side;
|
|
17
|
-
};
|
|
18
|
-
export type GridProps = Omit<ThreeElements['mesh'], 'ref' | 'args'> & GridMaterialType & {
|
|
19
|
-
args?: ConstructorParameters<typeof THREE.PlaneGeometry>;
|
|
20
|
-
};
|
|
21
|
-
declare module '@react-three/fiber' {
|
|
22
|
-
interface ThreeElements {
|
|
23
|
-
gridMaterial: ThreeElements['shaderMaterial'] & GridMaterialType;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export declare const Grid: ForwardRefComponent<GridProps, THREE.Mesh>;
|
package/core/Grid.js
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import * as THREE from 'three';
|
|
4
|
-
import { extend, useFrame } from '@react-three/fiber';
|
|
5
|
-
import { shaderMaterial } from './shaderMaterial.js';
|
|
6
|
-
import { version } from '../helpers/constants.js';
|
|
7
|
-
|
|
8
|
-
const GridMaterial = /* @__PURE__ */shaderMaterial({
|
|
9
|
-
cellSize: 0.5,
|
|
10
|
-
sectionSize: 1,
|
|
11
|
-
fadeDistance: 100,
|
|
12
|
-
fadeStrength: 1,
|
|
13
|
-
fadeFrom: 1,
|
|
14
|
-
cellThickness: 0.5,
|
|
15
|
-
sectionThickness: 1,
|
|
16
|
-
cellColor: /* @__PURE__ */new THREE.Color(),
|
|
17
|
-
sectionColor: /* @__PURE__ */new THREE.Color(),
|
|
18
|
-
infiniteGrid: false,
|
|
19
|
-
followCamera: false,
|
|
20
|
-
worldCamProjPosition: /* @__PURE__ */new THREE.Vector3(),
|
|
21
|
-
worldPlanePosition: /* @__PURE__ */new THREE.Vector3()
|
|
22
|
-
}, /* glsl */`
|
|
23
|
-
varying vec3 localPosition;
|
|
24
|
-
varying vec4 worldPosition;
|
|
25
|
-
|
|
26
|
-
uniform vec3 worldCamProjPosition;
|
|
27
|
-
uniform vec3 worldPlanePosition;
|
|
28
|
-
uniform float fadeDistance;
|
|
29
|
-
uniform bool infiniteGrid;
|
|
30
|
-
uniform bool followCamera;
|
|
31
|
-
|
|
32
|
-
void main() {
|
|
33
|
-
localPosition = position.xzy;
|
|
34
|
-
if (infiniteGrid) localPosition *= 1.0 + fadeDistance;
|
|
35
|
-
|
|
36
|
-
worldPosition = modelMatrix * vec4(localPosition, 1.0);
|
|
37
|
-
if (followCamera) {
|
|
38
|
-
worldPosition.xyz += (worldCamProjPosition - worldPlanePosition);
|
|
39
|
-
localPosition = (inverse(modelMatrix) * worldPosition).xyz;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
gl_Position = projectionMatrix * viewMatrix * worldPosition;
|
|
43
|
-
}
|
|
44
|
-
`, /* glsl */`
|
|
45
|
-
varying vec3 localPosition;
|
|
46
|
-
varying vec4 worldPosition;
|
|
47
|
-
|
|
48
|
-
uniform vec3 worldCamProjPosition;
|
|
49
|
-
uniform float cellSize;
|
|
50
|
-
uniform float sectionSize;
|
|
51
|
-
uniform vec3 cellColor;
|
|
52
|
-
uniform vec3 sectionColor;
|
|
53
|
-
uniform float fadeDistance;
|
|
54
|
-
uniform float fadeStrength;
|
|
55
|
-
uniform float fadeFrom;
|
|
56
|
-
uniform float cellThickness;
|
|
57
|
-
uniform float sectionThickness;
|
|
58
|
-
|
|
59
|
-
float getGrid(float size, float thickness) {
|
|
60
|
-
vec2 r = localPosition.xz / size;
|
|
61
|
-
vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r);
|
|
62
|
-
float line = min(grid.x, grid.y) + 1.0 - thickness;
|
|
63
|
-
return 1.0 - min(line, 1.0);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
void main() {
|
|
67
|
-
float g1 = getGrid(cellSize, cellThickness);
|
|
68
|
-
float g2 = getGrid(sectionSize, sectionThickness);
|
|
69
|
-
|
|
70
|
-
vec3 from = worldCamProjPosition*vec3(fadeFrom);
|
|
71
|
-
float dist = distance(from, worldPosition.xyz);
|
|
72
|
-
float d = 1.0 - min(dist / fadeDistance, 1.0);
|
|
73
|
-
vec3 color = mix(cellColor, sectionColor, min(1.0, sectionThickness * g2));
|
|
74
|
-
|
|
75
|
-
gl_FragColor = vec4(color, (g1 + g2) * pow(d, fadeStrength));
|
|
76
|
-
gl_FragColor.a = mix(0.75 * gl_FragColor.a, gl_FragColor.a, g2);
|
|
77
|
-
if (gl_FragColor.a <= 0.0) discard;
|
|
78
|
-
|
|
79
|
-
#include <tonemapping_fragment>
|
|
80
|
-
#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
|
|
81
|
-
}
|
|
82
|
-
`);
|
|
83
|
-
const Grid = /* @__PURE__ */React.forwardRef(({
|
|
84
|
-
args,
|
|
85
|
-
cellColor = '#000000',
|
|
86
|
-
sectionColor = '#2080ff',
|
|
87
|
-
cellSize = 0.5,
|
|
88
|
-
sectionSize = 1,
|
|
89
|
-
followCamera = false,
|
|
90
|
-
infiniteGrid = false,
|
|
91
|
-
fadeDistance = 100,
|
|
92
|
-
fadeStrength = 1,
|
|
93
|
-
fadeFrom = 1,
|
|
94
|
-
cellThickness = 0.5,
|
|
95
|
-
sectionThickness = 1,
|
|
96
|
-
side = THREE.BackSide,
|
|
97
|
-
...props
|
|
98
|
-
}, fRef) => {
|
|
99
|
-
extend({
|
|
100
|
-
GridMaterial
|
|
101
|
-
});
|
|
102
|
-
const ref = React.useRef(null);
|
|
103
|
-
React.useImperativeHandle(fRef, () => ref.current, []);
|
|
104
|
-
const plane = new THREE.Plane();
|
|
105
|
-
const upVector = new THREE.Vector3(0, 1, 0);
|
|
106
|
-
const zeroVector = new THREE.Vector3(0, 0, 0);
|
|
107
|
-
useFrame(state => {
|
|
108
|
-
plane.setFromNormalAndCoplanarPoint(upVector, zeroVector).applyMatrix4(ref.current.matrixWorld);
|
|
109
|
-
const gridMaterial = ref.current.material;
|
|
110
|
-
const worldCamProjPosition = gridMaterial.uniforms.worldCamProjPosition;
|
|
111
|
-
const worldPlanePosition = gridMaterial.uniforms.worldPlanePosition;
|
|
112
|
-
plane.projectPoint(state.camera.position, worldCamProjPosition.value);
|
|
113
|
-
worldPlanePosition.value.set(0, 0, 0).applyMatrix4(ref.current.matrixWorld);
|
|
114
|
-
});
|
|
115
|
-
const uniforms1 = {
|
|
116
|
-
cellSize,
|
|
117
|
-
sectionSize,
|
|
118
|
-
cellColor,
|
|
119
|
-
sectionColor,
|
|
120
|
-
cellThickness,
|
|
121
|
-
sectionThickness
|
|
122
|
-
};
|
|
123
|
-
const uniforms2 = {
|
|
124
|
-
fadeDistance,
|
|
125
|
-
fadeStrength,
|
|
126
|
-
fadeFrom,
|
|
127
|
-
infiniteGrid,
|
|
128
|
-
followCamera
|
|
129
|
-
};
|
|
130
|
-
return /*#__PURE__*/React.createElement("mesh", _extends({
|
|
131
|
-
ref: ref,
|
|
132
|
-
frustumCulled: false
|
|
133
|
-
}, props), /*#__PURE__*/React.createElement("gridMaterial", _extends({
|
|
134
|
-
transparent: true,
|
|
135
|
-
"extensions-derivatives": true,
|
|
136
|
-
side: side
|
|
137
|
-
}, uniforms1, uniforms2)), /*#__PURE__*/React.createElement("planeGeometry", {
|
|
138
|
-
args: args
|
|
139
|
-
}));
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
export { Grid };
|
package/core/Helper.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@react-three/fiber");function t(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var u=t(e);function n(e,t,...n){const c=u.useRef(null),l=r.useThree((e=>e.scene));return u.useLayoutEffect((()=>{let r;if(e&&null!=e&&e.current&&t&&(c.current=r=new t(e.current,...n)),r)return r.traverse((e=>e.raycast=()=>null)),l.add(r),()=>{c.current=void 0,l.remove(r),null==r.dispose||r.dispose()}}),[l,t,e,...n]),r.useFrame((()=>{var e;null==(e=c.current)||null==e.update||e.update()})),c}exports.Helper=({type:e,args:r=[]})=>{const t=u.useRef(null),c=u.useRef(null);return u.useLayoutEffect((()=>{c.current=t.current.parent})),n(c,e,...r),u.createElement("object3D",{ref:t})},exports.useHelper=n;
|
package/core/Helper.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Object3D } from 'three';
|
|
3
|
-
import { Falsey } from 'utility-types';
|
|
4
|
-
type HelperType = Object3D & {
|
|
5
|
-
update: () => void;
|
|
6
|
-
dispose: () => void;
|
|
7
|
-
};
|
|
8
|
-
type HelperConstructor = new (...args: any[]) => any;
|
|
9
|
-
type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
|
|
10
|
-
export declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
|
|
11
|
-
export type HelperProps<T extends HelperConstructor> = {
|
|
12
|
-
type: T;
|
|
13
|
-
args?: HelperArgs<ConstructorParameters<T>>;
|
|
14
|
-
};
|
|
15
|
-
export declare const Helper: <T extends HelperConstructor>({ type: helperConstructor, args, }: HelperProps<T>) => React.JSX.Element;
|
|
16
|
-
export {};
|
package/core/Helper.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { useThree, useFrame } from '@react-three/fiber';
|
|
3
|
-
|
|
4
|
-
function useHelper(object3D, helperConstructor, ...args) {
|
|
5
|
-
const helper = React.useRef(null);
|
|
6
|
-
const scene = useThree(state => state.scene);
|
|
7
|
-
React.useLayoutEffect(() => {
|
|
8
|
-
let currentHelper = undefined;
|
|
9
|
-
if (object3D && object3D != null && object3D.current && helperConstructor) {
|
|
10
|
-
helper.current = currentHelper = new helperConstructor(object3D.current, ...args);
|
|
11
|
-
}
|
|
12
|
-
if (currentHelper) {
|
|
13
|
-
// Prevent the helpers from blocking rays
|
|
14
|
-
currentHelper.traverse(child => child.raycast = () => null);
|
|
15
|
-
scene.add(currentHelper);
|
|
16
|
-
return () => {
|
|
17
|
-
helper.current = undefined;
|
|
18
|
-
scene.remove(currentHelper);
|
|
19
|
-
currentHelper.dispose == null || currentHelper.dispose();
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}, [scene, helperConstructor, object3D, ...args]);
|
|
23
|
-
useFrame(() => {
|
|
24
|
-
var _helper$current;
|
|
25
|
-
return void ((_helper$current = helper.current) == null || _helper$current.update == null ? void 0 : _helper$current.update());
|
|
26
|
-
});
|
|
27
|
-
return helper;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
const Helper = ({
|
|
33
|
-
type: helperConstructor,
|
|
34
|
-
args = []
|
|
35
|
-
}) => {
|
|
36
|
-
const thisRef = React.useRef(null);
|
|
37
|
-
const parentRef = React.useRef(null);
|
|
38
|
-
React.useLayoutEffect(() => {
|
|
39
|
-
parentRef.current = thisRef.current.parent;
|
|
40
|
-
});
|
|
41
|
-
useHelper(parentRef, helperConstructor, ...args);
|
|
42
|
-
return /*#__PURE__*/React.createElement("object3D", {
|
|
43
|
-
ref: thisRef
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export { Helper, useHelper };
|
package/core/Hud.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=n(e),u=n(r);function c({defaultScene:e,defaultCamera:r,renderPriority:n=1}){const{gl:a,scene:c,camera:l}=t.useThree();let o;return t.useFrame((()=>{o=a.autoClear,1===n&&(a.autoClear=!0,a.render(e,r)),a.autoClear=!1,a.clearDepth(),a.render(c,l),a.autoClear=o}),n),u.createElement("group",{onPointerOver:()=>null})}exports.Hud=function({children:e,renderPriority:r=1}){const{scene:n,camera:l}=t.useThree(),[o]=u.useState((()=>new a.Scene));return u.createElement(u.Fragment,null,t.createPortal(u.createElement(u.Fragment,null,e,u.createElement(c,{defaultScene:n,defaultCamera:l,renderPriority:r})),o,{events:{priority:r+1}}))};
|
package/core/Hud.d.ts
DELETED
package/core/Hud.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { useThree, createPortal, useFrame } from '@react-three/fiber';
|
|
4
|
-
|
|
5
|
-
function RenderHud({
|
|
6
|
-
defaultScene,
|
|
7
|
-
defaultCamera,
|
|
8
|
-
renderPriority = 1
|
|
9
|
-
}) {
|
|
10
|
-
const {
|
|
11
|
-
gl,
|
|
12
|
-
scene,
|
|
13
|
-
camera
|
|
14
|
-
} = useThree();
|
|
15
|
-
let oldCLear;
|
|
16
|
-
useFrame(() => {
|
|
17
|
-
oldCLear = gl.autoClear;
|
|
18
|
-
if (renderPriority === 1) {
|
|
19
|
-
// Clear scene and render the default scene
|
|
20
|
-
gl.autoClear = true;
|
|
21
|
-
gl.render(defaultScene, defaultCamera);
|
|
22
|
-
}
|
|
23
|
-
// Disable cleaning and render the portal with its own camera
|
|
24
|
-
gl.autoClear = false;
|
|
25
|
-
gl.clearDepth();
|
|
26
|
-
gl.render(scene, camera);
|
|
27
|
-
// Restore default
|
|
28
|
-
gl.autoClear = oldCLear;
|
|
29
|
-
}, renderPriority);
|
|
30
|
-
// Without an element that receives pointer events state.pointer will always be 0/0
|
|
31
|
-
return /*#__PURE__*/React.createElement("group", {
|
|
32
|
-
onPointerOver: () => null
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
function Hud({
|
|
36
|
-
children,
|
|
37
|
-
renderPriority = 1
|
|
38
|
-
}) {
|
|
39
|
-
const {
|
|
40
|
-
scene: defaultScene,
|
|
41
|
-
camera: defaultCamera
|
|
42
|
-
} = useThree();
|
|
43
|
-
const [hudScene] = React.useState(() => new THREE.Scene());
|
|
44
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, createPortal(/*#__PURE__*/React.createElement(React.Fragment, null, children, /*#__PURE__*/React.createElement(RenderHud, {
|
|
45
|
-
defaultScene: defaultScene,
|
|
46
|
-
defaultCamera: defaultCamera,
|
|
47
|
-
renderPriority: renderPriority
|
|
48
|
-
})), hudScene, {
|
|
49
|
-
events: {
|
|
50
|
-
priority: renderPriority + 1
|
|
51
|
-
}
|
|
52
|
-
}));
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export { Hud };
|
package/core/Image.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),a=require("./shaderMaterial.cjs.js"),o=require("./Texture.cjs.js"),s=require("../helpers/constants.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var l=i(e),u=c(r),f=c(t);const v=a.shaderMaterial({color:new f.Color("white"),scale:new f.Vector2(1,1),imageBounds:new f.Vector2(1,1),resolution:1024,map:null,zoom:1,radius:0,grayscale:0,opacity:1},"\n varying vec2 vUv;\n varying vec2 vPos;\n void main() {\n gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.);\n vUv = uv;\n vPos = position.xy;\n }\n",`\n // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44\n varying vec2 vUv;\n varying vec2 vPos;\n uniform vec2 scale;\n uniform vec2 imageBounds;\n uniform float resolution;\n uniform vec3 color;\n uniform sampler2D map;\n uniform float radius;\n uniform float zoom;\n uniform float grayscale;\n uniform float opacity;\n const vec3 luma = vec3(.299, 0.587, 0.114);\n vec4 toGrayscale(vec4 color, float intensity) {\n return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a);\n }\n vec2 aspect(vec2 size) {\n return size / min(size.x, size.y);\n }\n \n const float PI = 3.14159265;\n \n // from https://iquilezles.org/articles/distfunctions\n float udRoundBox( vec2 p, vec2 b, float r ) {\n return length(max(abs(p)-b+r,0.0))-r;\n }\n\n void main() {\n vec2 s = aspect(scale);\n vec2 i = aspect(imageBounds);\n float rs = s.x / s.y;\n float ri = i.x / i.y;\n vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x);\n vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new;\n vec2 uv = vUv * s / new + offset;\n vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5);\n\n vec2 res = vec2(scale * resolution);\n vec2 halfRes = 0.5 * res;\n float b = udRoundBox(vUv.xy * res - halfRes, halfRes, resolution * radius); \n\t vec3 a = mix(vec3(1.0,0.0,0.0), vec3(0.0,0.0,0.0), smoothstep(0.0, 1.0, b));\n gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, opacity * a), grayscale);\n \n #include <tonemapping_fragment>\n #include <${s.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }\n`),m=u.forwardRef((({children:e,color:r,segments:t=1,scale:a=1,zoom:o=1,grayscale:s=0,opacity:i=1,radius:c=0,texture:f,toneMapped:m,transparent:d,side:y,...g},p)=>{n.extend({ImageMaterial:v});const x=u.useRef(null),h=n.useThree((e=>e.size)),b=Array.isArray(a)?[a[0],a[1]]:[a,a],w=[f.image.width,f.image.height],j=Math.max(h.width,h.height);return u.useImperativeHandle(p,(()=>x.current),[]),u.useLayoutEffect((()=>{x.current.geometry.parameters&&x.current.material.scale.set(b[0]*x.current.geometry.parameters.width,b[1]*x.current.geometry.parameters.height)}),[b[0],b[1]]),u.createElement("mesh",l.default({ref:x,scale:Array.isArray(a)?[...a,1]:a},g),u.createElement("planeGeometry",{args:[1,1,t,t]}),u.createElement("imageMaterial",{color:r,map:f,zoom:o,grayscale:s,opacity:i,scale:b,imageBounds:w,resolution:j,radius:c,toneMapped:m,transparent:d,side:y,key:v.key}),e)})),d=u.forwardRef((({url:e,...r},t)=>{const n=o.useTexture(e);return u.createElement(m,l.default({},r,{texture:n,ref:t}))})),y=u.forwardRef((({url:e,...r},t)=>u.createElement(m,l.default({},r,{ref:t})))),g=u.forwardRef(((e,r)=>{if(e.url)return u.createElement(d,l.default({},e,{ref:r}));if(e.texture)return u.createElement(y,l.default({},e,{ref:r}));throw new Error("<Image /> requires a url or texture")}));exports.Image=g;
|
package/core/Image.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { Color, ThreeElements } from '@react-three/fiber';
|
|
3
|
-
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
4
|
-
export type ImageProps = Omit<ThreeElements['mesh'], 'scale'> & {
|
|
5
|
-
segments?: number;
|
|
6
|
-
scale?: number | [number, number];
|
|
7
|
-
color?: Color;
|
|
8
|
-
zoom?: number;
|
|
9
|
-
radius?: number;
|
|
10
|
-
grayscale?: number;
|
|
11
|
-
toneMapped?: boolean;
|
|
12
|
-
transparent?: boolean;
|
|
13
|
-
opacity?: number;
|
|
14
|
-
side?: THREE.Side;
|
|
15
|
-
} & ({
|
|
16
|
-
texture: THREE.Texture;
|
|
17
|
-
url?: never;
|
|
18
|
-
} | {
|
|
19
|
-
texture?: never;
|
|
20
|
-
url: string;
|
|
21
|
-
});
|
|
22
|
-
type ImageMaterialType = ThreeElements['shaderMaterial'] & {
|
|
23
|
-
scale?: number[];
|
|
24
|
-
imageBounds?: number[];
|
|
25
|
-
radius?: number;
|
|
26
|
-
resolution?: number;
|
|
27
|
-
color?: Color;
|
|
28
|
-
map: THREE.Texture;
|
|
29
|
-
zoom?: number;
|
|
30
|
-
grayscale?: number;
|
|
31
|
-
};
|
|
32
|
-
declare module '@react-three/fiber' {
|
|
33
|
-
interface ThreeElements {
|
|
34
|
-
imageMaterial: ImageMaterialType;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export declare const Image: ForwardRefComponent<ImageProps, THREE.Mesh>;
|
|
38
|
-
export {};
|
package/core/Image.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import * as THREE from 'three';
|
|
4
|
-
import { extend, useThree } from '@react-three/fiber';
|
|
5
|
-
import { shaderMaterial } from './shaderMaterial.js';
|
|
6
|
-
import { useTexture } from './Texture.js';
|
|
7
|
-
import { version } from '../helpers/constants.js';
|
|
8
|
-
|
|
9
|
-
// {texture: THREE.Texture} XOR {url: string}
|
|
10
|
-
|
|
11
|
-
const ImageMaterialImpl = /* @__PURE__ */shaderMaterial({
|
|
12
|
-
color: /* @__PURE__ */new THREE.Color('white'),
|
|
13
|
-
scale: /* @__PURE__ */new THREE.Vector2(1, 1),
|
|
14
|
-
imageBounds: /* @__PURE__ */new THREE.Vector2(1, 1),
|
|
15
|
-
resolution: 1024,
|
|
16
|
-
map: null,
|
|
17
|
-
zoom: 1,
|
|
18
|
-
radius: 0,
|
|
19
|
-
grayscale: 0,
|
|
20
|
-
opacity: 1
|
|
21
|
-
}, /* glsl */`
|
|
22
|
-
varying vec2 vUv;
|
|
23
|
-
varying vec2 vPos;
|
|
24
|
-
void main() {
|
|
25
|
-
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.);
|
|
26
|
-
vUv = uv;
|
|
27
|
-
vPos = position.xy;
|
|
28
|
-
}
|
|
29
|
-
`, /* glsl */`
|
|
30
|
-
// mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44
|
|
31
|
-
varying vec2 vUv;
|
|
32
|
-
varying vec2 vPos;
|
|
33
|
-
uniform vec2 scale;
|
|
34
|
-
uniform vec2 imageBounds;
|
|
35
|
-
uniform float resolution;
|
|
36
|
-
uniform vec3 color;
|
|
37
|
-
uniform sampler2D map;
|
|
38
|
-
uniform float radius;
|
|
39
|
-
uniform float zoom;
|
|
40
|
-
uniform float grayscale;
|
|
41
|
-
uniform float opacity;
|
|
42
|
-
const vec3 luma = vec3(.299, 0.587, 0.114);
|
|
43
|
-
vec4 toGrayscale(vec4 color, float intensity) {
|
|
44
|
-
return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a);
|
|
45
|
-
}
|
|
46
|
-
vec2 aspect(vec2 size) {
|
|
47
|
-
return size / min(size.x, size.y);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const float PI = 3.14159265;
|
|
51
|
-
|
|
52
|
-
// from https://iquilezles.org/articles/distfunctions
|
|
53
|
-
float udRoundBox( vec2 p, vec2 b, float r ) {
|
|
54
|
-
return length(max(abs(p)-b+r,0.0))-r;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
void main() {
|
|
58
|
-
vec2 s = aspect(scale);
|
|
59
|
-
vec2 i = aspect(imageBounds);
|
|
60
|
-
float rs = s.x / s.y;
|
|
61
|
-
float ri = i.x / i.y;
|
|
62
|
-
vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x);
|
|
63
|
-
vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new;
|
|
64
|
-
vec2 uv = vUv * s / new + offset;
|
|
65
|
-
vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5);
|
|
66
|
-
|
|
67
|
-
vec2 res = vec2(scale * resolution);
|
|
68
|
-
vec2 halfRes = 0.5 * res;
|
|
69
|
-
float b = udRoundBox(vUv.xy * res - halfRes, halfRes, resolution * radius);
|
|
70
|
-
vec3 a = mix(vec3(1.0,0.0,0.0), vec3(0.0,0.0,0.0), smoothstep(0.0, 1.0, b));
|
|
71
|
-
gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, opacity * a), grayscale);
|
|
72
|
-
|
|
73
|
-
#include <tonemapping_fragment>
|
|
74
|
-
#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
|
|
75
|
-
}
|
|
76
|
-
`);
|
|
77
|
-
const ImageBase = /* @__PURE__ */React.forwardRef(({
|
|
78
|
-
children,
|
|
79
|
-
color,
|
|
80
|
-
segments = 1,
|
|
81
|
-
scale = 1,
|
|
82
|
-
zoom = 1,
|
|
83
|
-
grayscale = 0,
|
|
84
|
-
opacity = 1,
|
|
85
|
-
radius = 0,
|
|
86
|
-
texture,
|
|
87
|
-
toneMapped,
|
|
88
|
-
transparent,
|
|
89
|
-
side,
|
|
90
|
-
...props
|
|
91
|
-
}, fref) => {
|
|
92
|
-
extend({
|
|
93
|
-
ImageMaterial: ImageMaterialImpl
|
|
94
|
-
});
|
|
95
|
-
const ref = React.useRef(null);
|
|
96
|
-
const size = useThree(state => state.size);
|
|
97
|
-
const planeBounds = Array.isArray(scale) ? [scale[0], scale[1]] : [scale, scale];
|
|
98
|
-
const imageBounds = [texture.image.width, texture.image.height];
|
|
99
|
-
const resolution = Math.max(size.width, size.height);
|
|
100
|
-
React.useImperativeHandle(fref, () => ref.current, []);
|
|
101
|
-
React.useLayoutEffect(() => {
|
|
102
|
-
// Support arbitrary plane geometries (for instance with rounded corners)
|
|
103
|
-
// @ts-ignore
|
|
104
|
-
if (ref.current.geometry.parameters) {
|
|
105
|
-
// @ts-ignore
|
|
106
|
-
ref.current.material.scale.set(
|
|
107
|
-
// @ts-ignore
|
|
108
|
-
planeBounds[0] * ref.current.geometry.parameters.width,
|
|
109
|
-
// @ts-ignore
|
|
110
|
-
planeBounds[1] * ref.current.geometry.parameters.height);
|
|
111
|
-
}
|
|
112
|
-
}, [planeBounds[0], planeBounds[1]]);
|
|
113
|
-
return /*#__PURE__*/React.createElement("mesh", _extends({
|
|
114
|
-
ref: ref,
|
|
115
|
-
scale: Array.isArray(scale) ? [...scale, 1] : scale
|
|
116
|
-
}, props), /*#__PURE__*/React.createElement("planeGeometry", {
|
|
117
|
-
args: [1, 1, segments, segments]
|
|
118
|
-
}), /*#__PURE__*/React.createElement("imageMaterial", {
|
|
119
|
-
color: color,
|
|
120
|
-
map: texture,
|
|
121
|
-
zoom: zoom,
|
|
122
|
-
grayscale: grayscale,
|
|
123
|
-
opacity: opacity,
|
|
124
|
-
scale: planeBounds,
|
|
125
|
-
imageBounds: imageBounds,
|
|
126
|
-
resolution: resolution,
|
|
127
|
-
radius: radius,
|
|
128
|
-
toneMapped: toneMapped,
|
|
129
|
-
transparent: transparent,
|
|
130
|
-
side: side,
|
|
131
|
-
key: ImageMaterialImpl.key
|
|
132
|
-
}), children);
|
|
133
|
-
});
|
|
134
|
-
const ImageWithUrl = /* @__PURE__ */React.forwardRef(({
|
|
135
|
-
url,
|
|
136
|
-
...props
|
|
137
|
-
}, ref) => {
|
|
138
|
-
const texture = useTexture(url);
|
|
139
|
-
return /*#__PURE__*/React.createElement(ImageBase, _extends({}, props, {
|
|
140
|
-
texture: texture,
|
|
141
|
-
ref: ref
|
|
142
|
-
}));
|
|
143
|
-
});
|
|
144
|
-
const ImageWithTexture = /* @__PURE__ */React.forwardRef(({
|
|
145
|
-
url: _url,
|
|
146
|
-
...props
|
|
147
|
-
}, ref) => {
|
|
148
|
-
return /*#__PURE__*/React.createElement(ImageBase, _extends({}, props, {
|
|
149
|
-
ref: ref
|
|
150
|
-
}));
|
|
151
|
-
});
|
|
152
|
-
const Image = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
153
|
-
if (props.url) return /*#__PURE__*/React.createElement(ImageWithUrl, _extends({}, props, {
|
|
154
|
-
ref: ref
|
|
155
|
-
}));else if (props.texture) return /*#__PURE__*/React.createElement(ImageWithTexture, _extends({}, props, {
|
|
156
|
-
ref: ref
|
|
157
|
-
}));else throw new Error('<Image /> requires a url or texture');
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
export { Image };
|
package/core/Instances.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("@react-three/fiber"),a=require("../helpers/deprecated.cjs.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=c(e),i=s(t),o=s(r);const l=new i.Matrix4,f=new i.Matrix4,d=[],m=new i.Mesh;class y extends i.Group{constructor(){super(),this.color=new i.Color("white"),this.instance={current:void 0},this.instanceKey={current:void 0}}get geometry(){var e;return null==(e=this.instance.current)?void 0:e.geometry}raycast(e,t){const r=this.instance.current;if(!r)return;if(!r.geometry||!r.material)return;m.geometry=r.geometry;const n=r.matrixWorld,a=r.userData.instances.indexOf(this.instanceKey);if(!(-1===a||a>r.count)){r.getMatrixAt(a,l),f.multiplyMatrices(n,l),m.matrixWorld=f,r.material instanceof i.Material?m.material.side=r.material.side:m.material.side=r.material[0].side,m.raycast(e,d);for(let e=0,r=d.length;e<r;e++){const r=d[e];r.instanceId=a,r.object=this,t.push(r)}d.length=0}}}const p=o.createContext(null),g=new i.Matrix4,x=new i.Matrix4,h=new i.Matrix4,b=new i.Vector3,M=new i.Quaternion,w=new i.Vector3,A=o.forwardRef((({context:e,children:t,...r},a)=>{o.useMemo((()=>n.extend({PositionMesh:y})),[]);const c=o.useRef(null);o.useImperativeHandle(a,(()=>c.current),[]);const{subscribe:s,getParent:i}=o.useContext(e||p);return o.useLayoutEffect((()=>s(c)),[]),o.createElement("positionMesh",u.default({instance:i(),instanceKey:c,ref:c},r),t)})),v=o.forwardRef((({context:e,children:t,range:r,limit:c=1e3,frames:s=1/0,...l},f)=>{const[{localContext:d,instance:m}]=o.useState((()=>{const e=o.createContext(null);return{localContext:e,instance:o.forwardRef(((t,r)=>o.createElement(A,u.default({context:e},t,{ref:r}))))}})),y=o.useRef(null);o.useImperativeHandle(f,(()=>y.current),[]);const[v,E]=o.useState([]),[[j,D]]=o.useState((()=>{const e=new Float32Array(16*c);for(let t=0;t<c;t++)h.identity().toArray(e,16*t);return[e,new Float32Array([...new Array(3*c)].map((()=>1)))]}));o.useEffect((()=>{y.current.instanceMatrix.needsUpdate=!0}));let R=0,O=0;const C=o.useRef([]);o.useLayoutEffect((()=>{C.current=Object.entries(y.current.geometry.attributes).filter((([e,t])=>t.isInstancedBufferAttribute))})),n.useFrame((()=>{if(s===1/0||R<s){y.current.updateMatrix(),y.current.updateMatrixWorld(),g.copy(y.current.matrixWorld).invert(),O=Math.min(c,void 0!==r?r:c,v.length),y.current.count=O,a.setUpdateRange(y.current.instanceMatrix,{start:0,count:16*O}),a.setUpdateRange(y.current.instanceColor,{start:0,count:3*O});for(let e=0;e<v.length;e++){const t=v[e].current;t.matrixWorld.decompose(b,M,w),x.compose(b,M,w).premultiply(g),x.toArray(j,16*e),y.current.instanceMatrix.needsUpdate=!0,t.color.toArray(D,3*e),y.current.instanceColor.needsUpdate=!0}R++}}));const P=o.useMemo((()=>({getParent:()=>y,subscribe:e=>(E((t=>[...t,e])),()=>E((t=>t.filter((t=>t.current!==e.current)))))})),[]);return o.createElement("instancedMesh",u.default({userData:{instances:v,limit:c,frames:s},matrixAutoUpdate:!1,ref:y,args:[null,null,0],raycast:()=>null},l),o.createElement("instancedBufferAttribute",{attach:"instanceMatrix",args:[j,16],usage:i.DynamicDrawUsage}),o.createElement("instancedBufferAttribute",{attach:"instanceColor",args:[D,3],usage:i.DynamicDrawUsage}),"function"==typeof t?o.createElement(d.Provider,{value:P},t(m)):e?o.createElement(e.Provider,{value:P},t):o.createElement(p.Provider,{value:P},t))})),E=o.forwardRef((function({meshes:e,children:t,...r},n){const a=Array.isArray(e);if(!a)for(const t of Object.keys(e))e[t].isMesh||delete e[t];const c=(a?e:Object.values(e)).map((({geometry:e,material:t})=>o.createElement(v,u.default({key:e.uuid,geometry:e,material:t},r))));return o.createElement("group",{ref:n},j((r=>a?t(...r):t(Object.keys(e).filter((t=>e[t].isMesh)).reduce(((e,t,n)=>({...e,[t]:r[n]})),{}))),c))}));function j(e,t,r=[]){if(!t[0])return e(r);function n(n){return j(e,t.slice(1),r.concat([n]))}return"function"==typeof t[0]?t[0]({results:r,render:n}):o.cloneElement(t[0],{children:n})}const D=o.forwardRef((({name:e,defaultValue:t,normalized:r,usage:a=i.DynamicDrawUsage},c)=>{const s=o.useRef(null);o.useImperativeHandle(c,(()=>s.current),[]),o.useLayoutEffect((()=>{const r=s.current.__r3f.parent.object;r.geometry.attributes[e]=s.current;const n=Array.isArray(t)?t:[t],a=Array.from({length:r.userData.limit},(()=>n)).flat();return s.current.array=new Float32Array(a),s.current.itemSize=n.length,s.current.count=a.length/s.current.itemSize,()=>{delete r.geometry.attributes[e]}}),[e]);let u=0;return n.useFrame((()=>{const t=s.current.__r3f.parent.object;if(t.userData.frames===1/0||u<t.userData.frames){for(let r=0;r<t.userData.instances.length;r++){const n=t.userData.instances[r].current[e];void 0!==n&&(s.current.set(Array.isArray(n)?n:"function"==typeof n.toArray?n.toArray():[n],r*s.current.itemSize),s.current.needsUpdate=!0)}u++}})),o.createElement("instancedBufferAttribute",{ref:s,usage:a,normalized:r})}));exports.Instance=A,exports.InstancedAttribute=D,exports.Instances=v,exports.Merged=E,exports.PositionMesh=y,exports.createInstances=function(){const e=o.createContext(null);return[o.forwardRef(((t,r)=>o.createElement(v,u.default({ref:r,context:e},t)))),o.forwardRef(((t,r)=>o.createElement(A,u.default({ref:r,context:e},t))))]};
|
package/core/Instances.d.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { ThreeElement, ThreeElements } from '@react-three/fiber';
|
|
4
|
-
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
5
|
-
declare module '@react-three/fiber' {
|
|
6
|
-
interface ThreeElements {
|
|
7
|
-
positionMesh: ThreeElement<typeof PositionMesh>;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
type Api = {
|
|
11
|
-
getParent: () => React.RefObject<InstancedMesh>;
|
|
12
|
-
subscribe: <T>(ref: React.RefObject<T>) => void;
|
|
13
|
-
};
|
|
14
|
-
export type InstancesProps = Omit<ThreeElements['instancedMesh'], 'ref' | 'args'> & {
|
|
15
|
-
context?: React.Context<Api>;
|
|
16
|
-
range?: number;
|
|
17
|
-
limit?: number;
|
|
18
|
-
frames?: number;
|
|
19
|
-
};
|
|
20
|
-
export type InstanceProps = Omit<ThreeElements['positionMesh'], 'ref'> & {
|
|
21
|
-
context?: React.Context<Api>;
|
|
22
|
-
};
|
|
23
|
-
export type InstancedAttributeProps = Omit<ThreeElements['instancedBufferAttribute'], 'ref' | 'args'> & {
|
|
24
|
-
name: string;
|
|
25
|
-
defaultValue: any;
|
|
26
|
-
normalized?: boolean;
|
|
27
|
-
usage?: number;
|
|
28
|
-
};
|
|
29
|
-
type InstancedMesh = Omit<THREE.InstancedMesh, 'instanceMatrix' | 'instanceColor'> & {
|
|
30
|
-
instanceMatrix: THREE.InstancedBufferAttribute;
|
|
31
|
-
instanceColor: THREE.InstancedBufferAttribute;
|
|
32
|
-
};
|
|
33
|
-
export declare class PositionMesh extends THREE.Group {
|
|
34
|
-
color: THREE.Color;
|
|
35
|
-
instance: React.RefObject<THREE.InstancedMesh | undefined>;
|
|
36
|
-
instanceKey: React.RefObject<PositionMesh | undefined>;
|
|
37
|
-
constructor();
|
|
38
|
-
get geometry(): THREE.BufferGeometry<THREE.NormalBufferAttributes> | undefined;
|
|
39
|
-
raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
|
|
40
|
-
}
|
|
41
|
-
export declare const Instance: React.ForwardRefExoticComponent<Omit<import("@react-three/fiber/dist/declarations/src/core/utils").Mutable<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<Partial<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<PositionMesh, import("@react-three/fiber").MathProps<PositionMesh> & import("@react-three/fiber").ReactProps<PositionMesh> & Partial<import("@react-three/fiber").EventHandlers>>>, Omit<import("@react-three/fiber").InstanceProps<PositionMesh, typeof PositionMesh>, "object">>>, "ref"> & {
|
|
42
|
-
context?: React.Context<Api>;
|
|
43
|
-
} & React.RefAttributes<unknown>>;
|
|
44
|
-
export declare const Instances: ForwardRefComponent<InstancesProps, THREE.InstancedMesh>;
|
|
45
|
-
export interface MergedProps extends Omit<InstancesProps, 'children'> {
|
|
46
|
-
meshes: THREE.Mesh[] | Record<string, THREE.Object3D>;
|
|
47
|
-
children: (...instances: [React.FC<InstanceProps> & Record<string, React.FC<InstanceProps>>, ...React.FC<InstanceProps>[]]) => React.ReactNode;
|
|
48
|
-
}
|
|
49
|
-
export declare const Merged: ForwardRefComponent<MergedProps, THREE.Group>;
|
|
50
|
-
export declare function createInstances<T = InstanceProps>(): readonly [React.ForwardRefExoticComponent<Omit<import("@react-three/fiber/dist/declarations/src/core/utils").Mutable<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<Partial<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>, import("@react-three/fiber").MathProps<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>> & import("@react-three/fiber").ReactProps<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>> & Partial<import("@react-three/fiber").EventHandlers>>>, Omit<import("@react-three/fiber").InstanceProps<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>, typeof THREE.InstancedMesh>, "object">>>, "ref" | "args"> & {
|
|
51
|
-
context?: React.Context<Api>;
|
|
52
|
-
range?: number;
|
|
53
|
-
limit?: number;
|
|
54
|
-
frames?: number;
|
|
55
|
-
} & React.RefAttributes<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>>, React.ForwardRefExoticComponent<React.PropsWithoutRef<T & Omit<import("@react-three/fiber/dist/declarations/src/core/utils").Mutable<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<Partial<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<PositionMesh, import("@react-three/fiber").MathProps<PositionMesh> & import("@react-three/fiber").ReactProps<PositionMesh> & Partial<import("@react-three/fiber").EventHandlers>>>, Omit<import("@react-three/fiber").InstanceProps<PositionMesh, typeof PositionMesh>, "object">>>, "ref"> & {
|
|
56
|
-
context?: React.Context<Api>;
|
|
57
|
-
}> & React.RefAttributes<PositionMesh & T>>];
|
|
58
|
-
export declare const InstancedAttribute: React.ForwardRefExoticComponent<Omit<import("@react-three/fiber/dist/declarations/src/core/utils").Mutable<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<Partial<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<THREE.InstancedBufferAttribute, import("@react-three/fiber").MathProps<THREE.InstancedBufferAttribute> & import("@react-three/fiber").ReactProps<THREE.InstancedBufferAttribute>>>, Omit<import("@react-three/fiber").InstanceProps<THREE.InstancedBufferAttribute, typeof THREE.InstancedBufferAttribute>, "object">>>, "ref" | "args"> & {
|
|
59
|
-
name: string;
|
|
60
|
-
defaultValue: any;
|
|
61
|
-
normalized?: boolean;
|
|
62
|
-
usage?: number;
|
|
63
|
-
} & React.RefAttributes<unknown>>;
|
|
64
|
-
export {};
|