1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,658250,e=>{"use strict";var t=e.i(414294),r=e.i(504561),a=e.i(430878),i=e.i(956115),n=e.i(709729),l=e.i(778600);let u={en:{meta:{title:"The Patternflow guide",description:"Four guides, by where you are: build a Patternflow from bare parts, play the one you've built, make your own patterns, and bring sound and MIDI to it with the Audio edition."},kicker:"The guide",title:"Start where you are.",guides:{build:{situation:"You're soldering one from bare parts."},play:{situation:"Your Patternflow is built."},make:{situation:"It plays. Now make your own."},audio:{situation:"It plays. Now add sound and MIDI."}},report:{label:"Stuck? Tell us",where:"The guide, somewhere not listed"}},ko:{meta:{title:"í¨í´íë¡ì° ê°ì´ë",description:"ì§ê¸ ìë ê³³ì ë§ì¶° ê³ ë¥´ë ê°ì´ë ë¤ ê°. 맨 ë¶íìì ë©ëí´ ë§ë¤ê³ , ë¤ ë§ë 걸 ì°ì£¼íê³ , ë´ í¨í´ì ë§ë¤ê³ , ì¤ëì¤ ìëì
ì¼ë¡ ì리ì MIDI를 ì´ì´ì."},kicker:"ê°ì´ë",title:"ì§ê¸ ìë ê³³ìì ììí´ì.",guides:{build:{situation:"맨 ë¶íë¶í° ì§ì ë©ëí´ ë§ë¤ì´ì."},play:{situation:"í¨í´íë¡ì°ë¥¼ ë¤ ë§ë¤ìì´ì."},make:{situation:"ì ëìê°ì. ì´ì ë´ í¨í´ì ë§ë¤ì´ì."},audio:{situation:"ì ëìê°ì. ì´ì ì리ë DAW를 ì´ì´ì."}},report:{label:"ë§íëì? ìë ¤ 주ì¸ì",where:"ê°ì´ë ì´ëê° (ë¨ê³ ìì)"}}};var s=e.i(94350),o=e.i(251237);let d="^(flash|knobs|patterns|console|next)(-[0-9]+)?$",c={"/guide":"/guide/play","/guide/ko":"/guide/play/ko"};JSON.stringify(c),JSON.stringify(d);var f=e.i(206552),h=e.i(79192),p=e.i(891703),g=e.i(62092),w=e.i(222084),m=e.i(647266),_=e.i(79371),b=e.i(512209),v=e.i(893576);let k={scale:3,hop:8,sitAfter:7e3};function E({within:e,chosen:r,onChoose:i}){let{el:n,path:l,engine:u}=(0,v.useResident)(k),o=(0,a.useRef)([]),d=(0,a.useRef)(-1),c=(0,a.useRef)(r);return(0,a.useEffect)(()=>{c.current=r},[r]),(0,a.useEffect)(()=>{let t=e.current,r=u.current;if(!t||!r)return;let a=()=>{let e=Array.from(t.querySelectorAll("[data-guide]"));if(!e.length||0===e[0].offsetWidth)return;let a=t.getBoundingClientRect(),i=e.map(e=>{let t=e.getBoundingClientRect();return{left:t.left-a.left,right:t.right-a.left,top:t.top-a.top}}),n=-1/0,l=t.querySelector("h1");if(l){let e=document.createRange();e.selectNodeContents(l),n=e.getBoundingClientRect().right-a.left}let u=t.querySelector("[data-report]"),s=u?u.getBoundingClientRect().left-a.left:1/0,c=r.width,f=[i[0].left];for(let e of i){let t=(e.left+e.right)/2-c/2;t<n+16&&n+16+c<=e.right-8&&(t=n+16),t+c>s-16&&s-16-c>=Math.max(e.left+8,n+16)&&(t=s-16-c),f.push(t)}o.current=f;let h=[],p=0;for(let e=0;e+1<i.length;e++)h.push((i[e].right+i[e+1].left)/2),p=Math.max(p,(i[e+1].left-i[e].right)/2+12);r.setGaps(h,p),r.setGround(a.left,i[0].top-3*b.ROWS),r.put(f[d.current+1])};a();let i=new ResizeObserver(a);return i.observe(t),window.addEventListener("resize",a),()=>{i.disconnect(),window.removeEventListener("resize",a)}},[e,u]),(0,a.useEffect)(()=>f.useGuideStore.subscribe((e,t)=>{let r=u.current;r&&"hub"===e.page&&(e.preview!==t.preview&&(e.preview&&(d.current=s.GUIDE_ORDER.indexOf(e.preview),r.walkTo(o.current[d.current+1])),r.setRestful(null===e.preview)),e.leaving!==t.leaving&&e.leaving&&"hub"!==e.leaving&&r.hop())}),[u]),(0,a.useEffect)(()=>{let t=t=>{let r=f.useGuideStore.getState(),a=c.current;if(c.current=t,i(t),t)return r.setPreview(t),!1;let n=e.current?.querySelector("[data-guide]:hover")?.dataset.guide;return n?r.setPreview(n):a&&r.preview===a&&r.setPreview(null),!!n},r=r=>{if(r.defaultPrevented||r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||(0,_.busy)(r.target)||null!==f.useGuideStore.getState().leaving)return;let a=e.current,i=u.current;if(!a||!i||!i.isPlaced)return;let n=r.key,l="ArrowRight"===n||"d"===n||"D"===n?1:"ArrowLeft"===n||"a"===n||"A"===n?-1:0,h=document.activeElement;if(l){let e=Array.from(a.querySelectorAll("[data-guide] > a")),n=h?e.indexOf(h):-1;if(n>=0){r.preventDefault(),e[n+l]?.focus();return}let u=Math.max(-1,Math.min(s.GUIDE_ORDER.length-1,d.current+l));
1if(r.preventDefault(),u<0){if(t(null))return;d.current=-1,i.walkTo(o.current[0]);return}d.current=u,t(s.GUIDE_ORDER[u]),i.walkTo(o.current[u+1]);return}let p=c.current;if(p){if("Escape"===n)return void t(null);"Enter"!==n&&" "!==n||h&&h!==document.body||(r.preventDefault(),a.querySelector(`[data-guide="${p}"] > a`)?.click())}};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e,u,i]),(0,t.jsx)(v.Figure,{el:n,path:l,engine:u,scale:3,place:"hub"})}function y(e){return(0,v.useWide)()?(0,t.jsx)(E,{...e}):null}function P(e){f.useGuideStore.getState().setPreview(e)}function x(e){let t=f.useGuideStore.getState();t.preview===e&&t.setPreview(null)}e.s(["default",0,function({lang:e}){let _=l.COPY[e],b=u[e],v="en"===e?"ko":"en",k=(0,a.useRef)(null),E=(0,a.useRef)(null),[S,j]=(0,a.useState)(null);return(0,a.useLayoutEffect)(()=>{let e=document.documentElement,t=()=>{var t,r,a;let i,n,l=(t=window.location.pathname,r=window.location.search,a=window.location.hash,i=c[t.replace(/\/+$/,"")],n=a.replace(/^#/,""),i&&new RegExp(d).test(n)?`${i}${r}#${n}`:null);l&&(e.style.visibility="hidden",window.location.replace(l))},r=t=>{t.persisted&&(e.style.visibility="")};return t(),window.addEventListener("hashchange",t),window.addEventListener("pageshow",r),()=>{window.removeEventListener("hashchange",t),window.removeEventListener("pageshow",r)}},[]),(0,p.useGuidePage)("hub",e),(0,a.useLayoutEffect)(()=>{let e=E.current;if(!e)return;let t=()=>f.useGuideStore.getState().setHubTop(Math.round(e.getBoundingClientRect().top+window.scrollY));t();let r=new ResizeObserver(t);return r.observe(e),window.addEventListener("resize",t),()=>{r.disconnect(),window.removeEventListener("resize",t)}},[E]),(0,m.usePanelTint)(k),(0,a.useEffect)(()=>()=>f.useGuideStore.setState({preview:null}),[]),(0,t.jsxs)("div",{className:`${i.default.page} ${n.default.page}`,lang:e,ref:k,"data-page":"hub",children:[(0,t.jsx)(g.default,{}),(0,t.jsxs)("header",{className:`${i.default.top} ${n.default.top}`,children:[(0,t.jsxs)("div",{className:i.default.brandRow,children:[(0,t.jsx)(r.default,{href:"/",className:i.default.brand,children:_.brand}),(0,t.jsx)("span",{className:i.default.wip,title:_.ui.wip,children:"WIP"})]}),(0,t.jsx)(h.default,{to:"hub",lang:v,className:i.default.lang,hrefLang:v,children:_.langSwitch.label})]}),(0,t.jsx)("main",{className:i.default.story,children:(0,t.jsx)("section",{className:`${i.default.scene} ${n.default.hub}`,"data-scene":"opening",id:"top",children:(0,t.jsxs)("div",{ref:E,className:n.default.inner,"data-leaves":"",children:[(0,t.jsxs)("h1",{className:n.default.title,children:[(0,t.jsx)("span",{className:n.default.kicker,children:b.kicker})," ",b.title]}),(0,t.jsx)(y,{within:E,chosen:S,onChoose:j}),(0,t.jsx)("ol",{className:n.default.guides,"data-walk":S?"":void 0,onPointerMove:e=>{if(null===S||"mouse"!==e.pointerType)return;j(null);let t=e.target.closest?.("[data-guide]")?.dataset.guide;f.useGuideStore.getState().setPreview(t??null)},children:s.GUIDE_ORDER.map((r,l)=>{let u=s.PAGES[r].text(e),o=`hub-${r}-inside`;return(0,t.jsxs)("li",{className:n.default.guide,"data-guide":r,"data-here":S===r?"":void 0,children:[(0,t.jsxs)(h.default,{to:r,lang:e,className:n.default.go,"aria-describedby":o,onPointerOver:e=>{"mouse"===e.pointerType&&P(r)},onPointerLeave:()=>x(r),onFocus:()=>{j(null),P(r)},onBlur:()=>x(r),children:[(0,t.jsx)("span",{className:n.default.num,children:String(l+1).padStart(2,"0")}),(0,t.jsx)("span",{className:`${n.default.name} ${i.default.wordsNow}`,children:(0,t.jsx)(w.default,{text:u.name})}),(0,t.jsx)("span",{className:n.default.arrow,"aria-hidden":"true",children:"â"}),(0,t.jsx)("span",{className:n.default.situation,children:b.guides[r].situation})]}),(0,t.jsx)("p",{className:n.default.inside,id:o,children:u.chapters.map((e,r)=>(0,t.jsxs)(a.Fragment,{children:[(0,t.jsx)("span",{className:n.default.chapter,children:r<u.chapters.length-1?`${e.label} \xb7`:e.label})," "]},e.id))})]},r)})}),(0,t.jsxs)("a",{className:`${i.default.report} ${n.default.report}`,href:(0,o.reportUrl)("stuck",b.report.where),target:"_blank",rel:"noopener noreferrer",title:_.ui.report.hint,"data-report":!0,onClick:e=>{e.currentTarget.href=(0,o.reportUrl)("stuck",b.report.where,(0,o.hereFor)())},children:[b.report.label,(0,t.jsx)("span",{"aria-hidden":"true",children:"â"})]})]})})})]})}],658250)},709729,e=>{e.v({arrow:"Hub-module__qaPEka__arrow",chapter:"Hub-module__qaPEka__chapter",go:"Hub-module__qaPEka__go",guide:"Hub-module__qaPEka__guide",guides:"Hub-module__qaPEka__guides",hub
1:"Hub-module__qaPEka__hub",hubDraw:"Hub-module__qaPEka__hubDraw",hubLine:"Hub-module__qaPEka__hubLine",inner:"Hub-module__qaPEka__inner",inside:"Hub-module__qaPEka__inside",kicker:"Hub-module__qaPEka__kicker",name:"Hub-module__qaPEka__name",num:"Hub-module__qaPEka__num",page:"Hub-module__qaPEka__page",report:"Hub-module__qaPEka__report",situation:"Hub-module__qaPEka__situation",title:"Hub-module__qaPEka__title",top:"Hub-module__qaPEka__top"})}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.