Here are all five 3D arena Blade snippets, ready to copy–paste into a text file. Each assumes you’ve saved the new 3D PNGs into public/img/ with the filenames shown in the comments.
1) CFL Speedway – 3D Indy Oval
Save as resources/views/arena/race-3d.blade.php (or merge into your existing race view).
text
{{-- Background image: public/img/cfl-speedway-indy-oval.png --}}
@extends('layouts.app')
@section('content')
CFL Speedway – NNT Indy Series (3D)
{{-- 3D Indy track background --}}
{{-- HUD text --}}
CFL Speedway – NNT Indy Series
{{ $homeTeam->name }} (Apex)
{{ $awayTeam->name }} (Vanguard)
Showing {{ $homePlayers->count() }} vs {{ $awayPlayers->count() }} cars
{{-- Player labels mapped loosely to car positions on the 3D oval --}}
@foreach($homePlayers as $index => $player)
@php
// Approximate positions for Apex cars
$positions = [
['top' => '62%', 'left' => '30%'],
['top' => '45%', 'left' => '72%'],
['top' => '30%', 'left' => '18%'],
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
P{{ $index + 1 }} – {{ $player->first_name }}
@endforeach
@foreach($awayPlayers as $index => $player)
@php
// Approximate positions for Vanguard cars
$positions = [
['top' => '70%', 'left' => '55%'],
['top' => '40%', 'left' => '50%'],
['top' => '25%', 'left' => '80%'],
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
P{{ $index + 1 + $homePlayers->count() }} – {{ $player->first_name }}
@endforeach
@endsection
2) CFL Championship Course – 3D Golf
Save as resources/views/arena/golf-3d.blade.php.
text
{{-- Background image: public/img/cfl-golf-course-3d-gamified.png --}}
@extends('layouts.app')
@section('content')
CFL Championship Course – Golf (3D)
{{-- 3D golf course background --}}
CFL Championship Course – Live Round
{{ $homeTeam->name }}
{{ $awayTeam->name }}
{{ $homePlayers->count() }} vs {{ $awayPlayers->count() }} golfers
{{-- Apex players on later holes (right side of map) --}}
@foreach($homePlayers as $index => $player)
@php
$positions = [
['top' => '28%', 'left' => '72%'], // hole 15 area
['top' => '40%', 'left' => '60%'],
['top' => '52%', 'left' => '78%'],
['top' => '62%', 'left' => '66%'],
['top' => '70%', 'left' => '82%'],
['top' => '50%', 'left' => '90%'],
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
{{ $player->first_name }}
@endforeach
{{-- Vanguard players on earlier holes (left / mid) --}}
@foreach($awayPlayers as $index => $player)
@php
$positions = [
['top' => '32%', 'left' => '24%'],
['top' => '44%', 'left' => '18%'],
['top' => '56%', 'left' => '30%'],
['top' => '68%', 'left' => '22%'],
['top' => '38%', 'left' => '40%'],
['top' => '60%', 'left' => '46%'],
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
{{ $player->first_name }}
@endforeach
@endsection
3) CFL Ice Arena – 3D Hockey
Save as resources/views/arena/hockey-3d.blade.php.
text
{{-- Background image: public/img/cfl-hockey-3d-gamified.png --}}
@extends('layouts.app')
@section('content')
CFL Ice Arena – Hockey (3D)
{{-- 3D ice rink background --}}
CFL Ice Arena – Live Match
{{ $homeTeam->name }}
{{ $awayTeam->name }}
{{ $homePlayers->count() }} vs {{ $awayPlayers->count() }} skaters
{{-- Apex attacking right goal --}}
@foreach($homePlayers as $index => $player)
@php
$positions = [
['top' => '50%', 'left' => '58%'], // center
['top' => '45%', 'left' => '64%'], // RW
['top' => '55%', 'left' => '64%'], // LW
['top' => '40%', 'left' => '52%'], // RD
['top' => '60%', 'left' => '52%'], // LD
['top' => '50%', 'left' => '46%'], // goalie
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
{{ $player->first_name }}
@endforeach
{{-- Vanguard defending right goal / attacking left --}}
@foreach($awayPlayers as $index => $player)
@php
$positions = [
['top' => '50%', 'left' => '42%'],
['top' => '45%', 'left' => '36%'],
['top' => '55%', 'left' => '36%'],
['top' => '40%', 'left' => '48%'],
['top' => '60%', 'left' => '48%'],
['top' => '50%', 'left' => '54%'],
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
{{ $player->first_name }}
@endforeach
@endsection
4) CFL Hoops Arena – 3D Basketball
Save as resources/views/arena/basketball-3d.blade.php.
text
{{-- Background image: public/img/cfl-basketball-3d-gamified.png --}}
@extends('layouts.app')
@section('content')
CFL Hoops Arena – Basketball (3D)
{{-- 3D basketball court background --}}
CFL Hoops Arena – Live Game
{{ $homeTeam->name }}
{{ $awayTeam->name }}
{{ $homePlayers->count() }} vs {{ $awayPlayers->count() }} players
{{-- Apex offense attacking right basket --}}
@foreach($homePlayers as $index => $player)
@php
$positions = [
['top' => '58%', 'left' => '58%'], // PG
['top' => '50%', 'left' => '65%'], // SG
['top' => '66%', 'left' => '65%'], // SF
['top' => '50%', 'left' => '52%'], // PF
['top' => '66%', 'left' => '52%'], // C
['top' => '74%', 'left' => '60%'], // bench / extra
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
{{ $player->first_name }}
@endforeach
{{-- Vanguard defending / on offense left side --}}
@foreach($awayPlayers as $index => $player)
@php
$positions = [
['top' => '58%', 'left' => '42%'],
['top' => '50%', 'left' => '35%'],
['top' => '66%', 'left' => '35%'],
['top' => '50%', 'left' => '48%'],
['top' => '66%', 'left' => '48%'],
['top' => '74%', 'left' => '40%'],
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
{{ $player->first_name }}
@endforeach
@endsection
5) CFL Ballpark – 3D Baseball
Save as resources/views/arena/baseball-3d.blade.php.
text
{{-- Background image: public/img/cfl-baseball-3d-gamified.png --}}
@extends('layouts.app')
@section('content')
CFL Ballpark – Baseball (3D)
{{-- 3D baseball field background --}}
CFL Ballpark – Live Game
{{ $homeTeam->name }} (fielding)
{{ $awayTeam->name }} (batting)
{{ $homePlayers->count() }} vs {{ $awayPlayers->count() }} players
{{-- Apex fielders --}}
@foreach($homePlayers as $index => $player)
@php
$positions = [
['top' => '58%', 'left' => '52%'], // pitcher
['top' => '70%', 'left' => '52%'], // catcher
['top' => '62%', 'left' => '64%'], // 1B
['top' => '48%', 'left' => '52%'], // 2B
['top' => '62%', 'left' => '40%'], // 3B
['top' => '32%', 'left' => '52%'], // CF
];
$pos = $positions[$index] ?? $positions[array_key_first($positions)];
@endphp
{{ $player->first_name }}
@endforeach
{{-- Vanguard runners / batter --}}
@foreach($awayPlayers as $index => $player)
@php
$basePath = [
['top' => '74%', 'left' => '52%'], // batter at home
['top' => '66%', 'left' => '68%'], // 1B
['top' => '50%', 'left' => '68%'], // between 1st & 2nd
['top' => '40%', 'left' => '52%'], // 2B
['top' => '50%', 'left' => '36%'], // between 2nd & 3rd
['top' => '66%', 'left' => '36%'], // 3B
];
$pos = $basePath[$index] ?? $basePath[array_key_first($basePath)];
@endphp
{{ $player->first_name }}
@endforeach
@endsection