Skip to content

EncounterLibraryRow shows global party count as if it were per-encounter #161

@gwillish

Description

@gwillish

EncounterAndPartyRootView.swift:189 passes partyCount (the global activePartyPlayers.count, :66) into every row as playerCount, which EncounterLibraryRow uses to compute the difficulty/BP rating (EncounterLibraryRow.swift:22–32).

Consequences:

  • Every row shows a rating against the current party — identical across rows.
  • All rows recompute at once when the party changes, causing list-wide reflow.
  • The subtitle appears/disappears depending on whether all adversaries resolve in the compendium (EncounterLibraryRow.swift:25), so row heights vary with load timing.

The value is real and useful, but attributing it per-row implies a per-encounter number that does not exist.

Acceptance

  • Either (a) label the rating explicitly as "vs current party," or (b) show a per-encounter metric (e.g. adversary count). Decide which here.
  • Row height should not depend on compendium load timing.

Filed from architecture review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions