San Francisco 49ers

Matt Barrows on the 49ers: A look at how the offense stands

As the 49ers enter their fourth week of training camp and begin preparing for Sunday’s preseason game against Denver – the first NFL game at Levi’s Stadium – some positions are beginning to take shape. Others remain cloudy.

Here is where things stand on offense after the 49ers returned from six days in Maryland:

Quarterbacks: Colin Kaepernick is solidly No. 1, while McLeod Bethel-Thompson looks like the No. 3. Between them, things are murky. At one point this spring, the No. 2 job seemingly belonged to Blaine Gabbert. But he struggled in the preseason opener in Baltimore and certainly didn’t erase that memory in the subsequent three-day scrimmage. The rap against Gabbert is he looks great in practice but loses his poise in games. Josh Johnson was better than Gabbert in the game and practices. He throws a very pretty pass, is accurate on the run and can do damage with his feet. Of course, he had all those attributes when he was with the 49ers in the 2012 offseason, but he didn’t even make it as the No. 3. The coaching staff wants to see consistency, which was perhaps missing in 2012 when they cut Johnson in favor of Scott Tolzien. One not insignificant advantage for Gabbert: The 49ers would owe him $2 million if he makes the team or not.

Running back: The battle royale among Kendall Hunter, rookie Carlos Hyde, LaMichael James and Marcus Lattimore ended almost as soon as it started. Everyone but Hyde is injured, and Hyde has looked every bit the heir to Frank Gore the 49ers had hoped for when they took him in the second round. The only questions at this point are how soon James and Lattimore can return and how many snaps they can eke out when they do. James has fallen on the depth chart because of early-season injuries the previous two years, and he made little effort to conceal his unhappiness at his lack of playing time. Lattimore could begin his second straight season on the non-football injury list.

Fullback: Bruce Miller is beyond the scapula injury that ended his 2013 season and has never had competition for the starting role. He might next season when rookie Trey Millard is recovered from his ACL injury. Will Tukuafu is interesting; he has value as a short-yardage blocker, an emergency defensive lineman and a special teamer.

Wide receiver: Nothing has changed since the spring. Michael Crabtree and Anquan Boldin are the starters, and Stevie Johnson looked very good in Baltimore and appears close to locking up the No. 3 role. The 49ers will hang onto youngsters Bruce Ellington, who stood out all week against the Ravens, and Quinton Patton. The wild cards are Brandon Lloyd and Kassim Osgood. Lloyd looks ready to return from the minor muscle strain that has kept him out a week and a half. He had been a quarterback favorite until the injury. Osgood is really competing against fellow special-teams aces like Ray Ventrone and Blake Costanzo, but it’s hard to see three 30-something coverage specialists making the final roster.

Tight end: Vernon Davis scored a 99-yard touchdown against the Ravens in Sunday’s practice. Playing in front of friends and family who live nearby in Maryland, Davis stood out in all three sessions. He remains a thorn for defenses, which cannot cover him with a linebacker. Vance McDonald is dealing with a minor injury and didn’t participate in the joint practices. He leads the team in training camp drops but was solid as a pass catcher and blocker in the preseason game. Derek Carrier appears to be putting some distance between himself and injured Garrett Celek (back) for the No. 3 job. Carrier is becoming a favorite target for quarterbacks, an expected development considering his athleticism and background as a wideout. What’s not expected: He performed well as a blocker in the preseason game.

Tackle: If you said Joe Staley is the top offensive tackle in the league, you’d get no argument from the Ravens, who play in the same division as another candidate, Cleveland’s Joe Thomas. Staley’s speed and quickness were on display all week. Right tackle Jonathan Martin struggled at times in one-on-one blocking drills, but he mostly performed well in 11-on-11 situations. His feet aren’t as quick as Staley’s, but Martin still moves well for a man his size. He’s better at mirroring smaller pass rushers than anchoring against bigger-bodied players, and he must continue to add strength. After them, the 49ers might have a hard time picking which linemen to keep on the roster or practice squad. Carter Bykowski is having a solid camp at left tackle with the second team. He has classic tackle size – 6-foot-7, 306 pounds with long arms and legs. Ryan Seymour, Dillon Farrell and Michael Philipp can play guard, and Seymour and Farrell also can play center. Seymour seems like someone who could take over the jack-of-all trades role Adam Snyder has filled in recent years.

Guard: Right guard Joe Looney had a mixed game against the Ravens but seemed to improve his technique during the three days of practice. He did not stand out, which is good for an interior lineman. The other two guards are Snyder and Al Netter, both of whom are very familiar to the coaches. Snyder was dealing with a nagging injury even before he left Sunday’s practice. He also can play all five offensive-line positions but is best at guard. The true wild card is Alex Boone, who has missed 21 days of training camp holding out for a new contract. His return would add stability to the right side of the line, which as of now is dramatically weaker than the left.

Center: After the 49ers used a third-round pick on Marcus Martin in May, some speculated he could push aside Daniel Kilgore for the starting spot. But Martin looked like a rookie in the practices in Maryland, getting beaten soundly on some plays by the Ravens’ interior defensive linemen. Farrell, who went undrafted out of New Mexico, looked like the more competent rookie. Kilgore has been sound. During the three days of practice, one snap to Kaepernick ended up on the ground, noteworthy only because that’s the first time that type of miscue has happened in training camp. And Kaepernick said it was because the running back hit the ball as it was being snapped.