@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
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Triggerables: a single effect (an operation on its targets) and a saved effect clip.
|
|
2
|
+
// They run through the operations runtime exactly as before the engine.
|
|
3
|
+
import { getOperation } from '../../operations/registry.js';
|
|
4
|
+
import { isEffectClipOn, isEffectOn, runEffect, runEffectClip } from '../../operations/runtime.js';
|
|
5
|
+
import { defineTriggerable } from '../registry.js';
|
|
6
|
+
const ids = (targets) => (targets ?? []).filter(t => t && t !== 'self');
|
|
7
|
+
defineTriggerable({
|
|
8
|
+
kind: 'effect',
|
|
9
|
+
commands: ['trigger', 'apply', 'revert', 'toggle'],
|
|
10
|
+
timeline: 'state',
|
|
11
|
+
targets: (c) => ids(c.effect?.targets),
|
|
12
|
+
subject: (c) => c.effect?.operation ?? '',
|
|
13
|
+
// only operations that can be undone are "on" (a spin just plays)
|
|
14
|
+
claimKey: (c) => (c.effect?.id && getOperation(c.effect.operation)?.revert ? `effect:${c.effect.id}` : null),
|
|
15
|
+
isOn: (c, ctx) => isEffectOn(c.effect, ctx.self),
|
|
16
|
+
run: (c, ctx) => runEffect(c.effect, c.command, ctx.self),
|
|
17
|
+
});
|
|
18
|
+
defineTriggerable({
|
|
19
|
+
kind: 'effectClip',
|
|
20
|
+
commands: ['apply', 'revert', 'toggle'],
|
|
21
|
+
timeline: 'state',
|
|
22
|
+
targets: (c) => ids(c.use?.targets),
|
|
23
|
+
subject: (c) => c.use?.clip ?? '',
|
|
24
|
+
claimKey: (c) => (c.use?.id ? `effectClip:${c.use.id}` : null),
|
|
25
|
+
isOn: (c, ctx) => isEffectClipOn(c.use, ctx.self),
|
|
26
|
+
run: (c, ctx) => { runEffectClip(c.use, c.command, ctx.self); },
|
|
27
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/triggers/kinds/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,CAAC;AACnB,OAAO,UAAU,CAAC;AAClB,OAAO,cAAc,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SceneCommandKind, TriggerSource } from '@3driseai/3drise-core';
|
|
2
|
+
export type TriggerLogType = 'run' | 'queued' | 'waiting' | 'timeout' | 'claim' | 'release' | 'clash' | 'cycle' | 'refused' | 'unknown';
|
|
3
|
+
export interface TriggerLogEntry {
|
|
4
|
+
t: number;
|
|
5
|
+
type: TriggerLogType;
|
|
6
|
+
kind?: SceneCommandKind | string;
|
|
7
|
+
/** What it acted on (an action / clip / sequence id, an effect operation…). */
|
|
8
|
+
subject?: string;
|
|
9
|
+
source: TriggerSource;
|
|
10
|
+
/** The sources above it, outermost first. */
|
|
11
|
+
chain: TriggerSource[];
|
|
12
|
+
detail?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const describeSource: (s: TriggerSource) => string;
|
|
15
|
+
export declare function logTrigger(e: Omit<TriggerLogEntry, 't'>): void;
|
|
16
|
+
/** The recent entries (oldest first), optionally of some types. */
|
|
17
|
+
export declare function getTriggerLog(types?: TriggerLogType[]): TriggerLogEntry[];
|
|
18
|
+
export declare function clearTriggerLog(): void;
|
|
19
|
+
/** Subscribe to new entries. Returns the unsubscribe. */
|
|
20
|
+
export declare function onTriggerLog(listener: (e: TriggerLogEntry) => void): () => void;
|
|
21
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/triggers/log.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,MAAM,cAAc,GACpB,KAAK,GACL,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEhB,MAAM,WAAW,eAAe;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACjC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,6CAA6C;IAC7C,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,eAAO,MAAM,cAAc,GAAI,GAAG,aAAa,WAAwB,CAAC;AAQxE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,IAAI,CAU9D;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAEzE;AAED,wBAAgB,eAAe,IAAI,IAAI,CAAwB;AAE/D,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI,CAG/E"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const MAX = 500;
|
|
2
|
+
const entries = [];
|
|
3
|
+
const listeners = new Set();
|
|
4
|
+
const LOUD = new Set(['timeout', 'clash', 'cycle', 'refused', 'unknown']);
|
|
5
|
+
export const describeSource = (s) => `${s.host}:${s.id}`;
|
|
6
|
+
function debugOn() {
|
|
7
|
+
try {
|
|
8
|
+
return !!globalThis.__3driseTriggersDebug || (typeof localStorage !== 'undefined' && localStorage.getItem('3drise:triggers') === '1');
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function logTrigger(e) {
|
|
15
|
+
const entry = { t: Date.now(), ...e };
|
|
16
|
+
entries.push(entry);
|
|
17
|
+
if (entries.length > MAX)
|
|
18
|
+
entries.splice(0, entries.length - MAX);
|
|
19
|
+
if (LOUD.has(e.type) || debugOn()) {
|
|
20
|
+
const via = e.chain.length ? ` via ${e.chain.map(describeSource).join(' → ')}` : '';
|
|
21
|
+
const msg = `[3drise] triggers: ${e.type} ${e.kind ?? ''}${e.subject ? ` "${e.subject}"` : ''} from ${describeSource(e.source)}${via}${e.detail ? ` — ${e.detail}` : ''}`;
|
|
22
|
+
if (LOUD.has(e.type))
|
|
23
|
+
console.warn(msg);
|
|
24
|
+
else
|
|
25
|
+
console.info(msg);
|
|
26
|
+
}
|
|
27
|
+
for (const l of listeners) {
|
|
28
|
+
try {
|
|
29
|
+
l(entry);
|
|
30
|
+
}
|
|
31
|
+
catch { /* listener error */ }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** The recent entries (oldest first), optionally of some types. */
|
|
35
|
+
export function getTriggerLog(types) {
|
|
36
|
+
return types ? entries.filter(e => types.includes(e.type)) : entries.slice();
|
|
37
|
+
}
|
|
38
|
+
export function clearTriggerLog() { entries.length = 0; }
|
|
39
|
+
/** Subscribe to new entries. Returns the unsubscribe. */
|
|
40
|
+
export function onTriggerLog(listener) {
|
|
41
|
+
listeners.add(listener);
|
|
42
|
+
return () => { listeners.delete(listener); };
|
|
43
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type SceneReadinessStatus = 'idle' | 'loading' | 'ready';
|
|
2
|
+
declare class SceneReadiness {
|
|
3
|
+
private status;
|
|
4
|
+
private expected;
|
|
5
|
+
/** Reports arrive whenever a model lands — before begin() too, so they are kept. */
|
|
6
|
+
private loaded;
|
|
7
|
+
private failed;
|
|
8
|
+
private compile;
|
|
9
|
+
private waiters;
|
|
10
|
+
private listeners;
|
|
11
|
+
private timer;
|
|
12
|
+
private startedAt;
|
|
13
|
+
private finishing;
|
|
14
|
+
private generation;
|
|
15
|
+
getStatus(): SceneReadinessStatus;
|
|
16
|
+
/** True when nothing is gating (studio) or the scene is ready. */
|
|
17
|
+
isReady(): boolean;
|
|
18
|
+
/** A published scene starts: wait for these models, then compile, then one frame. */
|
|
19
|
+
begin(modelIds: string[], opts?: {
|
|
20
|
+
compile?: () => Promise<unknown>;
|
|
21
|
+
}): void;
|
|
22
|
+
/** A model's Object3D is in the scene. */
|
|
23
|
+
report(id: string): void;
|
|
24
|
+
/** A model failed to load — it will never report; don't wait for it. */
|
|
25
|
+
fail(id: string, reason?: unknown): void;
|
|
26
|
+
/** Run now if ready, else once the scene is ready. Returns a cancel. */
|
|
27
|
+
whenReady(fn: () => void): () => void;
|
|
28
|
+
subscribe: (listener: () => void) => (() => void);
|
|
29
|
+
/** The scene left the page: forget everything, gate open. */
|
|
30
|
+
reset(): void;
|
|
31
|
+
private check;
|
|
32
|
+
private finish;
|
|
33
|
+
private clearTimer;
|
|
34
|
+
private emit;
|
|
35
|
+
}
|
|
36
|
+
export declare const sceneReadiness: SceneReadiness;
|
|
37
|
+
/** True when the scene is ready (or nothing gates it, as in the studio). Re-renders on change. */
|
|
38
|
+
export declare function useSceneReady(): boolean;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/triggers/readiness.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAMhE,cAAM,cAAc;IAChB,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,QAAQ,CAAqB;IACrC,oFAAoF;IACpF,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,IAAI,oBAAoB;IACjC,kEAAkE;IAClE,OAAO,IAAI,OAAO;IAElB,qFAAqF;IACrF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAO,GAAG,IAAI;IAmBhF,0CAA0C;IAC1C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMxB,wEAAwE;IACxE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAOxC,wEAAwE;IACxE,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAMrC,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAG9C;IAEF,6DAA6D;IAC7D,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,KAAK;YAMC,MAAM;IA2BpB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,IAAI;CAGf;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC;AAEnD,kGAAkG;AAClG,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Scene readiness — nothing runs before the scene is ready.
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// A published scene (SceneBuilder) is READY when:
|
|
6
|
+
// 1. every model it holds has loaded (ModelPrimitive reports it) or failed (ModelBoundary), and
|
|
7
|
+
// 2. the scene's shaders are compiled (renderer.compileAsync), and
|
|
8
|
+
// 3. one frame has rendered.
|
|
9
|
+
// Only then do autoplay sequences start, object effects start, onSceneReady fires and the
|
|
10
|
+
// loading cover lifts. A model that never reports doesn't hold the scene forever: after
|
|
11
|
+
// TIMEOUT_MS it goes ready anyway and the missing ids are logged.
|
|
12
|
+
//
|
|
13
|
+
// Objects other than models mount in the same commit as the scene and are not waited on.
|
|
14
|
+
//
|
|
15
|
+
// The studio never calls begin(): its scene is live (objects come and go), so the gate
|
|
16
|
+
// stays open there ('idle' counts as ready). Targets that don't exist yet are the
|
|
17
|
+
// triggers engine's per-target wait (plan phase 2).
|
|
18
|
+
//
|
|
19
|
+
// One scene per page, like SceneStore.
|
|
20
|
+
//
|
|
21
|
+
import { useSyncExternalStore } from 'react';
|
|
22
|
+
const TIMEOUT_MS = 15000;
|
|
23
|
+
const COMPILE_TIMEOUT_MS = 5000;
|
|
24
|
+
const log = (...a) => console.info('[3drise] scene', ...a);
|
|
25
|
+
class SceneReadiness {
|
|
26
|
+
status = 'idle';
|
|
27
|
+
expected = new Set();
|
|
28
|
+
/** Reports arrive whenever a model lands — before begin() too, so they are kept. */
|
|
29
|
+
loaded = new Set();
|
|
30
|
+
failed = new Set();
|
|
31
|
+
compile = null;
|
|
32
|
+
waiters = [];
|
|
33
|
+
listeners = new Set();
|
|
34
|
+
timer = null;
|
|
35
|
+
startedAt = 0;
|
|
36
|
+
finishing = false;
|
|
37
|
+
generation = 0;
|
|
38
|
+
getStatus() { return this.status; }
|
|
39
|
+
/** True when nothing is gating (studio) or the scene is ready. */
|
|
40
|
+
isReady() { return this.status !== 'loading'; }
|
|
41
|
+
/** A published scene starts: wait for these models, then compile, then one frame. */
|
|
42
|
+
begin(modelIds, opts = {}) {
|
|
43
|
+
this.clearTimer();
|
|
44
|
+
this.generation++;
|
|
45
|
+
this.status = 'loading';
|
|
46
|
+
this.finishing = false;
|
|
47
|
+
this.expected = new Set(modelIds.filter(Boolean));
|
|
48
|
+
this.compile = opts.compile ?? null;
|
|
49
|
+
this.startedAt = performance.now();
|
|
50
|
+
this.emit();
|
|
51
|
+
const gen = this.generation;
|
|
52
|
+
this.timer = setTimeout(() => {
|
|
53
|
+
if (gen !== this.generation || this.status !== 'loading')
|
|
54
|
+
return;
|
|
55
|
+
const missing = [...this.expected].filter(id => !this.loaded.has(id) && !this.failed.has(id));
|
|
56
|
+
console.warn(`[3drise] scene: ${missing.length} model(s) never reported within ${TIMEOUT_MS / 1000}s — going ready without them`, missing);
|
|
57
|
+
void this.finish();
|
|
58
|
+
}, TIMEOUT_MS);
|
|
59
|
+
this.check();
|
|
60
|
+
}
|
|
61
|
+
/** A model's Object3D is in the scene. */
|
|
62
|
+
report(id) {
|
|
63
|
+
if (!id || this.loaded.has(id))
|
|
64
|
+
return;
|
|
65
|
+
this.loaded.add(id);
|
|
66
|
+
this.check();
|
|
67
|
+
}
|
|
68
|
+
/** A model failed to load — it will never report; don't wait for it. */
|
|
69
|
+
fail(id, reason) {
|
|
70
|
+
if (!id || this.failed.has(id))
|
|
71
|
+
return;
|
|
72
|
+
this.failed.add(id);
|
|
73
|
+
console.warn(`[3drise] scene: model ${id} failed to load — not waiting for it`, reason ?? '');
|
|
74
|
+
this.check();
|
|
75
|
+
}
|
|
76
|
+
/** Run now if ready, else once the scene is ready. Returns a cancel. */
|
|
77
|
+
whenReady(fn) {
|
|
78
|
+
if (this.isReady()) {
|
|
79
|
+
fn();
|
|
80
|
+
return () => { };
|
|
81
|
+
}
|
|
82
|
+
this.waiters.push(fn);
|
|
83
|
+
return () => { this.waiters = this.waiters.filter(w => w !== fn); };
|
|
84
|
+
}
|
|
85
|
+
subscribe = (listener) => {
|
|
86
|
+
this.listeners.add(listener);
|
|
87
|
+
return () => { this.listeners.delete(listener); };
|
|
88
|
+
};
|
|
89
|
+
/** The scene left the page: forget everything, gate open. */
|
|
90
|
+
reset() {
|
|
91
|
+
this.clearTimer();
|
|
92
|
+
this.generation++;
|
|
93
|
+
this.status = 'idle';
|
|
94
|
+
this.finishing = false;
|
|
95
|
+
this.expected.clear();
|
|
96
|
+
this.loaded.clear();
|
|
97
|
+
this.failed.clear();
|
|
98
|
+
this.compile = null;
|
|
99
|
+
this.waiters = [];
|
|
100
|
+
this.emit();
|
|
101
|
+
}
|
|
102
|
+
check() {
|
|
103
|
+
if (this.status !== 'loading' || this.finishing)
|
|
104
|
+
return;
|
|
105
|
+
for (const id of this.expected)
|
|
106
|
+
if (!this.loaded.has(id) && !this.failed.has(id))
|
|
107
|
+
return;
|
|
108
|
+
void this.finish();
|
|
109
|
+
}
|
|
110
|
+
async finish() {
|
|
111
|
+
if (this.finishing || this.status !== 'loading')
|
|
112
|
+
return;
|
|
113
|
+
this.finishing = true;
|
|
114
|
+
this.clearTimer();
|
|
115
|
+
const gen = this.generation;
|
|
116
|
+
const modelsAt = performance.now();
|
|
117
|
+
if (this.compile) {
|
|
118
|
+
try {
|
|
119
|
+
await Promise.race([this.compile(), new Promise(r => setTimeout(r, COMPILE_TIMEOUT_MS))]);
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
console.warn('[3drise] scene: shader compile failed, going on', e);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// one rendered frame, so what is shown is what runs
|
|
126
|
+
await new Promise(r => requestAnimationFrame(() => requestAnimationFrame(() => r())));
|
|
127
|
+
if (gen !== this.generation)
|
|
128
|
+
return; // reset / begun again meanwhile
|
|
129
|
+
this.status = 'ready';
|
|
130
|
+
const t = (n) => `${Math.round(n - this.startedAt)}ms`;
|
|
131
|
+
log(`ready in ${t(performance.now())} (models ${t(modelsAt)}, ${[...this.expected].filter(id => this.loaded.has(id)).length}/${this.expected.size} loaded${this.failed.size ? `, ${this.failed.size} failed` : ''})`);
|
|
132
|
+
this.emit();
|
|
133
|
+
const run = this.waiters;
|
|
134
|
+
this.waiters = [];
|
|
135
|
+
for (const w of run) {
|
|
136
|
+
try {
|
|
137
|
+
w();
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
console.error('[3drise] scene: a ready callback failed', e);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
clearTimer() {
|
|
145
|
+
if (this.timer)
|
|
146
|
+
clearTimeout(this.timer);
|
|
147
|
+
this.timer = null;
|
|
148
|
+
}
|
|
149
|
+
emit() {
|
|
150
|
+
for (const l of this.listeners)
|
|
151
|
+
l();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
export const sceneReadiness = new SceneReadiness();
|
|
155
|
+
/** True when the scene is ready (or nothing gates it, as in the studio). Re-renders on change. */
|
|
156
|
+
export function useSceneReady() {
|
|
157
|
+
return useSyncExternalStore(sceneReadiness.subscribe, () => sceneReadiness.isReady(), () => true);
|
|
158
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Object3D } from 'three';
|
|
2
|
+
import type { SceneCommand, SceneCommandKind, TriggerSource } from '@3driseai/3drise-core';
|
|
3
|
+
export interface TriggerContext {
|
|
4
|
+
source: TriggerSource;
|
|
5
|
+
/** The sources above this one, outermost first (what triggered what). */
|
|
6
|
+
chain: TriggerSource[];
|
|
7
|
+
/** The object an interaction is on ('self' in targets). */
|
|
8
|
+
self?: Object3D | null;
|
|
9
|
+
/** Action only: false = its patches without its effects (a sequence posed / scrubbed, the editor's preview). */
|
|
10
|
+
effects?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type CommandOf<K extends SceneCommandKind> = Extract<SceneCommand, {
|
|
13
|
+
kind: K;
|
|
14
|
+
}>;
|
|
15
|
+
export interface Triggerable<K extends SceneCommandKind = SceneCommandKind> {
|
|
16
|
+
kind: K;
|
|
17
|
+
/** Command verbs it accepts. */
|
|
18
|
+
commands: readonly string[];
|
|
19
|
+
/**
|
|
20
|
+
* As a cue on a timeline: 'state' — on / off at any moment (scrub-safe);
|
|
21
|
+
* 'event' — fires when the playhead moves forward across it.
|
|
22
|
+
*/
|
|
23
|
+
timeline: 'state' | 'event';
|
|
24
|
+
/** A timeline itself (clip / sequence): a timeline can't trigger one. */
|
|
25
|
+
isTimeline?: boolean;
|
|
26
|
+
/** Scene object ids it acts on ('self' excluded) — the engine waits for them to mount. */
|
|
27
|
+
targets?(cmd: CommandOf<K>): string[];
|
|
28
|
+
/** A short name of what it acts on, for the log. */
|
|
29
|
+
subject(cmd: CommandOf<K>): string;
|
|
30
|
+
/**
|
|
31
|
+
* Stateful kinds: the claim key and whether it is on now — the engine tracks who
|
|
32
|
+
* switched it on, to notice clashes. Event kinds leave it out.
|
|
33
|
+
*/
|
|
34
|
+
claimKey?(cmd: CommandOf<K>): string | null;
|
|
35
|
+
isOn?(cmd: CommandOf<K>, ctx: TriggerContext): boolean;
|
|
36
|
+
run(cmd: CommandOf<K>, ctx: TriggerContext): void;
|
|
37
|
+
}
|
|
38
|
+
export declare function defineTriggerable<K extends SceneCommandKind>(def: Triggerable<K>): Triggerable<K>;
|
|
39
|
+
export declare const getTriggerable: (kind: string) => Triggerable<any> | undefined;
|
|
40
|
+
export declare const triggerableKinds: () => string[];
|
|
41
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/triggers/registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3F,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,gHAAgH;IAChH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEvF,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IACtE,IAAI,EAAE,CAAC,CAAC;IACR,gCAAgC;IAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0FAA0F;IAC1F,OAAO,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;IACtC,oDAAoD;IACpD,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;IACvD,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;CACrD;AAID,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAGjG;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,WAAW,CAAC,GAAG,CAAC,GAAG,SAA4B,CAAC;AAC9F,eAAO,MAAM,gBAAgB,QAAO,MAAM,EAAuB,CAAC"}
|
|
@@ -38,8 +38,6 @@ export interface GridSurfaceConfig {
|
|
|
38
38
|
size: number;
|
|
39
39
|
/** plane subdivisions per side; auto-derived when omitted, bumped when `displace > 0` */
|
|
40
40
|
segments?: number;
|
|
41
|
-
/** lay flat on XZ (true) or stand upright on XY (false) */
|
|
42
|
-
flat: boolean;
|
|
43
41
|
/** base size of one tile in world units */
|
|
44
42
|
cellSize: number;
|
|
45
43
|
lineMode: GridLineMode;
|
|
@@ -64,8 +62,6 @@ export interface GridSurfaceConfig {
|
|
|
64
62
|
glowColor: string;
|
|
65
63
|
bgColor: string;
|
|
66
64
|
bgOpacity: number;
|
|
67
|
-
/** project the pointer onto the plane and feed it to the focus point */
|
|
68
|
-
followMouse: boolean;
|
|
69
65
|
/**
|
|
70
66
|
* 0..1 assemble amount. The build boundary sweeps outward from the focus
|
|
71
67
|
* point with a bright leading edge. Defaults to 1 (fully built); animate it
|
|
@@ -83,7 +79,7 @@ export interface GridSurfaceConfig {
|
|
|
83
79
|
* Honeycomb tiling. `cellSize` is the hex's flat-to-flat width, `sectionSize`
|
|
84
80
|
* groups hexes into super-hexes drawn in `sectionColor`.
|
|
85
81
|
*/
|
|
86
|
-
export interface HexGridConfig extends
|
|
82
|
+
export interface HexGridConfig extends GridSurfaceBaseConfig {
|
|
87
83
|
/**
|
|
88
84
|
* With `displace > 0`, each hex lifts to its own height instead of riding a
|
|
89
85
|
* smooth wave — a plated, tessellated-terrain look with vertical walls.
|
|
@@ -94,7 +90,7 @@ export interface HexGridConfig extends GridSurfaceConfig {
|
|
|
94
90
|
* Truchet circuit board. Each tile picks one of two arc rotations, so traces
|
|
95
91
|
* connect across tiles into long meandering paths.
|
|
96
92
|
*/
|
|
97
|
-
export interface CircuitGridConfig extends
|
|
93
|
+
export interface CircuitGridConfig extends GridSurfaceBaseConfig {
|
|
98
94
|
/** 0..1 — fraction of tiles that carry a powered trace */
|
|
99
95
|
powered: number;
|
|
100
96
|
/** 0..1 — fraction of tiles replaced by an IC package. 0 disables chips */
|
|
@@ -106,7 +102,7 @@ export interface CircuitGridConfig extends GridSurfaceConfig {
|
|
|
106
102
|
* Voronoi lattice — irregular cells that drift and morph. `cellSize` is the
|
|
107
103
|
* average cell width; `sectionColor`/`sectionWidth` draw the cell nuclei.
|
|
108
104
|
*/
|
|
109
|
-
export interface VoronoiGridConfig extends
|
|
105
|
+
export interface VoronoiGridConfig extends GridSurfaceBaseConfig {
|
|
110
106
|
/** 0 = regular square lattice, 1 = fully scattered seeds */
|
|
111
107
|
jitter: number;
|
|
112
108
|
/** how far the seeds wander over time; 0 freezes the lattice */
|
|
@@ -116,7 +112,7 @@ export interface VoronoiGridConfig extends GridSurfaceConfig {
|
|
|
116
112
|
* Polar HUD. `cellSize` is the ring spacing, `sectionSize` marks every Nth ring
|
|
117
113
|
* as a major ring, and the surface is masked to a disc of `fadeDistance`.
|
|
118
114
|
*/
|
|
119
|
-
export interface RadarGridConfig extends
|
|
115
|
+
export interface RadarGridConfig extends GridSurfaceBaseConfig {
|
|
120
116
|
/** number of radial spokes; 0 disables them */
|
|
121
117
|
spokes: number;
|
|
122
118
|
/** angular length of the sweep trail, as a fraction of a full turn; 0 disables the sweep */
|
|
@@ -129,7 +125,7 @@ export interface RadarGridConfig extends GridSurfaceConfig {
|
|
|
129
125
|
* pattern. `cellSize` is the base spacing; the second layer differs from the
|
|
130
126
|
* first by `layerAngle` and `layerScale`.
|
|
131
127
|
*/
|
|
132
|
-
export interface MoireGridConfig extends
|
|
128
|
+
export interface MoireGridConfig extends GridSurfaceBaseConfig {
|
|
133
129
|
/** lattice shape for both layers */
|
|
134
130
|
shape: 'square' | 'hex' | 'rings';
|
|
135
131
|
/** fixed angle between the two layers, in radians. Small values beat slowly */
|
|
@@ -144,7 +140,7 @@ export interface MoireGridConfig extends GridSurfaceConfig {
|
|
|
144
140
|
* where you are pointing and coarse at the edges. `cellSize` is the level-0
|
|
145
141
|
* cell; each level halves it.
|
|
146
142
|
*/
|
|
147
|
-
export interface FractalGridConfig extends
|
|
143
|
+
export interface FractalGridConfig extends GridSurfaceBaseConfig {
|
|
148
144
|
/** maximum subdivision levels, 1..6 */
|
|
149
145
|
depth: number;
|
|
150
146
|
/** radius around the focus, in level-0 cells, inside which cells subdivide */
|
|
@@ -159,7 +155,7 @@ export interface FractalGridConfig extends GridSurfaceConfig {
|
|
|
159
155
|
* `displace` is literal here rather than decorative: the vertex stage raises
|
|
160
156
|
* the surface to exactly the elevation the contours describe.
|
|
161
157
|
*/
|
|
162
|
-
export interface ContourGridConfig extends
|
|
158
|
+
export interface ContourGridConfig extends GridSurfaceBaseConfig {
|
|
163
159
|
/** number of contour steps across the full height range */
|
|
164
160
|
levels: number;
|
|
165
161
|
/** fbm gain — 0.35 rolling, 0.65 craggy */
|
|
@@ -172,7 +168,7 @@ export interface ContourGridConfig extends GridSurfaceConfig {
|
|
|
172
168
|
* The intersections never repeat, so the pattern never tiles back on itself
|
|
173
169
|
* however far the camera travels.
|
|
174
170
|
*/
|
|
175
|
-
export interface QuasiGridConfig extends
|
|
171
|
+
export interface QuasiGridConfig extends GridSurfaceBaseConfig {
|
|
176
172
|
/**
|
|
177
173
|
* How many line families, 3..9. 5 is Penrose. 4 and 6 divide the half-turn
|
|
178
174
|
* evenly and so come out periodic; everything else is quasiperiodic.
|
|
@@ -185,7 +181,7 @@ export interface QuasiGridConfig extends GridSurfaceConfig {
|
|
|
185
181
|
* Potential flow past a cylinder, drawn as a flow net. `cellSize` is the net
|
|
186
182
|
* spacing; the cylinder sits at the focus point, so `followMouse` drags it.
|
|
187
183
|
*/
|
|
188
|
-
export interface FlowNetGridConfig extends
|
|
184
|
+
export interface FlowNetGridConfig extends GridSurfaceBaseConfig {
|
|
189
185
|
/** cylinder radius, in cells */
|
|
190
186
|
obstacleRadius: number;
|
|
191
187
|
/** circulation around the cylinder, in whole units; shifts the flow to one side (lift) */
|
|
@@ -198,7 +194,7 @@ export interface FlowNetGridConfig extends GridSurfaceConfig {
|
|
|
198
194
|
* the size of one plate; `sectionSize` plates make one outlined group.
|
|
199
195
|
* `displace` vibrates the plate with the wave itself.
|
|
200
196
|
*/
|
|
201
|
-
export interface ChladniGridConfig extends
|
|
197
|
+
export interface ChladniGridConfig extends GridSurfaceBaseConfig {
|
|
202
198
|
/** first mode number of the standing wave, 1..12 */
|
|
203
199
|
modeN: number;
|
|
204
200
|
/** second mode number of the standing wave, 1..12 */
|
|
@@ -213,7 +209,7 @@ export interface ChladniGridConfig extends GridSurfaceConfig {
|
|
|
213
209
|
* units; `lineWidth` / `sectionWidth` are hyperbolic widths, so edges thin
|
|
214
210
|
* toward the rim; every `sectionSize`-th generation of polygons is accented.
|
|
215
211
|
*/
|
|
216
|
-
export interface HyperbolicGridConfig extends
|
|
212
|
+
export interface HyperbolicGridConfig extends GridSurfaceBaseConfig {
|
|
217
213
|
/** sides of each polygon (p), 3..12 */
|
|
218
214
|
sides: number;
|
|
219
215
|
/** polygons around each vertex (q), 3..12; raised until (p-2)(q-2) > 4 */
|
|
@@ -223,7 +219,7 @@ export interface HyperbolicGridConfig extends GridSurfaceConfig {
|
|
|
223
219
|
}
|
|
224
220
|
/** Every grid config this package can render, tagged by `type`. */
|
|
225
221
|
/** A spacetime lattice around a binary black-hole inspiral. The Newtonian wells pinch the lines, and quadrupole waves, evaluated at the retarded time, spiral outward and chirp toward the merger before the remnant rings down. */
|
|
226
|
-
export interface GravWaveGridConfig extends
|
|
222
|
+
export interface GravWaveGridConfig extends GridSurfaceBaseConfig {
|
|
227
223
|
/** wave amplitude multiplier; 0 leaves only the static wells */
|
|
228
224
|
strain: number;
|
|
229
225
|
/** seconds per inspiral-merger-ringdown cycle (clamped to at least 4 in the shader) */
|
|
@@ -234,7 +230,7 @@ export interface GravWaveGridConfig extends GridSurfaceConfig {
|
|
|
234
230
|
massRatio: number;
|
|
235
231
|
}
|
|
236
232
|
/** An Islamic star pattern drawn by Hankin polygons-in-contact. One ray per dihedral sector, from the edge midpoint to the sector bisector, generates the whole interlaced star-and-rosette strapwork over an octagon-square, hexagonal or trihexagonal tiling. */
|
|
237
|
-
export interface GirihGridConfig extends
|
|
233
|
+
export interface GirihGridConfig extends GridSurfaceBaseConfig {
|
|
238
234
|
/** base tiling: 0 = 4.8.8, 1 = regular hexagons, 2 = 3.6.3.6 (trihexagonal) */
|
|
239
235
|
tiling: number;
|
|
240
236
|
/** Hankin contact angle in degrees (20..85); 67.5 is the classic 8-point star */
|
|
@@ -245,7 +241,7 @@ export interface GirihGridConfig extends GridSurfaceConfig {
|
|
|
245
241
|
angleDrift: number;
|
|
246
242
|
}
|
|
247
243
|
/** Wallpaper-group kaleidoscope: a drifting lattice-periodic Fourier motif summed over the coset representatives of one of the 17 plane crystallographic groups. The runtime builds the group tables and crossfades from group to group. */
|
|
248
|
-
export interface WallpaperGridConfig extends
|
|
244
|
+
export interface WallpaperGridConfig extends GridSurfaceBaseConfig {
|
|
249
245
|
/** Wallpaper group index (-1 cycles), read by the runtime */
|
|
250
246
|
group: number;
|
|
251
247
|
/** Seconds per group while cycling, read by the runtime */
|
|
@@ -256,7 +252,7 @@ export interface WallpaperGridConfig extends GridSurfaceConfig {
|
|
|
256
252
|
levels: number;
|
|
257
253
|
}
|
|
258
254
|
/** A Gray-Scott reaction-diffusion field simulated on the GPU and sampled by the plane: coral, labyrinths and dividing spots grow, merge and keep evolving, wrapped seamlessly as a torus. */
|
|
259
|
-
export interface ReactionDiffusionGridConfig extends
|
|
255
|
+
export interface ReactionDiffusionGridConfig extends GridSurfaceBaseConfig {
|
|
260
256
|
/** Gray-Scott feed rate F. */
|
|
261
257
|
feed: number;
|
|
262
258
|
/** Gray-Scott kill rate k. */
|
|
@@ -266,6 +262,94 @@ export interface ReactionDiffusionGridConfig extends GridSurfaceConfig {
|
|
|
266
262
|
/** Cells covered by one simulation tile before it repeats. */
|
|
267
263
|
tileCells: number;
|
|
268
264
|
}
|
|
265
|
+
/**
|
|
266
|
+
* Every grid lies flat (orientation is the parent object's transform) and leaves
|
|
267
|
+
* pointer behaviour to the Pointer tab, so the shared surface is the whole base.
|
|
268
|
+
*/
|
|
269
|
+
export type GridSurfaceBaseConfig = GridSurfaceConfig;
|
|
270
|
+
/** 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. */
|
|
271
|
+
export interface LensingGridConfig extends GridSurfaceBaseConfig {
|
|
272
|
+
/** Einstein radius of the lens, in cells; 0 leaves the lattice undistorted */
|
|
273
|
+
mass: number;
|
|
274
|
+
/** Radius the lens circles the centre on, in cells; 0 holds it at the centre */
|
|
275
|
+
orbit: number;
|
|
276
|
+
/** Brightness of the Einstein ring and its halo */
|
|
277
|
+
ringGlow: number;
|
|
278
|
+
}
|
|
279
|
+
/** 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. */
|
|
280
|
+
export interface ConformalGridConfig extends GridSurfaceBaseConfig {
|
|
281
|
+
/** The flow: 0 source + sink, 1 spiral vortex, 2 spinning cylinder, 3 corner */
|
|
282
|
+
flowMap: number;
|
|
283
|
+
/** Distance from the centre to the poles, or the cylinder radius, in world units */
|
|
284
|
+
poleSpread: number;
|
|
285
|
+
/** Lattice lines per turn round a pole (whole number, so the log seam closes) */
|
|
286
|
+
spokes: number;
|
|
287
|
+
/** Spiral arms of the vortex flow; 0 gives a plain polar web */
|
|
288
|
+
arms: number;
|
|
289
|
+
/** Circulation round the cylinder (lift); at ±2 both stagnation points meet */
|
|
290
|
+
circulation: number;
|
|
291
|
+
/** How fast the lattice streams along the flow; negative reverses it */
|
|
292
|
+
drift: number;
|
|
293
|
+
/** Strength of the speed-coloured stream-tube fill */
|
|
294
|
+
fill: number;
|
|
295
|
+
/** Brightness of the dashes carried along the streamlines */
|
|
296
|
+
dye: number;
|
|
297
|
+
}
|
|
298
|
+
/** Smith quarter-circle Truchet tiles: arcs always meet arcs, so the plane fills with endless two-coloured loops. Tiles re-deal by turning a quarter turn, and comets travel the loops in one direction. */
|
|
299
|
+
export interface TruchetGridConfig extends GridSurfaceBaseConfig {
|
|
300
|
+
/** Chance a tile re-deals its orientation each epoch; 0 freezes the paths */
|
|
301
|
+
flip: number;
|
|
302
|
+
/** Balance of the two tile orientations: 0.5 is a maze, the ends are stripes */
|
|
303
|
+
bias: number;
|
|
304
|
+
/** Brightness of the comets travelling the loops */
|
|
305
|
+
pulse: number;
|
|
306
|
+
/** Fill of one colour of the two-colouring */
|
|
307
|
+
regionFill: number;
|
|
308
|
+
}
|
|
309
|
+
/** Vogel's sunflower: florets at the golden angle, each a lit dome coloured by age and carrying a mark aligned to the head's radius. Bloom rings travel from the rim to the centre and open the marks; the head itself never turns. */
|
|
310
|
+
export interface PhyllotaxisGridConfig extends GridSurfaceBaseConfig {
|
|
311
|
+
/** Angle between successive seeds, degrees; 137.508 is the golden angle */
|
|
312
|
+
divergence: number;
|
|
313
|
+
/** Speed of the bloom rings travelling rim to centre; negative reverses them */
|
|
314
|
+
bloomRate: number;
|
|
315
|
+
/** Depth of the lit dome on each floret */
|
|
316
|
+
relief: number;
|
|
317
|
+
/** The mark each floret carries (0 draws only the domes) */
|
|
318
|
+
shape: number;
|
|
319
|
+
/** Size of the mark relative to its floret */
|
|
320
|
+
shapeSize: number;
|
|
321
|
+
/** Brightness of the marks */
|
|
322
|
+
shapeGlow: number;
|
|
323
|
+
}
|
|
324
|
+
/** The sunflower's crossed Fibonacci spiral families as a grid of their own: sectionSize spirals one way, sectionSize/φ the other, every crossing a seed, and the difference family cutting each cell into triangles. Light runs inward along the spirals. */
|
|
325
|
+
export interface ParastichyGridConfig extends GridSurfaceBaseConfig {
|
|
326
|
+
/** Angle between successive seeds, degrees; 137.508 is the golden angle */
|
|
327
|
+
divergence: number;
|
|
328
|
+
/** Weight of the third spiral family that splits cells into triangles */
|
|
329
|
+
third: number;
|
|
330
|
+
/** Brightness of the light running inward along the spirals */
|
|
331
|
+
sap: number;
|
|
332
|
+
/** Strength of the faceted cell fill */
|
|
333
|
+
fill: number;
|
|
334
|
+
}
|
|
335
|
+
/** 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. */
|
|
336
|
+
export interface ApollonianGridConfig extends GridSurfaceBaseConfig {
|
|
337
|
+
/** Inversion levels: how deep the packing nests */
|
|
338
|
+
depth: number;
|
|
339
|
+
/** Strength of the Möbius flow that re-balances the packing; 0 holds it symmetric */
|
|
340
|
+
morph: number;
|
|
341
|
+
}
|
|
342
|
+
/** A closed Moore curve — four Hilbert curves joined into one loop — threads every cell once while keeping neighbours on the line neighbours on the plane. Signals with exponential trails circulate along it; the accent is the same curve one level coarser. */
|
|
343
|
+
export interface HilbertGridConfig extends GridSurfaceBaseConfig {
|
|
344
|
+
/** Curve order: the loop covers 2^order cells per side */
|
|
345
|
+
order: number;
|
|
346
|
+
/** Signals circulating round the loop */
|
|
347
|
+
signals: number;
|
|
348
|
+
/** Length of each signal trail, in cells */
|
|
349
|
+
trail: number;
|
|
350
|
+
/** Signal speed, in cells per second */
|
|
351
|
+
signalSpeed: number;
|
|
352
|
+
}
|
|
269
353
|
export type AnyGridConfig = (HexGridConfig & {
|
|
270
354
|
type: 'hexGrid';
|
|
271
355
|
}) | (CircuitGridConfig & {
|
|
@@ -296,5 +380,19 @@ export type AnyGridConfig = (HexGridConfig & {
|
|
|
296
380
|
type: 'wallpaperGrid';
|
|
297
381
|
}) | (ReactionDiffusionGridConfig & {
|
|
298
382
|
type: 'reactionDiffusionGrid';
|
|
383
|
+
}) | (LensingGridConfig & {
|
|
384
|
+
type: 'lensingGrid';
|
|
385
|
+
}) | (ConformalGridConfig & {
|
|
386
|
+
type: 'conformalGrid';
|
|
387
|
+
}) | (TruchetGridConfig & {
|
|
388
|
+
type: 'truchetGrid';
|
|
389
|
+
}) | (PhyllotaxisGridConfig & {
|
|
390
|
+
type: 'phyllotaxisGrid';
|
|
391
|
+
}) | (ParastichyGridConfig & {
|
|
392
|
+
type: 'parastichyGrid';
|
|
393
|
+
}) | (ApollonianGridConfig & {
|
|
394
|
+
type: 'apollonianGrid';
|
|
395
|
+
}) | (HilbertGridConfig & {
|
|
396
|
+
type: 'hilbertGrid';
|
|
299
397
|
});
|
|
300
398
|
//# sourceMappingURL=gridConfigs.d.ts.map
|