@3driseai/3drise-viewer 0.1.27 → 0.1.29
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/animationsV2/ClipPlayer.d.ts.map +1 -1
- package/dist/animationsV2/ClipPlayer.js +13 -9
- package/dist/animationsV2/ClipsRuntime.d.ts +44 -3
- package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
- package/dist/animationsV2/ClipsRuntime.js +173 -55
- package/dist/animationsV2/appliers.d.ts.map +1 -1
- package/dist/animationsV2/appliers.js +21 -5
- package/dist/animationsV2/index.d.ts +1 -1
- package/dist/animationsV2/index.d.ts.map +1 -1
- package/dist/animationsV2/normalize.d.ts.map +1 -1
- package/dist/animationsV2/normalize.js +7 -3
- package/dist/animationsV2/sequenceUtils.d.ts +44 -6
- package/dist/animationsV2/sequenceUtils.d.ts.map +1 -1
- package/dist/animationsV2/sequenceUtils.js +58 -12
- package/dist/animationsV2/types.d.ts +22 -12
- package/dist/animationsV2/types.d.ts.map +1 -1
- package/dist/api/sceneHandle.d.ts +35 -1
- package/dist/api/sceneHandle.d.ts.map +1 -1
- package/dist/api/sceneHandle.js +88 -17
- package/dist/components/AdvancedGrid.d.ts +1 -5
- package/dist/components/AdvancedGrid.d.ts.map +1 -1
- package/dist/components/AdvancedGrid.js +6 -35
- package/dist/components/AnimatedObject.d.ts.map +1 -1
- package/dist/components/AnimatedObject.js +9 -4
- package/dist/components/ApollonianGrid.d.ts +25 -0
- package/dist/components/ApollonianGrid.d.ts.map +1 -0
- package/dist/components/ApollonianGrid.js +55 -0
- package/dist/components/ChladniGrid.d.ts +1 -1
- package/dist/components/ChladniGrid.d.ts.map +1 -1
- package/dist/components/ChladniGrid.js +6 -35
- package/dist/components/CircuitGrid.d.ts +1 -1
- package/dist/components/CircuitGrid.d.ts.map +1 -1
- package/dist/components/CircuitGrid.js +6 -34
- package/dist/components/ConformalGrid.d.ts +25 -0
- package/dist/components/ConformalGrid.d.ts.map +1 -0
- package/dist/components/ConformalGrid.js +66 -0
- package/dist/components/ContourGrid.d.ts +1 -1
- package/dist/components/ContourGrid.d.ts.map +1 -1
- package/dist/components/ContourGrid.js +6 -34
- package/dist/components/CustomPrimitive.js +1 -1
- package/dist/components/EnvironmentObject.d.ts.map +1 -1
- package/dist/components/EnvironmentObject.js +9 -7
- package/dist/components/FlowNetGrid.d.ts +1 -1
- package/dist/components/FlowNetGrid.d.ts.map +1 -1
- package/dist/components/FlowNetGrid.js +6 -34
- package/dist/components/FractalGrid.d.ts +1 -1
- package/dist/components/FractalGrid.d.ts.map +1 -1
- package/dist/components/FractalGrid.js +6 -37
- package/dist/components/Galaxy.d.ts.map +1 -1
- package/dist/components/Galaxy.js +9 -23
- package/dist/components/GirihGrid.d.ts +1 -1
- package/dist/components/GirihGrid.d.ts.map +1 -1
- package/dist/components/GirihGrid.js +6 -35
- package/dist/components/GravWaveGrid.d.ts +1 -1
- package/dist/components/GravWaveGrid.d.ts.map +1 -1
- package/dist/components/GravWaveGrid.js +6 -35
- package/dist/components/GridsGenerator.d.ts +2 -2
- package/dist/components/GridsGenerator.d.ts.map +1 -1
- package/dist/components/GridsGenerator.js +21 -0
- package/dist/components/HexGrid.d.ts +1 -5
- package/dist/components/HexGrid.d.ts.map +1 -1
- package/dist/components/HexGrid.js +6 -36
- package/dist/components/HilbertGrid.d.ts +25 -0
- package/dist/components/HilbertGrid.d.ts.map +1 -0
- package/dist/components/HilbertGrid.js +66 -0
- package/dist/components/HyperbolicGrid.d.ts +1 -1
- package/dist/components/HyperbolicGrid.d.ts.map +1 -1
- package/dist/components/HyperbolicGrid.js +6 -34
- package/dist/components/LandObject.d.ts +9 -0
- package/dist/components/LandObject.d.ts.map +1 -0
- package/dist/components/LandObject.js +15 -0
- package/dist/components/LensingGrid.d.ts +25 -0
- package/dist/components/LensingGrid.d.ts.map +1 -0
- package/dist/components/LensingGrid.js +55 -0
- package/dist/components/LightsManager.d.ts.map +1 -1
- package/dist/components/LightsManager.js +8 -0
- package/dist/components/ModelBoundary.d.ts +2 -0
- package/dist/components/ModelBoundary.d.ts.map +1 -1
- package/dist/components/ModelBoundary.js +3 -0
- package/dist/components/ModelPrimitive.d.ts.map +1 -1
- package/dist/components/ModelPrimitive.js +6 -0
- package/dist/components/MoireGrid.d.ts +1 -1
- package/dist/components/MoireGrid.d.ts.map +1 -1
- package/dist/components/MoireGrid.js +6 -35
- package/dist/components/MoonDisc.d.ts +11 -0
- package/dist/components/MoonDisc.d.ts.map +1 -0
- package/dist/components/MoonDisc.js +128 -0
- package/dist/components/ObjectNode.d.ts.map +1 -1
- package/dist/components/ObjectNode.js +15 -4
- package/dist/components/ObjectsRenderer.d.ts.map +1 -1
- package/dist/components/ObjectsRenderer.js +7 -5
- package/dist/components/OceanBuilder.d.ts.map +1 -1
- package/dist/components/OceanBuilder.js +2 -0
- package/dist/components/ParastichyGrid.d.ts +25 -0
- package/dist/components/ParastichyGrid.d.ts.map +1 -0
- package/dist/components/ParastichyGrid.js +55 -0
- package/dist/components/PhyllotaxisGrid.d.ts +25 -0
- package/dist/components/PhyllotaxisGrid.d.ts.map +1 -0
- package/dist/components/PhyllotaxisGrid.js +66 -0
- package/dist/components/ProjectLoader.d.ts +5 -3
- package/dist/components/ProjectLoader.d.ts.map +1 -1
- package/dist/components/ProjectLoader.js +6 -3
- package/dist/components/QuasiGrid.d.ts +1 -1
- package/dist/components/QuasiGrid.d.ts.map +1 -1
- package/dist/components/QuasiGrid.js +6 -33
- package/dist/components/RadarGrid.d.ts +1 -1
- package/dist/components/RadarGrid.d.ts.map +1 -1
- package/dist/components/RadarGrid.js +6 -34
- package/dist/components/ReactionDiffusionGrid.d.ts +1 -1
- package/dist/components/ReactionDiffusionGrid.d.ts.map +1 -1
- package/dist/components/ReactionDiffusionGrid.js +6 -35
- package/dist/components/SceneBuilder.d.ts +25 -3
- package/dist/components/SceneBuilder.d.ts.map +1 -1
- package/dist/components/SceneBuilder.js +68 -38
- package/dist/components/SkyController.d.ts +25 -1
- package/dist/components/SkyController.d.ts.map +1 -1
- package/dist/components/SkyController.js +189 -130
- package/dist/components/SkyMesh.d.ts.map +1 -1
- package/dist/components/SkyMesh.js +26 -1
- package/dist/components/SkyStars.d.ts +11 -0
- package/dist/components/SkyStars.d.ts.map +1 -0
- package/dist/components/SkyStars.js +187 -0
- package/dist/components/SkySystem.d.ts +3 -3
- package/dist/components/SkySystem.d.ts.map +1 -1
- package/dist/components/SkySystem.js +8 -2
- package/dist/components/Sun.d.ts +15 -1
- package/dist/components/Sun.d.ts.map +1 -1
- package/dist/components/Sun.js +64 -3
- package/dist/components/SunLight.d.ts +6 -1
- package/dist/components/SunLight.d.ts.map +1 -1
- package/dist/components/SunLight.js +96 -44
- package/dist/components/TerrainBuilder.d.ts.map +1 -1
- package/dist/components/TerrainBuilder.js +2 -0
- package/dist/components/TextGenerator.d.ts +9 -0
- package/dist/components/TextGenerator.d.ts.map +1 -0
- package/dist/components/TextGenerator.js +29 -0
- package/dist/components/TruchetGrid.d.ts +25 -0
- package/dist/components/TruchetGrid.d.ts.map +1 -0
- package/dist/components/TruchetGrid.js +55 -0
- package/dist/components/VoronoiGrid.d.ts +1 -1
- package/dist/components/VoronoiGrid.d.ts.map +1 -1
- package/dist/components/VoronoiGrid.js +6 -33
- package/dist/components/WallpaperGrid.d.ts +1 -1
- package/dist/components/WallpaperGrid.d.ts.map +1 -1
- package/dist/components/WallpaperGrid.js +6 -35
- package/dist/components/environment/Rain.d.ts +15 -0
- package/dist/components/environment/Rain.d.ts.map +1 -0
- package/dist/components/environment/Rain.js +110 -0
- package/dist/components/environment/Rainbow.d.ts +20 -0
- package/dist/components/environment/Rainbow.d.ts.map +1 -0
- package/dist/components/environment/Rainbow.js +974 -0
- package/dist/components/environment/Sandstorm.d.ts +20 -0
- package/dist/components/environment/Sandstorm.d.ts.map +1 -0
- package/dist/components/environment/Sandstorm.js +776 -0
- package/dist/components/environment/Snow.d.ts +20 -0
- package/dist/components/environment/Snow.d.ts.map +1 -0
- package/dist/components/environment/Snow.js +609 -0
- package/dist/components/environment/Thunderstorm.d.ts +20 -0
- package/dist/components/environment/Thunderstorm.d.ts.map +1 -0
- package/dist/components/environment/Thunderstorm.js +731 -0
- package/dist/components/environment/Tornado.d.ts +20 -0
- package/dist/components/environment/Tornado.d.ts.map +1 -0
- package/dist/components/environment/Tornado.js +762 -0
- package/dist/components/environment/index.d.ts +13 -0
- package/dist/components/environment/index.d.ts.map +1 -0
- package/dist/components/environment/index.js +7 -0
- package/dist/components/index.d.ts +24 -10
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +15 -6
- package/dist/components/land/LandPatch.d.ts +15 -0
- package/dist/components/land/LandPatch.d.ts.map +1 -0
- package/dist/components/land/LandPatch.js +170 -0
- package/dist/components/land/index.d.ts +3 -0
- package/dist/components/land/index.d.ts.map +1 -0
- package/dist/components/land/index.js +1 -0
- package/dist/components/space/Earth.d.ts +16 -0
- package/dist/components/space/Earth.d.ts.map +1 -0
- package/dist/components/space/Earth.js +75 -0
- package/dist/components/space/ShootingStar.d.ts +21 -0
- package/dist/components/space/ShootingStar.d.ts.map +1 -0
- package/dist/components/space/ShootingStar.js +101 -0
- package/dist/components/space/ShootingStars.d.ts +16 -0
- package/dist/components/space/ShootingStars.d.ts.map +1 -0
- package/dist/components/space/ShootingStars.js +71 -0
- package/dist/components/space/SolarSystem.d.ts +16 -0
- package/dist/components/space/SolarSystem.d.ts.map +1 -0
- package/dist/components/space/SolarSystem.js +141 -0
- package/dist/components/space/Stars.d.ts +20 -0
- package/dist/components/space/Stars.d.ts.map +1 -0
- package/dist/components/space/Stars.js +160 -0
- package/dist/components/space/index.d.ts +11 -0
- package/dist/components/space/index.d.ts.map +1 -0
- package/dist/components/space/index.js +8 -0
- package/dist/components/terrain/TerrainSurface.d.ts.map +1 -1
- package/dist/components/terrain/TerrainSurface.js +27 -3
- package/dist/components/terrain/types.d.ts +5 -1
- package/dist/components/terrain/types.d.ts.map +1 -1
- package/dist/components/text/BurnAwayText.d.ts +15 -0
- package/dist/components/text/BurnAwayText.d.ts.map +1 -0
- package/dist/components/text/BurnAwayText.js +4 -0
- package/dist/components/text/ChalkboardText.d.ts +15 -0
- package/dist/components/text/ChalkboardText.d.ts.map +1 -0
- package/dist/components/text/ChalkboardText.js +4 -0
- package/dist/components/text/ConstellationText.d.ts +15 -0
- package/dist/components/text/ConstellationText.d.ts.map +1 -0
- package/dist/components/text/ConstellationText.js +4 -0
- package/dist/components/text/EmbroideryText.d.ts +15 -0
- package/dist/components/text/EmbroideryText.d.ts.map +1 -0
- package/dist/components/text/EmbroideryText.js +4 -0
- package/dist/components/text/FourierSketchText.d.ts +15 -0
- package/dist/components/text/FourierSketchText.d.ts.map +1 -0
- package/dist/components/text/FourierSketchText.js +4 -0
- package/dist/components/text/FrostGrowthText.d.ts +15 -0
- package/dist/components/text/FrostGrowthText.d.ts.map +1 -0
- package/dist/components/text/FrostGrowthText.js +4 -0
- package/dist/components/text/HandwritingText.d.ts +15 -0
- package/dist/components/text/HandwritingText.d.ts.map +1 -0
- package/dist/components/text/HandwritingText.js +4 -0
- package/dist/components/text/InkBleedText.d.ts +15 -0
- package/dist/components/text/InkBleedText.d.ts.map +1 -0
- package/dist/components/text/InkBleedText.js +4 -0
- package/dist/components/text/LightPaintingText.d.ts +15 -0
- package/dist/components/text/LightPaintingText.d.ts.map +1 -0
- package/dist/components/text/LightPaintingText.js +4 -0
- package/dist/components/text/LiquidMetalText.d.ts +15 -0
- package/dist/components/text/LiquidMetalText.d.ts.map +1 -0
- package/dist/components/text/LiquidMetalText.js +4 -0
- package/dist/components/text/NeonTubeText.d.ts +15 -0
- package/dist/components/text/NeonTubeText.d.ts.map +1 -0
- package/dist/components/text/NeonTubeText.js +4 -0
- package/dist/components/text/PlasmaDischargeText.d.ts +15 -0
- package/dist/components/text/PlasmaDischargeText.d.ts.map +1 -0
- package/dist/components/text/PlasmaDischargeText.js +4 -0
- package/dist/components/text/TextObjectView.d.ts +12 -0
- package/dist/components/text/TextObjectView.d.ts.map +1 -0
- package/dist/components/text/TextObjectView.js +11 -0
- package/dist/components/text/engine/fieldkit.d.ts +24 -0
- package/dist/components/text/engine/fieldkit.d.ts.map +1 -0
- package/dist/components/text/engine/fieldkit.js +201 -0
- package/dist/components/text/engine/glyphs.d.ts +19 -0
- package/dist/components/text/engine/glyphs.d.ts.map +1 -0
- package/dist/components/text/engine/glyphs.js +269 -0
- package/dist/components/text/engine/looks/burnAway.d.ts +144 -0
- package/dist/components/text/engine/looks/burnAway.d.ts.map +1 -0
- package/dist/components/text/engine/looks/burnAway.js +593 -0
- package/dist/components/text/engine/looks/chalkboard.d.ts +135 -0
- package/dist/components/text/engine/looks/chalkboard.d.ts.map +1 -0
- package/dist/components/text/engine/looks/chalkboard.js +426 -0
- package/dist/components/text/engine/looks/constellation.d.ts +111 -0
- package/dist/components/text/engine/looks/constellation.d.ts.map +1 -0
- package/dist/components/text/engine/looks/constellation.js +496 -0
- package/dist/components/text/engine/looks/embroidery.d.ts +165 -0
- package/dist/components/text/engine/looks/embroidery.d.ts.map +1 -0
- package/dist/components/text/engine/looks/embroidery.js +645 -0
- package/dist/components/text/engine/looks/frostGrowth.d.ts +109 -0
- package/dist/components/text/engine/looks/frostGrowth.d.ts.map +1 -0
- package/dist/components/text/engine/looks/frostGrowth.js +727 -0
- package/dist/components/text/engine/looks/index.d.ts +2 -0
- package/dist/components/text/engine/looks/index.d.ts.map +1 -0
- package/dist/components/text/engine/looks/index.js +48 -0
- package/dist/components/text/engine/looks/inkBleed.d.ts +103 -0
- package/dist/components/text/engine/looks/inkBleed.d.ts.map +1 -0
- package/dist/components/text/engine/looks/inkBleed.js +590 -0
- package/dist/components/text/engine/looks/lightPainting.d.ts +132 -0
- package/dist/components/text/engine/looks/lightPainting.d.ts.map +1 -0
- package/dist/components/text/engine/looks/lightPainting.js +567 -0
- package/dist/components/text/engine/looks/liquidMetal.d.ts +135 -0
- package/dist/components/text/engine/looks/liquidMetal.d.ts.map +1 -0
- package/dist/components/text/engine/looks/liquidMetal.js +655 -0
- package/dist/components/text/engine/looks/plasmaDischarge.d.ts +126 -0
- package/dist/components/text/engine/looks/plasmaDischarge.d.ts.map +1 -0
- package/dist/components/text/engine/looks/plasmaDischarge.js +763 -0
- package/dist/components/text/engine/methods.d.ts +19 -0
- package/dist/components/text/engine/methods.d.ts.map +1 -0
- package/dist/components/text/engine/methods.js +126 -0
- package/dist/components/text/engine/playback.d.ts +40 -0
- package/dist/components/text/engine/playback.d.ts.map +1 -0
- package/dist/components/text/engine/playback.js +114 -0
- package/dist/components/text/engine/ribbon.d.ts +58 -0
- package/dist/components/text/engine/ribbon.d.ts.map +1 -0
- package/dist/components/text/engine/ribbon.js +250 -0
- package/dist/components/text/engine/variants.d.ts +159 -0
- package/dist/components/text/engine/variants.d.ts.map +1 -0
- package/dist/components/text/engine/variants.js +378 -0
- package/dist/components/text/fonts/architects-daughter.outline.d.ts +3 -0
- package/dist/components/text/fonts/architects-daughter.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/architects-daughter.outline.js +4 -0
- package/dist/components/text/fonts/architects-daughter.strokes.d.ts +3 -0
- package/dist/components/text/fonts/architects-daughter.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/architects-daughter.strokes.js +4 -0
- package/dist/components/text/fonts/caveat.outline.d.ts +3 -0
- package/dist/components/text/fonts/caveat.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/caveat.outline.js +4 -0
- package/dist/components/text/fonts/caveat.strokes.d.ts +3 -0
- package/dist/components/text/fonts/caveat.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/caveat.strokes.js +4 -0
- package/dist/components/text/fonts/courgette.outline.d.ts +3 -0
- package/dist/components/text/fonts/courgette.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/courgette.outline.js +4 -0
- package/dist/components/text/fonts/courgette.strokes.d.ts +3 -0
- package/dist/components/text/fonts/courgette.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/courgette.strokes.js +4 -0
- package/dist/components/text/fonts/dancing-script.outline.d.ts +3 -0
- package/dist/components/text/fonts/dancing-script.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/dancing-script.outline.js +4 -0
- package/dist/components/text/fonts/dancing-script.strokes.d.ts +3 -0
- package/dist/components/text/fonts/dancing-script.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/dancing-script.strokes.js +4 -0
- package/dist/components/text/fonts/gochi-hand.outline.d.ts +3 -0
- package/dist/components/text/fonts/gochi-hand.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/gochi-hand.outline.js +4 -0
- package/dist/components/text/fonts/gochi-hand.strokes.d.ts +3 -0
- package/dist/components/text/fonts/gochi-hand.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/gochi-hand.strokes.js +4 -0
- package/dist/components/text/fonts/handlee.outline.d.ts +3 -0
- package/dist/components/text/fonts/handlee.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/handlee.outline.js +4 -0
- package/dist/components/text/fonts/handlee.strokes.d.ts +3 -0
- package/dist/components/text/fonts/handlee.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/handlee.strokes.js +4 -0
- package/dist/components/text/fonts/index.d.ts +5 -0
- package/dist/components/text/fonts/index.d.ts.map +1 -0
- package/dist/components/text/fonts/index.js +44 -0
- package/dist/components/text/fonts/indie-flower.outline.d.ts +3 -0
- package/dist/components/text/fonts/indie-flower.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/indie-flower.outline.js +4 -0
- package/dist/components/text/fonts/indie-flower.strokes.d.ts +3 -0
- package/dist/components/text/fonts/indie-flower.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/indie-flower.strokes.js +4 -0
- package/dist/components/text/fonts/kalam.outline.d.ts +3 -0
- package/dist/components/text/fonts/kalam.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/kalam.outline.js +4 -0
- package/dist/components/text/fonts/kalam.strokes.d.ts +3 -0
- package/dist/components/text/fonts/kalam.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/kalam.strokes.js +4 -0
- package/dist/components/text/fonts/kaushan-script.outline.d.ts +3 -0
- package/dist/components/text/fonts/kaushan-script.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/kaushan-script.outline.js +4 -0
- package/dist/components/text/fonts/kaushan-script.strokes.d.ts +3 -0
- package/dist/components/text/fonts/kaushan-script.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/kaushan-script.strokes.js +4 -0
- package/dist/components/text/fonts/mynerve.outline.d.ts +3 -0
- package/dist/components/text/fonts/mynerve.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/mynerve.outline.js +4 -0
- package/dist/components/text/fonts/mynerve.strokes.d.ts +3 -0
- package/dist/components/text/fonts/mynerve.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/mynerve.strokes.js +4 -0
- package/dist/components/text/fonts/nanum-pen-script.outline.d.ts +3 -0
- package/dist/components/text/fonts/nanum-pen-script.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/nanum-pen-script.outline.js +4 -0
- package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts +3 -0
- package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/nanum-pen-script.strokes.js +4 -0
- package/dist/components/text/fonts/pacifico.outline.d.ts +3 -0
- package/dist/components/text/fonts/pacifico.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/pacifico.outline.js +4 -0
- package/dist/components/text/fonts/pacifico.strokes.d.ts +3 -0
- package/dist/components/text/fonts/pacifico.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/pacifico.strokes.js +4 -0
- package/dist/components/text/fonts/patrick-hand.outline.d.ts +3 -0
- package/dist/components/text/fonts/patrick-hand.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/patrick-hand.outline.js +4 -0
- package/dist/components/text/fonts/patrick-hand.strokes.d.ts +3 -0
- package/dist/components/text/fonts/patrick-hand.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/patrick-hand.strokes.js +4 -0
- package/dist/components/text/fonts/poppins.outline.d.ts +3 -0
- package/dist/components/text/fonts/poppins.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/poppins.outline.js +4 -0
- package/dist/components/text/fonts/poppins.strokes.d.ts +3 -0
- package/dist/components/text/fonts/poppins.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/poppins.strokes.js +4 -0
- package/dist/components/text/fonts/satisfy.outline.d.ts +3 -0
- package/dist/components/text/fonts/satisfy.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/satisfy.outline.js +4 -0
- package/dist/components/text/fonts/satisfy.strokes.d.ts +3 -0
- package/dist/components/text/fonts/satisfy.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/satisfy.strokes.js +4 -0
- package/dist/components/text/fonts/sriracha.outline.d.ts +3 -0
- package/dist/components/text/fonts/sriracha.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/sriracha.outline.js +4 -0
- package/dist/components/text/fonts/sriracha.strokes.d.ts +3 -0
- package/dist/components/text/fonts/sriracha.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/sriracha.strokes.js +4 -0
- package/dist/components/text/index.d.ts +27 -0
- package/dist/components/text/index.d.ts.map +1 -0
- package/dist/components/text/index.js +13 -0
- package/dist/components/text/useTextObject.d.ts +21 -0
- package/dist/components/text/useTextObject.d.ts.map +1 -0
- package/dist/components/text/useTextObject.js +118 -0
- package/dist/components/water/OceanSurface.d.ts.map +1 -1
- package/dist/components/water/OceanSurface.js +3 -1
- package/dist/components/water/WaterBody.d.ts.map +1 -1
- package/dist/components/water/WaterBody.js +3 -1
- package/dist/components/water/types.d.ts +5 -1
- package/dist/components/water/types.d.ts.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useCloudSun.d.ts +9 -4
- package/dist/hooks/useCloudSun.d.ts.map +1 -1
- package/dist/hooks/useCloudSun.js +17 -7
- package/dist/hooks/useConfigLive.d.ts +3 -2
- package/dist/hooks/useConfigLive.d.ts.map +1 -1
- package/dist/hooks/useContinuousEffects.d.ts.map +1 -1
- package/dist/hooks/useContinuousEffects.js +4 -10
- package/dist/hooks/useEnvironmentProbe.d.ts +3 -22
- package/dist/hooks/useEnvironmentProbe.d.ts.map +1 -1
- package/dist/hooks/useEnvironmentProbe.js +47 -8
- package/dist/hooks/useGridSurface.d.ts +3 -10
- package/dist/hooks/useGridSurface.d.ts.map +1 -1
- package/dist/hooks/useGridSurface.js +5 -31
- package/dist/hooks/useInteraction.d.ts.map +1 -1
- package/dist/hooks/useInteraction.js +19 -72
- package/dist/hooks/useLightConfig.d.ts +2 -1
- package/dist/hooks/useLightConfig.d.ts.map +1 -1
- package/dist/hooks/useOceanMaterial.d.ts +6 -2
- package/dist/hooks/useOceanMaterial.d.ts.map +1 -1
- package/dist/hooks/useOceanMaterial.js +37 -2
- package/dist/hooks/useSkyLive.d.ts +23 -0
- package/dist/hooks/useSkyLive.d.ts.map +1 -0
- package/dist/hooks/useSkyLive.js +30 -0
- package/dist/hooks/useSkyUniforms.d.ts.map +1 -1
- package/dist/hooks/useSkyUniforms.js +2 -10
- package/dist/hooks/useTerrainLive.d.ts +3 -1
- package/dist/hooks/useTerrainLive.d.ts.map +1 -1
- package/dist/hooks/useTerrainTextures.d.ts +38 -0
- package/dist/hooks/useTerrainTextures.d.ts.map +1 -0
- package/dist/hooks/useTerrainTextures.js +149 -0
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/operations/catalogue/blastOff.d.ts +3 -0
- package/dist/operations/catalogue/blastOff.d.ts.map +1 -0
- package/dist/operations/catalogue/blastOff.js +118 -0
- package/dist/operations/catalogue/bounce.d.ts +3 -0
- package/dist/operations/catalogue/bounce.d.ts.map +1 -0
- package/dist/operations/catalogue/bounce.js +34 -0
- package/dist/operations/catalogue/curlSmoke.d.ts.map +1 -1
- package/dist/operations/catalogue/curlSmoke.js +3 -1
- package/dist/operations/catalogue/dissolve.d.ts.map +1 -1
- package/dist/operations/catalogue/dissolve.js +2 -1
- package/dist/operations/catalogue/driftUp.d.ts +3 -0
- package/dist/operations/catalogue/driftUp.d.ts.map +1 -0
- package/dist/operations/catalogue/driftUp.js +57 -0
- package/dist/operations/catalogue/emberAsh.d.ts.map +1 -1
- package/dist/operations/catalogue/emberAsh.js +2 -1
- package/dist/operations/catalogue/flip.d.ts.map +1 -1
- package/dist/operations/catalogue/flip.js +19 -9
- package/dist/operations/catalogue/float.d.ts +3 -0
- package/dist/operations/catalogue/float.d.ts.map +1 -0
- package/dist/operations/catalogue/float.js +39 -0
- package/dist/operations/catalogue/flyBy.d.ts +3 -0
- package/dist/operations/catalogue/flyBy.d.ts.map +1 -0
- package/dist/operations/catalogue/flyBy.js +79 -0
- package/dist/operations/catalogue/frost.d.ts.map +1 -1
- package/dist/operations/catalogue/frost.js +10 -3
- package/dist/operations/catalogue/grow.d.ts +3 -0
- package/dist/operations/catalogue/grow.d.ts.map +1 -0
- package/dist/operations/catalogue/grow.js +19 -0
- package/dist/operations/catalogue/hologram.d.ts.map +1 -1
- package/dist/operations/catalogue/hologram.js +11 -5
- package/dist/operations/catalogue/jelly.d.ts.map +1 -1
- package/dist/operations/catalogue/jelly.js +18 -8
- package/dist/operations/catalogue/knockAway.d.ts +3 -0
- package/dist/operations/catalogue/knockAway.d.ts.map +1 -0
- package/dist/operations/catalogue/knockAway.js +74 -0
- package/dist/operations/catalogue/leafFall.d.ts +3 -0
- package/dist/operations/catalogue/leafFall.d.ts.map +1 -0
- package/dist/operations/catalogue/leafFall.js +74 -0
- package/dist/operations/catalogue/lidarScan.d.ts.map +1 -1
- package/dist/operations/catalogue/lidarScan.js +4 -1
- package/dist/operations/catalogue/metalize.d.ts.map +1 -1
- package/dist/operations/catalogue/metalize.js +8 -2
- package/dist/operations/catalogue/motionTrail.d.ts +6 -0
- package/dist/operations/catalogue/motionTrail.d.ts.map +1 -0
- package/dist/operations/catalogue/motionTrail.js +221 -0
- package/dist/operations/catalogue/petrify.d.ts.map +1 -1
- package/dist/operations/catalogue/petrify.js +9 -3
- package/dist/operations/catalogue/physicalExit.d.ts +55 -0
- package/dist/operations/catalogue/physicalExit.d.ts.map +1 -0
- package/dist/operations/catalogue/physicalExit.js +165 -0
- package/dist/operations/catalogue/physicalHeld.d.ts +41 -0
- package/dist/operations/catalogue/physicalHeld.d.ts.map +1 -0
- package/dist/operations/catalogue/physicalHeld.js +78 -0
- package/dist/operations/catalogue/physicalMix.d.ts +45 -0
- package/dist/operations/catalogue/physicalMix.d.ts.map +1 -0
- package/dist/operations/catalogue/physicalMix.js +144 -0
- package/dist/operations/catalogue/pop.d.ts +3 -0
- package/dist/operations/catalogue/pop.d.ts.map +1 -0
- package/dist/operations/catalogue/pop.js +44 -0
- package/dist/operations/catalogue/print3d.d.ts.map +1 -1
- package/dist/operations/catalogue/print3d.js +5 -1
- package/dist/operations/catalogue/pulse.d.ts +3 -0
- package/dist/operations/catalogue/pulse.d.ts.map +1 -0
- package/dist/operations/catalogue/pulse.js +29 -0
- package/dist/operations/catalogue/restPose.d.ts +5 -7
- package/dist/operations/catalogue/restPose.d.ts.map +1 -1
- package/dist/operations/catalogue/restPose.js +18 -48
- package/dist/operations/catalogue/rotate.d.ts +3 -0
- package/dist/operations/catalogue/rotate.d.ts.map +1 -0
- package/dist/operations/catalogue/rotate.js +49 -0
- package/dist/operations/catalogue/shake.d.ts +3 -0
- package/dist/operations/catalogue/shake.d.ts.map +1 -0
- package/dist/operations/catalogue/shake.js +31 -0
- package/dist/operations/catalogue/shatter.d.ts.map +1 -1
- package/dist/operations/catalogue/shatter.js +5 -1
- package/dist/operations/catalogue/slam.d.ts +3 -0
- package/dist/operations/catalogue/slam.d.ts.map +1 -0
- package/dist/operations/catalogue/slam.js +89 -0
- package/dist/operations/catalogue/slingshot.d.ts +3 -0
- package/dist/operations/catalogue/slingshot.d.ts.map +1 -0
- package/dist/operations/catalogue/slingshot.js +88 -0
- package/dist/operations/catalogue/spin.d.ts.map +1 -1
- package/dist/operations/catalogue/spin.js +24 -13
- package/dist/operations/catalogue/sway.d.ts +3 -0
- package/dist/operations/catalogue/sway.d.ts.map +1 -0
- package/dist/operations/catalogue/sway.js +23 -0
- package/dist/operations/catalogue/swirl.d.ts.map +1 -1
- package/dist/operations/catalogue/swirl.js +6 -5
- package/dist/operations/catalogue/trailCore.d.ts +89 -0
- package/dist/operations/catalogue/trailCore.d.ts.map +1 -0
- package/dist/operations/catalogue/trailCore.js +190 -0
- package/dist/operations/catalogue/trailGhosts.d.ts +5 -0
- package/dist/operations/catalogue/trailGhosts.d.ts.map +1 -0
- package/dist/operations/catalogue/trailGhosts.js +179 -0
- package/dist/operations/catalogue/trailStampStyles.d.ts +11 -0
- package/dist/operations/catalogue/trailStampStyles.d.ts.map +1 -0
- package/dist/operations/catalogue/trailStampStyles.js +479 -0
- package/dist/operations/catalogue/trailStamps.d.ts +57 -0
- package/dist/operations/catalogue/trailStamps.d.ts.map +1 -0
- package/dist/operations/catalogue/trailStamps.js +349 -0
- package/dist/operations/catalogue/trailStreaks.d.ts +3 -0
- package/dist/operations/catalogue/trailStreaks.d.ts.map +1 -0
- package/dist/operations/catalogue/trailStreaks.js +147 -0
- package/dist/operations/catalogue/transitionField.d.ts +30 -0
- package/dist/operations/catalogue/transitionField.d.ts.map +1 -1
- package/dist/operations/catalogue/transitionField.js +21 -0
- package/dist/operations/catalogue/turnAway.d.ts +3 -0
- package/dist/operations/catalogue/turnAway.d.ts.map +1 -0
- package/dist/operations/catalogue/turnAway.js +54 -0
- package/dist/operations/catalogue/vortexDrain.d.ts +3 -0
- package/dist/operations/catalogue/vortexDrain.d.ts.map +1 -0
- package/dist/operations/catalogue/vortexDrain.js +68 -0
- package/dist/operations/catalogue/warp.d.ts +3 -0
- package/dist/operations/catalogue/warp.d.ts.map +1 -0
- package/dist/operations/catalogue/warp.js +73 -0
- package/dist/operations/catalogue/whoosh.d.ts +3 -0
- package/dist/operations/catalogue/whoosh.d.ts.map +1 -0
- package/dist/operations/catalogue/whoosh.js +84 -0
- package/dist/operations/catalogue/wobble.d.ts +3 -0
- package/dist/operations/catalogue/wobble.d.ts.map +1 -0
- package/dist/operations/catalogue/wobble.js +23 -0
- package/dist/operations/clipPreview.d.ts +3 -0
- package/dist/operations/clipPreview.d.ts.map +1 -0
- package/dist/operations/clipPreview.js +20 -0
- package/dist/operations/groupFanout.d.ts +96 -0
- package/dist/operations/groupFanout.d.ts.map +1 -0
- package/dist/operations/groupFanout.js +365 -0
- package/dist/operations/groups.d.ts +20 -0
- package/dist/operations/groups.d.ts.map +1 -0
- package/dist/operations/groups.js +66 -0
- package/dist/operations/index.d.ts +5 -2
- package/dist/operations/index.d.ts.map +1 -1
- package/dist/operations/index.js +5 -2
- package/dist/operations/objectEffects.d.ts +161 -6
- package/dist/operations/objectEffects.d.ts.map +1 -1
- package/dist/operations/objectEffects.js +1091 -17
- package/dist/operations/registry.d.ts.map +1 -1
- package/dist/operations/registry.js +24 -2
- package/dist/operations/runtime.d.ts +57 -2
- package/dist/operations/runtime.d.ts.map +1 -1
- package/dist/operations/runtime.js +161 -18
- package/dist/operations/types.d.ts +60 -3
- package/dist/operations/types.d.ts.map +1 -1
- package/dist/operations/types.js +5 -1
- package/dist/operations/useObjectEffectLayers.d.ts +2 -2
- package/dist/operations/useObjectEffectLayers.d.ts.map +1 -1
- package/dist/operations/useObjectEffectLayers.js +31 -10
- package/dist/operations/usePresentedVisibility.d.ts +10 -0
- package/dist/operations/usePresentedVisibility.d.ts.map +1 -0
- package/dist/operations/usePresentedVisibility.js +53 -0
- package/dist/presets/terrainBiomes.d.ts +67 -0
- package/dist/presets/terrainBiomes.d.ts.map +1 -0
- package/dist/presets/terrainBiomes.js +294 -0
- package/dist/presets/terrainPresets.d.ts +6 -0
- package/dist/presets/terrainPresets.d.ts.map +1 -1
- package/dist/presets/terrainPresets.js +26 -38
- package/dist/shaders/glsl/oceanCore.glsl.d.ts +2 -2
- package/dist/shaders/glsl/oceanCore.glsl.d.ts.map +1 -1
- package/dist/shaders/glsl/oceanCore.glsl.js +17 -0
- package/dist/shaders/glsl/surfaceCore.glsl.d.ts +21 -0
- package/dist/shaders/glsl/surfaceCore.glsl.d.ts.map +1 -0
- package/dist/shaders/glsl/surfaceCore.glsl.js +120 -0
- package/dist/shaders/glsl/terrainCore.glsl.d.ts +16 -3
- package/dist/shaders/glsl/terrainCore.glsl.d.ts.map +1 -1
- package/dist/shaders/glsl/terrainCore.glsl.js +266 -20
- package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts +2 -0
- package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts.map +1 -1
- package/dist/shaders/ocean/OceanSurfaceMaterial.js +3 -0
- package/dist/shaders/terrain/TerrainMaterial.d.ts +17 -0
- package/dist/shaders/terrain/TerrainMaterial.d.ts.map +1 -1
- package/dist/shaders/terrain/TerrainMaterial.js +107 -8
- package/dist/triggers/engine.d.ts +44 -0
- package/dist/triggers/engine.d.ts.map +1 -0
- package/dist/triggers/engine.js +165 -0
- package/dist/triggers/hosts/actions.d.ts +8 -0
- package/dist/triggers/hosts/actions.d.ts.map +1 -0
- package/dist/triggers/hosts/actions.js +22 -0
- package/dist/triggers/hosts/interactions.d.ts +6 -0
- package/dist/triggers/hosts/interactions.d.ts.map +1 -0
- package/dist/triggers/hosts/interactions.js +4 -0
- package/dist/triggers/hosts/timelineCues.d.ts +2 -0
- package/dist/triggers/hosts/timelineCues.d.ts.map +1 -0
- package/dist/triggers/hosts/timelineCues.js +22 -0
- package/dist/triggers/index.d.ts +13 -0
- package/dist/triggers/index.d.ts.map +1 -0
- package/dist/triggers/index.js +9 -0
- package/dist/triggers/kinds/action.d.ts +2 -0
- package/dist/triggers/kinds/action.d.ts.map +1 -0
- package/dist/triggers/kinds/action.js +31 -0
- package/dist/triggers/kinds/animations.d.ts +2 -0
- package/dist/triggers/kinds/animations.d.ts.map +1 -0
- package/dist/triggers/kinds/animations.js +75 -0
- package/dist/triggers/kinds/effects.d.ts +2 -0
- package/dist/triggers/kinds/effects.d.ts.map +1 -0
- package/dist/triggers/kinds/effects.js +27 -0
- package/dist/triggers/kinds/index.d.ts +4 -0
- package/dist/triggers/kinds/index.d.ts.map +1 -0
- package/dist/triggers/kinds/index.js +4 -0
- package/dist/triggers/log.d.ts +21 -0
- package/dist/triggers/log.d.ts.map +1 -0
- package/dist/triggers/log.js +43 -0
- package/dist/triggers/readiness.d.ts +40 -0
- package/dist/triggers/readiness.d.ts.map +1 -0
- package/dist/triggers/readiness.js +158 -0
- package/dist/triggers/registry.d.ts +41 -0
- package/dist/triggers/registry.d.ts.map +1 -0
- package/dist/triggers/registry.js +7 -0
- package/dist/types/gridConfigs.d.ts +117 -19
- package/dist/types/gridConfigs.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ui/UiAnchorUpdater.d.ts +10 -0
- package/dist/ui/UiAnchorUpdater.d.ts.map +1 -0
- package/dist/ui/UiAnchorUpdater.js +111 -0
- package/dist/ui/UiLayers.d.ts +20 -0
- package/dist/ui/UiLayers.d.ts.map +1 -0
- package/dist/ui/UiLayers.js +57 -0
- package/dist/ui/index.d.ts +9 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +6 -0
- package/dist/ui/uiAnchors.d.ts +21 -0
- package/dist/ui/uiAnchors.d.ts.map +1 -0
- package/dist/ui/uiAnchors.js +22 -0
- package/dist/ui/uiBaseStyles.d.ts +2 -0
- package/dist/ui/uiBaseStyles.d.ts.map +1 -0
- package/dist/ui/uiBaseStyles.js +100 -0
- package/dist/ui/uiBinder.d.ts +30 -0
- package/dist/ui/uiBinder.d.ts.map +1 -0
- package/dist/ui/uiBinder.js +344 -0
- package/dist/utils/configAnimations.d.ts.map +1 -1
- package/dist/utils/configAnimations.js +5 -1
- package/dist/utils/gridConfig.d.ts +1 -1
- package/dist/utils/gridConfig.d.ts.map +1 -1
- package/dist/utils/gridConfig.js +1 -1
- package/dist/utils/landPatch.d.ts +33 -0
- package/dist/utils/landPatch.d.ts.map +1 -0
- package/dist/utils/landPatch.js +114 -0
- package/dist/utils/renderedSky.d.ts +32 -0
- package/dist/utils/renderedSky.d.ts.map +1 -0
- package/dist/utils/renderedSky.js +57 -0
- package/dist/utils/skyMoon.d.ts +35 -0
- package/dist/utils/skyMoon.d.ts.map +1 -0
- package/dist/utils/skyMoon.js +41 -0
- package/dist/utils/terrainHeight.d.ts +4 -0
- package/dist/utils/terrainHeight.d.ts.map +1 -0
- package/dist/utils/terrainHeight.js +150 -0
- package/dist/utils/terrainTextureResolver.d.ts +18 -0
- package/dist/utils/terrainTextureResolver.d.ts.map +1 -0
- package/dist/utils/terrainTextureResolver.js +17 -0
- package/dist/utils/terrainUniforms.d.ts +17 -0
- package/dist/utils/terrainUniforms.d.ts.map +1 -1
- package/dist/utils/terrainUniforms.js +84 -0
- package/dist/utils/textureArrays.d.ts +29 -0
- package/dist/utils/textureArrays.d.ts.map +1 -0
- package/dist/utils/textureArrays.js +140 -0
- package/package.json +2 -2
|
@@ -6,40 +6,11 @@ import { withConfigDefaults } from '../utils/configAnimations.js';
|
|
|
6
6
|
import { applyGridConfig, GRID_STRUCTURAL } from '../utils/gridConfig.js';
|
|
7
7
|
import { useCallback, useLayoutEffect, useMemo, useRef } from 'react';
|
|
8
8
|
import * as THREE from 'three';
|
|
9
|
-
import { MyGridMaterial, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
9
|
+
import { MyGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
10
|
// Side-effect import registers <myGridMaterial> via extend() in MyGridMaterial.ts.
|
|
11
11
|
void MyGridMaterial;
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
* Colors are hex strings so they round-trip cleanly through the controller
|
|
15
|
-
* and any preset/serialization layer.
|
|
16
|
-
*/
|
|
17
|
-
export const defaultMyGridConfig = {
|
|
18
|
-
cellSize: 1,
|
|
19
|
-
size: 50,
|
|
20
|
-
segments: undefined,
|
|
21
|
-
flat: true,
|
|
22
|
-
lineMode: 2, // flow
|
|
23
|
-
cellMode: 2, // twinkle
|
|
24
|
-
lineWidth: 1,
|
|
25
|
-
sectionSize: 5,
|
|
26
|
-
sectionWidth: 1.6,
|
|
27
|
-
animSpeed: 1,
|
|
28
|
-
animScale: 0.5,
|
|
29
|
-
animIntensity: 1,
|
|
30
|
-
fadeDistance: undefined,
|
|
31
|
-
fadeStrength: 0.65,
|
|
32
|
-
displace: 0,
|
|
33
|
-
lineColor: '#477fb8',
|
|
34
|
-
sectionColor: '#80c7ff',
|
|
35
|
-
cellColor: '#1a5999',
|
|
36
|
-
glowColor: '#339eff',
|
|
37
|
-
bgColor: '#05080d',
|
|
38
|
-
bgOpacity: 0,
|
|
39
|
-
followMouse: false,
|
|
40
|
-
reveal: 1,
|
|
41
|
-
revealDuration: 0,
|
|
42
|
-
};
|
|
12
|
+
/** MyGridConfig defaults: the core registry entry (DEFAULT_GRIDS.advancedGrid), never a copy. */
|
|
13
|
+
export const defaultMyGridConfig = DEFAULT_GRIDS.advancedGrid;
|
|
43
14
|
/** No knobs of its own: the shared surface knobs are all there is. */
|
|
44
15
|
const VARIANT = [];
|
|
45
16
|
/** No computed uniforms: every knob maps straight to its u_<key>. */
|
|
@@ -56,13 +27,13 @@ export function AdvancedGrid({ config = defaultMyGridConfig, groupProps, id, key
|
|
|
56
27
|
// The committed config over this grid's defaults: every knob has a value to render
|
|
57
28
|
// and for a keyframe or pointer binding to start from.
|
|
58
29
|
const base = useMemo(() => withConfigDefaults(defaultMyGridConfig, config), [config]);
|
|
59
|
-
const { cellSize, size, segments,
|
|
30
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
60
31
|
const segs = segments ?? (displace > 0 ? Math.max(64, Math.ceil(size / cellSize) * 2) : 1);
|
|
61
32
|
// Shared with every other shader-plane grid. This also fixes the pointer
|
|
62
33
|
// projection: it used to assume the XZ plane, so `followMouse` picked
|
|
63
34
|
// against the wrong plane whenever `flat` was false or a parent transform
|
|
64
35
|
// had rotated the grid.
|
|
65
|
-
useGridSurface(matRef, meshRef, {
|
|
36
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
66
37
|
// One push point for every uniform the config owns: the committed config when the
|
|
67
38
|
// material mounts or the config commits, the merged one while anything overrides it.
|
|
68
39
|
const baseRef = useRef(base);
|
|
@@ -75,6 +46,6 @@ export function AdvancedGrid({ config = defaultMyGridConfig, groupProps, id, key
|
|
|
75
46
|
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
76
47
|
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
77
48
|
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
78
|
-
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation:
|
|
49
|
+
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: [-Math.PI / 2, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("myGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, MyGridMaterial.key)] }) }));
|
|
79
50
|
}
|
|
80
51
|
export default AdvancedGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedObject.d.ts","sourceRoot":"","sources":["../../src/components/AnimatedObject.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"AnimatedObject.d.ts","sourceRoot":"","sources":["../../src/components/AnimatedObject.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACtG,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,aAAa,EAAE,qBAAqB,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACjH,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACvD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACvD,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAGD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuFvD,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useObjectReady } from '../hooks/useObjectReady.js';
|
|
3
|
-
import { useRef, useEffect, useCallback, memo } from 'react';
|
|
3
|
+
import { useRef, useEffect, useCallback, useMemo, memo } from 'react';
|
|
4
|
+
import { objectEffectClipOf, objectEffectStepsOf, objectTakesVisualEffects, DEFAULT_EFFECT_SPREAD } from '@3driseai/3drise-core';
|
|
4
5
|
import { usePathAnimation } from '../hooks/usePathAnimation.js';
|
|
5
6
|
import { useObjectEffectLayers } from '../operations/useObjectEffectLayers.js';
|
|
6
7
|
import { useObjectAnimation } from '../hooks/useObjectAnimation.js';
|
|
@@ -40,7 +41,11 @@ visible = true, children, parentRef, handleObjectClick, onPointerEnter, onPointe
|
|
|
40
41
|
hovered,
|
|
41
42
|
}, groupRef);
|
|
42
43
|
// Effects layered on the object (frost, metalize…) — switched on / off, held while on.
|
|
43
|
-
|
|
44
|
+
const effectClip = objectEffectClipOf(createdObject);
|
|
45
|
+
const effectSteps = useMemo(() => objectEffectStepsOf(effectClip), [effectClip.steps, effectClip.loop, effectClip.yoyo]);
|
|
46
|
+
// a group hands its effects to its children (its spread, or the default stagger)
|
|
47
|
+
const groupSpread = createdObject.type === 'group' ? (effectClip.spread ?? DEFAULT_EFFECT_SPREAD) : null;
|
|
48
|
+
useObjectEffectLayers(groupRef, effectClip.effects, visible, effectSteps, effectClip.parts, !!effectClip.visible, groupSpread);
|
|
44
49
|
const { startPathAnimation, updatePathAnimation, isAnimating: isPathAnimating } = usePathAnimation();
|
|
45
50
|
const syncTransform = useCallback(() => {
|
|
46
51
|
const obj = groupRef.current;
|
|
@@ -70,9 +75,9 @@ visible = true, children, parentRef, handleObjectClick, onPointerEnter, onPointe
|
|
|
70
75
|
// onClick={onClick}
|
|
71
76
|
// onPointerEnter={onPointerEnter}
|
|
72
77
|
// onPointerLeave={onPointerLeave}
|
|
73
|
-
name: createdObject.meshSettings.name, userData:
|
|
78
|
+
name: createdObject.meshSettings.name, "userData-id": createdObject.id, "userData-objectType": createdObject.type, "userData-visualFx": objectTakesVisualEffects(createdObject), children: children }) });
|
|
74
79
|
}
|
|
75
|
-
return (_jsx("group", { ref: groupRef, position: position, scale: scale, rotation: rotation, visible: visible, onClick: onClick, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, name: createdObject.meshSettings.name, userData:
|
|
80
|
+
return (_jsx("group", { ref: groupRef, position: position, scale: scale, rotation: rotation, visible: visible, onClick: onClick, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, name: createdObject.meshSettings.name, "userData-id": createdObject.id, "userData-objectType": createdObject.type, "userData-visualFx": objectTakesVisualEffects(createdObject), children: children }));
|
|
76
81
|
});
|
|
77
82
|
AnimatedObject.displayName = 'AnimatedObject';
|
|
78
83
|
export default AnimatedObject;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ThreeElements } from '@react-three/fiber';
|
|
2
|
+
import type { ObjectReadyProps } from '../types/objectReady';
|
|
3
|
+
import type { ApollonianGridConfig } from '../types/gridConfigs';
|
|
4
|
+
import type { AnimationOptions, MouseMoveDomain } from '@3driseai/3drise-core';
|
|
5
|
+
export interface ApollonianGridProps extends ObjectReadyProps {
|
|
6
|
+
config?: ApollonianGridConfig;
|
|
7
|
+
groupProps?: ThreeElements['group'];
|
|
8
|
+
/** Scene object id: the live-edit handle is found by it. */
|
|
9
|
+
id?: string;
|
|
10
|
+
/** Keyframes on this grid's config knobs (animations.grid.animations). */
|
|
11
|
+
keyframes?: AnimationOptions[];
|
|
12
|
+
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
|
+
mouseMove?: MouseMoveDomain;
|
|
14
|
+
}
|
|
15
|
+
/** ApollonianGridConfig defaults: the core registry entry (DEFAULT_GRIDS.apollonianGrid), never a copy. */
|
|
16
|
+
export declare const defaultApollonianGridConfig: ApollonianGridConfig;
|
|
17
|
+
/**
|
|
18
|
+
* An Apollonian gasket by circle inversion: a point is walked out of nested gaps through the four dual circles, so every tangent circle gets a pixel-true rim. A slow Möbius disk flow re-balances the packing while every tangency holds.
|
|
19
|
+
*
|
|
20
|
+
* The grid always lies flat: any other orientation, and any movement of the
|
|
21
|
+
* whole, is the parent object's transform. Only what happens inside it animates.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ApollonianGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: ApollonianGridProps): import("react").JSX.Element;
|
|
24
|
+
export default ApollonianGrid;
|
|
25
|
+
//# sourceMappingURL=ApollonianGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApollonianGrid.d.ts","sourceRoot":"","sources":["../../src/components/ApollonianGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,2GAA2G;AAC3G,eAAO,MAAM,2BAA2B,EAA8C,oBAAoB,CAAC;AAW3G;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAoC,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,mBAAmB,+BA4CjK;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useLayoutEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import { useObjectReady } from '../hooks/useObjectReady.js';
|
|
5
|
+
import { useGridSurface } from '../hooks/useGridSurface.js';
|
|
6
|
+
import { useConfigDriver } from '../hooks/useConfigDriver.js';
|
|
7
|
+
import { withConfigDefaults } from '../utils/configAnimations.js';
|
|
8
|
+
import { applyGridConfig, GRID_STRUCTURAL } from '../utils/gridConfig.js';
|
|
9
|
+
import { ApollonianGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
|
+
// Side-effect import registers <apollonianGridMaterial> via extend().
|
|
11
|
+
void ApollonianGridMaterial;
|
|
12
|
+
/** ApollonianGridConfig defaults: the core registry entry (DEFAULT_GRIDS.apollonianGrid), never a copy. */
|
|
13
|
+
export const defaultApollonianGridConfig = DEFAULT_GRIDS.apollonianGrid;
|
|
14
|
+
/** This grid's own uniforms (u_<key>), pushed by applyGridConfig beside the shared surface knobs. */
|
|
15
|
+
const VARIANT = ['depth', 'morph'];
|
|
16
|
+
/** No computed uniforms: every knob maps straight to its u_<key>. */
|
|
17
|
+
const DERIVE = {};
|
|
18
|
+
/** Knobs that reshape the plane or pick a mode: they change on commit, never through the live path. */
|
|
19
|
+
const STRUCTURAL = [...GRID_STRUCTURAL, 'depth'];
|
|
20
|
+
/** Knobs a keyframe or pointer binding may drive per frame — exactly what applyGridConfig pushes. */
|
|
21
|
+
const ANIMATABLE = new Set((GRIDS_ANIMATABLE.apollonianGrid ?? []).map((p) => p.value));
|
|
22
|
+
/**
|
|
23
|
+
* An Apollonian gasket by circle inversion: a point is walked out of nested gaps through the four dual circles, so every tangent circle gets a pixel-true rim. A slow Möbius disk flow re-balances the packing while every tangency holds.
|
|
24
|
+
*
|
|
25
|
+
* The grid always lies flat: any other orientation, and any movement of the
|
|
26
|
+
* whole, is the parent object's transform. Only what happens inside it animates.
|
|
27
|
+
*/
|
|
28
|
+
export function ApollonianGrid({ config = defaultApollonianGridConfig, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) {
|
|
29
|
+
const matRef = useRef(null);
|
|
30
|
+
const rootRef = useRef(null);
|
|
31
|
+
const meshRef = useRef(null);
|
|
32
|
+
useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
|
|
33
|
+
// The committed config over this grid's defaults: every knob has a value to render
|
|
34
|
+
// and for a keyframe or pointer binding to start from.
|
|
35
|
+
const base = useMemo(() => withConfigDefaults(defaultApollonianGridConfig, config), [config]);
|
|
36
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
37
|
+
const segs = segments ?? (displace > 0
|
|
38
|
+
? Math.min(256, Math.max(64, Math.ceil(size / Math.max(cellSize, 1e-4)) * 2))
|
|
39
|
+
: 1);
|
|
40
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
41
|
+
// One push point for every uniform the config owns: the committed config when the
|
|
42
|
+
// material mounts or the config commits, the merged one while anything overrides it.
|
|
43
|
+
const baseRef = useRef(base);
|
|
44
|
+
baseRef.current = base;
|
|
45
|
+
const setMaterial = useCallback((m) => {
|
|
46
|
+
matRef.current = m;
|
|
47
|
+
if (m)
|
|
48
|
+
applyGridConfig(m, baseRef.current, VARIANT, DERIVE);
|
|
49
|
+
}, []);
|
|
50
|
+
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
51
|
+
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
52
|
+
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
53
|
+
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: [-Math.PI / 2, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("apollonianGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, ApollonianGridMaterial.key)] }) }));
|
|
54
|
+
}
|
|
55
|
+
export default ApollonianGrid;
|
|
@@ -12,7 +12,7 @@ export interface ChladniGridProps extends ObjectReadyProps {
|
|
|
12
12
|
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
13
|
mouseMove?: MouseMoveDomain;
|
|
14
14
|
}
|
|
15
|
-
/** ChladniGridConfig defaults
|
|
15
|
+
/** ChladniGridConfig defaults: the core registry entry (DEFAULT_GRIDS.chladniGrid), never a copy. */
|
|
16
16
|
export declare const defaultChladniGridConfig: ChladniGridConfig;
|
|
17
17
|
export declare function ChladniGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: ChladniGridProps): import("react").JSX.Element;
|
|
18
18
|
export default ChladniGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChladniGrid.d.ts","sourceRoot":"","sources":["../../src/components/ChladniGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,
|
|
1
|
+
{"version":3,"file":"ChladniGrid.d.ts","sourceRoot":"","sources":["../../src/components/ChladniGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,qGAAqG;AACrG,eAAO,MAAM,wBAAwB,EAA2C,iBAAiB,CAAC;AAclG,wBAAgB,WAAW,CAAC,EAAE,MAAiC,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,gBAAgB,+BA4CxJ;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -6,40 +6,11 @@ import { useGridSurface } from '../hooks/useGridSurface.js';
|
|
|
6
6
|
import { useConfigDriver } from '../hooks/useConfigDriver.js';
|
|
7
7
|
import { withConfigDefaults } from '../utils/configAnimations.js';
|
|
8
8
|
import { applyGridConfig, GRID_STRUCTURAL } from '../utils/gridConfig.js';
|
|
9
|
-
import { ChladniGridMaterial, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
9
|
+
import { ChladniGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
10
|
// Side-effect import registers <chladniGridMaterial> via extend().
|
|
11
11
|
void ChladniGridMaterial;
|
|
12
|
-
/** ChladniGridConfig defaults
|
|
13
|
-
export const defaultChladniGridConfig =
|
|
14
|
-
cellSize: 8,
|
|
15
|
-
size: 50,
|
|
16
|
-
flat: true,
|
|
17
|
-
segments: undefined,
|
|
18
|
-
lineMode: 0,
|
|
19
|
-
cellMode: 2,
|
|
20
|
-
lineWidth: 1.2,
|
|
21
|
-
sectionSize: 1,
|
|
22
|
-
sectionWidth: 0.8,
|
|
23
|
-
animSpeed: 1,
|
|
24
|
-
animScale: 0.5,
|
|
25
|
-
animIntensity: 0.6,
|
|
26
|
-
fadeDistance: undefined,
|
|
27
|
-
fadeStrength: 0.6,
|
|
28
|
-
displace: 0,
|
|
29
|
-
modeN: 3,
|
|
30
|
-
modeM: 5,
|
|
31
|
-
morph: 0.4,
|
|
32
|
-
grain: 0.8,
|
|
33
|
-
lineColor: '#d9c7a3',
|
|
34
|
-
sectionColor: '#4d5d6e',
|
|
35
|
-
cellColor: '#16222e',
|
|
36
|
-
glowColor: '#ffe2a8',
|
|
37
|
-
bgColor: '#06080b',
|
|
38
|
-
bgOpacity: 0,
|
|
39
|
-
followMouse: false,
|
|
40
|
-
reveal: 1,
|
|
41
|
-
revealDuration: 0,
|
|
42
|
-
};
|
|
12
|
+
/** ChladniGridConfig defaults: the core registry entry (DEFAULT_GRIDS.chladniGrid), never a copy. */
|
|
13
|
+
export const defaultChladniGridConfig = DEFAULT_GRIDS.chladniGrid;
|
|
43
14
|
/**
|
|
44
15
|
* Chladni plates: the nodal lines of a standing wave on a square plate, with sand settling on them, drifting slowly between two neighbouring resonances.
|
|
45
16
|
*/
|
|
@@ -59,10 +30,10 @@ export function ChladniGrid({ config = defaultChladniGridConfig, groupProps, id,
|
|
|
59
30
|
// The committed config over this grid's defaults: every knob has a value to render
|
|
60
31
|
// and for a keyframe or pointer binding to start from.
|
|
61
32
|
const base = useMemo(() => withConfigDefaults(defaultChladniGridConfig, config), [config]);
|
|
62
|
-
const { cellSize, size, segments,
|
|
33
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
63
34
|
// the displacement is the standing wave itself, so the mesh has to resolve every mode
|
|
64
35
|
const segs = segments ?? (displace > 0 ? Math.min(512, Math.max(96, Math.ceil(size / Math.max(cellSize, 1e-4)) * 48)) : 1);
|
|
65
|
-
useGridSurface(matRef, meshRef, {
|
|
36
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
66
37
|
// One push point for every uniform the config owns: the committed config when the
|
|
67
38
|
// material mounts or the config commits, the merged one while anything overrides it.
|
|
68
39
|
const baseRef = useRef(base);
|
|
@@ -75,6 +46,6 @@ export function ChladniGrid({ config = defaultChladniGridConfig, groupProps, id,
|
|
|
75
46
|
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
76
47
|
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
77
48
|
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
78
|
-
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation:
|
|
49
|
+
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: [-Math.PI / 2, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("chladniGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, ChladniGridMaterial.key)] }) }));
|
|
79
50
|
}
|
|
80
51
|
export default ChladniGrid;
|
|
@@ -12,7 +12,7 @@ export interface CircuitGridProps extends ObjectReadyProps {
|
|
|
12
12
|
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
13
|
mouseMove?: MouseMoveDomain;
|
|
14
14
|
}
|
|
15
|
-
/** CircuitGridConfig
|
|
15
|
+
/** CircuitGridConfig defaults: the core registry entry (DEFAULT_GRIDS.circuitGrid), never a copy. */
|
|
16
16
|
export declare const defaultCircuitGridConfig: CircuitGridConfig;
|
|
17
17
|
export declare function CircuitGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: CircuitGridProps): import("react").JSX.Element;
|
|
18
18
|
export default CircuitGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircuitGrid.d.ts","sourceRoot":"","sources":["../../src/components/CircuitGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,
|
|
1
|
+
{"version":3,"file":"CircuitGrid.d.ts","sourceRoot":"","sources":["../../src/components/CircuitGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,qGAAqG;AACrG,eAAO,MAAM,wBAAwB,EAA2C,iBAAiB,CAAC;AAqBlG,wBAAgB,WAAW,CAAC,EAAE,MAAiC,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,gBAAgB,+BA6CxJ;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -6,39 +6,11 @@ import { useGridSurface } from '../hooks/useGridSurface.js';
|
|
|
6
6
|
import { useConfigDriver } from '../hooks/useConfigDriver.js';
|
|
7
7
|
import { withConfigDefaults } from '../utils/configAnimations.js';
|
|
8
8
|
import { applyGridConfig, GRID_STRUCTURAL } from '../utils/gridConfig.js';
|
|
9
|
-
import { CircuitGridMaterial, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
9
|
+
import { CircuitGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
10
|
// Side-effect import registers <circuitGridMaterial> via extend().
|
|
11
11
|
void CircuitGridMaterial;
|
|
12
|
-
/** CircuitGridConfig
|
|
13
|
-
export const defaultCircuitGridConfig =
|
|
14
|
-
cellSize: 1.6,
|
|
15
|
-
size: 50,
|
|
16
|
-
segments: undefined,
|
|
17
|
-
flat: true,
|
|
18
|
-
lineMode: 2, // signal pulses running along the traces
|
|
19
|
-
cellMode: 0,
|
|
20
|
-
lineWidth: 1.6,
|
|
21
|
-
sectionSize: 6,
|
|
22
|
-
sectionWidth: 1.2,
|
|
23
|
-
animSpeed: 1,
|
|
24
|
-
animScale: 1,
|
|
25
|
-
animIntensity: 1,
|
|
26
|
-
fadeDistance: undefined,
|
|
27
|
-
fadeStrength: 0.7,
|
|
28
|
-
displace: 0,
|
|
29
|
-
powered: 0.65,
|
|
30
|
-
chipChance: 0.06,
|
|
31
|
-
padSize: 1,
|
|
32
|
-
lineColor: '#186b5c',
|
|
33
|
-
sectionColor: '#8cf0b4',
|
|
34
|
-
cellColor: '#082420',
|
|
35
|
-
glowColor: '#59ffb8',
|
|
36
|
-
bgColor: '#020806',
|
|
37
|
-
bgOpacity: 0,
|
|
38
|
-
followMouse: false,
|
|
39
|
-
reveal: 1,
|
|
40
|
-
revealDuration: 0,
|
|
41
|
-
};
|
|
12
|
+
/** CircuitGridConfig defaults: the core registry entry (DEFAULT_GRIDS.circuitGrid), never a copy. */
|
|
13
|
+
export const defaultCircuitGridConfig = DEFAULT_GRIDS.circuitGrid;
|
|
42
14
|
/**
|
|
43
15
|
* A Truchet circuit board on a shader plane.
|
|
44
16
|
*
|
|
@@ -65,11 +37,11 @@ export function CircuitGrid({ config = defaultCircuitGridConfig, groupProps, id,
|
|
|
65
37
|
// The committed config over this grid's defaults: every knob has a value to render
|
|
66
38
|
// and for a keyframe or pointer binding to start from.
|
|
67
39
|
const base = useMemo(() => withConfigDefaults(defaultCircuitGridConfig, config), [config]);
|
|
68
|
-
const { cellSize, size, segments,
|
|
40
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
69
41
|
const segs = segments ?? (displace > 0
|
|
70
42
|
? Math.min(256, Math.max(64, Math.ceil(size / Math.max(cellSize, 1e-4)) * 2))
|
|
71
43
|
: 1);
|
|
72
|
-
useGridSurface(matRef, meshRef, {
|
|
44
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
73
45
|
// One push point for every uniform the config owns: the committed config when the
|
|
74
46
|
// material mounts or the config commits, the merged one while anything overrides it.
|
|
75
47
|
const baseRef = useRef(base);
|
|
@@ -82,6 +54,6 @@ export function CircuitGrid({ config = defaultCircuitGridConfig, groupProps, id,
|
|
|
82
54
|
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
83
55
|
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
84
56
|
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
85
|
-
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation:
|
|
57
|
+
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: [-Math.PI / 2, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("circuitGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, CircuitGridMaterial.key)] }) }));
|
|
86
58
|
}
|
|
87
59
|
export default CircuitGrid;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ThreeElements } from '@react-three/fiber';
|
|
2
|
+
import type { ObjectReadyProps } from '../types/objectReady';
|
|
3
|
+
import type { ConformalGridConfig } from '../types/gridConfigs';
|
|
4
|
+
import type { AnimationOptions, MouseMoveDomain } from '@3driseai/3drise-core';
|
|
5
|
+
export interface ConformalGridProps extends ObjectReadyProps {
|
|
6
|
+
config?: ConformalGridConfig;
|
|
7
|
+
groupProps?: ThreeElements['group'];
|
|
8
|
+
/** Scene object id: the live-edit handle is found by it. */
|
|
9
|
+
id?: string;
|
|
10
|
+
/** Keyframes on this grid's config knobs (animations.grid.animations). */
|
|
11
|
+
keyframes?: AnimationOptions[];
|
|
12
|
+
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
|
+
mouseMove?: MouseMoveDomain;
|
|
14
|
+
}
|
|
15
|
+
/** ConformalGridConfig defaults: the core registry entry (DEFAULT_GRIDS.conformalGrid), never a copy. */
|
|
16
|
+
export declare const defaultConformalGridConfig: ConformalGridConfig;
|
|
17
|
+
/**
|
|
18
|
+
* A square lattice pulled back through an ideal-flow complex potential. Cauchy–Riemann keeps every cell square; colour is the flow speed, alternate stream tubes carry dye and hydrogen-bubble dashes ride the flow.
|
|
19
|
+
*
|
|
20
|
+
* The grid always lies flat: any other orientation, and any movement of the
|
|
21
|
+
* whole, is the parent object's transform. Only what happens inside it animates.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ConformalGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: ConformalGridProps): import("react").JSX.Element;
|
|
24
|
+
export default ConformalGrid;
|
|
25
|
+
//# sourceMappingURL=ConformalGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConformalGrid.d.ts","sourceRoot":"","sources":["../../src/components/ConformalGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,yGAAyG;AACzG,eAAO,MAAM,0BAA0B,EAA6C,mBAAmB,CAAC;AAWxG;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAmC,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,kBAAkB,+BAsD9J;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useLayoutEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import { useFrame } from '@react-three/fiber';
|
|
5
|
+
import { useObjectReady } from '../hooks/useObjectReady.js';
|
|
6
|
+
import { useGridSurface } from '../hooks/useGridSurface.js';
|
|
7
|
+
import { useConfigDriver } from '../hooks/useConfigDriver.js';
|
|
8
|
+
import { withConfigDefaults } from '../utils/configAnimations.js';
|
|
9
|
+
import { applyGridConfig, GRID_STRUCTURAL } from '../utils/gridConfig.js';
|
|
10
|
+
import { ConformalGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
11
|
+
// Side-effect import registers <conformalGridMaterial> via extend().
|
|
12
|
+
void ConformalGridMaterial;
|
|
13
|
+
/** ConformalGridConfig defaults: the core registry entry (DEFAULT_GRIDS.conformalGrid), never a copy. */
|
|
14
|
+
export const defaultConformalGridConfig = DEFAULT_GRIDS.conformalGrid;
|
|
15
|
+
/** This grid's own uniforms (u_<key>), pushed by applyGridConfig beside the shared surface knobs. */
|
|
16
|
+
const VARIANT = ['flowMap', 'poleSpread', 'spokes', 'arms', 'circulation', 'drift', 'fill', 'dye'];
|
|
17
|
+
/** No computed uniforms: every knob maps straight to its u_<key>. */
|
|
18
|
+
const DERIVE = {};
|
|
19
|
+
/** Knobs that reshape the plane or pick a mode: they change on commit, never through the live path. */
|
|
20
|
+
const STRUCTURAL = [...GRID_STRUCTURAL, 'flowMap', 'spokes', 'arms'];
|
|
21
|
+
/** Knobs a keyframe or pointer binding may drive per frame — exactly what applyGridConfig pushes. */
|
|
22
|
+
const ANIMATABLE = new Set((GRIDS_ANIMATABLE.conformalGrid ?? []).map((p) => p.value));
|
|
23
|
+
/**
|
|
24
|
+
* A square lattice pulled back through an ideal-flow complex potential. Cauchy–Riemann keeps every cell square; colour is the flow speed, alternate stream tubes carry dye and hydrogen-bubble dashes ride the flow.
|
|
25
|
+
*
|
|
26
|
+
* The grid always lies flat: any other orientation, and any movement of the
|
|
27
|
+
* whole, is the parent object's transform. Only what happens inside it animates.
|
|
28
|
+
*/
|
|
29
|
+
export function ConformalGrid({ config = defaultConformalGridConfig, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) {
|
|
30
|
+
const matRef = useRef(null);
|
|
31
|
+
const rootRef = useRef(null);
|
|
32
|
+
const meshRef = useRef(null);
|
|
33
|
+
useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
|
|
34
|
+
// The committed config over this grid's defaults: every knob has a value to render
|
|
35
|
+
// and for a keyframe or pointer binding to start from.
|
|
36
|
+
const base = useMemo(() => withConfigDefaults(defaultConformalGridConfig, config), [config]);
|
|
37
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
38
|
+
const segs = segments ?? (displace > 0
|
|
39
|
+
? Math.min(256, Math.max(64, Math.ceil(size / Math.max(cellSize, 1e-4)) * 2))
|
|
40
|
+
: 1);
|
|
41
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
42
|
+
// One push point for every uniform the config owns: the committed config when the
|
|
43
|
+
// material mounts or the config commits, the merged one while anything overrides it.
|
|
44
|
+
const baseRef = useRef(base);
|
|
45
|
+
baseRef.current = base;
|
|
46
|
+
const setMaterial = useCallback((m) => {
|
|
47
|
+
matRef.current = m;
|
|
48
|
+
if (m)
|
|
49
|
+
applyGridConfig(m, baseRef.current, VARIANT, DERIVE);
|
|
50
|
+
}, []);
|
|
51
|
+
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
52
|
+
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
53
|
+
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
54
|
+
// Rate knobs are integrated here, never multiplied by time in the shader, so a
|
|
55
|
+
// keyframed or pointer-driven rate changes the speed without making the pattern
|
|
56
|
+
// jump. The knob is read from the material, i.e. the merged (driven) value.
|
|
57
|
+
useFrame((_, delta) => {
|
|
58
|
+
const u = matRef.current?.uniforms;
|
|
59
|
+
if (!u)
|
|
60
|
+
return;
|
|
61
|
+
const dt = Math.min(delta, 0.1) * u.u_animSpeed.value;
|
|
62
|
+
u.u_flowPhase.value += dt * u.u_drift.value;
|
|
63
|
+
});
|
|
64
|
+
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: [-Math.PI / 2, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("conformalGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, ConformalGridMaterial.key)] }) }));
|
|
65
|
+
}
|
|
66
|
+
export default ConformalGrid;
|
|
@@ -12,7 +12,7 @@ export interface ContourGridProps extends ObjectReadyProps {
|
|
|
12
12
|
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
13
|
mouseMove?: MouseMoveDomain;
|
|
14
14
|
}
|
|
15
|
-
/** ContourGridConfig
|
|
15
|
+
/** ContourGridConfig defaults: the core registry entry (DEFAULT_GRIDS.contourGrid), never a copy. */
|
|
16
16
|
export declare const defaultContourGridConfig: ContourGridConfig;
|
|
17
17
|
export declare function ContourGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: ContourGridProps): import("react").JSX.Element;
|
|
18
18
|
export default ContourGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContourGrid.d.ts","sourceRoot":"","sources":["../../src/components/ContourGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,
|
|
1
|
+
{"version":3,"file":"ContourGrid.d.ts","sourceRoot":"","sources":["../../src/components/ContourGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,qGAAqG;AACrG,eAAO,MAAM,wBAAwB,EAA2C,iBAAiB,CAAC;AAwBlG,wBAAgB,WAAW,CAAC,EAAE,MAAiC,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,gBAAgB,+BA+CxJ;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -6,39 +6,11 @@ import { useGridSurface } from '../hooks/useGridSurface.js';
|
|
|
6
6
|
import { useConfigDriver } from '../hooks/useConfigDriver.js';
|
|
7
7
|
import { withConfigDefaults } from '../utils/configAnimations.js';
|
|
8
8
|
import { applyGridConfig, GRID_STRUCTURAL } from '../utils/gridConfig.js';
|
|
9
|
-
import { ContourGridMaterial, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
9
|
+
import { ContourGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
10
|
// Side-effect import registers <contourGridMaterial> via extend().
|
|
11
11
|
void ContourGridMaterial;
|
|
12
|
-
/** ContourGridConfig
|
|
13
|
-
export const defaultContourGridConfig =
|
|
14
|
-
cellSize: 14,
|
|
15
|
-
size: 50,
|
|
16
|
-
segments: undefined,
|
|
17
|
-
flat: true,
|
|
18
|
-
lineMode: 0,
|
|
19
|
-
cellMode: 1, // elevation tint
|
|
20
|
-
lineWidth: 1,
|
|
21
|
-
sectionSize: 5,
|
|
22
|
-
sectionWidth: 2.2,
|
|
23
|
-
animSpeed: 1,
|
|
24
|
-
animScale: 0.5,
|
|
25
|
-
animIntensity: 1,
|
|
26
|
-
fadeDistance: undefined,
|
|
27
|
-
fadeStrength: 0.7,
|
|
28
|
-
displace: 0,
|
|
29
|
-
levels: 16,
|
|
30
|
-
roughness: 0.5,
|
|
31
|
-
warp: 0.35,
|
|
32
|
-
lineColor: '#59d9b3',
|
|
33
|
-
sectionColor: '#bff299',
|
|
34
|
-
cellColor: '#1a5c52',
|
|
35
|
-
glowColor: '#8cffbf',
|
|
36
|
-
bgColor: '#020a0a',
|
|
37
|
-
bgOpacity: 0,
|
|
38
|
-
followMouse: false,
|
|
39
|
-
reveal: 1,
|
|
40
|
-
revealDuration: 0,
|
|
41
|
-
};
|
|
12
|
+
/** ContourGridConfig defaults: the core registry entry (DEFAULT_GRIDS.contourGrid), never a copy. */
|
|
13
|
+
export const defaultContourGridConfig = DEFAULT_GRIDS.contourGrid;
|
|
42
14
|
/**
|
|
43
15
|
* Topographic iso-lines over a drifting terrain field — minor contours every
|
|
44
16
|
* step, index contours every `sectionSize`.
|
|
@@ -68,13 +40,13 @@ export function ContourGrid({ config = defaultContourGridConfig, groupProps, id,
|
|
|
68
40
|
// The committed config over this grid's defaults: every knob has a value to render
|
|
69
41
|
// and for a keyframe or pointer binding to start from.
|
|
70
42
|
const base = useMemo(() => withConfigDefaults(defaultContourGridConfig, config), [config]);
|
|
71
|
-
const { cellSize, size, segments,
|
|
43
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
72
44
|
// Terrain needs a far denser mesh than the lattice grids: the silhouette is
|
|
73
45
|
// the whole point, and it is only as good as the tessellation carrying it.
|
|
74
46
|
const segs = segments ?? (displace > 0
|
|
75
47
|
? Math.min(384, Math.max(128, Math.ceil(size / Math.max(cellSize, 1e-4)) * 48))
|
|
76
48
|
: 1);
|
|
77
|
-
useGridSurface(matRef, meshRef, {
|
|
49
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
78
50
|
// One push point for every uniform the config owns: the committed config when the
|
|
79
51
|
// material mounts or the config commits, the merged one while anything overrides it.
|
|
80
52
|
const baseRef = useRef(base);
|
|
@@ -87,6 +59,6 @@ export function ContourGrid({ config = defaultContourGridConfig, groupProps, id,
|
|
|
87
59
|
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
88
60
|
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
89
61
|
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
90
|
-
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation:
|
|
62
|
+
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: [-Math.PI / 2, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("contourGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, ContourGridMaterial.key)] }) }));
|
|
91
63
|
}
|
|
92
64
|
export default ContourGrid;
|
|
@@ -74,7 +74,7 @@ const CustomPrimitive = memo(({ createdObject, slot = 0, onObjectReady, onObject
|
|
|
74
74
|
// ModelPrimitive owns its own ref and reports readiness: the meshRef above stays null
|
|
75
75
|
// for a model, so the useObjectReady call at the top of this component is a no-op here
|
|
76
76
|
// and cannot double-report alongside it.
|
|
77
|
-
return _jsx(ModelBoundary, { label: `${createdObject.name} (${createdObject.id})${slot ? ` slot ${slot}` : ''}`, children: _jsx(ModelPrimitive, { createdObject: createdObject, slot: slot, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose, children: useDreiMaterials && createdObject.meshSettings.visible && (_jsx(MaterialLibrary, { materialSettings: createdObject.materialSettings })) }) });
|
|
77
|
+
return _jsx(ModelBoundary, { objectId: createdObject.id, label: `${createdObject.name} (${createdObject.id})${slot ? ` slot ${slot}` : ''}`, children: _jsx(ModelPrimitive, { createdObject: createdObject, slot: slot, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose, children: useDreiMaterials && createdObject.meshSettings.visible && (_jsx(MaterialLibrary, { materialSettings: createdObject.materialSettings })) }) });
|
|
78
78
|
});
|
|
79
79
|
CustomPrimitive.displayName = 'CustomPrimitive';
|
|
80
80
|
export default CustomPrimitive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentObject.d.ts","sourceRoot":"","sources":["../../src/components/EnvironmentObject.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"EnvironmentObject.d.ts","sourceRoot":"","sources":["../../src/components/EnvironmentObject.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAA2C,MAAM,uBAAuB,CAAC;AAC5G,KAAK,sBAAsB,GAAG,gBAAgB,GAAG;IAC7C,aAAa,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAKF,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAcvD,CAAC;AACF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import Rain from './
|
|
2
|
+
import { Snow, Sandstorm, Rainbow, Tornado, Thunderstorm, Rain } from './environment/index.js';
|
|
3
|
+
/** The environment family's components by config.type. */
|
|
4
|
+
const FAMILY = { snow: Snow, sandstorm: Sandstorm, rainbow: Rainbow, tornado: Tornado, thunderstorm: Thunderstorm, rain: Rain };
|
|
3
5
|
const EnvironmentObject = ({ createdObject, onObjectReady, onObjectDispose }) => {
|
|
4
6
|
const config = createdObject.config;
|
|
5
7
|
if (!config || config.enabled === false)
|
|
6
8
|
return null;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
9
|
+
const type = config.type;
|
|
10
|
+
const Component = FAMILY[type];
|
|
11
|
+
if (!Component)
|
|
12
|
+
return null;
|
|
13
|
+
// Every family key renders the same way: FAMILY is the only per-key entry.
|
|
14
|
+
return _jsx(Component, { config: config, id: createdObject.id, keyframes: createdObject.animations?.environment?.animations, mouseMove: createdObject.mouseMove?.environment, onObjectReady: (_source, ref) => onObjectReady?.(createdObject, ref), onObjectDispose: (_source, ref) => onObjectDispose?.(createdObject, ref) });
|
|
13
15
|
};
|
|
14
16
|
export default EnvironmentObject;
|
|
@@ -12,7 +12,7 @@ export interface FlowNetGridProps extends ObjectReadyProps {
|
|
|
12
12
|
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
13
|
mouseMove?: MouseMoveDomain;
|
|
14
14
|
}
|
|
15
|
-
/** FlowNetGridConfig defaults
|
|
15
|
+
/** FlowNetGridConfig defaults: the core registry entry (DEFAULT_GRIDS.flowNetGrid), never a copy. */
|
|
16
16
|
export declare const defaultFlowNetGridConfig: FlowNetGridConfig;
|
|
17
17
|
export declare function FlowNetGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: FlowNetGridProps): import("react").JSX.Element;
|
|
18
18
|
export default FlowNetGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowNetGrid.d.ts","sourceRoot":"","sources":["../../src/components/FlowNetGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,
|
|
1
|
+
{"version":3,"file":"FlowNetGrid.d.ts","sourceRoot":"","sources":["../../src/components/FlowNetGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,qGAAqG;AACrG,eAAO,MAAM,wBAAwB,EAA2C,iBAAiB,CAAC;AAclG,wBAAgB,WAAW,CAAC,EAAE,MAAiC,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,gBAAgB,+BA4CxJ;AAED,eAAe,WAAW,CAAC"}
|