OPENHOOPS / 2K14Final team archive · November 9, 2026Reference libraryChecksums

Dated source reference. Current release status: handoff state. Full original relative paths are in the developer archive.

Prepare a roster copy for a matchup

Current source adds the prepare-match CLI and openhoops_roster.match_preparation.prepare_matchup helper. This source-only addition is absent from the published dev7 Windows GUI/ZIP. Use the staged writer on Dell. It creates a separate roster copy with unchanged membership, requested roster order/starting five and native assigned-minute preferences. It neither loads the file nor starts a game.

From the roster-editor source directory:

python run.py prepare-match Source.ROS roster-plan.json Prepared.ROS

The plan has exactly these top-level members. Obtain the source SHA256 and physical player/team rows from that same roster's inspection/export:

{
  "format": "openhoops.roster_preparation",
  "version": 1,
  "source_sha256": "<SHA256 of Source.ROS>",
  "teams": {
    "home": {"team_row": 0},
    "away": {"team_row": 2}
  }
}

Each side may add roster_order and minutes. Roster order must be the complete permutation of existing assigned player rows, with5–20 distinct members; first five become PG/SG/SF/PF/C starters. A five-member source roster [0,1,2,3,4] can request [1,0,2,3,4]. This does not create/import players. Minutes is a list such as [{"player_row":1,"value":32}], referencing assigned players once each, integers0–48. These are coaching preferences, not guaranteed court time or a substitution schedule.

Teams must be two distinct regular exhibition records without shared player records. Native overriding rotation-table entries refuse preparation until reconciled. Unsupported fields, stale source hashes, invalid permutations and existing output/receipt destinations refuse the operation. All participants validate before edits to the private document; source bytes remain untouched.

Output is uppercase ROS plus .ROS.preparation.json, with source/output hashes, order and minutes. native_loaded:false is an authoring receipt, not load evidence. Keep it for review. Extra-field companions retain their separate format; this does not make them native-readable. Two-file saving is not power-loss atomic.

Load the copy through the game menu, open Quick Game, then use the public client for current team/uniform rows, arena, playbooks and options. Start remains manual. New controls require source-only API37/ABI15; published preview2 remains API36/ABI14.

116 Windows writer tests pass. Generated905-team native loading retained both requested starting fives, all roster slots and four changed32/10-minute preferences. Evidence/limits distinguish match-start proof from actual scheduling/full-match acceptance.