From 4831505ef9a485b519abaeb0d5750953c625cba7 Mon Sep 17 00:00:00 2001 From: Super_Z <1401203083@qq.com> Date: Wed, 24 Jun 2026 03:04:04 +0000 Subject: [PATCH] =?UTF-8?q?v0.12:=20=E5=AD=98=E6=A1=A3=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E9=92=A9=E5=AD=90=20+=20=E8=80=83=E5=8F=A4=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E6=9D=A1=EF=BC=88=E5=B7=AE=E5=BC=82=E5=8C=96?= =?UTF-8?q?=E5=8F=99=E4=BA=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gameStore persist: - name v1→v2, 加 version:2 + migrate 钩子 - migrate 合并旧存档与 INITIAL_STATE, 补全 bossKills/starTidesEncountered/ chronicle/attributes/activeExpedition/constellation 等字段, 防旧存档崩溃 - 丢弃不可解的活跃谜题(旧算法生成) archaeoLog.ts (新增): - 5 阶段日志池 dawn/awakening/contact/ascension/deep (48 条) - 按飞升次数+接触进度解锁阶段, deep 层含哲学反转 - pickLogEntry 避免短期重复(最近8条) ArchaeoLogTicker.tsx (新增): - marquee 横向滚动, 18-30s 随机推送新条目 - 阶段色标 emerald/amber/fuchsia/rose, inset glow - 进度里程碑触发即时刷新(解锁新阶段) - prefers-reduced-motion 降级 page.tsx: - footer 上方集成 ArchaeoLogTicker globals.css: - echo-ticker-marquee/fade keyframes + reduced-motion 降级 调研落地: Antimatter Dimensions news ticker + Universal Paperclips 哲学递进 lint 零错误, 构建成功(5.7s) --- src/app/globals.css | 18 ++++ src/app/page.tsx | 6 ++ src/components/game/ArchaeoLogTicker.tsx | 89 +++++++++++++++++++ src/lib/game/archaeoLog.ts | 107 +++++++++++++++++++++++ src/store/gameStore.ts | 42 ++++++++- 5 files changed, 261 insertions(+), 1 deletion(-) create mode 100644 src/components/game/ArchaeoLogTicker.tsx create mode 100644 src/lib/game/archaeoLog.ts diff --git a/src/app/globals.css b/src/app/globals.css index 1008d129f..b5554140c 100755 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -191,3 +191,21 @@ 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } } + +/* v0.12 考古日志滚动条 */ +@keyframes echo-ticker-marquee { + 0% { transform: translateX(100%); } + 100% { transform: translateX(-100%); } +} +@keyframes echo-ticker-fade { + 0% { opacity: 0; } + 100% { opacity: 1; } +} +.echo-ticker-anim { + animation: echo-ticker-marquee 28s linear forwards, echo-ticker-fade 0.5s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .echo-ticker-anim { + animation: echo-ticker-fade 0.5s ease-out; + } +} diff --git a/src/app/page.tsx b/src/app/page.tsx index 53440c54e..dcf56bf35 100755 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -24,6 +24,7 @@ const CruiseMode = dynamic(() => import("@/components/game/CruiseMode").then(m = import { AttributesPanel } from "@/components/game/AttributesPanel"; import { ExplorationRadar } from "@/components/game/ExplorationRadar"; import { RelicCodex } from "@/components/game/RelicCodex"; +import { ArchaeoLogTicker } from "@/components/game/ArchaeoLogTicker"; import { StarTideNotifier, StarTideIndicator, @@ -389,6 +390,11 @@ export default function Page() { + {/* v0.12 考古日志滚动条 — footer 上方的叙事层 */} +
+ +
+ {/* 底部 Footer */}