{{-- Matriz Industria × Demo Filas = industrias, Columnas = demos. Celda: nº de cores + nº de variantes shop + indicador de misiles. --}} @push('styles') @endpush @php // helper para escala heatmap $heatLevel = function($variants) { if ($variants === 0) return 0; if ($variants <= 3) return 1; if ($variants <= 8) return 2; if ($variants <= 20) return 3; return 4; }; @endphp
Densidad por celda (variantes shop empaquetadas): 0 1-3 4-8 9-20 20+ · nº grande = cores · nº chico = variantes shop · M = misiles activos
@foreach($matrix['demos'] as $demo) @endforeach @foreach($matrix['industries'] as $industry) @foreach($matrix['demos'] as $demo) @php $cell = $matrix['cells'][$industry][$demo] ?? null; $level = $heatLevel($cell['variants'] ?? 0); @endphp @if($cell && !empty($cell['cores'])) @else @endif @endforeach @endforeach {{-- Fila de totales --}} @foreach($matrix['demos'] as $demo) @endforeach
Industria \ Demo {{ $demo }}
{{ $matrix['totals']['by_demo'][$demo]['cores'] ?? 0 }} cores · {{ $matrix['totals']['by_demo'][$demo]['variants'] ?? 0 }} variantes
Σ
🏷 {{ $industry }}
{{ $matrix['totals']['by_industry'][$industry]['cores'] ?? 0 }} cores · {{ $matrix['totals']['by_industry'][$industry]['variants'] ?? 0 }} variantes
{{ count($cell['cores']) }}
{{ $cell['variants'] }}v @if($cell['missiles'] > 0) 🎯{{ $cell['missiles'] }} @endif
@foreach($cell['cores'] as $coreSlug) {{ $coreSlug }} @endforeach
· {{ $matrix['totals']['by_industry'][$industry]['variants'] ?? 0 }}
Σ {{ $matrix['totals']['by_demo'][$demo]['variants'] ?? 0 }}
Click en un slug abre la ficha del producto con su salud + componentes + variantes hijas. Celdas vacías = gaps de cobertura: industrias × demos sin core empaquetado todavía.