┌─ nix/apps/challenge-mode-parser.nix ───────────────────────────────────────┐
│ diff --git a/nix/apps/challenge-mode-parser.nix b/nix/apps/challenge-mode-parser.n │
│ ix │
│ index a17b0a1..17ef588 100644 │
│ --- a/nix/apps/challenge-mode-parser.nix │
│ +++ b/nix/apps/challenge-mode-parser.nix │
│ @@ -21,6 +21,8 @@ │
│ OUTPUT_ROOT = "./web/public/data/leaderboards" │
│ # The number of top runs to collect from each realm's file. │
│ TOP_N_PER_REALM = 50 │
│ + # The number of top runs to keep in final aggregated leaderboards. │
│ + TOP_N_FINAL = 50 │
│ │
│ def parse_and_aggregate_data(): │
│ # finds all fetched leaderboard files, parses them, and aggregates the │
│ data │
│ @@ -115,14 +117,18 @@ │
│ # Deduplicate and sort regional runs │
│ print(f" Deduplicating {region.upper()} runs ({len(runs)} -> │
│ ", end="") │
│ deduplicated_runs = deduplicate_runs(runs) │
│ - print(f"{len(deduplicated_runs)})") │
│ + print(f"{len(deduplicated_runs)} -> ", end="") │
│ deduplicated_runs.sort(key=sort_key) │
│ │
│ + # Limit to top N runs for regional leaderboard │
│ + final_runs = deduplicated_runs[:TOP_N_FINAL] │
│ + print(f"{len(final_runs)})") │
│ + │
│ # Re-rank runs for regional leaderboard │
│ - for i, run in enumerate(deduplicated_runs): │
│ + for i, run in enumerate(final_runs): │
│ run["ranking"] = i + 1 │
│ │
│ - all_regional_runs.extend(deduplicated_runs) │
│ + all_regional_runs.extend(final_runs) │
│ output_dir = os.path.join(regional_path, region, dungeon_slug) │
│ os.makedirs(output_dir, exist_ok=True) │
│ output_file = os.path.join(output_dir, "leaderboard.json") │
│ @@ -132,7 +138,7 @@ │
│ "dungeon_name": data["dungeon_name"], │
│ "dungeon_slug": dungeon_slug, │
│ "region": region, │
│ - "leaderboard": deduplicated_runs, │
│ + "leaderboard": final_runs, │
│ }, f, indent=2) │
│ │
│ # 2. Generate and save GLOBAL leaderboard │
│ @@ -142,11 +148,15 @@ │
│ # Deduplicate global runs (cross-region duplicates) │
│ print(f" Deduplicating global runs ({len(all_regional_runs)} -> │
│ ", end="") │
│ deduplicated_global = deduplicate_runs(all_regional_runs) │
│ - print(f"{len(deduplicated_global)})") │
│ + print(f"{len(deduplicated_global)} -> ", end="") │
│ deduplicated_global.sort(key=sort_key) │
│ │
│ + # Limit to top N runs for global leaderboard │
│ + final_global = deduplicated_global[:TOP_N_FINAL] │
│ + print(f"{len(final_global)})") │
│ + │
│ # Re-rank runs for global leaderboard │
│ - for i, run in enumerate(deduplicated_global): │
│ + for i, run in enumerate(final_global): │
│ run["ranking"] = i + 1 │
│ │
│ global_path = os.path.join(OUTPUT_ROOT, "global", dungeon_slug) │
│ @@ -157,7 +167,7 @@ │
│ json.dump({ │
│ "dungeon_name": data["dungeon_name"], │
│ "dungeon_slug": dungeon_slug, │
│ - "leaderboard": deduplicated_global, │
│ + "leaderboard": final_global, │
│ }, f, indent=2) │
│ │
│ def main(): │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...pps/challenge-mode-parser.nix ───┐
│ diff --git a/nix/apps/challenge-mode-parser. │
│ nix b/nix/apps/challenge-mode-parser.nix │
│ index a17b0a1..17ef588 100644 │
│ --- a/nix/apps/challenge-mode-parser.nix │
│ +++ b/nix/apps/challenge-mode-parser.nix │
│ @@ -21,6 +21,8 @@ │
│ OUTPUT_ROOT = "./web/public/data/lead │
│ erboards" │
│ # The number of top runs to collect f │
│ rom each realm's file. │
│ TOP_N_PER_REALM = 50 │
│ + # The number of top runs to keep in f │
│ inal aggregated leaderboards. │
│ + TOP_N_FINAL = 50 │
│ │
│ def parse_and_aggregate_data(): │
│ # finds all fetched leaderboard f │
│ iles, parses them, and aggregates the data │
│ @@ -115,14 +117,18 @@ │
│ # Deduplicate and sort re │
│ gional runs │
│ print(f" Deduplicating │
│ {region.upper()} runs ({len(runs)} -> ", en │
│ d="") │
│ deduplicated_runs = dedup │
│ licate_runs(runs) │
│ - print(f"{len(deduplicated │
│ _runs)})") │
│ + print(f"{len(deduplicated │
│ _runs)} -> ", end="") │
│ deduplicated_runs.sort(ke │
│ y=sort_key) │
│ │
│ + # Limit to top N runs for │
│ regional leaderboard │
│ + final_runs = deduplicated │
│ _runs[:TOP_N_FINAL] │
│ + print(f"{len(final_runs)} │
│ )") │
│ + │
│ # Re-rank runs for region │
│ al leaderboard │
│ - for i, run in enumerate(d │
│ eduplicated_runs): │
│ + for i, run in enumerate(f │
│ inal_runs): │
│ run["ranking"] = i + │
│ 1 │
│ │
│ - all_regional_runs.extend( │
│ deduplicated_runs) │
│ + all_regional_runs.extend( │
│ final_runs) │
│ output_dir = os.path.join │
│ (regional_path, region, dungeon_slug) │
│ os.makedirs(output_dir, e │
│ xist_ok=True) │
│ output_file = os.path.joi │
│ n(output_dir, "leaderboard.json") │
│ @@ -132,7 +138,7 @@ │
│ "dungeon_name": d │
│ ata["dungeon_name"], │
│ "dungeon_slug": d │
│ ungeon_slug, │
│ "region": region, │
│ - "leaderboard": de │
│ duplicated_runs, │
│ + "leaderboard": fi │
│ nal_runs, │
│ }, f, indent=2) │
│ │
│ # 2. Generate and save GLOBAL │
│ leaderboard │
│ @@ -142,11 +148,15 @@ │
│ # Deduplicate global runs (cr │
│ oss-region duplicates) │
│ print(f" Deduplicating glo │
│ bal runs ({len(all_regional_runs)} -> ", end │
│ ="") │
│ deduplicated_global = dedupli │
│ cate_runs(all_regional_runs) │
│ - print(f"{len(deduplicated_glo │
│ bal)})") │
│ + print(f"{len(deduplicated_glo │
│ bal)} -> ", end="") │
│ deduplicated_global.sort(key= │
│ sort_key) │
│ │
│ + # Limit to top N runs for glo │
│ bal leaderboard │
│ + final_global = deduplicated_g │
│ lobal[:TOP_N_FINAL] │
│ + print(f"{len(final_global)})" │
│ ) │
│ + │
│ # Re-rank runs for global lea │
│ derboard │
│ - for i, run in enumerate(dedup │
│ licated_global): │
│ + for i, run in enumerate(final │
│ _global): │
│ run["ranking"] = i + 1 │
│ │
│ global_path = os.path.join(OU │
│ TPUT_ROOT, "global", dungeon_slug) │
│ @@ -157,7 +167,7 @@ │
│ json.dump({ │
│ "dungeon_name": data[ │
│ "dungeon_name"], │
│ "dungeon_slug": dunge │
│ on_slug, │
│ - "leaderboard": dedupl │
│ icated_global, │
│ + "leaderboard": final_ │
│ global, │
│ }, f, indent=2) │
│ │
│ def main(): │
└──────────────────────────────────────────────┘