release: bump version to 0.37.2

This commit is contained in:
linkong
2026-04-23 11:12:49 +08:00
parent 987c378f99
commit 195a8bf71c
9 changed files with 82 additions and 6 deletions

View File

@@ -1 +1 @@
0.37.1 0.37.2

View File

@@ -8,6 +8,19 @@ This project follows the repository versioning rule:
- `improvement` -> `+0.0.1`bugfix + 小功能混合) - `improvement` -> `+0.0.1`bugfix + 小功能混合)
- `bugfix` -> `+0.0.1` - `bugfix` -> `+0.0.1`
## [0.37.2] — 2026-04-23
### ✨ Highlights
- Earth 图层系统新增经纬线开关,桌面图层面板与移动端抽屉都可直接控制
### 🔧 Improvements
- 经纬线正式接入 Earth layer registry复用现有图层切换、移动端图层卡片与设置持久化流
### 🐛 Fixes
- 修复经纬线只能默认常驻、无法作为独立图层开关控制的问题
---
## [0.37.1] — 2026-04-23 ## [0.37.1] — 2026-04-23
### ✨ Highlights ### ✨ Highlights

View File

@@ -16,12 +16,13 @@
## Current Version ## Current Version
- `main` 当前主线历史推导到:`0.16.5` - `main` 当前主线历史推导到:`0.16.5`
- `dev` 当前开发分支历史推导到:`0.37.1` - `dev` 当前开发分支历史推导到:`0.37.2`
## Timeline ## Timeline
| Version | Type | Branch | Commit | Summary | | Version | Type | Branch | Commit | Summary |
| --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- |
| `0.37.2` | bugfix | `dev` | `pending` | Earth 图层系统新增经纬线开关,并将经纬线接入统一 layer registry、移动端抽屉与设置持久化流 |
| `0.37.1` | bugfix | `dev` | `pending` | 修复 `planet.sh``uvicorn --reload` 场景下未清理旧 worker 的问题,避免后端重启后仍停留旧实例并导致算力中心聚合接口 404 | | `0.37.1` | bugfix | `dev` | `pending` | 修复 `planet.sh``uvicorn --reload` 场景下未清理旧 worker 的问题,避免后端重启后仍停留旧实例并导致算力中心聚合接口 404 |
| `0.37.0` | feature | `dev` | `pending` | Earth 连线系统从巡航语义中完全解耦为通用 callout connector统一桌面/移动端对象级锚点、临界区锚点滑动与稳定巡航展示链路 | | `0.37.0` | feature | `dev` | `pending` | Earth 连线系统从巡航语义中完全解耦为通用 callout connector统一桌面/移动端对象级锚点、临界区锚点滑动与稳定巡航展示链路 |
| `0.36.0` | feature | `dev` | `pending` | Earth 新增统一算力中心图层与估算位置展示,继续收口拖拽交互,并补充 AI Provider 指纹与 WSL 局域网访问支撑 | | `0.36.0` | feature | `dev` | `pending` | Earth 新增统一算力中心图层与估算位置展示,继续收口拖拽交互,并补充 AI Provider 指纹与 WSL 局域网访问支撑 |

View File

@@ -1,6 +1,6 @@
{ {
"name": "planet-frontend", "name": "planet-frontend",
"version": "0.37.1", "version": "0.37.2",
"private": true, "private": true,
"packageManager": "bun@1", "packageManager": "bun@1",
"dependencies": { "dependencies": {

View File

@@ -118,6 +118,16 @@
<span class="layer-row-toggle-track"></span> <span class="layer-row-toggle-track"></span>
</button> </button>
</div> </div>
<div class="layer-row" data-layer-name="经纬线 graticule 经纬 latitude longitude">
<span class="material-symbols-rounded layer-row-icon">grid_4x4</span>
<div class="layer-row-copy">
<span class="layer-row-label">经纬线</span>
<span class="layer-row-meta">Graticule</span>
</div>
<button id="toggle-grid-lines" class="layer-row-toggle active" type="button" role="switch" aria-checked="true" title="切换经纬线显示">
<span class="layer-row-toggle-track"></span>
</button>
</div>
<div class="layer-row" data-layer-name="卫星 satellites"> <div class="layer-row" data-layer-name="卫星 satellites">
<span class="material-symbols-rounded layer-row-icon">satellite_alt</span> <span class="material-symbols-rounded layer-row-icon">satellite_alt</span>
<div class="layer-row-copy"> <div class="layer-row-copy">

View File

@@ -3,7 +3,12 @@
import * as THREE from "three"; import * as THREE from "three";
import { CONFIG, EARTH_CONFIG, ROTATION_MODE } from "./constants.js"; import { CONFIG, EARTH_CONFIG, ROTATION_MODE } from "./constants.js";
import { setEarthStatValue, updateZoomDisplay, showStatusMessage } from "./ui.js"; import { setEarthStatValue, updateZoomDisplay, showStatusMessage } from "./ui.js";
import { toggleTerrain, setDayNightEnabled } from "./earth.js"; import {
toggleTerrain,
setDayNightEnabled,
toggleGridLines,
getShowGridLines,
} from "./earth.js";
import { setCelestialDayNightEnabled } from "./celestial.js"; import { setCelestialDayNightEnabled } from "./celestial.js";
import { import {
ensureTerrainReady, ensureTerrainReady,
@@ -999,6 +1004,20 @@ async function setSatellitesLayerEnabled(button, enabled, { persist = true, sile
} }
} }
function setGridLinesLayerEnabled(button, enabled, { persist = true, silent = false } = {}) {
toggleGridLines(enabled);
setLayerButtonState(button, {
active: enabled,
tooltip: enabled ? "隐藏经纬线" : "显示经纬线",
});
syncMobileLayerCards();
if (persist) persistEarthSettings();
if (!silent) {
showStatusMessage(enabled ? "经纬线已显示" : "经纬线已隐藏", "info");
}
return enabled;
}
function setBGPLayerEnabled(button, enabled, { persist = true, silent = false } = {}) { function setBGPLayerEnabled(button, enabled, { persist = true, silent = false } = {}) {
clearSelectionIfHiding(!enabled); clearSelectionIfHiding(!enabled);
toggleBGP(enabled); toggleBGP(enabled);
@@ -1090,6 +1109,22 @@ function getBuiltinLayerDefinitions() {
setVisible: (visible, options = {}) => setVisible: (visible, options = {}) =>
setTerrainEnabled(getLayerButton("terrain"), visible, options), setTerrainEnabled(getLayerButton("terrain"), visible, options),
}, },
{
id: "gridLines",
buttonId: "toggle-grid-lines",
icon: "grid_4x4",
label: "经纬线",
meta: "Graticule",
keywords: "经纬线 graticule 经纬 latitude longitude",
defaultActive: true,
startupPriority: null,
startupMode: "visible",
startupLabel: "经纬线",
startupMessage: "",
getVisible: () => getShowGridLines(),
setVisible: (visible, options = {}) =>
setGridLinesLayerEnabled(getLayerButton("gridLines"), visible, options),
},
{ {
id: "satellites", id: "satellites",
buttonId: "toggle-satellites", buttonId: "toggle-satellites",

View File

@@ -7,6 +7,7 @@ import { latLonToVector3 } from './utils.js';
export let earth = null; export let earth = null;
export let clouds = null; export let clouds = null;
export let terrain = null; export let terrain = null;
let showGridLines = true;
const textureLoader = new THREE.TextureLoader(); const textureLoader = new THREE.TextureLoader();
let _earthMaterial = null; let _earthMaterial = null;
@@ -321,6 +322,7 @@ export function createGridLines(scene, earthObj) {
const geometry = new THREE.BufferGeometry().setFromPoints(points); const geometry = new THREE.BufferGeometry().setFromPoints(points);
const line = new THREE.Line(geometry, gridMaterial); const line = new THREE.Line(geometry, gridMaterial);
line.userData = { type: 'latitude', value: lat }; line.userData = { type: 'latitude', value: lat };
line.visible = showGridLines;
earthObj.add(line); earthObj.add(line);
latitudeLines.push(line); latitudeLines.push(line);
} }
@@ -335,11 +337,26 @@ export function createGridLines(scene, earthObj) {
const geometry = new THREE.BufferGeometry().setFromPoints(points); const geometry = new THREE.BufferGeometry().setFromPoints(points);
const line = new THREE.Line(geometry, gridMaterial); const line = new THREE.Line(geometry, gridMaterial);
line.userData = { type: 'longitude', value: lon }; line.userData = { type: 'longitude', value: lon };
line.visible = showGridLines;
earthObj.add(line); earthObj.add(line);
longitudeLines.push(line); longitudeLines.push(line);
} }
} }
export function toggleGridLines(visible) {
showGridLines = visible;
latitudeLines.forEach((line) => {
line.visible = visible;
});
longitudeLines.forEach((line) => {
line.visible = visible;
});
}
export function getShowGridLines() {
return showGridLines;
}
export function getEarth() { export function getEarth() {
return earth; return earth;
} }

View File

@@ -1,6 +1,6 @@
[project] [project]
name = "planet" name = "planet"
version = "0.37.1" version = "0.37.2"
description = "智能星球计划 - 态势感知系统" description = "智能星球计划 - 态势感知系统"
requires-python = ">=3.14" requires-python = ">=3.14"
dependencies = [ dependencies = [

2
uv.lock generated
View File

@@ -475,7 +475,7 @@ wheels = [
[[package]] [[package]]
name = "planet" name = "planet"
version = "0.37.1" version = "0.37.2"
source = { virtual = "." } source = { virtual = "." }
dependencies = [ dependencies = [
{ name = "aiofiles" }, { name = "aiofiles" },