Here's the blow-by-blow from Day 3 of the 49ers quarterback competition between Jimmy Garoppolo and Trey Lance.
Completed 6 of 11 pass attempts (55 percent), which isn't good. Also completed just two passes that traveled more than five yards past the line of scrimmage, which is typical for Garoppolo. And despite all the short throws, he still missed almost half of his attempts, which is disheartening for any team that might want to trade for Garoppolo.
Here's what happened on this 11 pass attempts.
1. Held the ball too long in the pocket before he threw an incomplete checkdown pass behind Trey Sermon.
2. Completed a five-yard pass to Mohamed Sanu running a slant.
3. Completed a five-yard checkdown to Raheem Mostert.
4. Completed a five-yard checkdown to Sermon.
5. Completed a 15-yard pass to Sanu after avoiding a blitzing Fred Warner. This was Garoppolo's best throw of the day.
6. Completed a two-yard checkdown to Sanu.
7. Threw an incomplete pass behind George Kittle who was running a dig route.
8. Threw an incomplete pass to Sanu who was running an out route against K'Waun Williams. Garoppolo's pass led Sanu too far.
9. Overthrew an open Deebo Samuel running a deep crossing route. Incomplete.
10. Completed a 15-yard pass to Kittle who was covered by Tim Harris Jr., the worst player in the secondary.
11. Threw an incomplete pass to Deebo Samuel running a slant.
Completed 5 of 10 passes, and almost got intercepted by a linebacker on his final throw. Which means this was Lance's worst day of camp so far. But he also threw a 60-yard touchdown pass to Deebo Samuel, which was by far the best throw of the day. It was Lance's second long touchdown pass of camp so far. Garoppolo has thrown none.
Here's what happened on Lance's 10 attempts.
1. Threw an ugly one-hopper to George Kittle over the middle. Lance's first throw usually is his worst throw.
2. Completed a 20-yard pass over the middle to Bennie Fowler. The pass was an absolute rocket -- it traveled on a line to the receiver. Lance has the strongest arm a 49ers quarterback has had since Colin Kaepernick.
3. Threw an incomplete pass to River Cracraft running a deep out. Marcell Harris leaped and tipped the ball away. Lance needed to use touch to loft the pass over Harris' head.
4. Scrambled out of the pocket to his left, ran to the sideline, flipped his hips and fired a 20-yard incomplete pass up the sideline to rookie tight end Josh Pederson, who was blanketed by Jared Mayden.
5. Completed a 15-yard pass to Sanu running a curl route over the middle. Another rocket.
6. Completed a 15-yard pass to Deebo Samuel running a curl route over the middle. Lance threw the ball so hard, Samuel almost dropped it.
7. Srcambled to his right and completed a five-yard checkdown pass to Ross Dwelley.
8. Completed a 60-yard touchdown bomb to Samuel. It was a play-action pass. Lance rolled to his right, stopped, and threw back across the field to his left. Garoppolo couldn't make that throw in his dreams. His arm isn't strong enough.
9. On third and 10, fired a strike over the middle to Richie James Jr., who dropped his second pass of the morning.
10. Telegraphed a short pass over the middle to Brandon Aiyuk. Middle linebacker Jonas Griffith read Lance's eyes and reached up to intercept the pass, but could not hold onto Lance's fastball.
Check out this video I shot of Garoppolo and Lance throwing passes on Day 3 of camp.