Offer show and give in a character's action sheet
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 54/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend, documentation, frontend
Research direction
Start with packages/engine/src/affordances.ts and apps/web/src/logic/actions.ts, then read the action sheet guidance in docs/spec/content-pack.md section 7 and the interaction ADR. Check the existing coverage in apps/web/test/actions.test.ts and find the engine and end-to-end test entry points. Done when character sheets offer the specified actions, the canonical command and exploration results remain unchanged, tests cover the flow, and both named docs are updated.
Written by the indexing model from the issue text.
Description
Context
Interrogations are built on showing clues to characters. By default view offers show and give only on carried objects while a character is present (item first). Tapping a character offers look and talk, although "tap the character, Show, pick the item" is the natural flow. The player already supports that flow (apps/web/src/logic/actions.ts, targetModel with slot object), but it is reachable only when a pack lists show or give in the character's verbs, which neither bundled pack does.
Scope
- Engine affordances: for a character present in the room, offer
showwhen the player carries an item or clue, andgivewhen the player carries a non-clue item, without the pack listing them. - Player: the command stays
show <item> <npc>, so logs are identical to the item-first path. - Spec section 7 (action sheets) updated. The offered actions of section 14 do not change (the same commands are already offered item first), so exploration results stay the same.
- Prompt kit regenerated because the spec changes.
Acceptance criteria
- Tapping a character while carrying items offers Show, and Give for non-clue items.
- Choosing an item issues the same canonical command as the item-first path.
-
lexvm checkresults for both packs are unchanged, including the number of explored states. - Engine and player unit tests cover the new sheet; an end-to-end test shows an item through the character.
- docs/spec/content-pack.md and prompts/oneshot.md are updated.
References
- packages/engine/src/affordances.ts
- apps/web/src/logic/actions.ts
- apps/web/test/actions.test.ts
- docs/spec/content-pack.md (sections 7 and 14)
- docs/adr/0002-tap-first-interaction-with-optional-parser.md
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 28m
- Merged PRs (30d)
- 2
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nullthrone/lexvm
-
area: web good first issue priority: low type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
nullthrone/lexvm#49 ·
-
area: infra good first issue priority: low type: chore
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
nullthrone/lexvm#41 ·
-
area: engine good first issue priority: low type: feature
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
nullthrone/lexvm#27 ·
-
area: web priority: low type: research
Difficulty 5/5 Over a week Newbie friendliness 35/100
nullthrone/lexvm#63 ·
-
area: infra area: web priority: medium type: chore
Difficulty 5/5 Over a week Newbie friendliness 38/100
nullthrone/lexvm#62 ·
All issues in nullthrone/lexvm
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
lyswhut/lx-music-desktop#3026 ·
-
area: ci type: test
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
schlessera/brain-kit#2769 ·
Maintainers usually reply within 1 day
-
Read a vector index's quantization back on Neo4j 2026.10, which reports vector.quantization.typeOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
liberation-data/drivine#231 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
alveusgg/alveusgg#2502 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day