114 lines
2.3 KiB
JavaScript
114 lines
2.3 KiB
JavaScript
// constants.js - Global constants and configuration
|
|
|
|
// Scene configuration
|
|
export const CONFIG = {
|
|
defaultCameraZ: 300,
|
|
minZoom: 0.5,
|
|
maxZoom: 5.0,
|
|
earthRadius: 100,
|
|
rotationSpeed: 0.0005,
|
|
};
|
|
|
|
// Earth coordinate constants
|
|
export const EARTH_CONFIG = {
|
|
tilt: 23.5, // earth tilt angle (degrees)
|
|
tiltRad: 23.5 * Math.PI / 180, // earth tilt angle (radians)
|
|
|
|
// hangzhou coordinates
|
|
chinaLat: 30.2741,
|
|
chinaLon: 120.1552,
|
|
chinaRotLon: 120.1552 - 270, // for rotation calculation (chinaLon - 270)
|
|
|
|
// view reset coefficient
|
|
latCoefficient: 0.5
|
|
};
|
|
|
|
export const PATHS = {
|
|
cablesApi: '/api/v1/visualization/geo/cables',
|
|
landingPointsApi: '/api/v1/visualization/geo/landing-points',
|
|
bgpApi: '/api/v1/visualization/geo/bgp-anomalies',
|
|
geoJSON: './geo.json',
|
|
landingPointsStatic: './landing-point-geo.geojson',
|
|
};
|
|
|
|
// Cable colors mapping
|
|
export const CABLE_COLORS = {
|
|
'Americas II': 0xff4444,
|
|
'AU Aleutian A': 0x44ff44,
|
|
'AU Aleutian B': 0x4444ff,
|
|
'default': 0xffff44
|
|
};
|
|
|
|
export const CABLE_CONFIG = {
|
|
lockedOpacityMin: 0.2,
|
|
lockedOpacityMax: 1.0,
|
|
otherOpacity: 0.5,
|
|
otherBrightness: 0.6,
|
|
pulseSpeed: 0.008,
|
|
pulseCoefficient: 0.4
|
|
};
|
|
|
|
export const CABLE_STATE = {
|
|
NORMAL: 'normal',
|
|
HOVERED: 'hovered',
|
|
LOCKED: 'locked'
|
|
};
|
|
|
|
export const SATELLITE_CONFIG = {
|
|
maxCount: -1,
|
|
trailLength: 10,
|
|
dotSize: 4,
|
|
ringSize: 0.07,
|
|
apiPath: '/api/v1/visualization/geo/satellites',
|
|
breathingSpeed: 0.08,
|
|
breathingScaleAmplitude: 0.15,
|
|
breathingOpacityMin: 0.5,
|
|
breathingOpacityMax: 0.8,
|
|
dotBreathingSpeed: 0.12,
|
|
dotBreathingScaleAmplitude: 0.2,
|
|
dotOpacityMin: 0.7,
|
|
dotOpacityMax: 1.0
|
|
};
|
|
|
|
export const BGP_CONFIG = {
|
|
defaultFetchLimit: 200,
|
|
maxRenderedMarkers: 200,
|
|
altitudeOffset: 1.2,
|
|
baseScale: 6.2,
|
|
hoverScale: 1.16,
|
|
dimmedScale: 0.92,
|
|
pulseSpeed: 0.0045,
|
|
normalPulseAmplitude: 0.08,
|
|
lockedPulseAmplitude: 0.28,
|
|
opacity: {
|
|
normal: 0.78,
|
|
hover: 1.0,
|
|
dimmed: 0.24,
|
|
lockedMin: 0.65,
|
|
lockedMax: 1.0
|
|
},
|
|
severityColors: {
|
|
critical: 0xff4d4f,
|
|
high: 0xff9f43,
|
|
medium: 0xffd166,
|
|
low: 0x4dabf7
|
|
},
|
|
severityScales: {
|
|
critical: 1.18,
|
|
high: 1.08,
|
|
medium: 1.0,
|
|
low: 0.94
|
|
}
|
|
};
|
|
|
|
export const PREDICTED_ORBIT_CONFIG = {
|
|
sampleInterval: 10,
|
|
opacity: 0.8
|
|
};
|
|
|
|
export const GRID_CONFIG = {
|
|
latitudeStep: 10,
|
|
longitudeStep: 30,
|
|
gridStep: 5
|
|
};
|