render()

in modules/main/src/lib/layers/junctions-layer.ts [15:41]


  render({ nebula }: Record<string, any>) {
    const defaultColor: [number, number, number, number] = [0x0, 0x0, 0x0, 0xff];
    const { objects, updateTrigger } = this.deckCache;

    return new JunctionScatterplotLayer({
      id: `junctions-${this.id}`,
      data: objects,
      opacity: 1,
      // @ts-expect-error check deck types
      fp64: false,
      pickable: true,
      getPosition: (nf) => nf.geoJson.geometry.coordinates,
      getFillColor: (nf) => toDeckColor(nf.style.fillColor) || defaultColor,
      getStrokeColor: (nf) =>
        toDeckColor(nf.style.outlineColor) || toDeckColor(nf.style.fillColor) || defaultColor,
      getRadius: (nf) => nf.style.pointRadiusMeters + nf.style.outlineRadiusMeters || 1,
      getInnerRadius: (nf) => nf.style.pointRadiusMeters || 0.5,
      parameters: {
        depthTest: false,
        blend: false,
      },

      updateTriggers: { all: updateTrigger },

      nebulaLayer: this,
    });
  }