systems/EQUIPMENT_AND_UI_LANE.md
Proposal tier, 2026-08-14. Named for Josh's veto.
Josh: *"how do I create the 3d equippable equipment? Or are you doing that and wiring it into the
game too along with UI (UI and menus should be like Diablo and world of Warcraft and FF7R) and with
the unequip-all auto swap to the trousers - so base minimal briefs are never shipped for player
viewing and are simply to protect us from nudity"*
---
RULING A — the trousers ARE the unequip default. The base doll's brief is a nudity floor and is
never rendered to a player. That retires a design I had started: ELVEN_BASE_UNDERGARMENT_DESIGN_BRIEF.md
was specifying a *third* garment between the doll and the trousers, and it does not need to exist.
The layering is two visible states, not three:
| layer | seen by player | what it is |
|---|---|---|
| base doll + minimal brief | never | the nudity floor; exists so an unequipped slot is never bare |
| Inner Court trousers | always, as the floor | what UnequipAll() swaps to |
| everything else | when equipped | rides the 16 paper-doll slots above |
Consequence worth stating: the "no waistband, no seam, no thickness" rule belongs to the **base
doll only**, because that bakes into the body mesh. The trousers keep their petal edge and raised
botanical relief — they are their own skeletal mesh with their own geometry.
Consequence for the base doll's cut: it must sit strictly INSIDE the trousers' coverage envelope —
lower at the waist than the V-front, higher at the leg than the petal edge — or it shows. Josh
caught exactly this on the current ladder.
RULING B — the UI register is Diablo / WoW / FF7R. Those three agree on the fundamentals, which
is what makes it a usable spec rather than a mood: a paper-doll panel with slots arranged around a
live character render, a grid inventory, stat delta on hover-compare, and rarity carried as colour.
---
The split Josh set stands, and equipment is no different from characters.
Josh builds the mesh. Meshy for geometry, Blender for assembly and the photoreal pass. What
lands is a garment mesh fitted to the base doll.
This lane does everything after the file exists:
SetLeaderPoseComponentrequires it and there is no way around that)
T0_Equipment_Registry with its equip_slot, rarity band and seatUHumanityGarmentComponentThe one hard requirement on the handoff: a garment mesh must be skinned to the SAME skeleton as
the base doll. This is why the base doll's silhouette has mattered all along — every piece of gear
in the game is fitted to it, and cloth baked into the doll is a permanent offset every garment
inherits.
---
UHumanityGarmentComponent (239 lines, Source/Humanity/Private/Core/) is real and correct:
EquipPiece(PieceId, SkeletalMesh, Slots)
creates a SkeletalMeshComponent layer
AttachToComponent(Body, SnapToTargetIncludingScale)
SetLeaderPoseComponent(Body) <- follows the body skeleton exactly
SlotOccupancy map evicts the previous holder
UnequipPiece(PieceId) / UnequipAll()
Sixteen paper-doll slots carry an explicit paint order — rings 1, bracers 3, amulet 4, cape 5,
weapons 8 and 9, tiara 10, helmet 11, chest 12, leggings 13, gloves 14, boots 15, belt 16 — and
twelve of them also carry a vril seat (Heart, Sacral, Crown, Throat, Root, SolarPlexus, ThirdEye),
so gear is wired into the seat system rather than being cosmetic.
What does not exist: any equipment or inventory UI. The game ships PlayerHUD, QuestLog, Trade,
PauseMenu and Conversation widgets and nothing else. The component can equip from code today and
there is no way for a player to do it.
---
1. UnequipAll() gains a floor. Today it leaves the bare base doll. It must instead fall back
to the default garment for that character. Small change, and it is the ruling above made real.
2. One equipment piece end to end — the trousers, since they are the default and therefore the
most-seen garment in the game. Mesh → skeleton → registry row → equip → visible in play.
3. The paper-doll panel. Slot frames around a live character render, driven by the 16-slot
order that already exists.
4. Grid inventory + rarity colour, off the 7 item grades in T0_Rarity_Grade.
5. Hover-compare stat delta, which is the piece of the Diablo/WoW register that does the actual
work for a player.
Steps 1 and 2 are worth doing before any UI: a paper doll with nothing correct to show is a slower
way to find out the garment pipeline is wrong.
---
skin. That is a design pass, not an engineering one, and it is Josh's.
never seen either way; the question is only which is cheaper to maintain across seven rungs.