export const CONSTANTS = {
  ZOOM_SCALE_EXTENT: [0.1, 4] as [number, number],
  ANIMATION: {
    INITIAL_ALPHA: 0.2,
    ALPHA_DECAY: 0.02,
    VELOCITY_DECAY: 0.8,
  },
  COLORS: {
    SELECTION: '#FFD700',
    HOVER: '#FFD700',
    LINK_DEFAULT: '#9CA3AF',
    LINK_HOVER: '#6B7280',
    NODE_STROKE: '#FFFFFF',
    TEXT_DEFAULT: '#6B7280',
    TEXT_NODE: '#000000',
    PREVIEW_NODE: '#10B981',
  },
  SIZES: {
    ARROW_MARKER: { width: 8, height: 8, refX: 5 },
    STROKE_WIDTH: { default: 2, selected: 5, hover: 4, link: 3 },
    GLOW_STD_DEVIATION: 3,
    LEVEL_INDICATOR_RADIUS: 7,
    PREVIEW_OPACITY: 0.8,
  }
} as const;

// Color scheme for different node types
export const NODE_COLOR_PALETTE = {
  // IT Risk Management colors
  RiskType: '#FF6B35',
  SourceCategory: '#4ECDC4',
  AssetType: '#45B7D1',
  SourceRisk: '#96CEB4',
  
  // Risk-specific colors
  Strategic: '#FF8C42',
  Compliance: '#F25C78',
  Operational: '#FFAD5A',
  Reputational: '#FF6B9D',
  
  // Source categories
  People: '#4ECDC4',
  Process: '#95E1D3',
  Technology: '#45B7D1',
  Business: '#6C5CE7',
  Projects: '#A8E6CF',
  Third: '#74B9FF',
  Vendor: '#74B9FF',
  Service: '#DDA0DD',
  
  // Generic types
  Person: '#FF6B9D',
  Organization: '#4ECDC4',
  Department: '#96CEB4',
  System: '#45B7D1',
  Document: '#DDA0DD',
  Event: '#FFD93D',
  Location: '#6BCF7F',
  Product: '#FF8C42',
  
  // Status colors
  Active: '#00D2FF',
  Inactive: '#95A5A6',
  Critical: '#E74C3C',
  Warning: '#F39C12',
  Success: '#27AE60',
  Info: '#3498DB',
  
  default: '#6C5CE7'
} as const;

export const VIBRANT_FALLBACK_COLORS = [
  '#FF6B35', '#4ECDC4', '#45B7D1', '#96CEB4', '#FF8C42', 
  '#F25C78', '#FFAD5A', '#FF6B9D', '#95E1D3', '#6C5CE7',
  '#A8E6CF', '#74B9FF', '#DDA0DD', '#00B4DB', '#FFD93D',
  '#6BCF7F', '#00D2FF', '#E74C3C', '#F39C12', '#27AE60'
] as const;
