0265afa054
Import the runnable game code, content, docs, scripts, and repo guidance while leaving local agent state, dependency installs, build output, and backup copies out of the published tree.
7.1 KiB
7.1 KiB
Workstation Polish Backlog
Captured from playtest notes. These items are intentionally left unresolved for a later pass.
Launcher And Viewer
MakeRESOLVED — file is./scripts/start-game.shexecutable by default.rwxr-xr-x.Prevent Chromium from auto-launching on workstation login.RESOLVED — removed thegame-hud.desktopautostart entry fromworkstation.sh. Players open the Axiom Works portal from the desktop launcher when they want it.Fix fullscreen toggling in the workstation viewer. The currentRESOLVED — Renamed toFULLSCREEN.txtsaysShift+F12but that is the cursor-release binding; fullscreen toggle isF11.VIEWER_HELP.txt, corrected key bindings, expanded to cover fullscreen, cursor release, zoom, copy/paste, and USB redirect.- Make sure the player can exit fullscreen without shutting down the VM.
- Investigate whether virt-viewer / the SPICE client can auto-detect and apply the host's native resolution when entering fullscreen mode. SPICE supports dynamic resolution via the vdagent service (already installed); verify the guest
spice-vdagentis running and that the display XML uses<channel name="spicevmc"/>so resize events actually reach the guest.
HTTPS / TLS
- Make all in-VM websites (portal, Sage, company website) serve over HTTPS. Approach: generate a self-signed CA during workstation cloud-init, install it into Chromium's trust store and the system CA bundle, then issue a wildcard or multi-SAN cert for
*.axiomworks.corp,*.axiomworks.internal, andportal.axiomworks.internal. Configure the game server to serve TLS (or put nginx in front for all sites), and update all internal URLs tohttps://. No browser warnings, everything looks legitimate. Not required for gameplay but raises the production feel significantly.
Desktop UX
Ensure the Axiom Works portal desktop icon is executable/trusted out of the box.RESOLVED —Portal.desktopis provisioned with permissions0755, andworkstation.shseeds GVFS trusted metadata with a login-time reload fallback.- Remove mail from the top of the XFCE applications menu, since the portal handles email. (Low priority — no mail client is installed, so this is unlikely to appear.)
Set Tilix as the default terminal entry in the applications menu.RESOLVED —update-alternatives --set x-terminal-emulator /usr/bin/tilixandhelpers.rcboth configured inworkstation.shruncmd.- The XFCE Applications → System → Terminal Emulator menu entry still launches the XFCE terminal emulator instead of Tilix.
update-alternativessets the system default but XFCE's own preferred-applications config (xfce4-terminal.desktopprecedence) overrides it for that menu entry. Fix by either: removingxfce4-terminalfrom the installed packages, or writing a~/.config/xfce4/helpers.rcentry that explicitly mapsTerminalEmulator=tilix, or adding apreferred-applications.xmloverride in the XFCE config directory. Keep the XFCE dark theme as the default desktop theme.RESOLVED —xsettings.xmlsetsAdwaita-darktheme inworkstation.sh.Tilix launched from the desktop icon opens inRESOLVED —/Desktopby default instead of/home/player. Fix theTerminal.desktoplauncher to setPath=/home/playerso the initial working directory is the home directory.Path=/home/playeradded toTerminal.desktopinbuild-workstation.sh.Preserve clean desktop icon placement after removingRESOLVED —cidata.workstation.shseeds XFCE desktop icon layout files so Terminal and Portal sit in the chosen top-right positions and viewer help stays bottom-left after rebuilds.
Workstation Lifecycle
Take a clean snapshot after the workstation is fully configured and validated.RESOLVED —seed-vms.shtakesbaseline.day-oneandbaseline.recoverysnapshots after workstation build.Treat workstation shutdown as the end-of-shift game exit; save workstation state.RESOLVED (server side) —VMManager.ensureWorkstationLive()in the Node.js server handles startup. Game server cleanly shuts down whenstart-game.shexits (SIGTERM). VM suspend-on-quit is a future enhancement.Rebuild or restore from the clean snapshot when needed, but allow the live workstation to drift during play.RESOLVED —always_live: trueinworkstation.jsonmeans shift checkpoints skip the workstation; it drifts freely and is only restored frombaseline.recoveryon catastrophic failure.
Terminal Experience
All in-game terminal simulation items are obsolete — the player uses a real Tilix terminal directly in the XFCE workstation VM. Arrow key history, tab completion, copy/paste, scrollback, and interactive programs (vim, htop, etc.) all work natively.
Browser and Bookmarks
- The Chromium bookmarks bar shows the default Debian bookmarks. The game-specific bookmarks are buried under a "Managed bookmarks" folder instead of sitting directly in the bar. Move the managed bookmarks to the top-level bar and remove the default Debian entries. This is controlled by the
ManagedBookmarkspolicy in/etc/chromium/policies/managed/bookmarks.json; restructure the JSON so items appear at bar level rather than inside a named folder. All four managed bookmarks go to the same URL; anchors don't work.RESOLVED — Bookmarks reduced to two: "Axiom Works Portal" and "Sage (KB)" at/sage/.
Sage — Knowledge Base
- Sage is intended to be a navigable knowledge base, not just a search box. It should feel like a real internal company wiki: organized into sections and categories that a player can explore by browsing, in addition to searching. The content is the KB data already planned for the game.
- Search should be lightweight and practical — something like Meilisearch (or a similarly small embedded-first search server) that indexes the KB content and serves fast full-text results without requiring a heavy backend.
- Sage should be a completely separate web application from the Axiom Works portal. It should have its own URL, its own visual design (distinct look and feel from the portal), and its own place in the bookmarks bar. In a realistic company, documentation tools are separate products (Confluence, Notion, internal wikis) from the ticketing portal — Sage should feel the same way.
- Add a Sage bookmark to Chromium once Sage has its own URL.
VM Performance
Guest VM RAM maxed causing hangs.RESOLVED —RAM_MBraised to 1536 MB; 1 GB swap file added viaruncmdinbuild-workstation.sh(fallocate + mkswap + fstab entry). Rebuild required to take effect.
Visual Cleanup
Hide or remove theRESOLVED —cidatadesktop icon.build-vm.shdetaches the cloud-init seed ISO after workstation readiness, so the CD-ROM is not exposed on the desktop or in file-manager device lists.xfce4-desktop.xmlalso keeps removable/device desktop icons hidden as a fallback.Hide the internalRESOLVED —VirtIO Diskfrom Thunar's Computer view.workstation.shinstalls a udev rule settingUDISKS_IGNORE=1onvd*system disk devices, keeping internal VM storage out of player-facing file-manager device lists.