Wayfinder: next mtg features
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- full-stack
Research direction
Read services/mtg/GLOSSARY.md and review the candidate pool and prior decisions linked in the issue, starting with issues #104 and #101. Decide which 3 to 5 features to shortlist, bound each against the others, and resolve whether the play group is an entity; done means the roadmap is ready for separate spec grilling, with each old idea adopted, ruled out, or closed.
Written by the indexing model from the issue text.
Description
Destination
A prioritised roadmap of the next 3 to 5 mtg features for me and my play group: each one chosen, bounded against the others, and cut far enough that its own spec grilling can start from it. At most one big chunk (probably the scanner), otherwise medium features of 1-2 weekends each.
Notes
- Domain:
services/mtg+frontend/mtg, glossaryservices/mtg/GLOSSARY.md. Every session calls "grilling" and "domain-modeling". - Audience: me and my play group. Other users are welcome but don't set priority.
- Prioritisation: use at the play table > use for collecting/deckbuilding; effort only breaks ties; technical appeal is a bonus.
- Baseline:
feat/tournament-playcounts as merged (tournaments: Swiss/pods, guests, join codes, decklists, results, standings). Missing there: leagues, cross-event deck winrate/matchups, pod balancing by deck power, live table. - Candidate pool: play table & group, deckbuilding, collection, scanner, import/export, play group as a concept, leagues, plus the old idea issues #4, #6, #7, #8, #9, #10, #12, #24, #76. Each old issue ends up adopted, ruled out or closed.
- Scanner: success = cards per minute in bulk scanning on my Mali phone (latency per card as a sub-goal); correct = exact printing (set + number). Allowed: in the browser and server-side; native app / other hardware only if research shows there is no other way. Current state: ~320 ms/frame on the fast path, name 90/100, exact printing 67/100, WebGPU broken on Mali.
- Plan, don't build: tickets produce decisions, not implementation.
Decisions so far
- Feature survey: what other MTG tools offer: biggest gap is a casual game log (deck winrate, Elo, rivals) without a tournament; leagues as seasons with configurable points; pod balancing by deck power done by nobody yet; #6 and #7 already done in the advisor
- Scanner: what would a server-side matcher buy?: ~0.5-1.1 s per card vs 1-3.5 s on the phone, ~3 GB RAM index on 4 CPU cores, no GPU; the real gain is verifying every printing (accuracy), not raw speed
- Scanner: how fast can a browser scanner get on Mali hardware?: on-device levers exist (OpenCV.js built without SIMD/threads, Tesseract 5 to 7, int8 DINOv2, two-stage workers, one cheap WebGPU retry via JSEP); ceiling ~30-40 cards/min by hand vs an estimated 20-26 today, beyond that the human swapping cards is the limit
- Scanner: is a native app worth it?: no app for now; native gains a few cards/min at most, does nothing for exact printing, and doubles the preprocessing that must match the index; flips only if offline bulk scanning becomes a must or the browser fast path stays over ~1 s/card
Not yet specified
- The cut of each shortlisted feature (leagues, winrate/matchups, collection ideas ...): becomes cuttable once the longlist is reviewed and it's settled whether the play group exists as an entity.
- Whether winrate/matchups build on tournament results only or also capture casual games (life tracker).
- Import/export (Moxfield, Archidekt, Manabrew, Cardmarket wantlists): unclear whether it's its own slot or an accessory of another feature.
Out of scope
- Finishing and merging
feat/tournament-play: it's the baseline, not a step on this map. - Implementation and specs of the chosen features: they come after this map.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 10h 20m
- Merged PRs (30d)
- 36
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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 myOmikron/code
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
wayfinder:task
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
wayfinder:task
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
myOmikron/code#102 · 2 comments ·
Maintainers usually reply within 1 day
-
needs-triage
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
ready-for-agent
Difficulty 5/5 Over a week Newbie friendliness 18/100
Maintainers usually reply within 1 day
Similar issues
-
area:agent-view area:tui bug platform:macos
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
anthropics/claude-code#104558 ·
Maintainers usually reply within 1 day
-
updater
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
UniversityOfHelsinkiCS/oodikone#5141 ·
-
maintanance
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
inmanta/web-console#7606 ·
Maintainers usually reply within 1 day
-
bug skills
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
equinor/fusion-framework#5846 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 74/100