@reearth/core 0.0.7-alpha.55 → 0.0.7-alpha.57
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 +4180 -4171
- package/dist/core.umd.cjs +56 -56
- package/package.json +1 -1
- package/src/Map/Layers/hooks.ts +16 -6
- package/src/engines/Cesium/Feature/Marker/index.tsx +3 -0
package/package.json
CHANGED
package/src/Map/Layers/hooks.ts
CHANGED
|
@@ -153,11 +153,21 @@ export default function useHooks({
|
|
|
153
153
|
[hiddenLayerIds, hiddenLayers],
|
|
154
154
|
);
|
|
155
155
|
|
|
156
|
-
const
|
|
156
|
+
const derivedLayers = useMemo(() => {
|
|
157
|
+
return layers?.map(l => {
|
|
158
|
+
const hidden = isHidden?.(l.id);
|
|
159
|
+
return {
|
|
160
|
+
...l,
|
|
161
|
+
visible: hidden ? !hidden : l.visible,
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}, [isHidden, layers]);
|
|
165
|
+
|
|
166
|
+
const layersRef = useGet(derivedLayers);
|
|
157
167
|
const [tempLayers, setTempLayers] = useState<Layer[]>([]);
|
|
158
168
|
const tempLayersRef = useRef<Layer[]>([]);
|
|
159
169
|
const flattenedLayers = useMemo((): Layer[] => {
|
|
160
|
-
const newLayers = [...flattenLayers(
|
|
170
|
+
const newLayers = [...flattenLayers(derivedLayers ?? []), ...flattenLayers(tempLayers)];
|
|
161
171
|
// apply overrides
|
|
162
172
|
return newLayers.map(l => {
|
|
163
173
|
const ol: any = overriddenLayers.find(ll => ll.id === l.id);
|
|
@@ -179,7 +189,7 @@ export default function useHooks({
|
|
|
179
189
|
|
|
180
190
|
return res;
|
|
181
191
|
});
|
|
182
|
-
}, [
|
|
192
|
+
}, [derivedLayers, tempLayers, overriddenLayers]);
|
|
183
193
|
|
|
184
194
|
const getComputedLayer = useAtomValue(
|
|
185
195
|
useMemo(
|
|
@@ -623,7 +633,7 @@ export default function useHooks({
|
|
|
623
633
|
useLayoutEffect(() => {
|
|
624
634
|
const ids = new Set<string>();
|
|
625
635
|
|
|
626
|
-
walkLayers(
|
|
636
|
+
walkLayers(derivedLayers ?? [], l => {
|
|
627
637
|
ids.add(l.id);
|
|
628
638
|
if (!atomMap.has(l.id)) {
|
|
629
639
|
atomMap.set(l.id, computeAtom());
|
|
@@ -643,8 +653,8 @@ export default function useHooks({
|
|
|
643
653
|
overriddenLayersRef.current = updated;
|
|
644
654
|
setOverridenLayers(updated);
|
|
645
655
|
|
|
646
|
-
prevLayers.current =
|
|
647
|
-
}, [atomMap,
|
|
656
|
+
prevLayers.current = derivedLayers;
|
|
657
|
+
}, [atomMap, layerMap, lazyLayerMap, setOverridenLayers, showLayer, derivedLayers]);
|
|
648
658
|
|
|
649
659
|
useEffect(() => {
|
|
650
660
|
if (!requestingRenderMode || requestingRenderMode.current === FORCE_REQUEST_RENDER) return;
|
|
@@ -245,6 +245,7 @@ export default function Marker({ property, id, isVisible, geometry, layer, featu
|
|
|
245
245
|
outlineWidth={pointOutlineWidth}
|
|
246
246
|
heightReference={heightReference(hr)}
|
|
247
247
|
distanceDisplayCondition={distanceDisplayCondition}
|
|
248
|
+
disableDepthTestDistance={Number.POSITIVE_INFINITY}
|
|
248
249
|
/>
|
|
249
250
|
) : (
|
|
250
251
|
<BillboardGraphics
|
|
@@ -257,6 +258,7 @@ export default function Marker({ property, id, isVisible, geometry, layer, featu
|
|
|
257
258
|
sizeInMeters={imageSizeInMeters}
|
|
258
259
|
pixelOffset={cartPixelOffset}
|
|
259
260
|
eyeOffset={cartEyeOffset}
|
|
261
|
+
disableDepthTestDistance={Number.POSITIVE_INFINITY}
|
|
260
262
|
/>
|
|
261
263
|
)}
|
|
262
264
|
{label && (
|
|
@@ -284,6 +286,7 @@ export default function Marker({ property, id, isVisible, geometry, layer, featu
|
|
|
284
286
|
backgroundPadding={labelBackgroundPadding}
|
|
285
287
|
heightReference={heightReference(hr)}
|
|
286
288
|
distanceDisplayCondition={distanceDisplayCondition}
|
|
289
|
+
disableDepthTestDistance={Number.POSITIVE_INFINITY}
|
|
287
290
|
/>
|
|
288
291
|
)}
|
|
289
292
|
</EntityExt>
|