Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9dc3b61fa5 | ||
|
|
698863da68 |
@@ -8,6 +8,32 @@ This project follows the repository versioning rule:
|
||||
- `improvement` -> `+0.0.1`(bugfix + 小功能混合)
|
||||
- `bugfix` -> `+0.0.1`
|
||||
|
||||
## [0.76.7] — 2026-10-02
|
||||
|
||||
Released: 2026-10-02
|
||||
|
||||
### Highlights
|
||||
- 统一 breaking 新闻卡片的 hover 交互,让通用 hover 行为叠加卡片自身等级颜色。
|
||||
|
||||
### Added / Fixed / Improved
|
||||
- 红、橙、黄 breaking 卡片共用同一套 hover 提亮、边框增强和浮起逻辑。
|
||||
- 等级颜色通过卡片变量注入,避免为每种颜色复制 hover 样式。
|
||||
|
||||
---
|
||||
|
||||
## [0.76.6] — 2026-10-02
|
||||
|
||||
Released: 2026-10-02
|
||||
|
||||
### Highlights
|
||||
- 扩展 breaking ticker 的全域扫光效果,并拉开新闻卡片与上方状态内容的间距。
|
||||
|
||||
### Added / Fixed / Improved
|
||||
- ticker 反射从局部光斑改为覆盖整条横向区域的扫光/闪烁带。
|
||||
- 桌面与移动新闻列表首卡预留顶部呼吸空间,保持内容区层次。
|
||||
|
||||
---
|
||||
|
||||
## [0.76.5] — 2026-10-02
|
||||
|
||||
Released: 2026-10-02
|
||||
|
||||
@@ -448,7 +448,7 @@ The current state machine keeps data, ticker visibility, panel lifecycle and sel
|
||||
- `selectedCruiseStoryId` is independent of breaking severity. Selection, focus, hover and close only change the selected story and reading position; close also clears the selection and filter popover.
|
||||
- The expanded panel always keeps its blue glass surface. Breaking colors remain on the matching story cards, so opening the panel never turns the entire glass panel red; the ticker can still show a red signal when the currently scrolling story is breaking.
|
||||
|
||||
The glass-reflection pulse is implemented: when the current ticker story enters a breaking state, its `::after` highlight emits a low-frequency, limited-amplitude red/amber pulse; the matching breaking card gets a single glass reflection sweep through its own `::after`. The panel base remains blue and there is no permanently flashing full border. `prefers-reduced-motion` disables the animation and keeps a low-intensity static cue. This visual sub-state stays attached to the current breaking story and matching card, independent of whether the panel is open.
|
||||
The glass-reflection pulse is implemented: when the current ticker story enters a breaking state, its `::after` emits a low-frequency, limited-amplitude full-width horizontal red/amber sweep and pulse; the matching breaking card gets a single glass reflection sweep through its own `::after`. The panel base remains blue and there is no permanently flashing full border. `prefers-reduced-motion` disables the animation and keeps a low-intensity static cue. This visual sub-state stays attached to the current breaking story and matching card, independent of whether the panel is open.
|
||||
|
||||
Compute cards directly reuse the shared `.hud-panel` background, border, shadow, and glass treatment. Summary, essentials, and detail areas add no separate black surface. Their headers share inset spacing with the layer panel through `.hud-panel__header--inset` / `.layer-panel-header`; primary numbers remain prominent and essential information stays visible.
|
||||
|
||||
|
||||
@@ -581,7 +581,7 @@ Earth 原有 Roboto Condensed 字体已随 `assets/fonts/` 本地分发,许可
|
||||
- `selectedCruiseStoryId` 独立于 breaking 等级。选择、聚焦、悬停和关闭只更新选中项与阅读位置;关闭时清空选中项及筛选弹层。
|
||||
- 展开面板始终使用蓝色玻璃底。breaking 只在对应新闻卡片上使用等级颜色,因此点开面板不会把整块玻璃染成红色,之后滚动到 breaking 新闻时仍可让 ticker 显示红色提示。
|
||||
|
||||
breaking 的玻璃反射脉冲已实现:ticker 当前项目进入 breaking 状态时,`::after` 局部高光以低频、有限幅度红/橙脉冲增强;展开面板中只在对应 breaking 新闻卡片上用 `::after` 扫过一条玻璃反射带。面板底色保持蓝色,不使用持续闪烁的整圈边缘;`prefers-reduced-motion` 下停用动画并保留低强度静态提示。该视觉子状态挂在当前 breaking 项目和对应卡片上,不与面板是否打开耦合。
|
||||
breaking 的玻璃反射脉冲已实现:ticker 当前项目进入 breaking 状态时,`::after` 以低频、有限幅度的全宽横向扫光带增强并闪烁;展开面板中只在对应 breaking 新闻卡片上用 `::after` 扫过一条玻璃反射带。面板底色保持蓝色,不使用持续闪烁的整圈边缘;`prefers-reduced-motion` 下停用动画并保留低强度静态提示。该视觉子状态挂在当前 breaking 项目和对应卡片上,不与面板是否打开耦合。
|
||||
|
||||
算力卡片外观直接复用共享 `.hud-panel` 的背景、边框、阴影和玻璃效果,摘要、基础信息及详情区不再叠加单独黑底。标题栏与图层面板共用 `.hud-panel__header--inset` / `.layer-panel-header` 的内边距;主数字继续突出,基础信息保持常显。
|
||||
|
||||
|
||||
@@ -16,12 +16,14 @@
|
||||
## Current Version
|
||||
|
||||
- `main` 当前主线历史推导到:`0.16.5`
|
||||
- `dev` 当前开发分支历史推导到:`0.76.5`
|
||||
- `dev` 当前开发分支历史推导到:`0.76.7`
|
||||
|
||||
## Timeline
|
||||
|
||||
| Version | Type | Branch | Commit | Summary |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `0.76.7` | bugfix | `dev` | `v0.76.7` | 统一 breaking 卡片 hover 行为并通过卡片等级变量注入颜色 tint |
|
||||
| `0.76.6` | bugfix | `dev` | `v0.76.6` | breaking ticker 全域扫光闪烁,新闻列表首卡增加顶部呼吸空间 |
|
||||
| `0.76.5` | bugfix | `dev` | `v0.76.5` | breaking 玻璃反射式警灯脉冲、等级颜色统一及新闻卡片内容高度修复 |
|
||||
| `0.76.4` | bugfix | `dev` | `v0.76.4` | 修正 breaking 新闻 ticker 与面板状态边界,当前滚动到 breaking 项时才显示红色 |
|
||||
| `0.76.3` | bugfix | `dev` | `v0.76.3` | 修复新闻栏关闭后残留 breaking 橙色边线,分离 ticker、面板、选择和过期状态 |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "planet-frontend",
|
||||
"version": "0.76.5",
|
||||
"version": "0.76.7",
|
||||
"private": true,
|
||||
"packageManager": "bun@1",
|
||||
"dependencies": {
|
||||
|
||||
@@ -50,15 +50,20 @@
|
||||
.earth-news-ticker::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: calc(-8px * var(--hud-scale)) calc(14px * var(--hud-scale));
|
||||
inset: calc(-8px * var(--hud-scale)) calc(-14px * var(--hud-scale));
|
||||
z-index: 0;
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
background: radial-gradient(
|
||||
ellipse 24% 120% at 72% 50%,
|
||||
var(--news-breaking-color),
|
||||
transparent 72%
|
||||
);
|
||||
background: linear-gradient(
|
||||
102deg,
|
||||
transparent 0%,
|
||||
transparent 34%,
|
||||
color-mix(in srgb, var(--news-breaking-color) 18%, transparent) 43%,
|
||||
var(--news-breaking-color) 50%,
|
||||
color-mix(in srgb, var(--news-breaking-color) 18%, transparent) 57%,
|
||||
transparent 66%,
|
||||
transparent 100%
|
||||
) 140% 0 / 220% 100% no-repeat;
|
||||
filter: blur(calc(8px * var(--hud-scale)));
|
||||
mix-blend-mode: screen;
|
||||
}
|
||||
@@ -263,12 +268,16 @@
|
||||
@keyframes earthNewsBreakingGlassPulse {
|
||||
0%,
|
||||
100% {
|
||||
opacity: 0.12;
|
||||
transform: translateX(-8%) scaleX(0.88);
|
||||
opacity: 0;
|
||||
background-position: 140% 0;
|
||||
}
|
||||
18%,
|
||||
74% {
|
||||
opacity: 0.76;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.76;
|
||||
transform: translateX(8%) scaleX(1);
|
||||
opacity: 0.9;
|
||||
background-position: -40% 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -508,6 +517,7 @@
|
||||
min-height: 0;
|
||||
max-height: none;
|
||||
overflow-y: auto;
|
||||
padding-top: calc(8px * var(--hud-scale));
|
||||
padding-right: calc(4px * var(--hud-scale));
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: rgba(160, 220, 255, 0.36) transparent;
|
||||
@@ -527,7 +537,7 @@
|
||||
}
|
||||
|
||||
.news-story-card {
|
||||
--news-breaking-color: rgba(255, 166, 102, 0.46);
|
||||
--news-hover-tint: rgba(214, 235, 255, 0.16);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
flex: 0 0 auto;
|
||||
@@ -552,10 +562,18 @@
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.earth-mobile-news-board-list {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
.news-story-card:hover {
|
||||
border-color: rgba(214, 235, 255, 0.16);
|
||||
border-color: color-mix(in srgb, var(--news-hover-tint) 76%, rgba(214, 235, 255, 0.16));
|
||||
background:
|
||||
linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(92, 151, 218, 0.06));
|
||||
linear-gradient(
|
||||
180deg,
|
||||
color-mix(in srgb, var(--news-hover-tint) 30%, rgba(255, 255, 255, 0.05)),
|
||||
color-mix(in srgb, var(--news-hover-tint) 24%, rgba(92, 151, 218, 0.03))
|
||||
);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
@@ -575,6 +593,7 @@
|
||||
|
||||
.news-story-card--breaking-watch {
|
||||
--news-breaking-color: rgba(255, 213, 128, 0.42);
|
||||
--news-hover-tint: var(--news-breaking-color);
|
||||
border-color: var(--news-breaking-color);
|
||||
background:
|
||||
linear-gradient(180deg, rgba(255, 248, 220, 0.08), rgba(255, 184, 77, 0.05));
|
||||
@@ -582,6 +601,7 @@
|
||||
|
||||
.news-story-card--breaking-breaking {
|
||||
--news-breaking-color: rgba(255, 151, 78, 0.5);
|
||||
--news-hover-tint: var(--news-breaking-color);
|
||||
border-color: var(--news-breaking-color);
|
||||
background:
|
||||
linear-gradient(180deg, rgba(255, 205, 150, 0.1), rgba(255, 135, 80, 0.07));
|
||||
@@ -589,6 +609,7 @@
|
||||
|
||||
.news-story-card--breaking-critical {
|
||||
--news-breaking-color: rgba(255, 95, 95, 0.56);
|
||||
--news-hover-tint: var(--news-breaking-color);
|
||||
border-color: var(--news-breaking-color);
|
||||
background:
|
||||
linear-gradient(180deg, rgba(255, 155, 155, 0.11), rgba(205, 58, 58, 0.08));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "planet"
|
||||
version = "0.76.5"
|
||||
version = "0.76.7"
|
||||
description = "智能星球计划 - 态势感知系统"
|
||||
requires-python = ">=3.14"
|
||||
dependencies = [
|
||||
|
||||
Reference in New Issue
Block a user