private handleAddHeatmapLayer(args: unknown[], kwargs: Record<string, unknown>): void {
const id = kwargs.id as string || `heatmap-${Date.now()}`;
const data = kwargs.data as unknown[];
const layer = new HeatmapLayer({
id,
data,
opacity: kwargs.opacity as number ?? 1,
radiusPixels: kwargs.radiusPixels as number ?? 30,
intensity: kwargs.intensity as number ?? 1,
threshold: kwargs.threshold as number ?? 0.05,
getPosition: (d: any) => d.coordinates || d.position,
getWeight: kwargs.getWeight ?? 1,
colorRange: [
[255, 255, 178, 25],
[254, 217, 118, 85],
[254, 178, 76, 127],
[253, 141, 60, 170],
[240, 59, 32, 212],
[189, 0, 38, 255],
],
});
this.deckLayers.set(id, layer);
this.updateDeckOverlay();
}