Canonical player-facing UI specification

HUD & UI System

ข้อกำหนดรวมสำหรับ HUD, menus, maps, inventory, crafting, building, weapon workbench, progression, social, vehicle, death/respawn, settings และ accessibility ของ Lambeer ครอบคลุมทุก production phase โดยแยกสิ่งที่ยืนยันแล้วออกจาก visual/technical proposal และ TBD อย่างชัดเจน

Status: draftOwner: UnassignedUpdated: 2026-09-16 Language: Thai spec / English game copy

สถานะและขอบเขตอำนาจ

64SVG gameplay icons
40+Target screens/states
3Resolution tiers: FHD / 2K / 4K
2Languages: English / Thai

[CONFIRMED] พฤติกรรม UI และ flow ที่มาจาก owner workshop วันที่ 5–6 กันยายน 2026 เป็น requirement สำหรับทุก phase แม้ gameplay backend บางระบบยังไม่ได้สร้าง

[CONFIRMED 2026-09-06] สี, typography, spacing, icon language และ layouts ในเอกสารนี้ได้รับอนุมัติเป็น target implementation contract แล้ว ชื่อ class/widget ที่ระบุว่า proposed ยังคงเป็น target และห้ามอ้างว่าเป็น asset จริงจนกว่าจะถูกสร้างและตรวจใน Unreal [G4.3 OWNER-REPORTED FULL PIE PASS 2026-09-14] Revision 3 applies the owner's screenshot corrections: equal fixed-size hand cards, smaller hand/slot titles, square Q1–Q0 cards, four equal segments plus exact current values for all eight Stats, a themed weight node and a tighter compass. Native build, non-PIE automation 24/24 and five affected Widget Blueprint compile/save/readback checks pass. The owner confirmed the complete G4.3 checklist, including overall presentation, Hands/Quick Slots and responsive English/Thai layout. See Gate G4.3 redesign.

[CONFIRMED 2026-09-08] Gate G2 KBM/design-system PIE is recorded as passed in TECH-HUD-UI-IMPLEMENTATION: HUDScale, SafeZoneScale, TextScale and Thai Gallery culture switching. Physical Xbox/PlayStation checks remain deferred. Colorblind presets in PIE-UI-011 remain not run.

[CONFIRMED 2026-09-10] Gate G3 gameplay HUD slice is closed. Owner PIE confirmed Wood→slots 3–0, blood/wet/status injectors, markers, inventory/quick-slot correction, L_Dev_Sandbox throw/sledgehammer checks, bed sleep without standing still, a slight Sleeping screen dim, L1810 field inspection, Lambeer.Damage 10, eight GAS-colored bars, UI_G3GiveBackWeapons, ADS-hidden reticle, no HitMarker, nearby 2 m / LOS blood, low-health 30/20/10 edges, rain-lens droplets plus shelter, and prompt quantity/denied. G3 rain presentation is HUD droplets + UI_G3SetRain; rain VFX is out of G3. HOLD text waits for a real hold action. [CONFIRMED 2026-09-11] G3.2 skeletal L1810 and magazine-as-item passed owner PIE; wet-look remains deferred until materials expose WetAmount. See TECH-HUD-UI-IMPLEMENTATION. [CONFIRMED 2026-09-12] G4 UI-CORE-001 / UI-CORE-002 inventory lifecycle, Tab toggle, Worn slots and command backends passed owner PIE. [CONFIRMED 2026-09-12] G4 UI-CORE-004 north-up minimap and frozen full-map death diamond passed owner PIE. [CONFIRMED 2026-09-13] pan/zoom/center, shared ping, filter toggles, map↔inventory Tab switching, and the zoom-clip retest passed (zoomed image stays inside the map panel). [CONFIRMED 2026-09-12] G4 UI-CORE-005/UI-CORE-006 follow-through passed owner PIE: packed backpack dump, loot-panel interact, immediate-respawn HUD refresh. [CONFIRMED 2026-09-13] UI-CORE-005 passed. [CONFIRMED 2026-09-13] UI-CORE-006 Last Bed after Sleep and four-town Fresh Spawn passed. Gate G4 is closed. [CONFIRMED 2026-09-12] G4 UI-CORE-007 dedicated-server pause passed owner PIE: HUD Escape opens pause with “WORLD CONTINUES WHILE MENU IS OPEN.”, local move/look blocked, other client/server keep running, Resume/Escape/Back close; inventory Escape closes inventory first; Tab/M do not stack. [CONFIRMED 2026-09-13] standalone PAUSED/world-pause passed. [CONFIRMED 2026-09-13] UI-CORE-008 settings passed (Thai labels, HUD Scale/Safe Zone persist, Display Revert, no Text Scale control). [OWNER-REPORTED G4.2 PASS 2026-09-14] The approved UI-CORE-003 Night Ops Inventory presentation, retained interactions and Search-free header passed in G4.2. Search was removed by owner decision. G4.2 is closed and G4.3 is next.

[OWNER-REPORTED G4.2 PASS 2026-09-14] The Night Ops Inventory/transfer presentation passed its native build, Widget Blueprint compile/save/readbacks and focused non-PIE automation 3/3. The owner accepted the final PIE presentation and all retained drag/command/transfer interactions. Search was the sole failed route and was removed by explicit owner decision as unsuitable for this game; Development Game/Editor builds and the field-free WBP_Inventory compile/save/readback pass. The owner then confirmed the Search-free header and retained layout passed. G4.2 is closed.

[G4.4 OWNER-REPORTED FULL PIE PASS 2026-09-14] Pause/Settings Option B — Tactical Side Rail is implemented and accepted under G4.4; native, automation and Widget Blueprint checks pass, and the owner confirmed the complete PIE checklist. The strict closure sequence G4 → G4.2 → G4.3 → G4.4 is satisfied; this made G5 eligible, and G5 entered implementation on 2026-09-15.

[G5 SP FRONTEND OWNER-REPORTED PASS 2026-09-16] Owner reported Main Menu/Continue/Save World Select, Character Creation visual, persistence/restart/rejoin and Pause Save/Exit passed. [G5 DEDICATED FOLLOW-CAMERA OWNER-REPORTED PASS 2026-09-16] Extra dedicated first-time Character Creation restores the hip follow camera behind the pawn. [G5 DEDICATED PAUSE/EXIT/RESTORE OWNER-REPORTED PASS 2026-09-16] Dedicated Pause is MENU / ONLINE SESSION without Save; Exit to Main Menu leaves the dedicated world and client 2 running; restore skips Character Creation. [G5 DEDICATED SERVER BROWSER JOIN OWNER-REPORTED PASS 2026-09-16] After Exit to Main Menu, Refresh/Join on the Community tab returns the same character. UE 5.8 Play As Client is the dedicated topology. Steam/Feedback/production-map work remains blocked and G5 stays open.

[TBD] ห้าม implement จุดที่ระบุ TBD ด้วยการตั้งสมมติฐานเอง

Execution boundary: Agent สร้าง แก้ compile และ save Blueprint assets ผ่าน Unreal MCP ได้ แต่ห้ามใช้ computer-use กับ Unreal และห้ามเริ่มหรือควบคุม PIE; การทดสอบ PIE และการ import ที่ MCP ไม่มี factory ยังเป็นหน้าที่ของผู้ใช้

Purpose & Player Value

UI ต้องทำให้ survival simulation ที่ลึกอ่านออกได้ทันทีโดยไม่เปลี่ยนเกมให้เป็น arcade HUD ผู้เล่นเห็นสภาวะร่างกายและทรัพยากรสำคัญตลอดเวลา แต่ข้อมูลอาวุธบางชนิดยังต้องได้มาจากการกระทำในโลก เช่น check chamber/check magazine ความกดดันจึงยังมาจากการสังเกต ภาพ เสียง และการเตรียมตัว

  • เน้นข้อมูลเชิง survival แบบ SCUM โดยเฉพาะ metabolism, nutrition และ injury context
  • รองรับ mouse/keyboard และ Xbox/PlayStation controller ตั้งแต่โครงสร้างแรก
  • ใช้ flat, readable surfaces กับ visual language แบบ improvised survivor
  • ไม่มี hit marker, kill confirmation หรือ directional damage indicator
  • ทุก screen ต้องใช้ได้ที่ FHD, 2K, 4K และ ultrawide 16:10/21:9/32:9

Scope / Out of Scope

In scope

  • Player-facing HUD และทุก menu/screen
  • Single Player world/save selection
  • Server Browser และ character-per-server flow
  • CommonUI navigation + UMG passive HUD
  • English UI copy, English/Thai localization and subtitles
  • SVG icon sources และ controller glyph integration
  • Acceptance criteria และ manual PIE checklist

Explicitly out of scope

  • Custom launcher/patcher; Steam Client รับผิดชอบ distribution/update
  • Closed captions สำหรับ environmental sound
  • Hit marker, headshot marker, kill confirmation, damage direction
  • Squad roster HUD panel
  • Sleeping-bag respawn
  • Clan Search/Join browser
  • Inventory Search
  • Item Compare และ destructive confirmation ใน inventory
  • ลด/ปิด blood และ wet-lens effects

Visual System [CONFIRMED]

Gameplay HUD และ Inventory ใช้ Night Ops presentation จาก Inventory_UI_NEW.png: near-black blue surfaces, thin steel-blue outlines, low shadow, cool white text และ cyan interaction accent. ระบบอื่นที่ยังไม่ได้รับ Night Ops pass คง baseline improvised-survival เดิมจนมี gate ของตนเอง; ห้ามนำ brass/olive chrome เก่ากลับเข้ามาใน HUD/Inventory ที่ปิดหรือกำลังทำ gate แล้ว

Background #070D12
Surface #0D161C
Raised #121E26
Border #364A56
Border Bright #617580
Accent #58EBEF
Text #DFE7EA
Muted #8797A0
Danger #C6544F

Inventory/transfer and gameplay HUD share these Night Ops tokens. Reuse resource-less RoundedBox geometry for scalable chrome; reserve bitmap textures for semantic silhouettes and lens effects.

Typography

  • [APPROVED] UI English, Thai และ subtitles ใช้ Google Sans จาก RawResource/Fonts/Google_Sans/; target composite/font-family asset คือ /Game/Lambeer/UI/Common/Fonts/FF_UI_Primary.
  • Default face: GoogleSans-Regular.ttf; ใช้ Medium/SemiBold/Bold variants ตาม hierarchy และไม่ใช้ Italic เป็นข้อมูลสำคัญเพียงอย่างเดียว ไฟล์ที่ตรวจมี Thai-block glyph 87 codepoints รวม basic Thai set.
  • TBD-HUD-UI-002 RESOLVED 2026-09-06: Font metadata and the official Google Fonts source repository identify SIL Open Font License 1.1 without Reserved Font Names; the retained license is RawResource/Fonts/Google_Sans/OFL.txt.
  • Numbers, timers, compass degrees and ammunition inspection use tabular figures; verify tabular-figure behavior in the imported composite font.
  • Body text minimum at 1080p: 18 px equivalent; captions 20 px equivalent before user scaling.

Scale & ultrawide

  • Reference canvas: 1920×1080; layout uses anchors and DPI scaling, never fixed full-screen coordinates.
  • HUD anchors follow the physical viewport edges on ultrawide as confirmed.
  • HUD Scale, Safe Zone, Text Size และ Crosshair Customization are required settings beyond the owner's minimum accessibility list.
  • Critical prompt/reticle content stays near the view center; edge HUD observes user safe-zone inset.

UI Architecture & Layer Contract

[CONFIRMED] ใช้ Hybrid CommonUI + UMG: CommonUI สำหรับ navigable screens และ modal stack; UMG ปกติสำหรับ passive gameplay overlays และ world-space prompts

Game ViewportWBP_UIRootHUD LayerScreen LayerModal LayerToast Layer
WBP_UIRoot : UCommonUserWidget                         [PROPOSED]
├─ Layer_GameHUD : Overlay
│  ├─ WBP_HUDRoot : ULambeerHUDWidget
│  ├─ WBP_ContextStatusList
│  ├─ WBP_NotificationFeed
│  └─ WBP_InteractionPromptHost / world prompt projection
├─ Layer_Screens : UCommonActivatableWidgetStack
│  ├─ WBP_MainMenu / SaveWorldSelect / ServerBrowser
│  ├─ WBP_CharacterCreation / SpawnMap
│  ├─ WBP_Inventory / WorldMap / Crafting / Skills
│  ├─ WBP_Achievements / ClanSquad / WeaponWorkbench
│  └─ WBP_Settings / PauseMenu / DeathRespawn
├─ Layer_Modals : UCommonActivatableWidgetStack
│  ├─ WBP_ContextMenu / WBP_ItemSplit
│  ├─ WBP_MagazineLoadPlanner / WBP_InviteInbox
│  └─ WBP_ErrorDialog / WBP_ExternalLinkConfirm
└─ Layer_Toast : WBP_ToastQueue

Input modes

StateCommonUI input configWorld behavior
Passive HUDGameไม่มี cursor; gameplay รับ input
Inventory/Map/Menu in MultiplayerMenuโลกไม่ pause; character ยังเสี่ยงและ gameplay movement ถูก block
Single Player pauseMenuโลก pause จริง
Multiplayer menuMenuเปิด menu แต่ server world ไม่ pause
Radial menuAllรับ look selection + game state ที่จำเป็น; ไม่ pause multiplayer

CommonUI, CommonInput, CommonGameViewportClient และ controller data assets เป็น target dependency; ยังไม่พบว่าเปิดใช้ใน Lambeer.uproject ณ วันที่เอกสารนี้จัดทำ

Screen Catalog

IDTarget WidgetหมวดPhaseหน้าที่
UI-SCR-MAINWBP_MainMenuFrontend1Continue SP, Start SP, Server Browser, Settings, Feedback URL, Exit
UI-SCR-SAVESWBP_SaveWorldSelectFrontend1เลือก local persistent world; จำ world ล่าสุดสำหรับ Continue
UI-SCR-SERVERWBP_ServerBrowserFrontend2–3Official/Community, Favorite, Ping, Population, Search/Filter
UI-SCR-CHARWBP_CharacterCreationFrontend1Preset, hair, skin/eye color, live preview; character per server
UI-SCR-SPAWNWBP_SpawnMapFrontend1เลือกหนึ่งในสี่ starter towns หรือ respawn point
UI-HUD-ROOTWBP_HUDRootGameplay HUD1Survival bars, compass, minimap, hands, quick slots
UI-HUD-PROMPTWBP_InteractionPromptGameplay HUD1Projected near target: key, action, item, quantity, hold, denied reason, alternatives
UI-HUD-BOSSWBP_BossHUDGameplay HUD1+Boss health bar; marker inspection reveals respawn timer/status
UI-HUD-VEHICLEWBP_VehicleHUDGameplay HUD2Diegetic speed/RPM + overlay fuel/damage/gear/seats/access
UI-SCR-INVENTORYWBP_InventoryInventory1Paper doll, worn containers, both hands, back weapons, 10 quick slots
UI-SCR-CONTAINERWBP_ContainerTransferInventory1Player/container side-by-side, Take All/Transfer All
UI-SCR-CRAFTWBP_CraftingInventory1+Searchable recipes, material reservation, player/station queues
UI-SCR-BUILDWBP_BuildRadialInventory1Piece radial, cost, tier, snap, rotate, placement reason
UI-SCR-BUILD-ACTIONWBP_BuildActionRadialInventory1+Upgrade, repair, demolish, authorize
UI-SCR-WORKBENCHWBP_WeaponWorkbenchInventory1+3D inspect + attachment rail + repair/salvage/action channel
UI-SCR-MAGWBP_MagazineLoadPlannerInventory1Head rounds, repeat pattern, tail rounds; preserves fire order
UI-SCR-MAPWBP_WorldMapInventory1+Full discovered map, marker visibility controls, squad pings
UI-SCR-SKILLSWBP_SkillsProgression2XP number, progress bar, level, next bonus
UI-SCR-ACHIEVEWBP_AchievementsProgression1+Catalog, progress, unlocked state, reward
UI-SCR-GROUPWBP_ClanSquadSocial1–2Create, invite inbox, roster, roles, promote/kick/leave, activity log
UI-SCR-CHATWBP_TextChatSocial1+Server, proximity, squad channels
UI-SCR-VOICEWBP_VoicePanelSocial1+Channel, PTT, speaker, per-player volume, mute/block
UI-SCR-DEATHWBP_DeathRespawnGameplay HUD1Full map, last selected bed or fresh spawn, death location, killer/cause
UI-SCR-PAUSEWBP_PauseMenuSettings1Pause SP; menu-only in multiplayer
UI-SCR-SETTINGSWBP_SettingsSettings1Graphics, Display, Audio, Voice, Controller, KBM, Gameplay, HUD, Accessibility

Gameplay HUD Reference

Always-visible survival cluster

[OWNER-CORRECTED 2026-09-14] แสดง Health, Stamina, Hunger, Thirst, Temperature, Energy, Sleep และ Immunity ตลอดเวลาเป็น icon-node + segmented gauge แต่ละ rail มี 4 shaped segments ขนาดเท่ากัน, threshold ticks, angular current-level marker และค่าปัจจุบันจริงทางขวา; filled-segment count, icon, รูปทรงและตัวเลขต้องทำให้สถานะอ่านได้โดยไม่พึ่งสีอย่างเดียว

Contextual statuses

Bleeding, infection, fracture, poison, cold, overheated, wetness, encumbrance และ buffs ปรากฏในรายการ contextual เรียงตาม severity แล้วตามเวลาที่เกิด ห้ามซ่อน critical status ด้วย overflow; แถวที่ล้นย้ายเป็น expandable stack

G3 scope clarification — 2026-09-08: เจ้าของให้รวม gameplay backend และให้คุยข้อกำหนดที่ขาดก่อน จึงยังไม่ปิด G3 ด้วยผล debug commands อย่างเดียว ดู ผลตรวจ MCP และรายการคำถาม backend: HUD assets compile/save ผ่าน 10 รายการ, stat icon bindings ครบ 8 ค่า; หลังเจ้าของ compile/reopen Editor แล้ว MCP รัน automation ผ่าน 7/7 ไม่มี error/warning; ยังรอ backend และผล PIE จากเจ้าของ

Low-health visual

HPStatePresentation
≤30%Warningขอบแดงบาง; heartbeat audio เริ่มเตือน
≤20%Criticalขอบแดงเข้มขึ้นและ field-of-view edge breathing ช้า
≤10%Near deathขอบแดงสูงสุด, desaturation เฉพาะรอบนอก; reticle/prompt ยังอ่านได้

Blood & water on lens

  • Blood splash เกิดเมื่อเลือดจาก melee, gunshot หรือ explosion ระยะใกล้กระเด็นถึงกล้อง; hold 2 วินาที แล้ว fade 5 วินาที
  • Wet droplets เริ่มทันทีเมื่อโดนฝนหรือจาก swimming/emerge; เมื่อไม่มี source แล้ว fade 5 วินาที
  • ขณะ Sleeping หน้าจอมืดลงเล็กน้อย (alpha 0.22) เพื่อให้เห็น rest state ใน G3; ไม่ใช่ซีนนอนสมบูรณ์ และไม่ได้แทนที่ blood/wet
  • ไม่มี option ลดหรือปิด blood/wet effects
  • Disable Flashing เปลี่ยน white flash เป็น black-frame feedback โดยไม่ตัด critical information

Night Ops HUD presentation sources — Gate G4.3

[OWNER-CORRECTION REVISION 3 ACCEPTED 2026-09-14] G4.3 uses scalable resource-less UMG/Slate geometry plus six accepted RGBA reticle/effect textures under /Game/Lambeer/UI/HUD/Textures/NightOps/. Revision 3 enforces equal 300×116 logical single/two-hand cards, smaller 9 pt card/slot titles, ten 96×96 Quick Slots, four equal segments plus exact current values for every Stat, a themed weight icon-node, and a 720×48 compass with shorter ticks and tighter label spacing. Closed-Editor LambeerEditor Win64 Development and headless non-PIE Lambeer.HUD passed 24/24 with zero warnings/failures; evidence is Saved/Logs/G43OwnerFeedbackPass3.log and Saved/Automation/G43OwnerFeedbackPass3/index.json. Unreal MCP compiled, saved and read back the five affected Widget Blueprints with expected native parents, and the owner reported the complete G4.3 PIE checklist passed.
[REVISION HISTORY CLOSED 2026-09-14] The first runtime result and the subsequent revision-2 presentation were not accepted for checklist 1, 2 or 8. Revision 3 applied the owner's six screenshot annotations while retaining the selected Option A / Stats V2 composition; the owner subsequently accepted all G4.3 checks. The earlier checklist 3–7 behavior pass remains part of that complete result.
Selected Option A Peripheral Grid HUD concept with segmented Stats V2 gaugesA — Peripheral Grid / Stats V2

Owner-approved and owner-accepted direction and revision-3 alignment target together with RawResource/ConceptReference/HUD_UI.png.

Unselected Option B Lower Command Rail HUD conceptB — Lower Command Rail

Unselected reference retained for provenance.

Unselected Option C Split Wings HUD conceptC — Split Wings

Unselected reference retained for provenance.

Neutral white Night Ops focus corners on transparencyHip / Shoulder / Interaction corners

T_UI_HUD_NightOps_Focus
Reused from G4.2; Interaction adds a live cyan center diamond.

Flat white melee brackets and center ring on transparencyMelee

T_UI_HUD_NightOps_Reticle_Melee
Distinct silhouette; runtime-tinted.

Flat white segmented throw-readiness arc and center ring on transparencyThrow

T_UI_HUD_NightOps_Reticle_Throw
Readiness only; not trajectory prediction.

Transparent low-health edge vignette with a clear centerLow-health edge

T_UI_HUD_NightOps_FX_LowHealth
Live 30/20/10 tiers.

Sparse transparent blood droplets restricted to outer cornersBlood on lens

T_UI_HUD_NightOps_FX_BloodLens
Existing 2 s hold / 5 s fade.

Transparent wet-lens droplets concentrated near the sidesWet lens

T_UI_HUD_NightOps_FX_WetLens
Existing 5 s fade.

The two ImageGen interaction-mask attempts were rejected because they baked a checkerboard background; neither was copied or imported. Interaction therefore reuses the approved G4.2 focus-corner mask and adds a crisp Slate diamond. ADS still collapses the reticle entirely; there is no HitMarker, headshot marker, kill confirmation, damage-direction indicator or baked copy.

World Map & Spawn Reference

BedSquadBossDeath bag

Spawn flow uses the same full-map component with selectable starter-town regions or the last selected bed.

  • Initial spawn: หลัง character creation เลือกหนึ่งในสี่ starter towns ได้อิสระ แล้ว server เลือก valid point ภายใน perimeter ที่เลือก
  • Respawn: เลือกเฉพาะ bed ที่เลือกไว้ล่าสุด หรือ Fresh Spawn; ไม่มี sleeping bag
  • Fresh Spawn หลังตายเลือกหนึ่งในสี่ starter towns ได้อิสระอีกครั้ง
  • Death marker หายเมื่อ loot bag despawn หรือถูกเก็บหมด

Frontend, Saves & Server Flow

[OWNER SELECTED 2026-09-15 — OPTION C: SURVIVOR DOSSIER] ใช้ composition แบบ survivor dossier เป็น visual direction สำหรับ P08 frontend: identity/continuation dossier เป็น focal panel, primary actions อยู่ใน side rail และสถานะ world/session ต้องอ่านได้ชัดโดยไม่เปลี่ยน authoritative routing contract. ภาพนี้เป็น presentation reference; ข้อความ ชื่อ world/server จำนวนผู้เล่น และค่าตัวอย่างทั้งหมดเป็น illustrative data.
Owner-selected P08 Option C Survivor Dossier frontend concept
Selected P08 frontend reference: Option C — Survivor Dossier. The three reviewed concepts remain under RawResource/UI/Frontend/Concepts/P08/; generation inputs and provenance are recorded in generation.json.
[OWNER-SUPPLIED VISUAL REFERENCES 2026-09-16] P08_UI_Save_world.png and P08_UI_Server_browser.png refine the Save World Select and Server Browser presentation without changing their established save/session contracts. Both screens use a framed 16:9 Night Ops shell, a persistent LAMBEER identity/sidebar rail, cyan selected/focus outlines, compact uppercase hierarchy and dark layered content surfaces. Save World Select presents visible world cards with a separate world-action rail; Server Browser presents visible favorite/server/player/ping/action columns with Search and Refresh in the header. Names, player counts, images and server rows shown in the references are illustrative only.
P08 Save Worlds reference with sidebar navigation, visible world cards and Open Rename Delete actions
Save World Select reference: preserve create, rename, two-step delete, invalid-world reason and open validation while presenting every local world as a visible selectable card.
P08 Server Browser reference with sidebar tabs, search, refresh and visible server table rows
Server Browser reference: preserve cancellable refresh/join, Official/Community/Favorites, advanced compatibility filters and explicit failure states while presenting each result as a visible table row.
Main MenuSP Save WorldsServer BrowserCharacter per ServerStarter MapPersistent World

Main Menu

  • Continue (Single Player): เข้า world ล่าสุดที่จำไว้; disabled พร้อมเหตุผลเมื่อไม่มี local world
  • Start Single Player: เปิด Save World Select เสมอ ไม่เขียนทับอัตโนมัติ
  • Server Browser: Official/Community tabs, favorite, ping, population, name search, hide full/empty, compatible version และ friendly-fire filter เมื่อ server metadata มีค่า
  • Settings, Feedback (external URL), Exit

Single Player

ใช้ gameplay rules และ persistence เหมือน multiplayer แต่ไม่มีผู้เล่นอื่นและ pause ได้จริง แต่ละ local world แยก save/persistence เหมือน server world รายหนึ่ง [CONFIRMED 2026-09-14] TBD-HUD-UI-003: shipping SP ใช้ embedded authority เป็น NM_Standalone ในโปรเซสเดียวกัน เพื่อให้ pause โลกได้ตามสัญญา G4. UI ของ save list ยังไม่ขึ้นกับ topology. รายละเอียด persistence อยู่ที่ TECH-NETWORK-ARCH.

Steam distribution

ไม่มี custom launcher/patcher ใน scope Steam Client เป็น launch/update surface หลัก Steam App ID, branch UX และ exact Feedback URL remain TBD-HUD-UI-004.

P08 implementation evidence — 2026-09-16: Native ULambeerMainMenuScreen, ULambeerSaveWorldScreen, ULambeerServerBrowserScreen, frontend/session subsystems and character-entry state are implemented. Unreal MCP created, compiled, saved and read back WBP_MainMenu, WBP_SaveWorldSelect, WBP_ServerBrowser and WBP_CharacterCreation. Owner reported the original Single Player frontend, Character Creation visual, persistence/restart and Pause Save/Exit checks passed. The later owner-supplied Save Worlds/Server Browser reference refresh is implemented in the native parent classes with shared opaque-id row buttons; closed-Editor LambeerEditor Win64 Development, focused Lambeer.Frontend automation 4/4 and both Widget Blueprint compile/save/readbacks pass. The refreshed presentation still requires owner PIE visual acceptance. Dedicated/listen persistable worlds advertise a Null/LAN session; one-process PIE lists those hosts by listen port because Null FindSessions cannot see the same-process beacon. Owner reported dedicated Pause/Exit/restore and Server Browser Refresh/Join. UE 5.8 Play As Client starts the dedicated world automatically. Feedback remains disabled while its URL is empty; Steam metadata and the production gameplay destination remain unresolved. Editor validation may use L_Dev_Sandbox only as a stand-in, never as approved production geography.

Inventory, Containers & Quick Slots

[OWNER SELECTED 2026-09-14 — NIGHT OPS] RawResource/ConceptReference/Inventory_UI_NEW.png is the current visual source of truth for Inventory, container transfer and the G4.3 gameplay HUD presentation. The style uses a near-black blue shell, layered blue-black panels, thin steel-blue outlines, cool white text, muted blue-gray secondary text and cyan focus/hover accents. The former Rescue Equipment off-white/orange pack and its earlier Inventory_UI.png reference are removed. This change is presentation-only: preserve existing layout, gameplay values and command/replication contracts. Sample characters, items, counts and key hints remain illustrative rather than approved gameplay data.
[OWNER APPROVED 2026-09-12 — G4.2] ใช้ layout “Character + Container Focus” บน reference canvas 1920×1080: compact header; main content แบ่ง Character 36% / Inventory 64%; Worn equipment อยู่เหนือ container list; Hands/Drop อยู่ใต้ character preview; Q1–Q0 เป็นแถวเดียวตลอดด้านล่างโดย Q1–Q2 แทน Back Weapon 1–2 และห้ามมี Back Weapon panel ซ้ำ.
Approved Night Ops Inventory UI reference with dark tactical panels, thin steel-blue borders, cool white text and cyan focus corners
Current visual source of truth (Inventory_UI_NEW.png): use its palette, surface hierarchy, border weight, typography hierarchy and cyan state language while retaining the approved runtime layout and live gameplay data. Earlier layout concept remains hierarchy evidence only. See the current integration record.

Latest owner correction — 2026-09-14; native build passed; owner PIE pending: The prior WrapBox still received only its desired width because its HorizontalBox slot used HAlign_Left. The saved asset and native layout now use HAlign_Fill on that parent slot, while the WrapBox contents remain left-aligned. NativeGetDesiredFocusTarget now returns the first equipment slot instead of its non-focusable layout panel. This corrects the earlier explanation of the focus warning. WBP_Inventory compiled/saved and parent alignment readback passed; LambeerEditor Win64 Development rebuilt successfully on 2026-09-14 (DLL 00:21:19). Focused non-PIE Lambeer.HUD.InventoryCommandRules passed 1/1 with zero warnings/errors; report: Saved/Automation/InventoryWornWidthFocus/index.json. Owner client PIE must still verify row fill and absence of the focus warning.

[NIGHT OPS OWNER-REPORTED PIE PASS 2026-09-14] The four Inventory Widget Blueprints use resource-less RoundedBox brushes for shell, panel, slot, button, input and scrollbar chrome. This removes the former seven-texture Rescue Equipment dependency and prevents decorative source art from stretching. The one retained bitmap is a neutral corner mask at /Game/Lambeer/UI/Inventory/Textures/NightOps/T_UI_Inventory_NightOps_Focus, tinted cyan/red by live state. Unreal MCP compiled/saved all four assets against the rebuilt DLL; readback found no remaining /Textures/RescueEquipment/ reference and only resource-less RoundedBox chrome plus the Night Ops focus mask. The native Editor build and three focused non-PIE Inventory tests passed without warnings/errors. Existing item icons, live portrait material, Drop glyph, then-current 126-square Worn/container cells, responsive WrapBox, flexible Q1/Q2/hands, viewport inset and remaining inventory commands remain unchanged. Inventory Search was removed by owner decision on 2026-09-14.
[OWNER 2026-09-15] Worn equipment slots และ item slots ใน container ถูกย่อเหลือ 88×88 (~30% จากเป้า inspection 126 px) เพื่อให้มีพื้นที่ใช้สอยมากขึ้น. Q1/Q2, มือ และ Drop ยังสูง 104 px ตามเดิม. รูป item อยู่กึ่งกลางช่อง; ชื่อและจำนวนเป็น Overlay ลอยซ้อนด้านบน/มุมล่างแบบ position absolute ไม่ดันรูป และใช้ 7 pt (~40% จาก 12 pt). Runtime token: LambeerInventoryPresentation::SlotSize / SlotLabelFontSize. Closed-Editor LambeerEditor Win64 Development rebuild สำเร็จ; focused non-PIE Inventory tests ผ่าน 3/3 ไม่มี warning/error. Owner PIE ยังรอ.
[OWNER VISUAL CORRECTION PASS 2026-09-14] The first Night Ops PIE screenshot showed cyan focus on the Head slot before pointer hover because it was the screen's initial CommonUI focus target. Initial focus now uses the Close button, while keyboard navigation still exposes slot focus. Night Ops background, surface and raised fills use 0.80 alpha; borders, text, icons and semantic cyan/red states remain fully opaque. The closed-Editor native rebuild, four Widget Blueprint compiles/readback and three focused non-PIE Inventory tests passed after this correction. The owner reported the resulting PIE presentation passed. This changes presentation only.
Background #070D12
Surface #0D161C
Raised #121E26
Border #364A56
Border Bright #617580
Accent #58EBEF
Text #DFE7EA
Muted #8797A0
Header & left region

Header แสดง Inventory, carried weight และ Close; ไม่มี Search. Character preview กินพื้นที่ 36%; Left Hand, Right Hand และ Drop อยู่ใต้ preview โดยไม่มี Compare panel.

Worn & containers

Inventory region 64%. Worn ทั้ง 9 ช่องและ cell ใน container เป็นสี่เหลี่ยมจัตุรัส 88×88 และต้องมองเห็น Worn โดยไม่ scroll; เฉพาะ Body Pockets / Pants / Jacket / Vest / Backpack และ worn storage panels อื่นเท่านั้นที่ scroll. Sort อยู่ใน header ของแต่ละ container.

Quick slots & input

Q1–Q0 อยู่ตำแหน่งคงที่ใต้ main content และมี action-hint footer แยก. Focus order: Worn → Containers → Hands/Drop → Quick Slots. Selection uses the Night Ops cyan accent พร้อม shape/corner marker ไม่ใช้สีอย่างเดียว.

Loot/container variant: เมื่อเชื่อมกับ corpse, death bag, crate หรือ storage ให้ซ่อน character preview ชั่วคราวและใช้พื้นที่กลางเป็น Player Inventory / Target Inventory แบบ side-by-side. Player container แต่ละใบแสดง Transfer All; target header แสดง Take All. Q1–Q0 และ action hints ต้องคงตำแหน่งเดิมเพื่อไม่ให้ muscle memory เปลี่ยน.

[G4 IMPLEMENTATION 2026-09-12; G4.2 CLOSED 2026-09-14] Interact กับ death bag/crate เปิด inventory และใช้ side-by-side Player | Target ผ่าน WBP_ContainerTransfer ที่ bind เป็น Transfer_Target; Scroll_Loot เป็น collapsed fallback. การแก้ child-button drag interception และ BackWeapon↔BackWeapon / directional HeldHand↔BackWeapon ผ่าน build, focused automation และ owner PIE แล้ว. Search ถูกถอดออกตามคำตัดสินของเจ้าของ. ไม่ vacuum-loot และไม่ฝากของกลับเข้า death bag.

Resolution behavior: FHD เป็น reference density; 2K/4K ใช้ DPI scaling ไม่เพิ่มจำนวนช่อง. 16:10 เพิ่มพื้นที่แนวตั้งให้ container list. 21:9/32:9 เพิ่ม outer gutters และรักษาความกว้าง content กลางแทนการยืด slot จนเสียสัดส่วน. ทุก region อยู่ภายใน Safe Zone.

  • รองรับ drag-and-drop, click-to-select, context menu และ keyboard/controller navigation
  • Actions: Split Stack, Transfer All, Take All, Sort, Inspect, Use, Equip, Drop Quantity; ไม่มี Search, Compare และไม่ต้อง confirmation
  • Loot/container/corpse/death bag ใช้ player และ target container แบบ side-by-side
  • Quick slots 10 ช่อง ปุ่ม 1–0; กดเพื่อถือ item แล้วใช้ด้วย left/right input ตาม item in hand
  • [CONFIRMED] Slot 1–2 สงวนให้ Back Weapon 1–2 เท่านั้น ห้าม bind item อื่นลงสองช่องนี้ เมื่อไม่มี Back Weapon ช่องนั้นต้องว่างและไม่มี manual binding ที่ถูกซ่อนหรือ restore ภายหลัง
  • Item ที่ผ่าน use/hold contract สามารถ bind ได้เฉพาะ Quick Slot 3–0; server ต้อง reject การ assign item อื่นเข้า display slots 1–2 (internal array indices 0–1).
[CONFIRMED 2026-09-11 — G4 UI-CORE-002; SEARCH REMOVED 2026-09-14; EQUIP/TRANSFER SHORTCUTS 2026-09-15] ลาก item เดียวกันมารวมได้จนถึง MaxStack. Split ต้องมีช่องว่างในกระเป๋าเดียวกัน ไม่ merge เข้า stack เดิม. เมนู: Split 1, Split half, Split amount (พิมพ์จำนวน). Drop จากเมนูทิ้งทั้ง stack. Sort ตาม display name / weight / item type ทีละกระเป๋า. Take All จาก inventory อื่นเข้าทุกช่องเก็บของผู้เล่นที่พอ. Transfer All กดจากแต่ละ container ของผู้เล่น ไม่ใช่ทั้งตัว. Use จากช่องใน inventory โดยไม่ต้องถือ; ตอนนี้ยังไม่มี authored use effect จึง reject โดยไม่กินของ. ลากของจากช่องเก็บของหรือ loot (รวม death bag) ไปช่อง Worn / Back Weapon เพื่อสวมใส่ได้. ถ้าช่องนั้นมีของอยู่แล้ว ให้ถอดชิ้นเดิมเข้าช่องเก็บของเมื่อมีที่ว่าง ถ้าไม่มีที่ว่างให้ drop เป็น world pickup; ของในกระเป๋าที่ถูกถอดจะถูก pack เข้า NestedContents. Equip จากเมนูและ Ctrl+RMB เลือกช่องอัตโนมัติแบบเดียวกัน. ถ้าเปิด container อยู่ Ctrl+LMB ย้ายหนึ่ง stack ระหว่างตัวละครกับ container; ห้ามฝากของเข้า death bag. การเก็บของจากโลก: Clothing สวมถ้าช่องว่าง (ถ้าทับไปช่องเก็บของ); Weapon เข้ามือก่อน; อื่น merge stack ที่ยังไม่เต็ม แล้วช่องว่าง แล้วมือ; bCanHolsterOnBack เข้าหลังว่างก่อนช่องเก็บของ. Stale index: server ตรวจ ExpectedItemId. เจ้าของตัด Inventory Search ออกจากเกม จึงไม่มีช่องหรือ client filter นี้แล้ว. Action hint ด้านล่างแสดง Drag, RMB menu, Ctrl+RMB Equip, Ctrl+LMB Transfer และ Tab close.
[OWNER CORRECTION 2026-09-13 — Q1/Q2 ARE PHYSICAL ITEM SLOTS] Q1 and Q2 store actual item stacks on the character's back. They display only their physical contents in both Inventory and HUD. Moving or drawing an item into a hand empties the source back slot; never keep its icon/name as an In hand reference. The empty slot can immediately store another eligible item. Q3–Q0 remain ItemId shortcuts to items elsewhere. Hotkey 1 addresses the left hand and hotkey 2 the right: draw from occupied storage into a free hand, store from the matching hand into empty storage (fall back to the other hand when needed), or exchange occupied hand/back contents. Direct drag addresses the chosen hand. TwoHanded items retain the right-hand physical stack and left-hand lock; reject unsafe exchanges without loss. Full instance state, quantity and weight must be conserved. OriginBackSlot may remain only as a return hint; it grants no ownership/reservation and must not affect slot presentation or redirect a slot action to a held item. This supersedes the earlier allowance for In hand projection. Implementation and pending owner retest: G4.2 physical-slot correction.
TBD-HUD-UI-001 RESOLVED 2026-09-06: Back Weapon owns slots 1–2 exclusively; no collision, overwrite, suspended manual assignment, or manual-binding restore state is permitted. Hand/slot transfer and exchange use the confirmed flow above; the selected storage slot may differ from the original slot.

Crafting, Queue, Skills & Achievements

RECIPES
Bandage
Gun Repair Kit
Steel Door
Boss Weapon
BANDAGE

Searchable recipe detail, source storage, requirements, station/tier, duration and output.

Available after reservations: Cloth 18 → Cost 4 → Remaining 14
PLAYER QUEUE
1 · Bandage ×2
Reserved: Cloth ×8
2 · Repair Kit
Waiting

Order cannot be changed.

Queue contract [CONFIRMED]

  • Reserve/deduct materials immediately when adding; availability calculation subtracts every earlier queue reservation
  • Cancel returns all reserved materials
  • Queue continues after leaving station and after logout
  • Station queue and player queue are separate per player and per station; order cannot be changed
  • Station craft consumes only that station's storage; general personal craft consumes only player's carried inventory
  • If station is destroyed, cancel its pending crafts and return reserved items to the authoritative station-destruction recovery path; exact overflow destination remains TBD-HUD-UI-005

Skills

Dedicated screen displays every confirmed skill with exact XP, progress bar, level and next qualitative/numeric bonus. Level caps, XP curves and formulas remain canonical TBDs in Crafting & Progression.

Achievements

Catalog/progress screen is scoped per character on each server. Unlocks grant rewards. Achievement IDs, names, thresholds, icons, reward payload and platform-service integration remain TBD-E2F4910C; UI supports optional hidden criteria and claim/non-claim reward presentation without selecting one until the catalog is approved.

Weapon Workbench & Magazine Planner

WEAPON
Optic
Muzzle
Magazine
Grip
Stock
Laser
SELECTED SLOT

Compatibility, current attachment, field/workbench rule and channel duration.

Durability state

[PROPOSED LAYOUT] ซ้ายเป็น slot rail, กลางเป็น 3D inspect ที่หมุน/zoom ได้, ขวาเป็น action/context panel การเลือก hotspot ใน 3D และ slot list ต้อง sync กัน Controller ใช้ shoulder buttons สลับ slot และ right stick หมุนโมเดล

Magazine planner [CONFIRMED]

FMagazineLoadPlan
├─ HeadRounds[]       // ยิงก่อน เช่น AP ×3
├─ LoopPattern[]      // AP ×1, FMJ ×2 แล้ววนจนพื้นที่กลางเต็ม
└─ TailRounds[]       // ยิงท้าย เช่น FMJ ×10

BuildFireOrder(capacity):
  append HeadRounds
  repeat LoopPattern until remaining middle capacity is full
  if capacity ends mid-pattern, stop at that round
  append TailRounds in their specified fire order

Default load behavior ยังคงใช้ลำดับที่ผู้เล่น drag ammunition ใส่ magazine ผู้เล่นเปิด context menu ของ magazine เพื่อใช้ advanced planner สามส่วน Fire-order preview ต้องแสดงจากนัดแรกที่จะยิงไปนัดสุดท้ายอย่างชัดเจน

Building, Vehicle & Boss UI

Building radial

Piece selection, resource cost, material tier, snap mode, rotation และ placement failure reason เฉพาะที่เกี่ยวข้อง

Interaction radial แยกสำหรับ Upgrade, Repair, Demolish, Authorize

Vehicle

Diegetic speed/RPM บน dashboard; overlay แสดง fuel, overall/component damage, gear, seats และ key/access state

Storage เปิดผ่าน IA_Inventory เท่านั้น

Boss

Boss health bar ระหว่าง encounter ไม่มี damage numbers/hit marker

Respawn timer แสดงหลัง inspect marker เท่านั้น; เมื่อพื้นที่ยังมีผู้เล่นแสดง “Respawn blocked: area occupied”

Clan, Squad, Chat & Voice

  • ไม่มี Squad roster HUD แต่ยังมี squad world marker, minimap/world-map marker, compass ping และ voice speaking indicator ใกล้ตัวละคร
  • Group screen: Create, Invite, Invite Inbox, roster, Leader/Officer/Member, Promote, Kick, Leave; ไม่มี Search/Join
  • Leader และ Officer เชิญสมาชิกได้; build/door/storage access ไม่แยกตาม role
  • Activity log แสดง actor/action/target สำหรับ invite, kick, leave รวมถึง member death, online และ offline
  • Text chat channels: Server, Proximity, Squad
  • Voice: proximity/squad channel selector, push-to-talk, speaking indicator, per-player volume, mute และ block

TBD-HUD-UI-007: Clan creation naming/tag rules, role authority สำหรับ promote/kick และ log retention/persistence ยังไม่ถูกกำหนด

Death, Pause, Settings & Accessibility

Death/respawn

แสดง killer/cause, death location และ full map ผู้เล่นเลือก bed ที่เลือกไว้ล่าสุดหรือ Fresh Spawn เท่านั้น Fresh Spawn เปิดการเลือกสี่ starter towns ไม่มี sleeping bag marker

[G4 IMPLEMENTATION 2026-09-12] สำหรับ Gate G4, last selected bed คือเตียงที่เริ่ม Sleep ล่าสุด ไม่มี sleeping bag และยังไม่มี action แยกสำหรับเลือก spawn bed. G4 ไม่มี despawn timer ใน runtime; [CONFIRMED 2026-09-14] P07 กำหนด death bag และ runtime world drop ให้ persist และ despawn หลัง 24 ชั่วโมงเวลาจริงที่ world เปิดอยู่ โดยทดเวลาที่เหลือหลังเปิดใหม่ — ดู TECH-NETWORK-ARCH. Loading a saved dead character reopens this spawn-select screen; it must not restore a locked corpse that can no longer die. Death marker ตาม bag ที่ยังมีของ หรือถูก debug-destroy. ของที่อยู่ใน worn backpack/pants/vest ถูก pack เข้า NestedContents ของใบนั้นตอน dump ไม่ถูกเทเป็นกองหลวมใน bag. กด interact ที่ death bag เปิด inventory loot panels (เลือกเก็บทีละชิ้น หรือ Take All) ไม่ดูดทั้งกองทันที. หลัง respawn ต้องล้าง blood overlay และ low-HP edges ที่ค้าง. WBP_DeathRespawn exists under /Game/Lambeer/UI/Map/. สี่ starter towns บน L_Dev_Sandbox เป็น labeled stand-in ในโฟลเดอร์ Outliner G4/SpawnRegions ไม่ใช่พิกัด production (TBD-WORLD-001 ไม่เปลี่ยน). Owner-reported pass 2026-09-12 สำหรับ packed backpack dump, loot-panel interact และ immediate-respawn HUD refresh. Owner-reported pass 2026-09-13 สำหรับ UI-CORE-005. Last Bed และ four-town Fresh Spawn ยังเป็น UI-CORE-006 และยังไม่ถูกตั้งชื่อใหม่. รายละเอียดเทคนิค: UI-CORE-005 / UI-CORE-006.

Pause

Single Player หยุดโลกจริง Multiplayer เปิด menu และบล็อก player input แต่โลก/server ไม่หยุด Owner correction 2026-09-14: ไม่แสดงข้อความ world-continues warning บน Pause UI. Owner decision 2026-09-15: เฉพาะ Single Player แสดง Save. [P08 DEDICATED DISCONNECT 2026-09-16] Exit to Main Menu แสดงทั้ง Single Player และ dedicated/listen clients: SP ยังบังคับ required-player save เมื่อ snapshot เก่ากว่า 30 วินาที; dedicated client disconnect โดยไม่ save ฝั่ง client เพราะ server Logout ยัง flush ตัวละครอยู่.

[G4 IMPLEMENTATION 2026-09-12] UI-CORE-007 ใช้ NetMode ของ session ไม่ใช่การเดาฝั่ง client: เฉพาะ NM_Standalone ที่ pause ได้. Owner-reported pass 2026-09-12 เดิมครอบคลุม dedicated-server warning, local input block, world continuity และ Resume/Escape/Back; owner-reported pass 2026-09-13 ครอบคลุม standalone PAUSED/world-pause. Owner correction 2026-09-14 supersedes warning presentation only: ถอดข้อความ warning ออกจาก current Pause UI แต่ไม่เปลี่ยน multiplayer world-continuity หรือ input behavior. [G5 PAUSE SAVE/EXIT OWNER-REPORTED PASS 2026-09-16] Save เรียก required-player snapshot ผ่าน ULambeerWorldPersistenceSubsystem และยังเป็น standalone-only. Exit ตรวจเวลาจริงตั้งแต่ durable snapshot ล่าสุดเฉพาะ SP; ถ้าเกิน 30 วินาทีต้อง save สำเร็จก่อนจึง travel ไป /Game/Lambeer/World/Maps/L_MainMenu/L_MainMenu และถ้า save ล้มเหลวให้ยกเลิก exit พร้อมแสดงสถานะ. Dedicated Exit to Main Menu ไม่ save ฝั่ง client. WBP_PauseMenu ใช้ native ULambeerPauseScreen::EnsureLayout. รายละเอียด: UI-CORE-007 และ G5 dedicated checklist.

Settings taxonomy

Graphics, Display, Audio, Voice, Controller, Mouse + Keyboard, Gameplay, HUD และ Accessibility รองรับ full key rebinding, hold/toggle aim-crouch-sprint, sensitivity แยก hip/shoulder/ADS และ invert axes

[G4 IMPLEMENTATION 2026-09-12] UI-CORE-008 เพิ่ม staged draft/apply/revert. G4 persist ได้เฉพาะ HUD Scale, Safe Zone Scale, language en/th และ Display resolution/window mode จาก engine GameUserSettings. Owner decision 2026-09-13: Text Scale ไม่ปรับใน G4 Settings (ล็อก 1.0); Text Size ยังอยู่ใน accessibility list สำหรับรอบ settings ถัดไป. Display ที่เสี่ยงต้อง Confirm ไม่เช่นนั้น revert ใน 15 วินาที (implementation clamp). หมวดอื่นแสดงเหตุผลและห้าม persist. Crosshair Customization, colorblind, subtitles, rebind, camera shake และ Disable Flashing ยังเป็น G8 หรือรอค่าที่อนุมัติ. Unreal MCP created, compiled and saved /Game/Lambeer/UI/Menus/WBP_Settings. Parent is ULambeerSettingsScreen. Designer tree is empty; runtime layout comes from C++ EnsureLayout. Owner reported Apply th left settings labels in English 2026-09-12; that screen had hardcoded English / ungathered NSLOCTEXT. Follow-through binds settings labels to ST_UI_Common_EN/ST_UI_Common_TH, applies FF_UI_Primary, and refreshes after Apply. Owner-reported pass 2026-09-13 สำหรับ Thai settings labels (no tofu), HUD Scale/Safe Zone persist, Display Revert และ stacking. Text Scale ถูกถอดจาก G4 Settings. Owner-reported pass 2026-09-13 หลัง rebuild: HUD ไม่มีตัวปรับ Text Scale. รายละเอียด: UI-CORE-008.

Pause & Settings Night Ops — Gate G4.4

[OWNER-SELECTED OPTION B FULL PIE PASS 2026-09-14] Option B — Tactical Side Rail applies the shared Night Ops blue-black surfaces, thin steel-blue borders, cool-white hierarchy and cyan focus/selection states. Pause uses a 340×820 logical left rail and no longer displays the former world-continues warning; multiplayer world behavior is unchanged. Settings uses a centered 1480×820 workbench with a 300 px category rail, broad content, action strip and themed display-confirm modal. Its language selector renders white self-language names English and ภาษาไทย while persistence continues to use en/th. Locked Text Scale 1.0, unavailable categories and G5 scope do not change. Native build, HUD automation 24/24 and both Widget Blueprint compile/save/readbacks pass; the owner reported the complete G4.4 PIE checklist passed.
Unselected centered command Pause and Settings concept

Option A

Centered Command — unselected reference.

Owner-selected Tactical Side Rail Pause and Settings concept

Option B

Owner-selected implementation reference.

Unselected minimal operator Pause and Settings concept

Option C

Minimal Operator Overlay — unselected reference.

Accessibility

  • Semantic colorblind palette presets; สถานะไม่ใช้สีอย่างเดียว
  • Subtitles สำหรับ dialogue/spoken narrative; ไม่มี environmental closed captions
  • Reduce Camera Shake
  • Disable Flashing: ใช้ black-frame feedback แทน white flash
  • HUD Scale, Safe Zone, Text Size และ Crosshair Customization. Owner decision 2026-09-13: G4 Settings ไม่มี Text Scale (ล็อก 1.0); Text Size ยังเป็น required setting สำหรับรอบถัดไป
  • English/Thai localization; layout รองรับ text expansion และ Thai line breaking
  • ทุก CommonUI screen ใช้ mouse, keyboard และ controller ได้โดยไม่เกิด focus trap

Implementation Contract: Classes, Data & Events

รายการต่อไปนี้เป็นชื่อ target เพื่อให้ implementation สม่ำเสมอ ไม่ได้อ้างว่า source/asset มีอยู่แล้ว

Proposed typeRequired fields / responsibilityAuthority
FUIHUDSnapshot8 survival normalized values, contextual statuses, weight state, aim stateOwning-client view of authoritative state
FUIWeaponHandStateHand, ItemId, handedness, durability state, fire mode, observed mag/chamber info, observation validityServer truth + client knowledge mask
FUIMapMarkerMarkerId, category, world location, label, visibility scope, expiry/source entityServer for shared; local for filters
FInteractionPromptStateTargetId, action, display name, quantity, glyph action, hold duration/progress, denied reason, alternativesServer validates action
FCraftingQueueEntryQueueId, owner/station, recipe, count, reserved inputs, start/end, status, recovery destinationServer persistent
FMagazineLoadPlanHeadRounds, LoopPattern, TailRounds, preview fire orderServer validates compatible ammo/capacity
FVehicleHUDStateSpeed, RPM, gear, fuel, overall/component damage, seats, accessRelevant vehicle state
FServerBrowserEntryServerId, type, name, ping, players/max, version, favorite, rules metadataSession/backend
FWorldSaveSummaryWorldId, display name, last played, character summary, compatibility/corrupt stateLocal persistence index
FUIAchievementEntryAchievementId, title, description, progress, threshold, unlocked, reward payload/statusPer-character/server persistent
FGroupActivityLogEntryTimestamp, actor ID/name, action, target ID/name, event categoryServer group registry

Event surface [PROPOSED]

OnHUDSnapshotChanged(FUIHUDSnapshot)
OnInteractionPromptChanged(FInteractionPromptState)
OnObservedWeaponInfoChanged(EHand, FUIWeaponHandState)
OnMapMarkersChanged(TArray<FUIMapMarker>)
OnCraftQueueChanged(FGuid QueueId)
OnAchievementUnlocked(FName AchievementId, FRewardPayload)
OnGroupActivityLogged(FGroupActivityLogEntry)
OnInputMethodChanged(ECommonInputType, GamepadName)

Gameplay Tags [PROPOSED]

UI.Layer.HUD | UI.Layer.Screen | UI.Layer.Modal | UI.Layer.Toast
UI.Screen.Inventory | Map | Crafting | Skills | Achievements | Group | Settings
UI.Status.Bleeding | Infection | Fracture | Poison | Cold | Hot | Wet | Encumbered
UI.Marker.Squad | Ping | Landmark | Death | Boss | Bed | Base | Vehicle | POI
UI.Input.Game | Menu | All
UI.Notification.Info | Warning | Critical | Reward

Input Actions

StatusActionPurpose
ExistingIA_InventoryInventory/container/vehicle storage entry
ExistingIA_InteractContext action
Existing (G4 default M)IA_UI_Map / runtime IA_UI_Map_RuntimeWorld map screen toggle. Authored asset is optional; G4 binds M at runtime.
Existing (G4 default Escape)IA_UI_Pause / runtime EscapeHUD-only pause/menu toggle. Authored asset is optional; G4 reuses the existing runtime Escape mapping. Inventory/map/death consume Escape first.
ProposedIA_QuickSlot_1IA_QuickSlot_0Hold item from slot
ProposedIA_UI_Ping, IA_UI_VoicePTT, IA_UI_ChatSocial/world communication
Proposed CommonUIUI.Action.Accept, Back, Context, TabLeft, TabRightDevice-independent navigation and glyphs

SVG Icon Asset Kit

[IMPLEMENTED 2026-09-07] Source: RawResource/UI/Icons/ · exactly 64 SVG files · 64×64 viewBox · white solid silhouette · transparent background. Unreal MCP imported 64 tintable 256×256 textures at /Game/Lambeer/UI/Common/Icons/T_UI_*; asset metadata preserves each source SVG because UE Texture Factory does not import SVG directly.

Platform glyphs remain at their verified paths under /Game/Lambeer/UI/ControllerGlyphs/PlayStation_Series/ and Xbox_Series/. G2 controller-data classes reference them without rename/modification; runtime device switching remains pending owner PIE evidence.

Healthui_stat_health.svg
Staminaui_stat_stamina.svg
Hungerui_stat_hunger.svg
Thirstui_stat_thirst.svg
Temperatureui_stat_temperature.svg
Energyui_stat_energy.svg
Sleepui_stat_sleep.svg
Immunityui_stat_immunity.svg
Bleedingui_status_bleeding.svg
Infectionui_status_infection.svg
Fractureui_status_fracture.svg
Poisonui_status_poison.svg
Compassui_nav_compass.svg
Minimapui_nav_minimap.svg
Mapui_nav_map.svg
Boss markerui_marker_boss.svg
Left handui_combat_left_hand.svg
Right handui_combat_right_hand.svg
Magazineui_combat_magazine.svg
Chamberui_combat_chamber.svg
Craftingui_system_crafting.svg
Buildingui_system_building.svg
Vehicleui_system_vehicle.svg
Achievementui_system_achievement.svg
รายการไฟล์ทั้งหมด 64 รายการ

ui_stat_* 8, ui_status_* 8, navigation/markers 8, combat 8, actions 8, crafting/build/vehicle 8, inventory/social 8, system/navigation 8. ตรวจ XML แล้วทุกไฟล์ ณ 2026-09-06

Acceptance Criteria

IDScenarioExpected outcome
AC-UI-001HUD at FHD/2K/4K and 16:10/21:9/32:9ทุก element anchor ถูกต้อง ไม่มี overlap/clipping; edge HUD ตาม physical viewport และ safe-zone setting
AC-UI-002Survival state updates8 segmented gauges แสดงตลอดเวลา ไม่มีตัวเลข; filled-segment count, marker, icon/shape และ contextual icon/text ทำให้สถานะไม่พึ่งสีอย่างเดียว
AC-UI-003ADS enteredCrosshair ซ่อน; HUD ไม่แสดง hit confirmation
AC-UI-004Weapon not inspectedMagazine/chamber แสดง UNKNOWN; check action เท่านั้นที่เปิดเผย observed state
AC-UI-005Blood reaches cameraHold 2 s และ fade 5 s; near gunshot/explosion และ melee ใช้ contract เดียวกัน
AC-UI-006Rain/swim lens effect endsDroplets เริ่มทันทีและ fade หมดใน 5 s หลัง source จบ
AC-UI-007Open menu in multiplayerWorld continues; player input blocked; warning visible
AC-UI-008Pause in single playerWorld simulation pauses and resumes without losing menu state
AC-UI-009Craft queue reservationAvailability subtracts earlier queue entries; cancel refunds; queue persists across logout
AC-UI-010Station destroyedStation queue cancels; no duplication/loss except unresolved overflow path is blocked from implementation
AC-UI-011Magazine plan capacity ends mid-patternPreview and authoritative sequence stop mid-pattern and preserve head→loop→tail fire order
AC-UI-012Controller changes Xbox↔PlayStation↔KBMGlyphs update without closing screen; focus remains on same semantic control
AC-UI-013Death bag despawns/is emptiedDeath marker disappears from compass, minimap and map
AC-UI-014Boss marker inspectedTimer/status appears; occupied area shows exact blocked message
AC-UI-015English↔ThaiNo clipped labels; Thai subtitles wrap correctly; navigation/focus order unchanged
AC-UI-016Disable Flashing enabledWhite flash is replaced with black feedback while information remains readable

Manual PIE Checklist

User-only execution: Agent ไม่เริ่มหรือควบคุม PIE ช่อง Result ต้องกรอกด้วยผลที่ผู้ใช้ทดสอบจริงเท่านั้น
Owner hardware constraint — 2026-09-08: การทดสอบทั้งหมดที่ต้องใช้ Xbox หรือ PlayStation controller เลื่อนไปจนกว่าอุปกรณ์พร้อม สถานะเป็น deferred / unverified ไม่ใช่ failed; การทดสอบส่วน KBM และส่วนที่ไม่ต้องใช้ controller ดำเนินต่อได้ G2 KBM/design-system PIE ปิดแล้ว รายละเอียดอยู่ใน TECH-HUD-UI-IMPLEMENTATION
[OWNER-REPORTED PASS 2026-09-08] เจ้าของยืนยัน “ผ่านแล้ว” สำหรับการแก้ล่าสุด: Q1–Q0 รวมแถวเดียวและซ่อน Back Weapon UI แยก, ลากลง pocket, ย้าย/สลับของระหว่าง Q1–Q2 กับมือ และการแก้คำสั่ง Q3–Q0 ดู ขอบเขตผลทดสอบที่บันทึก ผลนี้ไม่ขยายเป็นการผ่าน acceptance ทุกข้อของ G3 หรือการทดสอบ controller
G3 owner PIE — partial 2026-09-08: Wood→slots 3–0, blood/wet/status injectors reported working. Marker diamonds were confirmed in later PIE. The latest inventory/quick-slot correction subsequently passed owner testing as recorded above. Remaining HUD checks are not covered by that scoped pass. Full steps: G3 progress.
G3 owner PIE — 2026-09-09: Owner reported throw/sledgehammer checks on L_Dev_Sandbox passed, then bed sleep plus the slight Sleeping dim after Energy Jog/sprint drain. Scoped record: survival/bed pass. Remaining HUD checks, firearm inspections and G3 close are not covered.
G3 owner PIE — 2026-09-10 HUD close checklist 1–7: Owner reported eight GAS-colored bars, UI_G3GiveBackWeapons and keys 1/2, ADS hides the reticle, no HitMarker, nearby 2 m / LOS blood, low-health 30/20/10 edges, and UI_G3SetRain lens droplets plus shelter. Scoped record: HUD close pass 1–7.
[OWNER-REPORTED PASS 2026-09-10] Prompt quantity/denied (checklist 8) passed. HOLD presentation waits for a real hold action; no G3 debug hold fixture. G3 is closed. Scoped record: prompt pass and G3 close.
[OWNER-REPORTED PASS 2026-09-11] G3.2 skeletal L1810 world/held/back visuals and magazine load/install/remove (3 s, cancel on move). Wet-look is not in this close. Scoped record: G3.2 pass.
G4 inventory PIE — 2026-09-12: Owner reported UI-CORE-001 and UI-CORE-002 passed: Tab opens and closes without crash, Worn clothing slots are visible, sandbox clothing pickups equip, and the 2026-09-11 command rules still hold. Gate G4 stays open for map, death/spawn, pause and settings. The approved Inventory/container presentation is planned as Gate G4.2 under preserved task ID UI-CORE-003. Checklist: G4 inventory pass.
G4 map — 2026-09-13: Owner reported UI-CORE-004 passed: pan/zoom/center, shared ping, filter toggles, map↔inventory Tab switching, and the zoomed map image stays inside the map panel. North-up minimap and frozen full-map death diamond already passed 2026-09-12. Checklist: UI-CORE-004.
G4 death/respawn — 2026-09-13: Owner reported UI-CORE-005 passed. Packed backpack dump, loot-panel interact and immediate-respawn HUD refresh already passed 2026-09-12. Owner reported UI-CORE-006 Last Bed after Sleep and four-town Fresh Spawn passed. Checklist: UI-CORE-006.
G4 pause — 2026-09-13: Owner reported UI-CORE-007 passed, including standalone PAUSED/world-pause. Dedicated-server WORLD CONTINUES already passed 2026-09-12. Single Player Exit-to-main later passed as UI-FE-009 on 2026-09-16. Dedicated Exit-to-main later passed as UI-FE-005 on 2026-09-16. Checklist: UI-CORE-007.
G4 settings — closed 2026-09-13; G4.2 Night Ops — closed 2026-09-14: Owner reported UI-CORE-008 passed: HUD has no Text Scale control; Display Revert, language/font, categories, HUD Scale/Safe Zone and stacking already passed. Text Scale stays locked at 1.0. For G4.2 UI-CORE-003, the owner passed the Night Ops presentation, all retained interactions and final Search-free header. Search was explicitly removed after its sole failure. Native/Blueprint/automation validation passes after removal. See G4.2 evidence. Checklist: UI-CORE-008.
G4.3 and G4.4 Night Ops — owner-reported full PIE pass 2026-09-14: Revision-3 HUD and Pause/Settings Option B pass their complete owner checklists. This includes overall HUD presentation, Hands/Quick Slots, responsive English/Thai layout, dedicated-server and Standalone Pause presentation/behavior, Settings presentation/interactions, stacking and the EN/TH responsive matrix. UI-HUD-018 and UI-MENU-001 are closed. See G4.4 checklist.
Owner correction 2026-09-14 — compass/map E/W pending PIE: Owner reported the HUD compass tape mirrored cardinals, then that looking right toward E still showed W on both the tape and map/minimap heading symbols. HUD yaw now maps Unreal look-right onto east; north-up disc/map X follows that east-is-right convention. Closed-Editor LambeerEditor Win64 Development and headless non-PIE Lambeer.HUD 24/24 pass; this is not PIE acceptance and does not reopen G4.3. Recheck in a client Preview window: face N with W left / E right, look right, and confirm compass caret plus map/minimap symbols move to E.
IDManual testResult
PIE-UI-001เปิด HUD ที่ 1920×1080, 2560×1440, 3840×2160 และ ultrawide; ตรวจ anchor/safe zoneOwner pass 2026-09-14 for the G4.3/G4.4 supported responsive presentation matrix
PIE-UI-002ลด survival stats ผ่านแต่ละ threshold และตรวจ 8 bars/status/low-HP edgesPartial owner pass 2026-09-10 — eight GAS-colored bars and low-HP 30/20/10 edges; Hunger/Thirst/Energy warning-critical matrix not newly reported
PIE-UI-003สลับ Hip/Shoulder/ADS/Melee/Throw/Interact และตรวจ reticlePartial owner pass 2026-09-10 — ADS hides reticle; throw/sledgehammer melee 2026-09-09; Hip/Shoulder/Interact matrix not newly reported
PIE-UI-004ถืออาวุธซ้าย/ขวา/สองมือ; check magazine/chamber; ตรวจ hidden knowledgePartial owner pass 2026-09-10 — L1810 chamber/magazine inspect; GiveBackWeapons keys 1/2; Q1/Q2 2026-09-08; two-hand sledgehammer 2026-09-09; full left/right matrix not newly reported
PIE-UI-005ทดสอบ blood จาก melee/gunshot/explosion และ wet lens จาก rain/swim พร้อมจับเวลาPartial owner pass 2026-09-10 — nearby ApplyDamage 2 m / LOS blood and rain-lens droplets/shelter; melee/gunshot/explosion-specific sources and swim not newly reported
PIE-UI-006เปิด inventory/container; drag, click, context, keyboard/controller, split/take/transfer/sort; Inventory Search is excludedOwner pass 2026-09-12 — G4 UI-CORE-001/UI-CORE-002 KBM inventory: Tab toggle, Worn slots, clothing pickup/equip, plus command rules and pocket drag/drop. G4.2 owner retests exposed drag interception and physical Q1/Q2/hand routing defects; source corrections, Game/Editor builds and focused tests passed. [OWNER-REPORTED G4.2 PASS 2026-09-14] The final Night Ops presentation, responsive layout, focus/opacity correction, retained drag/command/transfer interactions and Search-free header passed. Search was removed by owner decision. Controller remains deferred because hardware is unavailable.
PIE-UI-007เพิ่ม/cancel/persist crafting queue และทำลาย station ระหว่าง craftNot run
PIE-UI-008สร้าง magazine head/loop/tail plan ที่ capacity ตัดกลาง patternNot run
PIE-UI-009สลับ KBM/Xbox/PlayStation ระหว่างทุก CommonUI screen และตรวจ focus/backDeferred — Xbox/PlayStation hardware unavailable; unverified, not failed
PIE-UI-010เปิด menu ใน SP/MP และยืนยัน pause behavior ต่างกันOwner pass 2026-09-14 — G4.4 Option B dedicated-server and Standalone Pause presentation/behavior, including local input blocking, multiplayer continuity and resume/back routes. Owner-reported pass 2026-09-16 for G5 Single Player Save and Exit to Main Menu, dedicated Pause/Exit/restore, and Server Browser Refresh/Join. Controller deferred
PIE-UI-011สลับ English/Thai, UI scale, safe zone, text size และ colorblind presetsPartial overall; owner pass 2026-09-14 for the G4.3/G4.4 English/Thai, HUD Scale, Safe Zone and responsive menu/HUD scope. Text Scale remains absent from G4 Settings. Colorblind presets remain not run. Xbox/PlayStation device switching remains deferred (see PIE-UI-009)
PIE-UI-012ตาย เลือก last bed/fresh town และตรวจ marker lifecycle เมื่อ bag ถูกเก็บ/หมดเวลาOwner pass 2026-09-13 — G4 UI-CORE-005 marker lifecycle plus UI-CORE-006 Last Bed after Sleep and four-town Fresh Spawn. Packed backpack dump, loot-panel take and immediate-respawn HUD refresh already passed 2026-09-12. Sandbox towns are not production geography. Controller deferred

Decisions / Blocking TBDs

  1. TBD-HUD-UI-001Resolved 2026-09-06: Back Weapon 1–2 exclusively own slots 1–2; other bindings are rejected and no manual-binding restore state exists.
  2. TBD-HUD-UI-002Resolved 2026-09-06: Google Sans is approved; Thai coverage, repository/UE target paths, embedded OFL metadata, official source, and retained OFL.txt are verified.
  3. TBD-HUD-UI-003Resolved 2026-09-14: shipping Single Player uses embedded NM_Standalone authority; UI save-list contract remains session-agnostic. Canonical persistence: TECH-NETWORK-ARCH.
  4. TBD-HUD-UI-004 — Steam App ID/integration metadata และ Feedback URL
  5. TBD-HUD-UI-005 — destination เมื่อ station destruction refund เกิน storage capacity
  6. TBD-E2F4910C — achievement catalog, thresholds และ reward payloads (preserved canonical ID)
  7. TBD-HUD-UI-007 — clan naming/tag rules, promote/kick permissions และ log retention
  8. TBD-HUD-UI-008Resolved 2026-09-06: visual tokens, layouts และ 64-icon solid/silhouette kit approved as documented.

Relationships & Source of Truth

เอกสารนี้เป็น source of truth สำหรับ presentation, navigation, widget hierarchy และ player-facing state เท่านั้น Gameplay values, authority และ persistence ยังคงอยู่ใน feature/technical document ที่เชื่อมโยง