Built a short circuit to verify some impulse ramp behaviours. Nothing really new apart from a peculiar thing with ramps on track corners - if the cart's going at less than derail speed, they reliably cause diagonal movement, i.e.
S->N track - corner going west and _on_ the corner an impulse ramp (can be EW or NW, no difference) - > cart goes diagonally NW. That's interesting, because when a cart going S->N goes _down_ a ramp with EW track (connecting to further westward track), the cart changes to westward course without misbehaving. On this flat track, the cart would stop one or two tiles west of the ramp, because the diagonal movement smacked it into the wall and forced it to stop (easily confirmed by digging out a bit of wall to give space for diagonal movement).
Other than that, just the usual:
Ramp E ("dead end", only wall)
Ramp N or S ("dead end", only floor)
Ramp EW (both walls, no floor)
Ramp NSE (one wall, two floors)
were all treated like plain floor. No surprise there, they're all nonfunctional ramps. It was still somewhat interesting to see that the time on the individual false ramps was absolutely unchanged from the time otherwise spent on flat track - apparently, the program itself really treats them as floor, not ramp.
A NEW ramp (both walls, one floor)
accelerated the cart normally, as per usual.
So impulse ramps have the same rules as all other ramps - if the ramp has any up and exactly one down connection, it accelerates, otherwise it's non-ramp. As i said, no real surprises, but with the very uniform speeds on a flat cycle, it was easier to verify than with actual level-changes.
I wonder if there'd be any interest in another Minecart Physics thread, this time not just crunching numbers but more looking at behaviour in actual applications, with an eye out for the weirder cases.