Add z item management menu with transfer and yes/no confirmation

This commit is contained in:
Jage9
2026-02-28 05:11:49 -05:00
parent 8a2b95ce68
commit b0fa040d33
14 changed files with 476 additions and 28 deletions

View File

@@ -31,7 +31,7 @@ This document is the authoritative keymap for the client.
- `O`: Edit item properties
- `Shift+O`: Inspect all item properties
- `D`: Pick up/drop item
- `Shift+D`: Delete item
- `Z`: Item management menu (delete/transfer when permitted)
- `Enter`: Use item
- `Shift+Enter`: Secondary item action
@@ -82,6 +82,12 @@ Applies to effect select, user/item list modes, item selection, item property li
- `Space`: Read tooltip/help for current option (where metadata is available)
- First-letter navigation: jump to next matching entry
## Yes/No Confirmation Menu
- `ArrowUp` / `ArrowDown`: Move between `No` and `Yes`
- `Enter`: Confirm current choice (default selection is `No`)
- `Escape`: Cancel
## Admin Modes
- `Shift+Z`: Open admin menu

View File

@@ -243,7 +243,7 @@
{
"type": "item_action_result",
"ok": true,
"action": "add | pickup | drop | delete | use | update",
"action": "add | pickup | drop | delete | transfer | use | secondary_use | update",
"message": "human-readable status",
"itemId": "optional-item-id"
}

View File

@@ -27,6 +27,7 @@ This is a behavior guide for packet semantics beyond raw schemas.
- `chat_message`: player chat.
- `ping`: latency measurement.
- `item_add`, `item_pickup`, `item_drop`, `item_delete`, `item_use`, `item_update`: item actions.
- `item_transfer`: transfer item ownership to another connected user.
- `item_secondary_use`: trigger type-specific secondary action when implemented.
- `item_piano_note`: realtime piano note on/off for active piano use mode.
- `item_piano_recording`: piano record/playback control (`toggle_record`, `playback`, `stop_playback`).
@@ -59,6 +60,7 @@ This is a behavior guide for packet semantics beyond raw schemas.
- `item_upsert` is full-state replacement for one item, not partial patch.
- `item_upsert.item.display` is server-owned display text for readonly/system properties (for example: `createdBy`, `updatedBy`, `createdAt`, `updatedAt`, `capabilities`, `useSound`, `emitSound`).
- `item_action_result` messages are intended for direct screen-reader/user status feedback.
- `action` includes: `add`, `pickup`, `drop`, `delete`, `transfer`, `use`, `secondary_use`, `update`
- Successful `item_pickup` and `item_drop` also emit system chat lines to other users in the room.
- Piano runtime control no longer depends on parsing `item_action_result.message` text.
- `item_piano_status` carries machine-readable piano events (`use_mode_entered`, record/playback transitions).