@reearth/core 0.0.7-alpha.3 → 0.0.7-alpha.30

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 (441) hide show
  1. package/dist/core.js +44685 -39512
  2. package/dist/core.umd.cjs +3910 -3868
  3. package/dist/{index-DqatWUTw.js → index-DqGWVPtz.js} +0 -1
  4. package/dist/index.d.ts +110 -17
  5. package/package.json +29 -9
  6. package/src/Map/Layer/hooks.ts +6 -3
  7. package/src/Map/Layer/index.tsx +2 -0
  8. package/src/Map/Layers/hooks.ts +27 -0
  9. package/src/Map/Layers/index.tsx +12 -1
  10. package/src/Map/Layers/keys.ts +1 -0
  11. package/src/Map/Sketch/hooks.ts +437 -406
  12. package/src/Map/Sketch/index.tsx +65 -18
  13. package/src/Map/Sketch/sketchMachine.ts +359 -4
  14. package/src/Map/Sketch/sketchMachine.typegen.ts +58 -1
  15. package/src/Map/Sketch/types.ts +10 -20
  16. package/src/Map/Sketch/usePluginSketchLayer.ts +105 -0
  17. package/src/Map/Sketch/useSketch.ts +559 -0
  18. package/src/Map/Sketch/useSketchFeature.ts +198 -0
  19. package/src/Map/SpatialId/hooks.ts +293 -0
  20. package/src/Map/SpatialId/index.tsx +36 -0
  21. package/src/Map/SpatialId/types.ts +45 -0
  22. package/src/Map/SpatialId/utils.ts +79 -0
  23. package/src/Map/hooks.ts +51 -1
  24. package/src/Map/index.tsx +35 -0
  25. package/src/Map/ref.ts +21 -0
  26. package/src/Map/types/index.ts +29 -1
  27. package/src/Map/types/viewerProperty.ts +2 -0
  28. package/src/Visualizer/coreContext.tsx +2 -0
  29. package/src/Visualizer/hooks.ts +40 -2
  30. package/src/Visualizer/index.tsx +22 -1
  31. package/src/Visualizer/interactionMode.ts +2 -1
  32. package/src/engines/Cesium/Feature/Polygon/index.tsx +5 -3
  33. package/src/engines/Cesium/Feature/Raster/mvt.ts +2 -1
  34. package/src/engines/Cesium/Feature/Resource/utils.ts +86 -91
  35. package/src/engines/Cesium/Feature/Tileset/hooks.ts +52 -24
  36. package/src/engines/Cesium/Feature/context.ts +1 -0
  37. package/src/engines/Cesium/Feature/index.tsx +6 -2
  38. package/src/engines/Cesium/Feature/utils.tsx +9 -4
  39. package/src/engines/Cesium/Shaders/OverriddenShaders/GlobeFS/IBL.glsl +6 -10
  40. package/src/engines/Cesium/Sketch/ControlPoint.tsx +128 -24
  41. package/src/engines/Cesium/Sketch/ExtrudedControlPoints.tsx +70 -25
  42. package/src/engines/Cesium/Sketch/ExtrudedMeasurement.tsx +3 -1
  43. package/src/engines/Cesium/Sketch/ExtrudedPolygonEntity.tsx +14 -14
  44. package/src/engines/Cesium/Sketch/PolylineEntity.tsx +7 -4
  45. package/src/engines/Cesium/Sketch/SurfaceAddingPoints.tsx +60 -0
  46. package/src/engines/Cesium/Sketch/SurfaceControlPoints.tsx +125 -35
  47. package/src/engines/Cesium/Sketch/constants.ts +5 -0
  48. package/src/engines/Cesium/Sketch/index.tsx +68 -29
  49. package/src/engines/Cesium/SpatialId/index.tsx +42 -0
  50. package/src/engines/Cesium/common.ts +46 -12
  51. package/src/engines/Cesium/core/Globe.tsx +11 -2
  52. package/src/engines/Cesium/core/Imagery.tsx +16 -3
  53. package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapLabelImagery.tsx +8 -1
  54. package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapVectorMapLabel.tsx +14 -2
  55. package/src/engines/Cesium/core/labels/LabelImageryLayers.tsx +10 -1
  56. package/src/engines/Cesium/core/presets.ts +0 -11
  57. package/src/engines/Cesium/helpers/getGeometryFromEntity.ts +55 -0
  58. package/src/engines/Cesium/hooks/useEngineRef.ts +46 -1
  59. package/src/engines/Cesium/hooks/useOverrideGlobeShader/useOverrideGlobeShader.ts +1 -1
  60. package/src/engines/Cesium/hooks.ts +45 -4
  61. package/src/engines/Cesium/index.tsx +16 -3
  62. package/src/mantle/atoms/compute.ts +5 -1
  63. package/src/mantle/data/geojson.ts +53 -22
  64. package/src/mantle/types/appearance.ts +2 -2
  65. package/src/mantle/types/index.ts +3 -0
  66. package/src/utils/image.ts +1 -11
  67. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json +0 -1
  68. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json +0 -1
  69. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json +0 -1
  70. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json +0 -1
  71. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json +0 -1
  72. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json +0 -1
  73. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json +0 -1
  74. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json +0 -1
  75. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json +0 -1
  76. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json +0 -1
  77. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json +0 -1
  78. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json +0 -1
  79. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json +0 -1
  80. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json +0 -1
  81. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json +0 -1
  82. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json +0 -1
  83. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json +0 -1
  84. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json +0 -1
  85. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json +0 -1
  86. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json +0 -1
  87. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json +0 -1
  88. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json +0 -1
  89. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json +0 -1
  90. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json +0 -1
  91. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json +0 -1
  92. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json +0 -1
  93. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json +0 -1
  94. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json +0 -1
  95. package/dist/cesium/Assets/Images/bing_maps_credit.png +0 -0
  96. package/dist/cesium/Assets/Images/cesium_credit.png +0 -0
  97. package/dist/cesium/Assets/Images/google_earth_credit.png +0 -0
  98. package/dist/cesium/Assets/Images/ion-credit.png +0 -0
  99. package/dist/cesium/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
  100. package/dist/cesium/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
  101. package/dist/cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
  102. package/dist/cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
  103. package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
  104. package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
  105. package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
  106. package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
  107. package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
  108. package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
  109. package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
  110. package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
  111. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
  112. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
  113. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
  114. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
  115. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
  116. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
  117. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
  118. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
  119. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
  120. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
  121. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
  122. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
  123. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
  124. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
  125. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
  126. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
  127. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
  128. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
  129. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
  130. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
  131. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
  132. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
  133. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
  134. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
  135. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
  136. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
  137. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
  138. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
  139. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
  140. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
  141. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
  142. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
  143. package/dist/cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +0 -14
  144. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
  145. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
  146. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
  147. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
  148. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
  149. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
  150. package/dist/cesium/Assets/Textures/maki/airfield.png +0 -0
  151. package/dist/cesium/Assets/Textures/maki/airport.png +0 -0
  152. package/dist/cesium/Assets/Textures/maki/alcohol-shop.png +0 -0
  153. package/dist/cesium/Assets/Textures/maki/america-football.png +0 -0
  154. package/dist/cesium/Assets/Textures/maki/art-gallery.png +0 -0
  155. package/dist/cesium/Assets/Textures/maki/bakery.png +0 -0
  156. package/dist/cesium/Assets/Textures/maki/bank.png +0 -0
  157. package/dist/cesium/Assets/Textures/maki/bar.png +0 -0
  158. package/dist/cesium/Assets/Textures/maki/baseball.png +0 -0
  159. package/dist/cesium/Assets/Textures/maki/basketball.png +0 -0
  160. package/dist/cesium/Assets/Textures/maki/beer.png +0 -0
  161. package/dist/cesium/Assets/Textures/maki/bicycle.png +0 -0
  162. package/dist/cesium/Assets/Textures/maki/building.png +0 -0
  163. package/dist/cesium/Assets/Textures/maki/bus.png +0 -0
  164. package/dist/cesium/Assets/Textures/maki/cafe.png +0 -0
  165. package/dist/cesium/Assets/Textures/maki/camera.png +0 -0
  166. package/dist/cesium/Assets/Textures/maki/campsite.png +0 -0
  167. package/dist/cesium/Assets/Textures/maki/car.png +0 -0
  168. package/dist/cesium/Assets/Textures/maki/cemetery.png +0 -0
  169. package/dist/cesium/Assets/Textures/maki/cesium.png +0 -0
  170. package/dist/cesium/Assets/Textures/maki/chemist.png +0 -0
  171. package/dist/cesium/Assets/Textures/maki/cinema.png +0 -0
  172. package/dist/cesium/Assets/Textures/maki/circle-stroked.png +0 -0
  173. package/dist/cesium/Assets/Textures/maki/circle.png +0 -0
  174. package/dist/cesium/Assets/Textures/maki/city.png +0 -0
  175. package/dist/cesium/Assets/Textures/maki/clothing-store.png +0 -0
  176. package/dist/cesium/Assets/Textures/maki/college.png +0 -0
  177. package/dist/cesium/Assets/Textures/maki/commercial.png +0 -0
  178. package/dist/cesium/Assets/Textures/maki/cricket.png +0 -0
  179. package/dist/cesium/Assets/Textures/maki/cross.png +0 -0
  180. package/dist/cesium/Assets/Textures/maki/dam.png +0 -0
  181. package/dist/cesium/Assets/Textures/maki/danger.png +0 -0
  182. package/dist/cesium/Assets/Textures/maki/disability.png +0 -0
  183. package/dist/cesium/Assets/Textures/maki/dog-park.png +0 -0
  184. package/dist/cesium/Assets/Textures/maki/embassy.png +0 -0
  185. package/dist/cesium/Assets/Textures/maki/emergency-telephone.png +0 -0
  186. package/dist/cesium/Assets/Textures/maki/entrance.png +0 -0
  187. package/dist/cesium/Assets/Textures/maki/farm.png +0 -0
  188. package/dist/cesium/Assets/Textures/maki/fast-food.png +0 -0
  189. package/dist/cesium/Assets/Textures/maki/ferry.png +0 -0
  190. package/dist/cesium/Assets/Textures/maki/fire-station.png +0 -0
  191. package/dist/cesium/Assets/Textures/maki/fuel.png +0 -0
  192. package/dist/cesium/Assets/Textures/maki/garden.png +0 -0
  193. package/dist/cesium/Assets/Textures/maki/gift.png +0 -0
  194. package/dist/cesium/Assets/Textures/maki/golf.png +0 -0
  195. package/dist/cesium/Assets/Textures/maki/grocery.png +0 -0
  196. package/dist/cesium/Assets/Textures/maki/hairdresser.png +0 -0
  197. package/dist/cesium/Assets/Textures/maki/harbor.png +0 -0
  198. package/dist/cesium/Assets/Textures/maki/heart.png +0 -0
  199. package/dist/cesium/Assets/Textures/maki/heliport.png +0 -0
  200. package/dist/cesium/Assets/Textures/maki/hospital.png +0 -0
  201. package/dist/cesium/Assets/Textures/maki/ice-cream.png +0 -0
  202. package/dist/cesium/Assets/Textures/maki/industrial.png +0 -0
  203. package/dist/cesium/Assets/Textures/maki/land-use.png +0 -0
  204. package/dist/cesium/Assets/Textures/maki/laundry.png +0 -0
  205. package/dist/cesium/Assets/Textures/maki/library.png +0 -0
  206. package/dist/cesium/Assets/Textures/maki/lighthouse.png +0 -0
  207. package/dist/cesium/Assets/Textures/maki/lodging.png +0 -0
  208. package/dist/cesium/Assets/Textures/maki/logging.png +0 -0
  209. package/dist/cesium/Assets/Textures/maki/london-underground.png +0 -0
  210. package/dist/cesium/Assets/Textures/maki/marker-stroked.png +0 -0
  211. package/dist/cesium/Assets/Textures/maki/marker.png +0 -0
  212. package/dist/cesium/Assets/Textures/maki/minefield.png +0 -0
  213. package/dist/cesium/Assets/Textures/maki/mobilephone.png +0 -0
  214. package/dist/cesium/Assets/Textures/maki/monument.png +0 -0
  215. package/dist/cesium/Assets/Textures/maki/museum.png +0 -0
  216. package/dist/cesium/Assets/Textures/maki/music.png +0 -0
  217. package/dist/cesium/Assets/Textures/maki/oil-well.png +0 -0
  218. package/dist/cesium/Assets/Textures/maki/park.png +0 -0
  219. package/dist/cesium/Assets/Textures/maki/park2.png +0 -0
  220. package/dist/cesium/Assets/Textures/maki/parking-garage.png +0 -0
  221. package/dist/cesium/Assets/Textures/maki/parking.png +0 -0
  222. package/dist/cesium/Assets/Textures/maki/pharmacy.png +0 -0
  223. package/dist/cesium/Assets/Textures/maki/pitch.png +0 -0
  224. package/dist/cesium/Assets/Textures/maki/place-of-worship.png +0 -0
  225. package/dist/cesium/Assets/Textures/maki/playground.png +0 -0
  226. package/dist/cesium/Assets/Textures/maki/police.png +0 -0
  227. package/dist/cesium/Assets/Textures/maki/polling-place.png +0 -0
  228. package/dist/cesium/Assets/Textures/maki/post.png +0 -0
  229. package/dist/cesium/Assets/Textures/maki/prison.png +0 -0
  230. package/dist/cesium/Assets/Textures/maki/rail-above.png +0 -0
  231. package/dist/cesium/Assets/Textures/maki/rail-light.png +0 -0
  232. package/dist/cesium/Assets/Textures/maki/rail-metro.png +0 -0
  233. package/dist/cesium/Assets/Textures/maki/rail-underground.png +0 -0
  234. package/dist/cesium/Assets/Textures/maki/rail.png +0 -0
  235. package/dist/cesium/Assets/Textures/maki/religious-christian.png +0 -0
  236. package/dist/cesium/Assets/Textures/maki/religious-jewish.png +0 -0
  237. package/dist/cesium/Assets/Textures/maki/religious-muslim.png +0 -0
  238. package/dist/cesium/Assets/Textures/maki/restaurant.png +0 -0
  239. package/dist/cesium/Assets/Textures/maki/roadblock.png +0 -0
  240. package/dist/cesium/Assets/Textures/maki/rocket.png +0 -0
  241. package/dist/cesium/Assets/Textures/maki/school.png +0 -0
  242. package/dist/cesium/Assets/Textures/maki/scooter.png +0 -0
  243. package/dist/cesium/Assets/Textures/maki/shop.png +0 -0
  244. package/dist/cesium/Assets/Textures/maki/skiing.png +0 -0
  245. package/dist/cesium/Assets/Textures/maki/slaughterhouse.png +0 -0
  246. package/dist/cesium/Assets/Textures/maki/soccer.png +0 -0
  247. package/dist/cesium/Assets/Textures/maki/square-stroked.png +0 -0
  248. package/dist/cesium/Assets/Textures/maki/square.png +0 -0
  249. package/dist/cesium/Assets/Textures/maki/star-stroked.png +0 -0
  250. package/dist/cesium/Assets/Textures/maki/star.png +0 -0
  251. package/dist/cesium/Assets/Textures/maki/suitcase.png +0 -0
  252. package/dist/cesium/Assets/Textures/maki/swimming.png +0 -0
  253. package/dist/cesium/Assets/Textures/maki/telephone.png +0 -0
  254. package/dist/cesium/Assets/Textures/maki/tennis.png +0 -0
  255. package/dist/cesium/Assets/Textures/maki/theatre.png +0 -0
  256. package/dist/cesium/Assets/Textures/maki/toilets.png +0 -0
  257. package/dist/cesium/Assets/Textures/maki/town-hall.png +0 -0
  258. package/dist/cesium/Assets/Textures/maki/town.png +0 -0
  259. package/dist/cesium/Assets/Textures/maki/triangle-stroked.png +0 -0
  260. package/dist/cesium/Assets/Textures/maki/triangle.png +0 -0
  261. package/dist/cesium/Assets/Textures/maki/village.png +0 -0
  262. package/dist/cesium/Assets/Textures/maki/warehouse.png +0 -0
  263. package/dist/cesium/Assets/Textures/maki/waste-basket.png +0 -0
  264. package/dist/cesium/Assets/Textures/maki/water.png +0 -0
  265. package/dist/cesium/Assets/Textures/maki/wetland.png +0 -0
  266. package/dist/cesium/Assets/Textures/maki/zoo.png +0 -0
  267. package/dist/cesium/Assets/Textures/moonSmall.jpg +0 -0
  268. package/dist/cesium/Assets/Textures/pin.svg +0 -1
  269. package/dist/cesium/Assets/Textures/waterNormals.jpg +0 -0
  270. package/dist/cesium/Assets/Textures/waterNormalsSmall.jpg +0 -0
  271. package/dist/cesium/Assets/approximateTerrainHeights.json +0 -1
  272. package/dist/cesium/ThirdParty/Workers/package.json +0 -1
  273. package/dist/cesium/ThirdParty/Workers/pako_deflate.min.js +0 -1
  274. package/dist/cesium/ThirdParty/Workers/pako_inflate.min.js +0 -1
  275. package/dist/cesium/ThirdParty/Workers/z-worker-pako.js +0 -1
  276. package/dist/cesium/ThirdParty/basis_transcoder.wasm +0 -0
  277. package/dist/cesium/ThirdParty/draco_decoder.wasm +0 -0
  278. package/dist/cesium/ThirdParty/google-earth-dbroot-parser.js +0 -1
  279. package/dist/cesium/Widgets/Animation/Animation.css +0 -127
  280. package/dist/cesium/Widgets/Animation/lighter.css +0 -70
  281. package/dist/cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css +0 -108
  282. package/dist/cesium/Widgets/BaseLayerPicker/lighter.css +0 -22
  283. package/dist/cesium/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css +0 -102
  284. package/dist/cesium/Widgets/CesiumInspector/CesiumInspector.css +0 -113
  285. package/dist/cesium/Widgets/CesiumWidget/CesiumWidget.css +0 -124
  286. package/dist/cesium/Widgets/CesiumWidget/lighter.css +0 -14
  287. package/dist/cesium/Widgets/FullscreenButton/FullscreenButton.css +0 -8
  288. package/dist/cesium/Widgets/Geocoder/Geocoder.css +0 -70
  289. package/dist/cesium/Widgets/Geocoder/lighter.css +0 -17
  290. package/dist/cesium/Widgets/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +0 -27
  291. package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
  292. package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
  293. package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
  294. package/dist/cesium/Widgets/Images/ImageryProviders/bingAerial.png +0 -0
  295. package/dist/cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png +0 -0
  296. package/dist/cesium/Widgets/Images/ImageryProviders/bingRoads.png +0 -0
  297. package/dist/cesium/Widgets/Images/ImageryProviders/blueMarble.png +0 -0
  298. package/dist/cesium/Widgets/Images/ImageryProviders/earthAtNight.png +0 -0
  299. package/dist/cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
  300. package/dist/cesium/Widgets/Images/ImageryProviders/mapboxSatellite.png +0 -0
  301. package/dist/cesium/Widgets/Images/ImageryProviders/mapboxStreets.png +0 -0
  302. package/dist/cesium/Widgets/Images/ImageryProviders/mapboxTerrain.png +0 -0
  303. package/dist/cesium/Widgets/Images/ImageryProviders/naturalEarthII.png +0 -0
  304. package/dist/cesium/Widgets/Images/ImageryProviders/openStreetMap.png +0 -0
  305. package/dist/cesium/Widgets/Images/ImageryProviders/sentinel-2.png +0 -0
  306. package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
  307. package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
  308. package/dist/cesium/Widgets/Images/ImageryProviders/stamenToner.png +0 -0
  309. package/dist/cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png +0 -0
  310. package/dist/cesium/Widgets/Images/NavigationHelp/Mouse.svg +0 -84
  311. package/dist/cesium/Widgets/Images/NavigationHelp/MouseLeft.svg +0 -76
  312. package/dist/cesium/Widgets/Images/NavigationHelp/MouseMiddle.svg +0 -76
  313. package/dist/cesium/Widgets/Images/NavigationHelp/MouseRight.svg +0 -76
  314. package/dist/cesium/Widgets/Images/NavigationHelp/Touch.svg +0 -120
  315. package/dist/cesium/Widgets/Images/NavigationHelp/TouchDrag.svg +0 -129
  316. package/dist/cesium/Widgets/Images/NavigationHelp/TouchRotate.svg +0 -76
  317. package/dist/cesium/Widgets/Images/NavigationHelp/TouchTilt.svg +0 -135
  318. package/dist/cesium/Widgets/Images/NavigationHelp/TouchZoom.svg +0 -74
  319. package/dist/cesium/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
  320. package/dist/cesium/Widgets/Images/TerrainProviders/Ellipsoid.png +0 -0
  321. package/dist/cesium/Widgets/Images/TimelineIcons.png +0 -0
  322. package/dist/cesium/Widgets/Images/info-loading.gif +0 -0
  323. package/dist/cesium/Widgets/InfoBox/InfoBox.css +0 -92
  324. package/dist/cesium/Widgets/InfoBox/InfoBoxDescription.css +0 -178
  325. package/dist/cesium/Widgets/NavigationHelpButton/NavigationHelpButton.css +0 -93
  326. package/dist/cesium/Widgets/NavigationHelpButton/lighter.css +0 -38
  327. package/dist/cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.css +0 -15
  328. package/dist/cesium/Widgets/ProjectionPicker/ProjectionPicker.css +0 -38
  329. package/dist/cesium/Widgets/SceneModePicker/SceneModePicker.css +0 -56
  330. package/dist/cesium/Widgets/SelectionIndicator/SelectionIndicator.css +0 -20
  331. package/dist/cesium/Widgets/Timeline/Timeline.css +0 -103
  332. package/dist/cesium/Widgets/Timeline/lighter.css +0 -23
  333. package/dist/cesium/Widgets/VRButton/VRButton.css +0 -8
  334. package/dist/cesium/Widgets/Viewer/Viewer.css +0 -107
  335. package/dist/cesium/Widgets/VoxelInspector/VoxelInspector.css +0 -16
  336. package/dist/cesium/Widgets/lighter.css +0 -237
  337. package/dist/cesium/Widgets/lighterShared.css +0 -46
  338. package/dist/cesium/Widgets/shared.css +0 -103
  339. package/dist/cesium/Widgets/widgets.css +0 -1346
  340. package/dist/cesium/Workers/chunk-2ED5WI77.js +0 -26
  341. package/dist/cesium/Workers/chunk-2MBPFWCP.js +0 -26
  342. package/dist/cesium/Workers/chunk-3C74MLG3.js +0 -26
  343. package/dist/cesium/Workers/chunk-45U7TTT3.js +0 -26
  344. package/dist/cesium/Workers/chunk-4N7SRDH5.js +0 -26
  345. package/dist/cesium/Workers/chunk-4T6AS6BZ.js +0 -26
  346. package/dist/cesium/Workers/chunk-5AG2MVRM.js +0 -26
  347. package/dist/cesium/Workers/chunk-5Z6L2FHX.js +0 -26
  348. package/dist/cesium/Workers/chunk-6AUUBDOF.js +0 -26
  349. package/dist/cesium/Workers/chunk-74N6MC2V.js +0 -26
  350. package/dist/cesium/Workers/chunk-7VJK3KHI.js +0 -26
  351. package/dist/cesium/Workers/chunk-7VZHIB6P.js +0 -26
  352. package/dist/cesium/Workers/chunk-7X2YQ6I4.js +0 -27
  353. package/dist/cesium/Workers/chunk-B2SKQ7LU.js +0 -26
  354. package/dist/cesium/Workers/chunk-B4TQDFIE.js +0 -26
  355. package/dist/cesium/Workers/chunk-B6TRTFAA.js +0 -26
  356. package/dist/cesium/Workers/chunk-BK3HCS7I.js +0 -26
  357. package/dist/cesium/Workers/chunk-BOPB43LN.js +0 -26
  358. package/dist/cesium/Workers/chunk-C6DMEJQ7.js +0 -26
  359. package/dist/cesium/Workers/chunk-CN7UN2OZ.js +0 -26
  360. package/dist/cesium/Workers/chunk-CSISXEG7.js +0 -26
  361. package/dist/cesium/Workers/chunk-CUOR5F7T.js +0 -28
  362. package/dist/cesium/Workers/chunk-DGCK3LD2.js +0 -30
  363. package/dist/cesium/Workers/chunk-DXEZYE3K.js +0 -62
  364. package/dist/cesium/Workers/chunk-EXBFEYPQ.js +0 -26
  365. package/dist/cesium/Workers/chunk-FK5KFB6H.js +0 -26
  366. package/dist/cesium/Workers/chunk-HPBHKP5S.js +0 -26
  367. package/dist/cesium/Workers/chunk-JCJ24DHF.js +0 -26
  368. package/dist/cesium/Workers/chunk-JEWHFDAA.js +0 -26
  369. package/dist/cesium/Workers/chunk-JZLZJJQD.js +0 -26
  370. package/dist/cesium/Workers/chunk-KRZBI2MU.js +0 -26
  371. package/dist/cesium/Workers/chunk-KTTUANTJ.js +0 -26
  372. package/dist/cesium/Workers/chunk-LDCAXLGS.js +0 -26
  373. package/dist/cesium/Workers/chunk-LOPN5R3I.js +0 -26
  374. package/dist/cesium/Workers/chunk-MDLPQIMP.js +0 -26
  375. package/dist/cesium/Workers/chunk-MRR3RGFO.js +0 -26
  376. package/dist/cesium/Workers/chunk-NPBZI5YA.js +0 -26
  377. package/dist/cesium/Workers/chunk-NUSW5B6A.js +0 -26
  378. package/dist/cesium/Workers/chunk-OUXRUXNB.js +0 -26
  379. package/dist/cesium/Workers/chunk-QPOPEH3M.js +0 -26
  380. package/dist/cesium/Workers/chunk-R2AN7EKC.js +0 -26
  381. package/dist/cesium/Workers/chunk-RURL6ZX2.js +0 -26
  382. package/dist/cesium/Workers/chunk-SUQM3OSW.js +0 -28
  383. package/dist/cesium/Workers/chunk-UBIRX2SP.js +0 -26
  384. package/dist/cesium/Workers/chunk-VAKC5J5C.js +0 -26
  385. package/dist/cesium/Workers/chunk-VHNZBQTR.js +0 -27
  386. package/dist/cesium/Workers/chunk-VKV642QV.js +0 -26
  387. package/dist/cesium/Workers/chunk-VMSXG4OA.js +0 -26
  388. package/dist/cesium/Workers/chunk-VQZSIOZW.js +0 -26
  389. package/dist/cesium/Workers/chunk-WZUWQMI7.js +0 -26
  390. package/dist/cesium/Workers/chunk-YBI55DLZ.js +0 -26
  391. package/dist/cesium/Workers/chunk-YEJWCH6C.js +0 -26
  392. package/dist/cesium/Workers/chunk-YPDO7SPO.js +0 -26
  393. package/dist/cesium/Workers/chunk-ZYWD6OQH.js +0 -26
  394. package/dist/cesium/Workers/combineGeometry.js +0 -26
  395. package/dist/cesium/Workers/createBoxGeometry.js +0 -26
  396. package/dist/cesium/Workers/createBoxOutlineGeometry.js +0 -26
  397. package/dist/cesium/Workers/createCircleGeometry.js +0 -26
  398. package/dist/cesium/Workers/createCircleOutlineGeometry.js +0 -26
  399. package/dist/cesium/Workers/createCoplanarPolygonGeometry.js +0 -26
  400. package/dist/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +0 -26
  401. package/dist/cesium/Workers/createCorridorGeometry.js +0 -26
  402. package/dist/cesium/Workers/createCorridorOutlineGeometry.js +0 -26
  403. package/dist/cesium/Workers/createCylinderGeometry.js +0 -26
  404. package/dist/cesium/Workers/createCylinderOutlineGeometry.js +0 -26
  405. package/dist/cesium/Workers/createEllipseGeometry.js +0 -26
  406. package/dist/cesium/Workers/createEllipseOutlineGeometry.js +0 -26
  407. package/dist/cesium/Workers/createEllipsoidGeometry.js +0 -26
  408. package/dist/cesium/Workers/createEllipsoidOutlineGeometry.js +0 -26
  409. package/dist/cesium/Workers/createFrustumGeometry.js +0 -26
  410. package/dist/cesium/Workers/createFrustumOutlineGeometry.js +0 -26
  411. package/dist/cesium/Workers/createGeometry.js +0 -26
  412. package/dist/cesium/Workers/createGroundPolylineGeometry.js +0 -26
  413. package/dist/cesium/Workers/createPlaneGeometry.js +0 -26
  414. package/dist/cesium/Workers/createPlaneOutlineGeometry.js +0 -26
  415. package/dist/cesium/Workers/createPolygonGeometry.js +0 -26
  416. package/dist/cesium/Workers/createPolygonOutlineGeometry.js +0 -26
  417. package/dist/cesium/Workers/createPolylineGeometry.js +0 -26
  418. package/dist/cesium/Workers/createPolylineVolumeGeometry.js +0 -26
  419. package/dist/cesium/Workers/createPolylineVolumeOutlineGeometry.js +0 -26
  420. package/dist/cesium/Workers/createRectangleGeometry.js +0 -26
  421. package/dist/cesium/Workers/createRectangleOutlineGeometry.js +0 -26
  422. package/dist/cesium/Workers/createSimplePolylineGeometry.js +0 -26
  423. package/dist/cesium/Workers/createSphereGeometry.js +0 -26
  424. package/dist/cesium/Workers/createSphereOutlineGeometry.js +0 -26
  425. package/dist/cesium/Workers/createTaskProcessorWorker.js +0 -26
  426. package/dist/cesium/Workers/createVectorTileClampedPolylines.js +0 -26
  427. package/dist/cesium/Workers/createVectorTileGeometries.js +0 -26
  428. package/dist/cesium/Workers/createVectorTilePoints.js +0 -26
  429. package/dist/cesium/Workers/createVectorTilePolygons.js +0 -26
  430. package/dist/cesium/Workers/createVectorTilePolylines.js +0 -26
  431. package/dist/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -26
  432. package/dist/cesium/Workers/createVerticesFromHeightmap.js +0 -26
  433. package/dist/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -26
  434. package/dist/cesium/Workers/createWallGeometry.js +0 -26
  435. package/dist/cesium/Workers/createWallOutlineGeometry.js +0 -26
  436. package/dist/cesium/Workers/decodeDraco.js +0 -26
  437. package/dist/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +0 -26
  438. package/dist/cesium/Workers/decodeI3S.js +0 -26
  439. package/dist/cesium/Workers/transcodeKTX2.js +0 -56
  440. package/dist/cesium/Workers/transferTypedArrayTest.js +0 -26
  441. package/dist/cesium/Workers/upsampleQuantizedTerrainMesh.js +0 -26
@@ -1,4 +1,3 @@
1
- window.CESIUM_BASE_URL = "/cesium/";
2
1
  var oe = typeof global < "u" ? global : typeof self < "u" ? self : typeof window < "u" ? window : {}, P = [], M = [], Qt = typeof Uint8Array < "u" ? Uint8Array : Array, je = !1;
3
2
  function at() {
4
3
  je = !0;
package/dist/index.d.ts CHANGED
@@ -17,7 +17,6 @@ import { PropsWithoutRef } from 'react';
17
17
  import { ReactNode } from 'react';
18
18
  import { RefAttributes } from 'react';
19
19
  import { RefObject } from 'react';
20
- import { RequireExactlyOne } from 'type-fest';
21
20
  import { WritableAtom } from 'jotai';
22
21
 
23
22
  export declare type AmbientOcclusionProperty = {
@@ -164,13 +163,12 @@ export declare type Cesium3DTilesAppearance = {
164
163
  color?: string;
165
164
  styleUrl?: string;
166
165
  shadows?: "disabled" | "enabled" | "cast_only" | "receive_only";
167
- colorBlendMode?: "highlight" | "replace" | "mix" | "default";
166
+ colorBlendMode?: "highlight" | "replace" | "mix";
168
167
  edgeWidth?: number;
169
168
  edgeColor?: string;
170
169
  selectedFeatureColor?: string;
171
170
  disableIndexingFeature?: boolean;
172
171
  tileset?: string;
173
- apiKey?: string;
174
172
  experimental_clipping?: EXPERIMENTAL_clipping;
175
173
  pointSize?: number;
176
174
  meta?: unknown;
@@ -278,6 +276,7 @@ declare type CommonProps = {
278
276
  isHidden?: boolean;
279
277
  isSelected?: boolean;
280
278
  meta?: Record<string, unknown>;
279
+ sketchEditingFeature?: SketchEditingFeature;
281
280
  };
282
281
 
283
282
  export declare function computeAtom(cache?: typeof globalDataFeaturesCache): WritableAtom<ComputedLayer | undefined, Command, void>;
@@ -299,6 +298,8 @@ export declare type ConditionsExpression = {
299
298
  conditions: [string, string][];
300
299
  };
301
300
 
301
+ declare type ControlPointMouseEventHandler = (index: number, isExtrudedPoint: boolean, type: "mousedown" | "click") => void;
302
+
302
303
  export declare function convertLayer(l: Layer): LegacyLayer | undefined;
303
304
 
304
305
  export declare function convertLegacyCluster(clusters: LegacyCluster[]): Cluster[];
@@ -320,6 +321,8 @@ declare type CoreContext = {
320
321
  handleCameraForceHorizontalRollChange?: (enable?: boolean) => void;
321
322
  handleInteractionModeChange?: (mode?: InteractionModeType | undefined) => void;
322
323
  onSketchPluginFeatureCreate?: (cb: SketchEventCallback) => void;
324
+ onSketchPluginFeatureUpdate?: (cb: SketchEventCallback) => void;
325
+ onSketchPluginFeatureDelete?: (cb: SketchEventCallback) => void;
323
326
  onSketchTypeChange?: (cb: (type: SketchType | undefined) => void) => void;
324
327
  onLayerVisibility?: (cb: (e: LayerVisibilityEvent) => void) => void;
325
328
  onLayerLoad?: (cb: (e: LayerLoadEvent) => void) => void;
@@ -352,6 +355,7 @@ export declare type CoreVisualizerProps = {
352
355
  ready?: boolean;
353
356
  hiddenLayers?: string[];
354
357
  zoomedLayerId?: string;
358
+ displayCredits?: boolean;
355
359
  onCameraChange?: (camera: Camera) => void;
356
360
  onLayerDrop?: (layerId: string, propertyKey: string, position: LatLng | undefined) => void;
357
361
  onLayerSelect?: (layerId: string | undefined, layer: (() => Promise<ComputedLayer | undefined>) | undefined, feature: ComputedFeature | undefined, reason: LayerSelectionReason | undefined) => void;
@@ -359,7 +363,15 @@ export declare type CoreVisualizerProps = {
359
363
  onMount?: () => void;
360
364
  onSketchTypeChangeProp?: (type: SketchType | undefined) => void;
361
365
  onSketchFeatureCreate?: (feature: SketchFeature | null) => void;
366
+ onSketchFeatureUpdate?: (feature: SketchFeature | null) => void;
367
+ onSketchFeatureDelete?: (layerId: string, featureId: string) => void;
362
368
  onInteractionModeChange?: (mode: InteractionModeType) => void;
369
+ onAPIReady?: () => void;
370
+ onCreditsUpdate?: (credits: Credit[]) => void;
371
+ };
372
+
373
+ export declare type Credit = {
374
+ html?: string;
363
375
  };
364
376
 
365
377
  export declare type CursorType = "auto" | "grab" | "crosshair";
@@ -376,6 +388,9 @@ export declare type Data = {
376
388
  updateInterval?: number;
377
389
  parameters?: Record<string, any>;
378
390
  idProperty?: string;
391
+ serviceTokens?: {
392
+ googleMapApiKey?: string;
393
+ };
379
394
  time?: {
380
395
  property?: string;
381
396
  interval?: number;
@@ -489,6 +504,7 @@ export declare type EngineProps = {
489
504
  isLayerDragging?: boolean;
490
505
  shouldRender?: boolean;
491
506
  meta?: Record<string, unknown>;
507
+ displayCredits?: boolean;
492
508
  layersRef?: RefObject<LayersRef>;
493
509
  requestingRenderMode?: MutableRefObject<RequestingRenderMode>;
494
510
  timelineManagerRef?: TimelineManagerRef;
@@ -503,6 +519,7 @@ export declare type EngineProps = {
503
519
  onLayerSelectWithRectStart?: (e: LayerSelectWithRectStart) => void;
504
520
  onLayerSelectWithRectMove?: (e: LayerSelectWithRectMove) => void;
505
521
  onLayerSelectWithRectEnd?: (e: LayerSelectWithRectEnd) => void;
522
+ onCreditsUpdate?: (credits: Credit[]) => void;
506
523
  };
507
524
 
508
525
  export declare type EngineRef = {
@@ -531,7 +548,8 @@ export declare type EngineRef = {
531
548
  isPositionVisible: (position: [x: number, y: number, z: number]) => boolean;
532
549
  setView: (camera: CameraPosition) => void;
533
550
  toWindowPosition: (position: [x: number, y: number, z: number]) => [x: number, y: number] | undefined;
534
- getExtrudedHeight: (position: [x: number, y: number, z: number], windowPosition: [x: number, y: number]) => number | undefined;
551
+ getExtrudedHeight: (position: [x: number, y: number, z: number], windowPosition: [x: number, y: number], allowNegative?: boolean) => number | undefined;
552
+ getExtrudedPoint: (position: [x: number, y: number, z: number], extrutedHeight: number) => Position3d | undefined;
535
553
  getSurfaceDistance: (point1: Cartesian3, point2: Cartesian3) => number | undefined;
536
554
  equalsEpsilon2d: (point1: Position2d, point2: Position2d, relativeEpsilon: number | undefined, absoluteEpsilon: number | undefined) => boolean;
537
555
  equalsEpsilon3d: (point1: Position3d, point2: Position3d, relativeEpsilon: number | undefined, absoluteEpsilon: number | undefined) => boolean;
@@ -589,6 +607,8 @@ export declare type EngineRef = {
589
607
  selectFeatures: (layerId: string, featureId: string[]) => void;
590
608
  unselectFeatures: (layerId: string, featureId: string[]) => void;
591
609
  pickManyFromViewport: (windowPosition: [x: number, y: number], windowWidth: number, windowHeight: number, condition?: (f: PickedFeature) => boolean) => PickedFeature[] | undefined;
610
+ calcRectangleControlPoint: (p1: Position3d, p2: Position3d, p3: Position3d) => [p1: Position3d, p2: Position3d, p3: Position3d];
611
+ getCredits: () => Credit[] | undefined;
592
612
  } & MouseEventHandles;
593
613
 
594
614
  export declare const engines: {
@@ -747,11 +767,6 @@ export declare type FrustumAppearance = {
747
767
 
748
768
  export declare type Geometry = Point | LineString | Polygon_2 | MultiPoint | MultiLineString | MultiPolygon;
749
769
 
750
- declare type GeometryOptions = {
751
- type: SketchType;
752
- controlPoints: readonly Position3d[];
753
- };
754
-
755
770
  export declare type GeometryOptionsXYZ = {
756
771
  type: SketchType;
757
772
  controlPoints: Position3d[];
@@ -844,7 +859,7 @@ declare type InfoboxProperty = {
844
859
 
845
860
  export declare const INTERACTION_MODES: Record<InteractionModeType, number>;
846
861
 
847
- export declare type InteractionModeType = "default" | "move" | "selection" | "sketch";
862
+ export declare type InteractionModeType = "default" | "move" | "selection" | "sketch" | "spatialId";
848
863
 
849
864
  export declare function isSketchType(value: unknown): value is SketchType;
850
865
 
@@ -954,6 +969,8 @@ export declare type LayersRef = {
954
969
  }) | null) => void;
955
970
  deleteLayer: (...ids: string[]) => void;
956
971
  isLayer: (obj: any) => obj is LazyLayer;
972
+ isComputedLayer: (obj: any) => obj is ComputedLayer;
973
+ isTempLayer: (layerId?: string) => boolean;
957
974
  layers: () => LazyLayer[];
958
975
  walk: <T>(fn: (layer: LazyLayer, index: number, parents: LazyLayer[]) => T | void) => T | undefined;
959
976
  find: (fn: (layer: LazyLayer, index: number, parents: LazyLayer[]) => boolean) => LazyLayer | undefined;
@@ -984,6 +1001,7 @@ export declare type LayerVisibilityEvent = {
984
1001
  */
985
1002
  export declare type LazyLayer = Readonly<Layer> & {
986
1003
  computed?: Readonly<ComputedLayer>;
1004
+ isTempLayer?: boolean;
987
1005
  pluginId?: string;
988
1006
  extensionId?: string;
989
1007
  property?: any;
@@ -1074,7 +1092,8 @@ export declare type LUT = readonly ColorTuple[];
1074
1092
  declare const Map_2: ForwardRefExoticComponent< {
1075
1093
  engines?: Record<string, Engine> | undefined;
1076
1094
  engine?: string | undefined;
1077
- } & Omit<Props_2, "Feature" | "viewerProperty" | "selectionReason" | "delegatedDataTypes" | "clusterComponent" | "selectedLayerId"> & Omit<EngineProps, "onLayerSelect" | "selectedLayerId" | "layerSelectionReason"> & Omit<SketchProps, "engineRef" | "layersRef" | "SketchComponent"> & {
1095
+ onAPIReady?: (() => void) | undefined;
1096
+ } & Omit<Props_2, "Feature" | "viewerProperty" | "selectionReason" | "delegatedDataTypes" | "clusterComponent" | "selectedLayerId"> & Omit<EngineProps, "onLayerSelect" | "selectedLayerId" | "layerSelectionReason"> & Omit<SketchProps, "engineRef" | "SketchComponent" | "layersRef"> & {
1078
1097
  cursor?: CursorType | undefined;
1079
1098
  } & RefAttributes<MapRef>>;
1080
1099
  export { Map_2 as Map }
@@ -1083,6 +1102,7 @@ export declare type MapRef = {
1083
1102
  engine: WrappedRef<EngineRef>;
1084
1103
  layers: WrappedRef<LayersRef>;
1085
1104
  sketch: WrappedRef<SketchRef>;
1105
+ spatialId?: WrappedRef<SpatialIdRef>;
1086
1106
  timeline?: TimelineManagerRef;
1087
1107
  };
1088
1108
 
@@ -1272,6 +1292,7 @@ export declare type PolygonAppearance = {
1272
1292
  stroke?: boolean;
1273
1293
  strokeColor?: string;
1274
1294
  strokeWidth?: number;
1295
+ height?: number;
1275
1296
  heightReference?: "none" | "clamp" | "relative";
1276
1297
  shadows?: "disabled" | "enabled" | "cast_only" | "receive_only";
1277
1298
  lineJoin?: CanvasLineJoin;
@@ -1316,6 +1337,7 @@ declare type PropertyItem<T> = {
1316
1337
  export declare type Props = {
1317
1338
  engines?: Record<string, Engine>;
1318
1339
  engine?: string;
1340
+ onAPIReady?: () => void;
1319
1341
  } & Omit<Props_2, "Feature" | "clusterComponent" | "selectionReason" | "delegatedDataTypes" | "selectedLayerId" | "viewerProperty"> & Omit<EngineProps, "onLayerSelect" | "layerSelectionReason" | "selectedLayerId"> & Omit<SketchProps, "layersRef" | "engineRef" | "SketchComponent"> & {
1320
1342
  cursor?: CursorType;
1321
1343
  };
@@ -1331,6 +1353,7 @@ declare type Props_2 = Omit<Props_3, "atomMap" | "isHidden" | "selectedLayerId">
1331
1353
  requestingRenderMode?: MutableRefObject<RequestingRenderMode>;
1332
1354
  engineRef?: RefObject<EngineRef>;
1333
1355
  onLayerSelect?: (layerId: string | undefined, featureId: string | undefined, layer: (() => Promise<ComputedLayer | undefined>) | undefined, reason: LayerSelectionReason | undefined, info: SelectedFeatureInfo | undefined) => void;
1356
+ onMount?: () => void;
1334
1357
  };
1335
1358
 
1336
1359
  declare type Props_3 = {
@@ -1458,17 +1481,34 @@ export declare type ShadowProperty = {
1458
1481
 
1459
1482
  export declare type SketchAppearance = Partial<LayerAppearanceTypes>;
1460
1483
 
1461
- declare type SketchComponentProps = RequireExactlyOne<{
1462
- geometry?: LineString | Polygon_2 | MultiPolygon | null;
1463
- geometryOptions?: GeometryOptions | null;
1484
+ declare type SketchComponentProps = {
1485
+ geometryOptions?: {
1486
+ type: SketchType;
1487
+ controlPoints: readonly Position3d[];
1488
+ } | null;
1464
1489
  extrudedHeight?: number;
1490
+ extrudedPoint?: Position3d;
1491
+ centroidBasePoint?: Position3d;
1492
+ centroidExtrudedPoint?: Position3d;
1465
1493
  disableShadow?: boolean;
1466
- enableRelativeHeight?: boolean;
1467
1494
  color?: string;
1468
- }, "geometry" | "geometryOptions">;
1495
+ isEditing?: boolean;
1496
+ catchedControlPointIndex?: number;
1497
+ catchedExtrudedPoint?: boolean;
1498
+ selectedControlPointIndex?: number;
1499
+ handleControlPointMouseEvent?: ControlPointMouseEventHandler;
1500
+ handleAddControlPoint?: (position: Position3d, index: number) => void;
1501
+ };
1469
1502
 
1470
1503
  export declare type SketchComponentType = ComponentType<SketchComponentProps>;
1471
1504
 
1505
+ export declare type SketchEditFeatureChangeCb = (feature: SketchEditingFeature | undefined) => void;
1506
+
1507
+ export declare type SketchEditingFeature = {
1508
+ layerId: string;
1509
+ feature: ComputedFeature;
1510
+ };
1511
+
1472
1512
  export declare type SketchEventCallback = (event: SketchEventProps) => void;
1473
1513
 
1474
1514
  export declare type SketchEventProps = {
@@ -1489,9 +1529,9 @@ export declare type SketchOptions = {
1489
1529
  appearance?: SketchAppearance;
1490
1530
  dataOnly?: boolean;
1491
1531
  disableShadow?: boolean;
1492
- enableRelativeHeight?: boolean;
1493
1532
  rightClickToAbort?: boolean;
1494
1533
  autoResetInteractionMode?: boolean;
1534
+ useCentroidExtrudedHeight?: boolean;
1495
1535
  };
1496
1536
 
1497
1537
  export declare type SketchProps = {
@@ -1504,7 +1544,17 @@ export declare type SketchProps = {
1504
1544
  onSketchTypeChange?: (type: SketchType | undefined, from?: "editor" | "plugin") => void;
1505
1545
  onSketchFeatureCreate?: (feature: SketchFeature | null) => void;
1506
1546
  onSketchPluginFeatureCreate?: (props: SketchEventProps) => void;
1547
+ onSketchFeatureUpdate?: (feature: SketchFeature | null) => void;
1548
+ onSketchPluginFeatureUpdate?: (props: SketchEventProps) => void;
1549
+ onSketchFeatureDelete?: (layerId: string, featureId: string) => void;
1550
+ onSketchPluginFeatureDelete?: (props: {
1551
+ layerId: string;
1552
+ featureId: string;
1553
+ }) => void;
1507
1554
  onLayerSelect?: OnLayerSelectType;
1555
+ sketchEditingFeature?: SketchEditingFeature;
1556
+ onSketchEditFeature?: (feature: SketchEditingFeature | undefined) => void;
1557
+ onMount?: () => void;
1508
1558
  };
1509
1559
 
1510
1560
  export declare type SketchRef = {
@@ -1512,6 +1562,11 @@ export declare type SketchRef = {
1512
1562
  setType: (type: SketchType | undefined, from?: "editor" | "plugin") => void;
1513
1563
  getOptions: () => SketchOptions;
1514
1564
  overrideOptions: (options: SketchOptions) => void;
1565
+ editFeature: (feature: SketchEditingFeature | undefined) => void;
1566
+ cancelEdit: (ignoreAutoReSelect?: boolean) => void;
1567
+ applyEdit: () => void;
1568
+ deleteFeature: (layerId: string, featureId: string) => void;
1569
+ onEditFeatureChange: (cb: SketchEditFeatureChangeCb) => void;
1515
1570
  };
1516
1571
 
1517
1572
  export declare type SketchType = "marker" | "polyline" | "circle" | "rectangle" | "polygon" | "extrudedCircle" | "extrudedRectangle" | "extrudedPolygon";
@@ -1542,6 +1597,42 @@ export declare type Spacing = {
1542
1597
  top: number;
1543
1598
  };
1544
1599
 
1600
+ declare type SpatialIdPickSpaceOptions = {
1601
+ zoom?: number;
1602
+ maxHeight?: number;
1603
+ color?: string;
1604
+ dataOnly?: boolean;
1605
+ rightClickToExit?: boolean;
1606
+ };
1607
+
1608
+ declare type SpatialIdRef = {
1609
+ pickSpace: (options?: SpatialIdPickSpaceOptions) => void;
1610
+ exitPickSpace: () => void;
1611
+ onSpacePick: (cb: (space: SpatialIdSpaceData) => void) => void;
1612
+ };
1613
+
1614
+ declare type SpatialIdSpaceData = {
1615
+ id: string;
1616
+ center: {
1617
+ lat: number;
1618
+ lng: number;
1619
+ alt?: number;
1620
+ };
1621
+ alt: number;
1622
+ zoom: number;
1623
+ zfxy: {
1624
+ z: number;
1625
+ f: number;
1626
+ x: number;
1627
+ y: number;
1628
+ };
1629
+ zfxyStr: string;
1630
+ tilehash: string;
1631
+ hilbertTilehash: string;
1632
+ hilbertIndex: string;
1633
+ vertices: [number, number, number][];
1634
+ };
1635
+
1545
1636
  export declare type StyleExpression = ConditionsExpression | string;
1546
1637
 
1547
1638
  export declare type SunProperty = {
@@ -1580,6 +1671,8 @@ export declare type TileLabelProperty = {
1580
1671
  id: string;
1581
1672
  labelType: "japan_gsi_optimal_bvmap";
1582
1673
  style: Record<string, any>;
1674
+ near?: number;
1675
+ far?: number;
1583
1676
  };
1584
1677
 
1585
1678
  export declare type TileProperty = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reearth/core",
3
- "version": "0.0.7-alpha.3",
3
+ "version": "0.0.7-alpha.30",
4
4
  "author": "Re:Earth contributors <community@reearth.io>",
5
5
  "license": "Apache-2.0",
6
6
  "description": "A library that abstracts a map engine as one common API.",
@@ -21,18 +21,29 @@
21
21
  "storybook": "storybook dev -p 6007",
22
22
  "build-storybook": "storybook build",
23
23
  "preversion": "yarn test run",
24
- "version": "yarn build"
24
+ "version": "yarn build",
25
+ "sketch-typegen": "xstate typegen src/**/sketchMachine.ts"
25
26
  },
26
27
  "engines": {
27
28
  "node": ">=20"
28
29
  },
29
30
  "peerDependencies": {
30
- "cesium": "1.x",
31
+ "cesium": "1.118.x",
31
32
  "react": "^18.2.0",
32
33
  "react-dom": "^18.2.0"
33
34
  },
34
35
  "dependencies": {
35
- "@reearth/cesium-mvt-imagery-provider": "1.5.4",
36
+ "@radix-ui/react-checkbox": "1.1.1",
37
+ "@radix-ui/react-dialog": "1.1.1",
38
+ "@radix-ui/react-icons": "1.3.0",
39
+ "@radix-ui/react-select": "2.1.1",
40
+ "@radix-ui/react-separator": "1.1.0",
41
+ "@radix-ui/react-slider": "1.2.2",
42
+ "@radix-ui/react-slot": "1.1.0",
43
+ "@radix-ui/react-switch": "1.1.0",
44
+ "@radix-ui/react-toggle": "1.1.0",
45
+ "@reearth/cesium-mvt-imagery-provider": "1.6.0",
46
+ "@reearth/spatial-id-sdk": "0.0.0",
36
47
  "@rot1024/use-transition": "1.0.0",
37
48
  "@seznam/compose-react-refs": "1.0.6",
38
49
  "@turf/invariant": "6.5.0",
@@ -61,8 +72,11 @@
61
72
  "react-error-boundary": "4.0.11",
62
73
  "react-nl2br": "1.0.4",
63
74
  "react-use": "17.5.0",
64
- "resium": "^1.18.0",
75
+ "resium": "1.18.2",
65
76
  "suspend-react": "0.1.3",
77
+ "tailwind-merge": "2.5.2",
78
+ "tailwindcss": "3.4.10",
79
+ "tailwindcss-animate": "1.0.7",
66
80
  "tiny-invariant": "1.3.3",
67
81
  "use-callback-ref": "1.3.2",
68
82
  "use-custom-compare": "1.4.0",
@@ -89,26 +103,32 @@
89
103
  "@types/lodash-es": "4.17.12",
90
104
  "@types/node": "20.12.7",
91
105
  "@types/pbf": "3.0.5",
92
- "@types/react": "18.2.6",
93
- "@types/react-dom": "18.2.6",
106
+ "@types/react": "18.3.0",
107
+ "@types/react-dom": "18.3.0",
108
+ "@types/scheduler": "0.23.0",
94
109
  "@types/uuid": "9.0.8",
95
110
  "@typescript-eslint/eslint-plugin": "7.2.0",
96
111
  "@typescript-eslint/parser": "7.2.0",
97
112
  "@vitejs/plugin-react": "4.2.1",
98
- "cesium": "1.116.0",
113
+ "@xstate/cli": "0.5.17",
114
+ "autoprefixer": "10.4.20",
115
+ "cesium": "1.118.0",
116
+ "class-variance-authority": "0.7.0",
117
+ "clsx": "2.1.1",
99
118
  "eslint": "8.57.0",
100
119
  "eslint-config-reearth": "0.3.0",
101
120
  "eslint-plugin-react-hooks": "4.6.0",
102
121
  "eslint-plugin-react-refresh": "0.4.6",
103
122
  "eslint-plugin-storybook": "0.8.0",
104
123
  "jsdom": "22.1.0",
124
+ "postcss": "8.4.41",
105
125
  "prettier": "3.2.5",
106
126
  "react": "18.2.0",
107
127
  "react-dom": "18.2.0",
108
128
  "storybook": "8.0.8",
109
129
  "typescript": "5.2.2",
110
130
  "vite": "5.0.8",
111
- "vite-plugin-cesium": "1.2.22",
131
+ "vite-plugin-cesium": "1.2.23",
112
132
  "vite-plugin-dts": "3.8.1",
113
133
  "vite-plugin-svgr": "4.2.0",
114
134
  "vite-tsconfig-paths": "^4.3.2",
@@ -107,12 +107,15 @@ export default function useHooks({
107
107
  };
108
108
  }, [layer, forceUpdateFeatures]);
109
109
 
110
- const prevForceUpdatableData = useRef<Pick<Data, "csv" | "jsonProperties">>();
110
+ const prevForceUpdatableData = useRef<Pick<Data, "csv" | "jsonProperties" | "value">>();
111
111
  useLayoutEffect(() => {
112
112
  const data = layer?.type === "simple" ? layer.data : undefined;
113
- const forceUpdatableData = pick(data, "csv", "jsonProperties");
113
+ const forceUpdatableData = pick(data, "csv", "jsonProperties", "value");
114
114
 
115
- if (isEqual(forceUpdatableData, prevForceUpdatableData.current) || !data?.url) {
115
+ if (
116
+ isEqual(forceUpdatableData, prevForceUpdatableData.current) ||
117
+ (!data?.url && !data?.value)
118
+ ) {
116
119
  return;
117
120
  }
118
121
 
@@ -9,6 +9,7 @@ import type {
9
9
  ComputedFeature,
10
10
  LayerSimple,
11
11
  } from "../../mantle";
12
+ import { SketchEditingFeature } from "../Sketch";
12
13
  import { ViewerProperty } from "../types";
13
14
 
14
15
  import useHooks, { type Atom, type EvalFeature } from "./hooks";
@@ -25,6 +26,7 @@ export type CommonProps = {
25
26
  isHidden?: boolean;
26
27
  isSelected?: boolean;
27
28
  meta?: Record<string, unknown>;
29
+ sketchEditingFeature?: SketchEditingFeature;
28
30
  };
29
31
 
30
32
  export type FeatureComponentProps = {
@@ -35,6 +35,7 @@ export type { Layer, NaiveLayer } from "../../mantle";
35
35
  */
36
36
  export type LazyLayer = Readonly<Layer> & {
37
37
  computed?: Readonly<ComputedLayer>;
38
+ isTempLayer?: boolean;
38
39
  // compat
39
40
  pluginId?: string;
40
41
  extensionId?: string;
@@ -52,6 +53,8 @@ export type Ref = {
52
53
  override: (id: string, layer?: (Partial<Layer> & { property?: any }) | null) => void;
53
54
  deleteLayer: (...ids: string[]) => void;
54
55
  isLayer: (obj: any) => obj is LazyLayer;
56
+ isComputedLayer: (obj: any) => obj is ComputedLayer;
57
+ isTempLayer: (layerId?: string) => boolean;
55
58
  layers: () => LazyLayer[];
56
59
  walk: <T>(
57
60
  fn: (layer: LazyLayer, index: number, parents: LazyLayer[]) => T | void,
@@ -118,6 +121,7 @@ export default function useHooks({
118
121
  requestingRenderMode,
119
122
  onLayerSelect,
120
123
  engineRef,
124
+ onMount,
121
125
  }: {
122
126
  layers?: Layer[];
123
127
  ref?: ForwardedRef<Ref>;
@@ -136,6 +140,7 @@ export default function useHooks({
136
140
  info: SelectedFeatureInfo | undefined,
137
141
  ) => void;
138
142
  engineRef?: RefObject<EngineRef>;
143
+ onMount?: () => void;
139
144
  }) {
140
145
  const layerMap = useMemo(() => new Map<string, Layer>(), []);
141
146
  const [overriddenLayers, setOverridenLayers] = useState<OverriddenLayer[]>([]);
@@ -455,6 +460,20 @@ export default function useHooks({
455
460
  [lazyLayerPrototype],
456
461
  );
457
462
 
463
+ const isTempLayer = useCallback(
464
+ (layerId?: string) => {
465
+ return tempLayersRef.current.some(l => l.id === layerId);
466
+ },
467
+ [tempLayersRef],
468
+ );
469
+
470
+ const isComputedLayer = useCallback(
471
+ (obj: any): obj is ComputedLayer => {
472
+ return typeof obj === "object" && Object.getPrototypeOf(obj) === lazyComputedLayerPrototype;
473
+ },
474
+ [lazyComputedLayerPrototype],
475
+ );
476
+
458
477
  const rootLayers = useCallback(() => {
459
478
  return [...(layersRef() ?? []), ...tempLayersRef.current]
460
479
  .map(l => findById(l.id))
@@ -551,6 +570,8 @@ export default function useHooks({
551
570
  deleteLayer,
552
571
  findByIds,
553
572
  isLayer,
573
+ isComputedLayer,
574
+ isTempLayer,
554
575
  layers: rootLayers,
555
576
  walk,
556
577
  find,
@@ -575,6 +596,8 @@ export default function useHooks({
575
596
  deleteLayer,
576
597
  findByIds,
577
598
  isLayer,
599
+ isComputedLayer,
600
+ isTempLayer,
578
601
  rootLayers,
579
602
  walk,
580
603
  find,
@@ -592,6 +615,10 @@ export default function useHooks({
592
615
  ],
593
616
  );
594
617
 
618
+ useEffect(() => {
619
+ onMount?.();
620
+ }, [onMount]);
621
+
595
622
  const prevLayers = useRef<Layer[] | undefined>([]);
596
623
  useLayoutEffect(() => {
597
624
  const ids = new Set<string>();
@@ -46,10 +46,20 @@ export type Props = Omit<ClusteredLayerProps, "atomMap" | "isHidden" | "selected
46
46
  reason: LayerSelectionReason | undefined,
47
47
  info: SelectedFeatureInfo | undefined,
48
48
  ) => void;
49
+ onMount?: () => void;
49
50
  };
50
51
 
51
52
  const Layers: ForwardRefRenderFunction<Ref, Props> = (
52
- { layers, selectedLayer, hiddenLayers, requestingRenderMode, engineRef, onLayerSelect, ...props },
53
+ {
54
+ layers,
55
+ selectedLayer,
56
+ hiddenLayers,
57
+ requestingRenderMode,
58
+ engineRef,
59
+ onLayerSelect,
60
+ onMount,
61
+ ...props
62
+ },
53
63
  ref,
54
64
  ) => {
55
65
  const { atomMap, flattenedLayers, isHidden } = useHooks({
@@ -60,6 +70,7 @@ const Layers: ForwardRefRenderFunction<Ref, Props> = (
60
70
  requestingRenderMode,
61
71
  engineRef,
62
72
  onLayerSelect,
73
+ onMount,
63
74
  });
64
75
 
65
76
  return (
@@ -18,6 +18,7 @@ export const layerKeys = objKeys<
18
18
  computed: 1,
19
19
  defines: 1,
20
20
  layerStyleId: 1,
21
+ isTempLayer: 1,
21
22
  // appearance
22
23
  ...appearanceKeyObj,
23
24
  // legacy layer