The 14/3 fixture to 1st switch is because it needs to carry hot from panel via fixture box (but not connected to the fixture) and switched hot from switch back to fixture and neutral (needed for smart switches but also to provide power to hallway/porch/etc. Where it gets confusing is inside that 1st switch box as you need to get hot down to second switch (travelers bring switched hot back) and hot & neutral to hallway/porch/etc.
Since you noted in a comment: running power past fixture to connect directly to black/white for 14-2 to hallway. Red wire isn't connected to anything, you probably need to do the following:
- Red from fixture goes to common screw on 1st 3-way switch (switched hot).
- Black (the same black that comes from fixture and goes to hallway) is hot and needs to go down to the other 3-way switch.
- Two travelers go between the 3-way switches.
So the only issue really is figuring out which wire is which on the 14/3 between the 3-way switches. You have 14/3, so that is 2 travelers + hot
I think the usual would be white (hot - marked with black tape on the ends), black & red = travelers, but the best thing to do is to look at the 2nd 3-way switch (you didn't disconnect any of those wires, did you?) and match the colors. Whatever wire goes to the common screw on the 2nd switch connects to black (hot) in the first switch box. The travelers connect to the other 2 screws on the 1st switch.
Summary, based on sketch and comments:
Fixture box (panel = 14/2 from panel, outgoing = 14/3 to first switch box)
- Panel black (== hot) -> outgoing black
- Panel white (== neutral) -> outgoing white and fixture neutral screw (or white wire)
- Outgoing red (== switched hot) -> fixture hot screw (or black wire)
First switch box (incoming = from fixture, outgoing = hallway, second switch box = second switch box)
- Incoming black (== hot) -> outgoing black and second switch box white with black tape added
- Incoming white (== neutral) -> outgoing white
- Incoming red (== switched hot) -> 1st switch common screw
- 1st switch traveler 1 screw -> second switch box black
- 1st switch traveler 2 screw -> second switch box red
Second switch box (only one cable)
- White (== switched hot) -> 2nd switch common screw (mark wire with black tape)
- Black (== traveler 1) -> 2nd switch traveler 1 screw
- Red (== traveler 2) -> 2nd switch traveler 2 screw
@Harper please feel free to correct anything I messed up...
Harper would recommend marking both travelers on both ends with yellow tape. That will make any future work simpler because you will know right away which wires are the travelers. There is no functional difference between the travelers. It really doesn't matter which is which on each end, unless you want the switches to be a particular mode - e.g., "on = same position" or "on = opposite positions".