Skip to content

decision(client): three open design questions that block the frame, the hand, and the lobby #654

Description

@ninthworld

Part of #652. Blocks the frame, the hand, and the lobby. No code.

Objective

Get three design decisions made that docs/client-design.md §9 leaves open. Each one changes what
gets built, and none of them can be defaulted by an implementer without inventing product design.

These are questions for the maintainer. An agent picking up this issue should present the
options and the trade-offs and then stop — do not choose.

Decision 1 — the seat bar at the Tall and Short bands

Life must never degrade (§3, "what never degrades"). But a seat bar at 360px wide cannot carry
name + life + library/hand/graveyard/exile counts + status marks + the commander state.

  • Proposal in the spec: life and status stay always-visible; zone counts fold into one
    expandable control.
  • Alternatives: counts move into a per-seat drawer; counts become icon+number with no labels; the
    opponent's bar degrades further than yours.
  • What it changes: PlayerPanel.tsx, and whether ZonePanel has a compact form at all.

Decision 2 — where the action affordance sits on touch

Tier 1 requires a fixed, known place to act. On a phone the hand is also tier 1 and also
bottom-anchored, and they compete for the only comfortably reachable region.

  • Options: a bar above the hand (matches desktop, costs hand height); a floating primary control
    over the hand's edge; the hand collapsing to a peek strip whenever an action is pending.
  • What it changes: ActionDock.tsx, Hand.tsx, and the Short/Tall arrangements in §4.

Decision 3 — the lobby's register

"Styled forms" is not an answer, and the maintainer has said the current lobby needs a complete
redesign. What should the lobby be?

  • A room you walk into (spatial, continuous with the table)

  • A table you sit down at (the table itself, pre-game)

  • A modern client shell (rows, filters, a deck locker — continuous with the deck builder)

  • What it changes: everything in clients/web/src/ui/lobby/, and whether the lobby shares the
    scene model or is a conventional responsive layout.

Plan for whoever picks this up

  1. Present each decision with a concrete mock or ASCII sketch per option — the maintainer has said
    design decisions must be made before code, and options are easier to judge drawn than described.
  2. Record the answers in docs/client-design.md §9, converting each open question into a stated
    rule in the relevant section.
  3. Close this issue by unblocking the three children that depend on it.

Guard rails

  • Do not implement anything. Do not pick a default and proceed.
  • Do not widen the question set — three decisions, no more.

Acceptance criteria

  • Each of the three has a stated answer in docs/client-design.md, in the section it belongs
    to rather than in the open-questions list.
  • §9 is empty, or contains only questions raised after this issue.

Done when

The frame, hand, and lobby issues can be implemented without asking anything.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions