Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Offer one-object use only where a rule handles it

オープン
#46 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
typescript

調査の方向性

Start with packages/engine/src/affordances.ts and packages/engine/src/explore.ts, then trace how apps/web/src/logic/actions.ts and apps/web/src/components/actionSheet.ts use the view affordances. Read docs/spec/content-pack.md sections 7 and 14 and the playtest note in packs/letzte-nacht-der-reichsmark/design/CHANGES.md. Done means the engine and player tests cover both rule-handled and unhandled solo use, both packs’ tap walkthroughs pass, check results are explained, and the spec and prompts/oneshot.md are updated.

索引モデルが issue の本文から書いたものです。

説明

area: engine area: web priority: medium type: feature

Context

Action sheets offer use on every object except characters (spec section 7), and the target picker always adds a one-object choice ("just use it", »nur so«). For most objects the one-object use only produces the pack's or the engine's generic "That doesn't work." Two places stand out:

  • Combining clues: the picker »… kombinieren mit …« also offers »nur so«, which reads oddly. It was kept in v0.1 on purpose: the explorer counts a one-object use on a clue as an offered action, and a pack may have a rule for it, so hiding it only in the player could break the guarantee that everything the verifier counts as offered can be tapped.
  • Scenery: the first noir playtest round noted that use is offered on every piece of scenery (design/CHANGES.md, "Not fixable in the pack").

The fix belongs in the engine: view should state per object whether the one-object use is offered, and the explorer and the player should follow it.

Scope

  • Engine affordances: offer the one-object use X only when a command rule could match it.
  • Keep use in the action sheet as the entry to two-object use. Decide here whether use stays on objects that no use rule mentions in either slot, weighing less noise against revealing which objects matter.
  • The explorer's offered actions follow view (spec section 14), so lexvm check keeps judging exactly what can be tapped.
  • Player: show "just use it" only when view offers the one-object command.
  • Spec sections 7 and 14 updated; prompt kit regenerated.

Acceptance criteria

  • Combining a clue shows no "just use it" (»nur so«) unless a rule handles use on that clue alone.
  • Objects whose one-object use a rule handles still offer it, and the tap walkthrough test passes for both packs.
  • lexvm check results for both packs are unchanged, or every difference is explained in the pull request.
  • Engine and player unit tests cover both cases; docs/spec/content-pack.md and prompts/oneshot.md are updated.

References

  • packages/engine/src/affordances.ts
  • packages/engine/src/explore.ts
  • apps/web/src/logic/actions.ts (allowSolo)
  • apps/web/src/components/actionSheet.ts
  • docs/spec/content-pack.md (sections 7 and 14)
  • packs/letzte-nacht-der-reichsmark/design/CHANGES.md (Playtest round 1)
主要言語
TypeScript
スター
0
フォーク
0
平均マージ
28分
マージ済み PR(30日)
2

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nullthrone/lexvm のほかの issue

nullthrone/lexvm の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。