@3driseai/3drise-viewer 0.1.41 → 0.1.43

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.
Files changed (414) hide show
  1. package/dist/animationsV2/ClipsRuntime.d.ts +16 -1
  2. package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
  3. package/dist/animationsV2/ClipsRuntime.js +144 -25
  4. package/dist/animationsV2/appliers.d.ts +9 -0
  5. package/dist/animationsV2/appliers.d.ts.map +1 -1
  6. package/dist/animationsV2/appliers.js +62 -2
  7. package/dist/animationsV2/clipUtils.d.ts +30 -0
  8. package/dist/animationsV2/clipUtils.d.ts.map +1 -1
  9. package/dist/animationsV2/clipUtils.js +163 -17
  10. package/dist/animationsV2/elementSettings.d.ts +5 -0
  11. package/dist/animationsV2/elementSettings.d.ts.map +1 -1
  12. package/dist/animationsV2/elementSettings.js +6 -3
  13. package/dist/animationsV2/sequenceUtils.js +4 -4
  14. package/dist/animationsV2/types.d.ts +23 -0
  15. package/dist/animationsV2/types.d.ts.map +1 -1
  16. package/dist/api/sceneHandle.js +2 -2
  17. package/dist/components/CreatedObject.d.ts +3 -0
  18. package/dist/components/CreatedObject.d.ts.map +1 -1
  19. package/dist/components/CreatedObject.js +6 -2
  20. package/dist/components/CustomPrimitive.d.ts.map +1 -1
  21. package/dist/components/CustomPrimitive.js +1 -10
  22. package/dist/components/EnvironmentManager.d.ts.map +1 -1
  23. package/dist/components/EnvironmentManager.js +11 -5
  24. package/dist/components/GeometryShape.d.ts +5 -2
  25. package/dist/components/GeometryShape.d.ts.map +1 -1
  26. package/dist/components/GeometryShape.js +71 -10
  27. package/dist/components/LandObject.d.ts.map +1 -1
  28. package/dist/components/LandObject.js +1 -1
  29. package/dist/components/LayoutInstances.d.ts +2 -1
  30. package/dist/components/LayoutInstances.d.ts.map +1 -1
  31. package/dist/components/LayoutInstances.js +39 -6
  32. package/dist/components/LightObject.d.ts.map +1 -1
  33. package/dist/components/LightObject.js +3 -0
  34. package/dist/components/ObjectNode.d.ts.map +1 -1
  35. package/dist/components/ObjectNode.js +62 -13
  36. package/dist/components/OceanBuilder.d.ts +2 -0
  37. package/dist/components/OceanBuilder.d.ts.map +1 -1
  38. package/dist/components/OceanBuilder.js +2 -1
  39. package/dist/components/RenderEffects.d.ts +8 -0
  40. package/dist/components/RenderEffects.d.ts.map +1 -0
  41. package/dist/components/RenderEffects.js +120 -0
  42. package/dist/components/SceneBuilder.d.ts.map +1 -1
  43. package/dist/components/SceneBuilder.js +18 -9
  44. package/dist/components/SportsObject.d.ts +9 -0
  45. package/dist/components/SportsObject.d.ts.map +1 -0
  46. package/dist/components/SportsObject.js +20 -0
  47. package/dist/components/UrbanObject.d.ts +9 -0
  48. package/dist/components/UrbanObject.d.ts.map +1 -0
  49. package/dist/components/UrbanObject.js +28 -0
  50. package/dist/components/VegetationObject.d.ts +9 -0
  51. package/dist/components/VegetationObject.d.ts.map +1 -0
  52. package/dist/components/VegetationObject.js +26 -0
  53. package/dist/components/WaterObject.d.ts +15 -0
  54. package/dist/components/WaterObject.d.ts.map +1 -0
  55. package/dist/components/WaterObject.js +29 -0
  56. package/dist/components/index.d.ts +7 -2
  57. package/dist/components/index.d.ts.map +1 -1
  58. package/dist/components/index.js +6 -1
  59. package/dist/components/land/LandPatch.d.ts +3 -1
  60. package/dist/components/land/LandPatch.d.ts.map +1 -1
  61. package/dist/components/land/LandPatch.js +80 -7
  62. package/dist/components/layout/InstancedLayout.d.ts +19 -0
  63. package/dist/components/layout/InstancedLayout.d.ts.map +1 -0
  64. package/dist/components/layout/InstancedLayout.js +154 -0
  65. package/dist/components/layout/LayoutGrounds.d.ts +19 -0
  66. package/dist/components/layout/LayoutGrounds.d.ts.map +1 -0
  67. package/dist/components/layout/LayoutGrounds.js +104 -0
  68. package/dist/components/layout/LinkProxies.d.ts +5 -0
  69. package/dist/components/layout/LinkProxies.d.ts.map +1 -0
  70. package/dist/components/layout/LinkProxies.js +51 -0
  71. package/dist/components/layout/LinkedSource.d.ts +14 -0
  72. package/dist/components/layout/LinkedSource.d.ts.map +1 -0
  73. package/dist/components/layout/LinkedSource.js +129 -0
  74. package/dist/components/projector/Projector.d.ts +14 -0
  75. package/dist/components/projector/Projector.d.ts.map +1 -0
  76. package/dist/components/projector/Projector.js +44 -0
  77. package/dist/components/projector/index.d.ts +4 -0
  78. package/dist/components/projector/index.d.ts.map +1 -0
  79. package/dist/components/projector/index.js +2 -0
  80. package/dist/components/projector/projectorCore.d.ts +19 -0
  81. package/dist/components/projector/projectorCore.d.ts.map +1 -0
  82. package/dist/components/projector/projectorCore.js +545 -0
  83. package/dist/components/sports/SportsBall.d.ts +9 -0
  84. package/dist/components/sports/SportsBall.d.ts.map +1 -0
  85. package/dist/components/sports/SportsBall.js +23 -0
  86. package/dist/components/sports/SportsCourt.d.ts +9 -0
  87. package/dist/components/sports/SportsCourt.d.ts.map +1 -0
  88. package/dist/components/sports/SportsCourt.js +23 -0
  89. package/dist/components/sports/SportsEquipment.d.ts +9 -0
  90. package/dist/components/sports/SportsEquipment.d.ts.map +1 -0
  91. package/dist/components/sports/SportsEquipment.js +23 -0
  92. package/dist/components/sports/SportsGoal.d.ts +9 -0
  93. package/dist/components/sports/SportsGoal.d.ts.map +1 -0
  94. package/dist/components/sports/SportsGoal.js +23 -0
  95. package/dist/components/sports/core/ball.d.ts +166 -0
  96. package/dist/components/sports/core/ball.d.ts.map +1 -0
  97. package/dist/components/sports/core/ball.js +402 -0
  98. package/dist/components/sports/core/court.d.ts +442 -0
  99. package/dist/components/sports/core/court.d.ts.map +1 -0
  100. package/dist/components/sports/core/court.js +658 -0
  101. package/dist/components/sports/core/equipment.d.ts +103 -0
  102. package/dist/components/sports/core/equipment.d.ts.map +1 -0
  103. package/dist/components/sports/core/equipment.js +403 -0
  104. package/dist/components/sports/core/goal.d.ts +98 -0
  105. package/dist/components/sports/core/goal.d.ts.map +1 -0
  106. package/dist/components/sports/core/goal.js +44 -0
  107. package/dist/components/sports/index.d.ts +11 -0
  108. package/dist/components/sports/index.d.ts.map +1 -0
  109. package/dist/components/sports/index.js +8 -0
  110. package/dist/components/sports/sportsCore.d.ts +195 -0
  111. package/dist/components/sports/sportsCore.d.ts.map +1 -0
  112. package/dist/components/sports/sportsCore.js +758 -0
  113. package/dist/components/sports/useSportsInstance.d.ts +35 -0
  114. package/dist/components/sports/useSportsInstance.d.ts.map +1 -0
  115. package/dist/components/sports/useSportsInstance.js +47 -0
  116. package/dist/components/terrain/TerrainSurface.d.ts.map +1 -1
  117. package/dist/components/terrain/TerrainSurface.js +14 -0
  118. package/dist/components/urban/UrbanBlock.d.ts +9 -0
  119. package/dist/components/urban/UrbanBlock.d.ts.map +1 -0
  120. package/dist/components/urban/UrbanBlock.js +23 -0
  121. package/dist/components/urban/UrbanBuilding.d.ts +9 -0
  122. package/dist/components/urban/UrbanBuilding.d.ts.map +1 -0
  123. package/dist/components/urban/UrbanBuilding.js +23 -0
  124. package/dist/components/urban/UrbanJunction.d.ts +9 -0
  125. package/dist/components/urban/UrbanJunction.d.ts.map +1 -0
  126. package/dist/components/urban/UrbanJunction.js +23 -0
  127. package/dist/components/urban/UrbanPark.d.ts +9 -0
  128. package/dist/components/urban/UrbanPark.d.ts.map +1 -0
  129. package/dist/components/urban/UrbanPark.js +23 -0
  130. package/dist/components/urban/UrbanParkingLot.d.ts +9 -0
  131. package/dist/components/urban/UrbanParkingLot.d.ts.map +1 -0
  132. package/dist/components/urban/UrbanParkingLot.js +23 -0
  133. package/dist/components/urban/UrbanPlaza.d.ts +9 -0
  134. package/dist/components/urban/UrbanPlaza.d.ts.map +1 -0
  135. package/dist/components/urban/UrbanPlaza.js +23 -0
  136. package/dist/components/urban/UrbanRoad.d.ts +9 -0
  137. package/dist/components/urban/UrbanRoad.d.ts.map +1 -0
  138. package/dist/components/urban/UrbanRoad.js +23 -0
  139. package/dist/components/urban/UrbanSignage.d.ts +9 -0
  140. package/dist/components/urban/UrbanSignage.d.ts.map +1 -0
  141. package/dist/components/urban/UrbanSignage.js +23 -0
  142. package/dist/components/urban/UrbanSkyline.d.ts +9 -0
  143. package/dist/components/urban/UrbanSkyline.d.ts.map +1 -0
  144. package/dist/components/urban/UrbanSkyline.js +23 -0
  145. package/dist/components/urban/UrbanStreetFurniture.d.ts +9 -0
  146. package/dist/components/urban/UrbanStreetFurniture.d.ts.map +1 -0
  147. package/dist/components/urban/UrbanStreetFurniture.js +23 -0
  148. package/dist/components/urban/UrbanStreetGrid.d.ts +9 -0
  149. package/dist/components/urban/UrbanStreetGrid.d.ts.map +1 -0
  150. package/dist/components/urban/UrbanStreetGrid.js +34 -0
  151. package/dist/components/urban/UrbanTraffic.d.ts +9 -0
  152. package/dist/components/urban/UrbanTraffic.d.ts.map +1 -0
  153. package/dist/components/urban/UrbanTraffic.js +23 -0
  154. package/dist/components/urban/core/block.d.ts +119 -0
  155. package/dist/components/urban/core/block.d.ts.map +1 -0
  156. package/dist/components/urban/core/block.js +266 -0
  157. package/dist/components/urban/core/building.d.ts +128 -0
  158. package/dist/components/urban/core/building.d.ts.map +1 -0
  159. package/dist/components/urban/core/building.js +741 -0
  160. package/dist/components/urban/core/junction.d.ts +152 -0
  161. package/dist/components/urban/core/junction.d.ts.map +1 -0
  162. package/dist/components/urban/core/junction.js +617 -0
  163. package/dist/components/urban/core/park.d.ts +67 -0
  164. package/dist/components/urban/core/park.d.ts.map +1 -0
  165. package/dist/components/urban/core/park.js +176 -0
  166. package/dist/components/urban/core/parkingLot.d.ts +82 -0
  167. package/dist/components/urban/core/parkingLot.d.ts.map +1 -0
  168. package/dist/components/urban/core/parkingLot.js +284 -0
  169. package/dist/components/urban/core/plaza.d.ts +24 -0
  170. package/dist/components/urban/core/plaza.d.ts.map +1 -0
  171. package/dist/components/urban/core/plaza.js +243 -0
  172. package/dist/components/urban/core/road.d.ts +113 -0
  173. package/dist/components/urban/core/road.d.ts.map +1 -0
  174. package/dist/components/urban/core/road.js +347 -0
  175. package/dist/components/urban/core/signage.d.ts +83 -0
  176. package/dist/components/urban/core/signage.d.ts.map +1 -0
  177. package/dist/components/urban/core/signage.js +209 -0
  178. package/dist/components/urban/core/skyline.d.ts +100 -0
  179. package/dist/components/urban/core/skyline.d.ts.map +1 -0
  180. package/dist/components/urban/core/skyline.js +89 -0
  181. package/dist/components/urban/core/streetFurniture.d.ts +75 -0
  182. package/dist/components/urban/core/streetFurniture.d.ts.map +1 -0
  183. package/dist/components/urban/core/streetFurniture.js +193 -0
  184. package/dist/components/urban/core/streetGrid.d.ts +134 -0
  185. package/dist/components/urban/core/streetGrid.d.ts.map +1 -0
  186. package/dist/components/urban/core/streetGrid.js +422 -0
  187. package/dist/components/urban/core/traffic.d.ts +125 -0
  188. package/dist/components/urban/core/traffic.d.ts.map +1 -0
  189. package/dist/components/urban/core/traffic.js +305 -0
  190. package/dist/components/urban/index.d.ts +29 -0
  191. package/dist/components/urban/index.d.ts.map +1 -0
  192. package/dist/components/urban/index.js +16 -0
  193. package/dist/components/urban/textureSetResolver.d.ts +8 -0
  194. package/dist/components/urban/textureSetResolver.d.ts.map +1 -0
  195. package/dist/components/urban/textureSetResolver.js +16 -0
  196. package/dist/components/urban/urbanCore.d.ts +262 -0
  197. package/dist/components/urban/urbanCore.d.ts.map +1 -0
  198. package/dist/components/urban/urbanCore.js +928 -0
  199. package/dist/components/urban/useUrbanInstance.d.ts +53 -0
  200. package/dist/components/urban/useUrbanInstance.d.ts.map +1 -0
  201. package/dist/components/urban/useUrbanInstance.js +100 -0
  202. package/dist/components/vegetation/VegetationBush.d.ts +9 -0
  203. package/dist/components/vegetation/VegetationBush.d.ts.map +1 -0
  204. package/dist/components/vegetation/VegetationBush.js +23 -0
  205. package/dist/components/vegetation/VegetationCrops.d.ts +9 -0
  206. package/dist/components/vegetation/VegetationCrops.d.ts.map +1 -0
  207. package/dist/components/vegetation/VegetationCrops.js +23 -0
  208. package/dist/components/vegetation/VegetationFlowers.d.ts +9 -0
  209. package/dist/components/vegetation/VegetationFlowers.d.ts.map +1 -0
  210. package/dist/components/vegetation/VegetationFlowers.js +23 -0
  211. package/dist/components/vegetation/VegetationForest.d.ts +9 -0
  212. package/dist/components/vegetation/VegetationForest.d.ts.map +1 -0
  213. package/dist/components/vegetation/VegetationForest.js +23 -0
  214. package/dist/components/vegetation/VegetationFruit.d.ts +9 -0
  215. package/dist/components/vegetation/VegetationFruit.d.ts.map +1 -0
  216. package/dist/components/vegetation/VegetationFruit.js +23 -0
  217. package/dist/components/vegetation/VegetationGrass.d.ts +9 -0
  218. package/dist/components/vegetation/VegetationGrass.d.ts.map +1 -0
  219. package/dist/components/vegetation/VegetationGrass.js +23 -0
  220. package/dist/components/vegetation/VegetationHedge.d.ts +9 -0
  221. package/dist/components/vegetation/VegetationHedge.d.ts.map +1 -0
  222. package/dist/components/vegetation/VegetationHedge.js +23 -0
  223. package/dist/components/vegetation/VegetationIvy.d.ts +9 -0
  224. package/dist/components/vegetation/VegetationIvy.d.ts.map +1 -0
  225. package/dist/components/vegetation/VegetationIvy.js +23 -0
  226. package/dist/components/vegetation/VegetationTree.d.ts +9 -0
  227. package/dist/components/vegetation/VegetationTree.d.ts.map +1 -0
  228. package/dist/components/vegetation/VegetationTree.js +23 -0
  229. package/dist/components/vegetation/VegetationVegetable.d.ts +9 -0
  230. package/dist/components/vegetation/VegetationVegetable.d.ts.map +1 -0
  231. package/dist/components/vegetation/VegetationVegetable.js +23 -0
  232. package/dist/components/vegetation/core/bush.d.ts +1256 -0
  233. package/dist/components/vegetation/core/bush.d.ts.map +1 -0
  234. package/dist/components/vegetation/core/bush.js +376 -0
  235. package/dist/components/vegetation/core/crops.d.ts +1033 -0
  236. package/dist/components/vegetation/core/crops.d.ts.map +1 -0
  237. package/dist/components/vegetation/core/crops.js +378 -0
  238. package/dist/components/vegetation/core/flowers.d.ts +648 -0
  239. package/dist/components/vegetation/core/flowers.d.ts.map +1 -0
  240. package/dist/components/vegetation/core/flowers.js +225 -0
  241. package/dist/components/vegetation/core/forest.d.ts +138 -0
  242. package/dist/components/vegetation/core/forest.d.ts.map +1 -0
  243. package/dist/components/vegetation/core/forest.js +310 -0
  244. package/dist/components/vegetation/core/fruit.d.ts +99 -0
  245. package/dist/components/vegetation/core/fruit.d.ts.map +1 -0
  246. package/dist/components/vegetation/core/fruit.js +77 -0
  247. package/dist/components/vegetation/core/grass.d.ts +103 -0
  248. package/dist/components/vegetation/core/grass.d.ts.map +1 -0
  249. package/dist/components/vegetation/core/grass.js +102 -0
  250. package/dist/components/vegetation/core/hedge.d.ts +193 -0
  251. package/dist/components/vegetation/core/hedge.d.ts.map +1 -0
  252. package/dist/components/vegetation/core/hedge.js +243 -0
  253. package/dist/components/vegetation/core/ivy.d.ts +213 -0
  254. package/dist/components/vegetation/core/ivy.d.ts.map +1 -0
  255. package/dist/components/vegetation/core/ivy.js +173 -0
  256. package/dist/components/vegetation/core/tree.d.ts +1117 -0
  257. package/dist/components/vegetation/core/tree.d.ts.map +1 -0
  258. package/dist/components/vegetation/core/tree.js +408 -0
  259. package/dist/components/vegetation/core/vegetable.d.ts +99 -0
  260. package/dist/components/vegetation/core/vegetable.d.ts.map +1 -0
  261. package/dist/components/vegetation/core/vegetable.js +76 -0
  262. package/dist/components/vegetation/index.d.ts +23 -0
  263. package/dist/components/vegetation/index.d.ts.map +1 -0
  264. package/dist/components/vegetation/index.js +14 -0
  265. package/dist/components/vegetation/produceCore.d.ts +929 -0
  266. package/dist/components/vegetation/produceCore.d.ts.map +1 -0
  267. package/dist/components/vegetation/produceCore.js +723 -0
  268. package/dist/components/vegetation/useVegetationInstance.d.ts +39 -0
  269. package/dist/components/vegetation/useVegetationInstance.d.ts.map +1 -0
  270. package/dist/components/vegetation/useVegetationInstance.js +45 -0
  271. package/dist/components/vegetation/vegetationCore.d.ts +412 -0
  272. package/dist/components/vegetation/vegetationCore.d.ts.map +1 -0
  273. package/dist/components/vegetation/vegetationCore.js +1728 -0
  274. package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts +5 -0
  275. package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts.map +1 -1
  276. package/dist/components/volumetricClouds/VolumetricCloudsPass.js +39 -13
  277. package/dist/components/water/OceanSurface.d.ts.map +1 -1
  278. package/dist/components/water/OceanSurface.js +3 -2
  279. package/dist/components/water/WaterBody.d.ts.map +1 -1
  280. package/dist/components/water/WaterBody.js +31 -10
  281. package/dist/components/water/WaterFountain.d.ts +9 -0
  282. package/dist/components/water/WaterFountain.d.ts.map +1 -0
  283. package/dist/components/water/WaterFountain.js +24 -0
  284. package/dist/components/water/WaterStream.d.ts +9 -0
  285. package/dist/components/water/WaterStream.d.ts.map +1 -0
  286. package/dist/components/water/WaterStream.js +24 -0
  287. package/dist/components/water/WaterWaterfall.d.ts +9 -0
  288. package/dist/components/water/WaterWaterfall.d.ts.map +1 -0
  289. package/dist/components/water/WaterWaterfall.js +24 -0
  290. package/dist/components/water/core/fountain.d.ts +70 -0
  291. package/dist/components/water/core/fountain.d.ts.map +1 -0
  292. package/dist/components/water/core/fountain.js +619 -0
  293. package/dist/components/water/core/stream.d.ts +72 -0
  294. package/dist/components/water/core/stream.d.ts.map +1 -0
  295. package/dist/components/water/core/stream.js +167 -0
  296. package/dist/components/water/core/waterfall.d.ts +78 -0
  297. package/dist/components/water/core/waterfall.d.ts.map +1 -0
  298. package/dist/components/water/core/waterfall.js +325 -0
  299. package/dist/components/water/index.d.ts +8 -0
  300. package/dist/components/water/index.d.ts.map +1 -1
  301. package/dist/components/water/index.js +7 -0
  302. package/dist/components/water/types.d.ts +3 -0
  303. package/dist/components/water/types.d.ts.map +1 -1
  304. package/dist/components/water/useWaterInstance.d.ts +43 -0
  305. package/dist/components/water/useWaterInstance.d.ts.map +1 -0
  306. package/dist/components/water/useWaterInstance.js +89 -0
  307. package/dist/components/water/waterCore.d.ts +179 -0
  308. package/dist/components/water/waterCore.d.ts.map +1 -0
  309. package/dist/components/water/waterCore.js +516 -0
  310. package/dist/constants.d.ts.map +1 -1
  311. package/dist/constants.js +9 -1
  312. package/dist/hooks/index.d.ts +7 -2
  313. package/dist/hooks/index.d.ts.map +1 -1
  314. package/dist/hooks/index.js +5 -2
  315. package/dist/hooks/useActionPatch.d.ts +23 -0
  316. package/dist/hooks/useActionPatch.d.ts.map +1 -0
  317. package/dist/hooks/useActionPatch.js +38 -0
  318. package/dist/hooks/useCloudSun.d.ts.map +1 -1
  319. package/dist/hooks/useCloudSun.js +3 -2
  320. package/dist/hooks/useCommittedInstance.d.ts +6 -0
  321. package/dist/hooks/useCommittedInstance.d.ts.map +1 -0
  322. package/dist/hooks/useCommittedInstance.js +42 -0
  323. package/dist/hooks/useConfigLive.d.ts +1 -1
  324. package/dist/hooks/useConfigLive.d.ts.map +1 -1
  325. package/dist/hooks/useContinuousEffects.d.ts.map +1 -1
  326. package/dist/hooks/useContinuousEffects.js +36 -20
  327. package/dist/hooks/useGridLayout.d.ts +7 -0
  328. package/dist/hooks/useGridLayout.d.ts.map +1 -0
  329. package/dist/hooks/useGridLayout.js +10 -0
  330. package/dist/hooks/useInteractionEffects.d.ts.map +1 -1
  331. package/dist/hooks/useInteractionEffects.js +48 -9
  332. package/dist/hooks/useLightLive.d.ts.map +1 -1
  333. package/dist/hooks/useLightLive.js +2 -0
  334. package/dist/hooks/useLinkStatus.d.ts +7 -0
  335. package/dist/hooks/useLinkStatus.d.ts.map +1 -0
  336. package/dist/hooks/useLinkStatus.js +20 -0
  337. package/dist/hooks/useMaterialApplication.d.ts +6 -1
  338. package/dist/hooks/useMaterialApplication.d.ts.map +1 -1
  339. package/dist/hooks/useMaterialApplication.js +7 -2
  340. package/dist/hooks/useOceanMaterial.d.ts +11 -1
  341. package/dist/hooks/useOceanMaterial.d.ts.map +1 -1
  342. package/dist/hooks/useOceanMaterial.js +185 -27
  343. package/dist/hooks/usePathAnimation.d.ts +8 -0
  344. package/dist/hooks/usePathAnimation.d.ts.map +1 -1
  345. package/dist/hooks/usePathAnimation.js +140 -59
  346. package/dist/hooks/useResolvedLayout.d.ts +10 -0
  347. package/dist/hooks/useResolvedLayout.d.ts.map +1 -0
  348. package/dist/hooks/useResolvedLayout.js +17 -0
  349. package/dist/hooks/useTimeLighting.d.ts +36 -0
  350. package/dist/hooks/useTimeLighting.d.ts.map +1 -0
  351. package/dist/hooks/useTimeLighting.js +67 -0
  352. package/dist/index.d.ts +4 -0
  353. package/dist/index.d.ts.map +1 -1
  354. package/dist/index.js +4 -0
  355. package/dist/operations/catalogue/shaderLayers.d.ts.map +1 -1
  356. package/dist/operations/catalogue/shaderLayers.js +26 -3
  357. package/dist/render/renderLive.d.ts +11 -0
  358. package/dist/render/renderLive.d.ts.map +1 -0
  359. package/dist/render/renderLive.js +57 -0
  360. package/dist/shaders/glsl/oceanCore.glsl.d.ts +2 -2
  361. package/dist/shaders/glsl/oceanCore.glsl.d.ts.map +1 -1
  362. package/dist/shaders/glsl/oceanCore.glsl.js +35 -5
  363. package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts +12 -0
  364. package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts.map +1 -1
  365. package/dist/shaders/ocean/OceanSurfaceMaterial.js +55 -7
  366. package/dist/shaders/terrain/TerrainMaterial.d.ts.map +1 -1
  367. package/dist/shaders/terrain/TerrainMaterial.js +28 -0
  368. package/dist/triggers/kinds/change.js +1 -1
  369. package/dist/ui/UiLayers.d.ts +17 -1
  370. package/dist/ui/UiLayers.d.ts.map +1 -1
  371. package/dist/ui/UiLayers.js +76 -3
  372. package/dist/ui/index.d.ts +2 -2
  373. package/dist/ui/index.d.ts.map +1 -1
  374. package/dist/ui/index.js +1 -1
  375. package/dist/utils/composerHostedPass.d.ts +74 -0
  376. package/dist/utils/composerHostedPass.d.ts.map +1 -0
  377. package/dist/utils/composerHostedPass.js +63 -0
  378. package/dist/utils/geometryScript.d.ts +17 -0
  379. package/dist/utils/geometryScript.d.ts.map +1 -0
  380. package/dist/utils/geometryScript.js +92 -0
  381. package/dist/utils/geometryScript.worker.d.ts +2 -0
  382. package/dist/utils/geometryScript.worker.d.ts.map +1 -0
  383. package/dist/utils/geometryScript.worker.js +42 -0
  384. package/dist/utils/groundRegistry.d.ts +11 -0
  385. package/dist/utils/groundRegistry.d.ts.map +1 -0
  386. package/dist/utils/groundRegistry.js +39 -0
  387. package/dist/utils/instancingSupport.d.ts +9 -0
  388. package/dist/utils/instancingSupport.d.ts.map +1 -0
  389. package/dist/utils/instancingSupport.js +13 -0
  390. package/dist/utils/landPatch.d.ts +26 -5
  391. package/dist/utils/landPatch.d.ts.map +1 -1
  392. package/dist/utils/landPatch.js +124 -9
  393. package/dist/utils/layoutPlacement.d.ts +30 -0
  394. package/dist/utils/layoutPlacement.d.ts.map +1 -0
  395. package/dist/utils/layoutPlacement.js +113 -0
  396. package/dist/utils/linkRegistry.d.ts +15 -0
  397. package/dist/utils/linkRegistry.d.ts.map +1 -0
  398. package/dist/utils/linkRegistry.js +11 -0
  399. package/dist/utils/shapes.d.ts +28 -2
  400. package/dist/utils/shapes.d.ts.map +1 -1
  401. package/dist/utils/shapes.js +32 -3
  402. package/dist/utils/sharedParts.d.ts +61 -0
  403. package/dist/utils/sharedParts.d.ts.map +1 -0
  404. package/dist/utils/sharedParts.js +268 -0
  405. package/dist/utils/svgAsset.d.ts +6 -0
  406. package/dist/utils/svgAsset.d.ts.map +1 -0
  407. package/dist/utils/svgAsset.js +46 -0
  408. package/dist/utils/waterLight.d.ts +29 -0
  409. package/dist/utils/waterLight.d.ts.map +1 -0
  410. package/dist/utils/waterLight.js +67 -0
  411. package/dist/utils/waterReflection.d.ts +185 -0
  412. package/dist/utils/waterReflection.d.ts.map +1 -0
  413. package/dist/utils/waterReflection.js +616 -0
  414. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/components/water/core/stream.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,UAAU,UAAiD,CAAC;AAEzE,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B;AACD,wBAAgB,WAAW,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,QAQ/B;AA4FD,wBAAgB,KAAK,CAAC,CAAC,KAAA,EAAE,GAAG,KAAA;;;;;EA0B3B"}
@@ -0,0 +1,167 @@
1
+ // Emitted from Claude outputs/water-lab/stream.mjs by gen_family.mjs — edit the lab module and re-emit.
2
+ // water/core/stream — Stream (type 'water', config.type 'stream'). Shared core: ../waterCore. flowing water along a path, in its own channel.
3
+ //
4
+ // Construction: only the water. A ribbon swept along a Catmull-Rom curve through `points`,
5
+ // drawn transparent over whatever the user put under it (their riverbed mesh, terrain, a
6
+ // channel model): per-vertex channel depth (a parabolic cross-section, deepest mid-stream)
7
+ // gives Beer–Lambert absorption, so the edges are clear and the middle turns green-blue and
8
+ // opaque; Fresnel adds the sky; the flow comes from advecting the ripple normals along the
9
+ // channel with an open-channel velocity profile (fast mid-stream, slow at the banks). Foam:
10
+ // lace along the banks, more on the outer side of bends (faster, deeper). `rocks` marks
11
+ // hashed spots where something breaks the surface: a boiling collar and a wake downstream.
12
+ import * as THREE from 'three';
13
+ import { GLSL_COMMON, GLSL_DISTURB, createSunUniforms, createDisturbanceUniforms, samplePath, mulberry32 } from '../waterCore.js';
14
+ export const STRUCTURAL = ['points', 'width', 'depth', 'curve', 'rocks'];
15
+ export function createUniforms() {
16
+ return {
17
+ ...createSunUniforms(), ...createDisturbanceUniforms(),
18
+ uWidth: { value: 4.5 }, uSpeed: { value: 1.2 }, uTurb: { value: 0.6 }, uFoam: { value: 0.8 }, uRipple: { value: 0.35 },
19
+ uWaterColor: { value: new THREE.Color('#2a6f6a') }, uFoamColor: { value: new THREE.Color('#eef6f8') },
20
+ uAbsorb: { value: new THREE.Vector3(0.9, 0.32, 0.22) },
21
+ uCamPos: { value: new THREE.Vector3() },
22
+ };
23
+ }
24
+ export function applyConfig(u, c) {
25
+ if (c.width !== undefined)
26
+ u.uWidth.value = c.width;
27
+ if (c.speed !== undefined)
28
+ u.uSpeed.value = c.speed;
29
+ if (c.turbulence !== undefined)
30
+ u.uTurb.value = c.turbulence;
31
+ if (c.foam !== undefined)
32
+ u.uFoam.value = c.foam;
33
+ if (c.rippleSize !== undefined)
34
+ u.uRipple.value = c.rippleSize;
35
+ if (c.waterColor !== undefined)
36
+ u.uWaterColor.value.set(c.waterColor);
37
+ if (c.foamColor !== undefined)
38
+ u.uFoamColor.value.set(c.foamColor);
39
+ }
40
+ // ---------------------------------------------------------------------------- water
41
+ const WATER_VERT = /* glsl */ `
42
+ ${GLSL_COMMON}
43
+ ${GLSL_DISTURB}
44
+ attribute vec3 aFlow; // u (m along), s (-1..1), curvature
45
+ attribute vec3 aTan;
46
+ attribute float aDepth;
47
+ uniform float uWidth, uSpeed;
48
+ varying vec3 vP; varying vec3 vFlow; varying vec3 vTan; varying float vDepth; varying vec2 vLocal; varying float vChurn;
49
+ void main() {
50
+ vec3 p = position;
51
+ vec2 ch = churnField(p.xz, uTime);
52
+ // standing ripples over the rocks (the churn centres)
53
+ p.y += ch.y * 0.05;
54
+ vP = (modelMatrix * vec4(p, 1.0)).xyz;
55
+ vFlow = aFlow; vTan = normalize(mat3(modelMatrix) * aTan); vDepth = aDepth; vLocal = position.xz; vChurn = ch.x;
56
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(p, 1.0);
57
+ }
58
+ `;
59
+ const WATER_FRAG = /* glsl */ `
60
+ ${GLSL_COMMON}
61
+ ${GLSL_DISTURB}
62
+ uniform float uWidth, uSpeed, uTurb, uFoam, uRipple;
63
+ uniform vec3 uWaterColor, uFoamColor, uAbsorb, uCamPos;
64
+ varying vec3 vP; varying vec3 vFlow; varying vec3 vTan; varying float vDepth; varying vec2 vLocal; varying float vChurn;
65
+ void main() {
66
+ float u = vFlow.x, s = vFlow.y, curv = vFlow.z;
67
+ float prof = 1.0 - 0.75 * s * s; // open-channel velocity profile
68
+ float adv = u - uTime * uSpeed * prof;
69
+ // ripples stretched downstream, two scales, advected; the churn adds boil
70
+ vec2 q = vec2(s * uWidth * 0.5, adv) / uRipple;
71
+ vec3 n1 = noised21(vec2(q.x * 1.5, q.y * 0.4), 0.04);
72
+ vec3 n2 = noised21(vec2(q.x * 3.2, q.y * 1.0) + 7.0, 0.04);
73
+ vec3 n3 = noised21(vec2(q.x * 7.0, q.y * 2.5) + 13.0, 0.04);
74
+ vec2 dn = (n1.yz * 0.9 + n2.yz * 0.6 + n3.yz * 0.3) * (0.3 + uTurb) * 2.0 * (0.5 + 0.5 * prof);
75
+ vec2 chb = churnField(vLocal, uTime);
76
+ vec3 up = vec3(0.0, 1.0, 0.0);
77
+ vec3 bin = normalize(cross(up, vTan));
78
+ vec3 N = normalize(up - bin * dn.x - vTan * dn.y + (bin * (chb.y - 0.5)) * vChurn * 1.5);
79
+ vec3 V = normalize(uCamPos - vP);
80
+ vec3 L = normalize(uSunDir);
81
+ // what the water adds over the bed: Beer-Lambert over the depth (a view at a slant sees ~2x the depth)
82
+ float pathLen = vDepth * (1.0 + 1.0 / max(V.y, 0.25) * 0.5);
83
+ vec3 T = exp(-uAbsorb * pathLen);
84
+ vec3 body = uWaterColor * (uSkyAmbient * 0.6 + uSunColor * 0.35);
85
+ float fres = fresnelWater(N, V);
86
+ vec3 R = reflect(-V, N); R.y = max(R.y, 0.02);
87
+ vec3 sky = skyColor(R);
88
+ float spec = ggx(N, L, V, 0.06 + uTurb * 0.06) * 1.2;
89
+ // foam
90
+ float bank = smoothstep(0.88, 1.0, abs(s)) * smoothstep(0.45, 0.85, fbm21(vec2(adv * 2.5, s * 6.0))) * 0.6;
91
+ float bend = clamp(curv * s * uWidth * 1.2, 0.0, 1.0) * smoothstep(0.1, 0.9, abs(s));
92
+ float lace = smoothstep(0.45, 0.8, fbm21(vec2(adv * 3.0, s * 7.0)) * 0.7 + vnoise21(vec2(adv * 9.0, s * 20.0)) * 0.5);
93
+ float foam = clamp((bank + bend * 0.6 * lace + vChurn * 1.2) * uFoam, 0.0, 1.0);
94
+ vec3 foamLit = uFoamColor * (uSkyAmbient * 0.6 + uSunColor * (0.3 + 0.5 * max(dot(N, L), 0.0)));
95
+ // premultiplied: reflection + scattered body (where the bed is absorbed) + foam, over the bed drawn underneath
96
+ vec3 col = sky * fres + body * (1.0 - T) * (1.0 - fres) + uSunColor * spec * fres;
97
+ float alpha = fres + (1.0 - fres) * (1.0 - dot(T, vec3(0.333)));
98
+ col = mix(col, foamLit, foam); alpha = mix(alpha, 1.0, foam);
99
+ // the wetted edge: fade the last few cm so the surface meets the bank softly
100
+ float edge = smoothstep(1.0, 0.96, abs(s));
101
+ gl_FragColor = vec4(col * alpha * edge, alpha * edge);
102
+ #include <colorspace_fragment>
103
+ }
104
+ `;
105
+ function channel(c) {
106
+ const { samples } = samplePath(c.points, c.curve, false, 0.6);
107
+ const halfW = c.width / 2;
108
+ const n = samples.length;
109
+ const depthAt = (s, u) => c.depth * Math.sqrt(Math.max(1 - s * s, 0)) * (0.8 + 0.4 * Math.abs(Math.sin(u * 0.35) * 0.5 + Math.sin(u * 0.11 + 2.0) * 0.5));
110
+ // water: across the water only, at y = 0, with the depth under each vertex
111
+ const wa = 10;
112
+ const wpos = [], wflow = [], wtan = [], wdep = [], widx = [];
113
+ for (let i = 0; i < n; i++) {
114
+ const sm = samples[i];
115
+ const nx = -sm.t.z, nz = sm.t.x;
116
+ for (let j = 0; j <= wa; j++) {
117
+ const s = (j / wa) * 2 - 1;
118
+ wpos.push(sm.p.x + nx * s * halfW, 0, sm.p.z + nz * s * halfW);
119
+ wflow.push(sm.u, s, sm.curv);
120
+ wtan.push(sm.t.x, 0, sm.t.z);
121
+ wdep.push(depthAt(s, sm.u));
122
+ if (i < n - 1 && j < wa) {
123
+ const a = i * (wa + 1) + j, b = a + 1, cc = a + wa + 1, d = cc + 1;
124
+ widx.push(a, cc, b, b, cc, d);
125
+ }
126
+ }
127
+ }
128
+ const water = new THREE.BufferGeometry();
129
+ water.setAttribute('position', new THREE.Float32BufferAttribute(wpos, 3));
130
+ water.setAttribute('aFlow', new THREE.Float32BufferAttribute(wflow, 3));
131
+ water.setAttribute('aTan', new THREE.Float32BufferAttribute(wtan, 3));
132
+ water.setAttribute('aDepth', new THREE.Float32BufferAttribute(wdep, 1));
133
+ water.setIndex(widx);
134
+ water.computeBoundingSphere();
135
+ return { water, samples, halfW, depthAt };
136
+ }
137
+ export function build(u, cfg) {
138
+ const c = { ...cfg };
139
+ applyConfig(u, c);
140
+ const group = new THREE.Group();
141
+ const parts = [];
142
+ const ch = channel(c);
143
+ const water = new THREE.Mesh(ch.water, new THREE.ShaderMaterial({ uniforms: u, vertexShader: WATER_VERT, fragmentShader: WATER_FRAG, side: THREE.DoubleSide, transparent: true, depthWrite: false, blending: THREE.CustomBlending, blendSrc: THREE.OneFactor, blendDst: THREE.OneMinusSrcAlphaFactor }));
144
+ water.renderOrder = 3;
145
+ water.frustumCulled = false;
146
+ group.add(water);
147
+ parts.push(water);
148
+ // things breaking the surface (the user's rocks): a boiling collar at hashed spots
149
+ const rng = mulberry32(13);
150
+ for (let i = 0; i < 24; i++)
151
+ u.uChurn.value[i].set(0, 0, 0, 0);
152
+ const nRocks = Math.min(20, Math.round(c.rocks));
153
+ for (let i = 0; i < nRocks; i++) {
154
+ const sm = ch.samples[Math.floor((0.1 + 0.8 * rng()) * ch.samples.length)];
155
+ const s = (rng() - 0.5) * 1.4;
156
+ const r = 0.3 + rng() * 0.5 * Math.min(1, c.width / 4);
157
+ const nx = -sm.t.z, nz = sm.t.x;
158
+ u.uChurn.value[i].set(sm.p.x + nx * s * ch.halfW, sm.p.z + nz * s * ch.halfW, r * 1.6, 0.9 * c.foam);
159
+ }
160
+ return {
161
+ object: group,
162
+ apply(patch) { Object.assign(c, patch); applyConfig(u, patch); },
163
+ update(dt, camera) { u.uTime.value += dt; u.uCamPos.value.copy(camera.position); },
164
+ dispose() { for (const p of parts)
165
+ p.geometry.dispose(); water.material.dispose(); },
166
+ };
167
+ }
@@ -0,0 +1,78 @@
1
+ import * as THREE from 'three';
2
+ export declare const STRUCTURAL: string[];
3
+ export declare function createUniforms(): {
4
+ uWidth: {
5
+ value: number;
6
+ };
7
+ uDrop: {
8
+ value: number;
9
+ };
10
+ uThrow: {
11
+ value: number;
12
+ };
13
+ uFlow: {
14
+ value: number;
15
+ };
16
+ uVolume: {
17
+ value: number;
18
+ };
19
+ uAeration: {
20
+ value: number;
21
+ };
22
+ uSurges: {
23
+ value: number;
24
+ };
25
+ uTurb: {
26
+ value: number;
27
+ };
28
+ uMist: {
29
+ value: number;
30
+ };
31
+ uSpray: {
32
+ value: number;
33
+ };
34
+ uOpacity: {
35
+ value: number;
36
+ };
37
+ uWaterColor: {
38
+ value: THREE.Color;
39
+ };
40
+ uFoamColor: {
41
+ value: THREE.Color;
42
+ };
43
+ uCamPos: {
44
+ value: THREE.Vector3;
45
+ };
46
+ uSunDir: {
47
+ value: THREE.Vector3;
48
+ };
49
+ uSunColor: {
50
+ value: THREE.Color;
51
+ };
52
+ uSkyAmbient: {
53
+ value: THREE.Color;
54
+ };
55
+ uGroundAmbient: {
56
+ value: THREE.Color;
57
+ };
58
+ uSkyTop: {
59
+ value: THREE.Color;
60
+ };
61
+ uSkyHorizon: {
62
+ value: THREE.Color;
63
+ };
64
+ uNight: {
65
+ value: number;
66
+ };
67
+ uTime: {
68
+ value: number;
69
+ };
70
+ };
71
+ export declare function applyConfig(u: any, c: any): void;
72
+ export declare function build(u: any, cfg: any): {
73
+ object: THREE.Group<THREE.Object3DEventMap>;
74
+ apply(patch: any): void;
75
+ update(dt: any, camera: any): void;
76
+ dispose(): void;
77
+ };
78
+ //# sourceMappingURL=waterfall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waterfall.d.ts","sourceRoot":"","sources":["../../../../src/components/water/core/waterfall.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,UAAU,UAAiC,CAAC;AAEzD,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B;AACD,wBAAgB,WAAW,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,QAc/B;AA0KD,wBAAgB,KAAK,CAAC,CAAC,KAAA,EAAE,GAAG,KAAA;;;;;EAgE3B"}
@@ -0,0 +1,325 @@
1
+ // Emitted from Claude outputs/water-lab/waterfall.mjs by gen_family.mjs — edit the lab module and re-emit.
2
+ // water/core/waterfall — Waterfall (type 'water', config.type 'waterfall'). Shared core: ../waterCore. an aerated sheet of falling water, the plunge pool, the mist.
3
+ //
4
+ // Construction (second pass — the first was a flat curtain with stripes):
5
+ //
6
+ // SHEET. Three grids stacked in depth (back / mid / front, each with its own seed and a
7
+ // slightly different flow phase) so the fall has parallax and body. Each vertex follows free
8
+ // fall from the lip — z = throw·sqrt(fall), horizontal at the lip, vertical at the foot — and
9
+ // sways with slow noise that grows with the fall. The fragment stage treats the water as a
10
+ // THICKNESS field τ: ropes (noise stretched along the fall, advected by FALL TIME so streaks
11
+ // lengthen as the water accelerates), surges (slow pulses travelling down the fall), and
12
+ // fluting (fine horizontal bands). Light is Beer–Lambert through τ: thin water transmits the
13
+ // sky/background tinted by the water colour; thick water scatters white, with forward
14
+ // scattering when the sun is behind the sheet. Aeration (whiteness) grows with the square of
15
+ // the fall; the top 15% is a glassy tongue with real Fresnel sky reflection and a sun glint.
16
+ // The sheet fades into the mist in its last metres.
17
+ //
18
+ // POOL. The basin with CHURN zones along the landing line: boiling foam that radiates away
19
+ // as streaks (polar noise moving outward) and roughens the normal, over the body's ripples.
20
+ //
21
+ // MIST. A real volume: view-aligned slices through drifting, rising 3D noise, dense at the
22
+ // foot and thinning upward and outward, lit by the sky with sun forward-scatter. A thinner
23
+ // haze hugs the whole sheet. SPRAY: instanced droplets flung off the sheet edges and
24
+ // bouncing up out of the churn. Sized by the transform in the app (x = width, y = drop).
25
+ import * as THREE from 'three';
26
+ import { GLSL_COMMON, GLSL_BILLBOARD, createSunUniforms, createBasinUniforms, createBasin, applyBasinWind, instancedQuads, mulberry32, createMistVolume } from '../waterCore.js';
27
+ export const STRUCTURAL = ['width', 'drop', 'poolDepth'];
28
+ export function createUniforms() {
29
+ return {
30
+ ...createSunUniforms(),
31
+ uWidth: { value: 7 }, uDrop: { value: 10 }, uThrow: { value: 1.8 },
32
+ uFlow: { value: 1 }, uVolume: { value: 0.6 }, uAeration: { value: 1 }, uSurges: { value: 0.6 }, uTurb: { value: 0.6 },
33
+ uMist: { value: 1 }, uSpray: { value: 0.7 }, uOpacity: { value: 0.85 },
34
+ uWaterColor: { value: new THREE.Color('#2a8a9c') }, uFoamColor: { value: new THREE.Color('#f1f6f8') },
35
+ uCamPos: { value: new THREE.Vector3() },
36
+ };
37
+ }
38
+ export function applyConfig(u, c) {
39
+ if (c.width !== undefined)
40
+ u.uWidth.value = c.width;
41
+ if (c.drop !== undefined)
42
+ u.uDrop.value = c.drop;
43
+ if (c.throw !== undefined)
44
+ u.uThrow.value = c.throw;
45
+ if (c.flow !== undefined)
46
+ u.uFlow.value = c.flow;
47
+ if (c.volume !== undefined)
48
+ u.uVolume.value = c.volume;
49
+ if (c.aeration !== undefined)
50
+ u.uAeration.value = c.aeration;
51
+ if (c.surges !== undefined)
52
+ u.uSurges.value = c.surges;
53
+ if (c.turbulence !== undefined)
54
+ u.uTurb.value = c.turbulence;
55
+ if (c.mist !== undefined)
56
+ u.uMist.value = c.mist;
57
+ if (c.spray !== undefined)
58
+ u.uSpray.value = c.spray;
59
+ if (c.opacity !== undefined)
60
+ u.uOpacity.value = c.opacity;
61
+ if (c.waterColor !== undefined)
62
+ u.uWaterColor.value.set(c.waterColor);
63
+ if (c.foamColor !== undefined)
64
+ u.uFoamColor.value.set(c.foamColor);
65
+ }
66
+ // ---------------------------------------------------------------------------- the sheet
67
+ const SHEET_VERT = /* glsl */ `
68
+ ${GLSL_COMMON}
69
+ uniform float uWidth, uDrop, uThrow, uTurb, uFlow, uLayer;
70
+ varying vec2 vUv; varying vec3 vP; varying vec3 vN; varying float vFall; varying float vTf;
71
+ void main() {
72
+ vUv = uv;
73
+ float fall = 1.0 - uv.y; // 0 at the lip, 1 at the foot
74
+ float tf = sqrt(2.0 * uDrop * max(fall, 0.0) / 9.81); // fall time
75
+ vTf = tf; vFall = fall;
76
+ // free fall from the lip; each layer a little deeper into the fall
77
+ float z = uThrow * sqrt(fall) + uLayer * (0.12 + 0.05 * uThrow);
78
+ // sway: slow noise travelling with the water, growing with the fall
79
+ float sw = (vnoise21(vec2(uv.x * 2.5 + uLayer * 3.0, tf * 1.1 - uTime * uFlow * 0.7)) - 0.5) * uTurb * (0.1 + 0.9 * fall);
80
+ vec3 p = vec3(position.x + sw * 0.7, position.y, z + sw * 0.5);
81
+ vec4 wp = modelMatrix * vec4(p, 1.0);
82
+ vP = wp.xyz;
83
+ // parabola normal (dz/dy) — flat at the lip, facing forward lower down
84
+ float dzdy = uThrow * 0.5 / max(sqrt(fall), 0.08) / uDrop;
85
+ vN = normalize(mat3(modelMatrix) * normalize(vec3(0.0, dzdy, 1.0)));
86
+ gl_Position = projectionMatrix * viewMatrix * wp;
87
+ }
88
+ `;
89
+ const SHEET_FRAG = /* glsl */ `
90
+ ${GLSL_COMMON}
91
+ uniform float uWidth, uDrop, uFlow, uVolume, uAeration, uSurges, uTurb, uOpacity, uLayer;
92
+ uniform vec3 uWaterColor, uFoamColor, uCamPos;
93
+ varying vec2 vUv; varying vec3 vP; varying vec3 vN; varying float vFall; varying float vTf;
94
+ void main() {
95
+ float fall = vFall, tf = vTf;
96
+ float seed = uLayer * 17.3;
97
+ // --- thickness field ---------------------------------------------------------
98
+ // ropes: noise narrow across (stream width ~0.3 m) and long along the fall, advected by fall time
99
+ float rope = 0.3;
100
+ vec2 q = vec2(vUv.x * uWidth / rope + seed, (tf + uTime * 0.85) * uFlow * 2.4);
101
+ float ropes = fbm21(vec2(q.x, q.y * 0.08));
102
+ float ropes2 = vnoise21(vec2(q.x * 0.5 + 3.0, q.y * 0.05) + seed) ;
103
+ // surges: slow pulses travelling down the whole fall
104
+ float surge = 0.5 + 0.5 * sin((tf * 1.6 - uTime * uFlow * 1.1) * 2.0 + vnoise21(vec2(vUv.x * 2.0, tf * 0.5) + seed) * 3.0);
105
+ // fluting: fine horizontal bands moving down fast
106
+ float flute = vnoise21(vec2(vUv.x * uWidth * 1.5, (tf + uTime * 1.2) * uFlow * 9.0) + seed);
107
+ // tearing: the ropes break up with turbulence
108
+ float tear = vnoise21(vec2(q.x * 1.7, q.y * 0.25) + 31.0 + seed) * uTurb;
109
+ float side = smoothstep(0.0, 0.1, vUv.x) * smoothstep(1.0, 0.9, vUv.x);
110
+ float dens = ropes * 0.75 + ropes2 * 0.35 + (surge - 0.5) * 0.35 * uSurges + (flute - 0.5) * 0.12 - tear * 0.25
111
+ + (uVolume - 0.5) * 1.1 - uLayer * 0.18; // the front layers are sparser
112
+ dens *= 0.55 + 0.45 * side;
113
+ float cover = smoothstep(0.30, 0.62, dens); // water vs air
114
+ if (cover < 0.01) discard;
115
+ // thickness in metres-ish: ropes are thick, lace is thin; aeration adds opacity with the fall
116
+ float tau = cover * (0.08 + 1.2 * max(dens - 0.3, 0.0)) * (1.0 + fall * fall * 2.5 * uAeration);
117
+ // --- light ----------------------------------------------------------------------
118
+ vec3 N = normalize(vN);
119
+ float dsx = (fbm21(vec2(q.x + 0.12, q.y * 0.08)) - ropes) * 8.0;
120
+ float dsy = (flute - vnoise21(vec2(vUv.x * uWidth * 1.5, (tf + uTime * 1.2) * uFlow * 9.0 + 0.1) + seed)) * 2.0;
121
+ N = normalize(N + vec3(-dsx, dsy * 0.6, 0.0) * (0.3 + 0.7 * fall));
122
+ vec3 V = normalize(uCamPos - vP);
123
+ vec3 L = normalize(uSunDir);
124
+ float NdotL = max(dot(N, L), 0.0);
125
+ // transmission (thin water) vs scattering (thick / aerated water)
126
+ float T = exp(-tau * 2.2);
127
+ vec3 skyR = skyColor(reflect(-V, N));
128
+ vec3 thin = mix(uWaterColor, vec3(0.75), 0.55) * (uSkyAmbient * 0.45 + uSunColor * 0.22) * 0.8 + skyR * 0.28;
129
+ float fwd = pow(max(dot(-V, L), 0.0), 2.0);
130
+ // thick water: white scattering, kept under 1 at noon (NoToneMapping in the app)
131
+ vec3 thick = uFoamColor * (uSkyAmbient * 0.45 + uSunColor * (0.13 + 0.22 * NdotL + 0.18 * fwd));
132
+ vec3 col = mix(thick, thin, T);
133
+ // glassy tongue at the lip: real reflection + glint
134
+ float glassy = 1.0 - smoothstep(0.0, 0.18, fall);
135
+ float fres = fresnelWater(N, V);
136
+ col = mix(col, mix(col, skyR, fres * 0.8) + uSunColor * ggx(N, L, V, 0.08) * fres * 1.2, glassy);
137
+ // sun glitter on the whole sheet, broken by the ropes
138
+ col += uSunColor * ggx(N, L, V, 0.25) * 0.25 * (1.0 - T) * (0.5 + 0.5 * ropes);
139
+ col = min(col, vec3(0.98));
140
+ float alpha = (1.0 - T * (1.0 - uOpacity * 0.6)) * cover;
141
+ alpha *= 1.0 - smoothstep(0.9, 1.0, fall) * 0.8; // dissolve into the mist at the foot
142
+ gl_FragColor = vec4(col * alpha, alpha);
143
+ #include <colorspace_fragment>
144
+ }
145
+ `;
146
+ // the lip: a short glassy run-up over the edge, flowing toward the fall
147
+ const LIP_VERT = /* glsl */ `
148
+ ${GLSL_COMMON}
149
+ varying vec2 vUv; varying vec3 vP; varying vec3 vN;
150
+ void main() {
151
+ vUv = uv;
152
+ vec3 p = position;
153
+ // round over the edge: the last 25% dips into the parabola
154
+ float t = smoothstep(0.75, 1.0, uv.y);
155
+ p.y -= t * t * 0.35;
156
+ vec4 wp = modelMatrix * vec4(p, 1.0); vP = wp.xyz;
157
+ vN = normalize(mat3(modelMatrix) * normalize(vec3(0.0, 1.0, t * 0.9)));
158
+ gl_Position = projectionMatrix * viewMatrix * wp;
159
+ }
160
+ `;
161
+ const LIP_FRAG = /* glsl */ `
162
+ ${GLSL_COMMON}
163
+ uniform float uWidth, uFlow, uVolume;
164
+ uniform vec3 uWaterColor, uFoamColor, uCamPos;
165
+ varying vec2 vUv; varying vec3 vP; varying vec3 vN;
166
+ void main() {
167
+ vec2 q = vec2(vUv.x * uWidth / 0.3, vUv.y * 6.0 - uTime * uFlow * 4.0);
168
+ vec3 n1 = noised21(q * vec2(1.0, 0.35), 0.05);
169
+ vec3 n2 = noised21(q * vec2(2.2, 0.8) + 9.0, 0.05);
170
+ vec3 N = normalize(normalize(vN) + vec3(-(n1.y + n2.y * 0.6) * 1.5, 0.0, -(n1.z + n2.z * 0.6) * 0.6));
171
+ float foam = smoothstep(0.6, 0.85, fbm21(q * vec2(1.5, 0.5) + 4.0)) * 0.5 + smoothstep(0.75, 1.0, vUv.y) * 0.5;
172
+ vec3 body = uWaterColor * 0.6;
173
+ vec3 col = shadeWater(vP, N, uCamPos, body, uFoamColor, foam * 0.6, 0.05, 1.5);
174
+ float a = smoothstep(0.0, 0.25, vUv.y) * (0.6 + 0.4 * uVolume);
175
+ gl_FragColor = vec4(col * a, a);
176
+ #include <colorspace_fragment>
177
+ }
178
+ `;
179
+ // ---------------------------------------------------------------------------- spray
180
+ const SPRAY_VERT = /* glsl */ `
181
+ ${GLSL_COMMON}
182
+ ${GLSL_BILLBOARD}
183
+ attribute vec4 aSeed;
184
+ uniform float uWidth, uDrop, uThrow, uFlow, uSpray;
185
+ varying vec2 vUv; varying float vA; varying vec3 vP; varying vec3 vVel;
186
+ void main() {
187
+ vUv = uv;
188
+ vec3 c; vec3 vel; float life, t;
189
+ if (aSeed.x < 0.55) {
190
+ // off the sheet edges and face, falling with it
191
+ life = 0.4 + aSeed.z * 0.5;
192
+ t = mod(uTime * 1.1 + aSeed.w * 10.0, life);
193
+ float v0 = 0.1 + aSeed.y * 0.85;
194
+ float edge = aSeed.x < 0.25 ? -1.0 : (aSeed.x < 0.4 ? 1.0 : 0.0);
195
+ float x0 = edge == 0.0 ? (aSeed.y - 0.5) * uWidth : edge * uWidth * (0.5 + aSeed.z * 0.04);
196
+ float y0 = v0 * uDrop;
197
+ float vy = -sqrt(2.0 * 9.81 * (uDrop - y0)) * 0.5;
198
+ vel = vec3((edge == 0.0 ? (hash11(aSeed.w * 7.0) - 0.5) * 2.0 : edge) * (0.3 + aSeed.z * 1.2), vy, 0.6 + aSeed.w * 1.4);
199
+ c = vec3(x0, y0, uThrow * sqrt(1.0 - v0) + 0.2) + vel * t + vec3(0.0, -4.9 * t * t, 0.0);
200
+ } else {
201
+ // bouncing up out of the churn at the foot
202
+ life = 0.5 + aSeed.z * 0.4;
203
+ t = mod(uTime * 1.3 + aSeed.w * 10.0, life);
204
+ float x0 = (aSeed.y - 0.5) * uWidth * 1.05;
205
+ float a0 = aSeed.w * 6.2832;
206
+ vel = vec3(cos(a0) * (0.5 + aSeed.z * 2.5), 2.5 + aSeed.z * 4.5, sin(a0) * (0.5 + aSeed.z * 2.5) + 1.0);
207
+ c = vec3(x0, 0.05, uThrow + 0.3 + (aSeed.x - 0.55) * 2.0) + vel * t + vec3(0.0, -4.9 * t * t, 0.0);
208
+ }
209
+ vVel = vel + vec3(0.0, -9.81 * t, 0.0);
210
+ if (c.y < 0.03) c.y = 0.03;
211
+ vec3 wc = (modelMatrix * vec4(c, 1.0)).xyz;
212
+ vP = wc; vA = uSpray * 0.9 * (1.0 - t / life);
213
+ gl_Position = billboard(wc, position.xy, 0.012 + aSeed.z * 0.022, 2.0, vVel);
214
+ }
215
+ `;
216
+ const SPRAY_FRAG = /* glsl */ `
217
+ ${GLSL_COMMON}
218
+ uniform vec3 uFoamColor, uCamPos;
219
+ varying vec2 vUv; varying float vA; varying vec3 vP; varying vec3 vVel;
220
+ void main() {
221
+ vec2 d = vUv - 0.5; float r = length(d) * 2.0;
222
+ float a = smoothstep(1.0, 0.35, r) * vA;
223
+ if (a < 0.01) discard;
224
+ vec3 V = normalize(uCamPos - vP); vec3 L = normalize(uSunDir);
225
+ vec3 N = normalize(vec3(d * 2.0, sqrt(max(0.0, 1.0 - r * r))));
226
+ vec3 col = skyColor(reflect(-V, N)) * 0.8 + uFoamColor * uSkyAmbient * 0.3 + uSunColor * pow(max(dot(reflect(-L, N), V), 0.0), 20.0) * 1.2;
227
+ gl_FragColor = vec4(col * a, a);
228
+ #include <colorspace_fragment>
229
+ }
230
+ `;
231
+ export function build(u, cfg) {
232
+ const c = { ...cfg };
233
+ applyConfig(u, c);
234
+ const group = new THREE.Group();
235
+ const parts = [];
236
+ const premul = { transparent: true, depthWrite: false, blending: THREE.CustomBlending, blendSrc: THREE.OneFactor, blendDst: THREE.OneMinusSrcAlphaFactor };
237
+ // sheet: three layers, back to front
238
+ const sheetGeo = new THREE.PlaneGeometry(c.width, c.drop, Math.max(8, Math.round(c.width * 4)), Math.max(24, Math.round(c.drop * 8)));
239
+ sheetGeo.translate(0, c.drop / 2, 0);
240
+ for (let layer = 0; layer < 3; layer++) {
241
+ const m = new THREE.ShaderMaterial({ uniforms: { ...u, uLayer: { value: layer } }, vertexShader: SHEET_VERT, fragmentShader: SHEET_FRAG, side: THREE.DoubleSide, ...premul });
242
+ const mesh = new THREE.Mesh(sheetGeo, m);
243
+ mesh.frustumCulled = false;
244
+ mesh.renderOrder = 10 + layer;
245
+ group.add(mesh);
246
+ parts.push(mesh);
247
+ }
248
+ // lip run-up
249
+ const lipGeo = new THREE.PlaneGeometry(c.width, 1.6, Math.max(8, Math.round(c.width * 3)), 12);
250
+ lipGeo.rotateX(-Math.PI / 2);
251
+ lipGeo.translate(0, c.drop + 0.02, -0.8);
252
+ const lip = new THREE.Mesh(lipGeo, new THREE.ShaderMaterial({ uniforms: u, vertexShader: LIP_VERT, fragmentShader: LIP_FRAG, side: THREE.DoubleSide, ...premul }));
253
+ lip.renderOrder = 9;
254
+ group.add(lip);
255
+ parts.push(lip);
256
+ // plunge pool
257
+ const bu = createBasinUniforms();
258
+ const poolW = c.width * 2.0, poolD = c.poolDepth;
259
+ const pool = createBasin(bu, poolW, poolD, 110);
260
+ pool.position.set(0, 0, poolD / 2 - 0.8);
261
+ bu.uDeepColor.value.set(c.waterColor).multiplyScalar(0.22);
262
+ bu.uShallowColor.value.set(c.waterColor).multiplyScalar(0.5);
263
+ bu.uFoamColor.value.set(c.foamColor);
264
+ bu.uRough.value = 0.07;
265
+ bu.uDetail.value = 0.7;
266
+ bu.uDetailSize.value = 0.3;
267
+ bu.uEdgeFade.value = 0.08;
268
+ applyBasinWind(bu, 1.8, 180, poolW, 55);
269
+ const nCh = Math.min(4, Math.max(1, Math.round(c.width / 2.5)));
270
+ const setChurn = () => { for (let i = 0; i < 4; i++) {
271
+ if (i < nCh)
272
+ bu.uChurn.value[i].set(-c.width / 2 + c.width * (i + 0.5) / nCh, c.throw + 0.3 - pool.position.z, Math.max(1.4, c.width / nCh * 0.95), 0.6 + 0.6 * c.aeration);
273
+ else
274
+ bu.uChurn.value[i].set(0, 0, 0, 0);
275
+ } };
276
+ setChurn();
277
+ group.add(pool);
278
+ parts.push(pool);
279
+ // mist: a dense volume at the foot and a thin haze along the sheet
280
+ const foot = createMistVolume(u, new THREE.Vector3(0, c.drop * 0.1 + 0.5, c.throw + 1.2), new THREE.Vector3(c.width * 2.2, c.drop * 0.35 + 3, Math.min(poolD, c.width) * 1.1), 18, c.mist * 0.42, '#d8e0e6');
281
+ foot.mesh.renderOrder = 20;
282
+ const haze = createMistVolume(u, new THREE.Vector3(0, c.drop * 0.55, c.throw * 0.5 + 0.4), new THREE.Vector3(c.width * 1.5, c.drop * 1.1, 3.5 + c.throw), 12, c.mist * 0.12, '#dde5ea');
283
+ haze.mesh.renderOrder = 19;
284
+ haze.u.uRise.value = 0.1;
285
+ group.add(foot.mesh, haze.mesh);
286
+ parts.push(foot.mesh, haze.mesh);
287
+ // spray
288
+ const rng = mulberry32(3);
289
+ const spray = new THREE.Mesh(instancedQuads(700, () => [rng(), rng(), rng(), rng()]), new THREE.ShaderMaterial({ uniforms: u, vertexShader: SPRAY_VERT, fragmentShader: SPRAY_FRAG, ...premul }));
290
+ spray.frustumCulled = false;
291
+ spray.renderOrder = 15;
292
+ group.add(spray);
293
+ parts.push(spray);
294
+ return {
295
+ object: group,
296
+ apply(patch) {
297
+ Object.assign(c, patch);
298
+ applyConfig(u, patch);
299
+ if (patch.waterColor) {
300
+ bu.uDeepColor.value.set(patch.waterColor).multiplyScalar(0.55);
301
+ bu.uShallowColor.value.set(patch.waterColor);
302
+ }
303
+ if (patch.foamColor)
304
+ bu.uFoamColor.value.set(patch.foamColor);
305
+ if (patch.aeration !== undefined || patch.throw !== undefined)
306
+ setChurn();
307
+ if (patch.mist !== undefined) {
308
+ foot.u.uDensity.value = c.mist * 0.42;
309
+ haze.u.uDensity.value = c.mist * 0.12;
310
+ }
311
+ },
312
+ update(dt, camera) {
313
+ u.uTime.value += dt;
314
+ bu.uTime.value = u.uTime.value;
315
+ u.uCamPos.value.copy(camera.position);
316
+ bu.uCamPos.value.copy(camera.position);
317
+ for (const k of ['uSunDir', 'uSunColor', 'uSkyAmbient', 'uGroundAmbient', 'uSkyTop', 'uSkyHorizon', 'uNight'])
318
+ bu[k].value = u[k].value;
319
+ },
320
+ dispose() { for (const p of parts) {
321
+ p.geometry.dispose();
322
+ p.material.dispose();
323
+ } },
324
+ };
325
+ }
@@ -6,4 +6,12 @@ export { default as Sea } from './Sea';
6
6
  export { default as Lake } from './Lake';
7
7
  export { default as Storm } from './Storm';
8
8
  export { default as Shore } from './Shore';
9
+ export { useWaterInstance } from './useWaterInstance';
10
+ export type { WaterInstance, WaterVariantProps, WaterCore } from './useWaterInstance';
11
+ export type { WaterWaterfallProps } from './WaterWaterfall';
12
+ export { default as WaterWaterfall } from './WaterWaterfall';
13
+ export type { WaterFountainProps } from './WaterFountain';
14
+ export { default as WaterFountain } from './WaterFountain';
15
+ export type { WaterStreamProps } from './WaterStream';
16
+ export { default as WaterStream } from './WaterStream';
9
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/water/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/water/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAK3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtF,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -9,3 +9,10 @@ export { default as Sea } from './Sea.js';
9
9
  export { default as Lake } from './Lake.js';
10
10
  export { default as Storm } from './Storm.js';
11
11
  export { default as Shore } from './Shore.js';
12
+ // Moving-water variants (type 'water', config.type waterfall / fountain / stream). One line per variant, written by
13
+ // the integrator. waterCore is the family's own (imported by core/<key>.ts), not re-exported: its helper names
14
+ // (mulberry32, createBasin, …) would collide with other families' cores in the components barrel.
15
+ export { useWaterInstance } from './useWaterInstance.js';
16
+ export { default as WaterWaterfall } from './WaterWaterfall.js';
17
+ export { default as WaterFountain } from './WaterFountain.js';
18
+ export { default as WaterStream } from './WaterStream.js';
@@ -16,6 +16,9 @@ export interface OceanLayerProps extends ObjectReadyProps {
16
16
  sunIntensity?: number;
17
17
  /** Object host only — the placed body's transform. */
18
18
  meshSettings?: OceanMeshSettings;
19
+ /** Object host only — the parent (ObjectNode's CreatedObject wrapper) applies
20
+ * `meshSettings`; the body then reads it only for sizing. */
21
+ transformOwned?: boolean;
19
22
  /** Keyframes; the `ocean` domain drives config knobs per frame. */
20
23
  animations?: ObjectAnimations;
21
24
  /** Pointer bindings; same `ocean` domain. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/water/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAExJ,6EAA6E;AAC7E,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACrD,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,kBAAkB,CAAC;IAC5B;;4DAEwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,mEAAmE;IACnE,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,mFAAmF;IACnF,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/water/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAExJ,6EAA6E;AAC7E,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACrD,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,kBAAkB,CAAC;IAC5B;;4DAEwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;kEAC8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,mFAAmF;IACnF,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAClC"}