@reearth/core 0.0.6 → 0.0.7-alpha.1
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 +8312 -8318
- package/dist/core.umd.cjs +75 -75
- package/dist/index.d.ts +183 -184
- package/package.json +1 -1
- package/src/Map/ClusteredLayers/index.tsx +2 -2
- package/src/Map/Layer/index.tsx +3 -3
- package/src/Map/Layers/index.tsx +2 -2
- package/src/Map/hooks.ts +0 -4
- package/src/Map/index.tsx +8 -5
- package/src/Map/types/index.ts +5 -182
- package/src/Map/types/viewerProperty.ts +216 -0
- package/src/Map/useTimelineManager.ts +2 -2
- package/src/Map/utils.ts +1 -43
- package/src/Visualizer/coreContext.tsx +1 -8
- package/src/Visualizer/hooks.ts +6 -75
- package/src/Visualizer/index.stories.tsx +4 -48
- package/src/Visualizer/index.tsx +8 -6
- package/src/Visualizer/useCoreAPI.ts +30 -0
- package/src/engines/Cesium/Feature/Ellipse/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Frustum/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Model/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Model/index.tsx +10 -9
- package/src/engines/Cesium/Feature/Polygon/index.stories.tsx +8 -6
- package/src/engines/Cesium/Feature/Raster/index.stories.tsx +2 -2
- package/src/engines/Cesium/Feature/Resource/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Tileset/hooks.ts +12 -11
- package/src/engines/Cesium/Feature/Tileset/index.stories.tsx +1 -1
- package/src/engines/Cesium/Feature/Tileset/index.tsx +4 -4
- package/src/engines/Cesium/Feature/index.tsx +5 -4
- package/src/engines/Cesium/Feature/utils.tsx +2 -2
- package/src/engines/Cesium/core/Globe.tsx +36 -68
- package/src/engines/Cesium/core/Imagery.test.ts +9 -9
- package/src/engines/Cesium/core/Imagery.tsx +17 -19
- package/src/engines/Cesium/core/Indicator/Indicator.tsx +8 -8
- package/src/engines/Cesium/hooks/useCamera.ts +144 -0
- package/src/engines/Cesium/{cameraLimiter.ts → hooks/useCameraLimiter.ts} +22 -45
- package/src/engines/Cesium/{useEngineRef.test.tsx → hooks/useEngineRef.test.tsx} +14 -10
- package/src/engines/Cesium/{useEngineRef.ts → hooks/useEngineRef.ts} +17 -17
- package/src/engines/Cesium/hooks/useExplicitRender.ts +65 -0
- package/src/engines/Cesium/hooks/useLayerDragDrop.ts +77 -0
- package/src/engines/Cesium/{VertexTerrainElevationMaterial.ts → hooks/useOverrideGlobeShader/VertexTerrainElevationMaterial.ts} +3 -2
- package/src/engines/Cesium/{useOverrideGlobeShader.ts → hooks/useOverrideGlobeShader/useOverrideGlobeShader.ts} +19 -16
- package/src/engines/Cesium/hooks/useViewerProperty.ts +90 -0
- package/src/engines/Cesium/hooks.ts +117 -353
- package/src/engines/Cesium/index.stories.tsx +1 -1
- package/src/engines/Cesium/index.tsx +48 -50
- package/src/engines/index.ts +1 -1
- /package/src/engines/Cesium/{JapanSeaLevelEllipsoid.ts → hooks/useOverrideGlobeShader/JapanSeaLevelEllipsoid.ts} +0 -0
- /package/src/engines/Cesium/{vertexTerrainElevationMaterial.glsl → hooks/useOverrideGlobeShader/vertexTerrainElevationMaterial.glsl} +0 -0
|
@@ -36,6 +36,7 @@ const Cesium: React.ForwardRefRenderFunction<EngineRef, EngineProps> = (
|
|
|
36
36
|
className,
|
|
37
37
|
style,
|
|
38
38
|
property,
|
|
39
|
+
time,
|
|
39
40
|
camera,
|
|
40
41
|
small,
|
|
41
42
|
ready,
|
|
@@ -66,48 +67,51 @@ const Cesium: React.ForwardRefRenderFunction<EngineRef, EngineProps> = (
|
|
|
66
67
|
ref,
|
|
67
68
|
) => {
|
|
68
69
|
const {
|
|
69
|
-
backgroundColor,
|
|
70
70
|
cesium,
|
|
71
|
-
cameraViewBoundaries,
|
|
72
|
-
cameraViewOuterBoundaries,
|
|
73
|
-
cameraViewBoundariesMaterial,
|
|
74
71
|
mouseEventHandles,
|
|
75
72
|
cesiumIonAccessToken,
|
|
76
73
|
context,
|
|
77
|
-
light,
|
|
78
74
|
layerSelectWithRectEventHandlers,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
75
|
+
sceneLight,
|
|
76
|
+
sceneBackgroundColor,
|
|
77
|
+
sceneMsaaSamples,
|
|
78
|
+
sceneMode,
|
|
79
|
+
cameraViewBoundaries,
|
|
80
|
+
cameraViewOuterBoundaries,
|
|
81
|
+
cameraViewBoundariesMaterial,
|
|
83
82
|
handleCameraChange,
|
|
84
83
|
handleCameraMoveEnd,
|
|
84
|
+
handleUpdate,
|
|
85
|
+
handleClick,
|
|
86
|
+
handleMount,
|
|
87
|
+
handleUnmount,
|
|
85
88
|
} = useHooks({
|
|
86
89
|
ref,
|
|
87
90
|
property,
|
|
88
|
-
|
|
91
|
+
time,
|
|
89
92
|
selectedLayerId,
|
|
90
93
|
selectionReason: layerSelectionReason,
|
|
91
|
-
isLayerDraggable,
|
|
92
|
-
isLayerDragging,
|
|
93
94
|
meta,
|
|
94
95
|
layersRef,
|
|
95
96
|
featureFlags,
|
|
96
|
-
requestingRenderMode,
|
|
97
|
-
shouldRender,
|
|
98
97
|
timelineManagerRef,
|
|
98
|
+
isLayerDraggable,
|
|
99
|
+
isLayerDragging,
|
|
100
|
+
shouldRender,
|
|
101
|
+
requestingRenderMode,
|
|
102
|
+
camera,
|
|
99
103
|
cameraForceHorizontalRoll,
|
|
100
|
-
onLayerSelect,
|
|
101
|
-
onCameraChange,
|
|
102
104
|
onLayerDrag,
|
|
103
105
|
onLayerDrop,
|
|
106
|
+
onLayerSelect,
|
|
104
107
|
onLayerEdit,
|
|
105
108
|
onLayerSelectWithRectStart,
|
|
106
109
|
onLayerSelectWithRectMove,
|
|
107
110
|
onLayerSelectWithRectEnd,
|
|
108
|
-
onMount,
|
|
109
111
|
onLayerVisibility,
|
|
110
112
|
onLayerLoad,
|
|
113
|
+
onCameraChange,
|
|
114
|
+
onMount,
|
|
111
115
|
});
|
|
112
116
|
|
|
113
117
|
return (
|
|
@@ -137,7 +141,7 @@ const Cesium: React.ForwardRefRenderFunction<EngineRef, EngineProps> = (
|
|
|
137
141
|
cursor: isLayerDragging ? "grab" : undefined,
|
|
138
142
|
...style,
|
|
139
143
|
}}
|
|
140
|
-
shadows={!!
|
|
144
|
+
shadows={!!property?.scene?.shadow?.enabled}
|
|
141
145
|
onClick={handleClick}
|
|
142
146
|
onDoubleClick={mouseEventHandles.doubleclick}
|
|
143
147
|
onMouseDown={mouseEventHandles.mousedown}
|
|
@@ -196,20 +200,18 @@ const Cesium: React.ForwardRefRenderFunction<EngineRef, EngineProps> = (
|
|
|
196
200
|
</ScreenSpaceEventHandler>
|
|
197
201
|
<ScreenSpaceCameraController
|
|
198
202
|
maximumZoomDistance={
|
|
199
|
-
property?.
|
|
200
|
-
? property.
|
|
203
|
+
property?.camera?.limiter?.enabled
|
|
204
|
+
? property.camera?.limiter?.targetArea?.height ?? Number.POSITIVE_INFINITY
|
|
201
205
|
: Number.POSITIVE_INFINITY
|
|
202
206
|
}
|
|
203
|
-
enableCollisionDetection={
|
|
204
|
-
!(property?.default?.allowEnterGround ?? property?.camera?.allowEnterGround)
|
|
205
|
-
}
|
|
207
|
+
enableCollisionDetection={!property?.camera?.allowEnterGround}
|
|
206
208
|
/>
|
|
207
209
|
<Camera
|
|
208
|
-
onChange={handleCameraChange}
|
|
209
210
|
percentageChanged={0.2}
|
|
211
|
+
onChange={handleCameraChange}
|
|
210
212
|
onMoveEnd={handleCameraMoveEnd}
|
|
211
213
|
/>
|
|
212
|
-
{cameraViewBoundaries && property?.
|
|
214
|
+
{cameraViewBoundaries && property?.camera?.limiter?.showHelper && (
|
|
213
215
|
<Entity>
|
|
214
216
|
<PolylineGraphics
|
|
215
217
|
positions={cameraViewBoundaries}
|
|
@@ -219,7 +221,7 @@ const Cesium: React.ForwardRefRenderFunction<EngineRef, EngineProps> = (
|
|
|
219
221
|
/>
|
|
220
222
|
</Entity>
|
|
221
223
|
)}
|
|
222
|
-
{cameraViewOuterBoundaries && property?.
|
|
224
|
+
{cameraViewOuterBoundaries && property?.camera?.limiter?.showHelper && (
|
|
223
225
|
<Entity>
|
|
224
226
|
<PolylineGraphics
|
|
225
227
|
positions={cameraViewOuterBoundaries}
|
|
@@ -229,39 +231,35 @@ const Cesium: React.ForwardRefRenderFunction<EngineRef, EngineProps> = (
|
|
|
229
231
|
/>
|
|
230
232
|
</Entity>
|
|
231
233
|
)}
|
|
232
|
-
{/* NOTE: useWebVR={false} will crash Cesium */}
|
|
233
234
|
<Scene
|
|
234
|
-
backgroundColor={
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
backgroundColor={sceneBackgroundColor}
|
|
236
|
+
light={sceneLight}
|
|
237
|
+
mode={sceneMode}
|
|
238
|
+
msaaSamples={sceneMsaaSamples}
|
|
237
239
|
useDepthPicking={false}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
240
|
+
useWebVR={!!property?.scene?.vr || undefined} // NOTE: useWebVR={false} will crash Cesium
|
|
241
|
+
debugShowFramesPerSecond={!!property?.debug?.showFramesPerSecond}
|
|
242
|
+
verticalExaggerationRelativeHeight={property?.scene?.verticalExaggerationRelativeHeight}
|
|
243
|
+
verticalExaggeration={property?.scene?.verticalExaggeration}
|
|
241
244
|
/>
|
|
242
|
-
<SkyBox show={property?.
|
|
243
|
-
<Fog
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
/>
|
|
247
|
-
<Sun show={property?.atmosphere?.enable_sun ?? property?.sun?.sun ?? true} />
|
|
248
|
-
<Moon show={property?.atmosphere?.enableMoon ?? property?.moon?.moon ?? true} />
|
|
245
|
+
<SkyBox show={property?.sky?.skyBox?.show ?? true} />
|
|
246
|
+
<Fog enabled={property?.sky?.fog?.enabled ?? true} density={property?.sky?.fog?.density} />
|
|
247
|
+
<Sun show={property?.sky?.sun?.show ?? true} />
|
|
248
|
+
<Moon show={property?.sky?.moon?.show ?? true} />
|
|
249
249
|
<SkyAtmosphere
|
|
250
|
-
show={
|
|
251
|
-
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
atmosphereLightIntensity={property?.skyAtmosphere?.skyAtmosphereIntensity}
|
|
255
|
-
brightnessShift={property?.atmosphere?.skyboxBrightnessShift}
|
|
250
|
+
show={property?.sky?.skyAtmosphere?.show ?? true}
|
|
251
|
+
atmosphereLightIntensity={property?.sky?.skyAtmosphere?.lightIntensity}
|
|
252
|
+
saturationShift={property?.sky?.skyAtmosphere?.saturationShift}
|
|
253
|
+
brightnessShift={property?.sky?.skyAtmosphere?.brightnessShift}
|
|
256
254
|
/>
|
|
257
255
|
<Globe property={property} cesiumIonAccessToken={cesiumIonAccessToken} />
|
|
258
256
|
<featureContext.Provider value={context}>{ready ? children : null}</featureContext.Provider>
|
|
259
257
|
<AmbientOcclusion
|
|
260
|
-
{...AMBIENT_OCCLUSION_QUALITY[property?.ambientOcclusion?.quality || "low"]}
|
|
261
|
-
enabled={!!property?.ambientOcclusion?.enabled}
|
|
262
|
-
intensity={property?.ambientOcclusion?.intensity ?? 100}
|
|
258
|
+
{...AMBIENT_OCCLUSION_QUALITY[property?.render?.ambientOcclusion?.quality || "low"]}
|
|
259
|
+
enabled={!!property?.render?.ambientOcclusion?.enabled}
|
|
260
|
+
intensity={property?.render?.ambientOcclusion?.intensity ?? 100}
|
|
263
261
|
outputType={
|
|
264
|
-
property?.ambientOcclusion?.ambientOcclusionOnly
|
|
262
|
+
property?.render?.ambientOcclusion?.ambientOcclusionOnly
|
|
265
263
|
? AmbientOcclusionOutputType.Occlusion
|
|
266
264
|
: null
|
|
267
265
|
}
|
package/src/engines/index.ts
CHANGED
|
File without changes
|