The 49ers finally had a training camp practice that didn’t go down as a disaster for their offense. That’s not a huge step forward, but it’s a step forward nonetheless.
Here are some sights and sounds from Day 8 of 49ers camp and what it means moving forward: