release: bump version to 0.37.2
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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 局域网访问支撑 |
|
||||||
|
|||||||
@@ -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": {
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
37
frontend/public/earth/js/controls.js
vendored
37
frontend/public/earth/js/controls.js
vendored
@@ -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",
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 = [
|
||||||
|
|||||||
Reference in New Issue
Block a user