Navigation

Screens

In the game, a key or the Paimon menu opens a screen over the world: the map, the character screen, the inventory, the wish and the rest. The world screen does the same. What is open is a ScreenKind, either World, the world in play with nothing over it, or one of the screens the game opens from it. The world screen keeps it, reads the frame's pressed actions into it once a frame, and draws the open screen over the canvas.

Moving between screens

stateDiagram-v2
  World --> PaimonMenu: Escape, a pad's Start, or the pointer's lock lost
  World --> Screen: its shortcut (M, C, L, B, J, F1 to F5, O, Enter)
  PaimonMenu --> Screen: an enabled entry
  PaimonMenu --> World: Back, Escape or Start
  Screen --> World: its own shortcut, Escape, Start, a pad's cancel, or its way back
  World --> Talk: F on a resident
  Talk --> World: its end, the only key that closes it
  PaimonMenu --> QuitPrompt: Quit Game
  QuitPrompt --> World: Continue Game
  QuitPrompt --> [*]: Exit to Login Interface or Exit to Desktop, to the app's home

getNextScreenKind is the rule, a pure function of what is open and the frame's pressed actions:

  • From the world, a shortcut opens its screen. InputActionScreenKindMap names the screen each opening action opens; Escape and a pad's Start open the Paimon menu, as the game's controls bind them (controls).
  • Over a screen, the way back is to the world. Escape, Start and a pad's cancel close any screen, and a screen's own shortcut closes it again, as M closes the map it opened.
  • One screen at a time. Over a screen, every other screen's shortcut waits; the Paimon menu's entries are the one way from a screen to another, and they replace the menu with the screen chosen.
  • A talk stays open. Over a talk, every key waits, Escape and a pad's Start among them; only the talk's own end sets the world back. A talk is begun from the world by F on a resident, as the dialogue page describes.

The rule is read only while the world is shown, so nothing opens under the opening that covers it.

What a screen does to the world

ScreenBehaviourMap answers for each kind:

FieldWhen true
isHeldthe world's fixed-step loops and its clock stand still, while the world keeps drawing
isHudHiddenthe heads-up display is hidden
isPointerReleasedthe pointer's lock is let go, for the screen's own cursor

Every menu answers true to all three, as the game's single-player menus pause its simulation and its time while its music and particles carry on. Photo mode and a talk hold nothing: their clock runs with the HUD hidden, photo mode's camera orbits the character and its pointer still turns it, while a talk lets the pointer go for its replies. The world in play answers false to all three.

  • Held. Under any screen but the world, the character on the field and its body neither step, photo mode's and a talk's included. Only photo mode's follow camera still looks, orbiting the held body; a menu's and a talk's stand where they are. Only a menu holds the world's fixed-step loops, so Windrise's clock and its clouds stand still under a menu and run on under a talk and in photo mode. Drawing goes on, so the world stays behind the screen. This is a different thing from the world screen's isPaused, which stops drawing altogether while the opening covers the world.
  • Pointer. A screen that lets the pointer go releases the lock when it opens. Closing it does not take the lock back, since the browser grants one only to a click; a click on the world takes it, as it did the first time.
  • A press that closes a screen is spent. When the screen returns to the world, the world reads the input once more, so the key or click that closed it never reaches the world in play as an interact, a jump or an attack.
  • A lock lost in play opens the menu. The browser keeps Escape for itself while the pointer is locked, so a lock lost with the world in play opens the Paimon menu as the key would have.

Drawing the open screen

MenuScreen draws what is open over the canvas:

  • the Paimon menu;
  • a built screen, which is a slot of MenuScreen named by its kind, filled by the world screen with what that screen needs and closed by setting the world back;
  • or, for a screen nobody has built yet, a placeholder: its title in the game's words (ScreenKindGameTextKeyMap) over a veil, and a way back. Every shortcut therefore opens something, and closes it again, before its screen exists.

Each one is a dialog that takes focus as it opens, so the keyboard reaches it without a pointer.

A talk is none of these: MenuScreen draws nothing for it, and the world screen mounts the talk's host over the world while the talk is open (dialogue).

The Paimon menu

The game's pause menu, laid out as the English PC client's 1.3 still draws it at 2560 wide: its side bar down the left, from Back to Quit Game, and its contents beside it, each in the game's own order and every label the game's own text. Every icon is traced from that still into a path of our own. Community and Feedback, the game's links out to web pages, are drawn disabled at the foot of the contents; Special Event, Version Highlights and Survey, which the still does not show, are left out. Training Guide is left out too, since no still of the menu the references hold draws it.

  • Every entry the game has, an unbuilt one disabled. An entry opens its screen once that screen is built, which is whether MenuScreen has a slot for it; until then it is drawn disabled. A disabled entry says the game has the screen and this world does not yet, while a missing one would say the game has no such screen.
  • Back closes it, Quit Game asks first. Quit Game opens the quit prompt over the world, the menu set aside while it shows. Continue Game sets the world back, and the two exits leave the world for the app's home, since leaving the page is the browser's closing of the game. Both exits leave alike, as the browser cannot tell one from the other.
  • Its layout is in the reference's own pixels. Every place is read off the still by --reference-pixel, one pixel of the 2560 wide still at any window's size, and every glyph is placed the same way. Scored over the side bar and the panel above their translucent feet, the still's mean difference is 5.35%, its FLIP 0.2237. What is left is the card's stars, the game's typeface where Signika stands in, the translucent foot of the panel where the world shows through, and the Traveler's avatar, which is the game's art and so drawn as a plain disc.
  • The quit prompt is the game's three buttons over the world. Continue Game in a cream pill with a yellow play icon, then Exit to Login Interface and Exit to Desktop with their red icons, each on a dark disc at the pill's left and its label centred in the rest. Its scale is provisional: the only still the wiki holds is a 799 by 475 crop, with no whole frame to read the game's unit from, so the prompt is laid out at a 1080 high window until the recording on the Recordings owed list (menu-quit-prompt.mkv) fixes it. Its layout is therefore not scored yet.
  • The Graphics tab's header is scored; its rows are not. The band over the header is 2.01% of its 82 pixels, FLIP 0.1037. The rows sit over the game's blurred world, which the page has no copy of, so no score covers them. The reference's quality row reads Custom, a state the renderer's tiers do not hold, so the row shows Medium until that choice is backed, and its FPS, global illumination and character resolution rows stay out as the renderer lacks those knobs.
  • Its profile card shows labels, not values, until the profile is backed. The Adventure Rank, World Level and Birthday labels stand over empty values, as the signed-out player has none; the menu screens proposal builds the values.

Key files

FileIts role
packages/genshin-world/src/models/screen/ScreenKind.tsthe world and every screen opened over it
packages/genshin-world/src/services/screen/ScreenBehaviourMap.tswhat each screen does to the world under it
packages/genshin-world/src/services/screen/InputActionScreenKindMap.tsthe screen each shortcut opens
packages/genshin-world/src/services/screen/getNextScreenKind.tsthe rule moving between screens on a frame's pressed actions
packages/genshin-world/src/services/screen/ScreenKindGameTextKeyMap.tseach screen's title in the game's words
packages/genshin-world/src/services/menu/constants.tsthe Paimon menu's contents, links and side bar, in the game's order, each with its icon
packages/genshin-world/src/services/menu/MenuEntryGlyphMap.tseach contents entry's icon, traced, placed in its tile
packages/genshin-world/src/services/menu/MenuFrameGlyphMap.tsthe side bar's, Back's, the card's and the settings header's icons, traced, placed in the reference
packages/genshin-world/src/components/Menu/Glyph/Index.vueone traced icon, placed in the reference's pixels from its parent
packages/genshin-world/src/components/World/Session/Index.vuereads the input once a frame, keeps what is open, holds the world, lets the pointer go, mounts a talk
packages/genshin-world/src/components/Menu/Screen/Index.vuedraws the open screen: the Paimon menu, a built screen's slot or a placeholder
packages/genshin-world/src/components/Menu/Paimon/Index.vuethe Paimon menu, laid out in the 1.3 still's pixels, its icons placed and its card drawn
packages/genshin-world/src/components/Menu/Settings/Index.vuethe Graphics tab's header, tab and quality row; not yet opened by the world
packages/genshin-world/src/components/Menu/Placeholder/Index.vuean unbuilt screen's title and way back
packages/genshin-world/src/components/Menu/Exit/Index.vuethe quit prompt Quit Game opens: Continue Game and the two exits, over the world
packages/genshin-world/src/services/menu/MenuPromptGlyphMap.tsthe prompt's three icons, traced, placed on their discs in the button's pixels
packages/genshin-world/src/models/menu/MenuPromptIcon.tsthe prompt's icons, one per button
apps/web/app/components/Genshin/World.vuehands the world its game text, and leaves for the app's home on Quit Game

Notes

  • The agent console's world gets the menu too. The console mounts the same world, so once it is shown again its own Escape and the Paimon menu's both answer the key; its rebuild in the game's style settles which one keeps it.

Sources

  • Paimon Menu, Genshin Impact Wiki: the menu's contents and side bar in order, opened by Escape and a pad's Start, and its pause of everything but particles and music in single-player.
  • Controls, Genshin Impact Wiki: the shortcut of each screen.
  • Time, Genshin Impact Wiki: the clock paused in the menu and running in photo mode.

Details

Command palette

Keyboard shortcuts