import type { ArenaStageManifest } from "./arenaTypes"; export interface ArenaCameraPose { readonly position: [number, number, number]; readonly target: [number, number, number]; } export function arenaCameraPose(stage: ArenaStageManifest, team: 0 | 1): ArenaCameraPose { const centerX = (stage.bounds.min[0] + stage.bounds.max[0]) / 2; const centerZ = (stage.bounds.min[2] + stage.bounds.max[2]) / 2; const floorY = Math.min(...stage.teamSpawns.map((spawn) => spawn[1])); return { position: [...stage.spectatorPositions[team]], target: [centerX, floorY + 1.2, centerZ], }; }