{
 "sources": [
  {
   "url": "https://www.paradigm.xyz/puzzles/api/v1/dogfight/leaderboard",
   "quote": "\"id\":\"starter-bot\",\"author\":\"Baseline Strategy\",\"name\":\"Starter\",\"createdAt\":\"2025-01-01T00:00:00Z\",\"wins\":50,\"losses\":50,\"draws\":0"
  },
  {
   "url": "https://www.paradigm.xyz/puzzles/api/v1/dogfight/leaderboard",
   "quote": "\"crossPlayElo\":-5291.40602119322,\"crossPlayMatches\":60"
  },
  {
   "url": "https://www.paradigm.xyz/puzzles/dogfight",
   "quote": "Ratings start provisional (vs reference pool) and refine via head-to-head Swiss rounds every 30 minutes."
  },
  {
   "url": "https://www.paradigm.xyz/puzzles/dogfight/about",
   "quote": "The most recent frame occupies indices 168–223."
  },
  {
   "url": "https://www.paradigm.xyz/puzzles/dogfight/about",
   "quote": "Submissions are rate-limited to 1 every 10 minutes"
  },
  {
   "url": "https://www.paradigm.xyz/puzzles/dogfight/about",
   "quote": "bullets arriving within 45° of directly behind the target glance off and deal no damage."
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/README.md",
   "quote": "Bullets from within 45° behind glance off"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/README.md",
   "quote": "Output clamping: yaw `[-1, 1]`, throttle `[0, 1]`, shoot fires if `> 0`."
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/RULES.md",
   "quote": "Models must be **stateless**"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/crates/sim/src/observation.rs",
   "quote": "data[..SINGLE_FRAME_OBS_SIZE].copy_from_slice(&current.data);"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/crates/shared/src/constants.rs",
   "quote": "pub const BULLET_LIFETIME_TICKS: u32 = 60; // 0.5s at 120Hz"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/crates/shared/src/constants.rs",
   "quote": "pub const GUN_COOLDOWN_TICKS: u32 = 90; // 0.75s at 120Hz"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/crates/sim/src/physics.rs",
   "quote": "let velocity = forward * cfg.bullet_speed;"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/main/crates/sim/src/physics.rs",
   "quote": "x -= ARENA_DIAMETER;"
  }
 ]
}