One of the biggest things that jumped out during the 49ers' initial training camp Thursday was which players were part of the starting 22 the first time the team lined up in an 11-on-11 situation. These faces could change as training camp goes on, but these were the starters Thursday:
A.J. Jenkins, No. 2 WR. I've written all offseason how I thought Jenkins would get the best chance to win the receiver role opposite Anquan Boldin, and he's getting the first shot this summer. Jenkins had a forgettable opening day of training camp. He had a nifty sliding catch on the sideline early, but you had to wonder whether it would have been a routine catch had a he stayed on his feet. He had two more passes in quick succession from Kaepernick - he bobbled and dropped one and was well-covered on the next.
Garrett Celek, TE. Sure, second-round pick Vance McDonald was the talk of the spring sessions. But the 49ers aren't ready to give him the role of No. 2 tight end just yet. Instead, it went to second-year player Celek, whose college experience at Michigan State was the opposite of McDonald's at Rice in that Celek did plenty of blocking but hardly ever caught a pass. That is, McDonald must master blocking - especially run-blocking - before he elevates in the pecking order. Unlike the spring session, the 49ers practiced a lot of run plays Thursday.
Ian Williams, NT. Everyone wants to pencil in newcomer Glenn Dorsey as a starter, but it was holdover Williams who lined up next to Justin Smith and Ray McDonald at the start of training camp. Williams received a contract extension and a $1 million bonus this offseason, a reward for the true hustle he's shown in practice and in his very brief game appearances the last few years.
Craig Dahl, FS. The veteran free-agent remains the de facto "starting" free safety next to Donte Whitner. First-rounder Eric Reid still is getting worked into a rotation and remains the favorite to start in Week 1. But for now, Reid is mostly pairing with C.J. Spillman with the second-string group.
Ahmad Brooks, OLB. Will Brooks be suspended for a game or more this season? The question looms over the summer session, but the 49ers aren't giving any hints. Brooks - who looked to be in very good shape - was at his familiar left outside linebacker spot throughout practice.
Is Justin Smith 100 percent recovered from from a torn triceps? You might want to ask LaMichael James. The tailback took a toss to his left Thursday afternoon, ran to the outside and - WHAM! - seemed to hit a brick wall and bounced backward. Guess who was standing there?
One of the standouts of practice was Kyle Williams, who was newly activated from the physically unable to perform (PUP) list after recovering - in eight months - from an ACL injury. Explosion did not seem to be an issue for Williams. He got behind the last level of the 49ers' backup defense (Eric Reid) and hauled in a wobbly throw from rookie B.J. Daniels. Williams took a step, fumbled the ball but quickly recovered. Williams also was one of three primary punt returners along with James and receiver Chad Hall.
The top target - again - was Anquan Boldin, who brought in several passes from Kaepernick and others. There were a couple of incompletions on passes to Boldin, one of which was broken up nicely by cornerback Chris Culliver.
Scott Tolzien threw an out pass to Frank Gore that was bobbled and picked off by linebacker Patrick Willis. A long pass from Colt McCoy to McDonald was snagged by backup safety Michael Thomas. Aldon Smith dropped a would-be interception from Kaepernick after doing a good job dropping deep downfield in coverage. The throw was intended for - who else - Boldin.
A good sign: There were several downfield passes from Kaepernick to Vernon Davis. The two had trouble connecting in the regular season before the chemistry started to click in the playoffs, especially the NFC Championship games.
The best news: There were no injuries on opening day, although rookie Quinton Patton was in a blue, non-contact jersey.