;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Polêmica no surfe: veja a comparação entre ondas de brasileiros e gringos

O surfista Italo Ferrira durante a etapa Surf Ranch Pro, da WSL - Aaron Hughes/Getty
O surfista Italo Ferrira durante a etapa Surf Ranch Pro, da WSL Imagem: Aaron Hughes/Getty

Colaboração para o UOL, em Santos (SP)

30/05/2023 13h50

As derrotas de Gabriel Medina e Italo Ferreira no Surf Ranch Pro foram as que mais geraram reclamação por parte da comunidade brasileira do surfe por conta dos critérios utilizados pelos juízes da Liga Mundial de Surfe (WSL).

O que aconteceu

Italo Ferreira foi derrotado por Griffin Colapinto na decisão. O brasileiro recebeu nota 8.43 em sua melhor onda para a direita, enquanto o norte-americano tirou 9.07 (veja a comparação mais abaixo). Os dois receberam a mesma nota por suas melhores ondas para a esquerda: 8.70.

Griffin Colapinto venceu Italo Ferreira na final com a somatória de 17.77 (8.70 + 9.07), contra 17.13 (8.70 + 8.43) do brasileiro.

Já Gabriel Medina disparou nas redes sociais após a sua eliminação nas quartas de final. Ele empatou em pontos (16.67) com o australiano Ethan Ewing, mas o adversário avançou por ter tirado a nota mais alta da bateria (9,07 contra 8,67).

No somatório de pontos, Gabriel Medina recebeu 8.00 pela melhor onda para a direita, e 8.67 para a esquerda. Ethan ficou com 9.07 (direita) e 7.60 (esquerda).

Filipe Toledo também se sentiu injustiçado na bateria de semifinal contra o mesmo Griffin Colapinto, algoz de Italo Ferreira na decisão.

Não é de hoje que os surfistas brasileiros reclamam de injustiças nas avaliações das notas dadas pelos juízes da WSL.

Veja algumas comparações:

Italo x Griffin

Medina x Ethan

Desabafos de brasileiros

Gabriel Medina disparou nas redes sociais contra a "falta de clareza e inconsistência" da WSL nas notas. A mãe dele também desabafou e disse que foi o maior roubo da história depois de Trestles (em 2016).

A comunidade brasileira do surfe manifestou indignação nas redes sociais. Fãs, celebridades e internautas se revoltaram com as notas mais baixas de Medina (veja o desabafo de Pedro Scooby mais abaixo).

Filipe Toledo e Italo Ferreira fizeram coro às críticas de Medina sobre os critérios da Liga Mundial de Surfe. Os dois se juntaram à pressão por mais transparência e mudanças na avaliação das provas da entidade.

O que a WSL disse

Estamos comprometidos em continuar trabalhando para o crescimento do esporte no Brasil, apoiando nossos surfistas, fãs e staff por meio de eventos, parcerias e engajamento com a comunidade. A WSL existe para apresentar os melhores surfistas do mundo competindo nas melhores ondas do mundo.

Integridade e justiça são fundamentais em tudo o que fazemos. Nas competições da WSL, um de cinco juízes e um head judge avaliam cada onda de forma independente. Eles analisam todas as ondas em tempo real e é utilizado um sistema de replay dedicado, com ângulos de câmera adicionais além do que os fãs veem na transmissão.

Os competidores recebem os critérios de julgamento antes de cada dia de competição, descrevendo as diretrizes de pontuação com base no local da etapa e nas condições das ondas. O surf é um esporte subjetivo em constante evolução e encorajamos um debate construtivo sobre a progressão do nosso esporte e os critérios usados para julgar nossas competições.

Para o Surf Ranch Pro, os critérios de julgamento foram fornecidos a todos os surfistas no dia 20 de maio, antes dos dias de treino e da competição. Todos os competidores tiveram a oportunidade de discutir os critérios antes da competição e após suas baterias com a equipe de Tours e Competições.

Iremos manter nosso trabalho de comunicação para sempre aprimorar o esporte e a transparência entre os juízes, atletas e regras de competição para que todos possam fortalecer o crescimento exponencial do surfe profissional no Brasil e no mundo.