ProjectInventoryUI
April 25, 2026 ยท View on GitHub
Inventory UI plugin built on ProjectUI JSON layout and MVVM.
Behavior SOT
- Inventory behavior and the container layout contract live only in
Plugins/Features/ProjectInventory/docs/design_vision.md. - This README covers UI responsibilities and current implementation notes only.
- Do not fork inventory behavior here.
Purpose
- Display inventory data exposed by
IInventoryReadOnly. - Forward user commands through
IInventoryCommands. - Provide drag/drop, equip targets, command bar, tooltip, and context-menu UI.
Current implementation notes
InventoryViewModelsplits containers into dedicated hands, compact storage, and large storage.- The default runtime
Item.Container.Handscontainer is projected into left and right hand grids by the ViewModel. InventoryViewModelprojects resolved entry data intoFInventoryCellVisualStatearrays. Widgets render these DTOs and do not resolve object definitions.- Visual DTO arrays are the only cell presentation path. Do not add parallel text-array compatibility state.
- Inventory cells render a primary icon/text layer plus a separate quantity badge so stacked icon-backed items do not compete for one text slot.
- Container layout, group ordering, and empty-host collapse behavior are defined only in the behavior SOT above.
- Nearby world storage is presented inside the same screen as a distinct right-side panel; the UI reuses the same grid, tooltip, drag/drop, and capacity primitives rather than creating a second loot framework.
Not responsible for
- Inventory rules, item semantics, or overflow policy.
- Object-definition loading, cache residency, or resolver fallback policy.
- ASC or vitals state.
- World pickup or world-storage rules.
Files
Data/ui_definitions.jsonData/InventoryPanel.jsonSource/ProjectInventoryUI/Public/MVVM/InventoryViewModel.hSource/ProjectInventoryUI/Public/Widgets/W_InventoryPanel.h
Dependencies
- ProjectUI
- ProjectCore
Related docs
- Behavior SOT:
Plugins/Features/ProjectInventory/docs/design_vision.md - Inventory implementation:
Plugins/Features/ProjectInventory/README.md - Inventory architecture:
Plugins/Features/ProjectInventory/docs/architecture.md - ProjectUI MVVM:
Plugins/UI/ProjectUI/docs/ui_mvvm.md - Runtime gotchas:
docs/pitfalls.md - Icon fonts and codepoints:
Plugins/UI/ProjectUI/Content/Slate/Fonts/README.txt