{"id":6718,"date":"2025-08-22T02:01:46","date_gmt":"2025-08-22T02:01:46","guid":{"rendered":"https:\/\/rehenrik.design\/?page_id=6718"},"modified":"2025-09-23T09:23:06","modified_gmt":"2025-09-23T12:23:06","slug":"playground","status":"publish","type":"page","link":"https:\/\/rehenrik.design\/br\/playground","title":{"rendered":"Playground"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"6718\" class=\"elementor elementor-6718\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-368b931 e-flex e-con-boxed e-con e-parent\" data-id=\"368b931\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a16124f e-con-full e-flex e-con e-child\" data-id=\"a16124f\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8c3cd07 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"8c3cd07\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Playground<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b8c916 elementor-widget__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"8b8c916\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Trabalhos pessoais voltados para a experimenta\u00e7\u00e3o, explorando t\u00e9cnicas, ampliando habilidades e expressando ideias visualmente.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-32a588c e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"32a588c\" data-element_type=\"container\" data-settings=\"{&quot;animation_delay&quot;:600,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-96acf91 elementor-widget elementor-widget-html\" data-id=\"96acf91\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ===== Masonry Grid (fadeInUp com delay aleat\u00f3rio + overlay) ===== -->\n<div class=\"masonry-gallery\"\n     data-slideshow=\"clientes-01\"\n     data-fade-min-ms=\"0\"\n     data-fade-max-ms=\"900\"\n     data-fade-dur-min-ms=\"800\"\n     data-fade-dur-max-ms=\"1400\">\n  <!-- Liste cada item uma \u00fanica vez -->\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/nodes.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/nodes.webp\" alt=\"Node\" loading=\"lazy\">\n  <\/a>\n\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/Beneath-the-surface.mp4\">\n    <video class=\"thumb-desktop\"\n           src=\"\/wp-content\/uploads\/2025\/08\/Beneaththesurfaceonline-video-cutter.com_.mp4\"\n           autoplay muted loop playsinline preload=\"metadata\"><\/video>\n    <img decoding=\"async\" class=\"thumb-mobile\"\n         src=\"\/wp-content\/uploads\/2025\/08\/Beneath-the-surface-thumb.webp\"\n         alt=\"Beneath the Surface\" loading=\"lazy\">\n  <\/a>\n\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/Cosmos-Control-Deck.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/Cosmos-Control-Deck.webp\" alt=\"Cosmos Control Deck\" loading=\"lazy\">\n  <\/a>\n\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/MG4.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/MG4.webp\" alt=\"MG4 Electric\" loading=\"lazy\">\n  <\/a>\n\n\n  \n    <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/PowerHouse-p.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/PowerHouse-p.webp\" alt=\"PoweHouse\" loading=\"lazy\">\n  <\/a>\n \n\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/Elevate.mp4\">\n    <video class=\"thumb-desktop\"\n           src=\"\/wp-content\/uploads\/2025\/08\/Elevateonline-video-cutter.com_.mp4\"\n           autoplay muted loop playsinline preload=\"metadata\"><\/video>\n    <img decoding=\"async\" class=\"thumb-mobile\"\n         src=\"\/wp-content\/uploads\/2025\/08\/elevate-thumb.webp\"\n         alt=\"Elevate\" loading=\"lazy\">\n  <\/a>\n\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/Cards.mp4\">\n    <img decoding=\"async\" class=\"thumb-desktop\"\n         src=\"\/wp-content\/uploads\/2025\/08\/cards-thumb-1.webp\" alt=\"Cards\" loading=\"lazy\">\n  <\/a>\n  \n    <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/EasyTax.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/EasyTax.webp\" alt=\"EasyTax\" loading=\"lazy\">\n  <\/a>\n\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/Bubble.mp4\">\n    <video class=\"thumb-desktop\"\n           src=\"\/wp-content\/uploads\/2025\/08\/Bubble.mp4\"\n           autoplay muted loop playsinline preload=\"metadata\"><\/video>\n    <img decoding=\"async\" class=\"thumb-mobile\"\n         src=\"\/wp-content\/uploads\/2025\/08\/Bubble-thumb.webp\"\n         alt=\"Bubble\" loading=\"lazy\">\n  <\/a>\n\n  <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/design-1.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/design-1.webp\" alt=\"Design\" loading=\"lazy\">\n  <\/a>\n  \n    <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/finance.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/finance.webp\" alt=\"Finance\" loading=\"lazy\">\n  <\/a>\n  \n    <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/3d-room.webp\">\n    <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/3d-room.webp\" alt=\"3d room\" loading=\"lazy\">\n  <\/a>\n  \n    <a class=\"masonry-item\" href=\"\/wp-content\/uploads\/2025\/08\/scoop-n-dough.mp4\">\n    <video class=\"thumb-desktop\"\n           src=\"\/wp-content\/uploads\/2025\/08\/scoop-n-dough.mp4\"\n           autoplay muted loop playsinline preload=\"metadata\"><\/video>\n    <img decoding=\"async\" class=\"thumb-mobile\"\n         src=\"\/wp-content\/uploads\/2025\/08\/scoop-n-dough.mp4\"\n         alt=\"Bubble\" loading=\"lazy\">\n  <\/a>\n  \n<\/div>\n\n<script>\n(function(){\n  \/* ========= Masonry + zoomIn aleat\u00f3rio + overlay ========= *\/\n  const galleries = document.querySelectorAll('.masonry-gallery');\n  if (galleries.length) galleries.forEach(setupGallery);\n\n  function setupGallery(gallery){\n    \/\/ Remove lightbox Elementor\n    gallery.querySelectorAll('a.masonry-item').forEach(a=>{\n      a.classList.remove('elementor-open-lightbox');\n      a.removeAttribute('data-elementor-open-lightbox');\n      a.removeAttribute('data-elementor-lightbox-type');\n      a.removeAttribute('data-elementor-lightbox-slideshow');\n      a.removeAttribute('data-elementor-lightbox-title');\n      a.removeAttribute('data-elementor-lightbox');\n    });\n\n    \/\/ Thumbs: v\u00eddeo desktop \/ imagem mobile\n    applyThumbMode(gallery);\n\n    \/\/ Play\/pause v\u00eddeos conforme visibilidade\n    const ioVideos = new IntersectionObserver(entries=>{\n      entries.forEach(entry=>{\n        const vids = entry.target.querySelectorAll('video.thumb-desktop');\n        if (entry.isIntersecting) vids.forEach(v=>v.play().catch(()=>{}));\n        else vids.forEach(v=>v.pause());\n      });\n    }, { threshold: 0.05 });\n    ioVideos.observe(gallery);\n\n    \/\/ ===== ZoomIn por item, com delay e dura\u00e7\u00e3o aleat\u00f3rios =====\n    const items = gallery.querySelectorAll('.masonry-item');\n\n    const loDelay = toInt(gallery.dataset.fadeMinMs, 0);\n    const hiDelay = toInt(gallery.dataset.fadeMaxMs, 900);\n    const loDur   = toInt(gallery.dataset.fadeDurMinMs, 800);\n    const hiDur   = toInt(gallery.dataset.fadeDurMaxMs, 1400);\n\n    const ioFade = new IntersectionObserver((entries)=>{\n      entries.forEach((entry)=>{\n        if (!entry.isIntersecting) return;\n\n        const el = entry.target;\n        \/\/ random delay + dura\u00e7\u00e3o\n        const delayMs = randBetween(loDelay, hiDelay);\n        const durMs   = randBetween(loDur, hiDur);\n\n        el.style.animationDelay = (delayMs \/ 1000) + 's';\n        el.style.setProperty('--mdw-fade-dur', (durMs \/ 1000) + 's');\n\n        \/\/ compat Elementor + nossa classe fallback\n        el.classList.add('zoomIn', 'mdw-zoomIn');\n        el.classList.remove('pre-fade');\n\n        ioFade.unobserve(el);\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -10% 0px' });\n\n    items.forEach((el)=>{\n      el.classList.add('pre-fade');\n      ioFade.observe(el);\n    });\n\n    \/\/ Breakpoints + resize\n    const mql = window.matchMedia('(max-width: 1024px)');\n    if (mql.addEventListener) mql.addEventListener('change', () => applyThumbMode(gallery));\n    else mql.addListener(() => applyThumbMode(gallery));\n    window.addEventListener('resize', debounce(() => applyThumbMode(gallery), 150));\n  }\n\n  function applyThumbMode(scope){\n    const isMobile = window.matchMedia('(max-width: 1024px)').matches;\n    const videos = scope.querySelectorAll('video.thumb-desktop');\n    const imgs   = scope.querySelectorAll('img.thumb-mobile');\n\n    videos.forEach(v=>{\n      if (isMobile){\n        try { v.pause(); } catch(_){}\n        if (!v.dataset.src) v.dataset.src = v.getAttribute('src') || v.currentSrc || '';\n        if (v.getAttribute('src')) { v.removeAttribute('src'); v.load(); }\n        v.style.display = 'none';\n      } else {\n        if (!v.getAttribute('src') && v.dataset.src){ v.setAttribute('src', v.dataset.src); v.load(); }\n        v.muted = true; v.loop = true; v.autoplay = true; v.playsInline = true; v.controls = false;\n        v.style.display = '';\n        v.addEventListener('loadedmetadata', () => { v.play().catch(()=>{}); }, { once: true });\n      }\n    });\n    imgs.forEach(img => { img.style.display = isMobile ? '' : 'none'; });\n  }\n\n  function debounce(fn, t){ let id; return (...a)=>{ clearTimeout(id); id=setTimeout(()=>fn.apply(this,a), t); }; }\n  function toInt(v, d){ const n = parseInt(v, 10); return isNaN(n) ? d : n; }\n  function randBetween(lo, hi){ const a = Math.min(lo, hi), b = Math.max(lo, hi); return Math.floor(Math.random()*(b-a+1))+a; }\n\n  \/* ========= Overlay + loader + navega\u00e7\u00e3o ========= *\/\n  document.addEventListener('click', function(e){\n    const a = e.target.closest('a.masonry-item');\n    if (!a) return;\n    const gallery = a.closest('.masonry-gallery'); if (!gallery) return;\n\n    const items = buildGalleryItems(gallery);\n    const url = a.getAttribute('href') || '';\n    const startIndex = Math.max(0, items.findIndex(i => i.href === url));\n\n    e.preventDefault(); e.stopPropagation(); if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n    openViewer(items, startIndex);\n  }, { passive: false });\n\n  function buildGalleryItems(container){\n    const links = Array.from(container.querySelectorAll('a.masonry-item'));\n    const items = [];\n    const seen = new Set();\n    links.forEach(a=>{\n      const href = a.getAttribute('href') || '';\n      if (!href) return;\n      if (!\/\\.(png|jpe?g|webp|gif|svg|mp4|webm|ogg)(\\?|#|$)\/i.test(href)) return;\n      if (seen.has(href)) return;\n      seen.add(href);\n      items.push({ href, isVideo: \/\\.(mp4|webm|ogg)(\\?|#|$)\/i.test(href) });\n    });\n    return items;\n  }\n\n  function openViewer(items, startIndex){\n    if (!items.length) return;\n    if (document.querySelector('.mdw-overlay')) return;\n\n    const overlay = document.createElement('div');\n    overlay.className = 'mdw-overlay';\n    overlay.setAttribute('role', 'dialog');\n    overlay.setAttribute('aria-modal', 'true');\n\n    const viewer = document.createElement('div');\n    viewer.className = 'mdw-viewer';\n    viewer.tabIndex = -1;\n\n    const loader = document.createElement('div');\n    loader.className = 'mdw-loading';\n    const spinner = document.createElement('span');\n    spinner.className = 'mdw-spinner';\n    loader.appendChild(spinner);\n\n    const btnPrev = document.createElement('button');\n    btnPrev.className = 'mdw-nav-btn mdw-prev-btn';\n    btnPrev.setAttribute('aria-label', 'Anterior');\n    btnPrev.innerHTML = '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M15 19l-7-7 7-7\"><\/path><\/svg>';\n\n    const btnNext = document.createElement('button');\n    btnNext.className = 'mdw-nav-btn mdw-next-btn';\n    btnNext.setAttribute('aria-label', 'Pr\u00f3ximo');\n    btnNext.innerHTML = '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 5l7 7-7 7\"><\/path><\/svg>';\n\n    overlay.appendChild(viewer);\n    overlay.appendChild(btnPrev);\n    overlay.appendChild(btnNext);\n    document.body.appendChild(overlay);\n\n    viewer.appendChild(loader);\n    spinner.getBoundingClientRect();\n    spinner.style.animationPlayState = 'running';\n\n    const prevOverflow = document.body.style.overflow;\n    document.body.style.overflow = 'hidden';\n\n    overlay.addEventListener('click', (ev) => { if (ev.target === overlay) close(); });\n\n    function onKey(ev){\n      if (ev.key === 'Escape') close();\n      if (ev.key === 'ArrowLeft') { ev.preventDefault(); go(-1); }\n      if (ev.key === 'ArrowRight') { ev.preventDefault(); go(1); }\n    }\n    document.addEventListener('keydown', onKey);\n    requestAnimationFrame(() => viewer.focus());\n\n    const READY_TIMEOUT_MS = 3000;\n    const MIN_SPINNER_MS = 350;\n    let showAt = 0;\n    let media = null;\n    let index = startIndex;\n\n    function showLoader(){\n      viewer.classList.remove('is-ready');\n      if (!loader.isConnected) viewer.appendChild(loader);\n      spinner.getBoundingClientRect();\n      spinner.style.animationPlayState = 'running';\n      showAt = performance.now();\n    }\n    function hideLoader(){\n      const elapsed = performance.now() - showAt;\n      const wait = Math.max(0, MIN_SPINNER_MS - elapsed);\n      setTimeout(()=>{\n        viewer.classList.add('is-ready');\n        const cleanup = () => { if (loader && loader.parentNode) loader.remove(); };\n        loader.addEventListener('transitionend', cleanup, { once: true });\n        setTimeout(cleanup, 400);\n      }, wait);\n    }\n\n    function createMedia(item){\n      const isVideo = !!item.isVideo;\n      let el;\n      if (isVideo){\n        el = document.createElement('video');\n        el.src = item.href;\n        el.autoplay = true; el.loop = true; el.muted = true; el.playsInline = true; el.controls = false;\n      } else {\n        el = document.createElement('img');\n        el.src = item.href; el.alt = '';\n      }\n      el.className = 'mdw-media';\n      return el;\n    }\n\n    function imgReady(img){\n      if (img.complete && img.naturalWidth > 0) return Promise.resolve();\n      const tryDecode = img.decode ? img.decode().catch(()=>{}) : Promise.resolve();\n      return Promise.race([\n        new Promise(res=>{\n          const done = () => { img.removeEventListener('load', done); img.removeEventListener('error', done); res(); };\n          img.addEventListener('load', done, { once:true });\n          img.addEventListener('error', done, { once:true });\n        }),\n        tryDecode,\n        new Promise(res => setTimeout(res, READY_TIMEOUT_MS))\n      ]);\n    }\n    function videoReady(video){\n      if (video.readyState >= 2) return Promise.resolve();\n      return Promise.race([\n        new Promise(res=>{\n          const done = () => { cleanup(); res(); };\n          const cleanup = () => {\n            video.removeEventListener('loadeddata', done);\n            video.removeEventListener('canplay', done);\n            video.removeEventListener('playing', done);\n            video.removeEventListener('timeupdate', onTime);\n            video.removeEventListener('error', done);\n          };\n          const onTime = () => { if (video.currentTime > 0) done(); };\n          video.addEventListener('loadeddata', done, { once:true });\n          video.addEventListener('canplay', done, { once:true });\n          video.addEventListener('playing', done, { once:true });\n          video.addEventListener('timeupdate', onTime);\n          video.addEventListener('error', done, { once:true });\n        }),\n        new Promise(res => setTimeout(res, READY_TIMEOUT_MS))\n      ]);\n    }\n\n    function load(idx){\n      index = (idx + items.length) % items.length;\n      const item = items[index];\n\n      showLoader();\n\n      const newMedia = createMedia(item);\n      if (media && media.parentNode) media.replaceWith(newMedia);\n      else viewer.appendChild(newMedia);\n      media = newMedia;\n\n      const ready = item.isVideo ? videoReady(media) : imgReady(media);\n      ready.then(hideLoader).catch(hideLoader);\n    }\n\n    function go(delta){ load(index + delta); }\n\n    btnPrev.addEventListener('click', (e)=>{ e.stopPropagation(); go(-1); });\n    btnNext.addEventListener('click', (e)=>{ e.stopPropagation(); go(1); });\n    [btnPrev, btnNext].forEach(btn=>{\n      btn.addEventListener('keydown', (e)=>{\n        if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); btn.click(); }\n      });\n    });\n\n    load(index);\n\n    function close(){\n      if (media && media.tagName === 'VIDEO') { try { media.pause(); } catch(_){ } }\n      document.removeEventListener('keydown', onKey);\n      document.body.style.overflow = prevOverflow || '';\n      overlay.remove();\n    }\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Playground Fun-driven personal work aimed at exploring techniques, expanding range, and visual expression.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-6718","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Playground - rehenrik<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rehenrik.design\/br\/playground\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Playground - rehenrik\" \/>\n<meta property=\"og:description\" content=\"Playground Fun-driven personal work aimed at exploring techniques, expanding range, and visual expression.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rehenrik.design\/br\/playground\/\" \/>\n<meta property=\"og:site_name\" content=\"rehenrik\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-23T12:23:06+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rehenrik.design\/playground\",\"url\":\"https:\/\/rehenrik.design\/playground\",\"name\":\"Playground - rehenrik\",\"isPartOf\":{\"@id\":\"https:\/\/rehenrik.design\/#website\"},\"datePublished\":\"2025-08-22T02:01:46+00:00\",\"dateModified\":\"2025-09-23T12:23:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rehenrik.design\/playground#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rehenrik.design\/playground\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rehenrik.design\/playground#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rehenrik.design\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Playground\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rehenrik.design\/#website\",\"url\":\"https:\/\/rehenrik.design\/\",\"name\":\"rehenrik\",\"description\":\"Product Designer\",\"publisher\":{\"@id\":\"https:\/\/rehenrik.design\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rehenrik.design\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/rehenrik.design\/#organization\",\"name\":\"rehenrik\",\"url\":\"https:\/\/rehenrik.design\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/rehenrik.design\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/rehenrik.design\/wp-content\/uploads\/2023\/07\/logo.png\",\"contentUrl\":\"https:\/\/rehenrik.design\/wp-content\/uploads\/2023\/07\/logo.png\",\"width\":512,\"height\":512,\"caption\":\"rehenrik\"},\"image\":{\"@id\":\"https:\/\/rehenrik.design\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Playground - rehenrik","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rehenrik.design\/br\/playground\/","og_locale":"pt_BR","og_type":"article","og_title":"Playground - rehenrik","og_description":"Playground Fun-driven personal work aimed at exploring techniques, expanding range, and visual expression.","og_url":"https:\/\/rehenrik.design\/br\/playground\/","og_site_name":"rehenrik","article_modified_time":"2025-09-23T12:23:06+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. tempo de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/rehenrik.design\/playground","url":"https:\/\/rehenrik.design\/playground","name":"Playground - rehenrik","isPartOf":{"@id":"https:\/\/rehenrik.design\/#website"},"datePublished":"2025-08-22T02:01:46+00:00","dateModified":"2025-09-23T12:23:06+00:00","breadcrumb":{"@id":"https:\/\/rehenrik.design\/playground#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rehenrik.design\/playground"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rehenrik.design\/playground#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rehenrik.design\/"},{"@type":"ListItem","position":2,"name":"Playground"}]},{"@type":"WebSite","@id":"https:\/\/rehenrik.design\/#website","url":"https:\/\/rehenrik.design\/","name":"rehenrik","description":"Product Designer","publisher":{"@id":"https:\/\/rehenrik.design\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rehenrik.design\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/rehenrik.design\/#organization","name":"rehenrik","url":"https:\/\/rehenrik.design\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/rehenrik.design\/#\/schema\/logo\/image\/","url":"https:\/\/rehenrik.design\/wp-content\/uploads\/2023\/07\/logo.png","contentUrl":"https:\/\/rehenrik.design\/wp-content\/uploads\/2023\/07\/logo.png","width":512,"height":512,"caption":"rehenrik"},"image":{"@id":"https:\/\/rehenrik.design\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/pages\/6718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/comments?post=6718"}],"version-history":[{"count":9,"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/pages\/6718\/revisions"}],"predecessor-version":[{"id":9218,"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/pages\/6718\/revisions\/9218"}],"wp:attachment":[{"href":"https:\/\/rehenrik.design\/br\/wp-json\/wp\/v2\/media?parent=6718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}