{"sources": [{"url": "https://api.imd.fun/artifacts/7c668643b930a45f74bdf25f8e6f0445da8f1722ea1df70d7659dbed76da2537", "quote": "Bullet dodge and post-shot break"}, {"url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/crates/sim/src/physics.rs", "quote": "self.tick >= MAX_TICKS || !self.fighters[0].alive || !self.fighters[1].alive"}, {"url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/crates/sim/src/observation.rs", "quote": "data[base + 2] = if bullet.owner == player { 1.0 } else { 0.0 };"}, {"url": "https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/README.md", "quote": "Your model sees 224 floats describing the battlefield — your fighter, the opponent, incoming bullets — and outputs 3 floats: turn, throttle, shoot."}]}