Navigation

How screens stack, when back works, when up works

Navigation

How screens are organised in OctoMY™: the three kinds of screen, what the back arrow does, what the up arrow does, and what happens when you try to leave an app with unsaved work.

Why this exists

The app contains dozens of screens — lobbies, settings, pickers, confirmations, full editors. Some you can back out of freely; some collect a single choice and disappear; some are full work surfaces that need a save prompt before you can leave. The model below describes which is which so that "back" and "up" behave predictably everywhere.


The three kinds of screen

Every screen in OctoMY™ is one of three kinds: Root, Page, or Prompt.

Kind What it is Examples
Root The "home" screen of an app. You can always get back to it. There's only ever one on the stack at a time. The Hub main menu, the Agent face, the Remote control surface
Page A screen you reach from a Root or from another Page. Has a back arrow. Stacks on top of whatever's below. Lobbies, settings, list views, editors, wizards
Prompt A screen that collects a single decision and then disappears. Returns a result to whatever was below it. Selection pickers, passphrase entries, Yes/No confirmations, success messages

You can think of it as a deck of cards stacked face-up — only the top one is visible. Pushing a new screen drops it on top. Popping the top screen reveals what was underneath.


What "back" does

Kind Back arrow behavior
Root Disabled (no back arrow shown). Backing out of a Root means exiting the app, which goes through a shutdown confirm dialog.
Page Returns to whatever screen was below it on the stack.
Prompt Cancels the decision and pops. Whoever pushed the Prompt is told it was cancelled.

The back arrow always follows the chronological path — the screen you came from is the screen you go back to.


What "up" does (and how it differs from back)

Some screens declare a canonical parent — the screen that, conceptually, sits one level above them in the app's hierarchy. When such a screen is on top, the navigation header shows an up arrow instead of (or in addition to) the back arrow.

The up arrow jumps to the canonical parent regardless of how you got there. For example:

  • You open HiveSettings from the lanyard's hive chip → up arrow goes to HiveLobby.
  • You open HiveSettings from a notification five layers deep → up arrow still goes to HiveLobby.

In short: back = "where I just was". Up = "where this screen belongs".

A Root never has an up arrow (it has no parent). A Page or Prompt may or may not declare one; if it doesn't, only the back arrow is shown.


Apps and the save-prompt convention

Heavy editing surfaces — Construct, Bahn, BanterLab, Paint — are apps. They behave like Pages with two extra rules:

  1. They aren't allocated until you first open them. When you leave them they're fully torn down and the next visit starts fresh. This keeps memory and GPU resources in check.
  2. They refuse to close if you have unsaved work. The back arrow brings up a save / discard / cancel prompt rather than silently dropping your changes.

The save prompt also runs when you do something that wipes the stack — for instance, clicking the home chip in the lanyard while you have unsaved work in Construct. The app surfaces its save prompt; you make your choice; navigation continues.


Boot-anchor prompts

Sometimes the app needs to ask you something before there's anywhere else to go — typically at startup. For example, the very first time you launch the app on a fresh device it needs to know whether to create a Sentient or restore one from a backup phrase.

These are boot-anchor prompts: they sit at the bottom of the otherwise-empty stack and you can't back out of them. The only way past is to make the choice. Once you do, the prompt is replaced by whatever screen the app routes you to next.

If you ever see the back arrow disappear on a screen that isn't a Root, you're probably on a boot-anchor prompt.


See also

In this section
Topics
explanation concepts navigation back-button up-button activity-stack
See also