@reearth/core 0.0.7-alpha.4 → 0.0.7-alpha.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core.js +44858 -39524
- package/dist/core.umd.cjs +3910 -3868
- package/dist/{index-DqatWUTw.js → index-DqGWVPtz.js} +0 -1
- package/dist/index.d.ts +141 -24
- package/package.json +29 -9
- package/src/Map/Geoid/index.tsx +68 -0
- package/src/Map/Geoid/types.ts +8 -0
- package/src/Map/Layer/hooks.ts +6 -3
- package/src/Map/Layer/index.tsx +2 -0
- package/src/Map/Layers/hooks.ts +27 -0
- package/src/Map/Layers/index.tsx +12 -1
- package/src/Map/Layers/keys.ts +1 -0
- package/src/Map/Sketch/hooks.ts +450 -407
- package/src/Map/Sketch/index.tsx +65 -18
- package/src/Map/Sketch/sketchMachine.ts +359 -4
- package/src/Map/Sketch/sketchMachine.typegen.ts +58 -1
- package/src/Map/Sketch/types.ts +10 -20
- package/src/Map/Sketch/usePluginSketchLayer.ts +105 -0
- package/src/Map/Sketch/useSketch.ts +559 -0
- package/src/Map/Sketch/useSketchFeature.ts +198 -0
- package/src/Map/SpatialId/constants.ts +21 -0
- package/src/Map/SpatialId/hooks.ts +448 -0
- package/src/Map/SpatialId/index.tsx +63 -0
- package/src/Map/SpatialId/types.ts +68 -0
- package/src/Map/SpatialId/utils.ts +65 -0
- package/src/Map/hooks.ts +54 -8
- package/src/Map/index.tsx +40 -7
- package/src/Map/ref.ts +30 -0
- package/src/Map/types/index.ts +37 -1
- package/src/Map/types/viewerProperty.ts +10 -0
- package/src/Visualizer/coreContext.tsx +2 -0
- package/src/Visualizer/hooks.ts +46 -12
- package/src/Visualizer/index.tsx +22 -3
- package/src/Visualizer/interactionMode.ts +2 -1
- package/src/engines/Cesium/Feature/Model/index.tsx +3 -3
- package/src/engines/Cesium/Feature/Polygon/index.tsx +6 -4
- package/src/engines/Cesium/Feature/Raster/mvt.ts +2 -1
- package/src/engines/Cesium/Feature/Resource/utils.ts +86 -91
- package/src/engines/Cesium/Feature/Tileset/hooks.ts +75 -35
- package/src/engines/Cesium/Feature/context.ts +1 -0
- package/src/engines/Cesium/Feature/index.tsx +6 -2
- package/src/engines/Cesium/Feature/utils.tsx +9 -5
- package/src/engines/Cesium/Shaders/OverriddenShaders/GlobeFS/IBL.glsl +6 -10
- package/src/engines/Cesium/Sketch/ControlPoint.tsx +128 -24
- package/src/engines/Cesium/Sketch/ExtrudedControlPoints.tsx +70 -25
- package/src/engines/Cesium/Sketch/ExtrudedMeasurement.tsx +3 -1
- package/src/engines/Cesium/Sketch/ExtrudedPolygonEntity.tsx +14 -14
- package/src/engines/Cesium/Sketch/PolylineEntity.tsx +7 -4
- package/src/engines/Cesium/Sketch/SurfaceAddingPoints.tsx +60 -0
- package/src/engines/Cesium/Sketch/SurfaceControlPoints.tsx +125 -35
- package/src/engines/Cesium/Sketch/constants.ts +5 -0
- package/src/engines/Cesium/Sketch/index.tsx +68 -29
- package/src/engines/Cesium/SpatialId/CoordinateIndicator.tsx +28 -0
- package/src/engines/Cesium/SpatialId/SpatialIdSpace.tsx +33 -0
- package/src/engines/Cesium/SpatialId/VerticalSpaceIndicator.tsx +32 -0
- package/src/engines/Cesium/SpatialId/index.ts +3 -0
- package/src/engines/Cesium/common.ts +52 -16
- package/src/engines/Cesium/core/Globe.tsx +11 -2
- package/src/engines/Cesium/core/Imagery.tsx +16 -3
- package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapLabelImagery.tsx +8 -1
- package/src/engines/Cesium/core/labels/JapanGSIOptimalBVmapVectorMapLabel/JapanGSIOptimalBVmapVectorMapLabel.tsx +14 -2
- package/src/engines/Cesium/core/labels/LabelImageryLayers.tsx +10 -1
- package/src/engines/Cesium/core/presets.ts +10 -27
- package/src/engines/Cesium/helpers/getGeometryFromEntity.ts +55 -0
- package/src/engines/Cesium/hooks/useEngineRef.ts +46 -1
- package/src/engines/Cesium/hooks/useOverrideGlobeShader/useOverrideGlobeShader.ts +1 -1
- package/src/engines/Cesium/hooks.ts +45 -4
- package/src/engines/Cesium/index.tsx +16 -3
- package/src/engines/Cesium/types.ts +1 -1
- package/src/mantle/atoms/compute.ts +5 -1
- package/src/mantle/data/geojson.ts +53 -22
- package/src/mantle/evaluator/simple/expression/expression.test.ts +72 -0
- package/src/mantle/evaluator/simple/expression/node.ts +10 -12
- package/src/mantle/types/appearance.ts +12 -10
- package/src/mantle/types/index.ts +3 -0
- package/src/utils/image.ts +1 -11
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json +0 -1
- package/dist/cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json +0 -1
- package/dist/cesium/Assets/Images/bing_maps_credit.png +0 -0
- package/dist/cesium/Assets/Images/cesium_credit.png +0 -0
- package/dist/cesium/Assets/Images/google_earth_credit.png +0 -0
- package/dist/cesium/Assets/Images/ion-credit.png +0 -0
- package/dist/cesium/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
- package/dist/cesium/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- package/dist/cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +0 -14
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- package/dist/cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- package/dist/cesium/Assets/Textures/maki/airfield.png +0 -0
- package/dist/cesium/Assets/Textures/maki/airport.png +0 -0
- package/dist/cesium/Assets/Textures/maki/alcohol-shop.png +0 -0
- package/dist/cesium/Assets/Textures/maki/america-football.png +0 -0
- package/dist/cesium/Assets/Textures/maki/art-gallery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bakery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bank.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bar.png +0 -0
- package/dist/cesium/Assets/Textures/maki/baseball.png +0 -0
- package/dist/cesium/Assets/Textures/maki/basketball.png +0 -0
- package/dist/cesium/Assets/Textures/maki/beer.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bicycle.png +0 -0
- package/dist/cesium/Assets/Textures/maki/building.png +0 -0
- package/dist/cesium/Assets/Textures/maki/bus.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cafe.png +0 -0
- package/dist/cesium/Assets/Textures/maki/camera.png +0 -0
- package/dist/cesium/Assets/Textures/maki/campsite.png +0 -0
- package/dist/cesium/Assets/Textures/maki/car.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cemetery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cesium.png +0 -0
- package/dist/cesium/Assets/Textures/maki/chemist.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cinema.png +0 -0
- package/dist/cesium/Assets/Textures/maki/circle-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/circle.png +0 -0
- package/dist/cesium/Assets/Textures/maki/city.png +0 -0
- package/dist/cesium/Assets/Textures/maki/clothing-store.png +0 -0
- package/dist/cesium/Assets/Textures/maki/college.png +0 -0
- package/dist/cesium/Assets/Textures/maki/commercial.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cricket.png +0 -0
- package/dist/cesium/Assets/Textures/maki/cross.png +0 -0
- package/dist/cesium/Assets/Textures/maki/dam.png +0 -0
- package/dist/cesium/Assets/Textures/maki/danger.png +0 -0
- package/dist/cesium/Assets/Textures/maki/disability.png +0 -0
- package/dist/cesium/Assets/Textures/maki/dog-park.png +0 -0
- package/dist/cesium/Assets/Textures/maki/embassy.png +0 -0
- package/dist/cesium/Assets/Textures/maki/emergency-telephone.png +0 -0
- package/dist/cesium/Assets/Textures/maki/entrance.png +0 -0
- package/dist/cesium/Assets/Textures/maki/farm.png +0 -0
- package/dist/cesium/Assets/Textures/maki/fast-food.png +0 -0
- package/dist/cesium/Assets/Textures/maki/ferry.png +0 -0
- package/dist/cesium/Assets/Textures/maki/fire-station.png +0 -0
- package/dist/cesium/Assets/Textures/maki/fuel.png +0 -0
- package/dist/cesium/Assets/Textures/maki/garden.png +0 -0
- package/dist/cesium/Assets/Textures/maki/gift.png +0 -0
- package/dist/cesium/Assets/Textures/maki/golf.png +0 -0
- package/dist/cesium/Assets/Textures/maki/grocery.png +0 -0
- package/dist/cesium/Assets/Textures/maki/hairdresser.png +0 -0
- package/dist/cesium/Assets/Textures/maki/harbor.png +0 -0
- package/dist/cesium/Assets/Textures/maki/heart.png +0 -0
- package/dist/cesium/Assets/Textures/maki/heliport.png +0 -0
- package/dist/cesium/Assets/Textures/maki/hospital.png +0 -0
- package/dist/cesium/Assets/Textures/maki/ice-cream.png +0 -0
- package/dist/cesium/Assets/Textures/maki/industrial.png +0 -0
- package/dist/cesium/Assets/Textures/maki/land-use.png +0 -0
- package/dist/cesium/Assets/Textures/maki/laundry.png +0 -0
- package/dist/cesium/Assets/Textures/maki/library.png +0 -0
- package/dist/cesium/Assets/Textures/maki/lighthouse.png +0 -0
- package/dist/cesium/Assets/Textures/maki/lodging.png +0 -0
- package/dist/cesium/Assets/Textures/maki/logging.png +0 -0
- package/dist/cesium/Assets/Textures/maki/london-underground.png +0 -0
- package/dist/cesium/Assets/Textures/maki/marker-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/marker.png +0 -0
- package/dist/cesium/Assets/Textures/maki/minefield.png +0 -0
- package/dist/cesium/Assets/Textures/maki/mobilephone.png +0 -0
- package/dist/cesium/Assets/Textures/maki/monument.png +0 -0
- package/dist/cesium/Assets/Textures/maki/museum.png +0 -0
- package/dist/cesium/Assets/Textures/maki/music.png +0 -0
- package/dist/cesium/Assets/Textures/maki/oil-well.png +0 -0
- package/dist/cesium/Assets/Textures/maki/park.png +0 -0
- package/dist/cesium/Assets/Textures/maki/park2.png +0 -0
- package/dist/cesium/Assets/Textures/maki/parking-garage.png +0 -0
- package/dist/cesium/Assets/Textures/maki/parking.png +0 -0
- package/dist/cesium/Assets/Textures/maki/pharmacy.png +0 -0
- package/dist/cesium/Assets/Textures/maki/pitch.png +0 -0
- package/dist/cesium/Assets/Textures/maki/place-of-worship.png +0 -0
- package/dist/cesium/Assets/Textures/maki/playground.png +0 -0
- package/dist/cesium/Assets/Textures/maki/police.png +0 -0
- package/dist/cesium/Assets/Textures/maki/polling-place.png +0 -0
- package/dist/cesium/Assets/Textures/maki/post.png +0 -0
- package/dist/cesium/Assets/Textures/maki/prison.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-above.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-light.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-metro.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail-underground.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rail.png +0 -0
- package/dist/cesium/Assets/Textures/maki/religious-christian.png +0 -0
- package/dist/cesium/Assets/Textures/maki/religious-jewish.png +0 -0
- package/dist/cesium/Assets/Textures/maki/religious-muslim.png +0 -0
- package/dist/cesium/Assets/Textures/maki/restaurant.png +0 -0
- package/dist/cesium/Assets/Textures/maki/roadblock.png +0 -0
- package/dist/cesium/Assets/Textures/maki/rocket.png +0 -0
- package/dist/cesium/Assets/Textures/maki/school.png +0 -0
- package/dist/cesium/Assets/Textures/maki/scooter.png +0 -0
- package/dist/cesium/Assets/Textures/maki/shop.png +0 -0
- package/dist/cesium/Assets/Textures/maki/skiing.png +0 -0
- package/dist/cesium/Assets/Textures/maki/slaughterhouse.png +0 -0
- package/dist/cesium/Assets/Textures/maki/soccer.png +0 -0
- package/dist/cesium/Assets/Textures/maki/square-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/square.png +0 -0
- package/dist/cesium/Assets/Textures/maki/star-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/star.png +0 -0
- package/dist/cesium/Assets/Textures/maki/suitcase.png +0 -0
- package/dist/cesium/Assets/Textures/maki/swimming.png +0 -0
- package/dist/cesium/Assets/Textures/maki/telephone.png +0 -0
- package/dist/cesium/Assets/Textures/maki/tennis.png +0 -0
- package/dist/cesium/Assets/Textures/maki/theatre.png +0 -0
- package/dist/cesium/Assets/Textures/maki/toilets.png +0 -0
- package/dist/cesium/Assets/Textures/maki/town-hall.png +0 -0
- package/dist/cesium/Assets/Textures/maki/town.png +0 -0
- package/dist/cesium/Assets/Textures/maki/triangle-stroked.png +0 -0
- package/dist/cesium/Assets/Textures/maki/triangle.png +0 -0
- package/dist/cesium/Assets/Textures/maki/village.png +0 -0
- package/dist/cesium/Assets/Textures/maki/warehouse.png +0 -0
- package/dist/cesium/Assets/Textures/maki/waste-basket.png +0 -0
- package/dist/cesium/Assets/Textures/maki/water.png +0 -0
- package/dist/cesium/Assets/Textures/maki/wetland.png +0 -0
- package/dist/cesium/Assets/Textures/maki/zoo.png +0 -0
- package/dist/cesium/Assets/Textures/moonSmall.jpg +0 -0
- package/dist/cesium/Assets/Textures/pin.svg +0 -1
- package/dist/cesium/Assets/Textures/waterNormals.jpg +0 -0
- package/dist/cesium/Assets/Textures/waterNormalsSmall.jpg +0 -0
- package/dist/cesium/Assets/approximateTerrainHeights.json +0 -1
- package/dist/cesium/ThirdParty/Workers/package.json +0 -1
- package/dist/cesium/ThirdParty/Workers/pako_deflate.min.js +0 -1
- package/dist/cesium/ThirdParty/Workers/pako_inflate.min.js +0 -1
- package/dist/cesium/ThirdParty/Workers/z-worker-pako.js +0 -1
- package/dist/cesium/ThirdParty/basis_transcoder.wasm +0 -0
- package/dist/cesium/ThirdParty/draco_decoder.wasm +0 -0
- package/dist/cesium/ThirdParty/google-earth-dbroot-parser.js +0 -1
- package/dist/cesium/Widgets/Animation/Animation.css +0 -127
- package/dist/cesium/Widgets/Animation/lighter.css +0 -70
- package/dist/cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css +0 -108
- package/dist/cesium/Widgets/BaseLayerPicker/lighter.css +0 -22
- package/dist/cesium/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css +0 -102
- package/dist/cesium/Widgets/CesiumInspector/CesiumInspector.css +0 -113
- package/dist/cesium/Widgets/CesiumWidget/CesiumWidget.css +0 -124
- package/dist/cesium/Widgets/CesiumWidget/lighter.css +0 -14
- package/dist/cesium/Widgets/FullscreenButton/FullscreenButton.css +0 -8
- package/dist/cesium/Widgets/Geocoder/Geocoder.css +0 -70
- package/dist/cesium/Widgets/Geocoder/lighter.css +0 -17
- package/dist/cesium/Widgets/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +0 -27
- package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/bingAerial.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/bingRoads.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/blueMarble.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/earthAtNight.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapboxSatellite.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapboxStreets.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/mapboxTerrain.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/naturalEarthII.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/openStreetMap.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/sentinel-2.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stamenToner.png +0 -0
- package/dist/cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png +0 -0
- package/dist/cesium/Widgets/Images/NavigationHelp/Mouse.svg +0 -84
- package/dist/cesium/Widgets/Images/NavigationHelp/MouseLeft.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/MouseMiddle.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/MouseRight.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/Touch.svg +0 -120
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchDrag.svg +0 -129
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchRotate.svg +0 -76
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchTilt.svg +0 -135
- package/dist/cesium/Widgets/Images/NavigationHelp/TouchZoom.svg +0 -74
- package/dist/cesium/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
- package/dist/cesium/Widgets/Images/TerrainProviders/Ellipsoid.png +0 -0
- package/dist/cesium/Widgets/Images/TimelineIcons.png +0 -0
- package/dist/cesium/Widgets/Images/info-loading.gif +0 -0
- package/dist/cesium/Widgets/InfoBox/InfoBox.css +0 -92
- package/dist/cesium/Widgets/InfoBox/InfoBoxDescription.css +0 -178
- package/dist/cesium/Widgets/NavigationHelpButton/NavigationHelpButton.css +0 -93
- package/dist/cesium/Widgets/NavigationHelpButton/lighter.css +0 -38
- package/dist/cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.css +0 -15
- package/dist/cesium/Widgets/ProjectionPicker/ProjectionPicker.css +0 -38
- package/dist/cesium/Widgets/SceneModePicker/SceneModePicker.css +0 -56
- package/dist/cesium/Widgets/SelectionIndicator/SelectionIndicator.css +0 -20
- package/dist/cesium/Widgets/Timeline/Timeline.css +0 -103
- package/dist/cesium/Widgets/Timeline/lighter.css +0 -23
- package/dist/cesium/Widgets/VRButton/VRButton.css +0 -8
- package/dist/cesium/Widgets/Viewer/Viewer.css +0 -107
- package/dist/cesium/Widgets/VoxelInspector/VoxelInspector.css +0 -16
- package/dist/cesium/Widgets/lighter.css +0 -237
- package/dist/cesium/Widgets/lighterShared.css +0 -46
- package/dist/cesium/Widgets/shared.css +0 -103
- package/dist/cesium/Widgets/widgets.css +0 -1346
- package/dist/cesium/Workers/chunk-2ED5WI77.js +0 -26
- package/dist/cesium/Workers/chunk-2MBPFWCP.js +0 -26
- package/dist/cesium/Workers/chunk-3C74MLG3.js +0 -26
- package/dist/cesium/Workers/chunk-45U7TTT3.js +0 -26
- package/dist/cesium/Workers/chunk-4N7SRDH5.js +0 -26
- package/dist/cesium/Workers/chunk-4T6AS6BZ.js +0 -26
- package/dist/cesium/Workers/chunk-5AG2MVRM.js +0 -26
- package/dist/cesium/Workers/chunk-5Z6L2FHX.js +0 -26
- package/dist/cesium/Workers/chunk-6AUUBDOF.js +0 -26
- package/dist/cesium/Workers/chunk-74N6MC2V.js +0 -26
- package/dist/cesium/Workers/chunk-7VJK3KHI.js +0 -26
- package/dist/cesium/Workers/chunk-7VZHIB6P.js +0 -26
- package/dist/cesium/Workers/chunk-7X2YQ6I4.js +0 -27
- package/dist/cesium/Workers/chunk-B2SKQ7LU.js +0 -26
- package/dist/cesium/Workers/chunk-B4TQDFIE.js +0 -26
- package/dist/cesium/Workers/chunk-B6TRTFAA.js +0 -26
- package/dist/cesium/Workers/chunk-BK3HCS7I.js +0 -26
- package/dist/cesium/Workers/chunk-BOPB43LN.js +0 -26
- package/dist/cesium/Workers/chunk-C6DMEJQ7.js +0 -26
- package/dist/cesium/Workers/chunk-CN7UN2OZ.js +0 -26
- package/dist/cesium/Workers/chunk-CSISXEG7.js +0 -26
- package/dist/cesium/Workers/chunk-CUOR5F7T.js +0 -28
- package/dist/cesium/Workers/chunk-DGCK3LD2.js +0 -30
- package/dist/cesium/Workers/chunk-DXEZYE3K.js +0 -62
- package/dist/cesium/Workers/chunk-EXBFEYPQ.js +0 -26
- package/dist/cesium/Workers/chunk-FK5KFB6H.js +0 -26
- package/dist/cesium/Workers/chunk-HPBHKP5S.js +0 -26
- package/dist/cesium/Workers/chunk-JCJ24DHF.js +0 -26
- package/dist/cesium/Workers/chunk-JEWHFDAA.js +0 -26
- package/dist/cesium/Workers/chunk-JZLZJJQD.js +0 -26
- package/dist/cesium/Workers/chunk-KRZBI2MU.js +0 -26
- package/dist/cesium/Workers/chunk-KTTUANTJ.js +0 -26
- package/dist/cesium/Workers/chunk-LDCAXLGS.js +0 -26
- package/dist/cesium/Workers/chunk-LOPN5R3I.js +0 -26
- package/dist/cesium/Workers/chunk-MDLPQIMP.js +0 -26
- package/dist/cesium/Workers/chunk-MRR3RGFO.js +0 -26
- package/dist/cesium/Workers/chunk-NPBZI5YA.js +0 -26
- package/dist/cesium/Workers/chunk-NUSW5B6A.js +0 -26
- package/dist/cesium/Workers/chunk-OUXRUXNB.js +0 -26
- package/dist/cesium/Workers/chunk-QPOPEH3M.js +0 -26
- package/dist/cesium/Workers/chunk-R2AN7EKC.js +0 -26
- package/dist/cesium/Workers/chunk-RURL6ZX2.js +0 -26
- package/dist/cesium/Workers/chunk-SUQM3OSW.js +0 -28
- package/dist/cesium/Workers/chunk-UBIRX2SP.js +0 -26
- package/dist/cesium/Workers/chunk-VAKC5J5C.js +0 -26
- package/dist/cesium/Workers/chunk-VHNZBQTR.js +0 -27
- package/dist/cesium/Workers/chunk-VKV642QV.js +0 -26
- package/dist/cesium/Workers/chunk-VMSXG4OA.js +0 -26
- package/dist/cesium/Workers/chunk-VQZSIOZW.js +0 -26
- package/dist/cesium/Workers/chunk-WZUWQMI7.js +0 -26
- package/dist/cesium/Workers/chunk-YBI55DLZ.js +0 -26
- package/dist/cesium/Workers/chunk-YEJWCH6C.js +0 -26
- package/dist/cesium/Workers/chunk-YPDO7SPO.js +0 -26
- package/dist/cesium/Workers/chunk-ZYWD6OQH.js +0 -26
- package/dist/cesium/Workers/combineGeometry.js +0 -26
- package/dist/cesium/Workers/createBoxGeometry.js +0 -26
- package/dist/cesium/Workers/createBoxOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCircleGeometry.js +0 -26
- package/dist/cesium/Workers/createCircleOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCoplanarPolygonGeometry.js +0 -26
- package/dist/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCorridorGeometry.js +0 -26
- package/dist/cesium/Workers/createCorridorOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createCylinderGeometry.js +0 -26
- package/dist/cesium/Workers/createCylinderOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipseGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipseOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipsoidGeometry.js +0 -26
- package/dist/cesium/Workers/createEllipsoidOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createFrustumGeometry.js +0 -26
- package/dist/cesium/Workers/createFrustumOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createGeometry.js +0 -26
- package/dist/cesium/Workers/createGroundPolylineGeometry.js +0 -26
- package/dist/cesium/Workers/createPlaneGeometry.js +0 -26
- package/dist/cesium/Workers/createPlaneOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createPolygonGeometry.js +0 -26
- package/dist/cesium/Workers/createPolygonOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createPolylineGeometry.js +0 -26
- package/dist/cesium/Workers/createPolylineVolumeGeometry.js +0 -26
- package/dist/cesium/Workers/createPolylineVolumeOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createRectangleGeometry.js +0 -26
- package/dist/cesium/Workers/createRectangleOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createSimplePolylineGeometry.js +0 -26
- package/dist/cesium/Workers/createSphereGeometry.js +0 -26
- package/dist/cesium/Workers/createSphereOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createTaskProcessorWorker.js +0 -26
- package/dist/cesium/Workers/createVectorTileClampedPolylines.js +0 -26
- package/dist/cesium/Workers/createVectorTileGeometries.js +0 -26
- package/dist/cesium/Workers/createVectorTilePoints.js +0 -26
- package/dist/cesium/Workers/createVectorTilePolygons.js +0 -26
- package/dist/cesium/Workers/createVectorTilePolylines.js +0 -26
- package/dist/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -26
- package/dist/cesium/Workers/createVerticesFromHeightmap.js +0 -26
- package/dist/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -26
- package/dist/cesium/Workers/createWallGeometry.js +0 -26
- package/dist/cesium/Workers/createWallOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/decodeDraco.js +0 -26
- package/dist/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +0 -26
- package/dist/cesium/Workers/decodeI3S.js +0 -26
- package/dist/cesium/Workers/transcodeKTX2.js +0 -56
- package/dist/cesium/Workers/transferTypedArrayTest.js +0 -26
- package/dist/cesium/Workers/upsampleQuantizedTerrainMesh.js +0 -26
- /package/src/{Map/Sketch/utils.ts → utils/use-window-event.ts} +0 -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 = {
|
|
@@ -161,16 +160,16 @@ export declare type CameraProperty = {
|
|
|
161
160
|
|
|
162
161
|
export declare type Cesium3DTilesAppearance = {
|
|
163
162
|
show?: boolean;
|
|
163
|
+
height?: number;
|
|
164
164
|
color?: string;
|
|
165
165
|
styleUrl?: string;
|
|
166
166
|
shadows?: "disabled" | "enabled" | "cast_only" | "receive_only";
|
|
167
|
-
colorBlendMode?: "highlight" | "replace" | "mix"
|
|
167
|
+
colorBlendMode?: "highlight" | "replace" | "mix";
|
|
168
168
|
edgeWidth?: number;
|
|
169
169
|
edgeColor?: string;
|
|
170
170
|
selectedFeatureColor?: string;
|
|
171
171
|
disableIndexingFeature?: boolean;
|
|
172
172
|
tileset?: string;
|
|
173
|
-
apiKey?: string;
|
|
174
173
|
experimental_clipping?: EXPERIMENTAL_clipping;
|
|
175
174
|
pointSize?: number;
|
|
176
175
|
meta?: unknown;
|
|
@@ -278,6 +277,7 @@ declare type CommonProps = {
|
|
|
278
277
|
isHidden?: boolean;
|
|
279
278
|
isSelected?: boolean;
|
|
280
279
|
meta?: Record<string, unknown>;
|
|
280
|
+
sketchEditingFeature?: SketchEditingFeature;
|
|
281
281
|
};
|
|
282
282
|
|
|
283
283
|
export declare function computeAtom(cache?: typeof globalDataFeaturesCache): WritableAtom<ComputedLayer | undefined, Command, void>;
|
|
@@ -299,6 +299,8 @@ export declare type ConditionsExpression = {
|
|
|
299
299
|
conditions: [string, string][];
|
|
300
300
|
};
|
|
301
301
|
|
|
302
|
+
declare type ControlPointMouseEventHandler = (index: number, isExtrudedPoint: boolean, type: "mousedown" | "click") => void;
|
|
303
|
+
|
|
302
304
|
export declare function convertLayer(l: Layer): LegacyLayer | undefined;
|
|
303
305
|
|
|
304
306
|
export declare function convertLegacyCluster(clusters: LegacyCluster[]): Cluster[];
|
|
@@ -320,6 +322,8 @@ declare type CoreContext = {
|
|
|
320
322
|
handleCameraForceHorizontalRollChange?: (enable?: boolean) => void;
|
|
321
323
|
handleInteractionModeChange?: (mode?: InteractionModeType | undefined) => void;
|
|
322
324
|
onSketchPluginFeatureCreate?: (cb: SketchEventCallback) => void;
|
|
325
|
+
onSketchPluginFeatureUpdate?: (cb: SketchEventCallback) => void;
|
|
326
|
+
onSketchPluginFeatureDelete?: (cb: SketchEventCallback) => void;
|
|
323
327
|
onSketchTypeChange?: (cb: (type: SketchType | undefined) => void) => void;
|
|
324
328
|
onLayerVisibility?: (cb: (e: LayerVisibilityEvent) => void) => void;
|
|
325
329
|
onLayerLoad?: (cb: (e: LayerLoadEvent) => void) => void;
|
|
@@ -352,6 +356,7 @@ export declare type CoreVisualizerProps = {
|
|
|
352
356
|
ready?: boolean;
|
|
353
357
|
hiddenLayers?: string[];
|
|
354
358
|
zoomedLayerId?: string;
|
|
359
|
+
displayCredits?: boolean;
|
|
355
360
|
onCameraChange?: (camera: Camera) => void;
|
|
356
361
|
onLayerDrop?: (layerId: string, propertyKey: string, position: LatLng | undefined) => void;
|
|
357
362
|
onLayerSelect?: (layerId: string | undefined, layer: (() => Promise<ComputedLayer | undefined>) | undefined, feature: ComputedFeature | undefined, reason: LayerSelectionReason | undefined) => void;
|
|
@@ -359,12 +364,26 @@ export declare type CoreVisualizerProps = {
|
|
|
359
364
|
onMount?: () => void;
|
|
360
365
|
onSketchTypeChangeProp?: (type: SketchType | undefined) => void;
|
|
361
366
|
onSketchFeatureCreate?: (feature: SketchFeature | null) => void;
|
|
367
|
+
onSketchFeatureUpdate?: (feature: SketchFeature | null) => void;
|
|
368
|
+
onSketchFeatureDelete?: (layerId: string, featureId: string) => void;
|
|
362
369
|
onInteractionModeChange?: (mode: InteractionModeType) => void;
|
|
370
|
+
onAPIReady?: () => void;
|
|
371
|
+
onCreditsUpdate?: (credits?: Credits) => void;
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
export declare type CreditItem = {
|
|
375
|
+
html?: string;
|
|
363
376
|
};
|
|
364
377
|
|
|
365
|
-
export declare type
|
|
378
|
+
export declare type Credits = {
|
|
379
|
+
engine: {
|
|
380
|
+
cesium?: CreditItem;
|
|
381
|
+
};
|
|
382
|
+
lightbox: CreditItem[];
|
|
383
|
+
screen: CreditItem[];
|
|
384
|
+
};
|
|
366
385
|
|
|
367
|
-
declare type
|
|
386
|
+
declare type CursorType = "default" | "auto" | "help" | "pointer" | "grab" | "crosshair" | "wait";
|
|
368
387
|
|
|
369
388
|
export declare type Data = {
|
|
370
389
|
type: DataType;
|
|
@@ -376,6 +395,9 @@ export declare type Data = {
|
|
|
376
395
|
updateInterval?: number;
|
|
377
396
|
parameters?: Record<string, any>;
|
|
378
397
|
idProperty?: string;
|
|
398
|
+
serviceTokens?: {
|
|
399
|
+
googleMapApiKey?: string;
|
|
400
|
+
};
|
|
379
401
|
time?: {
|
|
380
402
|
property?: string;
|
|
381
403
|
interval?: number;
|
|
@@ -489,6 +511,7 @@ export declare type EngineProps = {
|
|
|
489
511
|
isLayerDragging?: boolean;
|
|
490
512
|
shouldRender?: boolean;
|
|
491
513
|
meta?: Record<string, unknown>;
|
|
514
|
+
displayCredits?: boolean;
|
|
492
515
|
layersRef?: RefObject<LayersRef>;
|
|
493
516
|
requestingRenderMode?: MutableRefObject<RequestingRenderMode>;
|
|
494
517
|
timelineManagerRef?: TimelineManagerRef;
|
|
@@ -503,6 +526,7 @@ export declare type EngineProps = {
|
|
|
503
526
|
onLayerSelectWithRectStart?: (e: LayerSelectWithRectStart) => void;
|
|
504
527
|
onLayerSelectWithRectMove?: (e: LayerSelectWithRectMove) => void;
|
|
505
528
|
onLayerSelectWithRectEnd?: (e: LayerSelectWithRectEnd) => void;
|
|
529
|
+
onCreditsUpdate?: (credits?: Credits) => void;
|
|
506
530
|
};
|
|
507
531
|
|
|
508
532
|
export declare type EngineRef = {
|
|
@@ -531,7 +555,8 @@ export declare type EngineRef = {
|
|
|
531
555
|
isPositionVisible: (position: [x: number, y: number, z: number]) => boolean;
|
|
532
556
|
setView: (camera: CameraPosition) => void;
|
|
533
557
|
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;
|
|
558
|
+
getExtrudedHeight: (position: [x: number, y: number, z: number], windowPosition: [x: number, y: number], allowNegative?: boolean) => number | undefined;
|
|
559
|
+
getExtrudedPoint: (position: [x: number, y: number, z: number], extrutedHeight: number) => Position3d | undefined;
|
|
535
560
|
getSurfaceDistance: (point1: Cartesian3, point2: Cartesian3) => number | undefined;
|
|
536
561
|
equalsEpsilon2d: (point1: Position2d, point2: Position2d, relativeEpsilon: number | undefined, absoluteEpsilon: number | undefined) => boolean;
|
|
537
562
|
equalsEpsilon3d: (point1: Position3d, point2: Position3d, relativeEpsilon: number | undefined, absoluteEpsilon: number | undefined) => boolean;
|
|
@@ -539,7 +564,7 @@ export declare type EngineRef = {
|
|
|
539
564
|
type: SketchType;
|
|
540
565
|
controlPoints: Position3d[];
|
|
541
566
|
}) => LineString | Polygon_2 | MultiPolygon | Point | undefined;
|
|
542
|
-
setCursor: (cursor:
|
|
567
|
+
setCursor: (cursor: CursorType) => void;
|
|
543
568
|
flyTo: FlyTo;
|
|
544
569
|
flyToBBox: (bbox: [number, number, number, number], options?: CameraOptions & {
|
|
545
570
|
heading?: number;
|
|
@@ -589,6 +614,8 @@ export declare type EngineRef = {
|
|
|
589
614
|
selectFeatures: (layerId: string, featureId: string[]) => void;
|
|
590
615
|
unselectFeatures: (layerId: string, featureId: string[]) => void;
|
|
591
616
|
pickManyFromViewport: (windowPosition: [x: number, y: number], windowWidth: number, windowHeight: number, condition?: (f: PickedFeature) => boolean) => PickedFeature[] | undefined;
|
|
617
|
+
calcRectangleControlPoint: (p1: Position3d, p2: Position3d, p3: Position3d) => [p1: Position3d, p2: Position3d, p3: Position3d];
|
|
618
|
+
getCredits: () => Credits | undefined;
|
|
592
619
|
} & MouseEventHandles;
|
|
593
620
|
|
|
594
621
|
export declare const engines: {
|
|
@@ -745,13 +772,19 @@ export declare type FrustumAppearance = {
|
|
|
745
772
|
length?: number;
|
|
746
773
|
};
|
|
747
774
|
|
|
748
|
-
export declare type
|
|
775
|
+
export declare type GeoidProperty = {
|
|
776
|
+
server: {
|
|
777
|
+
url: string;
|
|
778
|
+
geoidProperty: string;
|
|
779
|
+
};
|
|
780
|
+
};
|
|
749
781
|
|
|
750
|
-
declare type
|
|
751
|
-
|
|
752
|
-
controlPoints: readonly Position3d[];
|
|
782
|
+
declare type GeoidRef = {
|
|
783
|
+
getGeoidHeight: (lat?: number, lng?: number) => Promise<number | undefined>;
|
|
753
784
|
};
|
|
754
785
|
|
|
786
|
+
export declare type Geometry = Point | LineString | Polygon_2 | MultiPoint | MultiLineString | MultiPolygon;
|
|
787
|
+
|
|
755
788
|
export declare type GeometryOptionsXYZ = {
|
|
756
789
|
type: SketchType;
|
|
757
790
|
controlPoints: Position3d[];
|
|
@@ -844,7 +877,7 @@ declare type InfoboxProperty = {
|
|
|
844
877
|
|
|
845
878
|
export declare const INTERACTION_MODES: Record<InteractionModeType, number>;
|
|
846
879
|
|
|
847
|
-
export declare type InteractionModeType = "default" | "move" | "selection" | "sketch";
|
|
880
|
+
export declare type InteractionModeType = "default" | "move" | "selection" | "sketch" | "spatialId";
|
|
848
881
|
|
|
849
882
|
export declare function isSketchType(value: unknown): value is SketchType;
|
|
850
883
|
|
|
@@ -954,6 +987,8 @@ export declare type LayersRef = {
|
|
|
954
987
|
}) | null) => void;
|
|
955
988
|
deleteLayer: (...ids: string[]) => void;
|
|
956
989
|
isLayer: (obj: any) => obj is LazyLayer;
|
|
990
|
+
isComputedLayer: (obj: any) => obj is ComputedLayer;
|
|
991
|
+
isTempLayer: (layerId?: string) => boolean;
|
|
957
992
|
layers: () => LazyLayer[];
|
|
958
993
|
walk: <T>(fn: (layer: LazyLayer, index: number, parents: LazyLayer[]) => T | void) => T | undefined;
|
|
959
994
|
find: (fn: (layer: LazyLayer, index: number, parents: LazyLayer[]) => boolean) => LazyLayer | undefined;
|
|
@@ -984,6 +1019,7 @@ export declare type LayerVisibilityEvent = {
|
|
|
984
1019
|
*/
|
|
985
1020
|
export declare type LazyLayer = Readonly<Layer> & {
|
|
986
1021
|
computed?: Readonly<ComputedLayer>;
|
|
1022
|
+
isTempLayer?: boolean;
|
|
987
1023
|
pluginId?: string;
|
|
988
1024
|
extensionId?: string;
|
|
989
1025
|
property?: any;
|
|
@@ -1074,15 +1110,16 @@ export declare type LUT = readonly ColorTuple[];
|
|
|
1074
1110
|
declare const Map_2: ForwardRefExoticComponent< {
|
|
1075
1111
|
engines?: Record<string, Engine> | undefined;
|
|
1076
1112
|
engine?: string | undefined;
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
} & RefAttributes<MapRef>>;
|
|
1113
|
+
onAPIReady?: (() => void) | undefined;
|
|
1114
|
+
} & Omit<Props_2, "Feature" | "viewerProperty" | "selectionReason" | "delegatedDataTypes" | "clusterComponent" | "selectedLayerId"> & Omit<EngineProps, "onLayerSelect" | "selectedLayerId" | "layerSelectionReason"> & Omit<SketchProps, "engineRef" | "SketchComponent" | "layersRef"> & RefAttributes<MapRef>>;
|
|
1080
1115
|
export { Map_2 as Map }
|
|
1081
1116
|
|
|
1082
1117
|
export declare type MapRef = {
|
|
1083
1118
|
engine: WrappedRef<EngineRef>;
|
|
1084
1119
|
layers: WrappedRef<LayersRef>;
|
|
1085
1120
|
sketch: WrappedRef<SketchRef>;
|
|
1121
|
+
spatialId?: WrappedRef<SpatialIdRef>;
|
|
1122
|
+
geoid: WrappedRef<GeoidRef>;
|
|
1086
1123
|
timeline?: TimelineManagerRef;
|
|
1087
1124
|
};
|
|
1088
1125
|
|
|
@@ -1135,6 +1172,7 @@ export declare type ModelAppearance = {
|
|
|
1135
1172
|
model?: string;
|
|
1136
1173
|
url?: string;
|
|
1137
1174
|
heightReference?: "none" | "clamp" | "relative";
|
|
1175
|
+
height?: number;
|
|
1138
1176
|
heading?: number;
|
|
1139
1177
|
pitch?: number;
|
|
1140
1178
|
roll?: number;
|
|
@@ -1272,6 +1310,7 @@ export declare type PolygonAppearance = {
|
|
|
1272
1310
|
stroke?: boolean;
|
|
1273
1311
|
strokeColor?: string;
|
|
1274
1312
|
strokeWidth?: number;
|
|
1313
|
+
height?: number;
|
|
1275
1314
|
heightReference?: "none" | "clamp" | "relative";
|
|
1276
1315
|
shadows?: "disabled" | "enabled" | "cast_only" | "receive_only";
|
|
1277
1316
|
lineJoin?: CanvasLineJoin;
|
|
@@ -1316,9 +1355,8 @@ declare type PropertyItem<T> = {
|
|
|
1316
1355
|
export declare type Props = {
|
|
1317
1356
|
engines?: Record<string, Engine>;
|
|
1318
1357
|
engine?: string;
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
};
|
|
1358
|
+
onAPIReady?: () => void;
|
|
1359
|
+
} & Omit<Props_2, "Feature" | "clusterComponent" | "selectionReason" | "delegatedDataTypes" | "selectedLayerId" | "viewerProperty"> & Omit<EngineProps, "onLayerSelect" | "layerSelectionReason" | "selectedLayerId"> & Omit<SketchProps, "layersRef" | "engineRef" | "SketchComponent">;
|
|
1322
1360
|
|
|
1323
1361
|
declare type Props_2 = Omit<Props_3, "atomMap" | "isHidden" | "selectedLayerId"> & {
|
|
1324
1362
|
selectedLayer?: {
|
|
@@ -1331,6 +1369,7 @@ declare type Props_2 = Omit<Props_3, "atomMap" | "isHidden" | "selectedLayerId">
|
|
|
1331
1369
|
requestingRenderMode?: MutableRefObject<RequestingRenderMode>;
|
|
1332
1370
|
engineRef?: RefObject<EngineRef>;
|
|
1333
1371
|
onLayerSelect?: (layerId: string | undefined, featureId: string | undefined, layer: (() => Promise<ComputedLayer | undefined>) | undefined, reason: LayerSelectionReason | undefined, info: SelectedFeatureInfo | undefined) => void;
|
|
1372
|
+
onMount?: () => void;
|
|
1334
1373
|
};
|
|
1335
1374
|
|
|
1336
1375
|
declare type Props_3 = {
|
|
@@ -1458,17 +1497,34 @@ export declare type ShadowProperty = {
|
|
|
1458
1497
|
|
|
1459
1498
|
export declare type SketchAppearance = Partial<LayerAppearanceTypes>;
|
|
1460
1499
|
|
|
1461
|
-
declare type SketchComponentProps =
|
|
1462
|
-
|
|
1463
|
-
|
|
1500
|
+
declare type SketchComponentProps = {
|
|
1501
|
+
geometryOptions?: {
|
|
1502
|
+
type: SketchType;
|
|
1503
|
+
controlPoints: readonly Position3d[];
|
|
1504
|
+
} | null;
|
|
1464
1505
|
extrudedHeight?: number;
|
|
1506
|
+
extrudedPoint?: Position3d;
|
|
1507
|
+
centroidBasePoint?: Position3d;
|
|
1508
|
+
centroidExtrudedPoint?: Position3d;
|
|
1465
1509
|
disableShadow?: boolean;
|
|
1466
|
-
enableRelativeHeight?: boolean;
|
|
1467
1510
|
color?: string;
|
|
1468
|
-
|
|
1511
|
+
isEditing?: boolean;
|
|
1512
|
+
catchedControlPointIndex?: number;
|
|
1513
|
+
catchedExtrudedPoint?: boolean;
|
|
1514
|
+
selectedControlPointIndex?: number;
|
|
1515
|
+
handleControlPointMouseEvent?: ControlPointMouseEventHandler;
|
|
1516
|
+
handleAddControlPoint?: (position: Position3d, index: number) => void;
|
|
1517
|
+
};
|
|
1469
1518
|
|
|
1470
1519
|
export declare type SketchComponentType = ComponentType<SketchComponentProps>;
|
|
1471
1520
|
|
|
1521
|
+
export declare type SketchEditFeatureChangeCb = (feature: SketchEditingFeature | undefined) => void;
|
|
1522
|
+
|
|
1523
|
+
export declare type SketchEditingFeature = {
|
|
1524
|
+
layerId: string;
|
|
1525
|
+
feature: ComputedFeature;
|
|
1526
|
+
};
|
|
1527
|
+
|
|
1472
1528
|
export declare type SketchEventCallback = (event: SketchEventProps) => void;
|
|
1473
1529
|
|
|
1474
1530
|
export declare type SketchEventProps = {
|
|
@@ -1489,9 +1545,9 @@ export declare type SketchOptions = {
|
|
|
1489
1545
|
appearance?: SketchAppearance;
|
|
1490
1546
|
dataOnly?: boolean;
|
|
1491
1547
|
disableShadow?: boolean;
|
|
1492
|
-
enableRelativeHeight?: boolean;
|
|
1493
1548
|
rightClickToAbort?: boolean;
|
|
1494
1549
|
autoResetInteractionMode?: boolean;
|
|
1550
|
+
useCentroidExtrudedHeight?: boolean;
|
|
1495
1551
|
};
|
|
1496
1552
|
|
|
1497
1553
|
export declare type SketchProps = {
|
|
@@ -1504,7 +1560,17 @@ export declare type SketchProps = {
|
|
|
1504
1560
|
onSketchTypeChange?: (type: SketchType | undefined, from?: "editor" | "plugin") => void;
|
|
1505
1561
|
onSketchFeatureCreate?: (feature: SketchFeature | null) => void;
|
|
1506
1562
|
onSketchPluginFeatureCreate?: (props: SketchEventProps) => void;
|
|
1563
|
+
onSketchFeatureUpdate?: (feature: SketchFeature | null) => void;
|
|
1564
|
+
onSketchPluginFeatureUpdate?: (props: SketchEventProps) => void;
|
|
1565
|
+
onSketchFeatureDelete?: (layerId: string, featureId: string) => void;
|
|
1566
|
+
onSketchPluginFeatureDelete?: (props: {
|
|
1567
|
+
layerId: string;
|
|
1568
|
+
featureId: string;
|
|
1569
|
+
}) => void;
|
|
1507
1570
|
onLayerSelect?: OnLayerSelectType;
|
|
1571
|
+
sketchEditingFeature?: SketchEditingFeature;
|
|
1572
|
+
onSketchEditFeature?: (feature: SketchEditingFeature | undefined) => void;
|
|
1573
|
+
onMount?: () => void;
|
|
1508
1574
|
};
|
|
1509
1575
|
|
|
1510
1576
|
export declare type SketchRef = {
|
|
@@ -1512,6 +1578,11 @@ export declare type SketchRef = {
|
|
|
1512
1578
|
setType: (type: SketchType | undefined, from?: "editor" | "plugin") => void;
|
|
1513
1579
|
getOptions: () => SketchOptions;
|
|
1514
1580
|
overrideOptions: (options: SketchOptions) => void;
|
|
1581
|
+
editFeature: (feature: SketchEditingFeature | undefined) => void;
|
|
1582
|
+
cancelEdit: (ignoreAutoReSelect?: boolean) => void;
|
|
1583
|
+
applyEdit: () => void;
|
|
1584
|
+
deleteFeature: (layerId: string, featureId: string) => void;
|
|
1585
|
+
onEditFeatureChange: (cb: SketchEditFeatureChangeCb) => void;
|
|
1515
1586
|
};
|
|
1516
1587
|
|
|
1517
1588
|
export declare type SketchType = "marker" | "polyline" | "circle" | "rectangle" | "polygon" | "extrudedCircle" | "extrudedRectangle" | "extrudedPolygon";
|
|
@@ -1542,6 +1613,49 @@ export declare type Spacing = {
|
|
|
1542
1613
|
top: number;
|
|
1543
1614
|
};
|
|
1544
1615
|
|
|
1616
|
+
declare type SpatialIdPickSpaceOptions = {
|
|
1617
|
+
zoom?: number;
|
|
1618
|
+
maxHeight?: number;
|
|
1619
|
+
minHeight?: number;
|
|
1620
|
+
dataOnly?: boolean;
|
|
1621
|
+
rightClickToExit?: boolean;
|
|
1622
|
+
color?: string;
|
|
1623
|
+
outlineColor?: string;
|
|
1624
|
+
groundIndicatorColor?: string;
|
|
1625
|
+
selectorColor?: string;
|
|
1626
|
+
selectorOutlineColor?: string;
|
|
1627
|
+
verticalSpaceIndicatorColor?: string;
|
|
1628
|
+
verticalSpaceIndicatorOutlineColor?: string;
|
|
1629
|
+
};
|
|
1630
|
+
|
|
1631
|
+
declare type SpatialIdRef = {
|
|
1632
|
+
pickSpace: (options?: SpatialIdPickSpaceOptions) => void;
|
|
1633
|
+
exitPickSpace: () => void;
|
|
1634
|
+
onSpacePick: (cb: (space: SpatialIdSpaceData) => void) => void;
|
|
1635
|
+
};
|
|
1636
|
+
|
|
1637
|
+
declare type SpatialIdSpaceData = {
|
|
1638
|
+
id: string;
|
|
1639
|
+
center: {
|
|
1640
|
+
lat: number;
|
|
1641
|
+
lng: number;
|
|
1642
|
+
alt?: number;
|
|
1643
|
+
};
|
|
1644
|
+
alt: number;
|
|
1645
|
+
zoom: number;
|
|
1646
|
+
zfxy: {
|
|
1647
|
+
z: number;
|
|
1648
|
+
f: number;
|
|
1649
|
+
x: number;
|
|
1650
|
+
y: number;
|
|
1651
|
+
};
|
|
1652
|
+
zfxyStr: string;
|
|
1653
|
+
tilehash: string;
|
|
1654
|
+
hilbertTilehash: string;
|
|
1655
|
+
hilbertIndex: string;
|
|
1656
|
+
vertices: [number, number, number][];
|
|
1657
|
+
};
|
|
1658
|
+
|
|
1545
1659
|
export declare type StyleExpression = ConditionsExpression | string;
|
|
1546
1660
|
|
|
1547
1661
|
export declare type SunProperty = {
|
|
@@ -1580,6 +1694,8 @@ export declare type TileLabelProperty = {
|
|
|
1580
1694
|
id: string;
|
|
1581
1695
|
labelType: "japan_gsi_optimal_bvmap";
|
|
1582
1696
|
style: Record<string, any>;
|
|
1697
|
+
near?: number;
|
|
1698
|
+
far?: number;
|
|
1583
1699
|
};
|
|
1584
1700
|
|
|
1585
1701
|
export declare type TileProperty = {
|
|
@@ -1700,6 +1816,7 @@ export declare type ValueTypes = {
|
|
|
1700
1816
|
|
|
1701
1817
|
export declare type ViewerProperty = {
|
|
1702
1818
|
globe?: GlobeProperty;
|
|
1819
|
+
geoid?: GeoidProperty;
|
|
1703
1820
|
terrain?: TerrainProperty;
|
|
1704
1821
|
scene?: SceneProperty;
|
|
1705
1822
|
tiles?: TileProperty[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reearth/core",
|
|
3
|
-
"version": "0.0.7-alpha.
|
|
3
|
+
"version": "0.0.7-alpha.41",
|
|
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
|
-
"@
|
|
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": "
|
|
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.
|
|
93
|
-
"@types/react-dom": "18.
|
|
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
|
-
"
|
|
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.
|
|
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",
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
forwardRef,
|
|
3
|
+
ForwardRefRenderFunction,
|
|
4
|
+
useCallback,
|
|
5
|
+
useImperativeHandle,
|
|
6
|
+
useRef,
|
|
7
|
+
} from "react";
|
|
8
|
+
|
|
9
|
+
import { GeoidServer, GeoidRef } from "./types";
|
|
10
|
+
|
|
11
|
+
export type GeoidProps = {
|
|
12
|
+
geoidServer?: GeoidServer;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const MAX_GEOID_CACHE_SIZE = 1000;
|
|
16
|
+
|
|
17
|
+
const Geoid: ForwardRefRenderFunction<GeoidRef, GeoidProps> = ({ geoidServer }, ref) => {
|
|
18
|
+
const geoidCache = useRef<Map<string, number>>(new Map());
|
|
19
|
+
|
|
20
|
+
const getGeoidHeight = useCallback(
|
|
21
|
+
async (lng?: number, lat?: number): Promise<number | undefined> => {
|
|
22
|
+
if (!geoidServer?.url || !geoidServer?.geoidProperty) {
|
|
23
|
+
console.error("Geoid: Server is not set properly");
|
|
24
|
+
return Promise.resolve(undefined);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (lat === undefined || lng === undefined) {
|
|
28
|
+
console.error("Geoid: Invalid lat or lng");
|
|
29
|
+
return Promise.resolve(undefined);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const cache = geoidCache.current.get(`${lng},${lat}`);
|
|
33
|
+
if (cache) return Promise.resolve(cache);
|
|
34
|
+
|
|
35
|
+
return fetch(
|
|
36
|
+
geoidServer.url.replace("${lng}", lng.toString()).replace("${lat}", lat.toString()),
|
|
37
|
+
)
|
|
38
|
+
.then(res => {
|
|
39
|
+
return res.json().then((result: any) => {
|
|
40
|
+
if (!result) return undefined;
|
|
41
|
+
const geoid = Number(result[geoidServer?.geoidProperty]);
|
|
42
|
+
if (!isNaN(geoid)) {
|
|
43
|
+
const cache = geoidCache.current;
|
|
44
|
+
if (cache.size > MAX_GEOID_CACHE_SIZE) {
|
|
45
|
+
const firstKey = cache.keys().next().value;
|
|
46
|
+
if (firstKey) cache.delete(firstKey);
|
|
47
|
+
}
|
|
48
|
+
cache.set(`${lng},${lat}`, geoid);
|
|
49
|
+
return geoid;
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
});
|
|
53
|
+
})
|
|
54
|
+
.catch(e => {
|
|
55
|
+
console.error("Failed to fetch geoid height", e);
|
|
56
|
+
return undefined;
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
[geoidServer?.url, geoidServer?.geoidProperty],
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
useImperativeHandle(ref, () => ({
|
|
63
|
+
getGeoidHeight,
|
|
64
|
+
}));
|
|
65
|
+
return null;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export default forwardRef(Geoid);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type GeoidServer = {
|
|
2
|
+
url: string; // URL of the geoid server. use ${lat} ${lng} for lat/lng placeholders. Example: "https://mock.com/api/altitude?lat=${lat}&lng=${lng}"
|
|
3
|
+
geoidProperty: string; // TODO: support json path
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export type GeoidRef = {
|
|
7
|
+
getGeoidHeight: (lat?: number, lng?: number) => Promise<number | undefined>;
|
|
8
|
+
};
|
package/src/Map/Layer/hooks.ts
CHANGED
|
@@ -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 (
|
|
115
|
+
if (
|
|
116
|
+
isEqual(forceUpdatableData, prevForceUpdatableData.current) ||
|
|
117
|
+
(!data?.url && !data?.value)
|
|
118
|
+
) {
|
|
116
119
|
return;
|
|
117
120
|
}
|
|
118
121
|
|
package/src/Map/Layer/index.tsx
CHANGED
|
@@ -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 = {
|
package/src/Map/Layers/hooks.ts
CHANGED
|
@@ -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>();
|