+
+
- {{ locale === 'zh-CN' ? '形态转变:2D → 3D 滚球' : 'Form shift: 2D → 3D rolling ball' }}
+ {{ locale === 'zh-CN' ? '早期并行演进:2D 线' : 'Earlier parallel lines: 2D' }}
@@ -96,8 +102,19 @@ const is3D = (track) => track.form === '3D'
flex-direction: column;
gap: var(--space-xl);
}
-.timeline__track--3d {
- padding-top: var(--space-sm);
+
+/* 最终形态强调 */
+.timeline__track--featured {
+ padding: var(--space-lg);
+ background: linear-gradient(180deg, var(--accent-weak) 0%, transparent 100%);
+ border: 1px solid var(--accent-weak);
+ border-radius: var(--radius);
+}
+.timeline__track--featured .timeline__track-name {
+ font-size: 1.2rem;
+}
+.timeline__track--featured .timeline__track-desc {
+ color: var(--text-primary);
}
.timeline__track-head {
@@ -118,14 +135,18 @@ const is3D = (track) => track.form === '3D'
letter-spacing: 0.04em;
}
.timeline__form.is-3d {
- background: var(--accent-weak);
- color: var(--accent);
+ background: var(--accent);
+ color: #fff;
}
.timeline__track-name {
font-weight: 600;
font-size: 1.05rem;
color: var(--text-primary);
}
+.timeline__star {
+ color: var(--accent);
+ font-size: 0.9rem;
+}
.timeline__track-desc {
font-size: 0.9rem;
color: var(--text-secondary);
@@ -220,7 +241,7 @@ const is3D = (track) => track.form === '3D'
font-size: 0.85rem;
}
-/* 2D -> 3D 转折标记 */
+/* 形态转变标记 */
.timeline__pivot {
display: flex;
align-items: center;
@@ -235,7 +256,7 @@ const is3D = (track) => track.form === '3D'
.timeline__pivot-text {
font-size: 0.8rem;
font-weight: 600;
- color: var(--accent);
+ color: var(--text-tertiary);
white-space: nowrap;
letter-spacing: 0.02em;
}
diff --git a/src/modules/mobile-game/data/versions.js b/src/modules/mobile-game/data/versions.js
index 792686b..9b697c7 100644
--- a/src/modules/mobile-game/data/versions.js
+++ b/src/modules/mobile-game/data/versions.js
@@ -9,6 +9,16 @@
// track 字段标识所属演进线;form 标识 2D/3D;order 用于时间线排序(按发布先后)。
export const tracks = [
+ {
+ id: 'roll-a-ball',
+ name: { zh: '3D 滚球(最终形态)', en: '3D Rolling Ball (Final Form)' },
+ form: '3D',
+ featured: true,
+ desc: {
+ zh: '项目从 2D 转向 3D 的最终形态。手机陀螺仪倾斜操控滚球,含雪花砖掉落、黄色砖弹跳等机制。',
+ en: 'The final form as the project shifted from 2D to 3D. Tilt the phone to roll the ball; snowflake bricks fall, yellow bricks bounce.'
+ }
+ },
{
id: 'zikai-ui',
name: { zh: 'zikai-ui 角色控制器', en: 'zikai-ui Character Controller' },
@@ -35,15 +45,6 @@ export const tracks = [
zh: '2D 横版平台跳跃,吃金币、计分、血量、触屏摇杆。',
en: '2D side-scrolling platformer: collect coins, score, health, touch joystick.'
}
- },
- {
- id: 'roll-a-ball',
- name: { zh: '3D 滚球(最终形态)', en: '3D Rolling Ball (Final Form)' },
- form: '3D',
- desc: {
- zh: '项目从 2D 转向 3D 的最终形态。手机陀螺仪倾斜操控滚球,含雪花砖掉落、黄色砖弹跳等机制。',
- en: 'The final form as the project shifted from 2D to 3D. Tilt the phone to roll the ball; snowflake bricks fall, yellow bricks bounce.'
- }
}
]