Manual público da simulação

Como a engine é testada

Cada teste descreve uma regra que o futebol do Microfut promete respeitar. A suíte executável continua sendo a fonte de verdade; este catálogo torna as regras pesquisáveis e também recebe propostas para futuros ciclos TDD.

Regras executadas141
Propostas0
Áreas13
Mapa das áreas · 13 áreas Ver definições e quantidade de testes

O teste executável continua sendo a fonte de verdade. Este mapa resume o que cada área define sem ocupar o caminho até as regras.

ÁreaO que esta área defineExecutadosPropostas
Contratos criados a partir de bugs novos, bugs antigos ainda reproduzidos e efeitos sistêmicos descobertos ao reduzir a partida para 180 rounds. 20 0
10 0
Como distância, ângulo, pressão, qualidade do finalizador, posição do goleiro e fadiga se combinam para produzir gols sem transformar chances raras em rotina. 27 0
Protege a diferença entre passe curto e longo, a influência da distância e da marcação e a coerência entre a porcentagem mostrada e a execução real. 14 0
Define como condução, corrida, drible, defesa, goleiro e cansaço interagem quando um jogador tenta progredir com a bola. 8 0
Separa energia de curto prazo de capacidade de recuperação ao longo da partida, para que esforço, descanso e intervalo tenham consequências coerentes. 7 0
Garante que o campo continue legal e que as formações escolhidas realmente produzam estruturas espaciais diferentes. 11 0
Impede escolhas obviamente ruins e começa a transformar a IA em um agente que compara risco, progresso e valor da chance. 5 0
Protege reinícios, faltas e trocas para que a partida mantenha continuidade e consequências coerentes. 10 0
São regras estruturais que não deveriam depender de balanceamento: relógio, imutabilidade, posse, limites físicos e encerramento da partida. 8 0
Mantém partidas antigas reproduzíveis mesmo quando a engine atual continua mudando. 6 0
Primeira bateria integrada da v4. Protege impedimento, movimento reativo, direção/inércia, pressão/cobertura, decisão do goleiro e controle correto das reposições antes do ajuste fino de ecossistema. 14 0
Olha para o futebol produzido pela engine como sistema: não uma jogada isolada, mas a distribuição de 100 partidas completas. 1 0

Consulta

Filtrar regras

Catálogo de regras

147 regras encontradas

Propor novo teste
Uma proposta não entra nas 99 regras executadas até existir um teste real na suíte.
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.