@3driseai/3drise-viewer 0.1.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/components/AnimatedObject.d.ts +22 -0
- package/dist/components/AnimatedObject.d.ts.map +1 -0
- package/dist/components/AnimatedObject.js +65 -0
- package/dist/components/Bubbles.d.ts +9 -0
- package/dist/components/Bubbles.d.ts.map +1 -0
- package/dist/components/Bubbles.js +105 -0
- package/dist/components/CameraController.d.ts +10 -0
- package/dist/components/CameraController.d.ts.map +1 -0
- package/dist/components/CameraController.js +158 -0
- package/dist/components/Clouds.d.ts +9 -0
- package/dist/components/Clouds.d.ts.map +1 -0
- package/dist/components/Clouds.js +278 -0
- package/dist/components/Corona.d.ts +18 -0
- package/dist/components/Corona.d.ts.map +1 -0
- package/dist/components/Corona.js +12 -0
- package/dist/components/CreatedObject.d.ts +14 -0
- package/dist/components/CreatedObject.d.ts.map +1 -0
- package/dist/components/CreatedObject.js +103 -0
- package/dist/components/CustomPrimitive.d.ts +12 -0
- package/dist/components/CustomPrimitive.d.ts.map +1 -0
- package/dist/components/CustomPrimitive.js +87 -0
- package/dist/components/Earth.d.ts +8 -0
- package/dist/components/Earth.d.ts.map +1 -0
- package/dist/components/Earth.js +38 -0
- package/dist/components/EffectsGenerator.d.ts +10 -0
- package/dist/components/EffectsGenerator.d.ts.map +1 -0
- package/dist/components/EffectsGenerator.js +71 -0
- package/dist/components/EffectsGroup.d.ts +8 -0
- package/dist/components/EffectsGroup.d.ts.map +1 -0
- package/dist/components/EffectsGroup.js +11 -0
- package/dist/components/EnvironmentManager.d.ts +9 -0
- package/dist/components/EnvironmentManager.d.ts.map +1 -0
- package/dist/components/EnvironmentManager.js +74 -0
- package/dist/components/EnvironmentObject.d.ts +8 -0
- package/dist/components/EnvironmentObject.d.ts.map +1 -0
- package/dist/components/EnvironmentObject.js +14 -0
- package/dist/components/Flares.d.ts +24 -0
- package/dist/components/Flares.d.ts.map +1 -0
- package/dist/components/Flares.js +134 -0
- package/dist/components/Frame.d.ts +23 -0
- package/dist/components/Frame.d.ts.map +1 -0
- package/dist/components/Frame.js +55 -0
- package/dist/components/FrameGeometry.d.ts +10 -0
- package/dist/components/FrameGeometry.d.ts.map +1 -0
- package/dist/components/FrameGeometry.js +17 -0
- package/dist/components/FrameImage.d.ts +2 -0
- package/dist/components/FrameImage.d.ts.map +1 -0
- package/dist/components/FrameImage.js +15 -0
- package/dist/components/Galaxy.d.ts +10 -0
- package/dist/components/Galaxy.d.ts.map +1 -0
- package/dist/components/Galaxy.js +29 -0
- package/dist/components/GalleryLayout.d.ts +12 -0
- package/dist/components/GalleryLayout.d.ts.map +1 -0
- package/dist/components/GalleryLayout.js +20 -0
- package/dist/components/GeometryShape.d.ts +54 -0
- package/dist/components/GeometryShape.d.ts.map +1 -0
- package/dist/components/GeometryShape.js +318 -0
- package/dist/components/Glyphs.d.ts +9 -0
- package/dist/components/Glyphs.d.ts.map +1 -0
- package/dist/components/Glyphs.js +58 -0
- package/dist/components/GridHelper.d.ts +23 -0
- package/dist/components/GridHelper.d.ts.map +1 -0
- package/dist/components/GridHelper.js +36 -0
- package/dist/components/GridsGenerator.d.ts +10 -0
- package/dist/components/GridsGenerator.d.ts.map +1 -0
- package/dist/components/GridsGenerator.js +14 -0
- package/dist/components/HdrPlaylistRenderer.d.ts +10 -0
- package/dist/components/HdrPlaylistRenderer.d.ts.map +1 -0
- package/dist/components/HdrPlaylistRenderer.js +364 -0
- package/dist/components/ImageGeometry.d.ts +13 -0
- package/dist/components/ImageGeometry.d.ts.map +1 -0
- package/dist/components/ImageGeometry.js +62 -0
- package/dist/components/Lensflare.d.ts +12 -0
- package/dist/components/Lensflare.d.ts.map +1 -0
- package/dist/components/Lensflare.js +66 -0
- package/dist/components/Letter.d.ts +19 -0
- package/dist/components/Letter.d.ts.map +1 -0
- package/dist/components/Letter.js +83 -0
- package/dist/components/Letters.d.ts +16 -0
- package/dist/components/Letters.d.ts.map +1 -0
- package/dist/components/Letters.js +18 -0
- package/dist/components/LightObject.d.ts +8 -0
- package/dist/components/LightObject.d.ts.map +1 -0
- package/dist/components/LightObject.js +65 -0
- package/dist/components/LightsManager.d.ts +8 -0
- package/dist/components/LightsManager.d.ts.map +1 -0
- package/dist/components/LightsManager.js +104 -0
- package/dist/components/Lines.d.ts +9 -0
- package/dist/components/Lines.d.ts.map +1 -0
- package/dist/components/Lines.js +19 -0
- package/dist/components/LoadingIndicator.d.ts +10 -0
- package/dist/components/LoadingIndicator.d.ts.map +1 -0
- package/dist/components/LoadingIndicator.js +6 -0
- package/dist/components/MaterialLibrary.d.ts +9 -0
- package/dist/components/MaterialLibrary.d.ts.map +1 -0
- package/dist/components/MaterialLibrary.js +57 -0
- package/dist/components/Moon.d.ts +13 -0
- package/dist/components/Moon.d.ts.map +1 -0
- package/dist/components/Moon.js +66 -0
- package/dist/components/MyGrid.d.ts +15 -0
- package/dist/components/MyGrid.d.ts.map +1 -0
- package/dist/components/MyGrid.js +72 -0
- package/dist/components/ObjectNode.d.ts +13 -0
- package/dist/components/ObjectNode.d.ts.map +1 -0
- package/dist/components/ObjectNode.js +139 -0
- package/dist/components/ObjectNodeApi.d.ts +13 -0
- package/dist/components/ObjectNodeApi.d.ts.map +1 -0
- package/dist/components/ObjectNodeApi.js +18 -0
- package/dist/components/ObjectsRenderer.d.ts +15 -0
- package/dist/components/ObjectsRenderer.d.ts.map +1 -0
- package/dist/components/ObjectsRenderer.js +40 -0
- package/dist/components/ObjectsRendererApi.d.ts +31 -0
- package/dist/components/ObjectsRendererApi.d.ts.map +1 -0
- package/dist/components/ObjectsRendererApi.js +76 -0
- package/dist/components/Ocean.d.ts +8 -0
- package/dist/components/Ocean.d.ts.map +1 -0
- package/dist/components/Ocean.js +169 -0
- package/dist/components/Outline.d.ts +21 -0
- package/dist/components/Outline.d.ts.map +1 -0
- package/dist/components/Outline.js +14 -0
- package/dist/components/ParticlesR3f.d.ts +11 -0
- package/dist/components/ParticlesR3f.d.ts.map +1 -0
- package/dist/components/ParticlesR3f.js +110 -0
- package/dist/components/Path.d.ts +13 -0
- package/dist/components/Path.d.ts.map +1 -0
- package/dist/components/Path.js +41 -0
- package/dist/components/PathGeometry.d.ts +11 -0
- package/dist/components/PathGeometry.d.ts.map +1 -0
- package/dist/components/PathGeometry.js +109 -0
- package/dist/components/PathRenderer.d.ts +12 -0
- package/dist/components/PathRenderer.d.ts.map +1 -0
- package/dist/components/PathRenderer.js +36 -0
- package/dist/components/Planet.d.ts +16 -0
- package/dist/components/Planet.d.ts.map +1 -0
- package/dist/components/Planet.js +60 -0
- package/dist/components/PointCloud.d.ts +10 -0
- package/dist/components/PointCloud.d.ts.map +1 -0
- package/dist/components/PointCloud.js +113 -0
- package/dist/components/ProductionScene.d.ts +5 -0
- package/dist/components/ProductionScene.d.ts.map +1 -0
- package/dist/components/ProductionScene.js +7 -0
- package/dist/components/ProjectLoader.d.ts +16 -0
- package/dist/components/ProjectLoader.d.ts.map +1 -0
- package/dist/components/ProjectLoader.js +85 -0
- package/dist/components/Rain.d.ts +8 -0
- package/dist/components/Rain.d.ts.map +1 -0
- package/dist/components/Rain.js +259 -0
- package/dist/components/RiseLogo.d.ts +19 -0
- package/dist/components/RiseLogo.d.ts.map +1 -0
- package/dist/components/RiseLogo.js +75 -0
- package/dist/components/SceneBuilder.d.ts +5 -0
- package/dist/components/SceneBuilder.d.ts.map +1 -0
- package/dist/components/SceneBuilder.js +133 -0
- package/dist/components/SceneFog.d.ts +8 -0
- package/dist/components/SceneFog.d.ts.map +1 -0
- package/dist/components/SceneFog.js +19 -0
- package/dist/components/Shape.d.ts +5 -0
- package/dist/components/Shape.d.ts.map +1 -0
- package/dist/components/Shape.js +11 -0
- package/dist/components/ShootingStar.d.ts +16 -0
- package/dist/components/ShootingStar.d.ts.map +1 -0
- package/dist/components/ShootingStar.js +92 -0
- package/dist/components/ShootingStars.d.ts +8 -0
- package/dist/components/ShootingStars.d.ts.map +1 -0
- package/dist/components/ShootingStars.js +41 -0
- package/dist/components/SkyController.d.ts +10 -0
- package/dist/components/SkyController.d.ts.map +1 -0
- package/dist/components/SkyController.js +208 -0
- package/dist/components/SkyMesh.d.ts +10 -0
- package/dist/components/SkyMesh.d.ts.map +1 -0
- package/dist/components/SkyMesh.js +36 -0
- package/dist/components/SkySystem.d.ts +32 -0
- package/dist/components/SkySystem.d.ts.map +1 -0
- package/dist/components/SkySystem.js +46 -0
- package/dist/components/Skybox.d.ts +12 -0
- package/dist/components/Skybox.d.ts.map +1 -0
- package/dist/components/Skybox.js +92 -0
- package/dist/components/SolarSystem.d.ts +8 -0
- package/dist/components/SolarSystem.d.ts.map +1 -0
- package/dist/components/SolarSystem.js +77 -0
- package/dist/components/SparklesBurst.d.ts +9 -0
- package/dist/components/SparklesBurst.d.ts.map +1 -0
- package/dist/components/SparklesBurst.js +62 -0
- package/dist/components/Stars.d.ts +15 -0
- package/dist/components/Stars.d.ts.map +1 -0
- package/dist/components/Stars.js +250 -0
- package/dist/components/Sun.d.ts +15 -0
- package/dist/components/Sun.d.ts.map +1 -0
- package/dist/components/Sun.js +7 -0
- package/dist/components/SunCore.d.ts +18 -0
- package/dist/components/SunCore.d.ts.map +1 -0
- package/dist/components/SunCore.js +14 -0
- package/dist/components/SunLight.d.ts +15 -0
- package/dist/components/SunLight.d.ts.map +1 -0
- package/dist/components/SunLight.js +57 -0
- package/dist/components/Text2D.d.ts +9 -0
- package/dist/components/Text2D.d.ts.map +1 -0
- package/dist/components/Text2D.js +56 -0
- package/dist/components/Text3D.d.ts +10 -0
- package/dist/components/Text3D.d.ts.map +1 -0
- package/dist/components/Text3D.js +8 -0
- package/dist/components/VolumePoints.d.ts +19 -0
- package/dist/components/VolumePoints.d.ts.map +1 -0
- package/dist/components/VolumePoints.js +8 -0
- package/dist/components/cursor/AuraCursor.d.ts +6 -0
- package/dist/components/cursor/AuraCursor.d.ts.map +1 -0
- package/dist/components/cursor/AuraCursor.js +30 -0
- package/dist/components/cursor/AuroraCursor.d.ts +6 -0
- package/dist/components/cursor/AuroraCursor.d.ts.map +1 -0
- package/dist/components/cursor/AuroraCursor.js +207 -0
- package/dist/components/cursor/BubblesCursor.d.ts +6 -0
- package/dist/components/cursor/BubblesCursor.d.ts.map +1 -0
- package/dist/components/cursor/BubblesCursor.js +184 -0
- package/dist/components/cursor/CometCursor.d.ts +6 -0
- package/dist/components/cursor/CometCursor.d.ts.map +1 -0
- package/dist/components/cursor/CometCursor.js +191 -0
- package/dist/components/cursor/CrosshairCursor.d.ts +6 -0
- package/dist/components/cursor/CrosshairCursor.d.ts.map +1 -0
- package/dist/components/cursor/CrosshairCursor.js +142 -0
- package/dist/components/cursor/CursorActions.d.ts +8 -0
- package/dist/components/cursor/CursorActions.d.ts.map +1 -0
- package/dist/components/cursor/CursorActions.js +124 -0
- package/dist/components/cursor/CursorController.d.ts +10 -0
- package/dist/components/cursor/CursorController.d.ts.map +1 -0
- package/dist/components/cursor/CursorController.js +5 -0
- package/dist/components/cursor/CursorEffects.d.ts +16 -0
- package/dist/components/cursor/CursorEffects.d.ts.map +1 -0
- package/dist/components/cursor/CursorEffects.js +110 -0
- package/dist/components/cursor/FerrofluidCursor.d.ts +6 -0
- package/dist/components/cursor/FerrofluidCursor.d.ts.map +1 -0
- package/dist/components/cursor/FerrofluidCursor.js +102 -0
- package/dist/components/cursor/GlyphRingCursor.d.ts +6 -0
- package/dist/components/cursor/GlyphRingCursor.d.ts.map +1 -0
- package/dist/components/cursor/GlyphRingCursor.js +123 -0
- package/dist/components/cursor/LightningCursor.d.ts +6 -0
- package/dist/components/cursor/LightningCursor.d.ts.map +1 -0
- package/dist/components/cursor/LightningCursor.js +28 -0
- package/dist/components/cursor/LiquidMetalCursor.d.ts +6 -0
- package/dist/components/cursor/LiquidMetalCursor.d.ts.map +1 -0
- package/dist/components/cursor/LiquidMetalCursor.js +61 -0
- package/dist/components/cursor/OrbCursor.d.ts +6 -0
- package/dist/components/cursor/OrbCursor.d.ts.map +1 -0
- package/dist/components/cursor/OrbCursor.js +32 -0
- package/dist/components/cursor/PlasmaWhipCursor.d.ts +6 -0
- package/dist/components/cursor/PlasmaWhipCursor.d.ts.map +1 -0
- package/dist/components/cursor/PlasmaWhipCursor.js +134 -0
- package/dist/components/cursor/SparklesCursor.d.ts +6 -0
- package/dist/components/cursor/SparklesCursor.d.ts.map +1 -0
- package/dist/components/cursor/SparklesCursor.js +151 -0
- package/dist/components/cursor/TeslaCursor.d.ts +6 -0
- package/dist/components/cursor/TeslaCursor.d.ts.map +1 -0
- package/dist/components/cursor/TeslaCursor.js +223 -0
- package/dist/components/cursor/clickActions/BoltFlashAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/BoltFlashAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/BoltFlashAction.js +62 -0
- package/dist/components/cursor/clickActions/GlyphInscriptionAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/GlyphInscriptionAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/GlyphInscriptionAction.js +114 -0
- package/dist/components/cursor/clickActions/ImplosionAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/ImplosionAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/ImplosionAction.js +93 -0
- package/dist/components/cursor/clickActions/PhaseShiftAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/PhaseShiftAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/PhaseShiftAction.js +71 -0
- package/dist/components/cursor/clickActions/PlasmaBombAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/PlasmaBombAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/PlasmaBombAction.js +98 -0
- package/dist/components/cursor/clickActions/RealityTearAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/RealityTearAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/RealityTearAction.js +92 -0
- package/dist/components/cursor/clickActions/ShockwaveAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/ShockwaveAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/ShockwaveAction.js +55 -0
- package/dist/components/cursor/clickActions/SparklesBurstAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/SparklesBurstAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/SparklesBurstAction.js +99 -0
- package/dist/components/cursor/clickActions/VoronoiFractureAction.d.ts +11 -0
- package/dist/components/cursor/clickActions/VoronoiFractureAction.d.ts.map +1 -0
- package/dist/components/cursor/clickActions/VoronoiFractureAction.js +149 -0
- package/dist/components/effects/AuraEffect.d.ts +10 -0
- package/dist/components/effects/AuraEffect.d.ts.map +1 -0
- package/dist/components/effects/AuraEffect.js +127 -0
- package/dist/components/effects/AuroraEffect.d.ts +10 -0
- package/dist/components/effects/AuroraEffect.d.ts.map +1 -0
- package/dist/components/effects/AuroraEffect.js +112 -0
- package/dist/components/effects/BlackHoleEffect.d.ts +10 -0
- package/dist/components/effects/BlackHoleEffect.d.ts.map +1 -0
- package/dist/components/effects/BlackHoleEffect.js +193 -0
- package/dist/components/effects/ConstellationEffect.d.ts +10 -0
- package/dist/components/effects/ConstellationEffect.d.ts.map +1 -0
- package/dist/components/effects/ConstellationEffect.js +189 -0
- package/dist/components/effects/DataStreamEffect.d.ts +10 -0
- package/dist/components/effects/DataStreamEffect.d.ts.map +1 -0
- package/dist/components/effects/DataStreamEffect.js +138 -0
- package/dist/components/effects/DnaHelixEffect.d.ts +10 -0
- package/dist/components/effects/DnaHelixEffect.d.ts.map +1 -0
- package/dist/components/effects/DnaHelixEffect.js +311 -0
- package/dist/components/effects/Fire.d.ts +20 -0
- package/dist/components/effects/Fire.d.ts.map +1 -0
- package/dist/components/effects/Fire.js +208 -0
- package/dist/components/effects/FireEffect.d.ts +10 -0
- package/dist/components/effects/FireEffect.d.ts.map +1 -0
- package/dist/components/effects/FireEffect.js +194 -0
- package/dist/components/effects/ForcefieldEffect.d.ts +10 -0
- package/dist/components/effects/ForcefieldEffect.d.ts.map +1 -0
- package/dist/components/effects/ForcefieldEffect.js +132 -0
- package/dist/components/effects/HologramEffect.d.ts +10 -0
- package/dist/components/effects/HologramEffect.d.ts.map +1 -0
- package/dist/components/effects/HologramEffect.js +143 -0
- package/dist/components/effects/IceCrystalsEffect.d.ts +10 -0
- package/dist/components/effects/IceCrystalsEffect.d.ts.map +1 -0
- package/dist/components/effects/IceCrystalsEffect.js +190 -0
- package/dist/components/effects/LightningEffect.d.ts +10 -0
- package/dist/components/effects/LightningEffect.d.ts.map +1 -0
- package/dist/components/effects/LightningEffect.js +240 -0
- package/dist/components/effects/MoleculesEffect.d.ts +10 -0
- package/dist/components/effects/MoleculesEffect.d.ts.map +1 -0
- package/dist/components/effects/MoleculesEffect.js +173 -0
- package/dist/components/effects/NeuralNetworkEffect.d.ts +10 -0
- package/dist/components/effects/NeuralNetworkEffect.d.ts.map +1 -0
- package/dist/components/effects/NeuralNetworkEffect.js +188 -0
- package/dist/components/effects/OrbEffect.d.ts +10 -0
- package/dist/components/effects/OrbEffect.d.ts.map +1 -0
- package/dist/components/effects/OrbEffect.js +291 -0
- package/dist/components/effects/PortalEffect.d.ts +10 -0
- package/dist/components/effects/PortalEffect.d.ts.map +1 -0
- package/dist/components/effects/PortalEffect.js +191 -0
- package/dist/components/effects/ShockwaveEffect.d.ts +10 -0
- package/dist/components/effects/ShockwaveEffect.d.ts.map +1 -0
- package/dist/components/effects/ShockwaveEffect.js +160 -0
- package/dist/components/effects/SmokePlumeEffect.d.ts +10 -0
- package/dist/components/effects/SmokePlumeEffect.d.ts.map +1 -0
- package/dist/components/effects/SmokePlumeEffect.js +141 -0
- package/dist/components/effects/SmokeRibbon.d.ts +13 -0
- package/dist/components/effects/SmokeRibbon.d.ts.map +1 -0
- package/dist/components/effects/SmokeRibbon.js +69 -0
- package/dist/components/effects/SmokeRingEffect.d.ts +10 -0
- package/dist/components/effects/SmokeRingEffect.d.ts.map +1 -0
- package/dist/components/effects/SmokeRingEffect.js +158 -0
- package/dist/components/effects/VolumetricFogEffect.d.ts +10 -0
- package/dist/components/effects/VolumetricFogEffect.d.ts.map +1 -0
- package/dist/components/effects/VolumetricFogEffect.js +111 -0
- package/dist/components/extractOutline.d.ts +18 -0
- package/dist/components/extractOutline.d.ts.map +1 -0
- package/dist/components/extractOutline.js +47 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +5 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/use3driseShader.d.ts +17 -0
- package/dist/hooks/use3driseShader.d.ts.map +1 -0
- package/dist/hooks/use3driseShader.js +100 -0
- package/dist/hooks/useAnimationEvents.d.ts +10 -0
- package/dist/hooks/useAnimationEvents.d.ts.map +1 -0
- package/dist/hooks/useAnimationEvents.js +49 -0
- package/dist/hooks/useCameraAnimation.d.ts +35 -0
- package/dist/hooks/useCameraAnimation.d.ts.map +1 -0
- package/dist/hooks/useCameraAnimation.js +277 -0
- package/dist/hooks/useContinuousEffects.d.ts +15 -0
- package/dist/hooks/useContinuousEffects.d.ts.map +1 -0
- package/dist/hooks/useContinuousEffects.js +177 -0
- package/dist/hooks/useCubeCamera.d.ts +18 -0
- package/dist/hooks/useCubeCamera.d.ts.map +1 -0
- package/dist/hooks/useCubeCamera.js +73 -0
- package/dist/hooks/useEnvironmentEffects.d.ts +12 -0
- package/dist/hooks/useEnvironmentEffects.d.ts.map +1 -0
- package/dist/hooks/useEnvironmentEffects.js +22 -0
- package/dist/hooks/useFrameAnimations.d.ts +24 -0
- package/dist/hooks/useFrameAnimations.d.ts.map +1 -0
- package/dist/hooks/useFrameAnimations.js +217 -0
- package/dist/hooks/useFrameEffects.d.ts +6 -0
- package/dist/hooks/useFrameEffects.d.ts.map +1 -0
- package/dist/hooks/useFrameEffects.js +19 -0
- package/dist/hooks/useGsapAnimation.d.ts +122 -0
- package/dist/hooks/useGsapAnimation.d.ts.map +1 -0
- package/dist/hooks/useGsapAnimation.js +316 -0
- package/dist/hooks/useInteraction.d.ts +12 -0
- package/dist/hooks/useInteraction.d.ts.map +1 -0
- package/dist/hooks/useInteraction.js +273 -0
- package/dist/hooks/useInteractionEffects.d.ts +11 -0
- package/dist/hooks/useInteractionEffects.d.ts.map +1 -0
- package/dist/hooks/useInteractionEffects.js +74 -0
- package/dist/hooks/useKey.d.ts +26 -0
- package/dist/hooks/useKey.d.ts.map +1 -0
- package/dist/hooks/useKey.js +73 -0
- package/dist/hooks/useLightAnimation.d.ts +10 -0
- package/dist/hooks/useLightAnimation.d.ts.map +1 -0
- package/dist/hooks/useLightAnimation.js +34 -0
- package/dist/hooks/useLightHandlers.d.ts +14 -0
- package/dist/hooks/useLightHandlers.d.ts.map +1 -0
- package/dist/hooks/useLightHandlers.js +116 -0
- package/dist/hooks/useLightMouseMove.d.ts +11 -0
- package/dist/hooks/useLightMouseMove.d.ts.map +1 -0
- package/dist/hooks/useLightMouseMove.js +27 -0
- package/dist/hooks/useLightShadow.d.ts +6 -0
- package/dist/hooks/useLightShadow.d.ts.map +1 -0
- package/dist/hooks/useLightShadow.js +63 -0
- package/dist/hooks/useMaterialApplication.d.ts +4 -0
- package/dist/hooks/useMaterialApplication.d.ts.map +1 -0
- package/dist/hooks/useMaterialApplication.js +157 -0
- package/dist/hooks/useMaterialOptions.d.ts +14 -0
- package/dist/hooks/useMaterialOptions.d.ts.map +1 -0
- package/dist/hooks/useMaterialOptions.js +118 -0
- package/dist/hooks/useMaterialUniforms.d.ts +18 -0
- package/dist/hooks/useMaterialUniforms.d.ts.map +1 -0
- package/dist/hooks/useMaterialUniforms.js +96 -0
- package/dist/hooks/useMeshController.d.ts +3 -0
- package/dist/hooks/useMeshController.d.ts.map +1 -0
- package/dist/hooks/useMeshController.js +168 -0
- package/dist/hooks/useMouseHandlers.d.ts +8 -0
- package/dist/hooks/useMouseHandlers.d.ts.map +1 -0
- package/dist/hooks/useMouseHandlers.js +47 -0
- package/dist/hooks/useNumericAnimation.d.ts +5 -0
- package/dist/hooks/useNumericAnimation.d.ts.map +1 -0
- package/dist/hooks/useNumericAnimation.js +42 -0
- package/dist/hooks/useObjectAnimation.d.ts +13 -0
- package/dist/hooks/useObjectAnimation.d.ts.map +1 -0
- package/dist/hooks/useObjectAnimation.js +35 -0
- package/dist/hooks/useObjectEdges.d.ts +3 -0
- package/dist/hooks/useObjectEdges.d.ts.map +1 -0
- package/dist/hooks/useObjectEdges.js +199 -0
- package/dist/hooks/useObjectEffects.d.ts +23 -0
- package/dist/hooks/useObjectEffects.d.ts.map +1 -0
- package/dist/hooks/useObjectEffects.js +162 -0
- package/dist/hooks/useOrbitControls.d.ts +7 -0
- package/dist/hooks/useOrbitControls.d.ts.map +1 -0
- package/dist/hooks/useOrbitControls.js +9 -0
- package/dist/hooks/useOutline.d.ts +9 -0
- package/dist/hooks/useOutline.d.ts.map +1 -0
- package/dist/hooks/useOutline.js +14 -0
- package/dist/hooks/useParticlePositions.d.ts +19 -0
- package/dist/hooks/useParticlePositions.d.ts.map +1 -0
- package/dist/hooks/useParticlePositions.js +56 -0
- package/dist/hooks/useParticlesColors.d.ts +14 -0
- package/dist/hooks/useParticlesColors.d.ts.map +1 -0
- package/dist/hooks/useParticlesColors.js +27 -0
- package/dist/hooks/useParticlesTextures.d.ts +10 -0
- package/dist/hooks/useParticlesTextures.d.ts.map +1 -0
- package/dist/hooks/useParticlesTextures.js +23 -0
- package/dist/hooks/usePathAnimation.d.ts +26 -0
- package/dist/hooks/usePathAnimation.d.ts.map +1 -0
- package/dist/hooks/usePathAnimation.js +130 -0
- package/dist/hooks/useSequenceAnimation.d.ts +14 -0
- package/dist/hooks/useSequenceAnimation.d.ts.map +1 -0
- package/dist/hooks/useSequenceAnimation.js +260 -0
- package/dist/hooks/useShadowApplication.d.ts +3 -0
- package/dist/hooks/useShadowApplication.d.ts.map +1 -0
- package/dist/hooks/useShadowApplication.js +31 -0
- package/dist/hooks/useShapeGeometry.d.ts +8 -0
- package/dist/hooks/useShapeGeometry.d.ts.map +1 -0
- package/dist/hooks/useShapeGeometry.js +12 -0
- package/dist/hooks/useSkyAnimation.d.ts +13 -0
- package/dist/hooks/useSkyAnimation.d.ts.map +1 -0
- package/dist/hooks/useSkyAnimation.js +36 -0
- package/dist/hooks/useSkySystem.d.ts +25 -0
- package/dist/hooks/useSkySystem.d.ts.map +1 -0
- package/dist/hooks/useSkySystem.js +59 -0
- package/dist/hooks/useSkyUniforms.d.ts +18 -0
- package/dist/hooks/useSkyUniforms.d.ts.map +1 -0
- package/dist/hooks/useSkyUniforms.js +71 -0
- package/dist/hooks/useTransformControls.d.ts +6 -0
- package/dist/hooks/useTransformControls.d.ts.map +1 -0
- package/dist/hooks/useTransformControls.js +111 -0
- package/dist/hooks/useVolumePoints.d.ts +9 -0
- package/dist/hooks/useVolumePoints.d.ts.map +1 -0
- package/dist/hooks/useVolumePoints.js +22 -0
- package/dist/hooks/useWaterEnvironment.d.ts +5 -0
- package/dist/hooks/useWaterEnvironment.d.ts.map +1 -0
- package/dist/hooks/useWaterEnvironment.js +27 -0
- package/dist/hooks/useWaterReflections.d.ts +18 -0
- package/dist/hooks/useWaterReflections.d.ts.map +1 -0
- package/dist/hooks/useWaterReflections.js +84 -0
- package/dist/index.d.ts +146 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/services/AnimationsManager.d.ts +33 -0
- package/dist/services/AnimationsManager.d.ts.map +1 -0
- package/dist/services/AnimationsManager.js +58 -0
- package/dist/services/FontManager.d.ts +32 -0
- package/dist/services/FontManager.d.ts.map +1 -0
- package/dist/services/FontManager.js +76 -0
- package/dist/services/TexturesManager.d.ts +17 -0
- package/dist/services/TexturesManager.d.ts.map +1 -0
- package/dist/services/TexturesManager.js +48 -0
- package/dist/shaders/RainMaterial.d.ts +34 -0
- package/dist/shaders/RainMaterial.d.ts.map +1 -0
- package/dist/shaders/RainMaterial.js +56 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts +228 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/ShaderEffectsMaterial.js +233 -0
- package/dist/shaders/ShootingStarMaterial.d.ts +14 -0
- package/dist/shaders/ShootingStarMaterial.d.ts.map +1 -0
- package/dist/shaders/ShootingStarMaterial.js +33 -0
- package/dist/shaders/SkyboxMaterial.d.ts +38 -0
- package/dist/shaders/SkyboxMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyboxMaterial.js +57 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts +2 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.js +115 -0
- package/dist/utils/CameraSingleton.d.ts +43 -0
- package/dist/utils/CameraSingleton.d.ts.map +1 -0
- package/dist/utils/CameraSingleton.js +199 -0
- package/dist/utils/anchorUtils.d.ts +10 -0
- package/dist/utils/anchorUtils.d.ts.map +1 -0
- package/dist/utils/anchorUtils.js +13 -0
- package/dist/utils/cursorPicking.d.ts +8 -0
- package/dist/utils/cursorPicking.d.ts.map +1 -0
- package/dist/utils/cursorPicking.js +35 -0
- package/dist/utils/extractOutline.d.ts +18 -0
- package/dist/utils/extractOutline.d.ts.map +1 -0
- package/dist/utils/extractOutline.js +47 -0
- package/dist/utils/frameAnimations.d.ts +49 -0
- package/dist/utils/frameAnimations.d.ts.map +1 -0
- package/dist/utils/frameAnimations.js +213 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts +5 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts.map +1 -0
- package/dist/utils/handleGenerativeEffectsAnimations.js +268 -0
- package/dist/utils/hasHoverAnimation.d.ts +3 -0
- package/dist/utils/hasHoverAnimation.d.ts.map +1 -0
- package/dist/utils/hasHoverAnimation.js +15 -0
- package/dist/utils/materialUtils.d.ts +23 -0
- package/dist/utils/materialUtils.d.ts.map +1 -0
- package/dist/utils/materialUtils.js +81 -0
- package/dist/utils/particleAnimations.d.ts +3 -0
- package/dist/utils/particleAnimations.d.ts.map +1 -0
- package/dist/utils/particleAnimations.js +17 -0
- package/dist/utils/sampleVolume.d.ts +21 -0
- package/dist/utils/sampleVolume.d.ts.map +1 -0
- package/dist/utils/sampleVolume.js +44 -0
- package/dist/utils/sceneQuery.d.ts +9 -0
- package/dist/utils/sceneQuery.d.ts.map +1 -0
- package/dist/utils/sceneQuery.js +22 -0
- package/dist/utils/shaderUtils.d.ts +6 -0
- package/dist/utils/shaderUtils.d.ts.map +1 -0
- package/dist/utils/shaderUtils.js +151 -0
- package/dist/utils/shapes.d.ts +74 -0
- package/dist/utils/shapes.d.ts.map +1 -0
- package/dist/utils/shapes.js +443 -0
- package/dist/utils/textEffects.d.ts +31 -0
- package/dist/utils/textEffects.d.ts.map +1 -0
- package/dist/utils/textEffects.js +61 -0
- package/dist/utils/utils3d.d.ts +7 -0
- package/dist/utils/utils3d.d.ts.map +1 -0
- package/dist/utils/utils3d.js +34 -0
- package/package.json +44 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useObjectEffects.ts
|
|
3
|
+
*
|
|
4
|
+
* Hook for managing visual object effects like vanish, glow, etc.
|
|
5
|
+
* Maintains state for which objects have effects applied.
|
|
6
|
+
*/
|
|
7
|
+
import { useCallback, useRef } from 'react';
|
|
8
|
+
import { MeshStandardMaterial, MeshPhysicalMaterial } from 'three';
|
|
9
|
+
import { gsap } from 'gsap';
|
|
10
|
+
/**
|
|
11
|
+
* Hook for managing visual object effects
|
|
12
|
+
*/
|
|
13
|
+
export function useObjectEffects() {
|
|
14
|
+
// Track which objects have effects applied
|
|
15
|
+
const glowingObjects = useRef(new Set());
|
|
16
|
+
const vanishedObjects = useRef(new Set());
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Vanish Effect
|
|
19
|
+
// ============================================================================
|
|
20
|
+
const vanishObject = useCallback((object, duration = 1.0, ease = "power2.inOut") => {
|
|
21
|
+
console.log('[useObjectEffects] vanishObject:', object.uuid);
|
|
22
|
+
object.traverse((child) => {
|
|
23
|
+
if (child.isMesh) {
|
|
24
|
+
const mesh = child;
|
|
25
|
+
const materials = Array.isArray(mesh.material) ? mesh.material : [mesh.material];
|
|
26
|
+
materials.forEach((mat) => {
|
|
27
|
+
// Store original values
|
|
28
|
+
if (mat.userData.originalOpacity === undefined) {
|
|
29
|
+
mat.userData.originalOpacity = mat.opacity;
|
|
30
|
+
mat.userData.originalTransparent = mat.transparent;
|
|
31
|
+
}
|
|
32
|
+
mat.transparent = true;
|
|
33
|
+
gsap.to(mat, {
|
|
34
|
+
opacity: 0,
|
|
35
|
+
duration,
|
|
36
|
+
ease,
|
|
37
|
+
onComplete: () => {
|
|
38
|
+
object.visible = false;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
vanishedObjects.current.add(object.uuid);
|
|
45
|
+
}, []);
|
|
46
|
+
const restoreVanishedObject = useCallback((object, duration = 1.0, ease = "power2.inOut") => {
|
|
47
|
+
console.log('[useObjectEffects] restoreVanishedObject:', object.uuid);
|
|
48
|
+
object.visible = true;
|
|
49
|
+
object.traverse((child) => {
|
|
50
|
+
if (child.isMesh) {
|
|
51
|
+
const mesh = child;
|
|
52
|
+
const materials = Array.isArray(mesh.material) ? mesh.material : [mesh.material];
|
|
53
|
+
materials.forEach((mat) => {
|
|
54
|
+
if (mat.userData.originalOpacity !== undefined) {
|
|
55
|
+
const originalOpacity = mat.userData.originalOpacity;
|
|
56
|
+
const originalTransparent = mat.userData.originalTransparent;
|
|
57
|
+
gsap.to(mat, {
|
|
58
|
+
opacity: originalOpacity,
|
|
59
|
+
duration,
|
|
60
|
+
ease,
|
|
61
|
+
onComplete: () => {
|
|
62
|
+
mat.transparent = originalTransparent;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
vanishedObjects.current.delete(object.uuid);
|
|
70
|
+
}, []);
|
|
71
|
+
// ============================================================================
|
|
72
|
+
// Glow Effect
|
|
73
|
+
// ============================================================================
|
|
74
|
+
const animateGlowEffect = useCallback((object) => {
|
|
75
|
+
console.log('[useObjectEffects] animateGlowEffect:', object.uuid);
|
|
76
|
+
object.traverse((child) => {
|
|
77
|
+
if (child.isMesh) {
|
|
78
|
+
const mesh = child;
|
|
79
|
+
const materials = Array.isArray(mesh.material) ? mesh.material : [mesh.material];
|
|
80
|
+
materials.forEach((mat) => {
|
|
81
|
+
if (mat instanceof MeshStandardMaterial || mat instanceof MeshPhysicalMaterial) {
|
|
82
|
+
// Store original values
|
|
83
|
+
if (!mat.userData.originalEmissive) {
|
|
84
|
+
mat.userData.originalEmissive = mat.emissive.getHex();
|
|
85
|
+
mat.userData.originalEmissiveIntensity = mat.emissiveIntensity;
|
|
86
|
+
mat.userData.originalToneMapped = mat.toneMapped;
|
|
87
|
+
}
|
|
88
|
+
mat.toneMapped = false;
|
|
89
|
+
gsap.to(mat, {
|
|
90
|
+
emissiveIntensity: 3.0,
|
|
91
|
+
duration: 0.4,
|
|
92
|
+
ease: "power2.out"
|
|
93
|
+
});
|
|
94
|
+
gsap.to(mat.emissive, {
|
|
95
|
+
r: 0.2,
|
|
96
|
+
g: 0.5,
|
|
97
|
+
b: 1.0,
|
|
98
|
+
duration: 0.4,
|
|
99
|
+
ease: "power2.out"
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
glowingObjects.current.add(object.uuid);
|
|
106
|
+
}, []);
|
|
107
|
+
const removeGlow = useCallback((object) => {
|
|
108
|
+
console.log('[useObjectEffects] removeGlow:', object.uuid);
|
|
109
|
+
object.traverse((child) => {
|
|
110
|
+
if (child.isMesh) {
|
|
111
|
+
const mesh = child;
|
|
112
|
+
const materials = Array.isArray(mesh.material) ? mesh.material : [mesh.material];
|
|
113
|
+
materials.forEach((mat) => {
|
|
114
|
+
if (mat instanceof MeshStandardMaterial || mat instanceof MeshPhysicalMaterial) {
|
|
115
|
+
if (mat.userData.originalEmissive !== undefined) {
|
|
116
|
+
const originalHex = mat.userData.originalEmissive;
|
|
117
|
+
gsap.to(mat, {
|
|
118
|
+
emissiveIntensity: mat.userData.originalEmissiveIntensity,
|
|
119
|
+
duration: 0.3,
|
|
120
|
+
ease: "power2.in",
|
|
121
|
+
onComplete: () => {
|
|
122
|
+
mat.toneMapped = mat.userData.originalToneMapped;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
gsap.to(mat.emissive, {
|
|
126
|
+
r: ((originalHex >> 16) & 255) / 255,
|
|
127
|
+
g: ((originalHex >> 8) & 255) / 255,
|
|
128
|
+
b: (originalHex & 255) / 255,
|
|
129
|
+
duration: 0.3,
|
|
130
|
+
ease: "power2.in"
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
glowingObjects.current.delete(object.uuid);
|
|
138
|
+
}, []);
|
|
139
|
+
// ============================================================================
|
|
140
|
+
// State Checkers
|
|
141
|
+
// ============================================================================
|
|
142
|
+
const isVanished = useCallback((objectUuid) => {
|
|
143
|
+
return vanishedObjects.current.has(objectUuid);
|
|
144
|
+
}, []);
|
|
145
|
+
const isGlowing = useCallback((objectUuid) => {
|
|
146
|
+
return glowingObjects.current.has(objectUuid);
|
|
147
|
+
}, []);
|
|
148
|
+
return {
|
|
149
|
+
// State refs
|
|
150
|
+
glowingObjects,
|
|
151
|
+
vanishedObjects,
|
|
152
|
+
// Effect functions
|
|
153
|
+
vanishObject,
|
|
154
|
+
restoreVanishedObject,
|
|
155
|
+
animateGlowEffect,
|
|
156
|
+
removeGlow,
|
|
157
|
+
// State checkers
|
|
158
|
+
isVanished,
|
|
159
|
+
isGlowing,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
export default useObjectEffects;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OrbitControls as OrbitControlsImpl } from "three-stdlib";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to access OrbitControls from any component within the R3F Canvas
|
|
4
|
+
* Returns the OrbitControls instance with proper typing, or null if not available
|
|
5
|
+
*/
|
|
6
|
+
export declare function useOrbitControls(): OrbitControlsImpl | null;
|
|
7
|
+
//# sourceMappingURL=useOrbitControls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrbitControls.d.ts","sourceRoot":"","sources":["../../src/hooks/useOrbitControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,GAAG,IAAI,CAG3D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useThree } from '@react-three/fiber';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to access OrbitControls from any component within the R3F Canvas
|
|
4
|
+
* Returns the OrbitControls instance with proper typing, or null if not available
|
|
5
|
+
*/
|
|
6
|
+
export function useOrbitControls() {
|
|
7
|
+
const { controls } = useThree();
|
|
8
|
+
return controls;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OutlineMode, Point3 } from '../utils/extractOutline';
|
|
2
|
+
import { BufferGeometry } from "three";
|
|
3
|
+
/**
|
|
4
|
+
* Memoized outline points for a host geometry. `mode` switches exactly one
|
|
5
|
+
* behavior: '3d' returns angle-thresholded feature edges, '2d' returns the
|
|
6
|
+
* flat front-plane profile (angle is ignored in 2d).
|
|
7
|
+
*/
|
|
8
|
+
export declare function useOutline(geometry: BufferGeometry | null, mode: OutlineMode, angle: number): Point3[];
|
|
9
|
+
//# sourceMappingURL=useOutline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOutline.d.ts","sourceRoot":"","sources":["../../src/hooks/useOutline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMtG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { contour2D, edges3D } from '../utils/extractOutline.js';
|
|
3
|
+
/**
|
|
4
|
+
* Memoized outline points for a host geometry. `mode` switches exactly one
|
|
5
|
+
* behavior: '3d' returns angle-thresholded feature edges, '2d' returns the
|
|
6
|
+
* flat front-plane profile (angle is ignored in 2d).
|
|
7
|
+
*/
|
|
8
|
+
export function useOutline(geometry, mode, angle) {
|
|
9
|
+
return useMemo(() => {
|
|
10
|
+
if (!geometry)
|
|
11
|
+
return [];
|
|
12
|
+
return mode === '2d' ? contour2D(geometry) : edges3D(geometry, angle);
|
|
13
|
+
}, [geometry, mode, angle]);
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PositionShape } from '@3driseai/3drise-core';
|
|
2
|
+
import type { Points } from "three";
|
|
3
|
+
interface UseParticlePositionsProps {
|
|
4
|
+
shapeType: string;
|
|
5
|
+
targetShape: PositionShape | undefined;
|
|
6
|
+
count: number;
|
|
7
|
+
outlines: boolean;
|
|
8
|
+
targetOutLines: boolean | undefined;
|
|
9
|
+
pointsRef: React.RefObject<Points | null>;
|
|
10
|
+
}
|
|
11
|
+
export declare const useParticlePositions: ({ shapeType, targetShape, count, outlines, targetOutLines, pointsRef, }: UseParticlePositionsProps) => {
|
|
12
|
+
basePositions: import("react").RefObject<any>;
|
|
13
|
+
targetPositions: import("react").RefObject<any>;
|
|
14
|
+
animationProgress: import("react").RefObject<number>;
|
|
15
|
+
positionsVersion: number;
|
|
16
|
+
uvs: any;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=useParticlePositions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useParticlePositions.d.ts","sourceRoot":"","sources":["../../src/hooks/useParticlePositions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,UAAU,yBAAyB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7C;AAsBD,eAAO,MAAM,oBAAoB,GAAI,yEAAyE,yBAAyB;;;;;;CAkCtI,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { PositionsCreator, shapeConfig } from '@3driseai/3drise-core';
|
|
3
|
+
function generateUVsFromPositions(positions) {
|
|
4
|
+
const count = positions.length / 3;
|
|
5
|
+
let minX = Infinity, maxX = -Infinity, minY = Infinity, maxY = -Infinity;
|
|
6
|
+
for (let i = 0; i < positions.length; i += 3) {
|
|
7
|
+
minX = Math.min(minX, positions[i]);
|
|
8
|
+
maxX = Math.max(maxX, positions[i]);
|
|
9
|
+
minY = Math.min(minY, positions[i + 1]);
|
|
10
|
+
maxY = Math.max(maxY, positions[i + 1]);
|
|
11
|
+
}
|
|
12
|
+
const rangeX = maxX - minX || 1;
|
|
13
|
+
const rangeY = maxY - minY || 1;
|
|
14
|
+
const uvs = new Float32Array(count * 2);
|
|
15
|
+
for (let i = 0; i < positions.length; i += 3) {
|
|
16
|
+
const idx = (i / 3) * 2;
|
|
17
|
+
uvs[idx] = (positions[i] - minX) / rangeX;
|
|
18
|
+
uvs[idx + 1] = (positions[i + 1] - minY) / rangeY;
|
|
19
|
+
}
|
|
20
|
+
return uvs;
|
|
21
|
+
}
|
|
22
|
+
export const useParticlePositions = ({ shapeType, targetShape, count, outlines, targetOutLines, pointsRef, }) => {
|
|
23
|
+
const basePositions = useRef(null);
|
|
24
|
+
const targetPositions = useRef(null);
|
|
25
|
+
const animationProgress = useRef(0);
|
|
26
|
+
const uvs = useRef(null);
|
|
27
|
+
const [positionsVersion, setPositionsVersion] = useState(0);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const shapeParams = {
|
|
30
|
+
length: count,
|
|
31
|
+
name: shapeType,
|
|
32
|
+
outlines,
|
|
33
|
+
...(shapeConfig[shapeType] || {}),
|
|
34
|
+
};
|
|
35
|
+
const newPositions = PositionsCreator.generatePositions(shapeParams);
|
|
36
|
+
basePositions.current = newPositions;
|
|
37
|
+
uvs.current = generateUVsFromPositions(newPositions);
|
|
38
|
+
setPositionsVersion(v => v + 1);
|
|
39
|
+
}, [shapeType, count, outlines]);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (!targetShape || targetShape === 'none') {
|
|
42
|
+
targetPositions.current = null;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
const shapeParams = {
|
|
46
|
+
length: count,
|
|
47
|
+
name: targetShape,
|
|
48
|
+
outlines: targetOutLines,
|
|
49
|
+
...(shapeConfig[targetShape] || {}),
|
|
50
|
+
};
|
|
51
|
+
targetPositions.current = PositionsCreator.generatePositions(shapeParams);
|
|
52
|
+
animationProgress.current = 0;
|
|
53
|
+
}
|
|
54
|
+
}, [targetShape, count, targetOutLines]);
|
|
55
|
+
return { basePositions, targetPositions, animationProgress, positionsVersion, uvs: uvs.current };
|
|
56
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Color } from 'three';
|
|
2
|
+
interface UseParticlesColorsProps {
|
|
3
|
+
color: string;
|
|
4
|
+
targetColor?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const useParticlesColors: ({ color, targetColor }: UseParticlesColorsProps) => {
|
|
7
|
+
baseColorRef: import("react").RefObject<Color>;
|
|
8
|
+
targetColorRef: import("react").RefObject<Color>;
|
|
9
|
+
colorAnimationProgress: import("react").RefObject<number>;
|
|
10
|
+
currentColorRef: import("react").RefObject<Color>;
|
|
11
|
+
handleColorsAnimation: (materialRef: any, delta: any, speed: any) => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useParticlesColors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useParticlesColors.d.ts","sourceRoot":"","sources":["../../src/hooks/useParticlesColors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,UAAU,uBAAuB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,GAAI,wBAAwB,uBAAuB;;;;;;CAwBjF,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useRef, useEffect, useCallback } from 'react';
|
|
2
|
+
import { Color } from 'three';
|
|
3
|
+
export const useParticlesColors = ({ color, targetColor }) => {
|
|
4
|
+
const baseColorRef = useRef(new Color(color));
|
|
5
|
+
const colorAnimationProgress = useRef(0);
|
|
6
|
+
const currentColorRef = useRef(new Color());
|
|
7
|
+
const targetColorRef = useRef(targetColor ? new Color(targetColor) : new Color(color));
|
|
8
|
+
useEffect(() => { baseColorRef.current.set(color); }, [color]);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (targetColor) {
|
|
11
|
+
colorAnimationProgress.current = 0;
|
|
12
|
+
targetColorRef.current.set(targetColor);
|
|
13
|
+
}
|
|
14
|
+
}, [targetColor]);
|
|
15
|
+
const handleColorsAnimation = useCallback((materialRef, delta, speed) => {
|
|
16
|
+
if (!materialRef.current)
|
|
17
|
+
return;
|
|
18
|
+
if (!targetColor || targetColor === color) {
|
|
19
|
+
colorAnimationProgress.current = 0;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
colorAnimationProgress.current = Math.min(colorAnimationProgress.current + delta * speed, 1);
|
|
23
|
+
currentColorRef.current.lerpColors(baseColorRef.current, targetColorRef.current, colorAnimationProgress.current);
|
|
24
|
+
materialRef.current.uniforms.uColor.value = currentColorRef.current;
|
|
25
|
+
}, [color, targetColor]);
|
|
26
|
+
return { baseColorRef, targetColorRef, colorAnimationProgress, currentColorRef, handleColorsAnimation };
|
|
27
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Texture } from "three";
|
|
2
|
+
export declare const useParticlesTextures: () => {
|
|
3
|
+
currentTexture: import("react").RefObject<any>;
|
|
4
|
+
prevTexture: import("react").RefObject<any>;
|
|
5
|
+
loadTexture: (url: any) => Promise<Texture<unknown, import("three").TextureEventMap>>;
|
|
6
|
+
clearPreviousTexture: () => void;
|
|
7
|
+
textureProgress: import("react").RefObject<number>;
|
|
8
|
+
handleTextureAnimation: (materialRef: any, delta: any, speed: any) => void;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useParticlesTextures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useParticlesTextures.d.ts","sourceRoot":"","sources":["../../src/hooks/useParticlesTextures.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,eAAO,MAAM,oBAAoB;;;;;;;CAoBhC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useRef, useCallback } from 'react';
|
|
2
|
+
import { texturesManager } from '@3driseai/3drise-core';
|
|
3
|
+
export const useParticlesTextures = () => {
|
|
4
|
+
const currentTexture = useRef(null);
|
|
5
|
+
const prevTexture = useRef(null);
|
|
6
|
+
const textureProgress = useRef(0);
|
|
7
|
+
const loadTexture = async (url) => {
|
|
8
|
+
if (currentTexture.current)
|
|
9
|
+
prevTexture.current = currentTexture.current;
|
|
10
|
+
const tex = await texturesManager.loadTexture(`image-${url}`, url, 'images');
|
|
11
|
+
if (tex)
|
|
12
|
+
currentTexture.current = tex;
|
|
13
|
+
return tex;
|
|
14
|
+
};
|
|
15
|
+
const clearPreviousTexture = () => { prevTexture.current = null; };
|
|
16
|
+
const handleTextureAnimation = useCallback((materialRef, delta, speed) => {
|
|
17
|
+
if (!materialRef.current || !currentTexture.current)
|
|
18
|
+
return;
|
|
19
|
+
textureProgress.current = Math.min(textureProgress.current + delta * speed, 1);
|
|
20
|
+
materialRef.current.uniforms.uTextureMorph.value = textureProgress.current;
|
|
21
|
+
}, []);
|
|
22
|
+
return { currentTexture, prevTexture, loadTexture, clearPreviousTexture, textureProgress, handleTextureAnimation };
|
|
23
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { Vector3Array } from '@3driseai/3drise-core';
|
|
3
|
+
import type { Object3D } from "three";
|
|
4
|
+
export interface PathAnimationOptions {
|
|
5
|
+
ease?: string;
|
|
6
|
+
loop?: boolean;
|
|
7
|
+
yoyo?: boolean;
|
|
8
|
+
speed?: number;
|
|
9
|
+
faceDirection?: boolean;
|
|
10
|
+
applyRotation?: boolean;
|
|
11
|
+
offset?: Vector3Array;
|
|
12
|
+
keepOriginalTransform?: boolean;
|
|
13
|
+
onComplete?: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const usePathAnimation: () => {
|
|
16
|
+
startPathAnimation: (pathId: string, duration: number, options?: PathAnimationOptions) => boolean;
|
|
17
|
+
stopPathAnimation: () => void;
|
|
18
|
+
updatePathAnimation: (delta: number, object: Object3D) => boolean;
|
|
19
|
+
isAnimating: () => boolean;
|
|
20
|
+
getPositionAt: (t: number) => {
|
|
21
|
+
position: THREE.Vector3;
|
|
22
|
+
direction: THREE.Vector3;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export default usePathAnimation;
|
|
26
|
+
//# sourceMappingURL=usePathAnimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePathAnimation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePathAnimation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,MAAM,WAAW,oBAAoB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAGD,eAAO,MAAM,gBAAgB,QAAO;IAC5B,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAC;IAClG,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC;IAClE,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;QAC1B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;QACxB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;KAC5B,CAAC;CA6HT,CAAC;AACF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { useRef, useCallback, useEffect } from 'react';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import { smoothPathCorners, createPathSpline, applyEasing, resolveEasing } from '@3driseai/3drise-core';
|
|
4
|
+
import { AnimationsManager } from '@3driseai/3drise-core';
|
|
5
|
+
export const usePathAnimation = () => {
|
|
6
|
+
const pointsRef = useRef([]);
|
|
7
|
+
const progressRef = useRef(0);
|
|
8
|
+
const durationRef = useRef(1);
|
|
9
|
+
const splineRef = useRef(null);
|
|
10
|
+
const activeRef = useRef(false);
|
|
11
|
+
const directionRef = useRef(1);
|
|
12
|
+
const easeRef = useRef(null);
|
|
13
|
+
const loopRef = useRef(false);
|
|
14
|
+
const yoyoRef = useRef(false);
|
|
15
|
+
const speedRef = useRef(1);
|
|
16
|
+
const faceRef = useRef(true);
|
|
17
|
+
const applyRotRef = useRef(true);
|
|
18
|
+
const offsetRef = useRef(null);
|
|
19
|
+
const onCompleteRef = useRef(null);
|
|
20
|
+
const targetQuatRef = useRef(new THREE.Quaternion());
|
|
21
|
+
useEffect(() => () => { splineRef.current = null; }, []);
|
|
22
|
+
const startPathAnimation = useCallback((pathId, duration, options = {}) => {
|
|
23
|
+
const cfg = AnimationsManager.getPath(pathId);
|
|
24
|
+
if (!cfg || cfg.points.length < 2)
|
|
25
|
+
return false;
|
|
26
|
+
const smooth = cfg.smoothCorners ?? 0;
|
|
27
|
+
const pts = smooth > 0 && cfg.points.length >= 3
|
|
28
|
+
? smoothPathCorners(cfg.points, smooth)
|
|
29
|
+
: cfg.points;
|
|
30
|
+
pointsRef.current = pts;
|
|
31
|
+
progressRef.current = 0;
|
|
32
|
+
durationRef.current = duration;
|
|
33
|
+
activeRef.current = true;
|
|
34
|
+
directionRef.current = 1;
|
|
35
|
+
easeRef.current = options.ease ?? null;
|
|
36
|
+
loopRef.current = options.loop ?? false;
|
|
37
|
+
yoyoRef.current = options.yoyo ?? false;
|
|
38
|
+
speedRef.current = options.speed ?? 1;
|
|
39
|
+
faceRef.current = options.faceDirection ?? true;
|
|
40
|
+
applyRotRef.current = options.applyRotation ?? cfg.applyRotation ?? true;
|
|
41
|
+
offsetRef.current = options.offset ?? cfg.offset ?? null;
|
|
42
|
+
onCompleteRef.current = options.onComplete ?? null;
|
|
43
|
+
const curve = cfg.curve ?? 1;
|
|
44
|
+
splineRef.current = createPathSpline(pts, curve);
|
|
45
|
+
return true;
|
|
46
|
+
}, []);
|
|
47
|
+
const stopPathAnimation = useCallback(() => {
|
|
48
|
+
activeRef.current = false;
|
|
49
|
+
splineRef.current = null;
|
|
50
|
+
progressRef.current = 0;
|
|
51
|
+
directionRef.current = 1;
|
|
52
|
+
}, []);
|
|
53
|
+
const getPositionAt = useCallback((t) => {
|
|
54
|
+
const pts = pointsRef.current;
|
|
55
|
+
const spline = splineRef.current;
|
|
56
|
+
const clamped = Math.max(0, Math.min(1, t));
|
|
57
|
+
if (spline) {
|
|
58
|
+
return {
|
|
59
|
+
position: spline.getPointAt(clamped),
|
|
60
|
+
direction: spline.getTangentAt(clamped).normalize(),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const segs = pts.length - 1;
|
|
64
|
+
const idx = Math.min(Math.floor(clamped * segs), segs - 1);
|
|
65
|
+
const sp = clamped * segs - idx;
|
|
66
|
+
const a = pts[idx], b = pts[idx + 1];
|
|
67
|
+
return {
|
|
68
|
+
position: new THREE.Vector3(a[0] + (b[0] - a[0]) * sp, a[1] + (b[1] - a[1]) * sp, a[2] + (b[2] - a[2]) * sp),
|
|
69
|
+
direction: new THREE.Vector3(b[0] - a[0], b[1] - a[1], b[2] - a[2]).normalize(),
|
|
70
|
+
};
|
|
71
|
+
}, []);
|
|
72
|
+
const updatePathAnimation = useCallback((delta, object) => {
|
|
73
|
+
if (!activeRef.current)
|
|
74
|
+
return false;
|
|
75
|
+
progressRef.current += (delta / durationRef.current) * speedRef.current * directionRef.current;
|
|
76
|
+
let p = progressRef.current;
|
|
77
|
+
if (p >= 1 || p <= 0) {
|
|
78
|
+
if (yoyoRef.current) {
|
|
79
|
+
directionRef.current *= -1;
|
|
80
|
+
p = Math.max(0, Math.min(1, p));
|
|
81
|
+
progressRef.current = p;
|
|
82
|
+
if (!loopRef.current && directionRef.current === 1 && p <= 0) {
|
|
83
|
+
activeRef.current = false;
|
|
84
|
+
onCompleteRef.current?.();
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (loopRef.current) {
|
|
89
|
+
progressRef.current = ((p % 1) + 1) % 1;
|
|
90
|
+
p = progressRef.current;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
progressRef.current = Math.max(0, Math.min(1, p));
|
|
94
|
+
activeRef.current = false;
|
|
95
|
+
onCompleteRef.current?.();
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const eased = easeRef.current ? applyEasing(resolveEasing(easeRef.current), p) : p;
|
|
100
|
+
const { position, direction } = getPositionAt(eased);
|
|
101
|
+
if (offsetRef.current) {
|
|
102
|
+
position.x += offsetRef.current[0];
|
|
103
|
+
position.y += offsetRef.current[1];
|
|
104
|
+
position.z += offsetRef.current[2];
|
|
105
|
+
}
|
|
106
|
+
// Convert world-space position to parent local space (handles nested groups)
|
|
107
|
+
// if (object.parent) {
|
|
108
|
+
// object.parent.worldToLocal(position);
|
|
109
|
+
// }
|
|
110
|
+
object.position.copy(position);
|
|
111
|
+
if (applyRotRef.current && faceRef.current && direction.lengthSq() > 0.0001) {
|
|
112
|
+
const up = new THREE.Vector3(0, 1, 0);
|
|
113
|
+
const mat = new THREE.Matrix4();
|
|
114
|
+
mat.lookAt(position, new THREE.Vector3().copy(position).add(direction), up);
|
|
115
|
+
targetQuatRef.current.setFromRotationMatrix(mat);
|
|
116
|
+
targetQuatRef.current.multiply(new THREE.Quaternion().setFromAxisAngle(new THREE.Vector3(0, 1, 0), Math.PI));
|
|
117
|
+
// Strip parent's world rotation so quaternion is in local space
|
|
118
|
+
// if (object.parent) {
|
|
119
|
+
// const parentWorldQuat = new THREE.Quaternion();
|
|
120
|
+
// object.parent.getWorldQuaternion(parentWorldQuat);
|
|
121
|
+
// targetQuatRef.current.premultiply(parentWorldQuat.invert());
|
|
122
|
+
// }
|
|
123
|
+
object.quaternion.slerp(targetQuatRef.current, 1);
|
|
124
|
+
}
|
|
125
|
+
return true;
|
|
126
|
+
}, [getPositionAt]);
|
|
127
|
+
const isAnimating = useCallback(() => activeRef.current, []);
|
|
128
|
+
return { startPathAnimation, stopPathAnimation, updatePathAnimation, isAnimating, getPositionAt };
|
|
129
|
+
};
|
|
130
|
+
export default usePathAnimation;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Object3D } from "three";
|
|
2
|
+
/**
|
|
3
|
+
* useSequenceAnimation
|
|
4
|
+
*
|
|
5
|
+
* Subscribes to AnimationsManager step events and, for each frame while a step
|
|
6
|
+
* is active, interpolates both transform AND material properties on the given
|
|
7
|
+
* object. Path-based transitions are delegated to usePathAnimation.
|
|
8
|
+
*
|
|
9
|
+
* Designed to be called inside useObjectAnimation so that AnimatedObject stays
|
|
10
|
+
* a thin group wrapper.
|
|
11
|
+
*/
|
|
12
|
+
export declare const useSequenceAnimation: (objectId: string | undefined, objectRef: Object3D | null | undefined) => void;
|
|
13
|
+
export default useSequenceAnimation;
|
|
14
|
+
//# sourceMappingURL=useSequenceAnimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSequenceAnimation.d.ts","sourceRoot":"","sources":["../../src/hooks/useSequenceAnimation.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA2BtC;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,GAAG,SAAS,EAAE,WAAW,QAAQ,GAAG,IAAI,GAAG,SAAS,KAAG,IAyN3G,CAAC;AACF,eAAe,oBAAoB,CAAC"}
|