Design notes
Menu
Pause

- Purpose: stop play, and reach everything that isn't the world.
- In / out: the Pause button in the field (and in battle, open question 11); the app going to the background also opens it. Resume or ✕ closes it.
- Shows: "Paused", the location and the tracked objective; Resume; four tiles, Journal, Map, Spell book and Inventory; a Standing tile (section 11); Settings and Save and quit.
- Actions: each opens its screen. The four tiles open the tabbed menu on that tab.
- Data:
GameShell.PauseandResume.
Save and quit

- Purpose: leave to the title without losing progress.
- In / out: from Pause. Cancel returns to Pause; Save and quit saves, fades and opens the Title.
- Shows: "Save and quit to the title?" and where the player will pick up.
- States: saving: the buttons give way to "Saving…" and a spinner. Save failed: "Couldn't save. Your last save is from 2 min ago." with Try again, Quit anyway and Cancel. Today
GameShell.QuitToTitlesaves and leaves even if the write fails, so it needs to report the result. - Data:
GameShell.SaveandQuitToTitle.
Journal

- Purpose: what the player is doing and has done.
- In / out: Pause → Journal, the objective tracker, or a quest toast. Back returns; ✕ resumes play.
- Shows: the menu tab bar; Active and Finished tabs with counts; a list of quests (★ for the main quest, then side quests; the tracked one marked) with category and place; the selected quest's title, category, place and giver, its description, and its stages: reached ones ticked, the current one bold, later ones hidden.
- Actions: select a quest; Track (one at a time; the main quest is tracked by default); On map opens the Map at the current stage's target.
- States: empty: "No quests yet." (Active) and "Nothing finished yet." (Finished). A stage with no target hides On map.
- Data: reads
QuestCatalogandQuestLog(title, description, stages, status), the tracked quest; writes the tracked quest.
Map

- Purpose: where the player is, and where to go.
- In / out: Pause → Map, the Map button (opens Local), or On map in the Journal. A Local and World switch sits top-left.
- Local map: a top-down image of the current location, north up, centred on the player (▲ shows facing). Markers: exits (→ and where they lead), the tracked quest's target (◆), shops, people who matter. Tap a marker for its card (top-right). Centre returns to the player.
- World map: the world map art with every discovered place and the routes between them. Visited places are filled, known but unvisited are hollow, undiscovered ones are hidden. Tap a place for its card: name, subtitle, visited or not, and the quests there.
- Actions: pinch to zoom, drag to pan, tap markers.
- States: no local map for this location yet: Local is disabled and World opens. Loading the image: a placeholder and a spinner.
- Data: reads the world map data and flags, the location's local map image, bounds and markers, the player's position and facing, and the tracked quest's target (section 4). Fast travel is open question 6; nothing in this spec assumes it.
Spell book

- Purpose: every spell the player knows, can learn, or has heard of.
- In / out: Pause → Spell book, or a spell toast. Back returns.
- Shows: filter chips (All, Evane, Facets, Composites, then one per Evane faction once the player knows two of its spells) and a count ("4 of 27 spells learned · 2 threads"); a grid of cards: glyph icon, name in the spell's colour, drawing style and effect. Unlearned spells have a dashed outline and "Not learned yet"; unknown ones read "? Unknown glyph · Find its fragment". A split glyph with one half held shows that half and "Half found" (Facet Seal in Act 2, Prism Snare and Pavilion Wake in Act 3). A sealed spell shows a pale blue seal over its card and "Your hands have forgotten it". Threads follow as their own section, named and with their parts ("Headwind · Repel into Gale").
- Actions: tap a card for its detail; filter.
- States: empty can't happen (Repel starts learned), but a filter can be empty: "No Facet spells learned yet."
- Data: reads the spell catalog,
IKnownSpellsand the composite recipes (SpellBookContents), and the unknown list (section 4).
Spell detail

- Purpose: how to draw one spell, and what it does.
- In / out: from the Spell book; Back returns; Practice (or Learn) opens Practice.
- Shows: the name in its colour; side, drawing style, size and breath window; the effect; how to draw it in words (the spell's
description); a lore line. Each thumb's stroke in its own panel, drawing itself at the template's pace with a dot where it starts (asStrokeAnimationdoes today). For a composite, the two parts one after the other. - Actions: Practice (Learn when not learned), Replay.
- Data: reads the spell and whether it is learned.
Spell practice and learning

- Purpose: draw a spell with nothing at stake: to learn it, or to get better at it.
- In / out: Practice or Learn on Spell detail; Done returns there.
- Shows: a quiet backdrop (no world, no enemy); a panel top-centre with the spell and, after each cast, its quality word, score, power multiplier and breath used, and the breakdown (shape, size, pace, corners, sync) that the battle HUD shows today; the breath ring; the glyph guides in each drawing zone.
- Actions: draw; Guide on or off (the glyph prompt); Breath on or off (timed like a battle, or untimed).
- Learning: the same frame, with pips (●●○) and "Trace both shapes. Breath is not timed." instead of the last score, as in the field cast. Learning here, outside battle, is new: today only the battle's spell panel teaches.
- States: fizzle: the reason ("Not learned", "Breath ran out", "Shape too far off", "Your hands have forgotten …" for a sealed spell, "Your hands won't answer …" for one an enemy has bound) in place of the score. Split glyph: learning shows each half's fragment image over its own thumb.
- Data: reads the spell and the scoring config; learning writes the learned spell and raises its toast.
Inventory and item detail

- Purpose: what the player carries, and what each thing is.
- In / out: Pause → Inventory, or an item toast. Back returns.
- Shows: the tab bar; category chips (All, Consumables, Gear, Materials, Key items, the Items and Economy tab's four categories); the purse in copper; a grid of 64 pt slots with stack counts; the selected item's detail on the right: icon, name, type, flavour line, effect, and its actions.
- Actions: select; Use (consumables), Equip or Remove (gear), Read (letters and documents, which opens Letters and documents); Trace (a glyph fragment, which opens Spell practice and learning). Key items can't be dropped or sold.
- States: empty bag: "Nothing in your bag yet." Item can't be used here: Use disabled with the reason ("Before a battle", "At a fragment": the Items and Economy tab's uses).
- Data: reads and writes the inventory and equipped gear (VEL-61's save model); reads item definitions.
Letters and documents

- Purpose: read letters, notes and documents, starting with Aske's two letters (pale blue seal for Twinhold, amber for Lanternfall).
- In / out: Read in the Inventory, or a document found in the world. ✕ returns.
- Shows: a page on a dark backdrop, its seal, the addressee, the text and the signature; ‹ › to turn pages and "Page 1 of 2".
- Actions: turn pages (tap ‹ › or swipe); close.
- Actions when sealed: Break the seal, behind a Confirm dialog ("Aske said not to."), as the Items and Economy tab specifies.
- States: sealed: only the front, the addressee and the seal. Text missing: "The ink has run." and a logged error.
- Data: reads the document; writes its opened flag (
letter.twinhold.opened,letter.lanternfall.opened).
From Game Screens › Menu