165 Commits

Author SHA1 Message Date
linkong
552e49bde0 feat: expand bgp observability surfaces 2026-03-31 14:07:28 +08:00
linkong
ac63bba2a2 feat: improve bgp incident visibility 2026-03-30 17:17:33 +08:00
linkong
945786cee5 fix: expand bgp pipeline and stabilize backend tests 2026-03-30 16:13:36 +08:00
linkong
2015ab79bd feat: enrich earth bgp event visualization 2026-03-27 17:26:17 +08:00
linkong
755729ee5e fix: make earth satellite and cable toggles fully unload 2026-03-27 17:11:07 +08:00
linkong
7a3ca6e1b3 fix: refine treemap sizing and add earth bgp collectors 2026-03-27 16:35:40 +08:00
linkong
62f2d9f403 fix: polish earth legend and info panel interactions 2026-03-27 16:01:12 +08:00
linkong
b448a1e560 docs: refresh quick start commands 2026-03-27 15:30:08 +08:00
linkong
2cc0c9412c fix: narrow vite dep scan entries 2026-03-27 15:13:36 +08:00
linkong
3dd210a3e5 feat: refine collected data overview and admin navigation 2026-03-27 15:08:45 +08:00
linkong
a761dfc5fb style: refine earth legend item presentation 2026-03-27 14:30:28 +08:00
linkong
7ec9586f7a chore: add earth hud backup and icon assets 2026-03-27 14:30:12 +08:00
linkong
b0058edf17 feat: add bgp observability and admin ui improvements 2026-03-27 14:27:07 +08:00
linkong
bf2c4a172d fix: upgrade startup script controls 2026-03-27 11:13:01 +08:00
linkong
30a29a6e34 fix: redesign earth hud interactions and legend behavior 2026-03-26 17:58:03 +08:00
linkong
ab09f0ba78 fix: polish earth toolbar controls and loading copy 2026-03-26 14:04:57 +08:00
linkong
7b53cf9a06 Enhance Earth interaction and bump version to 0.21.0 2026-03-26 11:09:57 +08:00
linkong
a04f4f9e67 Bump version to 0.20.0 and add changelog 2026-03-26 10:41:46 +08:00
linkong
ce5feba3b9 Stabilize Earth module and fix satellite TLE handling 2026-03-26 10:29:50 +08:00
linkong
3fd6cbb6f7 Add version history and bump project version to 0.19.0 2026-03-25 17:36:18 +08:00
linkong
020c1d5051 Refine data management and collection workflows 2026-03-25 17:19:10 +08:00
linkong
cc5f16f8a7 Fix settings layout and frontend startup checks 2026-03-25 10:42:10 +08:00
rayd1o
ef0fefdfc7 feat: persist system settings and refine admin layouts 2026-03-25 02:57:58 +08:00
linkong
81a0ca5e7a fix(satellites): fix back-facing detection with proper coordinate transform 2026-03-24 12:10:52 +08:00
linkong
b57d69c98b fix(satellites): remove debug console.log for ring create/update
Also ensures back-facing satellite selection prevention is in place
2026-03-24 11:40:28 +08:00
linkong
b9fbacade7 fix(satellites): prevent selecting satellites on far side of earth
- Add isSatelliteFrontFacing() to detect if satellite is on visible side
- Filter satellites in hover and click handlers by front-facing check
- Apply same logic as cables for consistent back-face culling
2026-03-24 10:44:06 +08:00
linkong
543fe35fbb fix(satellites): fix ring size attenuation and breathing animation
- Add sizeAttenuation: false to sprite materials for fixed ring size
- Move breathing animation parameters to SATELLITE_CONFIG constants
- Export updateBreathingPhase function to avoid ES module binding issues
- Adjust breathing speed and amplitude for better visual effect
2026-03-23 17:41:27 +08:00
rayd1o
1784c057e5 feat(earth): add predicted orbit display for locked satellites
- Calculate orbital period from meanMotion
- Generate predicted orbit points with 10s sampling
- Show complete orbit line when satellite is locked
- Hide orbit when satellite is unlocked
- Color gradient: bright (current) to dark (end)
- Fix TLE epoch format issue with fallback circle orbit
- Add visibility change handler to clear trails on page hide
- Fix satellite count display after loading
- Merge predicted-orbit plan into single file
2026-03-23 05:41:44 +08:00
rayd1o
465129eec7 fix(satellites): use timestamp-based trail filtering to prevent flash
- Changed trail data structure to {pos, time} with Date.now() timestamp
- Replaced length-based filtering with time-based filtering (5 second window)
- Trail now naturally clears when page returns to foreground
- No more ugly frame-skipping or visibilitychange workarounds

Build: passes
2026-03-23 03:56:45 +08:00
rayd1o
0c950262d3 fix(earth): fix satellite trail origin line and sync button state
- Fill unfilled trail points with satellite position instead of (0,0,0)
- Update toggle-satellites button state after auto-show on init
- Remove trailsReady flag since it's no longer needed
2026-03-21 05:10:59 +08:00
rayd1o
eabdbdc85a fix(earth): clear lock state when hiding satellites or cables 2026-03-21 04:50:05 +08:00
rayd1o
af29e90cb0 fix(earth): prevent cable hover/click interaction when cables are hidden 2026-03-21 04:41:20 +08:00
rayd1o
d9a64f7768 fix(frontend): fix iframe scrollbar issue by using 100% instead of 100vw/vh and setting html/body/root to 100% height 2026-03-21 04:10:33 +08:00
rayd1o
78bb639a83 feat(earth): toolbar zoom improvements and toggle-cables
- Remove zoom slider, implement click/hold zoom behavior (+/- buttons)
- Add 10% step on click, 1% continuous on hold
- Add box-sizing/padding normalization to toolbar buttons
- Add toggle-cables functionality with visibility state
- Fix breathing effect: faster pulse (0.008), wider opacity range (0.2-1.0)
- Fix slider null error in updateZoomDisplay
- Set satellite default to hidden
2026-03-21 02:26:41 +08:00
linkong
96222b9e4c feat(earth): refactor toolbar layout, improve cable breathing effect
- Restructure right-toolbar-group with zoom-toolbar and control-toolbar
- Add reset button to zoom-toolbar
- Change collapse toggle to arrow icon
- Improve cable breathing effect opacity range
- Adjust toolbar sizing and spacing
2026-03-20 16:34:00 +08:00
linkong
3fcbae55dc feat(earth): add cable-landing point relation via city_id
Backend:
- Fix arcgis_landing collector to extract city_id
- Fix arcgis_relation collector to extract city_id
- Fix convert_landing_point_to_geojson to use city_id mapping

Frontend:
- Update landing point cableNames to use array
- Add applyLandingPointVisualState for cable lock highlight
- Dim all landing points when satellite is locked
2026-03-20 15:45:02 +08:00
linkong
3e3090d72a docs: add architecture refactor and webgl instancing plans 2026-03-20 13:53:36 +08:00
rayd1o
4f922f13d1 refactor(earth): extract satellite config to SATELLITE_CONFIG constants 2026-03-19 18:00:22 +08:00
rayd1o
bb6b18fe3b feat(earth): satellite dot rendering with hover/lock rings, dim cables when satellite locked
- Change satellite points from squares to circular dots
- Add hover ring (white) and lock ring (yellow) for satellites
- Fix satellite hover/lock ring state management
- Dim all cables when satellite is locked
- Increase MAX_SATELLITES to 2000
- Fix satIntersects scoping bug
2026-03-19 17:41:53 +08:00
rayd1o
0ecc1bc537 feat(earth): cable state management, hover/lock visual separation, fix isSameCable undefined bug 2026-03-19 16:46:40 +08:00
rayd1o
869d661a94 refactor(earth): abstract cable highlight logic with applyCableVisualState() 2026-03-19 15:55:32 +08:00
rayd1o
d18e400fcb refactor(earth): remove dead code - setupMouseControls, getSelectedSatellite, updateCableDetails 2026-03-19 14:22:03 +08:00
rayd1o
6fabbcfe5c feat(earth): request geolocation on resetView, fallback to China 2026-03-19 12:49:38 +08:00
rayd1o
1189fec014 feat(earth): init view to China coordinates 2026-03-19 12:48:25 +08:00
rayd1o
82f7aa29a6 refactor: 提取地球坐标常量到EARTH_CONFIG
- 添加tilt、chinaLat、chinaLon、latCoefficient等常量
- earth.js和controls.js使用常量替代硬编码
- 离开地球时隐藏tooltip
2026-03-19 12:42:08 +08:00
rayd1o
777891f865 fix: 修复resetView视角和离开地球隐藏tooltip 2026-03-19 12:13:55 +08:00
rayd1o
c2eba54da0 refactor: 整理资源文件,添加legacy路由
- 将原版文件移到frontend/legacy/3dearthmult/
- 纹理文件移到frontend/public/earth/assets/
- vite.config添加/legacy/earth路由支持
- earth.js纹理路径改为assets/
2026-03-19 11:10:33 +08:00
rayd1o
f50830712c feat: 自动旋转按钮改为播放/暂停图标状态 2026-03-19 09:49:37 +08:00
rayd1o
e21b783bef fix: 修复arcgis_landing解析GeoJSON坐标格式错误
- geometry.x/y 改为 geometry.coordinates[0]/[1]
- 修复后912个登陆点正确存储
2026-03-19 09:31:38 +08:00
rayd1o
11a9dda942 refactor: 统一启动脚本到planet.sh,修复resetView调用
- 新增planet.sh统一管理start/stop/restart/health/log命令
- docker-compose.yml只保留postgres和redis
- controls.js点击事件调用resetView函数
2026-03-18 18:09:12 +08:00