export const TEXTURE_SIZE_THRESHOLD = 4096;
export const MATERIAL_COUNT_THRESHOLD = 50;
export const MESH_COUNT_THRESHOLD = 500;

export const INSPECTOR = {
  root: '__root__',
};

export const LISTENERS = {
  resize: 'resize',
  keyup: 'keyup',
};

export const LIGHTS = {
  SpotLight: 'SpotLight',
  ShadowGenerator: 'ShadowGenerator',
  PointLight: 'PointLight',
  DirectionalLight: 'DirectionalLight',
  HemisphericLight: 'HemisphericLight',
  GroundLight: 'GroundLight',
};

export const CAMERAS = {
  FreeCamera: 'FreeCamera',
  FlyCamera: 'FlyCamera',
  FollowCamera: 'FollowCamera',
  GamepadCamera: 'GamepadCamera',
  TouchCamera: 'TouchCamera',
  UniversalCamera: 'UniversalCamera',
  ArcRotateCamera: 'ArcRotateCamera',
};

export const VIEWPORT = {
  shadowMapSize: 4096,
};

export const GIZMOS = {
  RotationGizmo: 'RotationGizmo',
  PositionGizmo: 'PositionGizmo',
  ScaleGizmo: 'ScaleGizmo',
  BoundingBoxGizmo: 'BoundingBoxGizmo',
};

export const ORTHO = {
  left: 'orthoLeft',
  right: 'orthoRight',
  top: 'orthoTop',
  bottom: 'orthoBottom',
};

export const GUI = {
  dragSelectBox: 'dragSelectBox',
  innerSafeFrame: 'safeFrame_inner',
  outerSafeFrame: 'safeFrame_outer',
};

export const MESH_PARAMS = {
  center: 'center',
  rotation: 'rotation',
  scaling: 'scaling',
  radius: 'radius',
};

export const MESSAGE_TYPES = {
  error: 'error',
  warning: 'warning',
  info: 'info',
  success: 'success',
  loading: 'loading',
};

export const UPDATABLE_ITEMS = {
  material: 'material',
  mesh: 'mesh',
  camera: 'camera',
  environment: 'environment',
  texture: 'texture',
  viewport: 'viewport',
  publish: 'publish',
  lighting: 'lighting',
};

export const TRANSPARENCY_MODES = {
  simple: 'simple',
  complex: 'complex',
  stencil: 'stencil',
};

export const AXIS_COLORS = {
  xAxis: '#EA4231',
  yAxis: '#249C4A',
  zAxis: '#0089EA',
};