@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
|
@@ -12,7 +12,7 @@ export interface HyperbolicGridProps extends ObjectReadyProps {
|
|
|
12
12
|
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
13
|
mouseMove?: MouseMoveDomain;
|
|
14
14
|
}
|
|
15
|
-
/** HyperbolicGridConfig defaults
|
|
15
|
+
/** HyperbolicGridConfig defaults: the core registry entry (DEFAULT_GRIDS.hyperbolicGrid), never a copy. */
|
|
16
16
|
export declare const defaultHyperbolicGridConfig: HyperbolicGridConfig;
|
|
17
17
|
export declare function HyperbolicGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: HyperbolicGridProps): import("react").JSX.Element;
|
|
18
18
|
export default HyperbolicGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperbolicGrid.d.ts","sourceRoot":"","sources":["../../src/components/HyperbolicGrid.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,
|
|
1
|
+
{"version":3,"file":"HyperbolicGrid.d.ts","sourceRoot":"","sources":["../../src/components/HyperbolicGrid.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;AAc3G,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"}
|
|
@@ -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 { HyperbolicGridMaterial, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
9
|
+
import { HyperbolicGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
10
|
// Side-effect import registers <hyperbolicGridMaterial> via extend().
|
|
11
11
|
void HyperbolicGridMaterial;
|
|
12
|
-
/** HyperbolicGridConfig defaults
|
|
13
|
-
export const defaultHyperbolicGridConfig =
|
|
14
|
-
cellSize: 22,
|
|
15
|
-
size: 50,
|
|
16
|
-
flat: true,
|
|
17
|
-
segments: undefined,
|
|
18
|
-
lineMode: 1,
|
|
19
|
-
cellMode: 2,
|
|
20
|
-
lineWidth: 1.4,
|
|
21
|
-
sectionSize: 3,
|
|
22
|
-
sectionWidth: 1,
|
|
23
|
-
animSpeed: 1,
|
|
24
|
-
animScale: 1.2,
|
|
25
|
-
animIntensity: 0.7,
|
|
26
|
-
fadeDistance: undefined,
|
|
27
|
-
fadeStrength: 0.2,
|
|
28
|
-
displace: 0,
|
|
29
|
-
sides: 7,
|
|
30
|
-
valence: 3,
|
|
31
|
-
drift: 0.5,
|
|
32
|
-
lineColor: '#c9a4ff',
|
|
33
|
-
sectionColor: '#ffd9f2',
|
|
34
|
-
cellColor: '#2a1446',
|
|
35
|
-
glowColor: '#b07cff',
|
|
36
|
-
bgColor: '#07030c',
|
|
37
|
-
bgOpacity: 0,
|
|
38
|
-
followMouse: false,
|
|
39
|
-
reveal: 1,
|
|
40
|
-
revealDuration: 0,
|
|
41
|
-
};
|
|
12
|
+
/** HyperbolicGridConfig defaults: the core registry entry (DEFAULT_GRIDS.hyperbolicGrid), never a copy. */
|
|
13
|
+
export const defaultHyperbolicGridConfig = DEFAULT_GRIDS.hyperbolicGrid;
|
|
42
14
|
/**
|
|
43
15
|
* An Escher-style {p,q} tiling of the Poincare disk. A slow Mobius translation glides the tiling through itself, and the tiles shrink without end toward the rim.
|
|
44
16
|
*/
|
|
@@ -58,10 +30,10 @@ export function HyperbolicGrid({ config = defaultHyperbolicGridConfig, groupProp
|
|
|
58
30
|
// The committed config over this grid's defaults: every knob has a value to render
|
|
59
31
|
// and for a keyframe or pointer binding to start from.
|
|
60
32
|
const base = useMemo(() => withConfigDefaults(defaultHyperbolicGridConfig, config), [config]);
|
|
61
|
-
const { cellSize, size, segments,
|
|
33
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
62
34
|
// the ripple is fine-grained relative to the disk
|
|
63
35
|
const segs = segments ?? (displace > 0 ? Math.min(512, Math.max(96, Math.ceil(size / Math.max(cellSize, 1e-4)) * 64)) : 1);
|
|
64
|
-
useGridSurface(matRef, meshRef, {
|
|
36
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
65
37
|
// One push point for every uniform the config owns: the committed config when the
|
|
66
38
|
// material mounts or the config commits, the merged one while anything overrides it.
|
|
67
39
|
const baseRef = useRef(base);
|
|
@@ -74,6 +46,6 @@ export function HyperbolicGrid({ config = defaultHyperbolicGridConfig, groupProp
|
|
|
74
46
|
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
75
47
|
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
76
48
|
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
77
|
-
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("hyperbolicGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, HyperbolicGridMaterial.key)] }) }));
|
|
78
50
|
}
|
|
79
51
|
export default HyperbolicGrid;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ObjectReadyProps } from '../types/objectReady';
|
|
2
|
+
import React from "react";
|
|
3
|
+
import type { CreatedObjectSettings } from "@3driseai/3drise-core";
|
|
4
|
+
type LandObjectProps = ObjectReadyProps & {
|
|
5
|
+
createdObject: CreatedObjectSettings;
|
|
6
|
+
};
|
|
7
|
+
declare const LandObject: React.FC<LandObjectProps>;
|
|
8
|
+
export default LandObject;
|
|
9
|
+
//# sourceMappingURL=LandObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LandObject.d.ts","sourceRoot":"","sources":["../../src/components/LandObject.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,eAAe,GAAG,gBAAgB,GAAG;IACtC,aAAa,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAMF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAYzC,CAAC;AACF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { LandPatch } from './land/index.js';
|
|
3
|
+
/** The land family's components by config.type. Every landform is the same patch
|
|
4
|
+
* renderer (the landform is a shader branch), so switching shape never remounts. */
|
|
5
|
+
const FAMILY = { mountains: LandPatch, hills: LandPatch, dunes: LandPatch, canyon: LandPatch };
|
|
6
|
+
const LandObject = ({ createdObject, onObjectReady, onObjectDispose }) => {
|
|
7
|
+
const config = createdObject.config;
|
|
8
|
+
if (!config || config.enabled === false)
|
|
9
|
+
return null;
|
|
10
|
+
const Component = FAMILY[config.type];
|
|
11
|
+
if (!Component)
|
|
12
|
+
return null;
|
|
13
|
+
return _jsx(Component, { config: config, id: createdObject.id, keyframes: createdObject.animations?.land?.animations, mouseMove: createdObject.mouseMove?.land, onObjectReady: (_source, ref) => onObjectReady?.(createdObject, ref), onObjectDispose: (_source, ref) => onObjectDispose?.(createdObject, ref) });
|
|
14
|
+
};
|
|
15
|
+
export default LandObject;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ThreeElements } from '@react-three/fiber';
|
|
2
|
+
import type { ObjectReadyProps } from '../types/objectReady';
|
|
3
|
+
import type { LensingGridConfig } from '../types/gridConfigs';
|
|
4
|
+
import type { AnimationOptions, MouseMoveDomain } from '@3driseai/3drise-core';
|
|
5
|
+
export interface LensingGridProps extends ObjectReadyProps {
|
|
6
|
+
config?: LensingGridConfig;
|
|
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
|
+
/** LensingGridConfig defaults: the core registry entry (DEFAULT_GRIDS.lensingGrid), never a copy. */
|
|
16
|
+
export declare const defaultLensingGridConfig: LensingGridConfig;
|
|
17
|
+
/**
|
|
18
|
+
* A square lattice seen through a point-mass gravitational lens: the thin-lens equation bends it into an Einstein ring, an inverted inner image and a dark shadow at the core.
|
|
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 LensingGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: LensingGridProps): import("react").JSX.Element;
|
|
24
|
+
export default LensingGrid;
|
|
25
|
+
//# sourceMappingURL=LensingGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensingGrid.d.ts","sourceRoot":"","sources":["../../src/components/LensingGrid.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;AAWlG;;;;;GAKG;AACH,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"}
|
|
@@ -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 { LensingGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
|
+
// Side-effect import registers <lensingGridMaterial> via extend().
|
|
11
|
+
void LensingGridMaterial;
|
|
12
|
+
/** LensingGridConfig defaults: the core registry entry (DEFAULT_GRIDS.lensingGrid), never a copy. */
|
|
13
|
+
export const defaultLensingGridConfig = DEFAULT_GRIDS.lensingGrid;
|
|
14
|
+
/** This grid's own uniforms (u_<key>), pushed by applyGridConfig beside the shared surface knobs. */
|
|
15
|
+
const VARIANT = ['mass', 'orbit', 'ringGlow'];
|
|
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];
|
|
20
|
+
/** Knobs a keyframe or pointer binding may drive per frame — exactly what applyGridConfig pushes. */
|
|
21
|
+
const ANIMATABLE = new Set((GRIDS_ANIMATABLE.lensingGrid ?? []).map((p) => p.value));
|
|
22
|
+
/**
|
|
23
|
+
* A square lattice seen through a point-mass gravitational lens: the thin-lens equation bends it into an Einstein ring, an inverted inner image and a dark shadow at the core.
|
|
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 LensingGrid({ config = defaultLensingGridConfig, 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(defaultLensingGridConfig, 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("lensingGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, LensingGridMaterial.key)] }) }));
|
|
54
|
+
}
|
|
55
|
+
export default LensingGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LightsManager.d.ts","sourceRoot":"","sources":["../../src/components/LightsManager.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"LightsManager.d.ts","sourceRoot":"","sources":["../../src/components/LightsManager.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAID,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0G/C,CAAC;AACF,eAAe,aAAa,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { useFrame, useThree } from '@react-three/fiber';
|
|
|
5
5
|
import { createSunPosition } from '@3driseai/3drise-core';
|
|
6
6
|
import { Color, } from 'three';
|
|
7
7
|
import { useLightAnimation } from '../hooks/useLightAnimation.js';
|
|
8
|
+
import { skyOwnsSun } from '../utils/renderedSky.js';
|
|
8
9
|
const SUN_DISTANCE = 100;
|
|
9
10
|
const LightsManager = ({ config, onObjectReady, onObjectDispose }) => {
|
|
10
11
|
const { scene } = useThree();
|
|
@@ -93,6 +94,13 @@ const LightsManager = ({ config, onObjectReady, onObjectDispose }) => {
|
|
|
93
94
|
};
|
|
94
95
|
}, [scene]);
|
|
95
96
|
useFrame((state) => {
|
|
97
|
+
// While a sky is active its key light (SunLight) is the scene's sun; this
|
|
98
|
+
// general-purpose sun is for scenes without one. Checked per frame, not
|
|
99
|
+
// via props, because the sky lives in a sibling subtree (EnvironmentManager)
|
|
100
|
+
// and can come and go without this component re-rendering.
|
|
101
|
+
if (sunLightRef.current) {
|
|
102
|
+
sunLightRef.current.visible = !!sunConfig?.enabled && !skyOwnsSun(scene);
|
|
103
|
+
}
|
|
96
104
|
if (followSun && sunLightRef.current) {
|
|
97
105
|
const time = state.clock.getElapsedTime();
|
|
98
106
|
const slowRotation = time * 0.01;
|
|
@@ -6,6 +6,8 @@ interface ModelBoundaryProps {
|
|
|
6
6
|
fallback?: ReactNode;
|
|
7
7
|
/** Identifies the offending object in the console when a load fails. */
|
|
8
8
|
label?: string;
|
|
9
|
+
/** The model's object id: a failed load tells scene readiness not to wait for it. */
|
|
10
|
+
objectId?: string;
|
|
9
11
|
}
|
|
10
12
|
interface ModelBoundaryState {
|
|
11
13
|
failed: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelBoundary.d.ts","sourceRoot":"","sources":["../../src/components/ModelBoundary.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelBoundary.d.ts","sourceRoot":"","sources":["../../src/components/ModelBoundary.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,UAAU,kBAAkB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAkB;IACxB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,cAAM,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACzE,KAAK,EAAE,kBAAkB,CAAqB;IAE9C,MAAM,CAAC,wBAAwB,IAAI,kBAAkB;IAIrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAStD,MAAM,IAAI,SAAS;CAItB;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Component, Suspense } from 'react';
|
|
3
|
+
import { sceneReadiness } from '../triggers/readiness.js';
|
|
3
4
|
/**
|
|
4
5
|
* Suspense + error boundary around a single model leaf.
|
|
5
6
|
*
|
|
@@ -15,6 +16,8 @@ class ModelBoundary extends Component {
|
|
|
15
16
|
}
|
|
16
17
|
componentDidCatch(error, info) {
|
|
17
18
|
console.error(`[ModelBoundary] Model failed to load${this.props.label ? `: ${this.props.label}` : ''}`, error, info.componentStack);
|
|
19
|
+
if (this.props.objectId)
|
|
20
|
+
sceneReadiness.fail(this.props.objectId, error);
|
|
18
21
|
}
|
|
19
22
|
render() {
|
|
20
23
|
if (this.state.failed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelPrimitive.d.ts","sourceRoot":"","sources":["../../src/components/ModelPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAMnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelPrimitive.d.ts","sourceRoot":"","sources":["../../src/components/ModelPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAMnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,UAAU,mBAAoB,SAAQ,gBAAgB;IAClD,aAAa,EAAE,qBAAqB,CAAC;IACrC,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8ChD,CAAC;AAIH,eAAe,cAAc,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { useNodeOverrides } from '../hooks/useNodeOverrides.js';
|
|
|
5
5
|
import { getNodeOverrides, peekModelAsset, resolveShadowFlags } from '@3driseai/3drise-core';
|
|
6
6
|
import { useObjectReadyReporter } from '../hooks/useObjectReady.js';
|
|
7
7
|
import { applyShadowFlags } from '../hooks/useShadowApplication.js';
|
|
8
|
+
import { sceneReadiness } from '../triggers/readiness.js';
|
|
8
9
|
/**
|
|
9
10
|
* Mounts the Object3D behind a `type: 'model'` scene object, and hands it to the host
|
|
10
11
|
* application.
|
|
@@ -47,11 +48,16 @@ const ModelPrimitive = memo(({ createdObject, slot = 0, onObjectReady, onObjectD
|
|
|
47
48
|
const shadowFlags = useRef({ cast: false, receive: false });
|
|
48
49
|
const resolved = resolveShadowFlags(createdObject.type, createdObject.meshSettings);
|
|
49
50
|
shadowFlags.current = { cast: resolved.castShadow, receive: resolved.receiveShadow };
|
|
51
|
+
// Scene readiness counts the object itself (slot 0), not its layout clones.
|
|
52
|
+
const readyId = useRef('');
|
|
53
|
+
readyId.current = slot === 0 ? createdObject.id : '';
|
|
50
54
|
const setObjectRef = useCallback((instance) => {
|
|
51
55
|
if (instance) {
|
|
52
56
|
applyShadowFlags(instance, shadowFlags.current.cast, shadowFlags.current.receive);
|
|
53
57
|
attachedRef.current = instance;
|
|
54
58
|
report(instance);
|
|
59
|
+
if (readyId.current)
|
|
60
|
+
sceneReadiness.report(readyId.current);
|
|
55
61
|
return;
|
|
56
62
|
}
|
|
57
63
|
if (attachedRef.current) {
|
|
@@ -12,7 +12,7 @@ export interface MoireGridProps extends ObjectReadyProps {
|
|
|
12
12
|
/** Pointer bindings on this grid's config knobs (mouseMove.grid). */
|
|
13
13
|
mouseMove?: MouseMoveDomain;
|
|
14
14
|
}
|
|
15
|
-
/** MoireGridConfig
|
|
15
|
+
/** MoireGridConfig defaults: the core registry entry (DEFAULT_GRIDS.moireGrid), never a copy. */
|
|
16
16
|
export declare const defaultMoireGridConfig: MoireGridConfig;
|
|
17
17
|
export declare function MoireGrid({ config, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }: MoireGridProps): import("react").JSX.Element;
|
|
18
18
|
export default MoireGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoireGrid.d.ts","sourceRoot":"","sources":["../../src/components/MoireGrid.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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACpD,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,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;AAWD,
|
|
1
|
+
{"version":3,"file":"MoireGrid.d.ts","sourceRoot":"","sources":["../../src/components/MoireGrid.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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACpD,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,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;AAWD,iGAAiG;AACjG,eAAO,MAAM,sBAAsB,EAAyC,eAAe,CAAC;AAsB5F,wBAAgB,SAAS,CAAC,EAAE,MAA+B,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,cAAc,+BA6ClJ;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -6,7 +6,7 @@ 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 { MoireGridMaterial, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
9
|
+
import { MoireGridMaterial, DEFAULT_GRIDS, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
10
10
|
// Side-effect import registers <moireGridMaterial> via extend().
|
|
11
11
|
void MoireGridMaterial;
|
|
12
12
|
const SHAPE_INDEX = {
|
|
@@ -14,37 +14,8 @@ const SHAPE_INDEX = {
|
|
|
14
14
|
hex: 1,
|
|
15
15
|
rings: 2,
|
|
16
16
|
};
|
|
17
|
-
/** MoireGridConfig
|
|
18
|
-
export const defaultMoireGridConfig =
|
|
19
|
-
cellSize: 2.8,
|
|
20
|
-
size: 50,
|
|
21
|
-
segments: undefined,
|
|
22
|
-
flat: true,
|
|
23
|
-
lineMode: 0,
|
|
24
|
-
cellMode: 2, // steady nodes; the interference carries the motion
|
|
25
|
-
lineWidth: 1.4,
|
|
26
|
-
sectionSize: 12,
|
|
27
|
-
sectionWidth: 0,
|
|
28
|
-
animSpeed: 1,
|
|
29
|
-
animScale: 1,
|
|
30
|
-
animIntensity: 1,
|
|
31
|
-
fadeDistance: undefined,
|
|
32
|
-
fadeStrength: 0.7,
|
|
33
|
-
displace: 0,
|
|
34
|
-
shape: 'square',
|
|
35
|
-
layerAngle: 0.05,
|
|
36
|
-
layerScale: 1.06,
|
|
37
|
-
spin: 1,
|
|
38
|
-
lineColor: '#226bd9',
|
|
39
|
-
sectionColor: '#f2599e',
|
|
40
|
-
cellColor: '#0d1a40',
|
|
41
|
-
glowColor: '#99d9ff',
|
|
42
|
-
bgColor: '#02040d',
|
|
43
|
-
bgOpacity: 0,
|
|
44
|
-
followMouse: false,
|
|
45
|
-
reveal: 1,
|
|
46
|
-
revealDuration: 0,
|
|
47
|
-
};
|
|
17
|
+
/** MoireGridConfig defaults: the core registry entry (DEFAULT_GRIDS.moireGrid), never a copy. */
|
|
18
|
+
export const defaultMoireGridConfig = DEFAULT_GRIDS.moireGrid;
|
|
48
19
|
/**
|
|
49
20
|
* Two overlaid lattices, counter-rotating.
|
|
50
21
|
*
|
|
@@ -72,11 +43,11 @@ export function MoireGrid({ config = defaultMoireGridConfig, groupProps, id, key
|
|
|
72
43
|
// The committed config over this grid's defaults: every knob has a value to render
|
|
73
44
|
// and for a keyframe or pointer binding to start from.
|
|
74
45
|
const base = useMemo(() => withConfigDefaults(defaultMoireGridConfig, config), [config]);
|
|
75
|
-
const { cellSize, size, segments,
|
|
46
|
+
const { cellSize, size, segments, displace, reveal, revealDuration } = base;
|
|
76
47
|
const segs = segments ?? (displace > 0
|
|
77
48
|
? Math.min(256, Math.max(64, Math.ceil(size / Math.max(cellSize, 1e-4)) * 2))
|
|
78
49
|
: 1);
|
|
79
|
-
useGridSurface(matRef, meshRef, {
|
|
50
|
+
useGridSurface(matRef, meshRef, { reveal, revealDuration });
|
|
80
51
|
// One push point for every uniform the config owns: the committed config when the
|
|
81
52
|
// material mounts or the config commits, the merged one while anything overrides it.
|
|
82
53
|
const baseRef = useRef(base);
|
|
@@ -89,6 +60,6 @@ export function MoireGrid({ config = defaultMoireGridConfig, groupProps, id, key
|
|
|
89
60
|
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
90
61
|
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
91
62
|
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
92
|
-
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation:
|
|
63
|
+
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("moireGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, MoireGridMaterial.key)] }) }));
|
|
93
64
|
}
|
|
94
65
|
export default MoireGrid;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SkySettings, TimeSettings } from '@3driseai/3drise-core';
|
|
3
|
+
export interface MoonDiscProps {
|
|
4
|
+
timeSettings: TimeSettings;
|
|
5
|
+
skySettings?: SkySettings;
|
|
6
|
+
/** Multiplier on the disc's apparent size. */
|
|
7
|
+
size?: number;
|
|
8
|
+
}
|
|
9
|
+
declare const MoonDisc: React.FC<MoonDiscProps>;
|
|
10
|
+
export default MoonDisc;
|
|
11
|
+
//# sourceMappingURL=MoonDisc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoonDisc.d.ts","sourceRoot":"","sources":["../../src/components/MoonDisc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIvE,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AA+ED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoDrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import { useFrame } from '@react-three/fiber';
|
|
5
|
+
import { useCloudSun } from '../hooks/useCloudSun.js';
|
|
6
|
+
import { resolveMoon } from '../utils/skyMoon.js';
|
|
7
|
+
/**
|
|
8
|
+
* The moon in the sky, for either sky renderer.
|
|
9
|
+
*
|
|
10
|
+
* A camera-facing quad placed toward the moon just inside the far plane, so the
|
|
11
|
+
* sky (drawn at the far plane) is behind it and terrain and objects occlude it.
|
|
12
|
+
* The disc is shaded as a sphere lit by the real sun direction, so the phase —
|
|
13
|
+
* crescent, quarter, gibbous, full, and which side is lit — falls out of where
|
|
14
|
+
* the sun is rather than being drawn. Additive over the sky: pale by day, bright
|
|
15
|
+
* with a soft halo at night.
|
|
16
|
+
*
|
|
17
|
+
* Position and phase come from resolveMoon, the same source as the moonlight.
|
|
18
|
+
*/
|
|
19
|
+
/** Real angular diameter is 0.52°; a true-size moon reads as a dot on a screen. */
|
|
20
|
+
const MOON_ANGULAR_DIAMETER_DEG = 0.52 * 4;
|
|
21
|
+
/** Quad half-size in disc radii — room for the wide glow. */
|
|
22
|
+
const SPAN = 8.0;
|
|
23
|
+
const vertexShader = /* glsl */ `
|
|
24
|
+
varying vec2 vUv;
|
|
25
|
+
void main() {
|
|
26
|
+
vUv = uv * 2.0 - 1.0;
|
|
27
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
const fragmentShader = /* glsl */ `
|
|
31
|
+
uniform vec3 uSunLocal;
|
|
32
|
+
uniform float uNight;
|
|
33
|
+
uniform float uIllum;
|
|
34
|
+
varying vec2 vUv;
|
|
35
|
+
|
|
36
|
+
float hash(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }
|
|
37
|
+
float noise(vec2 p) {
|
|
38
|
+
vec2 i = floor(p), f = fract(p);
|
|
39
|
+
vec2 u = f * f * (3.0 - 2.0 * f);
|
|
40
|
+
return mix(mix(hash(i), hash(i + vec2(1, 0)), u.x), mix(hash(i + vec2(0, 1)), hash(i + vec2(1, 1)), u.x), u.y);
|
|
41
|
+
}
|
|
42
|
+
float fbm(vec2 p) {
|
|
43
|
+
float v = 0.0, a = 0.5;
|
|
44
|
+
for (int i = 0; i < 5; i++) { v += a * noise(p); p = p * 2.03 + 17.1; a *= 0.5; }
|
|
45
|
+
return v;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
void main() {
|
|
49
|
+
vec2 p = vUv * ${SPAN.toFixed(1)};
|
|
50
|
+
float r = length(p);
|
|
51
|
+
float aa = fwidth(r) * 1.5;
|
|
52
|
+
float disc = 1.0 - smoothstep(1.0 - aa, 1.0 + aa, r);
|
|
53
|
+
|
|
54
|
+
// The visible hemisphere as a sphere facing the camera (z toward the viewer).
|
|
55
|
+
vec3 n = vec3(p, sqrt(max(0.0, 1.0 - r * r)));
|
|
56
|
+
float lit = smoothstep(-0.04, 0.10, dot(n, uSunLocal));
|
|
57
|
+
|
|
58
|
+
// Maria: dark low-frequency patches; fine grain on top.
|
|
59
|
+
float maria = smoothstep(0.42, 0.62, fbm(n.xy * 2.2 + 3.1));
|
|
60
|
+
float grain = fbm(n.xy * 14.0) * 0.12;
|
|
61
|
+
vec3 albedo = mix(vec3(0.58, 0.58, 0.57), vec3(0.96, 0.95, 0.91), maria) * (0.94 + grain);
|
|
62
|
+
float limb = 0.72 + 0.28 * n.z;
|
|
63
|
+
vec3 surface = albedo * limb * (lit + 0.03); // + earthshine on the dark side
|
|
64
|
+
|
|
65
|
+
// Glow: a tight corona hugging the limb plus a wide soft bloom — moonlight
|
|
66
|
+
// scattered by the air around the disc. Scales with how much of the moon is
|
|
67
|
+
// lit and with the night; gone by day, when the sky out-shines it.
|
|
68
|
+
float d = max(r - 1.0, 0.0);
|
|
69
|
+
float glow = (exp(-d * 3.2) * 0.55 + exp(-d * 0.75) * 0.16) * (1.0 - disc);
|
|
70
|
+
vec3 col = surface * disc * mix(0.45, 1.15, uNight)
|
|
71
|
+
+ vec3(0.72, 0.80, 1.0) * glow * uIllum * uNight;
|
|
72
|
+
gl_FragColor = vec4(col, 1.0);
|
|
73
|
+
}
|
|
74
|
+
`;
|
|
75
|
+
const smooth01 = (edge0, edge1, x) => {
|
|
76
|
+
const t = THREE.MathUtils.clamp((x - edge0) / (edge1 - edge0), 0, 1);
|
|
77
|
+
return t * t * (3 - 2 * t);
|
|
78
|
+
};
|
|
79
|
+
const MoonDisc = ({ timeSettings, skySettings, size = 1 }) => {
|
|
80
|
+
const meshRef = useRef(null);
|
|
81
|
+
const { update } = useCloudSun({ skySettings, timeSettings });
|
|
82
|
+
const moon = useRef({ direction: new THREE.Vector3(), illumination: 1 });
|
|
83
|
+
const scratch = useMemo(() => ({ q: new THREE.Quaternion(), v: new THREE.Vector3() }), []);
|
|
84
|
+
const geometry = useMemo(() => new THREE.PlaneGeometry(2, 2), []);
|
|
85
|
+
const material = useMemo(() => new THREE.ShaderMaterial({
|
|
86
|
+
uniforms: {
|
|
87
|
+
uSunLocal: { value: new THREE.Vector3(0, 0, 1) },
|
|
88
|
+
uNight: { value: 0 },
|
|
89
|
+
uIllum: { value: 1 },
|
|
90
|
+
},
|
|
91
|
+
vertexShader,
|
|
92
|
+
fragmentShader,
|
|
93
|
+
transparent: true,
|
|
94
|
+
depthWrite: false,
|
|
95
|
+
depthTest: true,
|
|
96
|
+
blending: THREE.AdditiveBlending,
|
|
97
|
+
fog: false,
|
|
98
|
+
toneMapped: false,
|
|
99
|
+
}), []);
|
|
100
|
+
useEffect(() => () => { geometry.dispose(); material.dispose(); }, [geometry, material]);
|
|
101
|
+
useFrame(({ camera }) => {
|
|
102
|
+
const mesh = meshRef.current;
|
|
103
|
+
if (!mesh)
|
|
104
|
+
return;
|
|
105
|
+
const sunDir = update().direction;
|
|
106
|
+
const m = resolveMoon(timeSettings, sunDir, moon.current);
|
|
107
|
+
// Below the horizon there is nothing to draw (and nothing to occlude it).
|
|
108
|
+
if (m.direction.y < -0.03) {
|
|
109
|
+
mesh.visible = false;
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
mesh.visible = true;
|
|
113
|
+
const far = camera.far ?? 1000;
|
|
114
|
+
const dist = far * 0.9;
|
|
115
|
+
mesh.position.copy(camera.position).addScaledVector(m.direction, dist);
|
|
116
|
+
mesh.quaternion.copy(camera.quaternion);
|
|
117
|
+
const radius = dist * Math.tan(THREE.MathUtils.degToRad(MOON_ANGULAR_DIAMETER_DEG * size) / 2);
|
|
118
|
+
mesh.scale.setScalar(radius * SPAN);
|
|
119
|
+
// Sun direction in the quad's frame, so the disc is lit from where the sun is.
|
|
120
|
+
scratch.q.copy(camera.quaternion).invert();
|
|
121
|
+
material.uniforms.uSunLocal.value.copy(scratch.v.copy(sunDir).applyQuaternion(scratch.q));
|
|
122
|
+
const sunElevation = THREE.MathUtils.radToDeg(Math.asin(THREE.MathUtils.clamp(sunDir.y, -1, 1)));
|
|
123
|
+
material.uniforms.uNight.value = smooth01(2, -8, sunElevation);
|
|
124
|
+
material.uniforms.uIllum.value = m.illumination;
|
|
125
|
+
});
|
|
126
|
+
return _jsx("mesh", { ref: meshRef, geometry: geometry, material: material, frustumCulled: false, renderOrder: -1 });
|
|
127
|
+
};
|
|
128
|
+
export default MoonDisc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectNode.d.ts","sourceRoot":"","sources":["../../src/components/ObjectNode.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ObjectNode.d.ts","sourceRoot":"","sources":["../../src/components/ObjectNode.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAe,qBAAqB,EAA2C,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzI,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiBrD,KAAK,eAAe,GAAG,gBAAgB,GAAG;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC7G,CAAC;AAoBF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqJzC,CAAC;AACF,eAAe,UAAU,CAAC"}
|
|
@@ -10,14 +10,17 @@ import EffectsGenerator from './EffectsGenerator.js';
|
|
|
10
10
|
import ParticlesGenerator from './ParticlesGenerator.js';
|
|
11
11
|
import LightObject from "./LightObject.js";
|
|
12
12
|
import EnvironmentObject from "./EnvironmentObject.js";
|
|
13
|
+
import LandObject from "./LandObject.js";
|
|
14
|
+
import TextGenerator from "./TextGenerator.js";
|
|
13
15
|
import Galaxy from "./Galaxy.js";
|
|
14
16
|
import GridGenerator from "./GridsGenerator.js";
|
|
15
17
|
import OceanBuilder from "./OceanBuilder.js";
|
|
16
18
|
import LandscapeObject from "./LandscapeObject.js";
|
|
17
19
|
import LayoutInstances from "./LayoutInstances.js";
|
|
18
20
|
import { useRuntimeSettings } from "../hooks/useRuntimeSettings.js";
|
|
21
|
+
import { usePresentedVisibility } from "../operations/usePresentedVisibility.js";
|
|
19
22
|
import { SELF_MANAGED_MATERIAL } from "../constants.js";
|
|
20
|
-
import { LAYOUT_CAPABLE_TYPES, getObjectLayoutSupport, normalizeObjectLayout, isGenerativeParticlesConfig } from "@3driseai/3drise-core";
|
|
23
|
+
import { LAYOUT_CAPABLE_TYPES, getObjectLayoutSupport, normalizeObjectLayout, isGenerativeParticlesConfig, isTextObjectConfig } from "@3driseai/3drise-core";
|
|
21
24
|
// Slots after the first render with no ready callbacks: one object reports once.
|
|
22
25
|
const NO_READY = {};
|
|
23
26
|
// A point light's shadow is six extra renders; only slot 0 keeps it. Cached per settings
|
|
@@ -44,14 +47,18 @@ const GroupWithChildren = ({ createdObject, children, onObjectReady, onObjectDis
|
|
|
44
47
|
const isGroup = createdObject.type === 'group';
|
|
45
48
|
// Generative particle objects own their shaders, like effects do.
|
|
46
49
|
const selfManagedMaterial = SELF_MANAGED_MATERIAL.has(createdObject.type)
|
|
47
|
-
|| (createdObject.type === 'particles' && isGenerativeParticlesConfig(createdObject.config))
|
|
50
|
+
|| (createdObject.type === 'particles' && isGenerativeParticlesConfig(createdObject.config))
|
|
51
|
+
// The animated text looks own their shaders; the legacy 2d / 3d text (same object type) keeps its material.
|
|
52
|
+
|| (createdObject.type === 'text' && isTextObjectConfig(createdObject.config));
|
|
48
53
|
return (_jsxs(CreatedObject, { createdObject: createdObject, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose, handleObjectClick: handleObjectClick, shouldApply3driseMaterial: !isGroup && !selfManagedMaterial, children: [!isGroup && renderObject(createdObject, handleObjectClick), children.map(childNode => (_jsx(ObjectNode, { node: childNode, handleObjectClick: handleObjectClick, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose }, childNode.objectId)))] }, createdObject.id));
|
|
49
54
|
};
|
|
50
55
|
const ObjectNode = ({ node, onObjectReady, onObjectDispose, handleObjectClick }) => {
|
|
51
56
|
const { children } = node;
|
|
52
57
|
// Authored settings + any applied action patches (runtime only). Every renderer
|
|
53
58
|
// below sees the patched object, so an action can change anything an edit can.
|
|
54
|
-
const
|
|
59
|
+
const runtimeObject = useRuntimeSettings(node.createdObject?.id, node.createdObject);
|
|
60
|
+
// An object whose effects follow its visibility stays drawn until they have played out.
|
|
61
|
+
const createdObject = usePresentedVisibility(runtimeObject);
|
|
55
62
|
// Children describe themselves with their own settings; the scene above
|
|
56
63
|
// knows them by the node's createdObject, so relabel on the way up.
|
|
57
64
|
const relabel = useCallback((obj) => ({
|
|
@@ -89,6 +96,9 @@ const ObjectNode = ({ node, onObjectReady, onObjectDispose, handleObjectClick })
|
|
|
89
96
|
// />
|
|
90
97
|
// ),
|
|
91
98
|
text: (obj, onObjectReady) => {
|
|
99
|
+
// The animated looks (config.type) render through TextGenerator; the legacy 2d / 3d text keeps its own path.
|
|
100
|
+
if (isTextObjectConfig(obj.config))
|
|
101
|
+
return (_jsx(TextGenerator, { createdObject: obj, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose }));
|
|
92
102
|
const renderMode = obj.config?.renderMode ?? 'bitmap';
|
|
93
103
|
return (_jsx(_Fragment, { children: renderMode === 'text3d'
|
|
94
104
|
? _jsx(Text3D, { textSettings: obj, ...relabel(obj) })
|
|
@@ -127,6 +137,7 @@ const ObjectNode = ({ node, onObjectReady, onObjectDispose, handleObjectClick })
|
|
|
127
137
|
light: (obj, _onObjectReady, slot = 0) => (_jsx(LightObject, { createdObject: slot === 0 ? obj : withoutShadow(obj), ...(slot === 0 ? relabel(obj) : NO_READY) })),
|
|
128
138
|
environment: (obj, onObjectReady) => (_jsx(EnvironmentObject, { createdObject: obj, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose })),
|
|
129
139
|
space: (obj, onObjectReady) => (_jsx(Galaxy, { createdObject: obj, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose })),
|
|
140
|
+
land: (obj, onObjectReady) => (_jsx(LandObject, { createdObject: obj, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose })),
|
|
130
141
|
// rain: (obj: CreatedObjectSettings, cameraSettings: CameraState, onObjectReady?: (object: CreatedObjectSettings, ref: Object3D) => void) => (
|
|
131
142
|
// <Rain
|
|
132
143
|
// settings={obj}
|
|
@@ -169,7 +180,7 @@ const ObjectNode = ({ node, onObjectReady, onObjectDispose, handleObjectClick })
|
|
|
169
180
|
const shouldRenderAsGroup = hasChildren || createdObject.type === 'group' || createdObject.type === 'effect';
|
|
170
181
|
const renderedObject = shouldRenderAsGroup
|
|
171
182
|
? _jsx(GroupWithChildren, { createdObject: createdObject, children: children, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose, handleObjectClick: handleObjectClick, renderObject: renderObject })
|
|
172
|
-
: _jsx(CreatedObject, { createdObject: createdObject, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose, handleObjectClick: handleObjectClick, shouldApply3driseMaterial: !SELF_MANAGED_MATERIAL.has(createdObject.type), children: renderObject(createdObject) }, createdObject.id);
|
|
183
|
+
: _jsx(CreatedObject, { createdObject: createdObject, onObjectReady: onObjectReady, onObjectDispose: onObjectDispose, handleObjectClick: handleObjectClick, shouldApply3driseMaterial: !(SELF_MANAGED_MATERIAL.has(createdObject.type) || (createdObject.type === 'text' && isTextObjectConfig(createdObject.config))), children: renderObject(createdObject) }, createdObject.id);
|
|
173
184
|
// createdObject.effects
|
|
174
185
|
// ? <>
|
|
175
186
|
// {renderObject(createdObject)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectsRenderer.d.ts","sourceRoot":"","sources":["../../src/components/ObjectsRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ObjectsRenderer.d.ts","sourceRoot":"","sources":["../../src/components/ObjectsRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQ9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,UAAU,oBAAqB,SAAQ,gBAAgB;IACnD,cAAc,EAAE,WAAW,CAAC;IAC5B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1G,mEAAmE;IACnE,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACtC;AAGD,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAwFlD,CAAC;AAEH,eAAe,eAAe,CAAC"}
|