Here's who stood out on Day 3 of 49ers training camp. Keep in mind, the team did no 1-on-1 drills or 7-on-7 drills. Instead, they warmed up, and did lots of special teams and 11-on-11 team drills.
1. Wide receiver Deebo Samuel.
Caught another 60-yard touchdown pass from Trey Lance. This was Samuel's second long touchdown grab of camp, and we're only on Day 3. So far, Samuel has been the best player on the 49ers offense, and it hasn't been close. He's in the best shape of his career.
2. Wide receiver/punt returner Brandon Aiyuk.
Didn't catch any passes during team drills, but did practice returning punts, which is great news, because Aiyuk is the best punt returner on the team. The 49ers need to let him return punts the way Arizona State let him. After practice, Aiyuk said he wants to return punts and is working to prove to the coaching staff that he's ready. Good for him.
3. Running back Elijah Mitchell.
The only running back on the team who had any success today. The other running backs kept trying unsuccessfully to run around the outside. Mitchell was the only runner who consistently ran between the tackles and gained yards. Look for him to be an effective interior rusher.
4. Defensive tackle Kentavius Street.
On the first play of practice, Street blew by starting center Alex Mack and stopped Raheem Mostert for a five-yard loss.
5. Defensive tackle D.J. Jones.
Blew by Mack and stopped Trey Sermon for a five-yard loss. Not a good day for Mack.
6. Defensive tackle Kevin Givens.
Blew by guard Jake Brendel and stopped Wayne Gallman for a five-yard loss. Not a good day for Brendel, either, whoever he is.
7. Defensive tackle Zach Kerr.
Blew by starting left guard Laken Tomlinson and stopped Gallman for a five-yard loss. Not a good day for the entire running game other than Mitchell.
8. Defensive end Samson Ebukam.
Beat Trent Williams and then Mike McGlinchey to record two sacks in one practice. Ebukam clearly is benefitting from his transition from outside linebacker to defensive end.
9. Quarterback Josh Rosen.
Threw two beautiful passes over the middle -- one to Mohamed Sanu, which Sanu caught, and one to Richie James Jr., which James dropped. More on James below.
THE NOT SO GOOD
1. Defensive end Nick Bosa.
Did not practice today. Meaning he didn't stretch, didn't warm up, didn't stand on the sideline -- nothing. He was M.I.A. Head coach Kyle Shanahan said he gave Bosa a "rest day," which most likely means Bosa's surgically-repaired left knee must be sore. He said on Thursday that he has been experiencing soreness. Not the best news.
2. Wide receiver Jalen Hurd.
Also didn't practice today, because he also had a "rest day," because he's coming off a torn ACL and hasn't played football since 2018. This guy is the new Jerick McKinnnon on the 49ers. He can't stay healthy.
3. Tight end MyCole Pruitt.
Missed practice with a calf injury. Pruitt is the first player to get injured in training camp.
4. Defensive tackle Maurice Hurst.
Missed practice with an ankle injury. Hurst is the second player to get injured in training camp.
5. Tight end George Kittle.
Caught just one pass and committed a holding penalty which negated a nice long run by Mostert. Kittle has been quite un-Kittle in training camp so far.
6. Wide receiver Richie James Jr.
Dropped both passes that came his way. He seems to have a real problem handling the velocity on Trey Lance's passes, which means James may not last long on the 49ers roster, because Lance is the future, and possibly the present.
7. Quarterback Nate Sudfeld.
Missed all three of his pass attempts today. Wasted everyone's time. Should not be on the roster. Good grief.