;(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

Arquiteto deixou carreira de sucesso para virar marceneiro e ganhou prêmio

O artista Bruno Camarotti perseguiu o sonho de trabalhar com a marcenaria e se prepara para lançar suas peças e marca - Arquivo Pessoal
O artista Bruno Camarotti perseguiu o sonho de trabalhar com a marcenaria e se prepara para lançar suas peças e marca Imagem: Arquivo Pessoal

Carol Scolforo

Colaboração para Nossa

23/08/2022 04h00

Bruno Camarotti

Bruno Camarotti

Quem é

Arquiteto por formação, graduado pela Universidade Federal do Ceará, e marceneiro por paixão, está à frente do Estúdio Camarotti, especializado em marcenaria artesanal utilizando encaixes.

Você abriria mão de uma empresa renomada, cheia de clientes, por um sonho? Bruno Camarotti sim. E sem arrependimentos. Afinal, foi na marcenaria que ele encontrou sua arte e segue construindo uma carreira autoral que envolve madeira maciça, encaixes e móveis escultóricos.

A vontade de produzir um trabalho manual sempre esteve ali, como pulga atrás da orelha, ele diz. Há mais de 20 anos, quando ainda morava em Fortaleza, no Ceará, optou pela faculdade de Arquitetura e logo que saiu ou a trabalhar com grandes nomes. Anos depois, abriu o próprio escritório e consolidou sua marca no Estado.

Com o tempo e algumas mudanças de casa, a vontade de aprender marcenaria aumentou. "Encontrei um marceneiro suíço muito bom e propus que me ensinasse, mas não era o que ele queria. Não havia cursos rápidos como há em São Paulo. Isso acabou ficando na geladeira", lembra.

Um dia, surgiu a oportunidade de uma mudança para a capital paulista. "Era uma vaga para a minha esposa, justo quando estávamos muito bem em Juazeiro. O escritório, cheio de projetos, e eu ainda ei a dar aulas na faculdade. Mas depois de ponderar muito, resolvi virar a chave", conta.

Escrivaninha Mucuripe - Arquivo Pessoal - Arquivo Pessoal
Escrivaninha Mucuripe
Imagem: Arquivo Pessoal

Recém-chegado em 2017 a São Paulo, Camarotti resolveu ir a uma feira de design e começou a fazer contatos. "Estava em dúvida se fazia um curso ou especialização. Buscava loucamente um caminho. A Julia Krantz me acolheu e me indicou o Morito Ebine, grande mestre da marcenaria. Entrei na fila de espera para suas aulas e fiz todas", diz Bruno, que tem orgulho de incluir no currículo um estágio no ateliê de Julia.

Ele se preparava para lançar suas peças e sua marca, o Estúdio Camarotti (@estudiocamarotti), com todo orgulho quando a pandemia começou. "Foi um balde de água fria, desgastante demais. Minhas reservas se esgotavam e no meio do turbilhão ainda tivemos nosso terceiro filho", conta Bruno.

Os protótipos não pararam. "O trabalho artesanal é diferente e foi difícil me libertar do nível de precisão que Morito colocou na minha cabeça. Vira uma obsessão o acabamento. Tem um termo que chama slow wood. Mas não funciona pra mim."

Gaveteiro Icaraí - Arquivo Pessoal - Arquivo Pessoal
Gaveteiro Icaraí
Imagem: Arquivo Pessoal
Cabideiro Fortim - Arquivo Pessoal - Arquivo Pessoal
Cabideiro Fortim
Imagem: Arquivo Pessoal
Banco Tabuba - Arquivo Pessoal - Arquivo Pessoal
Banco Tabuba
Imagem: Arquivo Pessoal

Entre os encaixes precisos de suas criações e os móveis escultóricos, Bruno parece ter encontrado algo maior. "Hoje posso dizer que sou 100% marceneiro e tenho curtido muito essa redescoberta. Aprendi com Morito a respeitar sobretudo a matéria-prima do móvel, que é a árvore."

Para um móvel durar, é preciso trabalhar com matéria-prima boa, com encaixes e técnicas corretas."

Neste ano, Camarotti teve uma peça premiada no Salão Design - o banco Tabuba, que se inspira na arquitetura de Vilanova Artigas, foi notado na categoria Desafio da Identidade Brasileira. Assim como essa, todas as outras criações levam os nomes de praias do litoral cearense.

Um jeito de honrar o lugar onde se criou, para onde volta sempre, feliz por ter seguido seu sonho.

@s que me inspiram

@morito.ebine

"O principal aprendizado com Morito foi o respeito que ele tem pela matéria-prima e pela experiência que busca proporcionar às pessoas. Morito se preocupa se sua criação vai fazer alguém feliz. Isso é muito inspirador."

@ateliejuliakrantz

"A Julia foi uma desbravadora na marcenaria. O que mais me inspira nela é que suas peças podem ser usadas como móveis, mas são obras de arte. Ou seja, ela produz obras que podem ser usadas como móveis. Julia é multitalentosa."