in js/reveal.js [2402:2430]
function navigateNext({skipFragments=false}={}) {
navigationHistory.hasNavigatedHorizontally = true;
navigationHistory.hasNavigatedVertically = true;
// Prioritize revealing fragments
if( skipFragments || fragments.next() === false ) {
let routes = availableRoutes();
// When looping is enabled `routes.down` is always available
// so we need a separate check for when we've reached the
// end of a stack and should move horizontally
if( routes.down && routes.right && config.loop && isLastVerticalSlide() ) {
routes.down = false;
}
if( routes.down ) {
navigateDown({skipFragments});
}
else if( config.rtl ) {
navigateLeft({skipFragments});
}
else {
navigateRight({skipFragments});
}
}
}