Add an auto-map of visited rooms
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 38/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- accessibility, frontend
Hướng nghiên cứu
Start by reading packages/engine/src/types.ts, packages/engine/src/affordances.ts, and the noir pack map at packs/letzte-nacht-der-reichsmark/design/world.md. Then inspect apps/web/src/components/dock.ts to find the player controls and how themes and sheets are handled. The work is done when the pure helper has unit tests, the noir walkthrough map has no overlaps, unvisited rooms stay unnamed, and the accessible room list and all three themes meet the criteria.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Context
With ten or more rooms (the noir pack has eleven), players on phones lose their bearings. The engine already knows the visited rooms and the exits of each room, so a map needs no format change.
Scope
- Engine: a pure helper (for example
mapView(pack, state)) that returns the visited rooms with their names, the current room, and per visited room its listed exits (direction or custom label). Targets of exits are named only if visited; unvisited targets appear as unexplored stubs. Exits hidden byvisibleWhenare not revealed. - Layout: deterministic placement from compass directions (north, south, east, west, diagonals, up, down); custom exits drawn as labelled links; collisions resolved deterministically without overlapping rooms.
- Player: a map button opens a sheet with an SVG map built with DOM APIs (text as text nodes), current room highlighted, read-only in this version; themed for light, sepia and dark.
- Accessible alternative: a list of visited rooms and their exits.
Acceptance criteria
- After the noir pack's walkthrough the map shows all eleven rooms without overlaps.
- Unvisited rooms are never named.
- The helper is pure and unit-tested; the same state always produces the same layout.
- The list alternative is reachable with a screen reader.
- The map is legible in all three themes.
References
- packages/engine/src/types.ts (View)
- packages/engine/src/affordances.ts
- packs/letzte-nacht-der-reichsmark/design/world.md (Map)
- apps/web/src/components/dock.ts
- Ngôn ngữ chính
- TypeScript
- Star
- 0
- Fork
- 0
- Merge trung bình
- 28 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của nullthrone/lexvm
-
area: web good first issue priority: low type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
nullthrone/lexvm#49 ·
-
area: infra good first issue priority: low type: chore
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
nullthrone/lexvm#41 ·
-
area: engine good first issue priority: low type: feature
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
nullthrone/lexvm#27 ·
-
area: web priority: low type: research
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
nullthrone/lexvm#63 ·
-
area: infra area: web priority: medium type: chore
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 38/100
nullthrone/lexvm#62 ·
Tất cả issue của nullthrone/lexvm
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
body-parser 2.3.0 in the published ai-dial-chat-bff image is vulnerable (CVE-2026-111181, HIGH)Có thể đã có người làm @illya-havsiyevych đã nhận hôm nay. Đang mởbug
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 87/100
epam/ai-dial-chat#9566 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
はさみアイコンを修正するĐang mởbug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
resource.reload() while params is in error switches the resource to 'idle' instead of retryingĐang mởarea: core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày