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

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 (445) hide show
  1. package/dist/core.js +44780 -39501
  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 +119 -25
  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 +449 -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/constants.ts +16 -0
  20. package/src/Map/SpatialId/hooks.ts +382 -0
  21. package/src/Map/SpatialId/index.tsx +60 -0
  22. package/src/Map/SpatialId/types.ts +68 -0
  23. package/src/Map/SpatialId/utils.ts +64 -0
  24. package/src/Map/hooks.ts +50 -8
  25. package/src/Map/index.tsx +36 -7
  26. package/src/Map/ref.ts +21 -0
  27. package/src/Map/types/index.ts +29 -1
  28. package/src/Map/types/viewerProperty.ts +2 -0
  29. package/src/Visualizer/coreContext.tsx +2 -0
  30. package/src/Visualizer/hooks.ts +46 -12
  31. package/src/Visualizer/index.tsx +22 -3
  32. package/src/Visualizer/interactionMode.ts +2 -1
  33. package/src/engines/Cesium/Feature/Polygon/index.tsx +6 -4
  34. package/src/engines/Cesium/Feature/Raster/mvt.ts +2 -1
  35. package/src/engines/Cesium/Feature/Resource/utils.ts +86 -91
  36. package/src/engines/Cesium/Feature/Tileset/hooks.ts +52 -24
  37. package/src/engines/Cesium/Feature/context.ts +1 -0
  38. package/src/engines/Cesium/Feature/index.tsx +6 -2
  39. package/src/engines/Cesium/Feature/utils.tsx +9 -4
  40. package/src/engines/Cesium/Shaders/OverriddenShaders/GlobeFS/IBL.glsl +6 -10
  41. package/src/engines/Cesium/Sketch/ControlPoint.tsx +128 -24
  42. package/src/engines/Cesium/Sketch/ExtrudedControlPoints.tsx +70 -25
  43. package/src/engines/Cesium/Sketch/ExtrudedMeasurement.tsx +3 -1
  44. package/src/engines/Cesium/Sketch/ExtrudedPolygonEntity.tsx +14 -14
  45. package/src/engines/Cesium/Sketch/PolylineEntity.tsx +7 -4
  46. package/src/engines/Cesium/Sketch/SurfaceAddingPoints.tsx +60 -0
  47. package/src/engines/Cesium/Sketch/SurfaceControlPoints.tsx +125 -35
  48. package/src/engines/Cesium/Sketch/constants.ts +5 -0
  49. package/src/engines/Cesium/Sketch/index.tsx +68 -29
  50. package/src/engines/Cesium/SpatialId/CoordinateIndicator.tsx +28 -0
  51. package/src/engines/Cesium/SpatialId/SpatialIdSpace.tsx +33 -0
  52. package/src/engines/Cesium/SpatialId/VerticalSpaceIndicator.tsx +32 -0
  53. package/src/engines/Cesium/SpatialId/index.ts +3 -0
  54. package/src/engines/Cesium/common.ts +46 -12
  55. package/src/engines/Cesium/core/Globe.tsx +11 -2
  56. package/src/engines/Cesium/core/Imagery.tsx +16 -3
  57. package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapLabelImagery.tsx +8 -1
  58. package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapVectorMapLabel.tsx +14 -2
  59. package/src/engines/Cesium/core/labels/LabelImageryLayers.tsx +10 -1
  60. package/src/engines/Cesium/core/presets.ts +0 -11
  61. package/src/engines/Cesium/helpers/getGeometryFromEntity.ts +55 -0
  62. package/src/engines/Cesium/hooks/useEngineRef.ts +46 -1
  63. package/src/engines/Cesium/hooks/useOverrideGlobeShader/useOverrideGlobeShader.ts +1 -1
  64. package/src/engines/Cesium/hooks.ts +45 -4
  65. package/src/engines/Cesium/index.tsx +16 -3
  66. package/src/mantle/atoms/compute.ts +5 -1
  67. package/src/mantle/data/geojson.ts +53 -22
  68. package/src/mantle/types/appearance.ts +2 -2
  69. package/src/mantle/types/index.ts +3 -0
  70. package/src/utils/image.ts +1 -11
  71. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json +0 -1
  72. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json +0 -1
  73. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json +0 -1
  74. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json +0 -1
  75. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json +0 -1
  76. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json +0 -1
  77. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json +0 -1
  78. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json +0 -1
  79. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json +0 -1
  80. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json +0 -1
  81. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json +0 -1
  82. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json +0 -1
  83. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json +0 -1
  84. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json +0 -1
  85. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json +0 -1
  86. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json +0 -1
  87. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json +0 -1
  88. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json +0 -1
  89. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json +0 -1
  90. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json +0 -1
  91. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json +0 -1
  92. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json +0 -1
  93. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json +0 -1
  94. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json +0 -1
  95. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json +0 -1
  96. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json +0 -1
  97. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json +0 -1
  98. package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json +0 -1
  99. package/dist/cesium/Assets/Images/bing_maps_credit.png +0 -0
  100. package/dist/cesium/Assets/Images/cesium_credit.png +0 -0
  101. package/dist/cesium/Assets/Images/google_earth_credit.png +0 -0
  102. package/dist/cesium/Assets/Images/ion-credit.png +0 -0
  103. package/dist/cesium/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
  104. package/dist/cesium/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
  105. package/dist/cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
  106. package/dist/cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
  107. package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
  108. package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
  109. package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
  110. package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
  111. package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
  112. package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
  113. package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
  114. package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
  115. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
  116. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
  117. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
  118. package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
  119. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
  120. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
  121. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
  122. package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
  123. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
  124. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
  125. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
  126. package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
  127. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
  128. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
  129. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
  130. package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
  131. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
  132. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
  133. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
  134. package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
  135. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
  136. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
  137. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
  138. package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
  139. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
  140. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
  141. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
  142. package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
  143. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
  144. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
  145. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
  146. package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
  147. package/dist/cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +0 -14
  148. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
  149. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
  150. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
  151. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
  152. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
  153. package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
  154. package/dist/cesium/Assets/Textures/maki/airfield.png +0 -0
  155. package/dist/cesium/Assets/Textures/maki/airport.png +0 -0
  156. package/dist/cesium/Assets/Textures/maki/alcohol-shop.png +0 -0
  157. package/dist/cesium/Assets/Textures/maki/america-football.png +0 -0
  158. package/dist/cesium/Assets/Textures/maki/art-gallery.png +0 -0
  159. package/dist/cesium/Assets/Textures/maki/bakery.png +0 -0
  160. package/dist/cesium/Assets/Textures/maki/bank.png +0 -0
  161. package/dist/cesium/Assets/Textures/maki/bar.png +0 -0
  162. package/dist/cesium/Assets/Textures/maki/baseball.png +0 -0
  163. package/dist/cesium/Assets/Textures/maki/basketball.png +0 -0
  164. package/dist/cesium/Assets/Textures/maki/beer.png +0 -0
  165. package/dist/cesium/Assets/Textures/maki/bicycle.png +0 -0
  166. package/dist/cesium/Assets/Textures/maki/building.png +0 -0
  167. package/dist/cesium/Assets/Textures/maki/bus.png +0 -0
  168. package/dist/cesium/Assets/Textures/maki/cafe.png +0 -0
  169. package/dist/cesium/Assets/Textures/maki/camera.png +0 -0
  170. package/dist/cesium/Assets/Textures/maki/campsite.png +0 -0
  171. package/dist/cesium/Assets/Textures/maki/car.png +0 -0
  172. package/dist/cesium/Assets/Textures/maki/cemetery.png +0 -0
  173. package/dist/cesium/Assets/Textures/maki/cesium.png +0 -0
  174. package/dist/cesium/Assets/Textures/maki/chemist.png +0 -0
  175. package/dist/cesium/Assets/Textures/maki/cinema.png +0 -0
  176. package/dist/cesium/Assets/Textures/maki/circle-stroked.png +0 -0
  177. package/dist/cesium/Assets/Textures/maki/circle.png +0 -0
  178. package/dist/cesium/Assets/Textures/maki/city.png +0 -0
  179. package/dist/cesium/Assets/Textures/maki/clothing-store.png +0 -0
  180. package/dist/cesium/Assets/Textures/maki/college.png +0 -0
  181. package/dist/cesium/Assets/Textures/maki/commercial.png +0 -0
  182. package/dist/cesium/Assets/Textures/maki/cricket.png +0 -0
  183. package/dist/cesium/Assets/Textures/maki/cross.png +0 -0
  184. package/dist/cesium/Assets/Textures/maki/dam.png +0 -0
  185. package/dist/cesium/Assets/Textures/maki/danger.png +0 -0
  186. package/dist/cesium/Assets/Textures/maki/disability.png +0 -0
  187. package/dist/cesium/Assets/Textures/maki/dog-park.png +0 -0
  188. package/dist/cesium/Assets/Textures/maki/embassy.png +0 -0
  189. package/dist/cesium/Assets/Textures/maki/emergency-telephone.png +0 -0
  190. package/dist/cesium/Assets/Textures/maki/entrance.png +0 -0
  191. package/dist/cesium/Assets/Textures/maki/farm.png +0 -0
  192. package/dist/cesium/Assets/Textures/maki/fast-food.png +0 -0
  193. package/dist/cesium/Assets/Textures/maki/ferry.png +0 -0
  194. package/dist/cesium/Assets/Textures/maki/fire-station.png +0 -0
  195. package/dist/cesium/Assets/Textures/maki/fuel.png +0 -0
  196. package/dist/cesium/Assets/Textures/maki/garden.png +0 -0
  197. package/dist/cesium/Assets/Textures/maki/gift.png +0 -0
  198. package/dist/cesium/Assets/Textures/maki/golf.png +0 -0
  199. package/dist/cesium/Assets/Textures/maki/grocery.png +0 -0
  200. package/dist/cesium/Assets/Textures/maki/hairdresser.png +0 -0
  201. package/dist/cesium/Assets/Textures/maki/harbor.png +0 -0
  202. package/dist/cesium/Assets/Textures/maki/heart.png +0 -0
  203. package/dist/cesium/Assets/Textures/maki/heliport.png +0 -0
  204. package/dist/cesium/Assets/Textures/maki/hospital.png +0 -0
  205. package/dist/cesium/Assets/Textures/maki/ice-cream.png +0 -0
  206. package/dist/cesium/Assets/Textures/maki/industrial.png +0 -0
  207. package/dist/cesium/Assets/Textures/maki/land-use.png +0 -0
  208. package/dist/cesium/Assets/Textures/maki/laundry.png +0 -0
  209. package/dist/cesium/Assets/Textures/maki/library.png +0 -0
  210. package/dist/cesium/Assets/Textures/maki/lighthouse.png +0 -0
  211. package/dist/cesium/Assets/Textures/maki/lodging.png +0 -0
  212. package/dist/cesium/Assets/Textures/maki/logging.png +0 -0
  213. package/dist/cesium/Assets/Textures/maki/london-underground.png +0 -0
  214. package/dist/cesium/Assets/Textures/maki/marker-stroked.png +0 -0
  215. package/dist/cesium/Assets/Textures/maki/marker.png +0 -0
  216. package/dist/cesium/Assets/Textures/maki/minefield.png +0 -0
  217. package/dist/cesium/Assets/Textures/maki/mobilephone.png +0 -0
  218. package/dist/cesium/Assets/Textures/maki/monument.png +0 -0
  219. package/dist/cesium/Assets/Textures/maki/museum.png +0 -0
  220. package/dist/cesium/Assets/Textures/maki/music.png +0 -0
  221. package/dist/cesium/Assets/Textures/maki/oil-well.png +0 -0
  222. package/dist/cesium/Assets/Textures/maki/park.png +0 -0
  223. package/dist/cesium/Assets/Textures/maki/park2.png +0 -0
  224. package/dist/cesium/Assets/Textures/maki/parking-garage.png +0 -0
  225. package/dist/cesium/Assets/Textures/maki/parking.png +0 -0
  226. package/dist/cesium/Assets/Textures/maki/pharmacy.png +0 -0
  227. package/dist/cesium/Assets/Textures/maki/pitch.png +0 -0
  228. package/dist/cesium/Assets/Textures/maki/place-of-worship.png +0 -0
  229. package/dist/cesium/Assets/Textures/maki/playground.png +0 -0
  230. package/dist/cesium/Assets/Textures/maki/police.png +0 -0
  231. package/dist/cesium/Assets/Textures/maki/polling-place.png +0 -0
  232. package/dist/cesium/Assets/Textures/maki/post.png +0 -0
  233. package/dist/cesium/Assets/Textures/maki/prison.png +0 -0
  234. package/dist/cesium/Assets/Textures/maki/rail-above.png +0 -0
  235. package/dist/cesium/Assets/Textures/maki/rail-light.png +0 -0
  236. package/dist/cesium/Assets/Textures/maki/rail-metro.png +0 -0
  237. package/dist/cesium/Assets/Textures/maki/rail-underground.png +0 -0
  238. package/dist/cesium/Assets/Textures/maki/rail.png +0 -0
  239. package/dist/cesium/Assets/Textures/maki/religious-christian.png +0 -0
  240. package/dist/cesium/Assets/Textures/maki/religious-jewish.png +0 -0
  241. package/dist/cesium/Assets/Textures/maki/religious-muslim.png +0 -0
  242. package/dist/cesium/Assets/Textures/maki/restaurant.png +0 -0
  243. package/dist/cesium/Assets/Textures/maki/roadblock.png +0 -0
  244. package/dist/cesium/Assets/Textures/maki/rocket.png +0 -0
  245. package/dist/cesium/Assets/Textures/maki/school.png +0 -0
  246. package/dist/cesium/Assets/Textures/maki/scooter.png +0 -0
  247. package/dist/cesium/Assets/Textures/maki/shop.png +0 -0
  248. package/dist/cesium/Assets/Textures/maki/skiing.png +0 -0
  249. package/dist/cesium/Assets/Textures/maki/slaughterhouse.png +0 -0
  250. package/dist/cesium/Assets/Textures/maki/soccer.png +0 -0
  251. package/dist/cesium/Assets/Textures/maki/square-stroked.png +0 -0
  252. package/dist/cesium/Assets/Textures/maki/square.png +0 -0
  253. package/dist/cesium/Assets/Textures/maki/star-stroked.png +0 -0
  254. package/dist/cesium/Assets/Textures/maki/star.png +0 -0
  255. package/dist/cesium/Assets/Textures/maki/suitcase.png +0 -0
  256. package/dist/cesium/Assets/Textures/maki/swimming.png +0 -0
  257. package/dist/cesium/Assets/Textures/maki/telephone.png +0 -0
  258. package/dist/cesium/Assets/Textures/maki/tennis.png +0 -0
  259. package/dist/cesium/Assets/Textures/maki/theatre.png +0 -0
  260. package/dist/cesium/Assets/Textures/maki/toilets.png +0 -0
  261. package/dist/cesium/Assets/Textures/maki/town-hall.png +0 -0
  262. package/dist/cesium/Assets/Textures/maki/town.png +0 -0
  263. package/dist/cesium/Assets/Textures/maki/triangle-stroked.png +0 -0
  264. package/dist/cesium/Assets/Textures/maki/triangle.png +0 -0
  265. package/dist/cesium/Assets/Textures/maki/village.png +0 -0
  266. package/dist/cesium/Assets/Textures/maki/warehouse.png +0 -0
  267. package/dist/cesium/Assets/Textures/maki/waste-basket.png +0 -0
  268. package/dist/cesium/Assets/Textures/maki/water.png +0 -0
  269. package/dist/cesium/Assets/Textures/maki/wetland.png +0 -0
  270. package/dist/cesium/Assets/Textures/maki/zoo.png +0 -0
  271. package/dist/cesium/Assets/Textures/moonSmall.jpg +0 -0
  272. package/dist/cesium/Assets/Textures/pin.svg +0 -1
  273. package/dist/cesium/Assets/Textures/waterNormals.jpg +0 -0
  274. package/dist/cesium/Assets/Textures/waterNormalsSmall.jpg +0 -0
  275. package/dist/cesium/Assets/approximateTerrainHeights.json +0 -1
  276. package/dist/cesium/ThirdParty/Workers/package.json +0 -1
  277. package/dist/cesium/ThirdParty/Workers/pako_deflate.min.js +0 -1
  278. package/dist/cesium/ThirdParty/Workers/pako_inflate.min.js +0 -1
  279. package/dist/cesium/ThirdParty/Workers/z-worker-pako.js +0 -1
  280. package/dist/cesium/ThirdParty/basis_transcoder.wasm +0 -0
  281. package/dist/cesium/ThirdParty/draco_decoder.wasm +0 -0
  282. package/dist/cesium/ThirdParty/google-earth-dbroot-parser.js +0 -1
  283. package/dist/cesium/Widgets/Animation/Animation.css +0 -127
  284. package/dist/cesium/Widgets/Animation/lighter.css +0 -70
  285. package/dist/cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css +0 -108
  286. package/dist/cesium/Widgets/BaseLayerPicker/lighter.css +0 -22
  287. package/dist/cesium/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css +0 -102
  288. package/dist/cesium/Widgets/CesiumInspector/CesiumInspector.css +0 -113
  289. package/dist/cesium/Widgets/CesiumWidget/CesiumWidget.css +0 -124
  290. package/dist/cesium/Widgets/CesiumWidget/lighter.css +0 -14
  291. package/dist/cesium/Widgets/FullscreenButton/FullscreenButton.css +0 -8
  292. package/dist/cesium/Widgets/Geocoder/Geocoder.css +0 -70
  293. package/dist/cesium/Widgets/Geocoder/lighter.css +0 -17
  294. package/dist/cesium/Widgets/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +0 -27
  295. package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
  296. package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
  297. package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
  298. package/dist/cesium/Widgets/Images/ImageryProviders/bingAerial.png +0 -0
  299. package/dist/cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png +0 -0
  300. package/dist/cesium/Widgets/Images/ImageryProviders/bingRoads.png +0 -0
  301. package/dist/cesium/Widgets/Images/ImageryProviders/blueMarble.png +0 -0
  302. package/dist/cesium/Widgets/Images/ImageryProviders/earthAtNight.png +0 -0
  303. package/dist/cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
  304. package/dist/cesium/Widgets/Images/ImageryProviders/mapboxSatellite.png +0 -0
  305. package/dist/cesium/Widgets/Images/ImageryProviders/mapboxStreets.png +0 -0
  306. package/dist/cesium/Widgets/Images/ImageryProviders/mapboxTerrain.png +0 -0
  307. package/dist/cesium/Widgets/Images/ImageryProviders/naturalEarthII.png +0 -0
  308. package/dist/cesium/Widgets/Images/ImageryProviders/openStreetMap.png +0 -0
  309. package/dist/cesium/Widgets/Images/ImageryProviders/sentinel-2.png +0 -0
  310. package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
  311. package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
  312. package/dist/cesium/Widgets/Images/ImageryProviders/stamenToner.png +0 -0
  313. package/dist/cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png +0 -0
  314. package/dist/cesium/Widgets/Images/NavigationHelp/Mouse.svg +0 -84
  315. package/dist/cesium/Widgets/Images/NavigationHelp/MouseLeft.svg +0 -76
  316. package/dist/cesium/Widgets/Images/NavigationHelp/MouseMiddle.svg +0 -76
  317. package/dist/cesium/Widgets/Images/NavigationHelp/MouseRight.svg +0 -76
  318. package/dist/cesium/Widgets/Images/NavigationHelp/Touch.svg +0 -120
  319. package/dist/cesium/Widgets/Images/NavigationHelp/TouchDrag.svg +0 -129
  320. package/dist/cesium/Widgets/Images/NavigationHelp/TouchRotate.svg +0 -76
  321. package/dist/cesium/Widgets/Images/NavigationHelp/TouchTilt.svg +0 -135
  322. package/dist/cesium/Widgets/Images/NavigationHelp/TouchZoom.svg +0 -74
  323. package/dist/cesium/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
  324. package/dist/cesium/Widgets/Images/TerrainProviders/Ellipsoid.png +0 -0
  325. package/dist/cesium/Widgets/Images/TimelineIcons.png +0 -0
  326. package/dist/cesium/Widgets/Images/info-loading.gif +0 -0
  327. package/dist/cesium/Widgets/InfoBox/InfoBox.css +0 -92
  328. package/dist/cesium/Widgets/InfoBox/InfoBoxDescription.css +0 -178
  329. package/dist/cesium/Widgets/NavigationHelpButton/NavigationHelpButton.css +0 -93
  330. package/dist/cesium/Widgets/NavigationHelpButton/lighter.css +0 -38
  331. package/dist/cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.css +0 -15
  332. package/dist/cesium/Widgets/ProjectionPicker/ProjectionPicker.css +0 -38
  333. package/dist/cesium/Widgets/SceneModePicker/SceneModePicker.css +0 -56
  334. package/dist/cesium/Widgets/SelectionIndicator/SelectionIndicator.css +0 -20
  335. package/dist/cesium/Widgets/Timeline/Timeline.css +0 -103
  336. package/dist/cesium/Widgets/Timeline/lighter.css +0 -23
  337. package/dist/cesium/Widgets/VRButton/VRButton.css +0 -8
  338. package/dist/cesium/Widgets/Viewer/Viewer.css +0 -107
  339. package/dist/cesium/Widgets/VoxelInspector/VoxelInspector.css +0 -16
  340. package/dist/cesium/Widgets/lighter.css +0 -237
  341. package/dist/cesium/Widgets/lighterShared.css +0 -46
  342. package/dist/cesium/Widgets/shared.css +0 -103
  343. package/dist/cesium/Widgets/widgets.css +0 -1346
  344. package/dist/cesium/Workers/chunk-2ED5WI77.js +0 -26
  345. package/dist/cesium/Workers/chunk-2MBPFWCP.js +0 -26
  346. package/dist/cesium/Workers/chunk-3C74MLG3.js +0 -26
  347. package/dist/cesium/Workers/chunk-45U7TTT3.js +0 -26
  348. package/dist/cesium/Workers/chunk-4N7SRDH5.js +0 -26
  349. package/dist/cesium/Workers/chunk-4T6AS6BZ.js +0 -26
  350. package/dist/cesium/Workers/chunk-5AG2MVRM.js +0 -26
  351. package/dist/cesium/Workers/chunk-5Z6L2FHX.js +0 -26
  352. package/dist/cesium/Workers/chunk-6AUUBDOF.js +0 -26
  353. package/dist/cesium/Workers/chunk-74N6MC2V.js +0 -26
  354. package/dist/cesium/Workers/chunk-7VJK3KHI.js +0 -26
  355. package/dist/cesium/Workers/chunk-7VZHIB6P.js +0 -26
  356. package/dist/cesium/Workers/chunk-7X2YQ6I4.js +0 -27
  357. package/dist/cesium/Workers/chunk-B2SKQ7LU.js +0 -26
  358. package/dist/cesium/Workers/chunk-B4TQDFIE.js +0 -26
  359. package/dist/cesium/Workers/chunk-B6TRTFAA.js +0 -26
  360. package/dist/cesium/Workers/chunk-BK3HCS7I.js +0 -26
  361. package/dist/cesium/Workers/chunk-BOPB43LN.js +0 -26
  362. package/dist/cesium/Workers/chunk-C6DMEJQ7.js +0 -26
  363. package/dist/cesium/Workers/chunk-CN7UN2OZ.js +0 -26
  364. package/dist/cesium/Workers/chunk-CSISXEG7.js +0 -26
  365. package/dist/cesium/Workers/chunk-CUOR5F7T.js +0 -28
  366. package/dist/cesium/Workers/chunk-DGCK3LD2.js +0 -30
  367. package/dist/cesium/Workers/chunk-DXEZYE3K.js +0 -62
  368. package/dist/cesium/Workers/chunk-EXBFEYPQ.js +0 -26
  369. package/dist/cesium/Workers/chunk-FK5KFB6H.js +0 -26
  370. package/dist/cesium/Workers/chunk-HPBHKP5S.js +0 -26
  371. package/dist/cesium/Workers/chunk-JCJ24DHF.js +0 -26
  372. package/dist/cesium/Workers/chunk-JEWHFDAA.js +0 -26
  373. package/dist/cesium/Workers/chunk-JZLZJJQD.js +0 -26
  374. package/dist/cesium/Workers/chunk-KRZBI2MU.js +0 -26
  375. package/dist/cesium/Workers/chunk-KTTUANTJ.js +0 -26
  376. package/dist/cesium/Workers/chunk-LDCAXLGS.js +0 -26
  377. package/dist/cesium/Workers/chunk-LOPN5R3I.js +0 -26
  378. package/dist/cesium/Workers/chunk-MDLPQIMP.js +0 -26
  379. package/dist/cesium/Workers/chunk-MRR3RGFO.js +0 -26
  380. package/dist/cesium/Workers/chunk-NPBZI5YA.js +0 -26
  381. package/dist/cesium/Workers/chunk-NUSW5B6A.js +0 -26
  382. package/dist/cesium/Workers/chunk-OUXRUXNB.js +0 -26
  383. package/dist/cesium/Workers/chunk-QPOPEH3M.js +0 -26
  384. package/dist/cesium/Workers/chunk-R2AN7EKC.js +0 -26
  385. package/dist/cesium/Workers/chunk-RURL6ZX2.js +0 -26
  386. package/dist/cesium/Workers/chunk-SUQM3OSW.js +0 -28
  387. package/dist/cesium/Workers/chunk-UBIRX2SP.js +0 -26
  388. package/dist/cesium/Workers/chunk-VAKC5J5C.js +0 -26
  389. package/dist/cesium/Workers/chunk-VHNZBQTR.js +0 -27
  390. package/dist/cesium/Workers/chunk-VKV642QV.js +0 -26
  391. package/dist/cesium/Workers/chunk-VMSXG4OA.js +0 -26
  392. package/dist/cesium/Workers/chunk-VQZSIOZW.js +0 -26
  393. package/dist/cesium/Workers/chunk-WZUWQMI7.js +0 -26
  394. package/dist/cesium/Workers/chunk-YBI55DLZ.js +0 -26
  395. package/dist/cesium/Workers/chunk-YEJWCH6C.js +0 -26
  396. package/dist/cesium/Workers/chunk-YPDO7SPO.js +0 -26
  397. package/dist/cesium/Workers/chunk-ZYWD6OQH.js +0 -26
  398. package/dist/cesium/Workers/combineGeometry.js +0 -26
  399. package/dist/cesium/Workers/createBoxGeometry.js +0 -26
  400. package/dist/cesium/Workers/createBoxOutlineGeometry.js +0 -26
  401. package/dist/cesium/Workers/createCircleGeometry.js +0 -26
  402. package/dist/cesium/Workers/createCircleOutlineGeometry.js +0 -26
  403. package/dist/cesium/Workers/createCoplanarPolygonGeometry.js +0 -26
  404. package/dist/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +0 -26
  405. package/dist/cesium/Workers/createCorridorGeometry.js +0 -26
  406. package/dist/cesium/Workers/createCorridorOutlineGeometry.js +0 -26
  407. package/dist/cesium/Workers/createCylinderGeometry.js +0 -26
  408. package/dist/cesium/Workers/createCylinderOutlineGeometry.js +0 -26
  409. package/dist/cesium/Workers/createEllipseGeometry.js +0 -26
  410. package/dist/cesium/Workers/createEllipseOutlineGeometry.js +0 -26
  411. package/dist/cesium/Workers/createEllipsoidGeometry.js +0 -26
  412. package/dist/cesium/Workers/createEllipsoidOutlineGeometry.js +0 -26
  413. package/dist/cesium/Workers/createFrustumGeometry.js +0 -26
  414. package/dist/cesium/Workers/createFrustumOutlineGeometry.js +0 -26
  415. package/dist/cesium/Workers/createGeometry.js +0 -26
  416. package/dist/cesium/Workers/createGroundPolylineGeometry.js +0 -26
  417. package/dist/cesium/Workers/createPlaneGeometry.js +0 -26
  418. package/dist/cesium/Workers/createPlaneOutlineGeometry.js +0 -26
  419. package/dist/cesium/Workers/createPolygonGeometry.js +0 -26
  420. package/dist/cesium/Workers/createPolygonOutlineGeometry.js +0 -26
  421. package/dist/cesium/Workers/createPolylineGeometry.js +0 -26
  422. package/dist/cesium/Workers/createPolylineVolumeGeometry.js +0 -26
  423. package/dist/cesium/Workers/createPolylineVolumeOutlineGeometry.js +0 -26
  424. package/dist/cesium/Workers/createRectangleGeometry.js +0 -26
  425. package/dist/cesium/Workers/createRectangleOutlineGeometry.js +0 -26
  426. package/dist/cesium/Workers/createSimplePolylineGeometry.js +0 -26
  427. package/dist/cesium/Workers/createSphereGeometry.js +0 -26
  428. package/dist/cesium/Workers/createSphereOutlineGeometry.js +0 -26
  429. package/dist/cesium/Workers/createTaskProcessorWorker.js +0 -26
  430. package/dist/cesium/Workers/createVectorTileClampedPolylines.js +0 -26
  431. package/dist/cesium/Workers/createVectorTileGeometries.js +0 -26
  432. package/dist/cesium/Workers/createVectorTilePoints.js +0 -26
  433. package/dist/cesium/Workers/createVectorTilePolygons.js +0 -26
  434. package/dist/cesium/Workers/createVectorTilePolylines.js +0 -26
  435. package/dist/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -26
  436. package/dist/cesium/Workers/createVerticesFromHeightmap.js +0 -26
  437. package/dist/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -26
  438. package/dist/cesium/Workers/createWallGeometry.js +0 -26
  439. package/dist/cesium/Workers/createWallOutlineGeometry.js +0 -26
  440. package/dist/cesium/Workers/decodeDraco.js +0 -26
  441. package/dist/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +0 -26
  442. package/dist/cesium/Workers/decodeI3S.js +0 -26
  443. package/dist/cesium/Workers/transcodeKTX2.js +0 -56
  444. package/dist/cesium/Workers/transferTypedArrayTest.js +0 -26
  445. 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,12 +363,18 @@ 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;
363
371
  };
364
372
 
365
- export declare type CursorType = "auto" | "grab" | "crosshair";
373
+ export declare type Credit = {
374
+ html?: string;
375
+ };
366
376
 
367
- declare type CursorType_2 = "default" | "auto" | "help" | "pointer" | "grab" | "crosshair";
377
+ declare type CursorType = "default" | "auto" | "help" | "pointer" | "grab" | "crosshair";
368
378
 
369
379
  export declare type Data = {
370
380
  type: DataType;
@@ -376,6 +386,9 @@ export declare type Data = {
376
386
  updateInterval?: number;
377
387
  parameters?: Record<string, any>;
378
388
  idProperty?: string;
389
+ serviceTokens?: {
390
+ googleMapApiKey?: string;
391
+ };
379
392
  time?: {
380
393
  property?: string;
381
394
  interval?: number;
@@ -489,6 +502,7 @@ export declare type EngineProps = {
489
502
  isLayerDragging?: boolean;
490
503
  shouldRender?: boolean;
491
504
  meta?: Record<string, unknown>;
505
+ displayCredits?: boolean;
492
506
  layersRef?: RefObject<LayersRef>;
493
507
  requestingRenderMode?: MutableRefObject<RequestingRenderMode>;
494
508
  timelineManagerRef?: TimelineManagerRef;
@@ -503,6 +517,7 @@ export declare type EngineProps = {
503
517
  onLayerSelectWithRectStart?: (e: LayerSelectWithRectStart) => void;
504
518
  onLayerSelectWithRectMove?: (e: LayerSelectWithRectMove) => void;
505
519
  onLayerSelectWithRectEnd?: (e: LayerSelectWithRectEnd) => void;
520
+ onCreditsUpdate?: (credits: Credit[]) => void;
506
521
  };
507
522
 
508
523
  export declare type EngineRef = {
@@ -531,7 +546,8 @@ export declare type EngineRef = {
531
546
  isPositionVisible: (position: [x: number, y: number, z: number]) => boolean;
532
547
  setView: (camera: CameraPosition) => void;
533
548
  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;
549
+ getExtrudedHeight: (position: [x: number, y: number, z: number], windowPosition: [x: number, y: number], allowNegative?: boolean) => number | undefined;
550
+ getExtrudedPoint: (position: [x: number, y: number, z: number], extrutedHeight: number) => Position3d | undefined;
535
551
  getSurfaceDistance: (point1: Cartesian3, point2: Cartesian3) => number | undefined;
536
552
  equalsEpsilon2d: (point1: Position2d, point2: Position2d, relativeEpsilon: number | undefined, absoluteEpsilon: number | undefined) => boolean;
537
553
  equalsEpsilon3d: (point1: Position3d, point2: Position3d, relativeEpsilon: number | undefined, absoluteEpsilon: number | undefined) => boolean;
@@ -539,7 +555,7 @@ export declare type EngineRef = {
539
555
  type: SketchType;
540
556
  controlPoints: Position3d[];
541
557
  }) => LineString | Polygon_2 | MultiPolygon | Point | undefined;
542
- setCursor: (cursor: CursorType_2) => void;
558
+ setCursor: (cursor: CursorType) => void;
543
559
  flyTo: FlyTo;
544
560
  flyToBBox: (bbox: [number, number, number, number], options?: CameraOptions & {
545
561
  heading?: number;
@@ -589,6 +605,8 @@ export declare type EngineRef = {
589
605
  selectFeatures: (layerId: string, featureId: string[]) => void;
590
606
  unselectFeatures: (layerId: string, featureId: string[]) => void;
591
607
  pickManyFromViewport: (windowPosition: [x: number, y: number], windowWidth: number, windowHeight: number, condition?: (f: PickedFeature) => boolean) => PickedFeature[] | undefined;
608
+ calcRectangleControlPoint: (p1: Position3d, p2: Position3d, p3: Position3d) => [p1: Position3d, p2: Position3d, p3: Position3d];
609
+ getCredits: () => Credit[] | undefined;
592
610
  } & MouseEventHandles;
593
611
 
594
612
  export declare const engines: {
@@ -747,11 +765,6 @@ export declare type FrustumAppearance = {
747
765
 
748
766
  export declare type Geometry = Point | LineString | Polygon_2 | MultiPoint | MultiLineString | MultiPolygon;
749
767
 
750
- declare type GeometryOptions = {
751
- type: SketchType;
752
- controlPoints: readonly Position3d[];
753
- };
754
-
755
768
  export declare type GeometryOptionsXYZ = {
756
769
  type: SketchType;
757
770
  controlPoints: Position3d[];
@@ -844,7 +857,7 @@ declare type InfoboxProperty = {
844
857
 
845
858
  export declare const INTERACTION_MODES: Record<InteractionModeType, number>;
846
859
 
847
- export declare type InteractionModeType = "default" | "move" | "selection" | "sketch";
860
+ export declare type InteractionModeType = "default" | "move" | "selection" | "sketch" | "spatialId";
848
861
 
849
862
  export declare function isSketchType(value: unknown): value is SketchType;
850
863
 
@@ -954,6 +967,8 @@ export declare type LayersRef = {
954
967
  }) | null) => void;
955
968
  deleteLayer: (...ids: string[]) => void;
956
969
  isLayer: (obj: any) => obj is LazyLayer;
970
+ isComputedLayer: (obj: any) => obj is ComputedLayer;
971
+ isTempLayer: (layerId?: string) => boolean;
957
972
  layers: () => LazyLayer[];
958
973
  walk: <T>(fn: (layer: LazyLayer, index: number, parents: LazyLayer[]) => T | void) => T | undefined;
959
974
  find: (fn: (layer: LazyLayer, index: number, parents: LazyLayer[]) => boolean) => LazyLayer | undefined;
@@ -984,6 +999,7 @@ export declare type LayerVisibilityEvent = {
984
999
  */
985
1000
  export declare type LazyLayer = Readonly<Layer> & {
986
1001
  computed?: Readonly<ComputedLayer>;
1002
+ isTempLayer?: boolean;
987
1003
  pluginId?: string;
988
1004
  extensionId?: string;
989
1005
  property?: any;
@@ -1074,15 +1090,15 @@ export declare type LUT = readonly ColorTuple[];
1074
1090
  declare const Map_2: ForwardRefExoticComponent< {
1075
1091
  engines?: Record<string, Engine> | undefined;
1076
1092
  engine?: string | undefined;
1077
- } & Omit<Props_2, "Feature" | "viewerProperty" | "selectionReason" | "delegatedDataTypes" | "clusterComponent" | "selectedLayerId"> & Omit<EngineProps, "onLayerSelect" | "selectedLayerId" | "layerSelectionReason"> & Omit<SketchProps, "engineRef" | "layersRef" | "SketchComponent"> & {
1078
- cursor?: CursorType | undefined;
1079
- } & RefAttributes<MapRef>>;
1093
+ onAPIReady?: (() => void) | undefined;
1094
+ } & Omit<Props_2, "Feature" | "viewerProperty" | "selectionReason" | "delegatedDataTypes" | "clusterComponent" | "selectedLayerId"> & Omit<EngineProps, "onLayerSelect" | "selectedLayerId" | "layerSelectionReason"> & Omit<SketchProps, "engineRef" | "SketchComponent" | "layersRef"> & RefAttributes<MapRef>>;
1080
1095
  export { Map_2 as Map }
1081
1096
 
1082
1097
  export declare type MapRef = {
1083
1098
  engine: WrappedRef<EngineRef>;
1084
1099
  layers: WrappedRef<LayersRef>;
1085
1100
  sketch: WrappedRef<SketchRef>;
1101
+ spatialId?: WrappedRef<SpatialIdRef>;
1086
1102
  timeline?: TimelineManagerRef;
1087
1103
  };
1088
1104
 
@@ -1272,6 +1288,7 @@ export declare type PolygonAppearance = {
1272
1288
  stroke?: boolean;
1273
1289
  strokeColor?: string;
1274
1290
  strokeWidth?: number;
1291
+ height?: number;
1275
1292
  heightReference?: "none" | "clamp" | "relative";
1276
1293
  shadows?: "disabled" | "enabled" | "cast_only" | "receive_only";
1277
1294
  lineJoin?: CanvasLineJoin;
@@ -1316,9 +1333,8 @@ declare type PropertyItem<T> = {
1316
1333
  export declare type Props = {
1317
1334
  engines?: Record<string, Engine>;
1318
1335
  engine?: string;
1319
- } & Omit<Props_2, "Feature" | "clusterComponent" | "selectionReason" | "delegatedDataTypes" | "selectedLayerId" | "viewerProperty"> & Omit<EngineProps, "onLayerSelect" | "layerSelectionReason" | "selectedLayerId"> & Omit<SketchProps, "layersRef" | "engineRef" | "SketchComponent"> & {
1320
- cursor?: CursorType;
1321
- };
1336
+ onAPIReady?: () => void;
1337
+ } & Omit<Props_2, "Feature" | "clusterComponent" | "selectionReason" | "delegatedDataTypes" | "selectedLayerId" | "viewerProperty"> & Omit<EngineProps, "onLayerSelect" | "layerSelectionReason" | "selectedLayerId"> & Omit<SketchProps, "layersRef" | "engineRef" | "SketchComponent">;
1322
1338
 
1323
1339
  declare type Props_2 = Omit<Props_3, "atomMap" | "isHidden" | "selectedLayerId"> & {
1324
1340
  selectedLayer?: {
@@ -1331,6 +1347,7 @@ declare type Props_2 = Omit<Props_3, "atomMap" | "isHidden" | "selectedLayerId">
1331
1347
  requestingRenderMode?: MutableRefObject<RequestingRenderMode>;
1332
1348
  engineRef?: RefObject<EngineRef>;
1333
1349
  onLayerSelect?: (layerId: string | undefined, featureId: string | undefined, layer: (() => Promise<ComputedLayer | undefined>) | undefined, reason: LayerSelectionReason | undefined, info: SelectedFeatureInfo | undefined) => void;
1350
+ onMount?: () => void;
1334
1351
  };
1335
1352
 
1336
1353
  declare type Props_3 = {
@@ -1458,17 +1475,34 @@ export declare type ShadowProperty = {
1458
1475
 
1459
1476
  export declare type SketchAppearance = Partial<LayerAppearanceTypes>;
1460
1477
 
1461
- declare type SketchComponentProps = RequireExactlyOne<{
1462
- geometry?: LineString | Polygon_2 | MultiPolygon | null;
1463
- geometryOptions?: GeometryOptions | null;
1478
+ declare type SketchComponentProps = {
1479
+ geometryOptions?: {
1480
+ type: SketchType;
1481
+ controlPoints: readonly Position3d[];
1482
+ } | null;
1464
1483
  extrudedHeight?: number;
1484
+ extrudedPoint?: Position3d;
1485
+ centroidBasePoint?: Position3d;
1486
+ centroidExtrudedPoint?: Position3d;
1465
1487
  disableShadow?: boolean;
1466
- enableRelativeHeight?: boolean;
1467
1488
  color?: string;
1468
- }, "geometry" | "geometryOptions">;
1489
+ isEditing?: boolean;
1490
+ catchedControlPointIndex?: number;
1491
+ catchedExtrudedPoint?: boolean;
1492
+ selectedControlPointIndex?: number;
1493
+ handleControlPointMouseEvent?: ControlPointMouseEventHandler;
1494
+ handleAddControlPoint?: (position: Position3d, index: number) => void;
1495
+ };
1469
1496
 
1470
1497
  export declare type SketchComponentType = ComponentType<SketchComponentProps>;
1471
1498
 
1499
+ export declare type SketchEditFeatureChangeCb = (feature: SketchEditingFeature | undefined) => void;
1500
+
1501
+ export declare type SketchEditingFeature = {
1502
+ layerId: string;
1503
+ feature: ComputedFeature;
1504
+ };
1505
+
1472
1506
  export declare type SketchEventCallback = (event: SketchEventProps) => void;
1473
1507
 
1474
1508
  export declare type SketchEventProps = {
@@ -1489,9 +1523,9 @@ export declare type SketchOptions = {
1489
1523
  appearance?: SketchAppearance;
1490
1524
  dataOnly?: boolean;
1491
1525
  disableShadow?: boolean;
1492
- enableRelativeHeight?: boolean;
1493
1526
  rightClickToAbort?: boolean;
1494
1527
  autoResetInteractionMode?: boolean;
1528
+ useCentroidExtrudedHeight?: boolean;
1495
1529
  };
1496
1530
 
1497
1531
  export declare type SketchProps = {
@@ -1504,7 +1538,17 @@ export declare type SketchProps = {
1504
1538
  onSketchTypeChange?: (type: SketchType | undefined, from?: "editor" | "plugin") => void;
1505
1539
  onSketchFeatureCreate?: (feature: SketchFeature | null) => void;
1506
1540
  onSketchPluginFeatureCreate?: (props: SketchEventProps) => void;
1541
+ onSketchFeatureUpdate?: (feature: SketchFeature | null) => void;
1542
+ onSketchPluginFeatureUpdate?: (props: SketchEventProps) => void;
1543
+ onSketchFeatureDelete?: (layerId: string, featureId: string) => void;
1544
+ onSketchPluginFeatureDelete?: (props: {
1545
+ layerId: string;
1546
+ featureId: string;
1547
+ }) => void;
1507
1548
  onLayerSelect?: OnLayerSelectType;
1549
+ sketchEditingFeature?: SketchEditingFeature;
1550
+ onSketchEditFeature?: (feature: SketchEditingFeature | undefined) => void;
1551
+ onMount?: () => void;
1508
1552
  };
1509
1553
 
1510
1554
  export declare type SketchRef = {
@@ -1512,6 +1556,11 @@ export declare type SketchRef = {
1512
1556
  setType: (type: SketchType | undefined, from?: "editor" | "plugin") => void;
1513
1557
  getOptions: () => SketchOptions;
1514
1558
  overrideOptions: (options: SketchOptions) => void;
1559
+ editFeature: (feature: SketchEditingFeature | undefined) => void;
1560
+ cancelEdit: (ignoreAutoReSelect?: boolean) => void;
1561
+ applyEdit: () => void;
1562
+ deleteFeature: (layerId: string, featureId: string) => void;
1563
+ onEditFeatureChange: (cb: SketchEditFeatureChangeCb) => void;
1515
1564
  };
1516
1565
 
1517
1566
  export declare type SketchType = "marker" | "polyline" | "circle" | "rectangle" | "polygon" | "extrudedCircle" | "extrudedRectangle" | "extrudedPolygon";
@@ -1542,6 +1591,49 @@ export declare type Spacing = {
1542
1591
  top: number;
1543
1592
  };
1544
1593
 
1594
+ declare type SpatialIdPickSpaceOptions = {
1595
+ zoom?: number;
1596
+ maxHeight?: number;
1597
+ minHeight?: number;
1598
+ dataOnly?: boolean;
1599
+ rightClickToExit?: boolean;
1600
+ color?: string;
1601
+ outlineColor?: string;
1602
+ groundIndicatorColor?: string;
1603
+ selectorColor?: string;
1604
+ selectorOutlineColor?: string;
1605
+ verticalSpaceIndicatorColor?: string;
1606
+ verticalSpaceIndicatorOutlineColor?: string;
1607
+ };
1608
+
1609
+ declare type SpatialIdRef = {
1610
+ pickSpace: (options?: SpatialIdPickSpaceOptions) => void;
1611
+ exitPickSpace: () => void;
1612
+ onSpacePick: (cb: (space: SpatialIdSpaceData) => void) => void;
1613
+ };
1614
+
1615
+ declare type SpatialIdSpaceData = {
1616
+ id: string;
1617
+ center: {
1618
+ lat: number;
1619
+ lng: number;
1620
+ alt?: number;
1621
+ };
1622
+ alt: number;
1623
+ zoom: number;
1624
+ zfxy: {
1625
+ z: number;
1626
+ f: number;
1627
+ x: number;
1628
+ y: number;
1629
+ };
1630
+ zfxyStr: string;
1631
+ tilehash: string;
1632
+ hilbertTilehash: string;
1633
+ hilbertIndex: string;
1634
+ vertices: [number, number, number][];
1635
+ };
1636
+
1545
1637
  export declare type StyleExpression = ConditionsExpression | string;
1546
1638
 
1547
1639
  export declare type SunProperty = {
@@ -1580,6 +1672,8 @@ export declare type TileLabelProperty = {
1580
1672
  id: string;
1581
1673
  labelType: "japan_gsi_optimal_bvmap";
1582
1674
  style: Record<string, any>;
1675
+ near?: number;
1676
+ far?: number;
1583
1677
  };
1584
1678
 
1585
1679
  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.31",
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