export type SceneProjection = "3d" | "2d" | "map";
export type PointColorMode = "intensity" | "height" | "distance" | "rgb" | "class";
export type PointPalette = "turbo" | "viridis" | "plasma" | "grayscale" | "custom";

export interface SceneSettings {
  projection: SceneProjection;
  pointSize: number;
  colorMode: PointColorMode;
  palette: PointPalette;
  customColor: string;
  accumulationSeconds: number;
  showPoints: boolean;
  showTrajectory: boolean;
  showGrid: boolean;
  showLabels: boolean;
  showCameraFrustums: boolean;
}

export const defaultSceneSettings: SceneSettings = {
  projection: "3d",
  pointSize: 2.5,
  colorMode: "intensity",
  palette: "turbo",
  customColor: "#35d7c1",
  accumulationSeconds: 12,
  showPoints: true,
  showTrajectory: true,
  showGrid: true,
  showLabels: false,
  showCameraFrustums: true,
};
