/** Node colors by type — Wong colorblind-safe palette */ export const NODE_COLORS: Record = { room: '#E69F00', door: '#009E73', corridor: '#CC79A7', outside: '#56B4E9', floor_transition: '#D55E00', }; /** Edge colors based on endpoint node types */ export const EDGE_COLORS: Record = { room: '#FFA500', corridor: '#3399FF', outside: '#FF0000', transition: '#B40000', default: '#999999', }; /** Node sizes (width/height in px for Cytoscape) */ export const NODE_SIZES: Record = { room: 15, door: 15, corridor: 12, outside: 15, floor_transition: 35, }; /** Node shapes (Cytoscape shape names) */ export const NODE_SHAPES: Record = { room: 'ellipse', door: 'rectangle', corridor: 'ellipse', outside: 'diamond', floor_transition: 'triangle', }; /** All known node types in display order */ export const NODE_TYPES = ['room', 'door', 'corridor', 'outside', 'floor_transition'] as const; /** Human-readable labels for node types (singular, Title Case) */ export const NODE_TYPE_LABELS: Record = { room: 'Room', door: 'Door', corridor: 'Corridor', outside: 'Outdoor', floor_transition: 'Floor Transition', }; /** Colors for the interactive navigation route overlay */ export const ROUTE_COLORS = { path: '#0d6efd', // highlighted route edges source: '#2e7d32', // start node (green) target: '#c62828', // destination node (red) }; /** Node types that may be chosen as routing endpoints. Rooms are primary; * floor transitions (stairs/elevators) are offered too. (The backend * normalizes 'transition' to 'floor_transition'.) */ export const ROUTE_ENDPOINT_TYPES = ['room', 'floor_transition'] as const;