{"id":2862,"date":"2026-11-04T04:36:54","date_gmt":"2026-11-04T04:36:54","guid":{"rendered":"https:\/\/videoscore.org\/kontekst\/"},"modified":"2026-11-04T16:17:32","modified_gmt":"2026-11-04T16:17:32","slug":"kontekst","status":"publish","type":"page","link":"https:\/\/videoscore.org\/pl\/kontekst\/","title":{"rendered":"Kontekst"},"content":{"rendered":"<style id=\"nectar-blocks-row-css\">.nectar-blocks-row.nectar-blocks-row__inner.nectar-blocks-row__wrapper{height:auto}.nectar-blocks-row.nectar-blocks-row__inner.nectar-blocks-row__wrapper:not(.alignfull),.nectar-blocks-row.nectar-l1:not(.alignfull){width:auto}.nectar-blocks-row.nectar-l1,.nectar-blocks-row__inner{display:flex;flex-flow:row;align-items:stretch;box-sizing:border-box;gap:var(--column-gap)}@media only screen and (768px<=width<=1024px){.nectar-blocks-row.nectar-l1:not(.is-horizontal-tablet)>.nectar-blocks-column{flex:auto!important}}@media only screen and (width<=767px){.nectar-blocks-row.nectar-l1:not(.is-horizontal-phone)>.nectar-blocks-column{flex:auto!important}}.nectar-blocks-row__wrapper{position:relative;width:100%;height:100%;min-height:inherit;transition:.25s}.nectar-blocks-row__wrapper>.nectar__bg-layers{border-radius:inherit;transition:none}.nectar-blocks-row{position:relative}.nectar-blocks-row.alignfull{margin-block:0}.nectar-blocks-row__inner{width:100%;height:100%;min-height:inherit;position:relative;justify-content:flex-start}.nectar-blocks-row__inner.is-flex-wrapped>.wp-block-nectar-blocks-column{flex-grow:0;flex-basis:auto}@media only screen and (768px<=width<=1024px){.nectar-blocks-row__inner:not(.is-horizontal-tablet)>.nectar-blocks-column{flex:auto!important}}@media only screen and (width<=767px){.nectar-blocks-row__inner:not(.is-horizontal-phone)>.nectar-blocks-column{flex:auto!important}}.nectar-blocks-row__inner.is-contained-content{max-width:var(--wp--style--global--content-size,1300px);margin-left:auto!important;margin-right:auto!important;padding-right:var(--wp--style--root--padding-right,50px);padding-left:var(--wp--style--root--padding-left,50px)}.nectar__bg-shape{pointer-events:none}.nectar__bg-shape.position-both svg:first-child,.nectar__bg-shape.position-top{transform:rotateX(180deg)}.nectar__bg-shape.position-bottom,.nectar__bg-shape.position-top{display:flex;flex-direction:column;justify-content:flex-end}.nectar__bg-shape.position-both{display:flex;flex-direction:column;justify-content:space-between}.nectar__bg-shape.align-outside svg{position:relative}.nectar__bg-shape.align-outside.position-bottom svg,.nectar__bg-shape.align-outside.position-top svg{transform:translateY(calc(100% - 1px))rotateX(180deg)}:is(.nectar__bg-shape.align-outside.shape-curve_asymmetrical.position-bottom,.nectar__bg-shape.align-outside.shape-curve_asymmetrical.position-top,.nectar__bg-shape.align-outside.shape-tilt.position-bottom,.nectar__bg-shape.align-outside.shape-tilt.position-top) svg{transform:translateY(100%)rotateX(180deg)}.nectar__bg-shape.align-outside.position-both svg:first-child{transform:translateY(-100%)}.nectar__bg-shape.align-outside.position-both svg:last-child{transform:translateY(100%)rotateX(180deg)}.nectar__bg-shape.shape-rounded svg{border-radius:1em 1em 0 0}.nectar__bg-shape svg{width:100%}<\/style>\n<div class=\"wp-block-nectar-blocks-row alignfull nectar-block nectar-blocks-row nectar-l1\" id=\"block-00fdde50f2\"><style id=\"nectar-blocks-column-css\">.wp-block{opacity:1}.nectar-blocks-column{position:relative;transition:.25s;min-width:0}.nectar-blocks-column>a{color:inherit}.nectar-blocks-column.nectar-blocks-column__content-wrap{height:auto}.nectar-blocks-column.nectar-l1{box-sizing:border-box;width:100%;display:flex;flex-direction:column}.nectar-blocks-column.nectar-l3>.nectar-blocks-column__wrapper>.nectar-blocks-column__inner{position:static}.nectar-blocks-column.nectar-l3>.nectar-blocks-column__wrapper:has(>.nectar__bg-layers>*){z-index:0}.nectar-blocks-column.nectar-l3>.nectar-blocks-column__wrapper:has(>.nectar__bg-layers>*)>.nectar__bg-layers{z-index:-1}.nectar-blocks-column :is(.nectar-blocks-rotating-text,.nectar-blocks-text),.nectar-blocks-column__inner>:is(h1,h2,h3,h4,h5,h6,p){margin-bottom:0}.nectar-blocks-column__wrapper{position:relative;height:100%;min-height:inherit;transition:.25s}.nectar-blocks-column__wrapper>.nectar__bg-layers{border-radius:inherit;transition:none}.nectar-blocks-column__inner{box-sizing:border-box;position:relative;width:100%;min-height:inherit}.nectar-blocks-column__content-wrap{width:100%;height:100%;min-height:inherit;display:flex;flex-direction:column}.nectar-blocks-column__link-overlay{position:absolute;inset:0;z-index:10;display:block;background:#0000;color:inherit}<\/style>\n<div class=\"wp-block-nectar-blocks-column nectar-blocks-column nectar-block nectar-l1\" id=\"block-81e95eccdb\">\n<!-- ============================================================\n  Mapa prac \/ Map of works \u2014 Jacek Doroszenko (v3 external: osadzenie na innych stronach)\n  Blok \u201eCustom HTML\u201d (Gutenberg \/ Nectar Blocks) lub \u201eRaw HTML\u201d (WPBakery). Bez zale\u017cno\u015bci zewn\u0119trznych.\n  Skrypt nie zawiera znaku ampersand \u2013 WordPress nie mo\u017ce go uszkodzi\u0107 przy zapisie.\n  Wszystkie odno\u015bniki do prac i kategorii otwieraj\u0105 doroszenko.com w nowej karcie.\n  Ustawienia na elemencie #jdmap:\n    data-lang=\"auto\" | \"en\" | \"pl\" \u2013 j\u0119zyk (auto = wg atrybutu lang strony, np. WPML)\n    data-theme=\"dark\" | \"light\"  \u2013 motyw startowy (odwiedzaj\u0105cy mo\u017ce go prze\u0142\u0105czy\u0107; wyb\u00f3r jest zapami\u0119tywany)\n    data-lens=\"all\" | \"media\" | \"themes\" | \"methods\" \u2013 widok startowy\n============================================================= -->\n<div class=\"jdmap\" id=\"jdmap\" data-lang=\"auto\" data-theme=\"dark\" data-lens=\"all\">\n  <div class=\"jdmap-bar\">\n    <div class=\"jdmap-title\">\n      <span class=\"jdmap-title-main\" data-i18n=\"title\">Map of works<\/span>\n      <span class=\"jdmap-crumb\" aria-live=\"polite\"><\/span>\n    <\/div>\n    <div class=\"jdmap-bar-r\">\n    <div class=\"jdmap-tabs\" role=\"tablist\">\n      <button type=\"button\" role=\"tab\" data-lens=\"all\" data-i18n=\"all\">All<\/button>\n      <button type=\"button\" role=\"tab\" data-lens=\"media\" data-i18n=\"media\">Media<\/button>\n      <button type=\"button\" role=\"tab\" data-lens=\"themes\" data-i18n=\"themes\">Themes<\/button>\n      <button type=\"button\" role=\"tab\" data-lens=\"methods\" data-i18n=\"methods\">Methods<\/button>\n    <\/div>\n    <div class=\"jdmap-theme\" role=\"group\">\n      <button type=\"button\" data-set-theme=\"dark\" data-i18n=\"dark\">Dark<\/button>\n      <button type=\"button\" data-set-theme=\"light\" data-i18n=\"light\">Light<\/button>\n    <\/div>\n    <\/div>\n  <\/div>\n  <div class=\"jdmap-stage\">\n    <div class=\"jdmap-svg\" role=\"application\" aria-label=\"Map of works\">\n      <div class=\"jdmap-vp\">\n        <div class=\"jdmap-works\"><\/div>\n        <div class=\"jdmap-hubs\"><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"jdmap-tip\" aria-hidden=\"true\"><\/div>\n    <button type=\"button\" class=\"jdmap-back\" data-i18n=\"back\">\u2190 Whole map<\/button>\n    <div class=\"jdmap-zoom\">\n      <button type=\"button\" data-zoom=\"in\" aria-label=\"Zoom in\">+<\/button>\n      <button type=\"button\" data-zoom=\"out\" aria-label=\"Zoom out\">\u2212<\/button>\n      <button type=\"button\" data-zoom=\"fit\" aria-label=\"Fit\">\u25cb<\/button>\n    <\/div>\n    <div class=\"jdmap-hint\" data-i18n=\"hint\">Drag to pan \u00b7 Ctrl\/\u2318 + scroll to zoom<\/div>\n    <aside class=\"jdmap-panel\" aria-live=\"polite\"><\/aside>\n  <\/div>\n  <nav class=\"jdmap-index\" aria-label=\"Categories\"><\/nav>\n  <noscript><p class=\"jdmap-noscript\"><a href=\"https:\/\/doroszenko.com\/\" target=\"_blank\" rel=\"noopener\">doroszenko.com \u2013 works<\/a><\/p><\/noscript>\n<\/div>\n<style>\n\/* zgaszona paleta: nasycenie kolor\u00f3w kategorii \u221250%, t\u0142a i interfejs czarno-bia\u0142e *\/\n.jdmap{--bg:#151515;--fg:#ececec;--mute:rgba(236,236,236,.56);--faint:rgba(236,236,236,.14);--panel:rgba(21,21,21,.94);--chip:rgba(255,255,255,.06);--c-media:#8595d6;--c-themes:#6cbb9a;--c-methods:#bca9e2;--c-context:#d6bc85;--hl:#ffffff;--hl-fg:#000000;--hl-mute:rgba(0,0,0,.55);\n  position:relative;background:var(--bg);color:var(--fg);font-family:\"Space Grotesk\",ui-sans-serif,system-ui,-apple-system,\"Segoe UI\",sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;overflow:hidden;box-sizing:border-box}\n.jdmap[data-theme=\"light\"]{--bg:#ffffff;--fg:#111111;--mute:rgba(17,17,17,.56);--faint:rgba(17,17,17,.12);--panel:rgba(255,255,255,.96);--chip:rgba(17,17,17,.05);--c-media:#6272cb;--c-themes:#2f765b;--c-methods:#866ebe;--c-context:#947631;--hl:#111111;--hl-fg:#ffffff;--hl-mute:rgba(255,255,255,.65)}\n.jdmap *,.jdmap *::before,.jdmap *::after{box-sizing:border-box}\n.jdmap :where(button){all:unset;box-sizing:border-box;cursor:pointer;font:inherit;color:inherit}\n.jdmap button:focus-visible,.jdmap a:focus-visible,.jdmap .jdmap-work:focus-visible{outline:2px solid var(--c-context);outline-offset:2px}\n.jdmap a{color:inherit}\n\/* uodpornienie na style motywu strony docelowej *\/\nhtml body .jdmap.jdmap button{border-radius:0 !important;-webkit-border-radius:0 !important;box-shadow:none !important;text-transform:none !important;letter-spacing:normal !important;min-height:0 !important;margin:0;line-height:1.3 !important;text-decoration:none !important}\nhtml body .jdmap.jdmap a{box-shadow:none !important;background-image:none}\nhtml body .jdmap.jdmap img{border-radius:0 !important;box-shadow:none !important;margin:0}\n\/* obrazy w panelu: zawsze w ca\u0142o\u015bci, bez przycinania (tak\u017ce wewn\u0105trz kolumn WPBakery\/Salient) *\/\nhtml body .jdmap.jdmap .jdmap-panel img.img{display:block !important;width:100% !important;height:auto !important;max-width:100% !important;max-height:70vh !important;aspect-ratio:auto !important;object-fit:contain !important;margin:0 0 14px !important;background:var(--chip)}\nhtml body .jdmap.jdmap .jdmap-panel ol img{display:block !important;width:44px !important;height:30px !important;max-width:44px !important;min-width:44px !important;aspect-ratio:auto !important;object-fit:contain !important;background:var(--chip);margin:0 !important}\n\/* nag\u0142\u00f3wki modu\u0142u niezale\u017cne od typografii motywu *\/\nhtml body .jdmap.jdmap h3,html body .jdmap.jdmap h4{font-family:inherit !important;font-weight:400 !important;text-transform:none;letter-spacing:normal;margin:0;padding:0}\nhtml body .jdmap.jdmap .jdmap-panel h3{font-size:20px !important;line-height:1.2 !important;margin:0 34px 6px 0 !important}\nhtml body .jdmap.jdmap .jdmap-index h4{font-size:11px !important;line-height:1.4 !important;letter-spacing:.08em !important;text-transform:uppercase !important;margin:0 0 8px !important}\n.jdmap svg{max-width:none;overflow:hidden}\n.jdmap p,.jdmap ol,.jdmap li{font-family:inherit;letter-spacing:normal}\n.jdmap ol li::marker{content:none}\n\/* bar *\/\n.jdmap-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:16px 20px;border-bottom:1px solid var(--faint)}\n.jdmap-title{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}\n.jdmap-title-main{font-size:18px;letter-spacing:.01em}\n.jdmap-crumb{color:var(--mute);font-size:14px}\n.jdmap-crumb b{color:var(--fg);font-weight:400}\n.jdmap-tabs{display:flex;gap:4px;flex-wrap:wrap}\n.jdmap-tabs button{padding:6px 12px;border:1px solid var(--faint);font-size:13px;color:var(--mute);transition:color .2s,border-color .2s,background .2s}\n.jdmap-tabs button:hover{color:var(--fg);border-color:var(--mute)}\n.jdmap-bar-r{display:flex;gap:10px;flex-wrap:wrap;align-items:center}\n.jdmap-theme{display:flex;border:1px solid var(--faint)}\n.jdmap-theme button{padding:6px 11px;font-size:13px;color:var(--mute);transition:color .2s,background .2s}\n.jdmap-theme button+button{border-left:1px solid var(--faint)}\n.jdmap-theme button:hover{color:var(--fg)}\n.jdmap-theme button[aria-pressed=\"true\"]{background:var(--hl);color:var(--hl-fg)}\n.jdmap,.jdmap-panel,.jdmap-back,.jdmap-zoom{transition:background-color .3s,color .3s}\n.jdmap-tabs button[aria-selected=\"true\"]{color:var(--hl-fg);background:var(--hl);border-color:var(--hl)}\n\/* stage *\/\n.jdmap-stage{position:relative;height:clamp(560px,82vh,920px);overflow:hidden}\n\/* scena: canvas (py\u0142, kraw\u0119dzie) + w\u0119z\u0142y HTML przesuwane transformacj\u0105 GPU *\/\n.jdmap-svg{position:absolute;left:0;top:0;right:0;bottom:0;display:block;overflow:hidden;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;contain:strict}\n.jdmap-svg.is-panning{cursor:grabbing}\nhtml body .jdmap.jdmap canvas.jdmap-cv{position:absolute;left:0;top:0;width:100%;height:100%;display:block;max-width:none;margin:0;padding:0;border:0;pointer-events:none}\n.jdmap-vp,.jdmap-works,.jdmap-hubs{position:absolute;left:0;top:0;width:0;height:0}\n.jdmap-hub,.jdmap-work{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;backface-visibility:hidden;transition:opacity .35s}\n.jdmap.is-moving .jdmap-hub,.jdmap.is-moving .jdmap-work{will-change:transform}\n.jdmap-hub span,.jdmap-work span{position:absolute;display:block}\n.jdmap-hub{cursor:pointer;outline:none}\n.jdmap-hub.g-media{color:var(--c-media)}\n.jdmap-hub.g-themes{color:var(--c-themes)}\n.jdmap-hub.g-methods{color:var(--c-methods)}\n.jdmap-hub.g-context{color:var(--c-context)}\n.jdmap-hub .ha{left:-9px;top:-9px;width:18px;height:18px;border:1px solid currentColor;opacity:.45}\n.jdmap-hub .dt{left:-4.5px;top:-4.5px;width:9px;height:9px;background:currentColor}\n.jdmap-hub .lb{left:10px;bottom:3px;padding:2px 6px;font-size:15px;line-height:20px;letter-spacing:.01em;white-space:nowrap;color:var(--fg);background-color:transparent;transition:background-color .2s,color .2s,opacity .2s}\n.jdmap-hub .lb .n{position:relative;display:inline;top:-7px;font-size:10px;line-height:1;color:var(--mute);transition:color .2s}\n.jdmap-hub.is-left .lb{left:auto;right:10px}\n.jdmap-hub:hover .lb,.jdmap-hub.is-focus .lb,.jdmap-hub:focus-visible .lb{background-color:var(--hl);color:var(--hl-fg)}\n.jdmap-hub:hover .lb .n,.jdmap-hub.is-focus .lb .n,.jdmap-hub:focus-visible .lb .n{color:var(--hl-mute)}\n.jdmap-work{cursor:pointer;outline:none}\n.jdmap-work .fr{left:-17px;top:-12px;width:34px;height:24px;border:1px solid var(--mute);background:var(--bg);overflow:hidden;transition:border-color .2s}\nhtml body .jdmap.jdmap .jdmap-work .fr img{display:block !important;position:absolute !important;left:0 !important;top:0 !important;width:100% !important;height:100% !important;max-width:none !important;min-width:0 !important;max-height:none !important;margin:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;object-fit:cover !important;opacity:.82;transition:opacity .2s;pointer-events:none}\n.jdmap-work .lb{left:19px;top:-11px;height:22px;padding:0 6px;font-size:12px;line-height:20px;white-space:nowrap;color:var(--fg);background:var(--bg);border:1px solid var(--faint);opacity:0;pointer-events:none;transition:opacity .2s}\n.jdmap-work.is-left .lb{left:auto;right:19px}\n.jdmap-work:hover .fr,.jdmap-work.is-hl .fr,.jdmap-work.is-sel .fr{border-color:var(--c-themes)}\nhtml body .jdmap.jdmap .jdmap-work:hover .fr img,html body .jdmap.jdmap .jdmap-work.is-hl .fr img,html body .jdmap.jdmap .jdmap-work.is-sel .fr img{opacity:1}\n.jdmap.is-focus .jdmap-work.is-ring .lb,.jdmap-work.is-sel .lb{opacity:1;pointer-events:auto}\n.jdmap-work.is-sel .lb{background:var(--hl);border-color:var(--hl);color:var(--hl-fg)}\n.jdmap .is-off{pointer-events:none}\n.jdmap.is-hover .jdmap-work,.jdmap.is-hover .jdmap-hub{opacity:.28}\n.jdmap.is-hover .jdmap-work.is-hl,.jdmap.is-hover .jdmap-hub.is-hl{opacity:1}\n.jdmap.is-focus .jdmap-hub.is-sec .lb{opacity:0}\n.jdmap.is-focus .jdmap-hub.is-sec:hover .lb,.jdmap.is-focus .jdmap-hub.is-sec:focus .lb,.jdmap.is-focus .jdmap-hub.is-sec.is-hl .lb{opacity:1}\n\/* w ruchu bez przej\u015b\u0107 CSS: przej\u015bcia na przesuwanych w\u0119z\u0142ach wymuszaj\u0105 przeliczanie styl\u00f3w w ka\u017cdej klatce; zanikanie robi JS *\/\n.jdmap.is-moving .jdmap-vp,.jdmap.is-moving .jdmap-vp *{transition:none !important}\n.jdmap.jdmap.jdmap .jdmap-vp .is-off{opacity:0}\n\/* overlays *\/\n.jdmap-tip{position:absolute;left:0;top:0;pointer-events:none;background:var(--hl);color:var(--hl-fg);padding:5px 9px;font-size:13px;white-space:nowrap;max-width:min(420px,80%);overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translate(-9999px,0);transition:opacity .15s}\n.jdmap-tip.is-on{opacity:1}\n.jdmap-tip small{opacity:.7;margin-left:6px}\n.jdmap-back{position:absolute;left:16px;top:16px;padding:7px 12px;background:var(--panel);border:1px solid var(--faint);font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s}\n.jdmap.is-focus .jdmap-back{opacity:1;pointer-events:auto}\n.jdmap-back:hover{border-color:var(--mute)}\n.jdmap-zoom{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;border:1px solid var(--faint);background:var(--panel)}\n.jdmap-zoom button{width:34px !important;height:34px !important;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--mute)}\n.jdmap-zoom button+button{border-top:1px solid var(--faint)}\n.jdmap-zoom button:hover{color:var(--fg)}\n.jdmap-hint{position:absolute;left:62px;bottom:18px;font-size:12px;color:var(--mute);pointer-events:none;transition:opacity .4s}\n.jdmap-hint.is-flash{color:var(--fg)}\n\/* panel *\/\n.jdmap-panel{position:absolute;right:16px;top:16px;bottom:16px;width:340px;max-width:calc(100% - 32px);background:var(--panel);border:1px solid var(--faint);overflow-y:auto;transform:translateX(calc(100% + 24px));transition:transform .35s cubic-bezier(.2,.7,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}\n.jdmap-panel.is-open{transform:none}\n.jdmap-panel-in{padding:18px 18px 22px}\n.jdmap-panel .x{position:absolute;right:8px;top:8px;width:30px !important;height:30px !important;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--mute);background:var(--panel)}\n.jdmap-panel .x:hover{color:var(--fg)}\n.jdmap-panel .kick{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}\n.jdmap-panel h3{all:unset;display:block;font-size:20px;line-height:1.2;margin:0 34px 6px 0;color:var(--fg)}\n.jdmap-panel h3 sup{font-size:11px;color:var(--mute);margin-left:4px}\n.jdmap-panel .meta{color:var(--mute);font-size:13px;margin:0 0 12px}\n.jdmap-panel .img{display:block;width:100%;height:auto;object-fit:contain;margin:0 0 14px;background:var(--chip)}\n.jdmap-panel p.d{margin:0 0 14px;font-size:14px;line-height:1.5}\n.jdmap-panel .grp{margin:0 0 10px}\n.jdmap-panel .grp-l{font-size:11px;color:var(--mute);margin:0 0 5px}\n.jdmap-panel .chips{display:flex;flex-wrap:wrap;gap:5px}\n.jdmap-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:var(--chip);font-size:12px;border:1px solid transparent}\n.jdmap-chip:hover{border-color:var(--mute)}\n.jdmap-chip i{display:inline-block;width:7px;height:7px}\n.jdmap-chip.g-media i{background:var(--c-media)}\n.jdmap-chip.g-themes i{background:var(--c-themes)}\n.jdmap-chip.g-methods i{background:var(--c-methods)}\n.jdmap-chip.g-context i{background:var(--c-context)}\n.jdmap-chip sup{color:var(--mute);font-size:10px}\n.jdmap-panel .cta{display:inline-block;margin-top:8px;padding:9px 14px;background:var(--hl);color:var(--hl-fg) !important;text-decoration:none;font-size:13px}\n.jdmap-panel .cta:hover{filter:brightness(1.15)}\n.jdmap-panel ol{list-style:none;margin:6px 0 14px;padding:0;border-top:1px solid var(--faint)}\n.jdmap-panel ol li{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--faint)}\n.jdmap-panel ol li::before{display:none}\n.jdmap-panel ol button{display:flex;width:100% !important;gap:10px;align-items:center;padding:7px 0;font-size:13px}\n.jdmap-panel ol button:hover{color:var(--c-themes)}\n.jdmap-panel ol img{width:44px;height:30px;object-fit:contain;flex:none;opacity:.9}\n.jdmap-panel ol span{flex:1;min-width:0}\n.jdmap-panel ol em{font-style:normal;color:var(--mute);font-size:12px}\n\/* index *\/\n.jdmap-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 28px;padding:18px 20px 22px;border-top:1px solid var(--faint)}\n.jdmap-index h4{all:unset;display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 0 8px}\n.jdmap-index .chips{display:flex;flex-wrap:wrap;gap:5px}\n.jdmap-index .jdmap-chip.is-active{background:var(--hl);color:var(--hl-fg)}\n.jdmap-index .jdmap-chip.is-active sup{color:var(--hl-mute)}\n.jdmap-noscript{padding:20px}\n@media (max-width:760px){\n  .jdmap-bar{padding:12px 16px}\n  .jdmap-stage{height:68vh;min-height:480px}\n  .jdmap-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-width:none;max-height:46%;transform:translateY(calc(100% + 24px))}\n  .jdmap-hint{display:none}\n  .jdmap-index{padding:16px}\n}\n@media (prefers-reduced-motion:reduce){\n  .jdmap *{transition:none !important}\n}\n<\/style>\n<script>\n(function(){\n'use strict';\nvar SITE='https:\/\/doroszenko.com\/';\nvar IMG=SITE+'wp-content\/uploads\/';\nvar PDF=SITE+'wp-content\/uploads\/2026\/11\/Jacek-Doroszenko-Rozprawa.pdf';\nvar NS='http:\/\/www.w3.org\/2000\/svg';\nvar I18N={\n  en:{title:'Map of works',all:'All',media:'Media',themes:'Themes',methods:'Methods',context:'Context',back:'\u2190 Whole map',\n      hint:'Drag to pan \u00b7 Ctrl\/\u2318 + scroll to zoom',open:'View project \u2192',cat:'Category on the site \u2192',pdf:'Read the dissertation (PDF) \u2192',\n      works:'works',close:'Close',dark:'Dark',light:'Light',theme:'Colour theme',related:'Connected categories (shared works)',inPhd:'Discussed in the doctoral dissertation',ongoing:'ongoing',\n      g:{media:'Media',themes:'Themes',methods:'Methods',context:'Context'}},\n  pl:{title:'Mapa prac',all:'Wszystko',media:'Media',themes:'W\u0105tki',methods:'Metody',context:'Kontekst',back:'\u2190 Ca\u0142a mapa',\n      hint:'Przeci\u0105gnij, aby przesun\u0105\u0107 \u00b7 Ctrl\/\u2318 + k\u00f3\u0142ko, aby przybli\u017cy\u0107',open:'Zobacz projekt \u2192',cat:'Kategoria na stronie \u2192',pdf:'Czytaj rozpraw\u0119 (PDF) \u2192',\n      works:'prac',close:'Zamknij',dark:'Ciemny',light:'Jasny',theme:'Motyw kolorystyczny',related:'Powi\\u0105zane kategorie (wsp\\u00f3lne prace)',inPhd:'Praca omawiana w rozprawie doktorskiej',ongoing:'cykl otwarty',\n      g:{media:'Media',themes:'W\u0105tki tematyczne',methods:'Metody realizacji',context:'Kontekst'}}\n};\n\/* ---------- Taksonomia: huby ---------- *\/\nvar HUBS=[\n \/* MEDIA *\/\n {id:'m-snd',g:'media',url:'project-type\/sound-installation\/',pl:['Instalacja d\u017awi\u0119kowa','Wielokana\u0142owe instalacje site-specific dostrajane do akustyki wn\u0119trza: g\u0142o\u015bniki, wzbudniki, solenoidy, stela\u017ce.'],en:['Sound installation','Multichannel site-specific installations tuned to the acoustics of the room: speakers, exciters, solenoids, racks.']},\n {id:'m-vid',g:'media',url:'project-type\/video\/',pl:['Wideo i wideo-partytura','Wideo eksperymentalne, w kt\u00f3rym obraz staje si\u0119 zapisem muzycznym \u2013 formu\u0142a wideo-partytury rozwijana od 2014 r.'],en:['Video \\u0026 video score','Experimental video in which the image becomes musical notation \u2013 the video-score formula developed since 2014.']},\n {id:'m-gen',g:'media',url:'project-type\/video-installation\/',pl:['Instalacja wideo i generatywna','Wielokana\u0142owe instalacje 8K i systemy generatywne reaguj\u0105ce na dane i odbiorc\u0119.'],en:['Video \\u0026 generative installation','Multichannel 8K installations and generative systems that respond to data and visitors.']},\n {id:'m-alb',g:'media',url:'project-type\/music-album\/',pl:['Album muzyczny','Wydawnictwa solowe i zespo\u0142owe (Audiobulb, Zoharum, Eilean, Requiem, Time Released Sound) \u2013 CD, winyl, kaseta.'],en:['Music release','Solo and group releases (Audiobulb, Zoharum, Eilean, Requiem, Time Released Sound) \u2013 CD, vinyl, cassette.']},\n {id:'m-exh',g:'media',url:'project-type\/print\/',pl:['Wystawa w duecie','Wsp\u00f3lne wystawy z Ew\u0105 Doroszenko: instalacje d\u017awi\u0119kowe i wideo obok grafik i instalacji drukowanych.'],en:['Duo exhibition','Joint exhibitions with Ewa Doroszenko: sound installations and videos alongside prints and graphic installations.']},\n {id:'m-int',g:'media',url:'project-type\/interactive\/',pl:['Projekt interaktywny','Aplikacje, prezentacje internetowe i kontrolery \u2013 prace, w kt\u00f3rych odbiorca lub wykonawca steruje d\u017awi\u0119kiem.'],en:['Interactive project','Applications, web presentations and controllers \u2013 works in which the viewer or performer drives the sound.']},\n {id:'m-pnt',g:'media',url:'project-type\/painting\/',pl:['Malarstwo i rysunek','Malarstwo (Wydzia\u0142 Malarstwa ASP w Krakowie) i rysunek \u2013 \u017ar\u00f3d\u0142o my\u015blenia kadrem i pejza\u017cem.'],en:['Painting \\u0026 drawing','Painting (Faculty of Painting, Krak\u00f3w Academy of Fine Arts) and drawing \u2013 the root of thinking in frames and landscape.']},\n \/* W\u0104TKI *\/\n {id:'t-not',g:'themes',pl:['Notacja i partytura','Partytura jako rozszerzenie sztuk wizualnych: markery, ruch i miejsce akcji pe\u0142ni\u0105 funkcj\u0119 nut.'],en:['Notation \\u0026 score','The score as an extension of visual art: markers, movement and location act as notes.']},\n {id:'t-lan',g:'themes',pl:['Krajobraz','Krajobraz nie jako t\u0142o, lecz czynnik determinuj\u0105cy kompozycj\u0119 \u2013 Islandia, Norwegia, Czechy.'],en:['Landscape','Landscape not as a backdrop but as a determinant of the composition \u2013 Iceland, Norway, Czechia.']},\n {id:'t-eco',g:'themes',pl:['Ekologia d\u017awi\u0119ku','Odpowiedzialno\u015b\u0107 za \u015brodowisko d\u017awi\u0119kowe, ekotony, kryzys klimatyczny i wypieranie natury.'],en:['Sound ecology','Responsibility for the sonic environment, ecotones, the climate crisis and the displacement of nature.']},\n {id:'t-spa',g:'themes',pl:['Przestrze\u0144 i akustyka','D\u017awi\u0119k mierzy przestrze\u0144: pomiar pog\u0142osu, rezonans wn\u0119trza, aran\u017cacje site-specific.'],en:['Space \\u0026 acoustics','Sound measures space: reverb measurement, room resonance, site-specific arrangements.']},\n {id:'t-bod',g:'themes',pl:['Cia\u0142o, ruch, percepcja','Cia\u0142o jako no\u015bnik d\u017awi\u0119ku: ruch postaci, pozycja s\u0142uchacza, doznania somatyczne.'],en:['Body, movement, perception','The body as a carrier of sound: a figure\u2019s movement, the listener\u2019s position, somatic sensation.']},\n {id:'t-pla',g:'themes',pl:['Miejsce, podr\u00f3\u017c, pami\u0119\u0107','Pejza\u017ce d\u017awi\u0119kowe zamiast fotografii \u2013 pami\u0119\u0107 miejsc, podr\u00f3\u017ce i tymczasowe pracownie.'],en:['Place, travel, memory','Soundscapes instead of photographs \u2013 the memory of places, travel and temporary studios.']},\n {id:'t-dig',g:'themes',pl:['Rzeczywisto\u015b\u0107 cyfrowa','Interfejsy, sie\u0107, gry i hybrydowa przestrze\u0144 online\/offline.'],en:['Digital reality','Interfaces, the web, games and the hybrid online\/offline space.']},\n {id:'t-ind',g:'themes',pl:['Przemys\u0142 i maszyna','Fabryki, maszyny i mechaniczne \u201eramiona\u201d \u2013 technologia przes\u0142aniaj\u0105ca natur\u0119.'],en:['Industry \\u0026 machine','Factories, machines and mechanical \u201carms\u201d \u2013 technology obscuring nature.']},\n {id:'t-ale',g:'themes',pl:['Aleatoryzm i przypadek','Kompozycje otwarte, w kt\u00f3rych przypadek i wykonawca decyduj\u0105 o przebiegu (Cage, Lutos\u0142awski).'],en:['Aleatorism \\u0026 chance','Open compositions in which chance and the performer shape the course (Cage, Lutos\u0142awski).']},\n {id:'t-noi',g:'themes',pl:['Ha\u0142as i dysonans','Ha\u0142as, b\u0142\u0105d i dysonans jako materia\u0142 \u2013 od klubowego noise po dysonanse topniej\u0105cych lodowc\u00f3w.'],en:['Noise \\u0026 dissonance','Noise, failure and dissonance as material \u2013 from club noise to the dissonance of melting glaciers.']},\n {id:'t-ide',g:'themes',pl:['To\u017csamo\u015b\u0107 i intymno\u015b\u0107','Intymno\u015b\u0107, relacje i to\u017csamo\u015b\u0107 w epoce cyfrowych zale\u017cno\u015bci.'],en:['Identity \\u0026 intimacy','Intimacy, relationships and identity in an era of digital dependencies.']},\n \/* METODY *\/\n {id:'p-fld',g:'methods',pl:['Field recording','Nagrania terenowe jako podstawa kompozycji i dokumentacja miejsca.'],en:['Field recording','Field recordings as the basis of composition and a documentation of place.']},\n {id:'p-mec',g:'methods',pl:['Instrumenty mechaniczne','Solenoidy, cewki elektromagnetyczne i sekwencery wykonuj\u0105ce partytury.'],en:['Mechanical instruments','Solenoids, electromagnetic coils and sequencers performing the scores.']},\n {id:'p-pre',g:'methods',pl:['Preparacja i obiekty','Fortepian preparowany, preparowane g\u0142o\u015bniki, obiekty i instrumenty niekonwencjonalne.'],en:['Preparation \\u0026 objects','Prepared piano, prepared speakers, objects and unconventional instruments.']},\n {id:'p-cod',g:'methods',pl:['Max\/MSP, kod, dane','Autorskie instrumenty w Max\/MSP, oprogramowanie i sonifikacja danych.'],en:['Max\/MSP, code \\u0026 data','Custom instruments in Max\/MSP, software and data sonification.']},\n {id:'p-res',g:'methods',pl:['Rezydencje artystyczne','Rezydencje (Hangar Barcelona, Messen \u00c5lvik, Salzamt Linz, KKKC K\u0142ajpeda, Praga) jako laboratorium miejsca.'],en:['Artist residencies','Residencies (Hangar Barcelona, Messen \u00c5lvik, Salzamt Linz, KKKC Klaip\u0117da, Prague) as a laboratory of place.']},\n {id:'p-duo',g:'methods',pl:['Duet z Ew\u0105 Doroszenko','Duet artystyczny z Ew\u0105 Doroszenko od 2014 r. \u2013 szczeg\u00f3lny rodzaj wsp\u00f3\u0142pracy: jego d\u017awi\u0119k i wideo, jej fotografia i grafika; obrazy cz\u0119sto wynikaj\u0105 z zarejestrowanych d\u017awi\u0119k\u00f3w.'],en:['Duo with Ewa Doroszenko','An artist duo with Ewa Doroszenko since 2014 \u2013 a special kind of collaboration: his sound and video, her photography and prints; images often derive from recorded sounds.']},\n {id:'p-col',g:'methods',pl:['Wsp\u00f3\u0142praca','Ampscent (z Marcinem Sipior\u0105), Mammoth Ulthana (z Rafa\u0142em Ko\u0142ackim), arty\u015bci zaproszeni i inne wsp\u00f3\u0142prace.'],en:['Collaboration','Ampscent (with Marcin Sipiora), Mammoth Ulthana (with Rafa\u0142 Ko\u0142acki), invited artists and other collaborations.']},\n \/* KONTEKST *\/\n {id:'x-phd',g:'context',href:PDF,pl:['Rozprawa doktorska','\u201eD\u017awi\u0119k jako kategoria, medium i przekaz w intermedialnej realizacji artystycznej. Wideo-partytura krajobrazowa\u201d (UKEN, Krak\u00f3w 2025) \u2013 prace om\u00f3wione w rozprawie.'],en:['Doctoral dissertation','\u201cSound as a category, medium and message in an intermedia artwork. Landscape Video Score\u201d (UKEN, Krak\u00f3w 2025) \u2013 works discussed in the dissertation.']}\n];\n\/* ---------- Prace ---------- *\/\n\/* s: slug portfolio, y: rok, i: \u015bcie\u017cka miniatury (bez -600x403.jpg), f: pe\u0142ny obraz bez przyci\u0119cia, h: huby *\/\nvar WORKS=[\n {s:'landscape_video_score',t:'Landscape Video Score',y:2025,i:'2026\/06\/jacek_doroszenko_landscape_video_score',f:'2026\/06\/jacek_doroszenko_landscape_video_score-768x538.jpg',h:['m-vid','m-gen','t-not','t-lan','t-bod','p-cod','p-res','x-phd'],pl:'Cz\u0119\u015b\u0107 artystyczna doktoratu: trzy wideo-partytury 8K (Islandia, Norwegia, Czechy) \u2013 topografia terenu jako zapis nutowy.',en:'The artistic part of the doctorate: three 8K video scores (Iceland, Norway, Czechia) \u2013 topography as notation.'},\n {s:'largo',t:'Largo for Three Points',y:2025,i:'2025\/08\/jacek_doroszenko_largo3',f:'2025\/08\/jacek_doroszenko_largo3-768x538.jpg',h:['m-snd','t-not','t-spa','t-ind','p-mec','p-fld','x-phd'],pl:'Solenoidy na stalowych stela\u017cach wykonuj\u0105 wideo-partytur\u0119, zak\u0142\u00f3caj\u0105c nagrania terenowe \u2013 element doktoratu.',en:'Solenoids on steel racks perform the video score while disrupting field recordings \u2013 part of the doctorate.'},\n {s:'glacial_lake_dissonances',t:'Glacial Lake Dissonances',y:2026,i:'2026\/10\/jacek_doroszenko_glacial_lake',f:'2026\/10\/jacek_doroszenko_glacial_lake-768x538.jpg',h:['m-gen','m-int','t-eco','t-lan','t-noi','p-cod'],pl:'Generatywna sonifikacja wzrostu himalajskich jezior polodowcowych \u2013 dane z lat 1958\u20132024 jako niespokojny akord.',en:'Generative sonification of growing Himalayan glacial lakes \u2013 data from 1958\u20132024 as a restless chord.'},\n {s:'environmental_aleatorism',t:'Environmental Aleatorism',y:2024,i:'2024\/12\/jacek_doroszenko_environmental',f:'2024\/12\/jacek_doroszenko_environmental-768x538.jpg',h:['m-gen','m-vid','t-eco','t-lan','t-ale','p-cod'],pl:'10-kana\u0142owa instalacja multi-8K: elementy krajobrazu pe\u0142ni\u0105 rol\u0119 wyzwalaczy kompozycji.',en:'A 10-channel multi-8K installation: elements of the landscape act as triggers of the composition.'},\n {s:'ecotones',t:'Pulse of the Last Ecotones',y:2024,i:'2024\/05\/jacek_doroszenko_pulse_of_the_last_ecotones',f:'2024\/05\/jacek_doroszenko_pulse_of_the_last_ecotones-768x538.jpg',h:['m-snd','t-eco','t-lan','t-ind','p-mec','p-duo','x-phd'],pl:'Cewki elektromagnetyczne wybijaj\u0105 rytm przez blaszane \u201eg\u0142o\u015bniki\u201d \u2013 wizja zanikaj\u0105cych stref granicznych ekosystem\u00f3w.',en:'Electromagnetic coils strike a rudiment through tin \u201cspeakers\u201d \u2013 a vision of vanishing ecological transition zones.'},\n {s:'resin_arpeggio',t:'Environmental Practice: Resin Arpeggio',y:2025,i:'2025\/01\/jacek_doroszenko_environmental_practice_resin_arpeggio-1',f:'2025\/01\/jacek_doroszenko_environmental_practice_resin_arpeggio-1-768x538.jpg',h:['m-alb','t-ind','t-spa','p-fld'],pl:'Nagrania z fabryki chemicznej Spolchemie \u2013 to sama przestrze\u0144 \u201ewykonuje\u201d arpeggio.',en:'Recordings from the Spolchemie chemical plant \u2013 the space itself performs the arpeggio.'},\n {s:'identity_values',t:'Identity Values',y:2024,i:'2024\/09\/jacek_doroszenko_identity_values_audiobulb',f:'2024\/09\/jacek_doroszenko_identity_values_audiobulb-768x538.jpg',h:['m-alb','t-ide','t-ale','p-pre','p-fld','p-col'],pl:'Album o to\u017csamo\u015bci budowanej z warto\u015bci; nagrania z Islandii i W\u0142och, go\u015bcinnie Autistici.',en:'An album on identity shaped by values; recordings from Iceland and Italy, feat. Autistici.'},\n {s:'soundreaming_vol2',t:'Soundreaming Vol. 2: Overlooked Horizons',y:2024,i:'2024\/05\/jacek_doroszenko_soundreaming_vol2',f:'2024\/05\/jacek_doroszenko_soundreaming_vol2-768x538.jpg',h:['m-alb','t-lan','t-pla','p-fld','p-col','p-duo'],pl:'Drugi album serii wraz z kompilacj\u0105 zaproszonych artyst\u00f3w (Requiem Records).',en:'The second album of the series, with a compilation of invited artists (Requiem Records).'},\n {s:'nfm',t:'Unstable Oscillations \u2013 NFM Wroc\u0142aw',y:2023,i:'2023\/12\/jacek_doroszenko_narodowe_forum_muzyki',f:'2023\/12\/jacek_doroszenko_narodowe_forum_muzyki-768x538.jpg',h:['m-exh','m-snd','m-vid','t-not','t-eco','p-duo'],pl:'Wystawa festiwalu Musica Electronica Nova: \u201ezamra\u017canie\u201d d\u017awi\u0119ku w drodze przez czas i przestrze\u0144.',en:'Musica Electronica Nova exhibition: \u201cfreezing\u201d sound on its journey through time and space.'},\n {s:'bwa_bydgoszcz',t:'Acoustic Gestures \u2013 BWA Bydgoszcz',y:2023,i:'2023\/11\/jacek_doroszenko_bwa_bydgoszcz_fonomo',f:'2023\/11\/jacek_doroszenko_bwa_bydgoszcz_fonomo-768x538.jpg',h:['m-exh','m-snd','m-vid','t-not','t-spa','p-duo'],pl:'Partytury w formie wideo i instalacji graficznych, tworzone od 2014 r. podczas rezydencji.',en:'Scores in the form of video works and graphic installations, created during residencies since 2014.'},\n {s:'overlooked_horizons',t:'Overlooked Horizons \u2013 Pragovka',y:2023,i:'2023\/11\/jacek_doroszenko_pragovka_gallery',f:'2023\/11\/jacek_doroszenko_pragovka_gallery-768x538.jpg',h:['m-exh','m-snd','m-vid','t-lan','t-pla','p-duo'],pl:'Relacja obserwatora z krajobrazem; genius loci odkrywane w podr\u00f3\u017cach online i offline.',en:'The observer and the natural landscape; genius loci discovered on online and offline journeys.'},\n {s:'parallele_schwingungen',t:'Parallele Schwingungen \u2013 D\u00fcsseldorf',y:2023,i:'2023\/11\/jacek_doroszenko_dusseldorf',f:'2023\/11\/jacek_doroszenko_dusseldorf-768x538.jpg',h:['m-exh','m-snd','m-vid','t-spa','t-not','p-duo','x-phd'],pl:'Instytut Polski w D\u00fcsseldorfie: pomiar pog\u0142osu dostroi\u0142 instalacj\u0119 do rezonansu wn\u0119trza.',en:'Polish Institute D\u00fcsseldorf: measuring the reverb tuned the installation to the room\u2019s resonance.'},\n {s:'ampscent',t:'Ampscent',y:2023,i:'2024\/01\/jacek_doroszenko_ampscent',f:'2024\/01\/jacek_doroszenko_ampscent-768x538.jpg',h:['m-alb','t-noi','p-col'],pl:'Debiutancki album duetu Ampscent (z Marcinem Sipior\u0105) \u2013 ha\u0142as i b\u0142\u0105d jako po\u017c\u0105dane czynniki.',en:'Debut album of the Ampscent duo with Marcin Sipiora \u2013 noise and failure as desirable factors.'},\n {s:'ampscent_nothing',t:'Nothing but the World',y:2023,i:'2023\/01\/jacek_doroszenko_marcin_sipiora_nothing_but_the_world',f:'2023\/01\/jacek_doroszenko_marcin_sipiora_nothing_but_the_world-768x538.jpg',h:['m-alb','t-noi','t-ind','p-col'],pl:'EP-ka Ampscent: ch\u0142odne, industrialne brzmienia i wielowarstwowe napi\u0119cia.',en:'Ampscent\u2019s EP: cold, industrial tones and multi-layered sustained tensions.'},\n {s:'metascore_exhibition',t:'Metascore of New Gestures \u2013 MWW',y:2022,i:'2022\/06\/jacek_doroszenko_partytura_muzeum_wspolczesne_wroclaw',f:'2022\/06\/jacek_doroszenko_partytura_muzeum_wspolczesne_wroclaw-768x538.jpg',h:['m-exh','m-snd','m-vid','t-not','t-spa','p-duo','x-phd'],pl:'Przegl\u0105d wsp\u00f3lnych eksperyment\u00f3w duetu z lat 2016\u20132022 w Muzeum Wsp\u00f3\u0142czesnym Wroc\u0142aw.',en:'A review of the duo\u2019s joint experiments from 2016\u20132022 at Wroc\u0142aw Contemporary Museum.'},\n {s:'bodyfulness',t:'Bodyfulness',y:2022,i:'2022\/05\/jacek_doroszenko_bodyfulness',f:'2022\/05\/jacek_doroszenko_bodyfulness-768x538.jpg',h:['m-alb','t-ide','t-bod','t-dig','p-pre','p-fld','p-res','p-duo'],pl:'Album z Ew\u0105 Doroszenko o intymnym do\u015bwiadczeniu cia\u0142a online i offline.',en:'An album with Ewa Doroszenko on the intimate experience of the body online and offline.'},\n {s:'metascore',t:'Metascore of New Gestures',y:2020,i:'2021\/07\/jacek_doroszenko_metascore',f:'2021\/07\/jacek_doroszenko_metascore-1024x717.jpg',h:['m-vid','t-not','t-ale','p-mec','p-cod','x-phd'],pl:'Wideo-partytura nawi\u0105zuj\u0105ca do \u201eJeux v\u00e9nitiens\u201d Lutos\u0142awskiego \u2013 obiekty graj\u0105 w r\u00f3\u017cnych tempach.',en:'A video score referencing Lutos\u0142awski\u2019s \u201cJeux v\u00e9nitiens\u201d \u2013 objects play at different tempi.'},\n {s:'infinitevalues',t:'Infinite Values',y:2020,i:'2021\/07\/jacek_doroszenko_infinitevalues',f:'2021\/07\/jacek_doroszenko_infinitevalues-1024x717.jpg',h:['m-alb','t-dig','p-pre','p-fld','p-res'],pl:'Podw\u00f3jny winyl lathe-cut: fortepian preparowany, elektronika i nagrania z rezydencji w Norwegii, Grecji i Austrii.',en:'Double lathe-cut vinyl: prepared piano, electronics and recordings from residencies in Norway, Greece and Austria.'},\n {s:'asmr',t:'ASMR Machine',y:2019,i:'2023\/03\/jacek_doroszenko_asmr_machine_2',f:'2023\/03\/jacek_doroszenko_asmr_machine_2-768x538.jpg',h:['m-snd','t-bod','t-spa','p-pre'],pl:'Preparowane g\u0142o\u015bniki na aluminiowym stela\u017cu wywo\u0142uj\u0105 doznania ASMR; s\u0142uchacz wchodzi w pole d\u017awi\u0119ku.',en:'Prepared speakers on an aluminium rack evoke ASMR sensations; the listener walks into the sound field.'},\n {s:'howtotravel',t:'How to Travel \u2013 Propaganda',y:2019,i:'2021\/07\/jacek_doroszenko_howtotravel',f:'2021\/07\/jacek_doroszenko_howtotravel-1024x717.jpg',h:['m-exh','m-snd','t-dig','t-pla','p-duo'],pl:'Podr\u00f3\u017ce przez zmediatyzowany \u015bwiat cyfrowy: gry komputerowe, przewodniki, cyfrowe zak\u0142\u00f3cenia.',en:'Travelling through the mediated digital world: computer games, guidebooks, digital distortions.'},\n {s:'amurs',t:'\u0100murs',y:2018,i:'2021\/07\/jacek_doroszenko_amurs',f:'2021\/07\/jacek_doroszenko_amurs-1024x717.jpg',h:['m-alb','m-snd','m-vid','t-ind','t-pla','p-fld','p-col'],pl:'Album, koncert AV i wystawa zrodzone w fabryce FOD w Bydgoszczy \u2013 o industrializacji i roli robotnika.',en:'Album, AV concert and sound exhibition born in the FOD factory in Bydgoszcz \u2013 on industrialisation and the worker.'},\n {s:'soundreaming_prague',t:'Soundreaming Prague',y:2018,i:'2021\/07\/jacek_doroszenko_soundreaming_prague',f:'2021\/07\/jacek_doroszenko_soundreaming_prague-1024x717.jpg',h:['m-snd','t-pla','p-fld','p-res','p-duo'],pl:'Rezydencja w Pradze: wp\u0142yw \u015brodowiska akustycznego na pami\u0119\u0107 i percepcj\u0119 miejsca.',en:'A residency in Prague: how the acoustic environment shapes memory and the perception of place.'},\n {s:'naturalpotential',t:'Natural Potential',y:2017,i:'2021\/07\/jacek_doroszenko_potential',f:'2021\/07\/jacek_doroszenko_potential-1024x717.jpg',h:['m-vid','t-eco','t-lan','t-noi','p-res','x-phd'],pl:'Ukryte w lesie obiekty emituj\u0105 cyfrowe \u201ed\u017awi\u0119ki natury\u201d \u2013 o wsp\u00f3lnej odpowiedzialno\u015bci za \u015brodowisko d\u017awi\u0119kowe.',en:'Objects hidden in a forest emit digital \u201cnature sounds\u201d \u2013 on shared responsibility for the sonic environment.'},\n {s:'widegrey',t:'Wide Grey',y:2017,i:'2021\/07\/jacek_doroszenko_wide_grey',f:'2021\/07\/jacek_doroszenko_wide_grey-1024x717.jpg',h:['m-alb','t-lan','t-pla','p-fld','p-res','p-pre'],pl:'Nagrania terenowe z Norwegii i Grecji ods\u0142aniaj\u0105 \u201enaturalny potencja\u0142\u201d miejsca.',en:'Field recordings from Norway and Greece reveal the natural potential of a place.'},\n {s:'soundreaming_album',t:'Soundreaming \u2013 Barcelona',y:2017,i:'2021\/07\/jacek_doroszenko_soundreaming_barcelona',f:'2021\/07\/jacek_doroszenko_soundreaming_barcelona-1024x717.jpg',h:['m-alb','t-pla','p-fld','p-res','p-duo'],pl:'Album Audiobulb z kompozycjami projektu Soundreaming nagranymi w Barcelonie.',en:'Audiobulb album of compositions from the Soundreaming project, recorded in Barcelona.'},\n {s:'residents',t:'Residents \u2013 Propaganda',y:2017,i:'2021\/07\/jacek_doroszenko_master_apprentice',f:'2021\/07\/jacek_doroszenko_master_apprentice-1024x717.jpg',h:['m-exh','m-snd','t-pla','p-res','p-duo'],pl:'Arty\u015bci jako rezydenci tymczasowych pracowni \u2013 \u201epracownia mentalna\u201d zamiast fizycznej.',en:'Artists as residents of temporary studios \u2013 a \u201cmental studio\u201d instead of a physical one.'},\n {s:'polyphonicbody',t:'It is hard to find a polyphonic body',y:2016,i:'2021\/07\/jacek_doroszenko_polyphonic_body',f:'2021\/07\/jacek_doroszenko_polyphonic_body-1024x717.jpg',h:['m-vid','t-not','t-lan','t-bod','p-cod','p-res','x-phd'],pl:'Wideo-partytura z Norwegii: \u015bwietliste markery w krajobrazie wyznaczaj\u0105 wysoko\u015bci d\u017awi\u0119k\u00f3w granych w Max\/MSP.',en:'A video score from Norway: luminous markers in the landscape set pitches played in Max\/MSP.'},\n {s:'usefulremnants',t:'Useful Remnants',y:2016,i:'2021\/07\/jacek_doroszenko_02',f:'2021\/07\/jacek_doroszenko_02-768x512.jpg',h:['m-alb','m-pnt','t-pla','p-fld','p-res','p-pre'],pl:'Kaseta z rysunkami na folii: o przedmiotach, kt\u00f3re staj\u0105 si\u0119 cenne, gdy trzeba je porzuci\u0107.',en:'A cassette with drawings on film: belongings that become precious when you must leave them.'},\n {s:'particularfactors',t:'Particular Factors',y:2016,i:'2021\/07\/jacek_doroszenko_particular_factors',f:'2021\/07\/jacek_doroszenko_particular_factors-1024x717.jpg',h:['m-alb','t-lan','p-pre','p-col'],pl:'Mammoth Ulthana: opowie\u015b\u0107 o dawnej wsp\u00f3lnocie wyra\u017caj\u0105cej wi\u0119\u017a z natur\u0105 przez d\u017awi\u0119k.',en:'Mammoth Ulthana: the story of an ancient community expressing its bond with nature through sound.'},\n {s:'aberrationmaker',t:'Aberrationmaker',y:2016,i:'2021\/07\/jacek_doroszenko_aberration',f:'2021\/07\/jacek_doroszenko_aberration-1024x717.jpg',h:['m-snd','t-bod','t-spa','p-pre'],pl:'Dwa g\u0142o\u015bniki emituj\u0105 r\u00f3\u017cne pasma tego samego nagrania \u2013 poruszaj\u0105c si\u0119, widz staje si\u0119 korektorem.',en:'Two speakers emit different bands of one recording \u2013 by moving, the viewer becomes the equaliser.'},\n {s:'silentsouvenirs',t:'Silent Souvenirs',y:2015,i:'2021\/07\/jacek_doroszenko_silent_souvenirs',f:'2021\/07\/jacek_doroszenko_silent_souvenirs-1024x717.jpg',h:['m-snd','t-pla','t-spa','p-fld','p-res'],pl:'Czterokana\u0142owa \u015bciana d\u017awi\u0119ku z nagra\u0144 terenowych z Barcelony.',en:'A four-channel sound wall made of field recordings from Barcelona.'},\n {s:'fourods',t:'Fourods',y:2015,i:'2021\/07\/jacek_doroszenko_fourods',f:'2021\/07\/jacek_doroszenko_fourods-1024x717.jpg',h:['m-int','t-dig','t-bod','p-cod'],pl:'Najprostszy sprz\u0119towy kontroler MIDI z gotowych element\u00f3w, u\u017cywany podczas wyst\u0119p\u00f3w na \u017cywo.',en:'The simplest hardware MIDI controller, made of ready-made parts and used in live performance.'},\n {s:'horizon',t:'The same horizon repeated at every moment of the walk',y:2014,i:'2021\/07\/jacek_doroszenko_horizon',f:'2021\/07\/jacek_doroszenko_horizon-1024x717.jpg',h:['m-vid','t-not','t-bod','t-ale','p-res','p-duo','x-phd'],pl:'Wczesna wideo-partytura: po\u0142o\u017cenie g\u0142owy id\u0105cej postaci wyznacza wysoko\u015b\u0107 d\u017awi\u0119ku w czterech kadrach.',en:'An early video score: the walking figure\u2019s head sets the pitch on the scale of four frames.'},\n {s:'soundreaming',t:'Soundreaming',y:2014,i:'2021\/07\/jacek_doroszenko_soundreaming_laptop',f:'2021\/07\/jacek_doroszenko_soundreaming_laptop-768x515.jpg',h:['m-int','t-pla','p-fld','p-res','p-duo','x-phd'],pl:'Internetowe archiwum audiowizualne miejsc Europy \u2013 pejza\u017ce d\u017awi\u0119kowe zast\u0119puj\u0105 fotografi\u0119.',en:'An online audiovisual archive of European locations \u2013 soundscapes replace photographs.'},\n {s:'kernel',t:'I had to recompile the Kernel',y:2014,i:'2021\/07\/jacek_doroszenko_kernel',f:'2021\/07\/jacek_doroszenko_kernel-1024x717.jpg',h:['m-vid','t-dig'],pl:'Wideo zrealizowane wy\u0142\u0105cznie z plik\u00f3w stockowych \u2013 o futurystycznym przetwarzaniu \u201ep\u0142ynnych danych\u201d.',en:'A video made solely from stock files \u2013 on the futuristic processing of liquid data.'},\n {s:'mammoth_ulthana',t:'Mammoth Ulthana',y:2013,i:'2021\/07\/jacek_doroszenko_mammoth',f:'2021\/07\/jacek_doroszenko_mammoth-1024x717.jpg',h:['m-alb','t-lan','p-pre','p-col'],pl:'Z Rafa\u0142em Ko\u0142ackim: gongi, dzwony, rogi i misy przenikaj\u0105 si\u0119 z elektronik\u0105.',en:'With Rafa\u0142 Ko\u0142acki: gongs, bells, horns and singing bowls interpenetrate with electronics.'},\n {s:'nocturnes',t:'Nocturnes Online',y:2011,i:'2021\/07\/jacek_doroszenko_nocturnes',f:'2021\/07\/jacek_doroszenko_nocturnes-1024x717.jpg',h:['m-alb','t-dig','p-pre','p-fld'],pl:'Suita nokturn\u00f3w skomponowana z analizy nocnej aktywno\u015bci internaut\u00f3w.',en:'A suite of nocturnes composed from the nocturnal movements of web users.'},\n {s:'tonopolis',t:'Tonopolis',y:2011,i:'2021\/07\/jacek_doroszenko_tonopolis',f:'2021\/07\/jacek_doroszenko_tonopolis-1024x717.jpg',h:['m-int','m-alb','t-pla','p-col','p-duo'],pl:'Interaktywna podr\u00f3\u017c audiowizualna po Toruniu, ods\u0142aniaj\u0105ca d\u017awi\u0119kow\u0105 natur\u0119 miasta.',en:'An interactive audiovisual trip around Toru\u0144 revealing the sonic nature of the city.'},\n {s:'interface',t:'Aesthetic Interface for Memory',y:2008,i:'2021\/07\/jacek_doroszenko_interface',f:'2021\/07\/jacek_doroszenko_interface-1024x717.jpg',h:['m-int','m-pnt','t-pla','t-dig','p-cod'],pl:'Aplikacja na \u017cywo z autorskim oprogramowaniem: pami\u0119\u0107 rekonstruuje rzeczywisto\u015b\u0107 pi\u0119cioma technikami obrazowania.',en:'A live application with custom software: memory reconstructs reality through five imaging techniques.'},\n {s:'paintings',t:'Graphical Interfaces',y:0,i:'2021\/07\/jacek_doroszenko_paintings',f:'2021\/07\/jacek_doroszenko_paintings-1024x717.jpg',h:['m-pnt','t-dig'],pl:'Cykl obraz\u00f3w olejnych i akrylowych \u201eAesthetic Interface\u201d \u2013 malarska refleksja nad interfejsem graficznym.',en:'The oil and acrylic series \u201cAesthetic Interface\u201d \u2013 a painterly reflection on the graphical interface.'}\n];\nvar GROUPS=['media','themes','methods','context'];\nvar NODE_MIN=.45; \/* poni\u017cej tej skali w\u0119z\u0142y i etykiety zaczynaj\u0105 si\u0119 zmniejsza\u0107 *\/\nfunction svgEl(tag,attrs,parent){var e=document.createElementNS(NS,tag);if(attrs)for(var k in attrs)e.setAttribute(k,attrs[k]);if(parent)parent.appendChild(e);return e;}\nvar AMP=String.fromCharCode(38),ENT={'\\x26':'amp','<':'lt','>':'gt','\"':'quot',\"'\":'#39'};\nfunction esc(s){return String(s).replace(\/[\\x26<>\"']\/g,function(c){return AMP+ENT[c]+';';});}\nfunction rng(seed){return function(){seed|=0;seed=seed+0x6D2B79F5|0;var t=Math.imul(seed^seed>>>15,1|seed);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)\/4294967296;};}\nfunction ease(t){return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)\/2;}\nfunction init(root){\n  if(root.__jdmap)return;root.__jdmap=true;\n  var lang=root.getAttribute('data-lang')||'auto';\n  if(!I18N[lang])lang=\/^pl\/i.test(document.documentElement.lang||'')?'pl':'en';\n  var T=I18N[lang];\n  var reduce=window.matchMedia?window.matchMedia('(prefers-reduced-motion: reduce)').matches:false;\n  var $=function(s){return root.querySelector(s);};\n  var stage=$('.jdmap-stage'),svg=$('.jdmap-svg'),vp=$('.jdmap-vp'),gDust=$('.jdmap-dust'),gEdges=$('.jdmap-edges'),gWorks=$('.jdmap-works'),gHubs=$('.jdmap-hubs');\n  var tip=$('.jdmap-tip'),panel=$('.jdmap-panel'),back=$('.jdmap-back'),crumb=$('.jdmap-crumb'),index=$('.jdmap-index'),hint=$('.jdmap-hint');\n  root.querySelectorAll('[data-i18n]').forEach(function(n){var k=n.getAttribute('data-i18n');if(T[k])n.textContent=T[k];});\n  svg.setAttribute('aria-label',T.title);\n  \/* --- motyw: prze\u0142\u0105cznik + zapami\u0119tany wyb\u00f3r --- *\/\n  var THEME_KEY='jdmap-theme';\n  function setTheme(t,save){\n    root.setAttribute('data-theme',t);\n    root.querySelectorAll('[data-set-theme]').forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-set-theme')===t?'true':'false');});\n    if(save){try{localStorage.setItem(THEME_KEY,t);}catch(e){}}\n  }\n  var savedTheme=null;try{savedTheme=localStorage.getItem(THEME_KEY);}catch(e){}\n  setTheme(savedTheme==='light'||savedTheme==='dark'?savedTheme:(root.getAttribute('data-theme')==='light'?'light':'dark'),false);\n  $('.jdmap-theme').setAttribute('aria-label',T.theme);\n  root.querySelectorAll('[data-set-theme]').forEach(function(b){b.addEventListener('click',function(){setTheme(b.getAttribute('data-set-theme'),true);});});\n  \/* --- model --- *\/\n  var hubs={},hubList=[],works=[],edges=[];\n  HUBS.forEach(function(h){var o={id:h.id,g:h.g,label:h[lang][0],desc:h[lang][1],url:h.url?SITE+h.url:(h.href||''),hub:true,works:[],x:0,y:0,vx:0,vy:0};hubs[h.id]=o;hubList.push(o);});\n  WORKS.forEach(function(w){\n    var o={id:w.s,t:w.t,yr:w.y,img:IMG+w.i+'-600x403.jpg',full:IMG+(w.f||(w.i+'-600x403.jpg')),url:SITE+'portfolio\/'+w.s+'\/',desc:w[lang],hub:false,hubs:[],x:0,y:0,vx:0,vy:0};\n    w.h.forEach(function(hid){var h=hubs[hid];if(!h)return;o.hubs.push(h);h.works.push(o);edges.push({w:o,h:h});});\n    works.push(o);\n  });\n  hubList.forEach(function(h){h.works.sort(function(a,b){return (b.yr||9999)-(a.yr||9999)||a.t.localeCompare(b.t);});});\n  var yearTxt=function(w){return w.yr?String(w.yr):T.ongoing;};\n  \/* --- initial positions (deterministic) --- *\/\n  var rand=rng(7);\n  hubList.forEach(function(h,i){var a=i\/hubList.length*Math.PI*2+rand()*.2;var r=h.g==='context'?60:520+rand()*120;h.x=Math.cos(a)*r;h.y=Math.sin(a)*r*.75;});\n  works.forEach(function(w){var sx=0,sy=0;w.hubs.forEach(function(h){sx+=h.x;sy+=h.y;});w.x=sx\/w.hubs.length+(rand()-.5)*120;w.y=sy\/w.hubs.length+(rand()-.5)*120;});\n  \/* --- scena: canvas (py\u0142 i kraw\u0119dzie) + w\u0119z\u0142y HTML; ruch to tylko transformacje (GPU), bez przerysowywania SVG --- *\/\n  var cv=document.createElement('canvas');cv.className='jdmap-cv';cv.setAttribute('aria-hidden','true');svg.insertBefore(cv,svg.firstChild);\n  var ctx=cv.getContext('2d'),DPR=1,COL={},raf=0,lastT=0,snap=true,mvT=0;\n  var dust=[];for(var d=0;d<170;d++){dust.push([(rand()-.5)*2600,(rand()-.5)*1900,rand()*1.4+.4]);rand();}\n  function readColors(){var cs=getComputedStyle(root);['media','themes','methods','context'].forEach(function(g){COL[g]=(cs.getPropertyValue('--c-'+g)||'').trim()||'#888';});}\n  function sizeCanvas(){DPR=Math.min(2,window.devicePixelRatio||1);var w=Math.max(1,Math.round(W*DPR)),h=Math.max(1,Math.round(H*DPR));if(cv.width!==w)cv.width=w;if(cv.height!==h)cv.height=h;requestDraw();}\n  function requestDraw(){if(!raf)raf=requestAnimationFrame(render);}\n  function edgeTarget(e,hov){return e.off?0:(focus?(e.pri?.6:.12):(hov?(e.hl?.95:.07):.32));}\n  function render(now){\n    raf=0;var dt=lastT?Math.min(100,now-lastT):16;lastT=now;\n    var c=ctx,k=view.k,vx=view.x,vy=view.y,hov=root.classList.contains('is-hover'),busy=false,i,p,x,y,r;\n    var mix=snap?1:(reduce?1:Math.min(1,dt\/90));snap=false;\n    c.setTransform(DPR,0,0,DPR,0,0);c.clearRect(0,0,W,H);\n    c.globalAlpha=.35;c.fillStyle=COL.media;c.beginPath();\n    for(i=0;i<dust.length;i++){p=dust[i];x=p[0]*k+vx;y=p[1]*k+vy;r=p[2]*k;if(x<-4||x>W+4||y<-4||y>H+4)continue;c.moveTo(x+r,y);c.arc(x,y,r,0,6.2832);}\n    c.fill();c.lineWidth=1;\n    for(i=0;i<edges.length;i++){var e=edges[i],t=edgeTarget(e,hov);\n      if(Math.abs(t-e.a)>.004){e.a+=(t-e.a)*mix;busy=true;}else e.a=t;\n      if(e.a<.004)continue;\n      c.globalAlpha=e.a;c.strokeStyle=COL[e.h.g];c.setLineDash(e.h.g==='context'?[3,4]:[]);\n      c.beginPath();c.moveTo(e.w.x*k+vx,e.w.y*k+vy);c.lineTo(e.h.x*k+vx,e.h.y*k+vy);c.stroke();}\n    c.setLineDash([]);c.globalAlpha=1;\n    if(busy)requestDraw();else lastT=0;\n  }\n  edges.forEach(function(e){e.a=0;e.hl=false;e.off=true;e.pri=false;e.sec=false;});\n  readColors();\n  root.querySelectorAll('[data-set-theme]').forEach(function(b){b.addEventListener('click',function(){readColors();requestDraw();});});\n  \/* --- w\u0119z\u0142y HTML --- *\/\n  works.forEach(function(w){\n    var g=document.createElement('div');g.className='jdmap-work';g.tabIndex=0;g.setAttribute('role','button');g.setAttribute('aria-label',w.t+', '+yearTxt(w));\n    var fr=document.createElement('span');fr.className='fr';\n    var im=document.createElement('img');im.alt='';im.draggable=false;im.decoding='async';\n    var srcs=[w.img.replace(\/-600x403\\.jpg$\/,'-100x100.jpg'),w.img,w.full],si=0;\n    im.addEventListener('error',function(){si++;if(si<srcs.length)im.src=srcs[si];});\n    im.src=srcs[0];fr.appendChild(im);g.appendChild(fr);\n    w.lb=document.createElement('span');w.lb.className='lb';w.lb.textContent=w.t.length>36?w.t.slice(0,34).replace(\/\\s+\\S*$\/,'')+'\u2026':w.t;g.appendChild(w.lb);\n    w.el=g;gWorks.appendChild(g);\n    g.addEventListener('mouseenter',function(){hoverOn(w);});\n    g.addEventListener('mouseleave',hoverOff);\n    g.addEventListener('focus',function(){hoverOn(w);});\n    g.addEventListener('blur',hoverOff);\n    g.addEventListener('click',function(ev){ev.stopPropagation();if(dragMoved)return;selectWork(w);});\n    g.addEventListener('keydown',function(ev){if(ev.key==='Enter'||ev.key===' '){ev.preventDefault();selectWork(w);}});\n  });\n  hubList.forEach(function(h){\n    var g=document.createElement('div');g.className='jdmap-hub g-'+h.g;g.tabIndex=0;g.setAttribute('role','button');g.setAttribute('aria-label',h.label+' ('+h.works.length+')');\n    g.innerHTML='<span class=\"ha\"><\/span><span class=\"dt\"><\/span><span class=\"lb\"><\/span>';\n    h.lb=g.querySelector('.lb');h.lb.appendChild(document.createTextNode(h.label+' '));\n    var n=document.createElement('span');n.className='n';n.textContent=h.works.length;h.lb.appendChild(n);\n    h.el=g;gHubs.appendChild(g);\n    g.addEventListener('mouseenter',function(){hoverOn(h);});\n    g.addEventListener('mouseleave',hoverOff);\n    g.addEventListener('click',function(ev){ev.stopPropagation();if(dragMoved)return;focusHub(h);});\n    g.addEventListener('keydown',function(ev){if(ev.key==='Enter'||ev.key===' '){ev.preventDefault();focusHub(h);}});\n  });\n  function sizeLabels(){\n    hubList.forEach(function(h){var x=h.lb.offsetWidth;if(x)h.lw=x+12;});\n    works.forEach(function(w){var x=w.lb.offsetWidth;w.tw=x?x-14:w.t.length*6.5;});\n  }\n  \/* --- index (chips) --- *\/\n  GROUPS.forEach(function(g){\n    var col=document.createElement('div');\n    col.innerHTML='<h4>'+esc(T.g[g])+'<\/h4><div class=\"chips\"><\/div>';\n    var wrap=col.querySelector('.chips');\n    hubList.filter(function(h){return h.g===g;}).sort(function(a,b){return b.works.length-a.works.length;}).forEach(function(h){\n      var b=document.createElement('button');b.type='button';b.className='jdmap-chip g-'+g;\n      b.innerHTML='<i><\/i>'+esc(h.label)+'<sup>'+h.works.length+'<\/sup>';\n      b.addEventListener('click',function(){focusHub(h);var r=stage.getBoundingClientRect();if(r.top<0||r.bottom>window.innerHeight)stage.scrollIntoView({behavior:reduce?'auto':'smooth',block:'center'});});\n      h.chip=b;wrap.appendChild(b);\n    });\n    index.appendChild(col);\n  });\n  \/* --- state --- *\/\n  var lens=root.getAttribute('data-lens')||'all',focus=null,sel=null;\n  var view={x:0,y:0,k:1},W=0,H=0;\n  var vis={hubs:{},works:{}};\n  function hubVisibleInLens(h){return h.g==='context'||lens==='all'||h.g===lens;}\n  \/* --- force layout (overview) --- *\/\n  function simulate(nodes,links,iters){\n    var n=nodes.length,i,j,a,b,dx,dy,d2,d,f,alpha,tall=H>W*1.1,GX=tall?1.6:1,GY=tall?.9:2.4;\n    nodes.forEach(function(o){o.vx=0;o.vy=0;});\n    for(var it=0;it<iters;it++){\n      alpha=1-it\/iters;alpha=.08+alpha*.92;\n      for(i=0;i<n;i++){a=nodes[i];\n        for(j=i+1;j<n;j++){b=nodes[j];\n          dx=b.x-a.x;dy=b.y-a.y;d2=dx*dx+dy*dy;if(d2<1){dx=(Math.random()-.5);dy=(Math.random()-.5);d2=1;}\n          var both=a.hub?b.hub:false,s=both?3000:(a.hub||b.hub?380:200);\n          if(d2>360000)if(!both)continue;\n          f=s*alpha\/d2;a.vx-=dx*f;a.vy-=dy*f;b.vx+=dx*f;b.vy+=dy*f;}\n      }\n      links.forEach(function(l){var w=l.w,h=l.h;dx=h.x-w.x;dy=h.y-w.y;d=Math.sqrt(dx*dx+dy*dy)||1;\n        var L=h.g==='context'?230:135,k=.06*alpha*(d-L)\/d;var bw=h.cnt\/(h.cnt+w.cnt);\n        w.vx+=dx*k*bw;w.vy+=dy*k*bw;h.vx-=dx*k*(1-bw);h.vy-=dy*k*(1-bw);});\n      nodes.forEach(function(o){var gr=o.hub?.035:.016;o.vx-=o.x*gr*GX*alpha;o.vy-=o.y*gr*GY*alpha;o.vx*=.62;o.vy*=.62;var sp=Math.sqrt(o.vx*o.vx+o.vy*o.vy);if(sp>30){o.vx*=30\/sp;o.vy*=30\/sp;}o.x+=o.vx;o.y+=o.vy;});\n      if(it>iters*.6)declutter(nodes);\n    }\n  }\n  \/* odsuwa huby, kt\u00f3rych etykiety (szeroko\u015b\u0107 w px przy skali ~0.6) nachodz\u0105 na siebie *\/\n  function declutter(nodes){\n    var hs=nodes.filter(function(o){return o.hub;}),S=.6;\n    for(var i=0;i<hs.length;i++)for(var j=0;j<hs.length;j++){if(i===j)continue;\n      var a=hs[i],b=hs[j];if(a.x>b.x)continue;\n      var wx=((a.lw||160)+16)\/S,hy=34\/S,dx=b.x-a.x,dy=b.y-a.y;\n      if(dx<wx)if(Math.abs(dy)<hy){var push=(hy-Math.abs(dy))*.25*(dy<0?-1:1)||.5;a.y-=push;b.y+=push;}\n    }\n  }\n  function computeOverview(){\n    var vh=hubList.filter(hubVisibleInLens),vhs={};vh.forEach(function(h){vhs[h.id]=1;h.cnt=0;});\n    var vw=works.filter(function(w){return w.hubs.some(function(h){return vhs[h.id]?h.g!=='context':false;});}),vws={};\n    vw.forEach(function(w){vws[w.id]=1;w.cnt=0;});\n    var links=edges.filter(function(e){return vhs[e.h.id]?!!vws[e.w.id]:false;});\n    links.forEach(function(l){l.h.cnt++;l.w.cnt++;});\n    var nodes=vh.concat(vw);\n    var start={};nodes.forEach(function(o){start[o.id]=[o.x,o.y];});\n    simulate(nodes,links,320);\n    var target={};nodes.forEach(function(o){target[o.id]=[o.x,o.y];o.x=start[o.id][0];o.y=start[o.id][1];});\n    return {hubs:vhs,works:vws,target:target,labelOut:{}};\n  }\n  \/* --- radial layout (focus) --- *\/\n  function computeFocus(f){\n    var ring=f.works.slice(),n=ring.length,R=Math.max(240,n*22),target={},labelOut={};\n    var vh={},vw={};vh[f.id]=1;target[f.id]=[0,0];\n    var nr=Math.ceil(n\/2);\n    ring.forEach(function(w,i){var side=i<nr?1:-1,m=side>0?nr:n-nr,j=side>0?i:(n-1-i);\n      var y=-R+(j+.5)*(2*R\/m),x=side*(Math.sqrt(Math.max(0,R*R-y*y))*.9+80);\n      target[w.id]=[x,y];w._a=Math.atan2(y,x);vw[w.id]=1;labelOut[w.id]=side;});\n    var sec={};\n    ring.forEach(function(w){w.hubs.forEach(function(h){if(h===f||!hubVisibleInLens(h))return;var s=sec[h.id]||(sec[h.id]={h:h,sx:0,sy:0,c:0});s.sx+=Math.cos(w._a);s.sy+=Math.sin(w._a);s.c++;});});\n    var list=Object.keys(sec).map(function(k){var s=sec[k];s.a=Math.atan2(s.sy,s.sx);if(!isFinite(s.a))s.a=0;return s;}).sort(function(a,b){return a.a-b.a;});\n    var m=list.length,R2x=R*1.9+120,R2y=R*1.25+90,off=list.length?list[0].a:0;\n    list.forEach(function(s,i){var a=off+(i+.5)\/m*Math.PI*2;target[s.h.id]=[Math.cos(a)*R2x,Math.sin(a)*R2y];vh[s.h.id]=1;});\n    return {hubs:vh,works:vw,target:target,labelOut:labelOut,sec:sec};\n  }\n  \/* --- apply visibility and classes --- *\/\n  function applyVisibility(L){\n    vis=L;\n    hubList.forEach(function(h){var side=(focus?(focus!==h?(L.target[h.id]?L.target[h.id][0]<-1:false):false):false)?-1:1;h.side=side;\n      h.el.classList.toggle('is-left',side<0);\n      h.el.classList.toggle('is-off',!L.hubs[h.id]);h.el.classList.toggle('is-focus',focus===h);h.el.classList.toggle('is-sec',focus?focus!==h:false);});\n    works.forEach(function(w){\n      w.el.classList.toggle('is-off',!L.works[w.id]);\n      w.el.classList.toggle('is-ring',focus?!!L.works[w.id]:false);\n      var side=L.labelOut[w.id]||1;w.side=side;w.el.classList.toggle('is-left',side<0);\n    });\n    edges.forEach(function(e){e.off=!(L.hubs[e.h.id]?L.works[e.w.id]:false);e.pri=focus?e.h===focus:false;e.sec=focus?e.h!==focus:false;});\n    requestDraw();\n  }\n  \/* pozycje w\u0119z\u0142\u00f3w w pikselach ekranu; will-change tylko w ruchu, wi\u0119c w spoczynku tekst jest ostry *\/\n  function draw(){\n    var k=view.k,vx=view.x,vy=view.y,s=Math.min(1,k\/NODE_MIN),sc=s<1?' scale('+s.toFixed(4)+')':'',i,o;\n    for(i=0;i<hubList.length;i++){o=hubList[i];o.el.style.transform='translate3d('+(o.x*k+vx).toFixed(2)+'px,'+(o.y*k+vy).toFixed(2)+'px,0)'+sc;}\n    for(i=0;i<works.length;i++){o=works[i];o.el.style.transform='translate3d('+(o.x*k+vx).toFixed(2)+'px,'+(o.y*k+vy).toFixed(2)+'px,0)'+sc;}\n    root.classList.add('is-moving');clearTimeout(mvT);mvT=setTimeout(function(){root.classList.remove('is-moving');},240);\n    requestDraw();\n  }\n  function setView(v){view=v;draw();if(tipFor)placeTip(tipFor);}\n  function fitView(L){\n    var open=panel.classList.contains('is-open'),ids=Object.keys(L.target),panelW=(open?W>760:false)?360:0,aw=W-panelW,m=24;\n    var Hs=(open?W<=760:false)?Math.max(160,H-panel.offsetHeight-16):H;\n    function ext(k){\n      var f=Math.min(1,k\/NODE_MIN),x0=1e9,x1=-1e9,y0=1e9,y1=-1e9;\n      ids.forEach(function(id){var p=L.target[id],o=hubs[id]||byId[id];if(!o)return;var l,r,t,b;\n        if(o.hub?(focus?o!==focus:false):false){l=r=t=b=14;}\n        else if(o.hub){var hw=(o.lw||o.label.length*8.5+30);l=o.side<0?hw:14;r=o.side<0?14:hw;t=32;b=14;}\n        else if(focus?L.works[id]:false){var lw=(o.tw||o.t.length*6.5)+34;l=o.side<0?lw:20;r=o.side<0?20:lw;t=14;b=14;}\n        else{l=r=20;t=b=14;}\n        x0=Math.min(x0,p[0]*k-l*f);x1=Math.max(x1,p[0]*k+r*f);y0=Math.min(y0,p[1]*k-t*f);y1=Math.max(y1,p[1]*k+b*f);});\n      return [x0,x1,y0,y1];\n    }\n    var lo=.08,hi=1.4,e;\n    for(var i=0;i<24;i++){var k=(lo+hi)\/2;e=ext(k);if(e[1]-e[0]>aw-2*m||e[3]-e[2]>Hs-2*m)hi=k;else lo=k;}\n    e=ext(lo);\n    return {x:(aw-(e[1]-e[0]))\/2-e[0],y:(Hs-(e[3]-e[2]))\/2-e[2],k:lo};\n  }\n  var byId={};works.forEach(function(w){byId[w.id]=w;});\n  var anim=null;\n  var fading=[];\n  function transition(L,fit){\n    if(anim)cancelAnimationFrame(anim);\n    fading.forEach(function(o){o.el.style.opacity='';});fading=[];\n    root.classList.add('is-moving');clearTimeout(mvT);\n    var nodes=hubList.concat(works),was={};\n    nodes.forEach(function(o){was[o.id]=!o.el.classList.contains('is-off');});\n    applyVisibility(L);\n    var from={},v0=view,v1=fit===false?view:fitView(L);\n    nodes.forEach(function(o){from[o.id]=[o.x,o.y];var on=!o.el.classList.contains('is-off');if(on!==was[o.id]){o.fin=on;fading.push(o);o.el.style.opacity=on?'0':'1';}});\n    var dur=reduce?0:850,t0=performance.now();\n    function step(now){\n      var t=dur?Math.min(1,(now-t0)\/dur):1,e=ease(t),i,o,a;\n      nodes.forEach(function(o){var p=L.target[o.id];if(!p)return;var f=from[o.id];o.x=f[0]+(p[0]-f[0])*e;o.y=f[1]+(p[1]-f[1])*e;});\n      for(i=0;i<fading.length;i++){o=fading[i];a=o.fin?Math.min(1,t\/.45):Math.max(0,1-t\/.3);o.el.style.opacity=a.toFixed(3);}\n      setView({x:v0.x+(v1.x-v0.x)*e,y:v0.y+(v1.y-v0.y)*e,k:v0.k+(v1.k-v0.k)*e});\n      if(t<1)anim=requestAnimationFrame(step);else{anim=null;fading.forEach(function(o){o.el.style.opacity='';});fading=[];}\n    }\n    anim=requestAnimationFrame(step);\n  }\n  \/* --- hover --- *\/\n  function hoverOn(o){\n    clearHl();root.classList.add('is-hover');o.el.classList.add('is-hl');\n    if(o.hub){o.works.forEach(function(w){w.el.classList.add('is-hl');});edges.forEach(function(e){if(e.h===o)e.hl=true;});}\n    else{o.hubs.forEach(function(h){h.el.classList.add('is-hl');});edges.forEach(function(e){if(e.w===o)e.hl=true;});showTip(o);}\n  }\n  function clearHl(){root.querySelectorAll('.is-hl').forEach(function(n){n.classList.remove('is-hl');});edges.forEach(function(e){e.hl=false;});requestDraw();}\n  function hoverOff(){root.classList.remove('is-hover');clearHl();hideTip();if(sel)markSel();}\n  var tipFor=null;\n  function showTip(w){if(focus?vis.works[w.id]:false)return;tipFor=w;tip.innerHTML=esc(w.t)+'<small>'+esc(yearTxt(w))+'<\/small>';tip.classList.add('is-on');placeTip(w);}\n  function placeTip(w){var x=w.x*view.k+view.x+18,y=w.y*view.k+view.y-14;var tw=tip.offsetWidth;if(x+tw>W-8)x=w.x*view.k+view.x-18-tw;tip.style.transform='translate('+Math.round(x)+'px,'+Math.round(y)+'px)';}\n  function hideTip(){tipFor=null;tip.classList.remove('is-on');tip.style.transform='translate(-9999px,0)';}\n  function markSel(){works.forEach(function(w){w.el.classList.toggle('is-sel',w===sel);});}\n  \/* --- panel --- *\/\n  function chip(h){return '<button type=\"button\" class=\"jdmap-chip g-'+h.g+'\" data-hub=\"'+h.id+'\"><i><\/i>'+esc(h.label)+'<sup>'+h.works.length+'<\/sup><\/button>';}\n  function openPanel(html){\n    panel.innerHTML='<div class=\"jdmap-panel-in\"><button type=\"button\" class=\"x\" aria-label=\"'+esc(T.close)+'\">\u00d7<\/button>'+html+'<\/div>';\n    panel.classList.add('is-open');panel.scrollTop=0;\n    panel.querySelector('.x').addEventListener('click',closePanel);\n    panel.querySelectorAll('[data-hub]').forEach(function(b){b.addEventListener('click',function(){focusHub(hubs[b.getAttribute('data-hub')]);});});\n    panel.querySelectorAll('[data-work]').forEach(function(b){b.addEventListener('click',function(){selectWork(byId[b.getAttribute('data-work')]);});});\n  }\n  function closePanel(){panel.classList.remove('is-open');sel=null;markSel();}\n  function selectWork(w){\n    if(focus?!vis.works[w.id]:false)focusHub(w.hubs[0]);\n    sel=w;markSel();hideTip();\n    var groups={media:[],themes:[],methods:[],context:[]};w.hubs.forEach(function(h){groups[h.g].push(h);});\n    var html='<p class=\"kick\">'+esc(yearTxt(w))+'<\/p><h3>'+esc(w.t)+'<\/h3>'+\n      '<img decoding=\"async\" class=\"img\" alt=\"\" loading=\"lazy\" src=\"'+esc(w.full)+'\">'+\n      '<p class=\"d\">'+esc(w.desc)+'<\/p>';\n    ['media','themes','methods','context'].forEach(function(g){if(!groups[g].length)return;\n      html+='<div class=\"grp\"><p class=\"grp-l\">'+esc(g==='context'?T.inPhd:T.g[g])+'<\/p><div class=\"chips\">'+groups[g].map(chip).join('')+'<\/div><\/div>';});\n    html+='<a class=\"cta\" href=\"'+esc(w.url)+'\" target=\"_blank\" rel=\"noopener\">'+esc(T.open)+'<\/a>';\n    openPanel(html);\n    if(!focus)setTimeout(function(){if(!focus)if(sel===w)panTo(w);},10);\n  }\n  function panTo(o){\n    var panelW=(W>760)?360:0,aw=W-panelW,tx=aw\/2-o.x*view.k,ty=(W>760?H\/2:H*.3)-o.y*view.k;\n    var x=o.x*view.k+view.x,y=o.y*view.k+view.y;\n    if(!(x<=40||x>=aw-40||y<=40||y>=(W>760?H-40:H*.38)))return;\n    animView({x:tx,y:ty,k:view.k});\n  }\n  function animView(v1){var v0=view,t0=performance.now(),dur=reduce?0:500;function st(now){var t=dur?Math.min(1,(now-t0)\/dur):1,e=ease(t);setView({x:v0.x+(v1.x-v0.x)*e,y:v0.y+(v1.y-v0.y)*e,k:v0.k+(v1.k-v0.k)*e});if(t<1)requestAnimationFrame(st);}requestAnimationFrame(st);}\n  function hubPanel(h){\n    var html='<p class=\"kick\">'+esc(T.g[h.g])+'<\/p><h3>'+esc(h.label)+'<sup>'+h.works.length+'<\/sup><\/h3><p class=\"d\">'+esc(h.desc)+'<\/p><ol>'+\n      h.works.map(function(w){return '<li><button type=\"button\" data-work=\"'+w.id+'\"><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"'+esc(w.img)+'\"><span>'+esc(w.t)+'<\/span><em>'+esc(yearTxt(w))+'<\/em><\/button><\/li>';}).join('')+'<\/ol>';\n    var rel={};h.works.forEach(function(w){w.hubs.forEach(function(o){if(o!==h)rel[o.id]=(rel[o.id]||0)+1;});});\n    var rl=Object.keys(rel).sort(function(a,b){return rel[b]-rel[a];});\n    if(rl.length)html+='<div class=\"grp\"><p class=\"grp-l\">'+esc(T.related)+'<\/p><div class=\"chips\">'+rl.map(function(id){var o=hubs[id];return '<button type=\"button\" class=\"jdmap-chip g-'+o.g+'\" data-hub=\"'+id+'\"><i><\/i>'+esc(o.label)+'<sup>'+rel[id]+'<\/sup><\/button>';}).join('')+'<\/div><\/div>';\n    if(h.url)html+='<a class=\"cta\" href=\"'+esc(h.url)+'\" target=\"_blank\" rel=\"noopener\">'+esc(h.g==='context'?T.pdf:T.cat)+'<\/a>';\n    openPanel(html);\n  }\n  \/* --- navigation --- *\/\n  function setCrumb(){crumb.innerHTML=focus?'\/ <b>'+esc(focus.label)+'<\/b>':'\/ '+works.length+' '+esc(T.works);\n    hubList.forEach(function(h){h.chip.classList.toggle('is-active',h===focus);});}\n  function focusHub(h){\n    focus=h;root.classList.add('is-focus');setCrumb();hoverOff();\n    hubPanel(h);\n    var L=computeFocus(h);transition(L);\n  }\n  function unfocus(){\n    focus=null;root.classList.remove('is-focus');setCrumb();closePanel();\n    transition(computeOverview());\n  }\n  function setLens(l){\n    lens=l;root.querySelectorAll('.jdmap-tabs button').forEach(function(b){b.setAttribute('aria-selected',b.getAttribute('data-lens')===l?'true':'false');});\n    if(focus){focus=null;root.classList.remove('is-focus');setCrumb();closePanel();}\n    transition(computeOverview());\n  }\n  root.querySelectorAll('.jdmap-tabs button').forEach(function(b){b.addEventListener('click',function(){setLens(b.getAttribute('data-lens'));});});\n  back.addEventListener('click',unfocus);\n  root.addEventListener('keydown',function(ev){if(ev.key==='Escape'){if(focus)unfocus();else if(panel.classList.contains('is-open'))closePanel();}});\n  \/* --- pan \/ zoom --- *\/\n  var pointers={},panStart=null,pinch=null,dragMoved=false,engaged=false;\n  function zoomAt(f,cx,cy){var k=Math.max(.15,Math.min(4,view.k*f));f=k\/view.k;setView({x:cx-(cx-view.x)*f,y:cy-(cy-view.y)*f,k:k});}\n  function local(ev){var r=svg.getBoundingClientRect();return [ev.clientX-r.left,ev.clientY-r.top];}\n  svg.addEventListener('pointerdown',function(ev){\n    var p=local(ev);pointers[ev.pointerId]=p;dragMoved=false;setEngaged(true);\n    var ids=Object.keys(pointers);\n    if(ids.length===1){panStart={p:p,v:view};}\n    else if(ids.length===2){var a=pointers[ids[0]],b=pointers[ids[1]];pinch={d:Math.hypot(a[0]-b[0],a[1]-b[1]),v:view,c:[(a[0]+b[0])\/2,(a[1]+b[1])\/2]};panStart=null;}\n  });\n  svg.addEventListener('pointermove',function(ev){\n    if(!pointers[ev.pointerId])return;var p=local(ev);pointers[ev.pointerId]=p;var ids=Object.keys(pointers);\n    if(pinch?ids.length===2:false){var a=pointers[ids[0]],b=pointers[ids[1]],d=Math.hypot(a[0]-b[0],a[1]-b[1]);var k=Math.max(.15,Math.min(4,pinch.v.k*d\/pinch.d)),f=k\/pinch.v.k;\n      setView({x:pinch.c[0]-(pinch.c[0]-pinch.v.x)*f,y:pinch.c[1]-(pinch.c[1]-pinch.v.y)*f,k:k});dragMoved=true;return;}\n    if(panStart){var dx=p[0]-panStart.p[0],dy=p[1]-panStart.p[1];if(!dragMoved)if(Math.hypot(dx,dy)>4){dragMoved=true;svg.classList.add('is-panning');try{svg.setPointerCapture(ev.pointerId);}catch(e){}}\n      if(dragMoved)setView({x:panStart.v.x+dx,y:panStart.v.y+dy,k:view.k});}\n  });\n  function endPtr(ev){delete pointers[ev.pointerId];if(Object.keys(pointers).length<2)pinch=null;if(!Object.keys(pointers).length){panStart=null;svg.classList.remove('is-panning');setTimeout(function(){dragMoved=false;},0);}}\n  svg.addEventListener('pointerup',endPtr);svg.addEventListener('pointercancel',endPtr);\n  svg.addEventListener('click',function(){if(dragMoved)return;if(!focus)if(panel.classList.contains('is-open'))closePanel();});\n  \/* aktywna mapa przejmuje k\u00f3\u0142ko myszy \u2013 tak\u017ce od bibliotek smooth-scroll (Lenis w motywach Nectar) *\/\n  function setEngaged(v){engaged=v;if(v)stage.setAttribute('data-lenis-prevent','');else stage.removeAttribute('data-lenis-prevent');}\n  svg.setAttribute('data-lenis-prevent-touch','');\n  stage.addEventListener('mouseleave',function(){setEngaged(false);});\n  svg.addEventListener('wheel',function(ev){\n    if(!(ev.ctrlKey||ev.metaKey||engaged)){hint.classList.add('is-flash');clearTimeout(hint._t);hint._t=setTimeout(function(){hint.classList.remove('is-flash');},900);return;}\n    ev.preventDefault();ev.stopPropagation();var p=local(ev);zoomAt(Math.exp(-ev.deltaY*(ev.deltaMode===1?.05:.0018)),p[0],p[1]);\n  },{passive:false});\n  root.querySelectorAll('[data-zoom]').forEach(function(b){b.addEventListener('click',function(){var z=b.getAttribute('data-zoom');\n    if(z==='fit')animView(fitView(vis));else zoomAt(z==='in'?1.3:1\/1.3,W\/2,H\/2);});});\n  \/* --- size --- *\/\n  function measure(){var r=stage.getBoundingClientRect();W=r.width;H=r.height;sizeCanvas();}\n  var lastW=0;\n  function onResize(){measure();if(lastW)if(Math.abs(W-lastW)>40){setView(fitView(vis));}lastW=W;}\n  if(window.ResizeObserver)new ResizeObserver(onResize).observe(stage);else window.addEventListener('resize',onResize);\n  \/* --- start --- *\/\n  measure();lastW=W;sizeLabels();\n  root.querySelectorAll('.jdmap-tabs button').forEach(function(b){b.setAttribute('aria-selected',b.getAttribute('data-lens')===lens?'true':'false');});\n  setCrumb();\n  var L0=computeOverview();\n  Object.keys(L0.target).forEach(function(id){var o=hubs[id]||byId[id];o.x=L0.target[id][0];o.y=L0.target[id][1];});\n  applyVisibility(L0);draw();setView(fitView(L0));\n  if(document.fonts?document.fonts.ready:false)document.fonts.ready.then(function(){sizeLabels();applyVisibility(vis);});\n}\nfunction boot(){document.querySelectorAll('.jdmap').forEach(init);}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot);else boot();\n})();\n<\/script>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":2685,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_nectar_blocks_hide_post_title":true,"_nectar_blocks_transparent_header_effect":false,"_nectar_blocks_transparent_header_effect_color":"light","_nectar_blocks_header_animation":false,"_nectar_blocks_header_animation_delay":0,"_nectar_blocks_header_animation_effect":"fade","_nectar_blocks_page_css":"","_nectar_blocks_page_js":"","footnotes":""},"class_list":["post-2862","page","type-page","status-publish","has-post-thumbnail"],"_links":{"self":[{"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/pages\/2862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/comments?post=2862"}],"version-history":[{"count":4,"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/pages\/2862\/revisions"}],"predecessor-version":[{"id":2878,"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/pages\/2862\/revisions\/2878"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/media\/2685"}],"wp:attachment":[{"href":"https:\/\/videoscore.org\/pl\/wp-json\/wp\/v2\/media?parent=2862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}