@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reearth/core",
3
- "version": "0.0.7-alpha.55",
3
+ "version": "0.0.7-alpha.57",
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.",
@@ -153,11 +153,21 @@ export default function useHooks({
153
153
  [hiddenLayerIds, hiddenLayers],
154
154
  );
155
155
 
156
- const layersRef = useGet(layers);
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(layers ?? []), ...flattenLayers(tempLayers)];
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
- }, [tempLayers, layers, overriddenLayers]);
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(layers ?? [], l => {
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 = layers;
647
- }, [atomMap, layers, layerMap, lazyLayerMap, setOverridenLayers, showLayer]);
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>