Skip to content

Character screen in the dock terminal lobby - #526

Merged
Jackriip merged 13 commits into
feature/lobby-terminalfrom
feature/lobby-character
Nov 11, 2026
Merged

Jackriip merged 13 commits into
feature/lobby-terminalfrom
feature/lobby-character

Conversation

@Jackriip

@Jackriip Jackriip commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Character screen in the dock terminal lobby

Builds on #522. Character setup moves into the lobby terminal as a fourth tab, CHARACTER, also opened by the bezel's CHARACTER key.

Personnel file

  • File list, a live character preview with turn keys and the outfit of the HIGH role, and four summary boxes: BODY, ROLES, TRAITS, KIT, each with EDIT.

BODY

  • Name with RANDOM, age, species, body type, pronouns, skin tone, hair and facial hair with colours, hair gradient, eyes, per-species features, voice with PLAY, bark pitch and speed, bag, uniform, underwear, undershirt and socks.
  • Long lists such as hairstyles open a paged picker with a FIND field.
  • Colours: hex field, hue/saturation/value bars, recent colours, and BYOND's colour picker for body colours.
  • A species change that drops traits asks first, on screen.

ROLES, TRAITS, KIT

  • Roles: NEVER/LOW/MED/HIGH per role category; one HIGH, a new HIGH moves the old one to MED.
  • Traits: GOOD/BAD/OTHER filters, points and caps by tg's quirk rules, trait options inline.
  • Kit: stock tg loadout with colour slots, styles and renaming. Nothing has a price.

Preview

  • Drawn on the server from the real character, outfit and loadout, through rust-g iconforge so compositing runs off the main thread. Only the facing on screen draws first; renders are cached, rate-limited per player and budgeted server-wide.

Behaviour

  • Edits go through tg's own preference validation and save shortly after a change, on file switch and on leaving the lobby.
  • tg's preferences window and the terminal stay in sync.
  • Fixes tg's bug where character edits stopped saving after the game settings tab was opened.
  • Arrow keys, Enter and Escape work on every character screen, with the same highlight and sounds as the rest of the terminal.

Screens

File
Body
Hair picker
Species confirm
Roles
Traits
Kit

The CHARACTER key and a fourth tab open an empty personnel file. Adds the
char_ action dispatch, the character section procs and vars, the data
contract in types.ts, Swatch/Cycler/Panel grid primitives, and stub files
for the backend, preview and editors.
…window sync

Adds the char_* adapter over /datum/preferences: preference writes through
update_preference, quirks, roles (one HIGH), loadout picks, colours, names and
skins through tg's middleware, a terminal species-change confirm, the native
colour dialog for body colours, debounced saving, two-way sync with tg's
character window, and a flag-gated is_accessible override so terminal edits
work while tg's window was last on game settings. Unit test covers the
crafted-act abuse cases.
FILES list with the preview's turn keys and dress label, the PERSONNEL FILE cells, crumbs and section routing. BODY rows follow the server's prefs keys, flow into two columns or pages on short screens, and long lists open a paged picker. Colour entry has hex, H/S/V bars, recent colours and the native picker.
… server cached preview facings, drop the preview benchmark
…ched kit colours, give the test's mock client a veteran check
…text on the CHARACTER screens too

Cyclers step with Left and Right, swatches and picker entries take the focus, pickers and
the colour box keep the focus inside them and close on Escape or Backspace.
@Jackriip
Jackriip merged commit c853b64 into feature/lobby-terminal Nov 11, 2026
3 checks passed
@Jackriip
Jackriip deleted the feature/lobby-character branch November 11, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant