@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,53 @@
1
+ import { type RefObject } from 'react';
2
+ import * as THREE from 'three';
3
+ import type { AnimationOptions, MouseMoveDomain } from '@3driseai/3drise-core';
4
+ import { type LampTarget } from '../../hooks/useTimeLighting';
5
+ import type { ObjectReadyProps } from '../../types/objectReady';
6
+ export interface UrbanInstance {
7
+ object: THREE.Object3D;
8
+ /** The uniform sets that take the sun block (one per material family the variant owns). */
9
+ uniformSets: Array<Record<string, {
10
+ value: any;
11
+ }>>;
12
+ apply(cfg: Record<string, unknown>): void;
13
+ rebuild(cfg: Record<string, unknown>): void;
14
+ update(dt: number, camera: THREE.Camera): void;
15
+ /** Local-space bounds (the hook applies the object's world matrix). */
16
+ bounds(): THREE.Box3;
17
+ /** Lamp-gathering targets (local bounds): a uniform set to fill with the nearest lamps, or a baked
18
+ * lamp field (createLampField) for a large merged surface. Defaults to every uniform set with
19
+ * lamp uniforms at bounds(). */
20
+ lampTargets?(): LampTarget[];
21
+ dispose(): void;
22
+ }
23
+ /** One lamp-gathering target of an urban instance (bounds in the instance's local space). */
24
+ export type { LampTarget };
25
+ export interface UrbanVariantProps extends ObjectReadyProps {
26
+ config: {
27
+ type: string;
28
+ };
29
+ /** Scene object id: the live-edit handle is found by it. */
30
+ id?: string;
31
+ /** Keyframes on the config knobs (animations.urban.animations). */
32
+ keyframes?: AnimationOptions[];
33
+ /** Pointer bindings on the config knobs (mouseMove.urban). */
34
+ mouseMove?: MouseMoveDomain;
35
+ }
36
+ export interface UrbanCore {
37
+ DEFAULTS: Record<string, unknown>;
38
+ STRUCTURAL: readonly string[];
39
+ ANIMATABLE: ReadonlySet<string>;
40
+ createUniforms(): Record<string, {
41
+ value: any;
42
+ }>;
43
+ build(u: Record<string, {
44
+ value: any;
45
+ }>, cfg: Record<string, unknown>): UrbanInstance;
46
+ }
47
+ /** Texture refs ({ set, maps, tileSize }) with their maps filled in and on the CDN host — also refs one level down, in a map of them by key (a street grid's per-ground textures). */
48
+ export declare function resolveUrbanTextures<T extends Record<string, unknown>>(cfg: T): T;
49
+ export declare function useUrbanInstance(core: UrbanCore, props: UrbanVariantProps): {
50
+ rootRef: RefObject<THREE.Group | null>;
51
+ instance: UrbanInstance;
52
+ };
53
+ //# sourceMappingURL=useUrbanInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUrbanInstance.d.ts","sourceRoot":"","sources":["../../../src/components/urban/useUrbanInstance.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAsE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3G,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK/E,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IACvB,2FAA2F;IAC3F,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/C,uEAAuE;IACvE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;IACrB;;qCAEiC;IACjC,WAAW,CAAC,IAAI,UAAU,EAAE,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,6FAA6F;AAC7F,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACjD,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC;CACzF;AAYD,sLAAsL;AACtL,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAUjF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,GAAG;IAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAmC/I"}
@@ -0,0 +1,100 @@
1
+ // =============================================================================
2
+ // useUrbanInstance — the React side every urban component shares
3
+ // =============================================================================
4
+ //
5
+ // A variant's core (urban/core/<key>.ts, emitted from the lab module) is plain three.js:
6
+ // createUniforms(), build(u, cfg) -> { object, uniformSets, apply, rebuild, update, bounds,
7
+ // lampTargets?, dispose }. This hook wires it into the config pattern and the family's
8
+ // shared services, so a component is a dozen lines:
9
+ //
10
+ // - base config over the type's defaults (withConfigDefaults); texture refs resolved to
11
+ // map URLs (stored maps, else the studio's library resolver) and routed to the CDN;
12
+ // - built once; a change of a STRUCTURAL knob calls instance.rebuild(cfg); every other
13
+ // committed change and every per-frame override goes through instance.apply (the one
14
+ // door: live drag, keyframes, pointer bindings, timeline clips — useConfigDriver);
15
+ // - the time of day (useTimeLighting — the app's one pattern for TimeControls-lit objects):
16
+ // the scene sun on every uniform set with the object's `lighting` override (auto | day |
17
+ // night), and the lamp list: when a lamp registers, moves or changes, each surface
18
+ // re-gathers the lamps that reach its bounds (per chunk for long roads), in WORLD space like
19
+ // the shaders' vP; a target with a `field` (a street grid) re-bakes its lamp texture;
20
+ // - readiness (useObjectReady) and StrictMode-safe disposal (useCommittedInstance).
21
+ //
22
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
23
+ import { toCdn } from '@3driseai/3drise-core';
24
+ import { withConfigDefaults } from '../../utils/configAnimations.js';
25
+ import { useObjectReady } from '../../hooks/useObjectReady.js';
26
+ import { useConfigDriver } from '../../hooks/useConfigDriver.js';
27
+ import { useCommittedInstance } from '../../hooks/useCommittedInstance.js';
28
+ import { useTimeLighting } from '../../hooks/useTimeLighting.js';
29
+ import { resolveTextureMaps, textureResolverVersion } from './textureSetResolver.js';
30
+ const isTextureRef = (v) => !!v && typeof v === 'object' && !Array.isArray(v) && 'set' in v;
31
+ /** One ref with its maps filled in and on the CDN host. */
32
+ function resolveRef(ref) {
33
+ const maps = resolveTextureMaps(ref) ?? {};
34
+ const cdn = {};
35
+ for (const [m, url] of Object.entries(maps))
36
+ if (url)
37
+ cdn[m] = toCdn(url);
38
+ return { ...ref, maps: cdn };
39
+ }
40
+ /** Texture refs ({ set, maps, tileSize }) with their maps filled in and on the CDN host — also refs one level down, in a map of them by key (a street grid's per-ground textures). */
41
+ export function resolveUrbanTextures(cfg) {
42
+ let out = null;
43
+ for (const [k, v] of Object.entries(cfg)) {
44
+ if (!v || typeof v !== 'object' || Array.isArray(v))
45
+ continue;
46
+ if (isTextureRef(v)) {
47
+ (out ??= { ...cfg })[k] = resolveRef(v);
48
+ continue;
49
+ }
50
+ const entries = Object.entries(v);
51
+ if (!entries.length || !entries.every(([, x]) => isTextureRef(x)))
52
+ continue;
53
+ (out ??= { ...cfg })[k] = Object.fromEntries(entries.map(([id, x]) => [id, resolveRef(x)]));
54
+ }
55
+ return (out ?? cfg);
56
+ }
57
+ export function useUrbanInstance(core, props) {
58
+ const { config, id, keyframes, mouseMove, onObjectReady, onObjectDispose } = props;
59
+ const rootRef = useRef(null);
60
+ useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
61
+ const base = useMemo(() => withConfigDefaults(core.DEFAULTS, config), [config]); // eslint-disable-line react-hooks/exhaustive-deps
62
+ // The library resolver arrives after the files tree loads: re-resolve when it changes.
63
+ const resolverVersion = useResolverVersion();
64
+ const cfg = useMemo(() => resolveUrbanTextures(base), [base, resolverVersion]); // eslint-disable-line react-hooks/exhaustive-deps
65
+ const uniforms = useMemo(() => core.createUniforms(), []); // eslint-disable-line react-hooks/exhaustive-deps
66
+ // Built once (a structural change rebuilds in place); disposed on a real unmount only —
67
+ // StrictMode-safe (useCommittedInstance).
68
+ const instance = useCommittedInstance(() => core.build(uniforms, cfg), [uniforms]);
69
+ const push = useCallback((merged) => { instance.apply(merged); }, [instance]);
70
+ useConfigDriver({ rootRef, id, family: 'urban', base, structural: core.STRUCTURAL, allowed: core.ANIMATABLE, keyframes, mouseMove, push });
71
+ // The time of day (TimeControls) and the lamp list: the shared pattern (useTimeLighting),
72
+ // after the config driver's frame (as before: overrides land, then sun, update, lamps).
73
+ const { relight } = useTimeLighting({
74
+ rootRef, instance, lighting: cfg.lighting || 'auto',
75
+ update: (dt, state) => instance.update(dt, state.camera),
76
+ });
77
+ // Structural knobs rebuild; everything else applies.
78
+ const structuralKey = JSON.stringify(core.STRUCTURAL.map((k) => cfg[k]));
79
+ const builtWith = useRef(structuralKey);
80
+ useLayoutEffect(() => {
81
+ if (builtWith.current !== structuralKey) {
82
+ builtWith.current = structuralKey;
83
+ instance.rebuild(cfg);
84
+ }
85
+ else
86
+ instance.apply(cfg);
87
+ relight();
88
+ }, [instance, cfg, structuralKey, relight]);
89
+ return { rootRef, instance };
90
+ }
91
+ // A render-triggering view of the resolver version (polled once a second: the library loads once).
92
+ function useResolverVersion() {
93
+ const [v, setV] = useState(textureResolverVersion());
94
+ useEffect(() => {
95
+ const t = setInterval(() => { const n = textureResolverVersion(); if (n !== v)
96
+ setV(n); }, 1000);
97
+ return () => clearInterval(t);
98
+ }, [v]);
99
+ return v;
100
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { BushVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationBushProps extends VegetationVariantProps {
5
+ config: BushVegetationConfig;
6
+ }
7
+ declare const VegetationBush: React.FC<VegetationBushProps>;
8
+ export default VegetationBush;
9
+ //# sourceMappingURL=VegetationBush.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationBush.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationBush.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IAC/D,MAAM,EAAE,oBAAoB,CAAC;CAChC;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAOjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/bush.js';
5
+ // =============================================================================
6
+ // VegetationBush — Bush (type 'vegetation', config.type 'bush')
7
+ // =============================================================================
8
+ // A shrub grown from basal stems arching from the ground: a species' habit (boxwood, wild shrub, lavender, hydrangea, fern, juniper), dense shaped leaves, flower heads and berries, seasonal colour and wind. Use for gardens, hedgerows, undergrowth and planters.
9
+ // The construction lives in core/bush.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.bush,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.bush.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationBush = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationBush;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { CropsVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationCropsProps extends VegetationVariantProps {
5
+ config: CropsVegetationConfig;
6
+ }
7
+ declare const VegetationCrops: React.FC<VegetationCropsProps>;
8
+ export default VegetationCrops;
9
+ //# sourceMappingURL=VegetationCrops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationCrops.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationCrops.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAChE,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAOnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/crops.js';
5
+ // =============================================================================
6
+ // VegetationCrops — Crops (type 'vegetation', config.type 'crops')
7
+ // =============================================================================
8
+ // A planted bed: rows of one crop (tomato, pepper, corn, lettuce, cabbage, pumpkin, strawberry) on ridged soil, each plant a small branching model with its leaves and its produce, grown from seedlings with the growth knob and ripened with ripeness. Use for farms, gardens, greenhouses and food scenes.
9
+ // The construction lives in core/crops.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.crops,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.crops.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationCrops = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationCrops;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { FlowersVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationFlowersProps extends VegetationVariantProps {
5
+ config: FlowersVegetationConfig;
6
+ }
7
+ declare const VegetationFlowers: React.FC<VegetationFlowersProps>;
8
+ export default VegetationFlowers;
9
+ //# sourceMappingURL=VegetationFlowers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationFlowers.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationFlowers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IAClE,MAAM,EAAE,uBAAuB,CAAC;CACnC;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAOvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/flowers.js';
5
+ // =============================================================================
6
+ // VegetationFlowers — Flowers (type 'vegetation', config.type 'flowers')
7
+ // =============================================================================
8
+ // A bed or meadow of one flower species (daisy, tulip, poppy, sunflower, cosmos, lavender): stalks, petal heads that open from buds with the bloom knob, centres and leaves, nodding in the wind. Use for gardens, meadows, parks and planters.
9
+ // The construction lives in core/flowers.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.flowers,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.flowers.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationFlowers = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationFlowers;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { ForestVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationForestProps extends VegetationVariantProps {
5
+ config: ForestVegetationConfig;
6
+ }
7
+ declare const VegetationForest: React.FC<VegetationForestProps>;
8
+ export default VegetationForest;
9
+ //# sourceMappingURL=VegetationForest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationForest.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationForest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACjE,MAAM,EAAE,sBAAsB,CAAC;CAClC;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAOrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/forest.js';
5
+ // =============================================================================
6
+ // VegetationForest — Forest (type 'vegetation', config.type 'forest')
7
+ // =============================================================================
8
+ // A forest of hundreds to thousands of trees filling its box: a species mix (temperate, conifer, birch, mediterranean, tropical, savanna, blossom, winter) in groves and glades with undergrowth, every tree an instanced lit impostor and the nearest ones real trees. Use for woods, hillsides, landscapes and backdrops.
9
+ // The construction lives in core/forest.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.forest,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.forest.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationForest = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationForest;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { FruitVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationFruitProps extends VegetationVariantProps {
5
+ config: FruitVegetationConfig;
6
+ }
7
+ declare const VegetationFruit: React.FC<VegetationFruitProps>;
8
+ export default VegetationFruit;
9
+ //# sourceMappingURL=VegetationFruit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationFruit.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationFruit.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAChE,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAOnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/fruit.js';
5
+ // =============================================================================
6
+ // VegetationFruit — Fruit (type 'vegetation', config.type 'fruit')
7
+ // =============================================================================
8
+ // One kind of fruit (apple, orange, lemon, pear, banana, cherry, strawberry, grapes, watermelon, pineapple) as a single piece or a pile on the ground: a procedural body with its stem and leaves, a skin that ripens between two colours with the kind's pattern and gloss. Use for kitchens, markets, still lifes and food scenes.
9
+ // The construction lives in core/fruit.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.fruit,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.fruit.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationFruit = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationFruit;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { GrassVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationGrassProps extends VegetationVariantProps {
5
+ config: GrassVegetationConfig;
6
+ }
7
+ declare const VegetationGrass: React.FC<VegetationGrassProps>;
8
+ export default VegetationGrass;
9
+ //# sourceMappingURL=VegetationGrass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationGrass.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationGrass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAChE,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAOnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/grass.js';
5
+ // =============================================================================
6
+ // VegetationGrass — Grass (type 'vegetation', config.type 'grass')
7
+ // =============================================================================
8
+ // A field of bent grass blades in tufts and patches, with waves running through it in the wind, drying from the tips with the season, and scattered meadow flowers. Use for lawns, meadows, verges and any ground that should not be bare.
9
+ // The construction lives in core/grass.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.grass,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.grass.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationGrass = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationGrass;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { HedgeVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationHedgeProps extends VegetationVariantProps {
5
+ config: HedgeVegetationConfig;
6
+ }
7
+ declare const VegetationHedge: React.FC<VegetationHedgeProps>;
8
+ export default VegetationHedge;
9
+ //# sourceMappingURL=VegetationHedge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationHedge.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationHedge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAChE,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAOnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/hedge.js';
5
+ // =============================================================================
6
+ // VegetationHedge — Hedge (type 'vegetation', config.type 'hedge')
7
+ // =============================================================================
8
+ // A clipped hedge or topiary (box, dome, ball, cylinder, cone, spiral) filled with foliage: a dense skin of small leaves on the clipped surface, a shaded fill inside and twigs beneath, from razor-trimmed to shaggy. Use for gardens, borders, mazes, formal grounds and topiary.
9
+ // The construction lives in core/hedge.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.hedge,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.hedge.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationHedge = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationHedge;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { IvyVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationIvyProps extends VegetationVariantProps {
5
+ config: IvyVegetationConfig;
6
+ }
7
+ declare const VegetationIvy: React.FC<VegetationIvyProps>;
8
+ export default VegetationIvy;
9
+ //# sourceMappingURL=VegetationIvy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationIvy.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationIvy.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAC9D,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAO/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/ivy.js';
5
+ // =============================================================================
6
+ // VegetationIvy — Ivy (type 'vegetation', config.type 'ivy')
7
+ // =============================================================================
8
+ // Climbing ivy on the faces of its box: vines random-walked up a wall with branching and thinning, three-lobed leaves facing out, drawn from the ground with the growth knob so it can climb in animation. Use for walls, pillars, fences, ruins and facades.
9
+ // The construction lives in core/ivy.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.ivy,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.ivy.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationIvy = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationIvy;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { TreeVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationTreeProps extends VegetationVariantProps {
5
+ config: TreeVegetationConfig;
6
+ }
7
+ declare const VegetationTree: React.FC<VegetationTreeProps>;
8
+ export default VegetationTree;
9
+ //# sourceMappingURL=VegetationTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationTree.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IAC/D,MAAM,EAAE,oBAAoB,CAAC;CAChC;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAOjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/tree.js';
5
+ // =============================================================================
6
+ // VegetationTree — Tree (type 'vegetation', config.type 'tree')
7
+ // =============================================================================
8
+ // A parametric tree: a species' branching skeleton (oak, pine, birch, willow, palm, maple, cypress) with ridged bark, shaped leaves that turn with the season and let go, hanging fruit that ripens, and hierarchical wind. Use for parks, forests, gardens and any outdoor scene.
9
+ // The construction lives in core/tree.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.tree,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.tree.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationTree = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationTree;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { VegetableVegetationConfig } from '@3driseai/3drise-core';
3
+ import type { VegetationVariantProps } from './useVegetationInstance';
4
+ export interface VegetationVegetableProps extends VegetationVariantProps {
5
+ config: VegetableVegetationConfig;
6
+ }
7
+ declare const VegetationVegetable: React.FC<VegetationVegetableProps>;
8
+ export default VegetationVegetable;
9
+ //# sourceMappingURL=VegetationVegetable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VegetationVegetable.d.ts","sourceRoot":"","sources":["../../../src/components/vegetation/VegetationVegetable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACpE,MAAM,EAAE,yBAAyB,CAAC;CACrC;AAED,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAO3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DEFAULT_VEGETATION_OBJECTS, VEGETATION_OBJECTS_ANIMATABLE } from '@3driseai/3drise-core';
3
+ import { useVegetationInstance } from './useVegetationInstance.js';
4
+ import { createUniforms, build, STRUCTURAL } from './core/vegetable.js';
5
+ // =============================================================================
6
+ // VegetationVegetable — Vegetable (type 'vegetation', config.type 'vegetable')
7
+ // =============================================================================
8
+ // One kind of vegetable (tomato, pepper, pumpkin, carrot, corn, cucumber, eggplant, broccoli, potato, onion) as a single piece or a pile on the ground: a procedural body with its stem, calyx, tops or husk, a skin that ripens between two colours with the kind's pattern and gloss. Use for kitchens, markets, farms and food scenes.
9
+ // The construction lives in core/vegetable.ts (emitted from the lab); this component wires it into
10
+ // the config pattern and the scene sun through useVegetationInstance.
11
+ const CORE = {
12
+ DEFAULTS: DEFAULT_VEGETATION_OBJECTS.vegetable,
13
+ STRUCTURAL,
14
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push applies. */
15
+ ANIMATABLE: new Set(VEGETATION_OBJECTS_ANIMATABLE.vegetable.map((p) => p.value)),
16
+ createUniforms,
17
+ build,
18
+ };
19
+ const VegetationVegetable = (props) => {
20
+ const { rootRef, instance } = useVegetationInstance(CORE, props);
21
+ return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
22
+ };
23
+ export default VegetationVegetable;