/**
 * The ports and the routes between them.
 *
 * This file deliberately imports nothing. The SVG globe reads it, and the SVG
 * globe renders on first paint, so anything imported here lands on the critical
 * path. Keeping the three.js dependent helpers next door in `geo.ts` is what
 * stops 370 kB of WebGL library loading before the headline paints.
 */

export const GLOBE_RADIUS = 1;

export interface GeoNode {
  id: string;
  label: string;
  lat: number;
  lng: number;
  kind: "origin" | "market" | "prospect";
}

/**
 * Real coordinates. The two Pakistani origins are the mill sites, the markets
 * are the territories the company states it exports to, and the prospects are
 * the regions it is openly seeking agents in.
 */
export const nodes: GeoNode[] = [
  { id: "multan", label: "Multan", lat: 30.19, lng: 71.47, kind: "origin" },
  { id: "lahore", label: "Lahore", lat: 31.55, lng: 74.34, kind: "origin" },
  { id: "london", label: "United Kingdom", lat: 51.51, lng: -0.13, kind: "market" },
  { id: "frankfurt", label: "Europe", lat: 50.11, lng: 8.68, kind: "market" },
  { id: "newyork", label: "United States", lat: 40.71, lng: -74.01, kind: "market" },
  { id: "saopaulo", label: "South America", lat: -23.55, lng: -46.63, kind: "prospect" },
];

export const routes: Array<{ from: string; to: string; kind: "market" | "prospect" }> = [
  { from: "multan", to: "london", kind: "market" },
  { from: "multan", to: "frankfurt", kind: "market" },
  { from: "multan", to: "newyork", kind: "market" },
  { from: "lahore", to: "london", kind: "market" },
  { from: "lahore", to: "newyork", kind: "market" },
  { from: "lahore", to: "saopaulo", kind: "prospect" },
];
