Fighting Game · Guides & deep dives

Photo Mode Tournament Voting Bridge

Mode titles, captions, extracted text, and tags.

3sections1 minread

On this page

@v2/photo-mode-tournament-voting-bridge closes the §133 Photo Mode tournament and community jury voting integration. It composes @kuanyin/precognition and @themis/voting into the v2.photo-mode-tournament-voting-manifest consumed by V2PhotoMode, V2ReplayTheater, V2CommunityHub, and V2CompanionApp.

Source Packages#

  • @kuanyin/precognition owns the submission moderation pre-pass over Photo Mode titles, captions, extracted text, and tags.
  • @themis/voting owns ranked-choice jury ballots, approval voting, winner certification, and the reciprocal v2.photo-mode-tournament-voting-profile.

Voting Profile#

The reciprocal Themis profile is v2.photo-mode-tournament-voting-profile. Each publishable tournament manifest requires:

  • Kuanyin moderation before voting.
  • At least two moderation-cleared submissions.
  • Ranked-choice jury ballots through RankedChoiceVotingEngine.
  • Approval ballots through ApprovalVotingEngine.
  • Certified winners from the V2-local aggregation of ranked Borda points plus approval satisfaction.

The gRPC surface is libs/proto/v2/photo-mode/photo-mode-tournament.proto; event topics are v2.photo-mode.submission.moderated, v2.photo-mode.vote.ranked.cast, v2.photo-mode.vote.approval.cast, and v2.photo-mode.winners.certified.

Runtime Boundary#

The bridge is off rollback, server-authoritative, and gallery/companion-only. It rejects live gameplay frame RPCs and cannot affect deterministic match simulation, Photo Mode camera capture, replay playback, AI, inventory, damage, or competitive frame outcomes.

CI ownership is enforced by V2/ue/Tools/check-v2-photo-mode-tournament-voting-bridge.py.