Esta página responde:Quanto vale a minha pontuação de 0~10 na escala −10~+10 do motor?
O critério de mapeamento vem do código do motor app_v4.2.py, linha 205, mapped = round(v*2-10, 2); a inversa (v+10)/2 é a sua operação inversa. O arredondamento de metade para par é alinhado com o Python por meio de pyRound(). Esta página não contém nenhum algoritmo novo.
/opt/curve_engine/app_v4.2.py, linha 205, mapped_vals = [round(v * 2 - 10, 2) for v in vals] (somente leitura); a inversa (v+10)/2 é a sua operação inversa; a ficha de contrato /opt/contracts/curve_engine.md registra esse número de linha na linha 78 («a única fórmula de escala»).pyRound() alinhado com o round do Python).3.2 na direta → 3.2×2−10 = −3.6; passe −3.6 pela inversa → (−3.6+10)/2 = 3.2, deve voltar ao valor original. Atenção: fora do intervalo não há truncamento (colar 12 dá 14) e no motor também não há truncamento.
/opt/slices_build/build.py a partir da especificação /_shared/slices/score-map.json — para alterar esta página, edite a especificação e rode o gerador de novo; nunca edite o HTML à mão.