Files
planet/docs/technical/en/earth-layer-style-reference.md
rayd1o 9b913a3b83
Some checks failed
ci / backend (push) Has been cancelled
ci / frontend (push) Has been cancelled
ci / delivery (push) Has been cancelled
release / images (push) Has been cancelled
release: bump version to 0.59.0
2026-05-16 05:02:05 +08:00

24 KiB

Earth Layer Style Property Index

This document records the material, color, opacity, line width, radius offset, and renderOrder style properties of all Earth frontend layers. For layer ordering relationships, see Earth Render Layer Order.

Naming Conventions

Category Convention Example
Global config objects *_CONFIG COUNTRY_BOUNDARY_CONFIG
Layer radius offsets *AltitudeOffset / radiusOffset lineAltitudeOffset, GRID_CONFIG.radiusOffset
Opacity *Opacity hoverLineOpacity
Render order *RenderOrder textureOverlayRenderOrder
Color *Color, hex number or CSS color value lineColor, colors.supercomputer
Line width lineWidth / *LineWidth GRID_CONFIG.lineWidth

Earth Base and HD Texture

Name Variable Current Value Location / Notes
Earth base radius CONFIG.earthRadius 100 earth.js:createEarth()
Earth base color EARTH_MATERIAL_CONFIG.color 0x010609 MeshPhongMaterial.color
Earth base emissive EARTH_MATERIAL_CONFIG.emissive 0x010609 MeshPhongMaterial.emissive
Earth base specular EARTH_MATERIAL_CONFIG.specular 0x1a2d45 MeshPhongMaterial.specular
Earth base shininess EARTH_MATERIAL_CONFIG.shininess 12 MeshPhongMaterial.shininess
Earth base opacity EARTH_MATERIAL_CONFIG.opacity 1 MeshPhongMaterial.opacity
HD texture radius offset EARTH_MATERIAL_CONFIG.textureOverlayAltitudeOffset 0.48 Standalone HD texture sphere radius; must keep enough depth separation from the land/ocean base and Earth base sphere to avoid far-zoom z-fighting
HD texture opacity EARTH_MATERIAL_CONFIG.textureOverlayOpacity 0.88 HD texture MeshPhongMaterial.opacity
HD texture renderOrder EARTH_MATERIAL_CONFIG.textureOverlayRenderOrder 0.96 _earthTextureOverlay.renderOrder
HD texture specular EARTH_MATERIAL_CONFIG.textureOverlaySpecular 0x05080d Reduces specular highlight in direct-light areas to avoid blown-out texture
HD texture shininess EARTH_MATERIAL_CONFIG.textureOverlayShininess 4 Reduces specular concentration
HD texture color multiplier inline 0xffffff _earthTextureOverlayMaterial.color

Earth Occluder and Day/Night

Name Variable Current Value Location / Notes
Occluder radius factor EARTH_MATERIAL_CONFIG.occluderRadiusFactor 0.999 Depth occluder sphere radius
Occluder segments EARTH_MATERIAL_CONFIG.occluderSegments 48 Occluder geometry segments
Occluder renderOrder inline -1 occluder.renderOrder
Day/night sun direction EARTH_MATERIAL_CONFIG.dayNight.sunDirection { x: 1, y: 0.2, z: 0.4 } Custom day/night shader
Night-side minimum brightness EARTH_MATERIAL_CONFIG.dayNight.nightFloor 0.24 Shader uniform
Day-side boost EARTH_MATERIAL_CONFIG.dayNight.dayBoost 1.12 Shader uniform
Twilight width EARTH_MATERIAL_CONFIG.dayNight.twilightWidth 0.2 Shader uniform
Twilight intensity EARTH_MATERIAL_CONFIG.dayNight.twilightIntensity 0.14 Shader uniform
Twilight color EARTH_MATERIAL_CONFIG.dayNight.twilightColor 0x4ea0ff Shader uniform
Night tint color EARTH_MATERIAL_CONFIG.dayNight.nightTintColor 0x0b1830 Shader uniform
Night tint intensity EARTH_MATERIAL_CONFIG.dayNight.nightTintIntensity 0.08 Shader uniform

Atmospheric Glow and Clouds

Name Variable Current Value Location / Notes
Inner atmosphere radius factor EARTH_MATERIAL_CONFIG.atmosInnerRadiusFactor 1.01 atmosInnerGeo
Inner atmosphere segments EARTH_MATERIAL_CONFIG.atmosInnerSegments 64 atmosInnerGeo
Inner atmosphere color EARTH_MATERIAL_CONFIG.atmosInnerColor [0.25, 0.62, 1.0] Shader RGB
Inner atmosphere rim power EARTH_MATERIAL_CONFIG.atmosInnerRimPower 3.2 Shader rim falloff
Inner atmosphere intensity EARTH_MATERIAL_CONFIG.atmosInnerIntensity 0.18 Shader alpha multiplier
Outer atmosphere radius factor EARTH_MATERIAL_CONFIG.atmosOuterRadiusFactor 1.016 atmosOuterGeo
Outer atmosphere segments EARTH_MATERIAL_CONFIG.atmosOuterSegments 48 atmosOuterGeo
Outer atmosphere color EARTH_MATERIAL_CONFIG.atmosOuterColor [0.18, 0.45, 0.9] Shader RGB
Outer atmosphere rim power EARTH_MATERIAL_CONFIG.atmosOuterRimPower 5.0 Shader rim falloff
Outer atmosphere intensity EARTH_MATERIAL_CONFIG.atmosOuterIntensity 0.02 Shader alpha multiplier
Atmosphere blending inline THREE.AdditiveBlending ShaderMaterial.blending
Atmosphere renderOrder inline 1 atmosInner/Outer.renderOrder
No-HD-texture rim glow color EARTH_MATERIAL_CONFIG.rimGlowColor [0.35, 0.65, 1.0] Fresnel shell RGB when HD texture is hidden or unavailable
No-HD-texture rim glow power EARTH_MATERIAL_CONFIG.rimGlowPower 3.8 Shader rim falloff; higher = narrower edge
No-HD-texture rim glow intensity EARTH_MATERIAL_CONFIG.rimGlowIntensity 0.28 Shader alpha multiplier
No-HD-texture rim glow segments EARTH_MATERIAL_CONFIG.rimGlowSegments 64 earth-rim-glow geometry segments
Cloud layer radius offset CLOUD_LAYER_CONFIG.radiusOffset 3 Cloud sphere radius
Cloud layer segments CLOUD_LAYER_CONFIG.widthSegments / heightSegments 64 / 64 Cloud sphere geometry
Cloud layer opacity CLOUD_LAYER_CONFIG.opacity 0.15 MeshPhongMaterial.opacity
Cloud texture CLOUD_LAYER_CONFIG.textureUrl "./assets/earth_clouds_1024.png" Cloud texture map
Cloud blending inline THREE.AdditiveBlending MeshPhongMaterial.blending

Land/Ocean Base and Country Borders

The land/ocean base is an Earth base-map asset and preloads at startup; the "Border Lines" layer toggle only controls normal border lines, hover lines, and interactive hover.

Name Variable Current Value Location / Notes
Boundary tile manifest COUNTRY_BOUNDARY_CONFIG.tileManifestPath "/earth/data/boundaries/v1/manifest.json" High-precision PMTiles manifest; missing manifest uses the low-precision fallback
Boundary tile provider COUNTRY_BOUNDARY_CONFIG.tileProvider "auto" Prefer high-precision PMTiles/MVT, then fall back to legacy GeoJSON
PMTiles artifact path COUNTRY_BOUNDARY_CONFIG.pmtilesPath "/earth/data/boundaries/earth-boundaries-china-pov-v1.pmtiles" Production single-file PMTiles/MVT artifact
Low-precision fallback COUNTRY_BOUNDARY_CONFIG.legacyFallbackPath "/earth/data/countries-admin0.min.geojson" Default land/ocean base and hover data when no high-precision boundary asset has been built locally
MVT layer names COUNTRY_BOUNDARY_CONFIG.mvtLayerNames boundary_admin0 / boundary_disputed_internal / coastline / claim_line Fixed layer names decoded by the PMTiles provider
Boundary tile base path COUNTRY_BOUNDARY_CONFIG.tileBasePath "/earth/data/boundaries/v1/" PMTiles manifest base path
Boundary tile zoom thresholds COUNTRY_BOUNDARY_CONFIG.tileZoomThresholds 1.6 -> z5, 2.8 -> z6, 3.4 -> z7, 4.0 -> z8, 4.6 -> z9, 5.2 -> z10 Production PMTiles zoom selection
Boundary tile cache limit COUNTRY_BOUNDARY_CONFIG.tileCacheLimit 150 Frontend LRU cache entries for loaded tile geometries
Boundary tile debounce COUNTRY_BOUNDARY_CONFIG.tileDebounceMs 180 View-change debounce before requesting visible tiles
Ocean fill color local OCEAN_HEX 0x010609 Land/ocean base canvas background
Land fill color COUNTRY_BOUNDARY_CONFIG.landColor 0x080f1b Land/ocean base canvas land
Land/ocean base opacity COUNTRY_BOUNDARY_CONFIG.landOpacity 1.0 MeshBasicMaterial.opacity
Land/ocean base radius offset COUNTRY_BOUNDARY_CONFIG.landAltitudeOffset 0.32 country-land-ocean radius; separated from the Earth base sphere to avoid snow / black block flicker at 50% zoom
Land/ocean base renderOrder COUNTRY_BOUNDARY_CONFIG.landRenderOrder 0.86 country-land-ocean.renderOrder
Land/ocean mask size landMaskWidth / landMaskHeight 2048 / 1024 Canvas / DataTexture size
Country tint color COUNTRY_BOUNDARY_CONFIG.tintColor 0x0b1830 Tint when HD texture is off
Country tint radius offset COUNTRY_BOUNDARY_CONFIG.tintAltitudeOffset 0.04 country-tint radius
Country tint renderOrder COUNTRY_BOUNDARY_CONFIG.tintRenderOrder 0.2 country-tint.renderOrder
Border line color COUNTRY_BOUNDARY_CONFIG.lineColor 0x7fc7ff Normal border line
Border line opacity COUNTRY_BOUNDARY_CONFIG.lineOpacity 0.58 Normal border line opacity
Border dimmed opacity on hover COUNTRY_BOUNDARY_CONFIG.dimmedLineOpacity 0.18 Normal border opacity during hover
Border line radius offset COUNTRY_BOUNDARY_CONFIG.lineAltitudeOffset 0.115 Normal border line radius; line layers rely on renderOrder and independent geometry, not whole-globe shell depth spacing
Border line renderOrder COUNTRY_BOUNDARY_CONFIG.lineRenderOrder 2.2 Normal border line level
Border hover color COUNTRY_BOUNDARY_CONFIG.hoverLineColor 0xff3b1f Neon red-orange
Border hover opacity COUNTRY_BOUNDARY_CONFIG.hoverLineOpacity 1.0 Hover line opacity
Border hover radius offset COUNTRY_BOUNDARY_CONFIG.hoverAltitudeOffset 0.115 Hover line radius; matches the normal border geometry to avoid double-edge ghosting during highlight changes
Border hover renderOrder COUNTRY_BOUNDARY_CONFIG.hoverLineRenderOrder 2.3 Hover line level
Border hover glow opacity COUNTRY_BOUNDARY_CONFIG.hoverGlowOpacity 0.38 Glow line opacity
Border hover glow line width COUNTRY_BOUNDARY_CONFIG.hoverGlowLineWidth 3 Glow LineBasicMaterial.linewidth
Border hover glow level offset COUNTRY_BOUNDARY_CONFIG.hoverGlowRenderOrderOffset 0.01 Glow renderOrder = 2.29
Border hover glow radius offset COUNTRY_BOUNDARY_CONFIG.hoverGlowRadiusOffset 0 Glow uses the same radius as the hover line to avoid coastline detail misalignment

Real Terrain

Name Variable Current Value Location / Notes
Terrain tile size TERRAIN_CONFIG.tileSize 256 Terrarium tile read size
Terrain base zoom TERRAIN_CONFIG.baseZoom 4 Terrain sampling zoom
Terrain geometry segments geometryWidthSegments / geometryHeightSegments 320 / 320 Terrain sphere geometry
Terrain base radius offset TERRAIN_CONFIG.baseRadiusOffset 0.16 Terrain overlays HD texture
Terrain exaggeration TERRAIN_CONFIG.exaggeration 34 Elevation to world units
Terrain land fade height TERRAIN_CONFIG.landRevealFadeMeters 220 Vertex alpha for coastline fade
Terrain opacity TERRAIN_CONFIG.opacity 0.68 MeshPhongMaterial.opacity
Terrain color TERRAIN_CONFIG.color 0x8aa884 MeshPhongMaterial.color
Terrain emissive TERRAIN_CONFIG.emissive 0x030704 Reduces self-emission to preserve terrain shading
Terrain specular TERRAIN_CONFIG.specular 0x344438 Gives terrain local sheen without boosting HD texture brightness
Terrain shininess TERRAIN_CONFIG.shininess 16 Tightens terrain highlight
Terrain renderOrder inline 1.2 terrain.renderOrder
Terrain polygonOffset inline factor -1, units -1 Reduces z-fighting near sphere surface

Grid Lines

Name Variable Current Value Location / Notes
Grid radius offset GRID_CONFIG.radiusOffset 0.14 Grid sphere radius
Grid color GRID_CONFIG.color 0xc0e0ff LineBasicMaterial.color
Grid opacity GRID_CONFIG.opacity 0.08 LineBasicMaterial.opacity
Grid line width GRID_CONFIG.lineWidth 1 LineBasicMaterial.linewidth
Grid renderOrder GRID_CONFIG.renderOrder 2.05 Grid level
Latitude step GRID_CONFIG.latitudeStep 15 Latitude line generation step
Longitude step GRID_CONFIG.longitudeStep 30 Longitude line generation step
Segment sample step GRID_CONFIG.segmentStep 5 Grid line sample step

Submarine Cables and Landing Points

Name Variable Current Value Location / Notes
Default cable color CABLE_COLORS.default 0xffff44 Used when no data color available
Cable radius offset CABLE_CONFIG.line.altitudeOffset 0.2 Cable line radius
Cable line width CABLE_CONFIG.line.lineWidth 1 LineBasicMaterial.linewidth
Cable opacity CABLE_CONFIG.line.opacity 1.0 Cable line opacity
Cable renderOrder CABLE_CONFIG.line.renderOrder 1 Cable line level
Landing point radius offset CABLE_CONFIG.landingPoint.altitudeOffset 0.2 Same surface height as cable lines, avoiding a floating marker
Landing point sprite height local LANDING_POINT_SPRITE_HEIGHT 3 THREE.Sprite base height
Landing point reference FOV local LANDING_POINT_SIZE_REFERENCE_FOV 75 Matches the current Earth camera FOV
Landing point scale minimum local LANDING_POINT_SIZE_SCALE_MIN 0.16 Minimum multiplier after roughly 200% zoom, limiting high-zoom screen footprint; 3 * 0.16 = 0.48
Landing point scale maximum local LANDING_POINT_SIZE_SCALE_MAX 3 Maximum multiplier at far distance; current minimum zoom reaches roughly 2.50
Landing point atlas size local LANDING_POINT_ATLAS_CELL_SIZE 128 Canvas flat shaded sphere texture size
Landing point color CABLE_CONFIG.landingPoint.color 0xffaa00 SpriteMaterial.color
Landing point opacity CABLE_CONFIG.landingPoint.opacity 1.0 SpriteMaterial.opacity
Landing point renderOrder CABLE_CONFIG.landingPoint.renderOrder 1 Same level as cable lines; depthTest: false keeps the ball whole, while camera-to-center globe occlusion hides back-side points
Landing point dim brightness landingPointVisual.dimBrightness 0.62 Dim state color multiplier
Related landing point opacity landingPointVisual.related.opacityBase / opacityPulse 0.8 / 0.2 Highlight pulse
Dimmed landing point color landingPointVisual.dimmed.colorRGB { r: 180, g: 116, b: 28 } Dim state color; avoids dark base showing through as a dark hole
Dimmed landing point opacity landingPointVisual.dimmed.opacity 0.78 Dim state opacity; no longer uses low alpha blending with dark base

Satellites, Trails, and Footprints

Name Variable Current Value Location / Notes
Satellite fallback radius offset SATELLITE_CONFIG.fallbackAltitudeOffset 8 Legacy same-sphere position when real altitude is disabled or TLE propagation fails
Satellite altitude compression scale SATELLITE_CONFIG.altitudeCompressionKm 1200 TLE/SGP4 altitude compression; larger values soften high-orbit separation
Satellite real-altitude cap SATELLITE_CONFIG.maxDisplayAltitudeKm 40000 Altitude clamp for the compressed display mapping, covering GEO-range altitude
Satellite real-altitude display offset range minRealAltitudeOffset / maxRealAltitudeOffset 4 / 25 Compressed offset added to CONFIG.earthRadius; 25 is about one quarter of the current globe radius 100, keeping high-orbit separation visible without pushing GEO/MEO trails too far away
Satellite dot base pixel size SATELLITE_CONFIG.dotBaseSize 2.8 Point shader size
Satellite backdrop dot scale SATELLITE_CONFIG.dotBackdropScale 1.28 Backdrop dot size
Satellite dot opacity range dotOpacityMin / dotOpacityMax 0.42 / 1.0 Breathing animation
Satellite dot breathing speed SATELLITE_CONFIG.dotBreathingSpeed 0.12 Dot opacity animation
Satellite backdrop renderOrder inline 5 satelliteBackdropPoints.renderOrder
Satellite dot renderOrder inline 6 satellitePoints.renderOrder
Satellite trail length SATELLITE_CONFIG.trailLength 10 Trail buffer
Satellite trail line width SATELLITE_CONFIG.trailLineWidth 3 Ribbon shader uniform
Selected ring size SATELLITE_CONFIG.ringSize 0.07 Hover / locked ring sprite
Satellite overlay renderOrder SATELLITE_CONFIG.overlayRenderOrder 12 Locked ring / halo / orbit
Footprint renderOrder local GROUND_FOOTPRINT_RENDER_ORDER 3 Starlink footprint fill and Iridium coverage ring; must stay above land / texture / terrain surface layers

AIS Vessels

Name Variable Current Value Location / Notes
Vessel radius offset VESSEL_CONFIG.altitudeOffset 0.2 Normal marker position, close to the real terrain base layer
Vessel track radius offset VESSEL_CONFIG.track.altitudeOffset 0.2 Selected vessel track line, aligned to the vessel marker radius; the frontend anchors the track endpoint to the current marker position
Vessel renderOrder local VESSEL_RENDER_ORDER 4.4 Normal marker and interactive overlay
Vessel track renderOrder VESSEL_RENDER_ORDER - 0.1 4.3 Below vessel markers
Vessel point pixel size local VESSEL_POINT_SIZE 34 Shared size for normal markers and hover / locked overlays
Default vessel render cap VESSEL_CONFIG.maxRenderedMarkers 0 0 means the frontend does not clip by default; positive values send limit and clip markers
Vessel texture canvas size local VESSEL_ATLAS_CELL_SIZE 128 Canvas point texture
Course bucket count local VESSEL_COURSE_BINS 32 Moving vessels are bucketed by COG to reduce draw calls while preserving direction
Vessel hover picking throttle local VESSEL_HOVER_PICK_INTERVAL_MS 100 main.js hover picking
Vessel screen hit radius local VESSEL_POINTER_RADIUS_PX 22 main.js screen-space picking

AIS vessel markers use batched THREE.Points, not one THREE.Sprite per vessel. Moving vessels stay triangular, anchored or slow vessels stay circular, and hover / locked states add a same-size glow overlay. Vessel type color and info-card type text must come from the same normalized result: vessels.js reads both backend vessel_type_name and AIS numeric vessel_type, derives the color-driving type, then exposes vessel_type_display for the info card, hover summary, and search results.

Compute Centers

Name Variable Current Value Location / Notes
Compute center radius offset COMPUTE_CENTER_CONFIG.altitudeOffset 0.48 Marker position
Compute center point size local COMPUTE_CENTER_POINT_SIZE 36 Shared Interactable base size for normal markers and hover / locked overlays
Compute center asset fit size local COMPUTE_CENTER_ICON_FIT_SIZE 60 Maximum SVG asset draw size inside the 128x128 atlas canvas, controlled by icon.fitSize
Compute center base opacity COMPUTE_CENTER_CONFIG.marker.baseOpacity 0.88 Normal PointsMaterial.opacity
Supercomputer marker scale COMPUTE_CENTER_CONFIG.marker.supercomputerScale 12 Legacy Sprite scale; not directly used by the current Interactable path
GPU cluster marker scale COMPUTE_CENTER_CONFIG.marker.gpuClusterScale 12 Legacy Sprite scale; not directly used by the current Interactable path
Hover scale COMPUTE_CENTER_CONFIG.marker.hoverScale 1.16 Hover overlay size multiplier
Locked scale COMPUTE_CENTER_CONFIG.marker.lockedScale 1.22 Locked overlay size multiplier, with pulse
Dimmed scale / opacity dimmedScale / dimmedOpacity 0.82 / 0.34 Dim state
Supercomputer color COMPUTE_CENTER_CONFIG.colors.supercomputer "#38bdf8" Marker texture
GPU cluster color COMPUTE_CENTER_CONFIG.colors.gpu_cluster "#2dd4bf" Marker texture
Linked color COMPUTE_CENTER_CONFIG.colors.linked "#f8fafc" Linked state
Compute center renderOrder local COMPUTE_CENTER_RENDER_ORDER 4.5 Surface facility below satellites

BGP Observation

Name Variable Current Value Location / Notes
BGP event radius offset BGP_CONFIG.altitudeOffset 0.48 BGP event Interactable marker
BGP collector radius offset BGP_CONFIG.collectorAltitudeOffset 0.2 BGP collector Interactable marker, aligned with the vessel layer
BGP event point size local BGP_EVENT_POINT_SIZE 34 Event Interactable base size, adjusted by severity through getPointSizeMultiplier()
BGP event symbol draw size local BGP_EVENT_SYMBOL_SIZE 60 Event canvas symbol draw size inside the 128x128 atlas
BGP collector point size local BGP_COLLECTOR_POINT_SIZE 36 Collector Interactable base size, adjusted by activity through getPointSizeMultiplier()
BGP collector asset fit size local BGP_COLLECTOR_ICON_FIT_SIZE 60 Maximum bgp-broadcast-pin.svg draw size inside the atlas canvas
Event base scale BGP_CONFIG.marker.eventBaseScale 6.2 Event ring anchor
Collector base scale BGP_CONFIG.marker.collectorBaseScale 7.4 Collector halo / coverage animation anchor
Hover / dim scale hoverScale / dimmedScale 1.16 / 0.92 Interaction states
Normal event opacity BGP_CONFIG.opacity.normal 0.78 BGP event Interactable normal state
Hover opacity BGP_CONFIG.opacity.hover 1.0 Hover state
Dimmed opacity BGP_CONFIG.opacity.dimmed 0.24 Dim state
Collector opacity BGP_CONFIG.opacity.collector 0.62 Collector state
Critical color BGP_CONFIG.severityColors.critical 0xff4d4f Critical event
High color BGP_CONFIG.severityColors.high 0xff9f43 High-severity event
Medium color BGP_CONFIG.severityColors.medium 0xffd166 Medium-severity event
Low color BGP_CONFIG.severityColors.low 0x4dabf7 Low-severity event
Collector base color BGP_CONFIG.collectorColor 0x6db7ff Default collector color
BGP halo neutral tint BGP_CONFIG.halo.tintNeutralColor 0xffffff Broad halos derive from the matching event / collector icon color and blend toward this neutral, keeping the same hue family without becoming identical
BGP halo icon-color blend BGP_CONFIG.halo.tintBlend 0.72 Higher values stay closer to the icon color; currently used by event region halos, collector coverage halos, and collector radar pulse
Region color BGP_CONFIG.regionColor 0x2dd4bf Legacy region baseline; broad BGP halos now prefer colors derived from the event or collector icon

Celestial and Starfield

Name Variable Current Value Location / Notes
Sky sphere radius CELESTIAL_CONFIG.skyRadius 2600 Celestial background
Sky opacity CELESTIAL_CONFIG.skyOpacity 1 Background material
Sun distance / scale sunDistance / sunScale 2150 / 78 Sun sprite
Moon distance / scale moonDistance / moonScale 2050 / 38 Moon sprite
Sun halo scale CELESTIAL_CONFIG.sunHaloScale 136 Sun halo
Moon halo scale CELESTIAL_CONFIG.moonHaloScale 62 Moon halo
Sun light color / intensity sunLightColor / sunLightIntensity 0xfff4df / 1.02 Scene light
Back light color / intensity backLightColor / backLightIntensity 0x2b4c78 / 0.3 Scene light
Star count STARFIELD_CONFIG.count 8000 createStars()
Star radius range minRadius + radiusJitter 800 + 200 Random distribution
Star color STARFIELD_CONFIG.color 0xffffff PointsMaterial.color
Star size STARFIELD_CONFIG.size 0.5 PointsMaterial.size