# DevCompass Racing Jumbotron 信息架构

Jumbotron 是 DevCompass Racing 的公开大屏容器，用于 Workshop / Hackathon / 团队协作场景。它把多个项目、骑手、Racing Cockpit 与 Coding Agent 的运行状态汇聚为现场可读的赛事画面。

## 核心目标

Jumbotron 需要回答五个问题：

1. 当前比赛进行到哪里？
2. 谁领先，谁在追赶？
3. 哪些项目正在发生关键动态？
4. 整体进度、资源消耗和参与情况是否健康？
5. 哪些风险、阻碍或违规需要现场关注？

## 展示边界

应展示：

- 赛事标题、阶段、时间、LIVE 状态；
- Racing Entry 的排名、位置、进度、成本、风险和消息摘要；
- 赛事级 KPI；
- 实时 TOP3；
- Riding Message；
- Risk / Obstacle / Violation；
- 进入 Remote Racing Cockpit 的入口。

不应展示：

- 完整终端日志；
- 完整 Coding Agent Session；
- 长文本评论流；
- 复杂代码 diff；
- 细粒度项目管理后台；
- 需要个人授权才能展示的私密内容。

## MVP Display Scope

```text
Jumbotron
└── race_live
    └── Jumbotron / Race Live View
```

MVP 只保留 Race Live View，不包含独立第二大屏、主榜表格或多维排行。

## 核心信息对象

### Competition

```text
Competition
├── competitionId
├── title
├── subtitle
├── theme
├── organizer
├── liveStatus
├── currentPhase
├── currentRound
├── nextPhase
├── elapsedTime
└── systemTime
```

### Racing Entry

```text
Racing Entry
├── entryId
├── displayName
├── riderName
├── projectName
├── rank
├── rankDelta
├── score
├── overallProgress
├── roundProgress
├── phaseProgress
├── tokenCost
├── primaryCA
├── codexUsage
├── claudeUsage
├── riskLevel
├── motionState
├── latestMessage
└── remoteCockpitUrl
```

### Competition KPI

```text
Competition KPI
├── completionRate
├── totalTokens
├── activeRiders
├── onlineRiders
├── activeCockpits
├── codexTokens
├── claudeTokens
├── codexShare
├── claudeShare
├── riskCount
├── obstacleCount
└── violationCount
```

### Riding Message

消息类型包括：

- progress_update；
- milestone；
- strategy_change；
- quality_signal；
- risk_alert；
- obstacle；
- violation；
- takeover；
- pit_stop。

## 容器级 IA

```text
Jumbotron Container
├── Header
│   ├── Brand
│   ├── Subtitle
│   ├── LIVE Status
│   ├── Current Phase / Round
│   ├── Elapsed Time
│   └── Online / Active Riders
├── Global KPI Strip
│   ├── Completion Rate
│   ├── Total Tokens
│   ├── Codex Usage
│   ├── Claude Usage
│   └── Risk / Obstacle / Violation Count
├── Main Content
│   └── Race Live View
├── Attention / Message Area
│   ├── Riding Message
│   └── Risk / Obstacle / Violation
└── Footer
    ├── LIVE Status
    ├── Theme
    ├── Organizer
    ├── Current Phase
    ├── Next Phase
    └── System Time
```

## Race Live View IA

```text
Race Live View
├── Header / Status Bar
├── Top Summary Row
│   ├── Real-time TOP3
│   └── Competition KPI Cards
├── Track Stage
│   ├── Track Background
│   ├── Semantic Track Overlay
│   ├── Racing Entry Markers
│   ├── Ranking Number Badges
│   ├── Horse / Rider Visuals
│   ├── Riding Message Bubbles
│   └── LIVE Indicator
├── Left Rail
│   ├── Track Mini Map
│   ├── Checkpoints
│   └── Entry Legend
├── Bottom Ticker
│   ├── Risk Items
│   ├── Obstacle Items
│   ├── Violation Items
│   ├── Recent Message Items
│   └── View More
└── Footer
```

## 主视觉规则

```text
Static Track Background
  +
Semantic Track Geometry
  +
Dynamic Racing Entry Layer
  +
Message / Attention Overlay
```

约束：

- 马匹、编号、气泡和风险标记不能写死在底图里；
- 排名和进度不能从图片中推断；
- 赛道位置由 `roundProgress` 映射到 `centerlinePath`；
- 气泡、标签和马匹需要落在 `safeZones` 内或经过避让计算；
- 无新数据时只保留原地动效或进入 stale，不持续制造虚假推进。

## MVP 落地约束

1. Jumbotron 是大屏容器，MVP 只包含 `race_live` 显示范围。
2. Race Live View 默认用 `roundProgress` 映射赛道位置。
3. 赛道底图只负责视觉，不负责语义。
4. 赛道几何必须显式存在，不能从图片反推。
5. 马匹位置由进度和赛道几何派生。
6. 动态表现由状态机驱动，不做真实物理仿真。
7. 数据更新慢时，使用补间、原地动效、气泡和高亮，不伪造连续推进。
8. Jumbotron 只展示摘要，不承载完整 Session、完整日志或复杂分析。
