MF-TST-117
Regressões do Playtest 0.4.1
Estatístico
Um passe errado precisa produzir uma sobra física em posição plausível e variada; a bola não pode simplesmente teleportar para uma zona abstrata do alvo.
Ver teste técnico
- Nome técnico
failed passes produce spatially varied loose-ball trajectories instead of teleporting possession to the abstract target area
- Identificador Vitest
Engine football specification — passing statistical regression > failed passes produce spatially varied loose-ball trajectories instead of teleporting possession to the abstract target area
- Arquivo
resources/js/coach/engine/__tests__/passing-statistical.test.ts
MF-TST-118
Regressões do Playtest 0.4.1
Cenário
Depois de um passe imperfeito, a posse seguinte depende de quem realmente consegue chegar primeiro à sobra produzida pela trajetória.
Ver teste técnico
- Nome técnico
a teammate can reach a misplaced pass before the opposition when the actual loose-ball trajectory favors him
- Identificador Vitest
Engine football specification — passing statistical regression > a teammate can reach a misplaced pass before the opposition when the actual loose-ball trajectory favors him
- Arquivo
resources/js/coach/engine/__tests__/passing-statistical.test.ts
MF-TST-119
Regressões do Playtest 0.4.1
Cenário
Um marcador relativamente próximo, mas fora do alcance real da linha da bola, não pode transformar um passe curto simples numa loteria artificial.
Ver teste técnico
- Nome técnico
a defender six metres from a short passing lane does not create a phantom coin-flip
- Identificador Vitest
Engine football specification — passing > a defender six metres from a short passing lane does not create a phantom coin-flip
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-120
Regressões do Playtest 0.4.1
Invariante
Alcance de interceptação considera direção e inércia; um defensor já convergindo para a linha da bola ameaça mais do que outro que precisa frear e virar.
Ver teste técnico
- Nome técnico
an interceptor moving toward the passing lane is more dangerous than one turning 180 degrees to recover
- Identificador Vitest
Engine football specification — passing > an interceptor moving toward the passing lane is more dangerous than one turning 180 degrees to recover
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-121
Regressões do Playtest 0.4.1
Ecossistema
A redução para 180 rounds não pode destruir gols, volume de chutes, conversão, passes longos nem o perfil físico da partida completa.
Ver teste técnico
- Nome técnico
Engine v4 — 180-round ecosystem stays inside the football profile
- Identificador Vitest
Engine football specification — ecosystem regression > Engine v4 — 180-round ecosystem stays inside the football profile
- Arquivo
resources/js/coach/engine/__tests__/match-regression.test.ts
MF-TST-122
Regressões do Playtest 0.4.1
Integridade/versionamento
A Engine 0.4.1 representa noventa minutos em 180 rounds, mantendo o relógio coerente sem alterar as engines históricas.
Ver teste técnico
- Nome técnico
Engine 0.4.1 maps 180 rounds to a 90-minute match
- Identificador Vitest
Engine football specification — match invariants > Engine 0.4.1 maps 180 rounds to a 90-minute match
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-123
Regressões do Playtest 0.4.1
Integridade/versionamento
O intervalo da Engine 0.4.1 acontece exatamente aos 45 minutos, na rodada 90, e a simulação continua normalmente depois dele.
Ver teste técnico
- Nome técnico
half-time occurs on round 90 and automatic play can continue afterwards
- Identificador Vitest
Engine football specification — match invariants > half-time occurs on round 90 and automatic play can continue afterwards
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-124
Regressões do Playtest 0.4.1
Cenário
Um NPC em situação ofensiva razoável considera finalizar em vez de carregar a bola indefinidamente por uma regra rígida de distância.
Ver teste técnico
- Nome técnico
a clear central chance around 20m is not treated as an automatic dribble
- Identificador Vitest
Engine football specification — NPC decisions > a clear central chance around 20m is not treated as an automatic dribble
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-125
Regressões do Playtest 0.4.1
Cenário
Quando há espaço livre para progredir, o portador valoriza avançar em vez de entrar num ciclo de passes laterais sem ganho territorial.
Ver teste técnico
- Nome técnico
a free attacker carries forward instead of endlessly recycling a lateral pass
- Identificador Vitest
Engine football specification — NPC decisions > a free attacker carries forward instead of endlessly recycling a lateral pass
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-126
Regressões do Playtest 0.4.1
Invariante
A instrução de risco altera a intenção do NPC: comportamento misto favorece progressão útil, enquanto uma orientação segura ainda pode reciclar a posse.
Ver teste técnico
- Nome técnico
mixed risk values useful progression while safe risk can still recycle laterally
- Identificador Vitest
Engine football specification — NPC decisions > mixed risk values useful progression while safe risk can still recycle laterally
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-127
Regressões do Playtest 0.4.1
Cenário
O apoio sem bola reage ao local real da posse e não retorna mecanicamente para uma coordenada tática desatualizada enquanto o ataque já avançou.
Ver teste técnico
- Nome técnico
an advanced possession pulls a normal teammate forward instead of back to a stale phase marker
- Identificador Vitest
Engine v4 football specification — movement and inertia > an advanced possession pulls a normal teammate forward instead of back to a stale phase marker
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-128
Regressões do Playtest 0.4.1
Cenário
O intervalo recupera fortemente a energia curta de um jogador moderadamente cansado, sem devolver a reserva física de longo prazo.
Ver teste técnico
- Nome técnico
half-time returns moderately tired players close to full stamina without restoring resistance
- Identificador Vitest
Engine football specification — stamina and resistance > half-time returns moderately tired players close to full stamina without restoring resistance
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-129
Regressões do Playtest 0.4.1
Cenário
Um jogador quase exaurido melhora muito no intervalo, mas ainda pode retornar abaixo de 100% e continuar carregando o custo do primeiro tempo.
Ver teste técnico
- Nome técnico
half-time strongly recovers near exhaustion but can leave the player below full stamina
- Identificador Vitest
Engine football specification — stamina and resistance > half-time strongly recovers near exhaustion but can leave the player below full stamina
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-130
Regressões do Playtest 0.4.1
Invariante
Duelos de movimento consideram velocidade e direção prévias, reduzindo o alcance imediato de quem precisa fazer uma mudança brusca de sentido.
Ver teste técnico
- Nome técnico
a defender already moving toward the route has more real reach than one who must turn around
- Identificador Vitest
Engine football specification — dribbling and movement duels > a defender already moving toward the route has more real reach than one who must turn around
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-131
Regressões do Playtest 0.4.1
Cenário
O lateral nasce na linha correta do campo e com o time correto executando a reposição, em vez de apenas transferir posse abstratamente.
Ver teste técnico
- Nome técnico
throw-in moves the thrower to the exact touchline and restarts with the awarded side
- Identificador Vitest
Engine football specification — stoppages and restarts > throw-in moves the thrower to the exact touchline and restarts with the awarded side
- Arquivo
resources/js/coach/engine/__tests__/restarts.test.ts
MF-TST-132
Regressões do Playtest 0.4.1
Cenário
A cobrança lateral produz uma trajetória curta para um companheiro próximo, preservando a natureza física da reposição.
Ver teste técnico
- Nome técnico
throw-in is executed with the hands to a nearby teammate instead of teleporting possession
- Identificador Vitest
Engine football specification — stoppages and restarts > throw-in is executed with the hands to a nearby teammate instead of teleporting possession
- Arquivo
resources/js/coach/engine/__tests__/restarts.test.ts
MF-TST-133
Regressões do Playtest 0.4.1
Integridade/versionamento
Reabrir uma partida em andamento restaura rodada, placar, jogadores, energia, RNG e posse do último snapshot em vez de reconstruir o pontapé inicial.
Ver teste técnico
- Nome técnico
competition match resumes the compact snapshot instead of rebuilding kickoff
- Identificador Vitest
Engine 0.4.1 — persisted match rehydration > competition match resumes the compact snapshot instead of rebuilding kickoff
- Arquivo
resources/js/coach/engine/__tests__/rehydration.test.ts
MF-TST-134
Regressões do Playtest 0.4.1
Cenário
Depois de encaixar uma defesa, o goleiro controla a bola por tempo suficiente para a jogada reorganizar antes de um novo duelo imediato.
Ver teste técnico
- Nome técnico
a goalkeeper who catches a shot keeps protected possession for the next two rounds
- Identificador Vitest
Engine 0.4.1 — protected goalkeeper possession > a goalkeeper who catches a shot keeps protected possession for the next two rounds
- Arquivo
resources/js/coach/engine/__tests__/goalkeeper-possession.test.ts
MF-TST-135
Regressões do Playtest 0.4.1
Integridade/versionamento
Uma partida realmente nova ainda cria o snapshot inicial na sequência zero.
Ver teste técnico
- Nome técnico
a fresh match starts persistence at kickoff sequence zero
- Identificador Vitest
Engine 0.4.1 — snapshot persistence after re-entry > a fresh match starts persistence at kickoff sequence zero
- Arquivo
resources/js/coach/engine/__tests__/snapshot-persistence.test.ts
MF-TST-136
Regressões do Playtest 0.4.1
Integridade/versionamento
Reentrar numa partida continua da última sequência persistida — por exemplo, 52 para 53 — e nunca grava novamente o kickoff zero por cima do histórico.
Ver teste técnico
- Nome técnico
a resumed match keeps the persisted sequence and must not rewrite kickoff
- Identificador Vitest
Engine 0.4.1 — snapshot persistence after re-entry > a resumed match keeps the persisted sequence and must not rewrite kickoff
- Arquivo
resources/js/coach/engine/__tests__/snapshot-persistence.test.ts
MF-TST-138
Estabilidade e balanceamento 0.4.2
Cenário
Uma sobra de passe errado é disputada apenas pelo jogador mais próximo de cada lado. Jogadores distantes, inclusive goleiros, não entram na corrida imediata apenas por terem pace alto.
Ver teste técnico
- Nome técnico
a loose ball is contested only by the nearest player from each team
- Identificador Vitest
Engine 0.4.2 — final stability regressions > a loose ball is contested only by the nearest player from each team
- Arquivo
resources/js/coach/engine/__tests__/engine-042-stability.test.ts
MF-TST-139
Estabilidade e balanceamento 0.4.2
Decisão NPC
Um portador sem pressão que só possui reciclagem lateral ou para trás precisa tentar ganhar terreno antes de escolher outro passe equivalente. Depois de progredir, a circulação volta a ser uma opção normal.
Ver teste técnico
- Nome técnico
a free ball carrier must advance once before recycling another pass
- Identificador Vitest
Engine 0.4.2 — final stability regressions > a free ball carrier must advance once before recycling another pass
- Arquivo
resources/js/coach/engine/__tests__/engine-042-stability.test.ts
MF-TST-140
Estabilidade e balanceamento 0.4.2
Cenário
O goleiro não abandona artificialmente a pequena área enquanto ao menos um zagueiro ainda está entre o atacante e o gol.
Ver teste técnico
- Nome técnico
goalkeeper stays inside the goal area while a defender is still between attacker and goal
- Identificador Vitest
Engine 0.4.2 — final stability regressions > goalkeeper stays inside the goal area while a defender is still between attacker and goal
- Arquivo
resources/js/coach/engine/__tests__/engine-042-stability.test.ts
MF-TST-141
Estabilidade e balanceamento 0.4.2
Cenário
Quando o atacante rompe de fato toda a linha de zagueiros, o goleiro continua autorizado a sair para fechar o ângulo.
Ver teste técnico
- Nome técnico
goalkeeper may leave the goal area after the attacker has passed every defender
- Identificador Vitest
Engine 0.4.2 — final stability regressions > goalkeeper may leave the goal area after the attacker has passed every defender
- Arquivo
resources/js/coach/engine/__tests__/engine-042-stability.test.ts
MF-TST-142
Estabilidade e balanceamento 0.4.2
Stamina / instruções
Um jogador estafado preserva a ordem original do dono, assume temporariamente comportamento conservador para poupar energia e recupera automaticamente a instrução original quando volta à faixa funcional. A representação visual de cansaço permanece independente desse contrato.
Ver teste técnico
- Nome técnico
low stamina temporarily overrides individual orders and restores them after recovery
- Identificador Vitest
Engine 0.4.2 — final stability regressions > low stamina temporarily overrides individual orders and restores them after recovery
- Arquivo
resources/js/coach/engine/__tests__/engine-042-stability.test.ts
MF-TST-143
Estabilidade e balanceamento 0.4.2
Integração / duração
O bootstrap real do campeonato usa 180 rounds na linha Engine 0.4.1 ou posterior, em vez de voltar acidentalmente para 360 por comparar o ID interno errado.
Ver teste técnico
- Nome técnico
competition matches on the 0.4.1+ engine line use 180 rounds
- Identificador Vitest
Engine 0.4.2 — championship balance regressions > competition matches on the 0.4.1+ engine line use 180 rounds
- Arquivo
resources/js/coach/engine/__tests__/engine-042-balance.test.ts
MF-TST-144
Estabilidade e balanceamento 0.4.2
Balanceamento
Um especialista em drible dentro da faixa realmente gerada no campeonato precisa ter vantagem perceptível sobre um defensor comum, sem transformar todo duelo em sucesso automático.
Ver teste técnico
- Nome técnico
a championship-level dribbling specialist has a clear edge over an ordinary defender
- Identificador Vitest
Engine 0.4.2 — championship balance regressions > a championship-level dribbling specialist has a clear edge over an ordinary defender
- Arquivo
resources/js/coach/engine/__tests__/engine-042-balance.test.ts
MF-TST-145
Estabilidade e balanceamento 0.4.2
Balanceamento
Um bom finalizador do elenco real, em chance central a dez metros, continua enfrentando o goleiro mas produz uma oportunidade verdadeiramente perigosa. Chutes longos e situações pressionadas continuam protegidos pelos contratos anteriores.
Ver teste técnico
- Nome técnico
a strong championship finisher has a dangerous central ten-metre chance against a strong goalkeeper
- Identificador Vitest
Engine 0.4.2 — championship balance regressions > a strong championship finisher has a dangerous central ten-metre chance against a strong goalkeeper
- Arquivo
resources/js/coach/engine/__tests__/engine-042-balance.test.ts
MF-TST-146
Estabilidade e balanceamento 0.4.2
Passe / bola perdida
O passe errado não exclui artificialmente quem passou nem o receptor pretendido da disputa pela sobra. Se um deles for realmente o jogador mais próximo de sua equipe ao ponto onde a bola caiu, ele é o representante daquele lado; isso impede que um terceiro jogador distante seja escolhido e teleportado até a bola.
Ver teste técnico
- Nome técnico
the passer and intended receiver remain eligible when either is nearest to a loose ball
- Identificador Vitest
Engine 0.4.2 — final stability regressions > the passer and intended receiver remain eligible when either is nearest to a loose ball
- Arquivo
resources/js/coach/engine/__tests__/engine-042-stability.test.ts
MF-TST-147
Estabilidade e balanceamento 0.4.2
Integridade/versionamento
As Engines 0.4.0 e 0.4.1 permanecem ligadas a módulos congelados, enquanto a 0.4.2 usa a implementação corrente. Atualizações futuras não podem reescrever partidas históricas das duas versões anteriores.
Ver teste técnico
- Nome técnico
version selector freezes Engine 0.4.1 and exposes Engine 0.4.2 as the current engine
- Identificador Vitest
Engine version isolation > version selector freezes Engine 0.4.1 and exposes Engine 0.4.2 as the current engine
- Arquivo
resources/js/coach/engine/__tests__/engine-versioning.test.ts
MF-TST-001
Finalização
Estatístico
Executa milhares de chutes seedados e exige que a taxa de gols observada acompanhe a probabilidade que a interface apresenta ao jogador.
Ver teste técnico
- Nome técnico
displayed goal probability matches seeded match resolution
- Identificador Vitest
Engine football specification — shooting statistical regression > displayed goal probability matches seeded match resolution
- Arquivo
resources/js/coach/engine/__tests__/shooting-statistical.test.ts
MF-TST-002
Finalização
Estatístico
Confirma que chutes muito longos terminam fora do alvo com muito mais frequência do que finalizações próximas.
Ver teste técnico
- Nome técnico
very long shots miss the target much more often than close shots
- Identificador Vitest
Engine football specification — shooting statistical regression > very long shots miss the target much more often than close shots
- Arquivo
resources/js/coach/engine/__tests__/shooting-statistical.test.ts
MF-TST-003
Finalização
Estatístico
Num gol aberto a seis metros, a enorme maioria dos resultados deve ser gol; não pode surgir uma defesa fantasma.
Ver teste técnico
- Nome técnico
open-goal six-metre finishes are overwhelmingly goals rather than saves
- Identificador Vitest
Engine football specification — shooting statistical regression > open-goal six-metre finishes are overwhelmingly goals rather than saves
- Arquivo
resources/js/coach/engine/__tests__/shooting-statistical.test.ts
MF-TST-004
Finalização
Cenário
Um jogador competente diante de um gol vazio a seis metros deve marcar quase sempre.
Ver teste técnico
- Nome técnico
a central open goal from six metres is practically certain
- Identificador Vitest
Engine football specification — shooting > a central open goal from six metres is practically certain
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-005
Finalização
Cenário
Um mano a mano central a dez metros deve ser uma grande chance, mas ainda permitir defesa ou erro.
Ver teste técnico
- Nome técnico
a central one-on-one from ten metres stays dangerous without becoming automatic
- Identificador Vitest
Engine football specification — shooting > a central one-on-one from ten metres stays dangerous without becoming automatic
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-006
Finalização
Cenário
Uma finalização central de 25 metros precisa continuar possível, porém ser claramente uma chance baixa.
Ver teste técnico
- Nome técnico
a central shot from 25 metres is a low-probability chance
- Identificador Vitest
Engine football specification — shooting > a central shot from 25 metres is a low-probability chance
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-007
Finalização
Cenário
Marcar de 40 metros deve ser um evento excepcional, não uma estratégia comum.
Ver teste técnico
- Nome técnico
a central shot from 40 metres is exceptional
- Identificador Vitest
Engine football specification — shooting > a central shot from 40 metres is exceptional
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-008
Finalização
Cenário
Um gol de 50 metros pode acontecer, mas precisa pertencer à cauda extrema da distribuição.
Ver teste técnico
- Nome técnico
a central shot from 50 metres is extremely exceptional
- Identificador Vitest
Engine football specification — shooting > a central shot from 50 metres is extremely exceptional
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-009
Finalização
Cenário
Mantendo o resto equivalente, afastar o chute do gol nunca pode aumentar sua chance de entrar.
Ver teste técnico
- Nome técnico
distance never improves an otherwise equivalent shot with the goalkeeper near the goal line
- Identificador Vitest
Engine football specification — shooting > distance never improves an otherwise equivalent shot with the goalkeeper near the goal line
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-010
Finalização
Cenário
Trocar apenas o goleiro por um melhor deve reduzir a chance de gol no mesmo lance.
Ver teste técnico
- Nome técnico
a better goalkeeper lowers the chance in the same one-on-one
- Identificador Vitest
Engine football specification — shooting > a better goalkeeper lowers the chance in the same one-on-one
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-011
Finalização
Cenário
Um goleiro mal posicionado lateralmente precisa oferecer uma finalização melhor ao atacante.
Ver teste técnico
- Nome técnico
a goalkeeper displaced laterally leaves more of the goal available
- Identificador Vitest
Engine football specification — shooting > a goalkeeper displaced laterally leaves more of the goal available
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-012
Finalização
Cenário
Depois que o atacante vence o goleiro, uma finalização curta deve ficar muito mais fácil.
Ver teste técnico
- Nome técnico
beating the goalkeeper makes a six-metre finish dramatically easier
- Identificador Vitest
Engine football specification — shooting > beating the goalkeeper makes a six-metre finish dramatically easier
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-013
Finalização
Cenário
Com a mesma distância, um ângulo fechado deve reduzir o espaço útil do gol e a chance de marcar.
Ver teste técnico
- Nome técnico
a narrow-angle ten-metre finish is harder than a central ten-metre finish
- Identificador Vitest
Engine football specification — shooting > a narrow-angle ten-metre finish is harder than a central ten-metre finish
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-014
Finalização
Cenário
A presença de um defensor próximo precisa piorar a mesma finalização, e pressão maior deve pesar mais.
Ver teste técnico
- Nome técnico
close defensive pressure makes the same ten-metre finish harder
- Identificador Vitest
Engine football specification — shooting > close defensive pressure makes the same ten-metre finish harder
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-015
Finalização
Cenário
Em uma chance que não é trivial, um finalizador melhor precisa converter mais do que um pior.
Ver teste técnico
- Nome técnico
finishing skill matters in the same non-trivial chance
- Identificador Vitest
Engine football specification — shooting > finishing skill matters in the same non-trivial chance
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-016
Finalização
Cenário
Skill não deve transformar uma ação simples em loteria: um jogador apenas competente ainda deve converter quase sempre um gol aberto curto.
Ver teste técnico
- Nome técnico
an easy open-goal finish stays easy even for a merely competent finisher
- Identificador Vitest
Engine football specification — shooting > an easy open-goal finish stays easy even for a merely competent finisher
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-017
Finalização
Invariante
Percorre várias distâncias do chute e impede qualquer degrau em que se afastar do gol aumente a probabilidade.
Ver teste técnico
- Nome técnico
the full distance curve never rises with a line-positioned goalkeeper
- Identificador Vitest
Engine football specification — shooting invariants > the full distance curve never rises with a line-positioned goalkeeper
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-018
Finalização
Invariante
Ao aumentar Finalização de 40 a 90, a mesma chance nunca pode piorar.
Ver teste técnico
- Nome técnico
finishing skill improves a non-trivial chance monotonically
- Identificador Vitest
Engine football specification — shooting invariants > finishing skill improves a non-trivial chance monotonically
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-019
Finalização
Invariante
Ao aumentar Goleiro de 40 a 90, a chance concedida no mesmo lance nunca pode aumentar.
Ver teste técnico
- Nome técnico
goalkeeping skill improves save probability monotonically
- Identificador Vitest
Engine football specification — shooting invariants > goalkeeping skill improves save probability monotonically
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-020
Finalização
Invariante
Finalizações espelhadas acima e abaixo do eixo central do campo devem ter a mesma probabilidade.
Ver teste técnico
- Nome técnico
mirrored shooting angles are symmetric
- Identificador Vitest
Engine football specification — shooting invariants > mirrored shooting angles are symmetric
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-021
Finalização
Invariante
O mesmo deslocamento do goleiro para lados opostos deve produzir o mesmo efeito.
Ver teste técnico
- Nome técnico
mirrored goalkeeper displacement is symmetric
- Identificador Vitest
Engine football specification — shooting invariants > mirrored goalkeeper displacement is symmetric
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-022
Finalização
Invariante
Cansaço moderado não deve derrubar a técnica de chute de forma desproporcional.
Ver teste técnico
- Nome técnico
moderate tiredness does not destroy shooting technique
- Identificador Vitest
Engine football specification — shooting invariants > moderate tiredness does not destroy shooting technique
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-023
Finalização
Invariante
Exaustão severa deve prejudicar a finalização sem apagar completamente a habilidade do jogador.
Ver teste técnico
- Nome técnico
severe exhaustion reduces shooting quality
- Identificador Vitest
Engine football specification — shooting invariants > severe exhaustion reduces shooting quality
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-024
Finalização
Invariante
Um goleiro exausto precisa perder eficiência e conceder mais gols.
Ver teste técnico
- Nome técnico
an exhausted goalkeeper becomes easier to beat
- Identificador Vitest
Engine football specification — shooting invariants > an exhausted goalkeeper becomes easier to beat
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-025
Finalização
Invariante
Em um mano a mano, sair corretamente do gol pode fechar espaço e melhorar a defesa.
Ver teste técnico
- Nome técnico
coming off the goal line can improve the goalkeeper position in a one-on-one
- Identificador Vitest
Engine football specification — shooting invariants > coming off the goal line can improve the goalkeeper position in a one-on-one
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-026
Finalização
Invariante
Se o goleiro passa do atacante e fica fora da jogada, a meta precisa ficar dramaticamente mais vulnerável.
Ver teste técnico
- Nome técnico
a goalkeeper who overcommits beyond the attacker leaves an open goal
- Identificador Vitest
Engine football specification — shooting invariants > a goalkeeper who overcommits beyond the attacker leaves an open goal
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-027
Finalização
Invariante
Gol aberto não é 100% para qualquer atleta: técnica muito baixa ainda pode falhar, enquanto um jogador competente permanece muito confiável.
Ver teste técnico
- Nome técnico
very poor finishing can miss an open goal while competent finishing remains highly reliable
- Identificador Vitest
Engine football specification — shooting invariants > very poor finishing can miss an open goal while competent finishing remains highly reliable
- Arquivo
resources/js/coach/engine/__tests__/shooting.test.ts
MF-TST-028
Passe
Estatístico
Executa milhares de passes seedados e compara a conclusão real com a porcentagem exibida.
Ver teste técnico
- Nome técnico
displayed pass probability matches seeded execution on isolated central passes
- Identificador Vitest
Engine football specification — passing statistical regression > displayed pass probability matches seeded execution on isolated central passes
- Arquivo
resources/js/coach/engine/__tests__/passing-statistical.test.ts
MF-TST-029
Passe
Estatístico
Colocar um interceptador perto da linha do passe deve aumentar de forma mensurável as perdas de posse reais.
Ver teste técnico
- Nome técnico
a close interceptor measurably increases actual turnovers
- Identificador Vitest
Engine football specification — passing statistical regression > a close interceptor measurably increases actual turnovers
- Arquivo
resources/js/coach/engine/__tests__/passing-statistical.test.ts
MF-TST-030
Passe
Cenário
Passe curto simples, sem pressão e em distância confortável deve ser altamente confiável.
Ver teste técnico
- Nome técnico
easy free short passes are highly reliable
- Identificador Vitest
Engine football specification — passing > easy free short passes are highly reliable
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-031
Passe
Cenário
À medida que o lançamento fica mais longo, sua conclusão deve cair de forma coerente.
Ver teste técnico
- Nome técnico
long-pass difficulty grows with distance
- Identificador Vitest
Engine football specification — passing > long-pass difficulty grows with distance
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-032
Passe
Cenário
Quando as duas técnicas alcançam o mesmo alvo a 20 m, o passe curto deve ser a opção tecnicamente mais segura.
Ver teste técnico
- Nome técnico
an overlapping 20m short pass is easier than choosing the long-pass technique
- Identificador Vitest
Engine football specification — passing > an overlapping 20m short pass is easier than choosing the long-pass technique
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-033
Passe
Cenário
Dentro do alcance permitido, aumentar a distância de um passe curto não pode torná-lo mais fácil.
Ver teste técnico
- Nome técnico
short-pass success does not rise as distance increases
- Identificador Vitest
Engine football specification — passing > short-pass success does not rise as distance increases
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-034
Passe
Cenário
Dentro do alcance permitido, aumentar a distância de um lançamento não pode aumentar sua chance de sucesso.
Ver teste técnico
- Nome técnico
long-pass success does not rise as distance increases
- Identificador Vitest
Engine football specification — passing > long-pass success does not rise as distance increases
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-035
Passe
Cenário
Aumentar o atributo de passe deve melhorar progressivamente uma tentativa difícil.
Ver teste técnico
- Nome técnico
passing skill improves a difficult pass monotonically
- Identificador Vitest
Engine football specification — passing > passing skill improves a difficult pass monotonically
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-036
Passe
Cenário
Um jogador comum ainda deve acertar a maioria dos passes triviais; diferenças de skill importam mais quando a ação é exigente.
Ver teste técnico
- Nome técnico
ordinary skill does not turn a trivial pass into a coin flip
- Identificador Vitest
Engine football specification — passing > ordinary skill does not turn a trivial pass into a coin flip
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-037
Passe
Cenário
Um marcador atravessando a linha entre passador e receptor precisa reduzir a chance de conclusão.
Ver teste técnico
- Nome técnico
a defender crossing the passing lane reduces completion probability
- Identificador Vitest
Engine football specification — passing > a defender crossing the passing lane reduces completion probability
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-038
Passe
Cenário
Mantendo a posição, um defensor melhor deve interceptar mais do que um defensor pior.
Ver teste técnico
- Nome técnico
a stronger interceptor is more dangerous in the same lane
- Identificador Vitest
Engine football specification — passing > a stronger interceptor is more dangerous in the same lane
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-039
Passe
Cenário
Stamina moderada preserva o passe; apenas exaustão severa deve degradá-lo de forma grande.
Ver teste técnico
- Nome técnico
moderate tiredness preserves passing technique while severe exhaustion hurts it
- Identificador Vitest
Engine football specification — passing > moderate tiredness preserves passing technique while severe exhaustion hurts it
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-040
Passe
Cenário
A instrução de risco influencia a escolha da IA, mas não deve alterar magicamente a física de um passe manual idêntico.
Ver teste técnico
- Nome técnico
risk instruction does not change execution of the exact same manual pass
- Identificador Vitest
Engine football specification — passing > risk instruction does not change execution of the exact same manual pass
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-041
Passe
Cenário
Passe curto e longo possuem alcances definidos; uma ação fora de seu alcance não deve ser oferecida como válida.
Ver teste técnico
- Nome técnico
pass ranges have hard semantic boundaries
- Identificador Vitest
Engine football specification — passing > pass ranges have hard semantic boundaries
- Arquivo
resources/js/coach/engine/__tests__/passing.test.ts
MF-TST-042
Drible e movimento
Estatístico
Compara a porcentagem mostrada para condução/drible com milhares de resultados seedados.
Ver teste técnico
- Nome técnico
displayed controlled-movement probability matches seeded outcomes
- Identificador Vitest
Engine football specification — dribbling statistical regression > displayed controlled-movement probability matches seeded outcomes
- Arquivo
resources/js/coach/engine/__tests__/dribbling-statistical.test.ts
MF-TST-043
Drible e movimento
Cenário
Sem adversário desafiando a trajetória, conduzir de forma controlada deve preservar a bola quase sempre.
Ver teste técnico
- Nome técnico
free controlled movement retains possession almost certainly
- Identificador Vitest
Engine football specification — dribbling and movement duels > free controlled movement retains possession almost certainly
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-044
Drible e movimento
Cenário
Aumentar Drible deve melhorar progressivamente a chance do atacante no mesmo duelo.
Ver teste técnico
- Nome técnico
better dribbling monotonically improves the same duel
- Identificador Vitest
Engine football specification — dribbling and movement duels > better dribbling monotonically improves the same duel
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-045
Drible e movimento
Cenário
Aumentar Defesa deve reduzir progressivamente a chance do driblador no mesmo duelo.
Ver teste técnico
- Nome técnico
better defending monotonically lowers the attacker chance
- Identificador Vitest
Engine football specification — dribbling and movement duels > better defending monotonically lowers the attacker chance
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-046
Drible e movimento
Cenário
Tentar atravessar um marcador em corrida precisa ser mais arriscado do que conduzir de maneira controlada.
Ver teste técnico
- Nome técnico
running with the ball through a defender is riskier than controlled carrying
- Identificador Vitest
Engine football specification — dribbling and movement duels > running with the ball through a defender is riskier than controlled carrying
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-047
Drible e movimento
Cenário
O primeiro efeito forte da fadiga deve aparecer no alcance físico do movimento antes de destruir a técnica.
Ver teste técnico
- Nome técnico
exhaustion reduces movement range before it destroys technical actions
- Identificador Vitest
Engine football specification — dribbling and movement duels > exhaustion reduces movement range before it destroys technical actions
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-048
Drible e movimento
Cenário
Quem perde um duelo fica brevemente desequilibrado, impedindo recuperação instantânea artificial.
Ver teste técnico
- Nome técnico
a beaten defender is disoriented for the immediate next round
- Identificador Vitest
Engine football specification — dribbling and movement duels > a beaten defender is disoriented for the immediate next round
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-049
Drible e movimento
Cenário
Ao tentar driblar o goleiro, a qualidade de Goleiro precisa influenciar a disputa.
Ver teste técnico
- Nome técnico
goalkeeping skill matters when the runner tries to cross the goalkeeper path
- Identificador Vitest
Engine football specification — dribbling and movement duels > goalkeeping skill matters when the runner tries to cross the goalkeeper path
- Arquivo
resources/js/coach/engine/__tests__/dribbling.test.ts
MF-TST-050
Stamina e Resistência
Cenário
Um bloco de aproximadamente dois minutos de baixa intensidade deve recuperar uma quantidade perceptível de stamina.
Ver teste técnico
- Nome técnico
about two minutes of low intensity restore meaningful stamina
- Identificador Vitest
Engine football specification — stamina and resistance > about two minutes of low intensity restore meaningful stamina
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-051
Stamina e Resistência
Cenário
Com a mesma stamina inicial, Resistência menor deve produzir recuperação mais lenta.
Ver teste técnico
- Nome técnico
lower resistance slows the same recovery block
- Identificador Vitest
Engine football specification — stamina and resistance > lower resistance slows the same recovery block
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-052
Stamina e Resistência
Cenário
Descansar pode recuperar stamina e não deve gastar a reserva de Resistência.
Ver teste técnico
- Nome técnico
rest does not consume long-term resistance
- Identificador Vitest
Engine football specification — stamina and resistance > rest does not consume long-term resistance
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-053
Stamina e Resistência
Cenário
Esforço intenso repetido precisa consumir energia imediata e também a capacidade de sustentar esforços ao longo do jogo.
Ver teste técnico
- Nome técnico
sustained high-intensity work drains stamina and resistance
- Identificador Vitest
Engine football specification — stamina and resistance > sustained high-intensity work drains stamina and resistance
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-054
Stamina e Resistência
Cenário
Percorrer a mesma distância carregando a bola deve custar mais energia do que correr sem ela.
Ver teste técnico
- Nome técnico
running with the ball costs more than the same off-ball run
- Identificador Vitest
Engine football specification — stamina and resistance > running with the ball costs more than the same off-ball run
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-055
Stamina e Resistência
Cenário
Condução controlada deve ser energeticamente mais barata do que sprint com a bola.
Ver teste técnico
- Nome técnico
controlled carrying costs less than sprinting with the ball
- Identificador Vitest
Engine football specification — stamina and resistance > controlled carrying costs less than sprinting with the ball
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-056
Stamina e Resistência
Cenário
Uma arrancada longa deve cobrar um preço perceptível sem incapacitar o atleta para todo o restante da partida.
Ver teste técnico
- Nome técnico
one long effort is costly but does not ruin the whole match
- Identificador Vitest
Engine football specification — stamina and resistance > one long effort is costly but does not ruin the whole match
- Arquivo
resources/js/coach/engine/__tests__/fatigue.test.ts
MF-TST-058
Posicionamento e formações
Cenário
Mesmo que a posição tática configurada fique avançada, o kickoff precisa começar com jogadores no próprio campo.
Ver teste técnico
- Nome técnico
competition kickoff is legal even when tactical defense positions cross midfield
- Identificador Vitest
Engine football specification — positioning and formations > competition kickoff is legal even when tactical defense positions cross midfield
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-059
Posicionamento e formações
Cenário
Depois de um gol, o reinício deve voltar a respeitar a metade de campo de cada equipe.
Ver teste técnico
- Nome técnico
kickoff reset after a goal keeps every non-kicker in its own half
- Identificador Vitest
Engine football specification — positioning and formations > kickoff reset after a goal keeps every non-kicker in its own half
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-060
Posicionamento e formações
Cenário
O 4-4-2 ofensivo deve realmente criar quatro defensores, quatro meias e dois atacantes nas linhas esperadas.
Ver teste técnico
- Nome técnico
4-4-2 attack formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 4-4-2 attack formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-061
Posicionamento e formações
Cenário
O 4-3-3 ofensivo deve produzir a estrutura espacial correspondente à formação escolhida.
Ver teste técnico
- Nome técnico
4-3-3 attack formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 4-3-3 attack formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-062
Posicionamento e formações
Cenário
O 5-3-2 ofensivo deve produzir a estrutura espacial correspondente à formação escolhida.
Ver teste técnico
- Nome técnico
5-3-2 attack formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 5-3-2 attack formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-063
Posicionamento e formações
Cenário
O 3-5-2 ofensivo deve produzir a estrutura espacial correspondente à formação escolhida.
Ver teste técnico
- Nome técnico
3-5-2 attack formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 3-5-2 attack formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-064
Posicionamento e formações
Cenário
O 4-4-2 defensivo deve preservar suas três linhas na fase sem bola.
Ver teste técnico
- Nome técnico
4-4-2 defense formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 4-4-2 defense formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-065
Posicionamento e formações
Cenário
O 4-3-3 defensivo deve preservar sua estrutura prevista na fase sem bola.
Ver teste técnico
- Nome técnico
4-3-3 defense formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 4-3-3 defense formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-066
Posicionamento e formações
Cenário
O 5-3-2 defensivo deve preservar sua estrutura prevista na fase sem bola.
Ver teste técnico
- Nome técnico
5-3-2 defense formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 5-3-2 defense formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-067
Posicionamento e formações
Cenário
O 3-5-2 defensivo deve preservar sua estrutura prevista na fase sem bola.
Ver teste técnico
- Nome técnico
3-5-2 defense formation produces the requested three lines
- Identificador Vitest
Engine football specification — positioning and formations > 3-5-2 defense formation produces the requested three lines
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-068
Posicionamento e formações
Cenário
Posições editadas manualmente nunca podem ser salvas fora dos limites permitidos do campo.
Ver teste técnico
- Nome técnico
manual tactical positions remain inside legal pitch editing bounds
- Identificador Vitest
Engine football specification — positioning and formations > manual tactical positions remain inside legal pitch editing bounds
- Arquivo
resources/js/coach/engine/__tests__/positioning.test.ts
MF-TST-069
Decisão NPC
Cenário
A IA não deve escolher um chute especulativo além da distância em que a própria engine considera finalização.
Ver teste técnico
- Nome técnico
NPC never chooses a speculative shot from beyond the engine shooting horizon
- Identificador Vitest
Engine football specification — NPC decisions > NPC never chooses a speculative shot from beyond the engine shooting horizon
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-070
Decisão NPC
Cenário
Uma grande chance central perto do gol precisa ser reconhecida pela IA como oportunidade de finalizar.
Ver teste técnico
- Nome técnico
a dangerous central chance near goal is frequently recognized as a shot
- Identificador Vitest
Engine football specification — NPC decisions > a dangerous central chance near goal is frequently recognized as a shot
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-071
Decisão NPC
Cenário
Com baixa qualidade de chute e um passe curto fácil disponível, a IA deve normalmente continuar a jogada.
Ver teste técnico
- Nome técnico
a low-value 28m situation with an easy short outlet usually prefers continuation
- Identificador Vitest
Engine football specification — NPC decisions > a low-value 28m situation with an easy short outlet usually prefers continuation
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-072
Decisão NPC
Cenário
Goleiros não devem tentar finalizar do próprio campo como decisão normal.
Ver teste técnico
- Nome técnico
goalkeepers do not decide to shoot from their own area
- Identificador Vitest
Engine football specification — NPC decisions > goalkeepers do not decide to shoot from their own area
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-073
Decisão NPC
Cenário
Se curto e longo chegam ao mesmo receptor fácil, a IA deve preferir fortemente a técnica de passe curto.
Ver teste técnico
- Nome técnico
when both techniques reach the same easy receiver the NPC strongly prefers short pass
- Identificador Vitest
Engine football specification — NPC decisions > when both techniques reach the same easy receiver the NPC strongly prefers short pass
- Arquivo
resources/js/coach/engine/__tests__/npc-decisions.test.ts
MF-TST-074
Regras, paradas e substituições
Estatístico
Pressionar agressivamente deve aumentar estatisticamente a chance de falta em relação a conservar energia.
Ver teste técnico
- Nome técnico
aggressive pressing creates more foul risk than conserving
- Identificador Vitest
Engine football specification — foul statistical behavior > aggressive pressing creates more foul risk than conserving
- Arquivo
resources/js/coach/engine/__tests__/rules-statistical.test.ts
MF-TST-075
Regras, paradas e substituições
Estatístico
No mesmo duelo, exaustão severa deve aumentar a probabilidade de cometer falta.
Ver teste técnico
- Nome técnico
severe exhaustion raises foul risk in the same challenge
- Identificador Vitest
Engine football specification — foul statistical behavior > severe exhaustion raises foul risk in the same challenge
- Arquivo
resources/js/coach/engine/__tests__/rules-statistical.test.ts
MF-TST-076
Regras, paradas e substituições
Cenário
Tiro de meta precisa recomeçar com o goleiro correto da equipe beneficiada.
Ver teste técnico
- Nome técnico
goal kick resumes with the correct goalkeeper in possession
- Identificador Vitest
Engine football specification — stoppages and restarts > goal kick resumes with the correct goalkeeper in possession
- Arquivo
resources/js/coach/engine/__tests__/restarts.test.ts
MF-TST-078
Regras, paradas e substituições
Cenário
Durante uma parada comum, o time controlado pode se reposicionar sem pagar stamina como se estivesse correndo.
Ver teste técnico
- Nome técnico
home players may reorganize during ordinary stoppages without stamina cost
- Identificador Vitest
Engine football specification — stoppages and restarts > home players may reorganize during ordinary stoppages without stamina cost
- Arquivo
resources/js/coach/engine/__tests__/restarts.test.ts
MF-TST-079
Regras, paradas e substituições
Cenário
O cobrador que está com a bola não pode ser movido arbitrariamente para longe do local do reinício.
Ver teste técnico
- Nome técnico
the player holding the restart ball cannot be teleported away from it
- Identificador Vitest
Engine football specification — stoppages and restarts > the player holding the restart ball cannot be teleported away from it
- Arquivo
resources/js/coach/engine/__tests__/restarts.test.ts
MF-TST-080
Regras, paradas e substituições
Cenário
Depois do apito final, nenhuma chamada de reinício pode reabrir a partida.
Ver teste técnico
- Nome técnico
finished matches cannot be resumed
- Identificador Vitest
Engine football specification — stoppages and restarts > finished matches cannot be resumed
- Arquivo
resources/js/coach/engine/__tests__/restarts.test.ts
MF-TST-081
Regras, paradas e substituições
Cenário
O reserva entra na função/posição tática do substituído, mas conserva sua própria stamina e Resistência.
Ver teste técnico
- Nome técnico
entrant inherits the outgoing tactical slot but keeps his own energy
- Identificador Vitest
Engine football specification — substitutions > entrant inherits the outgoing tactical slot but keeps his own energy
- Arquivo
resources/js/coach/engine/__tests__/substitution.test.ts
MF-TST-082
Regras, paradas e substituições
Cenário
Se o portador da bola é substituído numa situação válida, a posse deve acompanhar o jogador que entra.
Ver teste técnico
- Nome técnico
possession follows the entrant if the ball carrier is substituted
- Identificador Vitest
Engine football specification — substitutions > possession follows the entrant if the ball carrier is substituted
- Arquivo
resources/js/coach/engine/__tests__/substitution.test.ts
MF-TST-083
Regras, paradas e substituições
Cenário
Um atleta que saiu não pode voltar para a mesma partida.
Ver teste técnico
- Nome técnico
a substituted-out player cannot return later
- Identificador Vitest
Engine football specification — substitutions > a substituted-out player cannot return later
- Arquivo
resources/js/coach/engine/__tests__/substitution.test.ts
MF-TST-084
Regras, paradas e substituições
Cenário
A engine deve bloquear substituições além do limite definido.
Ver teste técnico
- Nome técnico
maximum substitution count is enforced
- Identificador Vitest
Engine football specification — substitutions > maximum substitution count is enforced
- Arquivo
resources/js/coach/engine/__tests__/substitution.test.ts
MF-TST-086
Integridade da partida
Invariante
Uma ação humana cria o próximo estado sem modificar retroativamente o estado anterior, essencial para replay e depuração.
Ver teste técnico
- Nome técnico
human actions do not mutate the previous state object
- Identificador Vitest
Engine football specification — match invariants > human actions do not mutate the previous state object
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-087
Integridade da partida
Invariante
Rodadas automáticas também precisam preservar os estados anteriores imutáveis.
Ver teste técnico
- Nome técnico
automatic rounds do not mutate the previous state object
- Identificador Vitest
Engine football specification — match invariants > automatic rounds do not mutate the previous state object
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-088
Integridade da partida
Invariante
O usuário não pode executar uma ação com bola quando a posse pertence ao adversário.
Ver teste técnico
- Nome técnico
manual home action is refused when the opponent owns the ball
- Identificador Vitest
Engine football specification — match invariants > manual home action is refused when the opponent owns the ball
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-089
Integridade da partida
Invariante
A engine não pode avançar apenas a IA adversária quando o lado controlado ainda possui a bola.
Ver teste técnico
- Nome técnico
opponent-only advance is refused while home owns the ball
- Identificador Vitest
Engine football specification — match invariants > opponent-only advance is refused while home owns the ball
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-090
Integridade da partida
Invariante
Uma partida automática deve terminar exatamente no limite de rodadas, sem encerrar cedo nem ultrapassar.
Ver teste técnico
- Nome técnico
a complete automatic match finishes exactly at maxRounds
- Identificador Vitest
Engine football specification — match invariants > a complete automatic match finishes exactly at maxRounds
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-091
Integridade da partida
Invariante
Durante uma partida inteira, coordenadas, stamina e Resistência devem permanecer dentro de limites válidos.
Ver teste técnico
- Nome técnico
players and energy remain within hard physical bounds throughout a match
- Identificador Vitest
Engine football specification — match invariants > players and energy remain within hard physical bounds throughout a match
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-093
Integridade da partida
Invariante
Depois do fim da partida, alterações táticas não podem modificar um estado encerrado.
Ver teste técnico
- Nome técnico
formations cannot be changed after full time
- Identificador Vitest
Engine football specification — match invariants > formations cannot be changed after full time
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-094
Integridade da partida
Invariante
Ordens do lado controlado jamais podem alterar atributos/instruções de um atleta adversário.
Ver teste técnico
- Nome técnico
home instruction updates cannot alter an away player
- Identificador Vitest
Engine football specification — match invariants > home instruction updates cannot alter an away player
- Arquivo
resources/js/coach/engine/__tests__/match-invariants.test.ts
MF-TST-095
Versionamento histórico
Integridade/versionamento
Preserva um cenário conhecido em que v2 e v3 diferem, provando que o passado não foi recalculado pela nova fórmula.
Ver teste técnico
- Nome técnico
Engine v2 keeps its historical long-shot probability while v3 uses the new model
- Identificador Vitest
Engine version isolation > Engine v2 keeps its historical long-shot probability while v3 uses the new model
- Arquivo
resources/js/coach/engine/__tests__/engine-versioning.test.ts
MF-TST-096
Versionamento histórico
Integridade/versionamento
A seleção por versão deve encaminhar v2 para seu arquivo congelado, nunca para `matchEngine.ts` atual.
Ver teste técnico
- Nome técnico
version selector never routes v2 through the mutable current engine
- Identificador Vitest
Engine version isolation > version selector never routes v2 through the mutable current engine
- Arquivo
resources/js/coach/engine/__tests__/engine-versioning.test.ts
MF-TST-097
Versionamento histórico
Integridade/versionamento
Depois que a v3 vira histórica, a seleção por versão deve apontar para `matchEngineV3.ts`, nunca para o arquivo mutável usado pela próxima engine.
Ver teste técnico
- Nome técnico
version selector never routes v3 through the mutable current engine
- Identificador Vitest
Engine version isolation > version selector never routes v3 through the mutable current engine
- Arquivo
resources/js/coach/engine/__tests__/engine-versioning.test.ts
MF-TST-098
Versionamento histórico
Integridade/versionamento
Uma versão desconhecida deve falhar explicitamente, em vez de usar silenciosamente regras de outra versão.
Ver teste técnico
- Nome técnico
unknown future versions fail closed instead of silently using another engine
- Identificador Vitest
Engine version isolation > unknown future versions fail closed instead of silently using another engine
- Arquivo
resources/js/coach/engine/__tests__/engine-versioning.test.ts
MF-TST-100
Versionamento histórico
Integridade/versionamento
A mesma seed e estado inicial na v2 precisam continuar produzindo a mesma partida histórica.
Ver teste técnico
- Nome técnico
v2 remains deterministic for the same initial seed
- Identificador Vitest
Engine version isolation > v2 remains deterministic for the same initial seed
- Arquivo
resources/js/coach/engine/__tests__/engine-versioning.test.ts
MF-TST-101
Versionamento histórico
Integridade/versionamento
A mesma seed e estado inicial na v3 precisam continuar produzindo o mesmo estado, preservando a Rodada 3 mesmo depois do início do desenvolvimento da v4.
Ver teste técnico
- Nome técnico
v3 remains deterministic for the same initial seed
- Identificador Vitest
Engine version isolation > v3 remains deterministic for the same initial seed
- Arquivo
resources/js/coach/engine/__tests__/engine-versioning.test.ts
MF-TST-102
Engine v4 — comportamento reativo
Cenário
Receptor além da bola e do penúltimo adversário fica indisponível para passe e recebe chance zero.
Ver teste técnico
- Nome técnico
a receiver beyond both the ball and the second-last opponent is unavailable
- Identificador Vitest
Engine v4 football specification — offside > a receiver beyond both the ball and the second-last opponent is unavailable
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-103
Engine v4 — comportamento reativo
Cenário
Jogador alinhado com o penúltimo adversário continua em posição legal.
Ver teste técnico
- Nome técnico
a receiver level with the second-last opponent remains legal
- Identificador Vitest
Engine v4 football specification — offside > a receiver level with the second-last opponent remains legal
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-104
Engine v4 — comportamento reativo
Cenário
A regra nunca marca impedimento para receptor ainda no próprio campo.
Ver teste técnico
- Nome técnico
a receiver in his own half is never offside
- Identificador Vitest
Engine v4 football specification — offside > a receiver in his own half is never offside
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-105
Engine v4 — comportamento reativo
Invariante
O decisor automático remove receptores em posição irregular antes de pontuar as opções de passe.
Ver teste técnico
- Nome técnico
NPC never selects an offside receiver
- Identificador Vitest
Engine v4 football specification — offside > NPC never selects an offside receiver
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-106
Engine v4 — comportamento reativo
Integridade/estado
Cada deslocamento resolvido registra um vetor mínimo de movimento para decisões da rodada seguinte.
Ver teste técnico
- Nome técnico
resolved movement records the direction that the player just travelled
- Identificador Vitest
Engine v4 football specification — movement and inertia > resolved movement records the direction that the player just travelled
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-107
Engine v4 — comportamento reativo
Cenário
O mesmo interceptador oferece ameaça menor quando sua direção recente o afasta da linha do passe.
Ver teste técnico
- Nome técnico
an interceptor already moving away from the passing lane is less dangerous than one moving toward it
- Identificador Vitest
Engine v4 football specification — movement and inertia > an interceptor already moving away from the passing lane is less dangerous than one moving toward it
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-108
Engine v4 — comportamento reativo
Cenário
Jogador sem bola em posição irregular reage retornando em direção a uma zona legal.
Ver teste técnico
- Nome técnico
a player caught beyond the offside line actively returns toward a legal receiving position
- Identificador Vitest
Engine v4 football specification — movement and inertia > a player caught beyond the offside line actively returns toward a legal receiving position
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-109
Engine v4 — comportamento reativo
Invariante
Uma inversão brusca de direção reduz o deslocamento imediato quando comparada a continuar no mesmo sentido.
Ver teste técnico
- Nome técnico
a near-180-degree turn reduces immediate movement compared with continuing in the same direction
- Identificador Vitest
Engine v4 football specification — movement and inertia > a near-180-degree turn reduces immediate movement compared with continuing in the same direction
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-110
Engine v4 — comportamento reativo
Cenário
Na mesma jogada, Apoiar produz ataque ao espaço mais agressivo que Segurar.
Ver teste técnico
- Nome técnico
support duty attacks space more aggressively than hold duty in the same possession
- Identificador Vitest
Engine v4 football specification — movement and inertia > support duty attacks space more aggressively than hold duty in the same possession
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-111
Engine v4 — comportamento reativo
Cenário
O goleiro preserva posição quando a cobertura de linha ainda consegue intervir e sai mais quando o atacante rompe a última linha.
Ver teste técnico
- Nome técnico
goalkeeper stays deeper when an outfield defender still has the attacker covered
- Identificador Vitest
Engine v4 football specification — coordinated defending and goalkeeper > goalkeeper stays deeper when an outfield defender still has the attacker covered
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-112
Engine v4 — comportamento reativo
Cenário
Dois defensores próximos não executam cegamente a mesma pressão; um fecha o portador e o outro preserva cobertura.
Ver teste técnico
- Nome técnico
two nearby pressing defenders do not both abandon coverage for the same carrier
- Identificador Vitest
Engine v4 football specification — coordinated defending and goalkeeper > two nearby pressing defenders do not both abandon coverage for the same carrier
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-113
Engine v4 — comportamento reativo
Regra/UX
O usuário não pode reposicionar manualmente seu time quando a cobrança pertence ao adversário.
Ver teste técnico
- Nome técnico
home cannot manually reorganize while the opponent owns the restart
- Identificador Vitest
Engine v4 football specification — restarts and boundaries > home cannot manually reorganize while the opponent owns the restart
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-114
Engine v4 — comportamento reativo
Cenário
Em cobrança adversária a engine aproxima os jogadores controlados das zonas defensivas automaticamente.
Ver teste técnico
- Nome técnico
when the opponent restarts, home players are reorganized automatically toward defensive zones
- Identificador Vitest
Engine v4 football specification — restarts and boundaries > when the opponent restarts, home players are reorganized automatically toward defensive zones
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-115
Engine v4 — comportamento reativo
Cenário
Passe errado que cruza a linha de fundo produz tiro de meta em vez de ser convertido artificialmente em lateral.
Ver teste técnico
- Nome técnico
a missed attacking pass over the end line can become a goal kick instead of an artificial throw-in
- Identificador Vitest
Engine v4 football specification — restarts and boundaries > a missed attacking pass over the end line can become a goal kick instead of an artificial throw-in
- Arquivo
resources/js/coach/engine/__tests__/reactive-football-v4.test.ts
MF-TST-116
Ecossistema e balanceamento
Ecossistema
Simula 100 partidas completas e verifica gols, chutes, conversão, placares extremos, passes longos e energia contra as faixas escolhidas para o Microfut.
Ver teste técnico
- Nome técnico
100 deterministic matches stay inside the Microfut football profile
- Identificador Vitest
Engine football specification — ecosystem regression > 100 deterministic matches stay inside the Microfut football profile
- Arquivo
resources/js/coach/engine/__tests__/match-regression.test.ts
MF-TST-137
Regressões do Playtest 0.4.1
Integridade/versionamento
A Engine 0.4.0 permanece ligada a um módulo congelado, enquanto a linha semântica 0.4.1 usa a implementação corrente. Alterar a 0.4.1 não pode reescrever o comportamento histórico da 0.4.0.
Ainda não implementado. Esta regra é candidata a um futuro ciclo RED → GREEN.
MF-TST-057
Stamina e Resistência
Cenário
Os 15 minutos do intervalo recuperam bastante stamina, mas não apagam o desgaste de longo prazo.
Ainda não implementado. Esta regra é candidata a um futuro ciclo RED → GREEN.
MF-TST-077
Regras, paradas e substituições
Cenário
Lateral precisa recomeçar com um jogador da equipe que recebeu a cobrança.
Ainda não implementado. Esta regra é candidata a um futuro ciclo RED → GREEN.
MF-TST-085
Integridade da partida
Invariante
A escala temporal da engine deve fazer 360 rodadas corresponderem aos 90 minutos regulamentares.
Ainda não implementado. Esta regra é candidata a um futuro ciclo RED → GREEN.
MF-TST-092
Integridade da partida
Invariante
O intervalo acontece no ponto temporal correto e a partida consegue continuar normalmente depois dele.
Ainda não implementado. Esta regra é candidata a um futuro ciclo RED → GREEN.
MF-TST-099
Versionamento histórico
Integridade/versionamento
Engines 1–3 continuam apontando para módulos históricos congelados, enquanto a Engine 4 selecionável durante o desenvolvimento aponta explicitamente para `matchEngine.ts`. Ao congelar a v4, esse mapeamento deverá passar para `matchEngineV4.ts`.
Ainda não implementado. Esta regra é candidata a um futuro ciclo RED → GREEN.
Nenhuma regra corresponde aos filtros atuais.