isorite 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +1 -1
- package/package.json +1 -1
- package/web/_app/immutable/assets/5.CUzWicH8.css +1 -0
- package/web/_app/immutable/assets/9.CFA9_nYZ.css +1 -0
- package/web/_app/immutable/assets/{NoteEditor.Bp-YDqYj.css → NoteEditor.CM4-yBF-.css} +1 -1
- package/web/_app/immutable/assets/Tutorial.BBInFlVA.css +1 -0
- package/web/_app/immutable/chunks/{gRYnlonl.js → 3kOo0zFs.js} +1 -1
- package/web/_app/immutable/chunks/{DN3dk6rD.js → 7G70dile.js} +3 -3
- package/web/_app/immutable/chunks/BC72R-M3.js +3 -0
- package/web/_app/immutable/chunks/{B-si2ell.js → BDArRuPR.js} +1 -1
- package/web/_app/immutable/chunks/BIIfi70-.js +1 -0
- package/web/_app/immutable/chunks/CRzLMJPS.js +1 -0
- package/web/_app/immutable/chunks/Cu92X5fL.js +1 -0
- package/web/_app/immutable/chunks/DZgc09PI.js +535 -0
- package/web/_app/immutable/chunks/{cmGruEKS.js → DhNgPNiM.js} +1 -1
- package/web/_app/immutable/chunks/DxgbXXT0.js +13 -0
- package/web/_app/immutable/chunks/VWXhPrtT.js +1 -0
- package/web/_app/immutable/chunks/czZbKOPp.js +1 -0
- package/web/_app/immutable/entry/app.CNsoor0D.js +2 -0
- package/web/_app/immutable/entry/start.DFtkKs7u.js +1 -0
- package/web/_app/immutable/nodes/0.156ZLyOF.js +2 -0
- package/web/_app/immutable/nodes/1.e1XDhJNT.js +1 -0
- package/web/_app/immutable/nodes/2.80TQrqQF.js +1 -0
- package/web/_app/immutable/nodes/3.Bk_l60Ut.js +13 -0
- package/web/_app/immutable/nodes/4.CektBUbm.js +2 -0
- package/web/_app/immutable/nodes/5.65PWTBsr.js +4 -0
- package/web/_app/immutable/nodes/6.a_57GKer.js +1 -0
- package/web/_app/immutable/nodes/7.DbM_N4_u.js +1 -0
- package/web/_app/immutable/nodes/8.CY3JWStn.js +1 -0
- package/web/_app/immutable/nodes/9.DurALis5.js +530 -0
- package/web/_app/version.json +1 -1
- package/web/index.html +19 -11
- package/web/_app/immutable/assets/5.BCvLF9Xz.css +0 -1
- package/web/_app/immutable/chunks/BD1Dpm2e.js +0 -3
- package/web/_app/immutable/chunks/C0fpmehI.js +0 -1
- package/web/_app/immutable/chunks/CWYACT2V.js +0 -1
- package/web/_app/immutable/chunks/CdQZ-ArP.js +0 -1
- package/web/_app/immutable/chunks/DtAOoM-T.js +0 -1
- package/web/_app/immutable/chunks/DykrN7z5.js +0 -535
- package/web/_app/immutable/entry/app.DgJiXIYs.js +0 -2
- package/web/_app/immutable/entry/start.l9vV7NaJ.js +0 -1
- package/web/_app/immutable/nodes/0.DWPeBju2.js +0 -1
- package/web/_app/immutable/nodes/1.CJVDS8FT.js +0 -1
- package/web/_app/immutable/nodes/2.o8ItfT-a.js +0 -1
- package/web/_app/immutable/nodes/3.uhHyOPGK.js +0 -13
- package/web/_app/immutable/nodes/4.BYKkAZTp.js +0 -2
- package/web/_app/immutable/nodes/5.BzEQO7Xv.js +0 -4
- package/web/_app/immutable/nodes/6.GxiAUa6J.js +0 -1
- package/web/_app/immutable/nodes/7.d2Ere8Jb.js +0 -1
- package/web/_app/immutable/nodes/8.CvPHZL8j.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DWPeBju2.js","../chunks/BD1Dpm2e.js","../chunks/CWYACT2V.js","../chunks/xihTtKlq.js","../chunks/gRYnlonl.js","../chunks/B-si2ell.js","../chunks/cmGruEKS.js","../assets/0.CbWSsYpm.css","../nodes/1.CJVDS8FT.js","../nodes/2.o8ItfT-a.js","../chunks/DtAOoM-T.js","../chunks/CdQZ-ArP.js","../nodes/3.uhHyOPGK.js","../chunks/DN3dk6rD.js","../chunks/C0fpmehI.js","../assets/Timeline.UMF1LjSO.css","../assets/3.Bgs8n1LK.css","../nodes/4.BYKkAZTp.js","../chunks/DykrN7z5.js","../assets/NoteEditor.Bp-YDqYj.css","../assets/4.CCFEPTFN.css","../nodes/5.BzEQO7Xv.js","../assets/5.BCvLF9Xz.css","../nodes/6.GxiAUa6J.js","../assets/6.kPo5mcJx.css","../nodes/7.d2Ere8Jb.js","../assets/7.ljiu9bn5.css","../nodes/8.CvPHZL8j.js","../assets/8.C0NYkyNY.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{$ as e,B as t,C as n,D as r,F as i,G as a,H as o,J as s,K as c,L as l,O as u,T as d,V as f,X as p,Z as m,ct as h,i as g,it as _,j as v,k as y,n as b,r as x,rt as S,s as C,v as w}from"../chunks/BD1Dpm2e.js";import"../chunks/xihTtKlq.js";var T=`modulepreload`,E=function(e,t){return new URL(e,t).href},D={},O=function(e){return e.pathname.endsWith(`.css`)},k=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},A=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=E(t,n);let r=s(t),i=O(r);return k(D,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:T,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},j={},M=y(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),N=y(`<!> <!>`,1);function P(y,x){_(x,!0);let T=g(x,`components`,23,()=>[]),E=g(x,`data_0`,3,null),D=g(x,`data_1`,3,null);o(()=>x.stores.page.set(x.page)),f(()=>{x.stores,x.page,x.constructors,T(),x.form,E(),D(),x.stores.page.notify()});let O=m(!1),k=m(!1),A=m(null);b(()=>{let e=x.stores.page.subscribe(()=>{i(O)&&(p(k,!0),l().then(()=>{p(A,document.title||`untitled page`,!0)}))});return p(O,!0),e});let j=e(()=>x.constructors[1]);var P=N(),F=c(P),I=t=>{let n=e(()=>x.constructors[0]);var a=u(),o=c(a);w(o,()=>i(n),(e,t)=>{C(t(e,{get data(){return E()},get form(){return x.form},get params(){return x.page.params},children:(e,t)=>{var n=u(),a=c(n);w(a,()=>i(j),(e,t)=>{C(t(e,{get data(){return D()},get form(){return x.form},get params(){return x.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),r(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),r(t,a)},L=t=>{let n=e(()=>x.constructors[0]);var a=u(),o=c(a);w(o,()=>i(n),(e,t)=>{C(t(e,{get data(){return E()},get form(){return x.form},get params(){return x.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),r(t,a)};n(F,e=>{x.constructors[1]?e(I):e(L,-1)});var R=s(F,2),z=e=>{var o=M(),s=a(o),c=e=>{var n=v();t(()=>d(n,i(A))),r(e,n)};n(s,e=>{i(k)&&e(c)}),h(o),r(e,o)};n(R,e=>{i(O)&&e(z)}),r(y,P),S()}var F=x(P),I=[()=>A(()=>import(`../nodes/0.DWPeBju2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url),()=>A(()=>import(`../nodes/1.CJVDS8FT.js`),__vite__mapDeps([8,1,3,5,2]),import.meta.url),()=>A(()=>import(`../nodes/2.o8ItfT-a.js`),__vite__mapDeps([9,1,2,3,10,11]),import.meta.url),()=>A(()=>import(`../nodes/3.uhHyOPGK.js`),__vite__mapDeps([12,1,2,3,4,5,11,13,14,15,16]),import.meta.url),()=>A(()=>import(`../nodes/4.BYKkAZTp.js`),__vite__mapDeps([17,1,2,3,4,5,10,11,13,18,19,20]),import.meta.url),()=>A(()=>import(`../nodes/5.BzEQO7Xv.js`),__vite__mapDeps([21,1,2,3,4,5,10,11,13,14,15,18,19,22]),import.meta.url),()=>A(()=>import(`../nodes/6.GxiAUa6J.js`),__vite__mapDeps([23,1,2,3,4,11,24]),import.meta.url),()=>A(()=>import(`../nodes/7.d2Ere8Jb.js`),__vite__mapDeps([25,1,3,6,10,26]),import.meta.url),()=>A(()=>import(`../nodes/8.CvPHZL8j.js`),__vite__mapDeps([27,1,2,3,4,5,11,28]),import.meta.url)],L=[],R={"/":[2],"/atlas":[3],"/draft/[id]":[4],"/notes":[6],"/n/[...id]":[5],"/parts":[7],"/study":[8]},z={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},B=Object.fromEntries(Object.entries(z.transport).map(([e,t])=>[e,t.decode])),V=Object.fromEntries(Object.entries(z.transport).map(([e,t])=>[e,t.encode])),H=!0,U=(e,t)=>B[e](t),W=()=>A(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{U as decode,B as decoders,R as dictionary,V as encoders,W as get_error_template,H as hash,z as hooks,j as matchers,I as nodes,F as root,L as server_loads};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{a as load_css,n as start}from"../chunks/CWYACT2V.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,B as t,C as n,D as r,F as i,G as a,J as o,K as s,M as c,N as l,O as u,P as d,S as f,T as p,U as m,V as h,W as g,X as _,Z as v,_ as y,c as b,ct as x,dt as S,g as C,h as w,it as T,k as E,l as D,lt as O,m as k,q as A,rt as j,s as M,st as N,u as P,x as F,y as ee,z as I}from"../chunks/BD1Dpm2e.js";import{o as L}from"../chunks/CWYACT2V.js";import"../chunks/xihTtKlq.js";import{t as R}from"../chunks/gRYnlonl.js";import{t as z}from"../chunks/B-si2ell.js";import{n as B,r as V,t as H}from"../chunks/cmGruEKS.js";var U=S({load:()=>W});async function W(){return await R.load(),{}}var G=E(`<div class="part svelte-14btb5m"><span> </span><span class="faint detail svelte-14btb5m"> </span><span class="n svelte-14btb5m"> </span> <i class="svelte-14btb5m"></i></div>`),K=E(`<button class="away svelte-14btb5m" type="button" aria-label="Close the breakdown"></button> <div class="frame breakdown svelte-14btb5m" role="dialog" aria-label="Context"><span class="frame-title"> </span> <!> <div class="foot svelte-14btb5m"><span class="label"> </span> <button class="link svelte-14btb5m" type="button">[ clear the conversation ]</button></div> <p class="label">Sizes are estimates until Iso is asked. A long note or a long conversation is cut to fit, and Iso is told what was left out.</p></div>`,1),q=E(`<span class="count svelte-14btb5m"><button class="tokens svelte-14btb5m" type="button" aria-haspopup="dialog"> </button> <span class="faint" aria-hidden="true">·</span> <span class="faint"> </span> <!></span>`);function te(e,c){T(c,!0);let f=v(null),m=v(!1),y,b=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),S=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`;function C(e=!1){clearTimeout(y),y=setTimeout(()=>{R.api.context(R.open||void 0).then(e=>_(f,e),()=>void 0)},e?0:600)}h(()=>{R.open,C(!0)}),h(()=>R.on(e=>{(e.type===`note-changed`||e.type===`journal`||e.type===`record`)&&C()})),h(()=>()=>clearTimeout(y));async function w(){await R.api.clearConversation(),C(!0)}var E=u();d(`keydown`,g,e=>{i(m)&&e.key===`Escape`&&_(m,!1)});var D=s(E),O=e=>{var c=q(),u=a(c),d=A(u,!0),h=o(u,4),g=A(h,!0),v=o(h,2),y=e=>{var n=K(),c=s(n),u=o(c,2),d=a(u),h=A(d),g=o(d,2);F(g,17,()=>i(f).parts,e=>e.name,(e,n)=>{var s=G(),c=a(s),l=A(c,!0),u=o(c),d=A(u,!0),m=o(u),h=A(m,!0),g=o(m,2);let _;x(s),t((e,t)=>{p(l,i(n).name),p(d,i(n).detail),p(h,e),_=k(g,``,_,{"--w":t})},[()=>b(i(n).tokens),()=>`${i(f).tokens?Math.round(100*i(n).tokens/i(f).tokens):0}%`]),r(e,s)});var v=o(g,2),y=a(v),C=A(y),T=o(y,2);x(v),N(2),x(u),t((e,t,n)=>{p(h,`context · ${e??``} of ${t??``} tokens`),p(C,`this session · ${n??``} · ${i(f).session.requests??``} ${i(f).session.requests===1?`request`:`requests`}`)},[()=>b(i(f).tokens),()=>b(i(f).limit),()=>S(i(f).session.usd)]),l(`click`,c,()=>_(m,!1)),l(`click`,T,w),r(e,n)};n(v,e=>{i(m)&&e(y)}),x(c),t((e,t,n,r)=>{P(u,`aria-expanded`,i(m)),P(u,`aria-label`,e),p(d,t),P(h,`aria-label`,n),p(g,r)},[()=>`Context: ${b(i(f).tokens)} tokens`,()=>b(i(f).tokens),()=>`This session has cost ${S(i(f).session.usd)}`,()=>S(i(f).session.usd)]),l(`click`,u,()=>_(m,!i(m))),r(e,c)};n(D,e=>{i(f)&&R.session?.study&&e(O)}),r(e,E),j()}c([`click`]);var J=E(`<button type="button" role="radio"> </button>`),ne=E(`<button class="btn" type="button">forget it</button>`),re=E(`<div class="row svelte-15gydnd"><span class="faint">or</span> <button class="btn" type="button"> </button></div> <p class="faint">You sign in there, and the key it makes comes straight here. A spending limit for it is set on the provider's page of keys.</p>`,1),Y=E(`<p role="status"> </p>`),ie=E(`<dt> </dt><dd class="faint svelte-15gydnd"> </dd>`,1),X=E(`<p class="soft"> </p> <form class="row svelte-15gydnd"><label class="hidden-label" for="key">Provider key</label> <input id="key" class="field grow" type="password" autocomplete="off" spellcheck="false"/> <button class="btn primary" type="submit">hold it</button> <!></form> <!> <!> <p class="faint">The key is kept in this device's configuration, never in a base, and is not shown again.</p> <dl class="tiers svelte-15gydnd"></dl>`,1),ae=E(`<p class="bad svelte-15gydnd" role="alert"> </p>`),Z=E(`<button class="shade svelte-15gydnd" type="button" aria-label="Close settings"></button> <div class="frame menu svelte-15gydnd" role="dialog" aria-label="Settings" tabindex="-1"><span class="frame-title">settings</span> <section class="svelte-15gydnd"><h2 class="label svelte-15gydnd">the ground</h2> <div class="row svelte-15gydnd" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-15gydnd"><h2 class="label svelte-15gydnd">Iso</h2> <!> <!></section> <div class="row foot svelte-15gydnd"><a>the parts</a> <span class="grow"></span> <button class="btn quiet" type="button">close</button></div></div>`,1);function oe(c,u){T(u,!0);let f=v(null),m=v(``),y=v(``),S;h(()=>{R.api.settings().then(e=>_(f,e),e=>_(y,e.message,!0))}),h(()=>{S.focus()});function E(){R.signIn=null,u.close()}async function k(e){_(y,``),R.signIn=null;try{_(f,await R.api.setKey(e)),_(m,``)}catch(e){_(y,e.message,!0)}}async function ee(){_(y,``),R.signIn=null;try{await R.startSignIn()}catch(e){_(y,e.message,!0)}}var I=Z();d(`keydown`,g,e=>{e.key===`Escape`&&E()});var z=s(I),V=o(z,2),U=o(a(V),2),W=o(a(U),2);F(W,21,()=>H,([e,t])=>e,(n,a)=>{var o=e(()=>O(i(a),2));let s=()=>i(o)[0],c=()=>i(o)[1];var u=J();let d;var f=A(u,!0);t(()=>{d=w(u,1,`btn svelte-15gydnd`,null,d,{on:B.chosen===s()}),P(u,`aria-checked`,B.chosen===s()),p(f,c())}),l(`click`,u,()=>B.choose(s())),r(n,u)}),x(W),x(U);var G=o(U,2),K=o(a(G),2),q=e=>{var c=X(),u=s(c),h=A(u),g=o(u,2),v=o(a(g),2);D(v);var y=o(v,2),S=o(y,2),T=e=>{var t=ne();l(`click`,t,()=>k(null)),r(e,t)};n(S,e=>{i(f).key&&e(T)}),x(g);var E=o(g,2),O=e=>{var n=re(),c=s(n),u=o(a(c),2),d=A(u);x(c),N(2),t(()=>p(d,`sign in at ${i(f).provider??``} for a new key`)),l(`click`,u,ee),r(e,n)};n(E,e=>{i(f).connect&&e(O)});var j=o(E,2),M=e=>{var n=Y(),i=A(n,!0);t(()=>{w(n,1,C(R.signIn.ok?`soft`:`bad`),`svelte-15gydnd`),p(i,R.signIn.message)}),r(e,n)};n(j,e=>{R.signIn&&e(M)});var I=o(j,4);F(I,20,()=>[`low`,`mid`,`max`],e=>e,(e,n)=>{var a=ie(),c=s(a),l=A(c,!0),u=o(c),d=A(u,!0);t(()=>{p(l,n),p(d,i(f).tiers[n])}),r(e,a)}),x(I),t(e=>{p(h,`Asked through ${i(f).provider??``}. ${i(f).key?`A key is held on this device.`:`No key is held yet, so Iso cannot be asked.`}`),P(v,`placeholder`,i(f).key?`paste another key to replace it`:`paste a key`),y.disabled=e},[()=>!i(m).trim()]),d(`submit`,g,e=>{e.preventDefault(),i(m).trim()&&k(i(m))}),b(v,()=>i(m),e=>_(m,e)),r(e,c)};n(K,e=>{i(f)&&e(q)});var te=o(K,2),oe=e=>{var n=ae(),a=A(n,!0);t(()=>p(a,i(y))),r(e,n)};n(te,e=>{i(y)&&e(oe)}),x(G);var Q=o(G,2),$=a(Q),se=o($,4);x(Q),x(V),M(V,e=>S=e,()=>S),t(e=>P($,`href`,e),[()=>L(`/parts`)]),l(`click`,z,E),l(`click`,$,E),l(`click`,se,E),r(c,I),j()}c([`click`]);var Q=E(`<a class="back svelte-12qhfyh">‹ study</a>`),$=E(`<a class="back svelte-12qhfyh"> </a>`),se=E(`<span class="faint sep svelte-12qhfyh">/</span> `,1),ce=E(`<a class="svelte-12qhfyh"> </a><!>`,1),le=E(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),ue=E(`<button class="btn stop svelte-12qhfyh" type="button">stop</button>`),de=E(`<i></i>`),fe=E(`<button type="button"></button>`),pe=E(`<a class="next svelte-12qhfyh">next</a>`),me=E(`<span class="label kind svelte-12qhfyh"> </span><span class="faint dot svelte-12qhfyh">·</span><span class="label read svelte-12qhfyh">Iso's read of you</span> <!> <button class="link wind svelte-12qhfyh" type="button">[ wind back ]</button> <!>`,1),he=E(`<a class="svelte-12qhfyh"><span class="svelte-12qhfyh"> </span></a>`),ge=E(`<p class="stopped svelte-12qhfyh"> </p>`),_e=E(`<span role="status"> </span>`),ve=E(`<span class="grow svelte-12qhfyh"></span><span class="hint svelte-12qhfyh"> </span>`,1),ye=E(`<span class="hint svelte-12qhfyh"> </span> <button class="link svelte-12qhfyh" type="button">[ stop ]</button>`,1),be=E(`<span> </span>`),xe=E(`<span class="grow svelte-12qhfyh"></span> <!>`,1),Se=E(`<span class="grow svelte-12qhfyh"></span> <span class="hint svelte-12qhfyh">click a note to link it, again to take it away</span>`,1),Ce=E(`<span class="svelte-12qhfyh"> </span>`),we=E(`<!> <span class="grow svelte-12qhfyh"></span> <span class="hint svelte-12qhfyh">click a note it requires to step back to it, the note again to open it</span> <button class="link svelte-12qhfyh" type="button"> </button>`,1),Te=E(`<span class="svelte-12qhfyh"> </span> <!> <span class="grow svelte-12qhfyh"></span> <span class="hint svelte-12qhfyh">click a note to see what it rests on · hold on open ground to start a note for Iso, on a note to start from it</span>`,1),Ee=E(`<span class="grow svelte-12qhfyh"></span> <span class="svelte-12qhfyh"> </span>`,1),De=E(`<span class="svelte-12qhfyh"> </span> <!> <!> <!>`,1),Oe=E(`<div class="shell svelte-12qhfyh"><header class="bar svelte-12qhfyh"><button type="button" aria-label="isorite: settings" aria-haspopup="dialog"><!></button> <!> <span><!></span> <span class="grow svelte-12qhfyh"></span> <!> <!> <!> <!> <nav class="switch svelte-12qhfyh" aria-label="Views"></nav></header> <!> <main class="page svelte-12qhfyh"><!></main> <!> <footer class="status svelte-12qhfyh"><!></footer></div>`);function ke(c,d){T(d,!0);let h=v(R.signIn!==null),g=[[`atlas`,L(`/atlas`)],[`notes`,L(`/notes`)],[`study`,L(`/study`)]],b=e(()=>z.route.id===`/atlas`?`atlas`:z.route.id===`/study`||R.exercise||R.studying?`study`:z.route.id===`/parts`?``:`notes`),S=e(()=>z.route.id===`/n/[...id]`||z.route.id===`/draft/[id]`),C=e(()=>R.atlas&&!R.atlas.pick?R.iso:null),E=e(()=>i(C)?.state===`reading`||i(C)?.state===`writing`),D=e(()=>i(C)?R.listing.notes.find(e=>e.id===i(C).note)?.title??`your note`:``),k=()=>{i(C)&&R.api.stop(i(C).request)};var M=Oe();y(`12qhfyh`,e=>{I(()=>{m.title=i(S)&&R.here?`${R.here} · isorite`:`isorite`})});var B=a(M),H=a(B);let U;var W=a(H);V(W,{}),x(H);var G=o(H,2),K=e=>{var i=u(),a=s(i),o=e=>{var n=Q();t(e=>P(n,`href`,e),[()=>L(`/study`)]),r(e,n)},c=e=>{var n=$(),i=A(n);t(e=>{P(n,`href`,e),p(i,`‹ ${R.session.name??``}`)},[()=>L(`/notes`)]),r(e,n)};n(a,e=>{R.exercise||R.studying?e(o):e(c,-1)}),r(e,i)};n(G,e=>{i(S)&&R.session&&e(K)});var q=o(G,2);let J;var ne=a(q),re=e=>{var a=ce(),c=s(a),l=A(c,!0),u=o(c),d=e=>{var n=se(),i=o(s(n),1,!0);t(()=>p(i,R.here)),r(e,n)};n(u,e=>{i(S)&&R.here&&e(d)}),t(e=>{P(c,`href`,e),p(l,R.session.name)},[()=>L(`/notes`)]),r(e,a)};n(ne,e=>{R.session&&e(re)}),x(q);var Y=o(q,4),ie=e=>{var n=le(),i=s(n),a=A(i,!0),c=o(i);t(()=>p(a,R.atlas.here)),l(`click`,c,function(...e){R.atlas.out?.apply(this,e)}),r(e,n)};n(Y,e=>{R.atlas?.here&&e(ie)});var X=o(Y,2),ae=e=>{var t=ue();l(`click`,t,k),r(e,t)};n(X,e=>{i(E)&&e(ae)});var Z=o(X,2),ke=a=>{let c=e(()=>R.exercise);var u=me(),d=s(u),m=A(d,!0),h=o(d,4);f(h,()=>i(c).flash,e=>{var n=fe();let a;F(n,20,()=>[0,1,2,3,4,5],e=>e,(e,n)=>{var a=de();let o;t(()=>o=w(a,1,`pip svelte-12qhfyh`,null,o,{lv:n<i(c).squares})),r(e,a)}),x(n),t(()=>{a=w(n,1,`squares svelte-12qhfyh`,null,a,{flash:i(c).flash>0}),P(n,`aria-label`,`understanding ${i(c).squares??``} of 6${i(c).due?`, due`:``}: why`)}),l(`click`,n,function(...e){i(c).why?.apply(this,e)}),r(e,n)});var g=o(h,2),_=o(g,2),v=e=>{var n=pe();t(e=>P(n,`href`,e),[()=>L(`/n/[...id]`,{id:i(c).next})]),r(e,n)};n(_,e=>{i(c).next&&e(v)}),t(()=>p(m,i(c).kind)),l(`click`,g,function(...e){i(c).windBack?.apply(this,e)}),r(a,u)};n(Z,e=>{R.exercise&&e(ke)});var Ae=o(Z,2),je=e=>{te(e,{})};n(Ae,e=>{R.error||e(je)});var Me=o(Ae,2);F(Me,21,()=>g,([e,t])=>e,(n,o)=>{var s=e(()=>O(i(o),2));let c=()=>i(s)[0],l=()=>i(s)[1];var u=he(),d=a(u),f=A(d,!0);x(u),t(()=>{P(u,`href`,l()),P(u,`aria-current`,i(b)===c()?`page`:void 0),p(f,c())}),r(n,u)}),x(Me),x(B);var Ne=o(B,2),Pe=e=>{oe(e,{close:()=>_(h,!1)})};n(Ne,e=>{i(h)&&e(Pe)});var Fe=o(Ne,2),Ie=a(Fe),Le=e=>{var n=ge(),i=A(n);t(()=>p(i,`isorite could not open the base: ${R.error??``}`)),r(e,n)},Re=e=>{var t=u(),n=s(t);ee(n,()=>d.children),r(e,t)};n(Ie,e=>{R.error?e(Le):e(Re,-1)}),x(Fe);var ze=o(Fe,2);n(ze,e=>{});var Be=o(ze,2),Ve=a(Be),He=e=>{var a=De(),c=s(a),u=A(c,!0),d=o(c,2),f=e=>{var n=_e();let i;var a=A(n,!0);t(()=>{i=w(n,1,`svelte-12qhfyh`,null,i,{bad:R.saving.bad}),p(a,R.saving.text)}),r(e,n)};n(d,e=>{i(S)&&R.saving&&e(f)});var m=o(d,2),h=e=>{var n=ve(),i=o(s(n)),a=A(i,!0);t(()=>p(a,R.hint)),r(e,n)};n(m,e=>{i(S)&&R.hint&&!i(C)&&e(h)});var g=o(m,2),_=e=>{var a=xe(),c=o(s(a),2),u=e=>{var n=ye(),a=s(n),c=A(a,!0),u=o(a,2);t(e=>p(c,e),[()=>i(C).note.startsWith(`@draft/`)?`your note opens when Iso is done`:`Iso is answering in ${i(D)}`]),l(`click`,u,k),r(e,n)},d=e=>{var n=be();let a;var o=A(n);t(()=>{a=w(n,1,`hint svelte-12qhfyh`,null,a,{bad:i(C).state===`failed`}),p(o,`${i(C).state===`done`?`Iso is done in ${i(D)}`:i(C).state===`stopped`?`Iso was stopped`:`Iso could not answer: ${i(C).message}`} · click open ground to let its path go`)}),r(e,n)};n(c,e=>{i(E)?e(u):e(d,-1)}),r(e,a)},v=e=>{var t=Se();N(2),r(e,t)},y=e=>{var i=we(),a=s(i),c=e=>{var n=Ce(),i=A(n);t(()=>p(i,`${R.atlas.steps??``} ${R.atlas.steps===1?`step`:`steps`} back`)),r(e,n)};n(a,e=>{R.atlas.steps&&e(c)});var u=o(a,6),d=A(u,!0);t(()=>{P(u,`aria-pressed`,R.atlas.chain),p(d,R.atlas.chain?`[ one step ]`:`[ whole chain ]`)}),l(`click`,u,function(...e){R.atlas.whole?.apply(this,e)}),r(e,i)},b=e=>{var i=Te(),a=s(i),c=A(a),l=o(a,2),u=e=>{var n=Ce(),i=A(n);t(()=>p(i,`${R.atlas.items??``} study ${R.atlas.items===1?`item`:`items`}`)),r(e,n)};n(l,e=>{R.atlas.items&&e(u)}),N(4),t(()=>p(c,`${R.listing.notes.length??``} ${R.listing.notes.length===1?`note`:`notes`}`)),r(e,i)},x=e=>{var n=Ee(),i=o(s(n),2),a=A(i);t(()=>p(a,`${R.listing.notes.length??``} ${R.listing.notes.length===1?`note`:`notes`}`)),r(e,n)};n(g,e=>{i(C)&&(i(E)||!R.atlas?.chosen)?e(_):R.atlas?.pick?e(v,1):R.atlas?.chosen?e(y,2):R.atlas?e(b,3):e(x,-1)}),t(()=>p(u,R.session.study?`study`:`project: no journal is kept`)),r(e,a)};n(Ve,e=>{R.session&&e(He)}),x(Be),x(M),t(()=>{U=w(H,1,`home svelte-12qhfyh`,null,U,{"in-note":i(S)}),P(H,`aria-expanded`,i(h)),J=w(q,1,`path svelte-12qhfyh`,null,J,{"in-note":i(S)})}),l(`click`,H,()=>_(h,!i(h))),r(c,M),j()}c([`click`]);export{ke as component,U as universal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,D as t,J as n,K as r,T as i,it as a,k as o,q as s,rt as c}from"../chunks/BD1Dpm2e.js";import"../chunks/xihTtKlq.js";import{t as l}from"../chunks/B-si2ell.js";var u=o(`<h1> </h1> <p> </p>`,1);function d(o,d){a(d,!0);var f=u(),p=r(f),m=s(p,!0),h=n(p,2),g=s(h,!0);e(()=>{i(m,l.status),i(g,l.error?.message)}),t(o,f),c()}export{d as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{it as e,n as t,o as n,rt as r}from"../chunks/BD1Dpm2e.js";import{o as i,t as a}from"../chunks/CWYACT2V.js";import"../chunks/xihTtKlq.js";import"../chunks/DtAOoM-T.js";import"../chunks/CdQZ-ArP.js";function o(o,s){e(s,!1),t(()=>{a(i(`/notes`),{replaceState:!0})}),n(),r()}export{o as component};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,C as r,D as i,F as a,G as o,J as s,K as c,M as l,N as u,O as d,P as f,T as p,V as m,X as h,Y as g,Z as _,ct as v,g as y,h as b,i as x,it as S,j as C,k as w,m as T,q as E,rt as D,s as O,u as k,x as A}from"../chunks/BD1Dpm2e.js";import{o as j,t as M}from"../chunks/CWYACT2V.js";import"../chunks/xihTtKlq.js";import{n as N,t as P}from"../chunks/gRYnlonl.js";import{t as F}from"../chunks/B-si2ell.js";import"../chunks/CdQZ-ArP.js";import{a as I,g as L,i as ee,y as R}from"../chunks/DN3dk6rD.js";import{i as z,t as B}from"../chunks/C0fpmehI.js";var V=[0,1,1,1,0,-1,-1,-1],H=[-1,-1,0,1,1,1,0,-1];function te(e,t,{step:n=1,pad:r=.5}={}){let i=`X`,a=(Math.abs(Math.trunc(e))*7919+13)%2147483647,o=()=>(a=a*16807%2147483647,a/2147483647);for(let e=0;e<Math.max(0,Math.min(t,6));e++)i=i.replace(/[XF]/g,e=>e===`X`?`F[+X]F[-X]+X`:`FF`);i===`X`&&(i=`F`);let s=0,c=0,l=0,u=1,d=!1,f=0,p=0,m=0,h=0,g=[],_=[],v=[],y=n/2;for(let e of i)e===`F`?(d||=(_.push(`M${s} ${c}`),!0),s+=V[l]*n,c+=H[l]*n,_.push(`L${s} ${c}`),f=Math.min(f,s),p=Math.max(p,s),m=Math.min(m,c),h=Math.max(h,c)):e===`+`?l=(l+u+8)%8:e===`-`?l=(l-u+8)%8:e===`[`?(g.push([s,c,l,u]),o()<.5&&(u=-u)):e===`]`&&(v.push(`M${s-y/2} ${c-y/2}h${y}v${y}h${-y}z`),[s,c,l,u]=g.pop(),d=!1);let b=p-f+2*r,x=h-m+2*r;return{d:_.join(``),tips:v.join(``),viewBox:`${f-r} ${m-r} ${b} ${x}`,ratio:b/x}}var U=/\]\(\/([^)\s#]+)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,W=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),G=e=>e.split(`/`).map(encodeURIComponent).join(`/`);function ne(e){let t=[];for(let n of e.matchAll(U)){let e=decodeURIComponent(n[1]);t.includes(e)||t.push(e)}return t}function K(e,t,n){let r=e.replace(/\s+$/,``),i=RegExp(`^\\[[^\\]\\n]*\\]\\(/[^)\\n]*\\.md\\)$`);return`${r}${!r||r.endsWith(`---`)?`
|
|
2
|
-
|
|
3
|
-
`:i.test(r.split(`
|
|
4
|
-
`).at(-1))?`
|
|
5
|
-
`:`
|
|
6
|
-
|
|
7
|
-
`}[${n.replace(/[[\]]/g,``)}](/${G(t)}.md)\n`}function re(e,t){let n=`\\[[^\\]\\n]*\\]\\(/${W(G(t))}\\.md\\)`,r=e.split(`
|
|
8
|
-
`),i=r.filter(e=>!RegExp(`^${n}$`).test(e.trim()));return i.length===r.length||ne(i.join(`
|
|
9
|
-
`)).includes(t)?null:i.join(`
|
|
10
|
-
`).replace(/\n{3,}/g,`
|
|
11
|
-
|
|
12
|
-
`).replace(/\s+$/,``)+`
|
|
13
|
-
`}function ie(e){try{let[t]=R(e);return t?.type===`Exercise`?I(t):null}catch{return null}}function ae(e,t){let n=ie(e)??[];return L(e,{tests:n.includes(t)?n.filter(e=>e!==t):[...n,t]},null)}function oe(e){return(/^title:[ \t]*(.*)$/m.exec(e.split(/^---\s*$/m)[1]??``)?.[1]??``).trim().replace(/^(["'])(.*)\1$/,`$2`)}var se=e=>e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`,ce=`isorite.atlas.drafts`,le=()=>{try{return JSON.parse(localStorage.getItem(ce)??`{}`)}catch{return{}}},ue=e=>le()[e]??null;function de(e,t){try{let n=le();t?n[e]=t:delete n[e],localStorage.setItem(ce,JSON.stringify(n))}catch{}}var fe=w(`<li class="svelte-1a0w8ls"><b class="num svelte-1a0w8ls"> </b><span class="t svelte-1a0w8ls"> </span><span class="faint"> </span></li>`),pe=w(`<span class="label over svelte-1a0w8ls"> </span>`),me=w(`<div class="dock svelte-1a0w8ls" role="region"><i class="dia open" aria-hidden="true"></i> <div class="what svelte-1a0w8ls"><span class="name svelte-1a0w8ls"> </span> <span class="label" role="status"> </span></div> <ol class="grow svelte-1a0w8ls"></ol> <!> <a class="btn primary tall svelte-1a0w8ls">back to it</a></div>`);function he(t,c){S(c,!0);let l=x(c,`notice`,3,``),u=x(c,`tests`,3,!1),d=e(()=>c.picked.reduce((e,t)=>e+t.tokens,0)),f=e(()=>!u()&&a(d)>c.budget),m=e(()=>[u()?`${c.picked.length} to test`:`${c.picked.length} linked`,c.picked.length?`${se(a(d))} tokens`:``,a(f)?`over ${se(c.budget)}`:``,l()].filter(Boolean).join(` · `));var h=me(),g=s(o(h),2),_=o(g),y=E(_,!0),b=s(_,2),C=E(b,!0);v(g);var w=s(g,2);A(w,23,()=>c.picked,e=>e.id,(e,t,r)=>{var c=fe(),l=o(c),u=E(l,!0),d=s(l),f=E(d,!0),m=s(d),h=E(m,!0);v(c),n(e=>{p(u,a(r)+1),p(f,a(t).title),p(h,e)},[()=>se(a(t).tokens)]),i(e,c)}),v(w);var T=s(w,2),O=e=>{var t=pe(),r=E(t);n(e=>p(r,`over ${e??``}: the last are cut short, or left for Iso to read itself`),[()=>se(c.budget)]),i(e,t)};r(T,e=>{a(f)&&e(O)});var j=s(T,2);v(h),n(()=>{k(h,`aria-label`,u()?`Notes the exercise tests`:`Notes linked to the note for Iso`),p(y,c.title||`a new note`),p(C,a(m)),k(j,`href`,c.href)}),i(t,h),D()}var ge=.55,_e=.04;function ve(e){let t=e.items.map(t=>{let n=[];for(let r=t.parent;r>=0;r=e.items[r].parent)n.push(r);return n}),n=e.items.map(()=>0);e.items.forEach((e,r)=>{if(e.kind===`note`)for(let e of t[r])n[e]++});let r=(t,n)=>{for(;e.items[t].parent!==n;)t=e.items[t].parent;return t},i=new Map(e.trunks.map((e,t)=>[`${e.a}|${e.b}`,t])),a=e.links.some(t=>t.s>=3&&!e.items[t.a].ref.startsWith(`@study`))?3:2,o=e.trunks.map(()=>!1);for(let t of e.links){let e=t.s>=a?i.get(`${r(t.a,t.level)}|${r(t.b,t.level)}`):void 0;e!==void 0&&(o[e]=!0)}return{up:t,noteCount:n,strong:o,at:new Map(e.items.flatMap((e,t)=>e.kind===`note`?[[e.ref,t]]:[])),trunkAt:i,feederAt:new Map(e.feeders.map((e,t)=>[`${e.trunk}|${e.folder}|${e.item}`,t])),ownPath:new Map(e.trunks.flatMap(e=>e.pts?[[`${e.a}|${e.b}`,e.pts]]:[]))}}var q=new WeakMap;function ye(e){let t=q.get(e);return t||q.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function be(e,t){let n=[];return e.items.forEach((r,i)=>{let a=r.parent<0||n[r.parent]===`o`;n[i]=a?r.kind===`folder`&&e.cell*t>=1.2&&Math.max(r.w,r.h)*e.cell*t>=53?`o`:`s`:`-`}),n.join(``)}function xe(e,t,n){let r=e.up[n];for(let e=r.length-1;e>=0;e--)if(t[r[e]]!==`o`)return r[e];return n}function Se(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=t=>e.items[t].ref.startsWith(`@study`),o=[];return e.trunks.forEach((t,r)=>{let s=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&o.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!s,study:a(t.a)||a(t.b),strong:n[r]??!0})}),e.feeders.forEach((s,c)=>{let l=e.trunks[s.trunk];(r||!s.leaf)&&!l.implied&&t[s.folder]===`o`&&i(s.item)&&i(l.a)&&i(l.b)&&o.push({key:`f`+c,pts:s.pts,lane:s.lane,count:s.count,feed:!0,study:a(l.a)||a(l.b),strong:n[s.trunk]??!0})}),o}var J=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function Ce(e,t,n,r){let i=new Set(t.up[r]),a=t.up[n].find(e=>i.has(e))??-1,o=e=>{let n=[e];for(let r of t.up[e]){if(r===a)break;n.push(r)}return n},s=o(n),c=o(r),l=t.trunkAt.get(`${s.at(-1)}|${c.at(-1)}`);if(l===void 0||!e.trunks[l].pts||s.length<2&&c.length<2)return null;let u=(t,n=0)=>{let r=e.feeders[t];if(r.via<0||n>40)return r.pts;let i=u(r.via,n+1),a=i.findIndex(e=>J(e,r.pts.at(-1)));return a<0?r.pts:[...r.pts,...i.slice(a+1)]},d=e=>{let n=[];for(let r=0;r+1<e.length;r++){let i=t.feederAt.get(`${l}|${e[r+1]}|${e[r]}`);if(i===void 0)return null;n=n.concat(u(i))}return n},f=d(c),p=d(s);if(!f||!p)return null;let m=[...f,...e.trunks[l].pts,...p.reverse()];return m.filter((e,t)=>!t||!J(e,m[t-1]))}var we=[`uses`,`builds`,`requires`,`iso`];function Te(e,t=!1){let n=e=>`${Math.round(e[0]*100)},${Math.round(e[1]*100)}`,r=new Map,i=new Map;for(let t of e){let e=we.indexOf(t.kind??`requires`),a=new Set;for(let o=1;o<t.pts.length;o++){let[s,c]=t.pts[o-1],[l,u]=t.pts[o],d=Math.max(1,Math.round(Math.max(Math.abs(l-s),Math.abs(u-c))*2));for(let o=0;o<d;o++){let f=[s+(l-s)*o/d,c+(u-c)*o/d],p=[s+(l-s)*(o+1)/d,c+(u-c)*(o+1)/d],m=n(f),h=n(p),g=m<h?m+`|`+h:h+`|`+m;if(m===h||a.has(g))continue;a.add(g);let _=r.get(g);if(!_){_=m<h?{a:m,b:h,A:f,B:p,count:0,strong:!1,study:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]}:{a:h,b:m,A:p,B:f,count:0,strong:!1,study:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]},r.set(g,_);for(let e of[_.a,_.b]){let t=i.get(e);t?t.push(g):i.set(e,[g])}}_.count+=t.count??1,_.strong||=t.strong??!0,_.study||=t.study??!1,_.trunk||=t.feed===!1,_.kind=Math.max(_.kind,e),(m===_.a?_.fwd:_.back)[e]+=1}}}let a=e=>t?`${e.kind}|${e.count}`:`${e.count}|${e.strong}|${e.study}|${e.trunk}`,o=(e,n)=>{let r=e.fwd[e.kind],i=e.back[e.kind];return!t||r&&i?0:(r?1:-1)*(n===e.a?1:-1)},s=(e,t)=>t===e.a?e.b:e.a,c=(e,t)=>t===e.a?e.A:e.B,l=(e,t,n)=>{let r=s(e,t);return a(e)===a(n)&&o(e,t)===o(n,r)},u=new Set,d=[],f=new Set,p=(e,t)=>{let p=e,m=t,h=r.get(m),g=[c(h,p)],_=o(h,p);for(;;){u.add(m);let e=s(h,p);g.push(c(h,e));let t=i.get(e).filter(e=>e!==m);if(t.length!==1||u.has(t[0])||!l(h,p,r.get(t[0])))break;p=e,m=t[0],h=r.get(m)}_<0&&g.reverse();let v=`${n(g[0])}>${n(g.at(-1))}:${a(h)}`;for(let e=2;f.has(v);e++)v=`${v.split(`#`)[0]}#${e}`;f.add(v),d.push({key:v,pts:g,count:h.count,strong:h.strong,study:h.study,trunk:h.trunk,kind:we[h.kind],flow:+!!_})};for(let[e,t]of i)if(t.length!==2||!l(r.get(t[0]),s(r.get(t[0]),e),r.get(t[1])))for(let n of t)u.has(n)||p(e,n);for(let[e,t]of r)u.has(e)||p(t.a,e);return d}function Ee(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=xe(t,n,s),u=xe(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=r===s&&u===c?t.ownPath.get(`${s}|${c}`)??Ce(e,t,s,c):t.ownPath.get(`${r}|${u}`)??null;f?i.push({key:d,kind:l,pts:f}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function De(e,t){if(!t)return e;let n=(e,t)=>{let n=t[0]-e[0],r=t[1]-e[1],i=Math.hypot(n,r)||1;return n/=i,r/=i,(n<-1e-6||Math.abs(n)<1e-6&&r<0)&&(n=-n,r=-r),[-r,n]};return e.map((r,i)=>{let a=i>0?n(e[i-1],r):n(r,e[i+1]),o=i<e.length-1?n(r,e[i+1]):a,s=1+a[0]*o[0]+a[1]*o[1];return s<.2?[r[0]+a[0]*t,r[1]+a[1]*t]:[r[0]+(a[0]+o[0])/s*t,r[1]+(a[1]+o[1])/s*t]})}function Oe(e,t=0,n=7){let r=De(e.map(([e,t])=>[e*n,t*n]),t*2.2),i=Math.min(n,10.5)*.9,a=r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>.001),o=e=>String(Math.round(e*10)/10),s=`M${o(a[0][0])} ${o(a[0][1])}`;for(let e=1;e<a.length-1;e++){let t=a[e-1],n=a[e],r=a[e+1],c=Math.hypot(n[0]-t[0],n[1]-t[1])||1,l=Math.hypot(r[0]-n[0],r[1]-n[1])||1;if(!(Math.abs((n[0]-t[0])*(r[0]-n[0])+(n[1]-t[1])*(r[1]-n[1]))<.001*c*l)){s+=`L${o(n[0])} ${o(n[1])}`;continue}let u=Math.min(i,c/2,l/2);s+=`L${o(n[0]-(n[0]-t[0])/c*u)} ${o(n[1]-(n[1]-t[1])/c*u)}L${o(n[0]+(r[0]-n[0])/l*u)} ${o(n[1]+(r[1]-n[1])/l*u)}`}let c=a.at(-1);return s+`L${o(c[0])} ${o(c[1])}`}function ke(e,t,n){let r=n?t[0]-e[0]:t[1]-e[1],i=n?t[1]-e[1]:t[0]-e[0],a=Math.abs(r),o=Math.abs(i),s=Math.sign(r),c=Math.sign(i),l=(t,r)=>n?[e[0]+t,e[1]+r]:[e[0]+r,e[1]+t];if(a>=o){let e=(a-o)/2;return[l(0,0),l(s*e,0),l(s*(e+o),c*o),l(r,i)]}let u=a/2;return[l(0,0),l(s*u,c*u),l(s*u,c*(o-u)),l(r,i)]}function Ae(e,t,n,r=3,i=7){let a=Math.max(_e,Math.min(r,.96*Math.min(t/((e.w+4)*i),n/((e.h+4)*i))));return{k:a,x:t/2-a*(e.gx+e.w/2)*i,y:n/2-a*(e.gy+e.h/2)*i}}function je(e,t,n,r){let i=Math.max(_e,Math.min(3,e.k*t)),a=i/e.k;return{k:i,x:n-(n-e.x)*a,y:r-(r-e.y)*a}}var Me=2;function Ne(e){let{W:t,H:n,items:r}=e,i=new Int8Array(t*n),a=new Uint8Array(t*n),o=new Int32Array(t*n).fill(-1),s=new Int32Array(t*n).fill(-1),c=r.map((e,t)=>t).filter(e=>r[e].kind===`folder`).sort((e,t)=>r[e].depth-r[t].depth||e-t);for(let e of c){let n=r[e];for(let r=n.gy;r<n.gy+n.h;r++)for(let a=n.gx;a<n.gx+n.w;a++)i[r*t+a]=n.depth,o[r*t+a]=e}r.forEach((e,n)=>{if(e.kind===`note`)for(let r=e.gy;r<e.gy+e.h;r++)for(let i=e.gx;i<e.gx+e.w;i++)a[r*t+i]=1,s[r*t+i]=n});let l=new Uint8Array(t*n),u=e.keep??Me,d=(e,r,i,a)=>{for(let o=Math.max(0,r);o<Math.min(n,a);o++)for(let n=Math.max(0,e);n<Math.min(t,i);n++)l[o*t+n]=1};for(let e of r)e.kind===`note`?d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u):(d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+u),d(e.gx-u,e.gy+e.h-u,e.gx+e.w+u,e.gy+e.h+u),d(e.gx-u,e.gy-u,e.gx+u,e.gy+e.h+u),d(e.gx+e.w-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u));return{W:t,H:n,elev:i,blocked:a,owner:o,noteAt:s,close:l}}function Pe(e,t){let n=e[t].kind===`folder`?[t]:[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n}var Fe={bend:4,flow:1,area:.01,aspect:1,shape:1.4,effort:1e3,seed:0,cross:20};function Y(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f}={...Fe,...i},p=e.length,m=e.map(e=>e[0]),h=e.map(e=>e[1]);if(!p)return{x:[],y:[],w:0,h:0};let g=Array.from({length:p},(e,t)=>Array.from({length:p},(e,r)=>n(t,r))),_=new Float64Array(p),v=new Float64Array(p),y=[...Array(p).keys()],b=[...y],x=new Int32Array(p),S=new Int32Array(p),C=0,w=0,T=()=>{y.forEach((e,t)=>{x[e]=t}),b.forEach((e,t)=>{S[e]=t}),C=0,w=0;for(let e=0;e<p;e++){let t=y[e],n=0,r=0;for(let i=0;i<e;i++){let e=y[i];S[e]<S[t]?n=Math.max(n,_[e]+m[e]+g[e][t]):r=Math.max(r,v[e]+h[e]+g[e][t])}_[t]=n,v[t]=r,C=Math.max(C,n+m[t]),w=Math.max(w,r+h[t])}},E=e=>[_[e]+m[e]/2,v[e]+h[e]/2],D=()=>{T();let e=0;for(let[n,i,s]of t){let t=Math.max(0,_[i]-_[n]-m[n],_[n]-_[i]-m[i]),c=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?_[n]+m[n]/2-(_[i]+m[i]/2):v[i]+h[i]/2-(v[n]+h[n]/2);l>0&&(e+=o*s*l)}if(f)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let[i,a,o]=t[n],[s,c,l]=t[r];i!==s&&i!==c&&a!==s&&a!==c&&Le(E(i),E(a),E(s),E(c))&&(e+=f*Math.min(o,l))}let n=Math.log(C/w/l);return e+s*C*w*(1+c*n*n)},O=Ie(p,t);if(y.sort((e,t)=>O[e]-O[t]),b.splice(0,p,...y),r===`up`&&y.reverse(),i.pair)return y.splice(0,p,...i.pair[0]),b.splice(0,p,...i.pair[1]),T(),{x:[..._],y:[...v],w:C,h:w,pair:i.pair};let k=D(),A=k,j=[...y],M=[...b];if(p<2)return T(),{x:[..._],y:[...v],w:C,h:w,pair:[[...y],[...b]]};let N=ze(Re(e,t)^d),P=u*p,F=Math.max(1,k*.05),I=.001**(1/P);for(let e=0;e<P;e++,F*=I){let e=Math.floor(N()*p),t=(e+1+Math.floor(N()*(p-1)))%p,n=N(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(y);else if(n<.8)r(b);else{let n=y.indexOf(b[e]),i=y.indexOf(b[t]);r(b);let a=y[n];y[n]=y[i],y[i]=a}let i=D();if(i<=k||N()<Math.exp((k-i)/F))k=i,k<A&&(A=k,j=[...y],M=[...b]);else if(n<.4)r(y);else if(n<.8)r(b);else{let n=y.indexOf(b[e]),i=y.indexOf(b[t]);r(b);let a=y[n];y[n]=y[i],y[i]=a}}return y.splice(0,p,...j),b.splice(0,p,...M),T(),{x:[..._],y:[...v],w:C,h:w,cost:A,pair:[j,M]}}function Ie(e,t){let n=Array(e).fill(0);for(let[e,r,i]of t)n[e]+=i,n[r]-=i;let r=[...Array(e).keys()].sort((e,t)=>n[t]-n[e]||e-t),i=Array(e);return r.forEach((e,t)=>{i[e]=t}),i}function Le(e,t,n,r){let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0}function Re(e,t){let n=2166136261;for(let r of[...e.flat(),...t.flat()])n^=r|0,n=Math.imul(n,16777619);return n>>>0}function ze(e){return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var Be={cell:7,note:[18,5],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},Ve={fine:Be,coarse:{cell:14,note:[9,3],gap:3,gapFolders:6,channel:3,channelFolders:6,pad:3,head:1,margin:6,minFolder:6,slant:4,keep:1},coarser:{cell:18,note:[7,2],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};Be.pad;var He=1.4,X=8,Ue=12,We=Be.note,Ge=0,Ke=0,qe=0,Je=0,Z=0,Ye=0,Xe=0,Ze=0,Qe=0,Q=2,$e=0,et=0;function tt(e){({note:We,gap:Ge,gapFolders:Ke,channel:qe,channelFolders:Je,head:Z,margin:Ye,minFolder:Xe,slant:Ze,pad:Qe,keep:Q}=e),$e=We[0]+Ge,et=3*$e}function nt(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null}={}){let o=Ve[n]??Be;tt(o);let s=e=>e.kind===`dir`,c=new Map,l=new Map,u=[e.root];for(let e=0;e<u.length;e++)for(let t of u[e].children||[])c.set(t,u[e]),s(t)?u.push(t):l.set(t.ref,t);let d=e=>{let t=[];for(let n=e;n;n=c.get(n))t.push(n);return t.reverse()},f=new Map(u.map(e=>[e,new Map])),p=new Map;for(let e of u){p.set(e,p.size);for(let t of e.children||[])s(t)||p.set(t,p.size)}let m=new Map(l);if(e.code)for(let t of u)t!==e.root&&!m.has(t.ref)&&m.set(t.ref,t);for(let[t,n,r]of e.edges){if(r<2)continue;let e=m.get(t),i=m.get(n);if(!e||!i||e===i)continue;let a=d(e),o=d(i),s=0;for(;a[s+1]&&a[s+1]===o[s+1];)s++;if(!a[s+1]||!o[s+1])continue;let c=f.get(a[s]),l=o[s+1],u=a[s+1],h=p.get(l)+`|`+p.get(u),g=c.get(h)||{p:l,q:u,weight:0,count:0};g.weight+=r,g.count++,c.set(h,g)}let h=new Map,g=new Map,_=new Map,v=e=>e===`up`?`right`:`up`,y=(t,n)=>{let r=t.children||[];for(let e of r)s(e)?y(e,v(n)):h.set(e,{w:We[0],h:We[1]});let i=r.length?b(t,r,n):{w:0,h:0};h.set(t,t===e.root?i:r.length?{w:Math.max(Xe,i.w+2*Qe),h:i.h+Qe+Z+Qe}:{w:Xe,h:Z+2*Qe})};function b(e,t,n){if(r&&t.some(s))return x(e,t,n);let i=new Map(t.map(e=>[e,e])),a=e=>{for(;i.get(e)!==e;)e=i.get(e);return e};for(let t of f.get(e).values()){let e=a(t.p),n=a(t.q);e!==n&&i.set(n,e)}let o=new Map,c=new Set([...f.get(e).values()].flatMap(e=>[e.p,e.q]));for(let e of t){let t=c.has(e)?a(e):null;o.set(t,[...o.get(t)||[],e])}if(o.size<2){let r=S(e,t,n);return _.set(e,r.out),{w:r.w,h:r.h}}let l=[...o].map(([t,r],i)=>({list:r,loose:t===null,k:i,...S(e,r,n)}));l.sort((e,t)=>e.loose-t.loose||t.w*t.h-e.w*e.h||e.k-t.k);let u=t.some(s)?Ke:Ge,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),p=Math.max(Math.ceil(Math.sqrt(d*He)),...l.map(e=>e.w)),m=0,g=0,v=0,y=0,b=[];for(let e of l){m&&m+e.w>p&&(m=0,g+=v+u,v=0);for(let t of e.list){let e=h.get(t);e.x+=m,e.y+=g}for(let t of e.out)b.push({...t,pts:t.pts&&t.pts.map(([e,t])=>[e+m,t+g])});y=Math.max(y,m+e.w),v=Math.max(v,e.h),m+=e.w+u}return _.set(e,b),{w:y,h:g+v}}function x(t,n,r){let o=new Map(n.map((e,t)=>[e,t])),c=[...f.get(t).values()].filter(e=>o.has(e.p)&&o.has(e.q)),l=t===e.root?``:t.ref,u=a?.get(l),d=(e,t)=>u?.wider.get([n[e].ref,n[t].ref].sort().join(`|`))??0,p=(e,t)=>(s(n[e])||s(n[t])?Ke:Ge)+d(e,t),m=n.map(e=>[h.get(e).w,h.get(e).h]),v=t===e.root&&r===`up`?1/Fe.shape:Fe.shape,y=Y(m,c.map(e=>[o.get(e.p),o.get(e.q),e.count]),p,r,{shape:v,...i,pair:u?.pair});g.set(l,y.pair),n.forEach((e,t)=>Object.assign(h.get(e),{x:y.x[t],y:y.y[t]}));let b=e=>r===`right`?y.x[e]+m[e][0]/2:-(y.y[e]+m[e][1]/2),x=new Map;for(let e of c)x.set(e.p,[...x.get(e.p)||[],e.q]);let S=(e,t)=>{let n=new Set,r=(x.get(e)||[]).filter(e=>e!==t);for(;r.length;){let e=r.pop();if(e===t)return!0;n.has(e)||(n.add(e),r.push(...x.get(e)||[]))}return!1};return _.set(t,c.map(e=>({p:e.p,q:e.q,count:e.count,back:b(o.get(e.p))>b(o.get(e.q)),implied:!s(e.p)&&!s(e.q)&&S(e.p,e.q),pts:null}))),{w:y.w,h:y.h}}function S(e,t,n){let r=t.length,i=new Map(t.map((e,t)=>[e,t])),a=n===`up`,o=t.some(s)?Ke:Ge,c=t.map(e=>a?h.get(e).h:h.get(e).w),l=t.map(e=>a?h.get(e).w:h.get(e).h),u=[...f.get(e).values()].filter(e=>i.has(e.p)&&i.has(e.q)).map(e=>({...e,p:i.get(e.p),q:i.get(e.q)})),d=it(r,u.map(e=>[e.p,e.q,e.weight]));for(let e of u)e.back=d[e.p]>d[e.q],e.u=e.back?e.q:e.p,e.v=e.back?e.p:e.q;let p=u.filter(e=>!e.back),m=Array(r).fill(0),g=t.map(()=>[]),_=t.map(()=>[]);for(let e of u)g[e.v].push(e.u),_[e.u].push(e.v);let v=t.map(()=>[]);for(let e of p)v[e.p].push(e.q);for(let e of[...Array(r).keys()].sort((e,t)=>d[e]-d[t]))for(let t of g[e])m[e]=Math.max(m[e],m[t]+1);for(let e=0;e<r;e++)!g[e].length&&_[e].length&&(m[e]=Math.min(..._[e].map(e=>m[e]))-1);let y=(e,t,n)=>{let r=new Set,i=v[e].filter(e=>e!==n);for(;i.length;){let e=i.pop();if(e===t)return!0;r.has(e)||(r.add(e),i.push(...v[e]))}return!1};for(let e of p)e.implied=!s(t[e.p])&&!s(t[e.q])&&y(e.p,e.q,e.q);let b=u.filter(e=>!e.implied).sort((e,t)=>t.weight-e.weight||e.p-t.p||e.q-t.q),x=t.reduce((e,t,n)=>e+(l[n]+o)*(c[n]+qe),0),S=Math.max(Math.ceil(Math.sqrt(a?x*He:x/He)),...l),C=[],w=Array(r),T=Array(r).fill(!1);for(let e of u)T[e.p]=!0,T[e.q]=!0;let E=T.some(Boolean)&&T.some(e=>!e),D=e=>{let t=e.reduce((e,t)=>e+l[t]+o,0),n=Math.max(1,Math.ceil((t-o)/S)),r=t/n,i=null,a=0;for(let t of e)(!i||a+l[t]>S||C.length-O<n&&a>=r)&&(i=[],C.push(i),a=0),w[t]=C.length-1,i.push(t),a+=l[t]+o},O=0,k=e=>g[e].length?+!!_[e].length:2,A=e=>e.length?e.reduce((e,t)=>e+d[t],0)/e.length:0;for(let e=0;e<=Math.max(...m);e++){let t=[...Array(r).keys()].filter(t=>m[t]===e&&(T[t]||!E));t.reduce((e,t)=>e+l[t]+o,0)-o>S&&t.sort((e,t)=>k(e)-k(t)||A(g[e])-A(g[t])||e-t),O=C.length,D(t)}E&&(O=C.length,D([...Array(r).keys()].filter(e=>!T[e])));let j=[...l],M=t.map(()=>[]),N=t.map(()=>[]),P=new Map,F=new Map,I=[],L=new Set,ee=new Map;for(let e of b){let t=[e.u];for(let n=w[e.u]+1;n<w[e.v];n++){let r=e.u+`|`+n;P.has(r)||(P.set(r,j.length),F.set(j.length,e.u),j.push(1),M.push([]),N.push([]),w.push(n),C[n].push(j.length-1)),t.push(P.get(r))}t.push(e.v);for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];L.has(n+`|`+r)||(L.add(n+`|`+r),I.push([n,r]),N[n].push(r),M[r].push(n))}ee.set(e,t)}let R=e=>e>=r,z=Array(j.length);C.forEach(e=>e.forEach((e,t)=>{z[e]=t}));let B=(e,t)=>{let n=new Map(C[e].map(e=>[e,t[e].length?t[e].reduce((e,t)=>e+z[t],0)/t[e].length:z[e]]));C[e].sort((e,t)=>n.get(e)-n.get(t)||z[e]-z[t]),C[e].forEach((e,t)=>{z[e]=t})},V=()=>{let e=0;for(let t=0;t<C.length-1;t++){let n=[];for(let e of C[t])for(let t of N[e])n.push([z[e],z[t]]);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++)(n[t][0]-n[r][0])*(n[t][1]-n[r][1])<0&&e++}return e},H=()=>{let e=(e,t,n)=>{let r=0;for(let i of n[e])for(let e of n[t])r+=z[i]>z[e]?1:z[i]<z[e]?-1:0;return r};for(let t=!0,n=0;t&&n<X;n++){t=!1;for(let n of C)for(let r=0;r+1<n.length;r++){let i=n[r],a=n[r+1];e(i,a,M)+e(i,a,N)>0&&(n[r]=a,n[r+1]=i,z[i]=r+1,z[a]=r,t=!0)}}},te=C.map(e=>[...e]),U=(e,t)=>(R(e)?d[F.get(e)]:d[e])-(R(t)?d[F.get(t)]:d[t])||e-t,W=null,G=1/0;for(let e of[e=>e,e=>[...e].sort(U),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(te[n])),t.forEach((e,t)=>{z[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&G>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)B(e,M);else for(let e=C.length-2;e>=0;e--)B(e,N);H();let r=V();r<t&&(t=r,n=0),r<G&&(G=r,W=C.map(e=>[...e]))}}W&&C.forEach((e,t)=>{e.splice(0,e.length,...W[t]),e.forEach((e,t)=>{z[e]=t})});let ne=(e,t)=>R(e)&&R(t)?1:R(e)||R(t)?Q:o,K=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=ne(e[r-1],n)),K[n]=t,t+=j[n]})}let re=e=>e.length?K[e[e.length-1]]+j[e[e.length-1]]:0,ie=Math.max(...C.map(re));for(let e of C){let t=(ie-re(e))/2;for(let n of e)K[n]+=t}let ae=e=>K[e]+j[e]/2;for(let e=0;e<Ue;e++)for(let t of e%2?[...C].reverse():C){if(!t.length)continue;let e=t.map(e=>{let t=[...M[e],...N[e]];return(t.length?t.reduce((e,t)=>e+ae(t),0)/t.length:ae(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+ne(t[i-1],r)):e[i]});for(let n=t.length-1;n>=0;n--)r[n]=n<t.length-1?Math.min(e[n],r[n+1]-j[t[n]]-ne(t[n],t[n+1])):e[n];t.forEach((e,t)=>{K[e]=(n[t]+r[t])/2})}let oe=e=>Math.floor((j[e]-1)/2),se=Array(j.length).fill(-1),ce=Array(j.length).fill(-1);for(let e of[!0,!1])for(let t=1;t<C.length;t++){let n=C[t].filter(e=>se[e]>=0).map(e=>[z[se[e]],z[e]]);for(let r of C[t]){if(se[r]>=0||!M[r].length)continue;let t=[...M[r]].sort((e,t)=>z[e]-z[t]),i=(t.length-1)/2,a=t.map((e,t)=>[e,Math.abs(t-i)]).filter(([t])=>ce[t]<0&&(!e||R(t)&&R(r))&&Math.abs(K[t]+oe(t)-K[r]-oe(r))<=(e?et:$e)).sort((e,t)=>e[1]-t[1]||z[e[0]]-z[t[0]]);for(let[e]of a)if(!n.some(([t,n])=>t<z[e]!=n<z[r])){se[r]=e,ce[e]=r,n.push([z[e],z[r]]);break}}}let le=Array(j.length).fill(-1),ue=0;for(let e=0;e<j.length;e++)if(se[e]<0){for(let t=e;t>=0;t=ce[t])le[t]=ue;ue++}let de=Array.from({length:ue},()=>[]);le.forEach((e,t)=>de[e].push(t));let fe=(e,t)=>j[e]-oe(e)+ne(e,t)+oe(t),pe=Array(j.length).fill(-1),me=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(pe[t]=e[n-1],me[e[n-1]]=t)});let he=Array(ue).fill(0),ge=!1;for(let e=0;e<=ue&&!ge;e++){ge=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=he[le[e[t-1]]]+fe(e[t-1],e[t]);he[le[e[t]]]<n&&(he[le[e[t]]]=n,ge=!1)}}if(ge){let e=de.map(e=>Math.round(e.reduce((e,t)=>e+K[t]+oe(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-he[t])),n=[...Array(ue).keys()].sort((t,n)=>e[n]-e[t]||t-n);for(let r=0;r<24;r++){let i=!1;for(let a of r%2?[...n].reverse():n){let n=-1/0,r=1/0;for(let e of de[a])pe[e]>=0&&(n=Math.max(n,he[le[pe[e]]]+fe(pe[e],e))),me[e]>=0&&(r=Math.min(r,he[le[me[e]]]-fe(e,me[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==he[a]&&(he[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)K[e]=he[le[e]]-oe(e)}else for(let e of C)e.forEach((t,n)=>{K[t]=n?Math.max(Math.round(K[t]),K[e[n-1]]+j[e[n-1]]+ne(e[n-1],t)):Math.round(K[t])});let _e=Math.min(...K);for(let e=0;e<K.length;e++)K[e]-=_e;let ve=Math.max(...K.map((e,t)=>e+j[t])),q=e=>K[e]+Math.floor((j[e]-1)/2)+.5,ye=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>q(e)-q(t)),n=K[e]+.5,r=K[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>ye.set(r+`|`+e,n+Math.min(j[e]-1,Math.floor(i*j[e]/t.length))));continue}let i=t.map(e=>Math.max(n,Math.min(r,q(e))));for(let e=1;e<i.length;e++)i[e]=Math.max(i[e],i[e-1]+1);for(let e=i.length-1;e>=0;e--)i[e]=Math.min(i[e],e===i.length-1?r:i[e+1]-1);t.forEach((t,n)=>ye.set(t+`|`+e,i[n]))}let be=(e,t)=>{let n=ye.get(e+`|`+t);return n>=K[e]+.5&&n<=K[e]+j[e]-.5},xe=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!be(e,t)).map(t=>ye.get(e+`|`+t)).sort((e,t)=>e-t);xe[e]=t.length?Math.max(K[e]+.5,Math.min(K[e]+j[e]-.5,t[t.length-1>>1])):q(e)}let Se=(e,t)=>be(e,t)?ye.get(e+`|`+t):xe[e],J=(e,t)=>{let n=Se(e,t),r=ye.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},Ce=new Set,we=C.map(()=>0);for(let[e,t]of I){if(be(e,t))continue;let[n,r]=J(e,t),i=ye.get(e+`|`+t)>xe[e];r-n>Ze||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=J(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(Ce.add(e+`|`+t),we[w[e]]=Math.max(we[w[e]],r-n))}let Te=new Map;for(let[e,t]of I){if(be(e,t)||Ce.has(e+`|`+t))continue;let n=ye.get(e+`|`+t),r=Te.get(e)||{u:e,lo:xe[e],hi:xe[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),Te.set(e,r)}let Ee=C.map(()=>0);C.forEach((e,t)=>{let n=[...Te.values()].filter(e=>w[e.u]===t&&e.hi>e.lo).sort((e,t)=>e.lo-t.lo||e.hi-t.hi||e.u-t.u),r=n.map(e=>N[e.u].filter(t=>!be(e.u,t)&&!Ce.has(e.u+`|`+t)).map(t=>ye.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(xe[n[t].u]>n[e].lo&&xe[n[t].u]<n[e].hi)+r[e].filter(e=>e>n[t].lo&&e<n[t].hi).length,o=[];for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){if(!i(e,t))continue;let n=a(t,e)-a(e,t);n>0?o.push([e,t,n]):n<0&&o.push([t,e,-n])}let s=it(n.length,o),c=[];for(let e of[...n.keys()].sort((e,t)=>s[e]-s[t]))n[e].track=Math.max(0,...c.filter(t=>i(e,t)).map(e=>n[e].track+1)),c.push(e);Ee[t]=Math.max(0,...n.map(e=>e.track+1))});let De=C.map(e=>Math.max(0,...e.filter(e=>!R(e)).map(e=>c[e]))),Oe=[],ke=[],Ae=[],je=0;C.forEach((e,n)=>{Oe[n]=je,je+=De[n];let r=Math.max(t.some(s)?Je:qe,Ee[n]+2*Q,we[n]+2);ke[n]=je+Math.max(Q,Math.floor((r-Ee[n])/2));let i=je;Ae[n]=e=>i+Math.floor((r-e)/2),n<C.length-1&&(je+=r)});let Me=je,Ne=e=>Oe[w[e]]+Math.floor((De[w[e]]-c[e])/2),Pe=(e,t)=>a?[t,Me-e]:[e,t];t.forEach((e,t)=>Object.assign(h.get(e),a?{x:K[t],y:Me-Ne(t)-c[t]}:{x:Ne(t),y:K[t]}));let Fe=[];for(let e of u){let n=ee.get(e),r=null;if(n){r=[Pe(Ne(e.u)+c[e.u],Se(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=ye.get(t+`|`+i);if(Ce.has(t+`|`+i)){let e=Math.abs(a-xe[t]),n=Ae[w[t]](e);r.push(Pe(n,xe[t]),Pe(n+e,a));continue}let o=ke[w[t]]+(Te.get(t)?.track||0)+.5;r.push(Pe(o,Se(t,i)),Pe(o,a))}r.push(Pe(Ne(e.v),ye.get(n[n.length-2]+`|`+e.v))),r=r.filter((e,t)=>!t||e[0]!==r[t-1][0]||e[1]!==r[t-1][1]),e.back&&r.reverse()}Fe.push({p:t[e.p],q:t[e.q],count:e.count,back:e.back,implied:!!e.implied,pts:r})}return a?{w:ve,h:Me,out:Fe}:{w:Me,h:ve,out:Fe}}y(e.root,t);let C=[],w=new Map,T=new Map([[e.root,[Ye,Ye]]]);for(let t of u){let[n,r]=T.get(t),i=t===e.root?-1:w.get(t),a=d(t).length;for(let e of t.children||[]){let t=h.get(e);w.set(e,C.length),C.push({id:e.id,ref:e.ref,kind:s(e)?`folder`:`note`,parent:i,depth:a,gx:n+t.x,gy:r+t.y,w:t.w,h:t.h}),s(e)&&T.set(e,[n+t.x+Qe,r+t.y+Z+Qe])}}let E=[],D=new Set;for(let e of u){let[t,n]=T.get(e);for(let r of _.get(e)||[]){let e=w.get(r.q),i=w.get(r.p);r.back&&D.add(e+`|`+i),E.push({a:e,b:i,count:r.count,back:r.back,implied:r.implied,pts:r.pts&&r.pts.map(([e,r])=>[e+t,r+n])})}}let O=rt(C,e.edges,new Map([...l].map(([e,t])=>[e,w.get(t)]))),k=(e,t)=>{for(;C[e].parent!==t;)e=C[e].parent;return e};for(let e of O)e.placed=e.s>=2&&!D.has(k(e.a,e.level)+`|`+k(e.b,e.level));let A=h.get(e.root);return{W:A.w+2*Ye,H:A.h+2*Ye,flow:t,cell:o.cell,keep:o.keep,margin:Ye,items:C,links:O,trunks:E,pairs:g}}function rt(e,t,n){let r=t=>{let n=[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n},i=[];for(let[e,a,o]of t){let t=n.get(e),s=n.get(a);if(t===void 0||s===void 0||t===s)continue;let c=new Set(r(s));i.push({a:t,b:s,s:o,level:r(t).find(e=>c.has(e))??-1,placed:!1})}return i}function it(e,t){let n=Array.from({length:e},()=>new Map),r=Array.from({length:e},()=>new Map);for(let[e,i,a]of t)e!==i&&(n[e].set(i,(n[e].get(i)||0)+a),r[i].set(e,(r[i].get(e)||0)+a));let i=e=>{let t=0;for(let n of e.values())t+=n;return t},a=new Set([...Array(e).keys()]),o=[],s=[],c=(e,t)=>{a.delete(e),t.push(e);for(let t of n[e].keys())r[t].delete(e);for(let t of r[e].keys())n[t].delete(e)};for(;a.size;){let e=!0;for(;e;){e=!1;for(let t of[...a])r[t].size?n[t].size||(c(t,s),e=!0):(c(t,o),e=!0)}if(!a.size)break;let t=-1,l=-1/0;for(let e of a){let a=i(n[e])-i(r[e]);a>l&&(l=a,t=e)}c(t,o)}let l=Array(e);return[...o,...s.reverse()].forEach((e,t)=>{l[e]=t}),l}var at={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},ot=[1,1,0,-1,-1,-1,0,1],st=[0,1,1,1,0,-1,-1,-1],ct=3,lt=8;function ut(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...at,...n},{W:d,H:f,elev:p,blocked:m,owner:h}=t,g=t.close||new Uint8Array(d*f),_=d*f,v=e.items,y=new Uint16Array(_),b=new Uint16Array(_),x=new Float32Array(_*9),S=new Int32Array(_*9),C=new Uint32Array(_*9),w=new Uint32Array(v.length),T=_*9,E=0,D=new Float32Array(4096),O=new Float32Array(4096),k=new Int32Array(4096),A=0,j=(e,t,n)=>{if(A===D.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};D=e(D,Float32Array),O=e(O,Float32Array),k=e(k,Int32Array)}let r=A++;for(;r>0;){let t=r-1>>1;if(D[t]<=e)break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},M=()=>{N=O[0],P=k[0];let e=D[--A],t=O[A],n=k[A],r=0;for(;;){let t=2*r+1;if(t>=A||(t+1<A&&D[t+1]<D[t]&&t++,D[t]>=e))break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},N=0,P=0,F=(e,t)=>{y[e]+=t;let n=e%d,r=e/d|0;for(let e=Math.max(0,r-1);e<=Math.min(f-1,r+1);e++)for(let i=Math.max(0,n-1);i<=Math.min(d-1,n+1);i++)(i!==n||e!==r)&&(b[e*d+i]+=t)},I=e=>{let t=[],n=(e,n,r,i)=>{e>=0&&n>=0&&e<d&&n<f&&!m[n*d+e]&&t.push([n*d+e,r,i])};for(let t=e.gx;t<e.gx+e.w;t++)n(t,e.gy-1,t+.5,e.gy),n(t,e.gy+e.h,t+.5,e.gy+e.h);for(let t=e.gy;t<e.gy+e.h;t++)n(e.gx-1,t,e.gx,t+.5),n(e.gx+e.w,t,e.gx+e.w,t+.5);return t};function L(e,t,n,f,_,D,O=null){E++,A=0;for(let t of Pe(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of Pe(v,O.folder))w[e]=E}else for(let e of Pe(v,t))w[e]=E;let k=v[e],L=O?null:v[t],ee=O?O.ends:new Map(I(L).map(e=>[e[0],e])),R,z,B,V;if(O?.toward!==void 0)R=z=O.toward%d,B=V=O.toward/d|0;else if(O){R=B=1/0,z=V=-1/0;for(let e of ee.keys()){let t=e%d,n=e/d|0;R=Math.min(R,t),z=Math.max(z,t),B=Math.min(B,n),V=Math.max(V,n)}}else R=L.gx-1,z=L.gx+L.w,B=L.gy-1,V=L.gy+L.h;let H=(e,t)=>{let n=Math.max(R-e,e-z,0),r=Math.max(B-t,t-V,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},te=new Map;for(let e of I(k)){let t=e[0],n=t*9+lt,r=Math.fround(1+s*Math.min(y[t],ct));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+H(t%d,t/d|0),r,n),te.set(t,e))}let U=!!O?.strict,W=-1;for(;A;){M();let e=P,t=N;if(e>=T){W=e-T;break}if(t!==x[e])continue;let u=e/9|0,v=e%9,k=ee.get(u);if(k){if(!k[3]){W=e;break}j(Math.fround(t+k[3]),Math.fround(t+k[3]),T+e)}let A=u%d,F=u/d|0;for(let T=0;T<8;T++){let k=A+ot[T],M=F+st[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||U&&h[N]!==O.folder)continue;if(ot[T]&&st[T]){let e=F*d+k,t=M*d+A;if(m[e]||m[t]||p[e]!==p[u]||p[t]!==p[u]||p[N]!==p[u])continue}let P=(ot[T]&&st[T]?1.414:1)*(1+s*Math.min(y[N],ct)+c*Math.min(b[N],ct))+r*Math.abs(p[N]-p[u]);if(v!==lt&&v!==T){let e=Math.min((T-v+8)%8,(v-T+8)%8);P+=e===1?i:a*(e>=3?2:1)}h[N]>=0&&w[h[N]]!==E&&(P+=o),g[N]&&(P+=l);let I=N*9+T,L=Math.fround(t+P);C[I]===E&&x[I]<=L||(C[I]=E,x[I]=L,S[I]=e,j(L+H(k,M),L,I))}}if(W<0)return null;let G=[];for(let e=W;e!==-1;e=S[e])G.push(e/9|0);G.reverse();for(let e of G)F(e,1);let ne=te.get(G[0]),K=ee.get(G[G.length-1]),re=[[ne[1],ne[2]]];for(let e of G)re.push([e%d+.5,(e/d|0)+.5]);return re.push([K[1],K[2]]),{cells:Int32Array.from(G),pts:re}}function ee(e,t){let n=v[e],r=v[t],i=Math.max(Math.abs(n.gx-r.gx),Math.abs(n.gy-r.gy)),a=Math.max(12,Math.ceil(i*.4)),o=Math.max(0,Math.min(n.gx,r.gx)-a),s=Math.max(0,Math.min(n.gy,r.gy)-a),c=Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+a),l=Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+a);return L(e,t,o,s,c,l)||(o||s||c<d-1||l<f-1?L(e,t,0,0,d-1,f-1):null)}function R(e,t){return v[e],v[t.folder],z(e,{...t,strict:!0})||z(e,t)}function z(e,t){let n=v[e],r=v[t.folder];return L(e,-1,Math.max(0,Math.min(n.gx,r.gx)-2),Math.max(0,Math.min(n.gy,r.gy)-2),Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+2),Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+2),t)}function B(e){let t=new Set;for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++){let n=Math.floor(r+(a-r)*e/s),c=Math.floor(i+(o-i)*e/s);n<0||c<0||n>=d||c>=f||m[c*d+n]||t.has(c*d+n)||(t.add(c*d+n),F(c*d+n,1))}}}return{route:ee,routeTo:R,occupy:B,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var dt=[0,1,-1,2,-2,3,-3];function ft(e,t){let n=new Map;e.forEach((e,r)=>{e.edges=new Set;for(let i=1;i<e.cells.length;i++){let a=e.cells[i-1],o=e.cells[i],s=a<o?a*t+o:o*t+a;e.edges.add(s),n.has(s)||n.set(s,[]),n.get(s).push(r)}}),e.forEach((t,r)=>{let i=new Set;for(let a of t.edges)for(let t of n.get(a))t<r&&i.add(e[t].lane);t.lane=dt.find(e=>!i.has(e))??0,delete t.edges})}var pt=(e,t,n,r)=>{let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0};function mt(e,t){let n=new Map;e.forEach((e,t)=>{for(let r of e.cells)n.has(r)||n.set(r,new Set),n.get(r).add(t)});let r=0,i=0;e.forEach((e,a)=>{for(let o of e.cells){r++;let e=!1,s=o%t;for(let r=-1;r<=1&&!e;r++)for(let i=-1;i<=1&&!e;i++){if(s+i<0||s+i>=t)continue;let c=n.get(o+r*t+i);if(c){for(let t of c)if(t!==a){e=!0;break}}}e||i++}});let a=e.map((e,t)=>{let n=[t*.618%1*.02-.01,t*.414%1*.02-.01],r=e.pts;return r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>1e-6).map(e=>[e[0]+n[0],e[1]+n[1]])}),o=0;for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n];if(r.a!==i.a&&r.a!==i.b&&r.b!==i.a&&r.b!==i.b)for(let e=1;e<a[t].length;e++)for(let r=1;r<a[n].length;r++)pt(a[t][e-1],a[t][e],a[n][r-1],a[n][r])&&o++}return{routes:e.length,crossings:o,length:r,beside:r?1-i/r:0}}function ht(e,t,n,r,i=t.length<=100?2:+(t.length<=300)){let a=t.map(({a:t,b:n})=>{let r=e.route(t,n);return r&&{a:t,b:n,...r}});for(let t=0;t<i;t++)a.forEach((t,n)=>{if(!t)return;e.release(t);let r=e.route(t.a,t.b);r?Object.assign(t,r):e.hold(t)});let o=a.filter(Boolean);ft(o,n*r);let s={...mt(o,n),lost:a.length-o.length};for(let t of o)e.release(t);return{routes:a.map(e=>e&&{pts:e.pts,lane:e.lane}),measures:s}}var gt=[1,1,0,-1,-1,-1,0,1],_t=[0,1,1,1,0,-1,-1,-1],vt=8,yt={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function bt(e,t=Ne(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...yt,...n},{items:u,trunks:d}=e,{W:f,H:p,blocked:m,owner:h}=t,g=f*p,_=Math.max(2,Math.round(28/(e.cell??7))),v=$(t,_),y=_,b=new Uint8Array(g),x=10/(e.cell??7),S=(e,t)=>e>=0&&t>=0&&e<f&&t<p,C=(e,t,n)=>S(e,t)&&!m[t*f+e]&&h[t*f+e]===n;function w(e,t,n){let[r,i]=e,[a,o]=t,s=n?a-r:o-i,c=n?o-i:a-r,l=Math.sign(s),u=Math.sign(c),d=Math.abs(s),f=Math.abs(c),p=[];if(d>=f){let e=Math.floor((d-f)/2);for(let t=0;t<e;t++)p.push([l,0]);for(let e=0;e<f;e++)p.push([l,u]);for(let t=0;t<d-f-e;t++)p.push([l,0])}else{let e=Math.floor(d/2);for(let t=0;t<e;t++)p.push([l,u]);for(let e=0;e<f-d;e++)p.push([0,u]);for(let t=0;t<d-e;t++)p.push([l,u])}let m=[[r,i]],h=r,g=i;for(let[e,t]of p)n?(h+=e,g+=t):(h+=t,g+=e),m.push([h,g]);return m}function T(e,t,n,r,i){let a=Math.max(e.gx-(t.gx+t.w),t.gx-(e.gx+e.w)),o=Math.max(e.gy-(t.gy+t.h),t.gy-(e.gy+e.h)),s=a>=o;if((s?a:o)<1)return null;let[c,l]=s?t.gx<e.gx?[3,2]:[2,3]:t.gy<e.gy?[1,0]:[0,1];if(i&&i.side!==c||r&&r.side!==l)return null;let u=kt(t)[c],d=kt(e)[l],p=s?Math.max(e.gy,t.gy):Math.max(e.gx,t.gx),m=s?Math.min(e.gy+e.h,t.gy+t.h):Math.min(e.gx+e.w,t.gx+t.w),h=e=>Math.floor(e.mid-.5+1e-9),g=e=>e>=p&&e<m,b=r||i?[[i?i.t:g(r.t)?r.t:h(u),r?r.t:g(i.t)?i.t:h(d),0]]:m-p>=1?At(p,m).map(e=>[e,e,Math.abs(e+.5-(p+m)/2)]):[[h(u),h(d),0]],S=null;for(let[r,i,a]of b){if(xt(t,c,r,x)||xt(e,l,i,x))continue;let o=w(s?[c===3?t.gx+t.w:t.gx-1,r]:[r,c===1?t.gy+t.h:t.gy-1],s?[l===2?e.gx-1:e.gx+e.w,i]:[i,l===0?e.gy-1:e.gy+e.h],s);if(!o.every(([e,t])=>C(e,t,n)))continue;let u=o.slice(_,o.length-_),d=u.length?Math.min(...u.map(([e,t])=>v[t*f+e])):_;d<y||(!S||d>S.least||d===S.least&&a<S.off)&&(S={least:d,off:a,tb:r,ta:i,way:o})}return S?[u.wall(S.tb),...S.way.map(([e,t])=>[e+.5,t+.5]),d.wall(S.ta)]:null}let E=new Float32Array(g+1),D=new Int32Array(g+1),O=new Uint8Array(g+1),k=new Uint32Array(g+1),A=0,j=[],M=(e,t)=>{j.push([e,t]);let n=j.length-1;for(;n>0;){let t=n-1>>1;if(j[t][0]<=e)break;[j[t],j[n]]=[j[n],j[t]],n=t}},N=()=>{let e=j[0],t=j.pop();if(j.length){j[0]=t;let e=0;for(;;){let t=2*e+1;if(t>=j.length||(t+1<j.length&&j[t+1][0]<j[t][0]&&t++,j[t][0]>=j[e][0]))break;[j[t],j[e]]=[j[e],j[t]],e=t}}return e},P=(e,t)=>{if(e===vt||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?r:i*(n>=3?2:1)};function F(e,t,n,r,i){A++,j.length=0;let l=g,u=new Map,d=(e,t,n)=>!e||e.side===t&&e.t===n;if(kt(e).forEach((t,i)=>t.cells.forEach(([a,o])=>{let s=t.dir===6||t.dir===2?a:o;C(a,o,n)&&d(r,i,s)&&!xt(e,i,s,x)&&u.set(o*f+a,[(t.dir+4)%8,c*Math.abs(s+.5-t.mid),t.wall(s)])})),!r)for(let t of St(e,x))C(...t.out,n)&&u.set(t.out[1]*f+t.out[0],[(t.dir+4)%8,c*Math.min(e.w,e.h)/2,t.pt]);if(!u.size)return null;let p=e.gx-1,m=e.gx+e.w,h=e.gy-1,y=e.gy+e.h,S=(e,t)=>{let n=Math.max(p-e,e-m,0),r=Math.max(h-t,t-y,0);return Math.max(n,r)+.414*Math.min(n,r)},w=new Map,T=(e,t,n,r)=>{k[e]===A&&E[e]<=t||(k[e]=A,E[e]=t,D[e]=-1,O[e]=n,w.set(e,r),M(t+S(e%f,e/f|0),e))};if(kt(t).forEach((e,r)=>e.cells.forEach(([a,o])=>{let s=e.dir===6||e.dir===2?a:o;C(a,o,n)&&d(i,r,s)&&!xt(t,r,s,x)&&T(o*f+a,c*Math.abs(s+.5-e.mid),e.dir,e.wall(s))})),!i)for(let e of St(t,x))C(...e.out,n)&&T(e.out[1]*f+e.out[0],c*Math.min(t.w,t.h)/2,e.dir,e.pt);for(;j.length;){let[e,t]=N();if(t===l)break;let r=E[t];if(e-S(t%f,t/f|0)>r+1e-4)continue;let i=u.get(t);if(i){let e=r+i[1]+P(O[t],i[0]);(k[l]!==A||e<E[l])&&(k[l]=A,E[l]=e,D[l]=t,M(e,l))}let c=t%f,d=t/f|0;for(let e=0;e<8;e++){let i=c+gt[e],l=d+_t[e];if(!C(i,l,n)||gt[e]&&_t[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(gt[e]&&_t[e]?Math.SQRT2*a:1)*(b[u]?1-s:1)+o*(_-v[u])+P(O[t],e);k[u]===A&&E[u]<=p||(k[u]=A,E[u]=p,D[u]=t,O[u]=e,M(p+S(i,l),u))}}if(k[l]!==A)return null;let F=[];for(let e=D[l];e!==-1;e=D[e])F.push(e);return F.reverse(),[w.get(F[0]),...F.map(e=>[e%f+.5,Math.floor(e/f)+.5]),u.get(F.at(-1))[2]]}let I=d.map((e,t)=>t).sort((e,t)=>d[t].count-d[e].count||e-t),L=d.map(e=>({a:e.a,b:e.b,count:e.count,back:e.back,implied:e.implied})),ee=e=>Tt(e,(e,t)=>{S(e,t)&&!m[t*f+e]&&(b[t*f+e]=1)}),R=(e,t,n)=>{let r=d[e],i=u[r.a],a=u[r.b];return T(i,a,i.parent,t,n)??F(i,a,i.parent,t,n)};for(let e of I){let t=R(e);t&&(L[e].pts=t,ee(t))}let z=l/(e.cell??7),B=new Map;L.forEach((e,t)=>{if(e.pts)for(let[n,r,i]of[[`b`,e.b,e.pts[0]],[`a`,e.a,e.pts.at(-1)]]){let a=u[r];if(a.kind!==`folder`||!Ct(a,i))continue;let o=wt(a,i),s=`${r}|${o}`;B.set(s,[...B.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let V=new Map;for(let[e,t]of B){let[n,r]=e.split(`|`).map(Number),i=u[n];kt(i)[r],r<2?i.gx:i.gy,t.sort((e,t)=>e.t-t.t);for(let e=0;e<t.length;){let n=e+1;for(;n<t.length&&t[n].t-t[n-1].t<=z;)n++;let a=t.slice(e,n);if(e=n,a.length<2||a.every(e=>e.t===a[0].t))continue;let o=new Map;for(let e of a)o.set(e.t,(o.get(e.t)||0)+e.count);let s=(a[0].t+a.at(-1).t)/2,c=[...o].filter(([e])=>!xt(i,r,e,x)).reduce((e,t)=>t[1]>e[1]||t[1]===e[1]&&Math.abs(t[0]-s)<Math.abs(e[0]-s)?t:e)[0];for(let e of a)e.t!==c&&V.set(e.k,{...V.get(e.k),[e.end]:{side:r,t:c}})}}if(V.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!V.has(t)&&ee(e.pts)});for(let e of I){let t=V.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!Ct(u[e],t))return;let n=wt(u[e],t);return{side:n,t:Math.floor(n<2?t[0]:t[1])}},i=R(e,t.a??r(n.a,n.pts.at(-1)),t.b??r(n.b,n.pts[0]));i&&(L[e].pts=i),ee(L[e].pts)}}return L}function xt(e,t,n,r){if(e.kind!==`folder`)return!1;let i=t<2?e.gx:e.gy,a=i+(t<2?e.w:e.h);return n+.5-i<r||a-(n+.5)<r}function St(e,t){return e.kind===`folder`?[[e.gx,e.gy,1,1,5],[e.gx+e.w,e.gy,-1,1,7],[e.gx+e.w,e.gy+e.h,-1,-1,1],[e.gx,e.gy+e.h,1,-1,3]].map(([e,n,r,i,a])=>({out:[Math.floor(e-r*.5),Math.floor(n-i*.5)],in:[Math.floor(e+r*.5),Math.floor(n+i*.5)],dir:a,pt:[e+r*t/2,n+i*t/2]})):[]}function Ct(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return(r(t,e.gx)||r(t,e.gx+e.w))&&n>=e.gy-1e-6&&n<=e.gy+e.h+1e-6||(r(n,e.gy)||r(n,e.gy+e.h))&&t>=e.gx-1e-6&&t<=e.gx+e.w+1e-6}function wt(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return r(n,e.gy)?0:r(n,e.gy+e.h)?1:r(t,e.gx)?2:3}function Tt(e,t){for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++)t(Math.floor(r+(a-r)*e/s),Math.floor(i+(o-i)*e/s))}}var Et={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function Dt(e,t,n=Ne(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...Et,...r},{items:p,links:m}=e,{W:h,H:g,blocked:_,owner:v}=n,y=h*g,b=Math.max(2,Math.round(28/(e.cell??7))),x=$(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&Tt(e.pts,(e,t)=>{e>=0&&t>=0&&e<h&&t<g&&(C[t*h+e]=1)});let w=(e,t)=>e>=0&&t>=0&&e<h&&t<g,T=(e,t)=>{for(;p[e].parent!==t;)e=p[e].parent;return e},E=(e,[t,n])=>{let r=(e,t)=>Math.abs(e-t)<1e-6;if(!Ct(e,[t,n])){let i=St(e,S).find(e=>r(e.pt[0],t)&&r(e.pt[1],n));if(i)return[...i.in,i.dir]}return r(t,e.gx)?[e.gx,Math.floor(n),4]:r(t,e.gx+e.w)?[e.gx+e.w-1,Math.floor(n),0]:r(n,e.gy)?[Math.floor(t),e.gy,6]:[Math.floor(t),e.gy+e.h-1,2]},D=(e,t)=>(gt[e]&&_t[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===vt||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?i:a*(n>=3?2:1)},k=new Float32Array(y*9+1),A=new Int32Array(y*9+1),j=new Uint32Array(y*9+1),M=y*9,N=0,P=new Float64Array(4096),F=new Float64Array(4096),I=new Int32Array(4096),L=0,ee=0,R=0,z=(e,t,n)=>{if(L===P.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};P=e(P,Float64Array),F=e(F,Float64Array),I=e(I,Int32Array)}let r=L++;for(;r>0;){let t=r-1>>1;if(P[t]<=e)break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n},B=()=>{P[0],ee=F[0],R=I[0];let e=P[--L],t=F[L],n=I[L],r=0;for(;;){let t=2*r+1;if(t>=L||(t+1<L&&P[t+1]<P[t]&&t++,P[t]>=e))break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n};function V(e,t,n,r,i){N++,L=0;let a=(e,t)=>w(e,t)&&!_[t*h+e]&&v[t*h+e]===n,o=r%h,d=r/h|0,f=(e,t)=>{let n=Math.abs(e-o),r=Math.abs(t-d);return i*(1-l)*(Math.max(n,r)+.414*Math.min(n,r))},p=new Map;if(e.kind===`folder`)for(let t of St(e,S)){let[n,r]=t.out;if(!a(n,r))continue;let i=r*h+n,o=i*9+t.dir,l=Math.fround(c*Math.min(e.w,e.h)/2+s*(b-x[i]));j[o]===N&&k[o]<=l||(j[o]=N,k[o]=l,A[o]=-1,p.set(i,t.pt),z(l+f(n,r),l,o))}for(kt(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||xt(e,n,t.dir===6||t.dir===2?r:i,S))return;let o=t.dir===6||t.dir===2?r:i,l=i*h+r,u=l*9+t.dir,d=Math.fround(c*Math.abs(o+.5-t.mid)+s*(b-x[l]));j[u]===N&&k[u]<=d||(j[u]=N,k[u]=d,A[u]=-1,p.set(l,t.wall(o)),z(d+f(r,i),d,u))}));L;){B();let e=R,n=ee;if(e===M)break;if(n!==k[e])continue;let r=e/9|0,i=e%9,o=r%h,s=r/h|0,c=t.get(r);if(c){let t=n+c.rest+O(i,c.dir);(j[M]!==N||t<k[M])&&(j[M]=N,k[M]=t,A[M]=e,z(t,t,M))}for(let t=0;t<8;t++){let r=o+gt[t],c=s+_t[t];if(!a(r,c)||gt[t]&&_t[t]&&(!a(r,s)||!a(o,c)))continue;let l=c*h+r,d=l*9+t,p=Math.fround(n+D(t,l)+(C[l]?u:0)+O(i,t));j[d]===N&&k[d]<=p||(j[d]=N,k[d]=p,A[d]=e,z(p+f(r,c),p,d))}}if(j[M]!==N)return null;let m=[];for(let e=A[M];e!==-1;e=A[e])m.push(e/9|0);return m.reverse(),{cells:m,pts:[p.get(m[0]),...m.map(e=>[e%h+.5,Math.floor(e/h)+.5]),t.get(m.at(-1)).pt]}}let H=[];t.forEach((e,t)=>{if(!e.pts)return;let n=p[e.a].parent,r=m.filter(t=>t.s>=2&&t.level===n&&T(t.a,n)===e.a&&T(t.b,n)===e.b);p[e.a].kind===`folder`&&H.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&H.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let te=[],U=e=>p[e].kind===`note`,W=new Map;for(let e=0;e<H.length;e++){let{folder:t,at:n,notes:r,trunk:i}=H[e],[a,c,u]=E(p[t],n);if(!w(a,c)||_[c*h+a])continue;let m=c*h+a,g={dir:u,rest:0,pt:n};W.has(m)||W.set(m,{ends:new Map([[m,g]]),endsAny:new Map([[m,g]]),owners:new Map([[m,-1]]),exits:new Map});let{ends:v,endsAny:y,owners:S,exits:C}=W.get(m),D=new Map;for(let e of r){let n=T(e,t);D.set(n,[...D.get(n)||[],e])}for(let[e,n]of[...D].sort((e,t)=>U(e[0])-U(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=U(e),a=C.get(e),c=r?y:v,u=a&&c.has(a.cell)?{cells:[a.cell],pts:[a.wall,c.get(a.cell).pt,c.get(a.cell).pt]}:V(p[e],c,t,m,r?f:d);if(!u)continue;a||C.set(e,{cell:u.cells[0],wall:u.pts[0]});let g=te.length,_=u.cells.at(-1);te.push({item:e,folder:t,trunk:i,count:n.length,pts:u.pts,cells:u.cells,leaf:r,via:S.get(_)??-1});let w=new Float32Array(u.cells.length);w[w.length-1]=y.get(_).rest;for(let e=u.cells.length-2;e>=0;e--){let t=u.cells[e],n=u.cells[e+1],r=t%h!==n%h&&Math.floor(t/h)!==Math.floor(n/h);w[e]=w[e+1]+(1-l)*((r?Math.SQRT2*o:1)+s*(b-x[n]))}for(let[e,t]of u.cells.entries()){if(y.has(t))continue;let n=u.cells[e+1],i={dir:n===void 0?y.get(_).dir:Ot(n%h-t%h,Math.floor(n/h)-Math.floor(t/h)),rest:w[e],pt:[t%h+.5,Math.floor(t/h)+.5]};y.set(t,i),S.set(t,g),r||v.set(t,i)}r||H.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return ft(te,y),te.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}var Ot=(e,t)=>gt.findIndex((n,r)=>n===Math.sign(e)&&_t[r]===Math.sign(t));function kt(e){return[{dir:6,cells:At(e.gx,e.gx+e.w).map(t=>[t,e.gy-1]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy]},{dir:2,cells:At(e.gx,e.gx+e.w).map(t=>[t,e.gy+e.h]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy+e.h]},{dir:4,cells:At(e.gy,e.gy+e.h).map(t=>[e.gx-1,t]),mid:e.gy+e.h/2,wall:t=>[e.gx,t+.5]},{dir:0,cells:At(e.gy,e.gy+e.h).map(t=>[e.gx+e.w,t]),mid:e.gy+e.h/2,wall:t=>[e.gx+e.w,t+.5]}]}function $({W:e,H:t,blocked:n,owner:r},i){let a=e*t,o=new Uint8Array(a).fill(i),s=new Int32Array(a),c=0,l=0;for(let i=0;i<a;i++){if(n[i]){o[i]=0;continue}let a=i%e,c=i/e|0;for(let u=0;u<8;u++){let d=a+gt[u],f=c+_t[u];if(d<0||f<0||d>=e||f>=t)continue;let p=f*e+d;if(n[p]||r[p]!==r[i]){o[i]=1,s[l++]=i;break}}}for(;c<l;){let a=s[c++],u=a%e,d=a/e|0;if(!(o[a]+1>=i))for(let i=0;i<8;i++){let c=u+gt[i],f=d+_t[i];if(c<0||f<0||c>=e||f>=t)continue;let p=f*e+c;o[p]>o[a]+1&&!n[p]&&r[p]===r[a]&&(o[p]=o[a]+1,s[l++]=p)}}return o}var At=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function jt(e,t){let n=10/(e.cell??7),r=e.items.filter(e=>e.kind===`folder`),i=(e,t)=>Math.abs(e-t)<1e-6,a=(e,t)=>{for(let a of r){let r=i(e[0],a.gx)||i(e[0],a.gx+a.w),o=i(e[1],a.gy)||i(e[1],a.gy+a.h);if(!(r&&e[1]>=a.gy-1e-6&&e[1]<=a.gy+a.h+1e-6)&&!(o&&e[0]>=a.gx-1e-6&&e[0]<=a.gx+a.w+1e-6))continue;let s=e[0]-a.gx<a.w/2?1:-1,c=e[1]-a.gy<a.h/2?1:-1,l=s>0?a.gx:a.gx+a.w,u=c>0?a.gy:a.gy+a.h;if(Math.abs(e[0]-l)+Math.abs(e[1]-u)>=n-1e-6)return null;let d=[l+s*n/2,u+c*n/2],f=t[0]>a.gx&&t[0]<a.gx+a.w&&t[1]>a.gy&&t[1]<a.gy+a.h?[s,c]:[-s,-c],p=t[0]-d[0],m=t[1]-d[1];if(Math.abs(Math.abs(p)-Math.abs(m))<1e-6&&p*f[0]>0)return[d];let h=[p/f[0],m/f[1]].filter(e=>e>1e-6).sort((e,t)=>e-t);return h.length?[d,[d[0]+f[0]*h[0],d[1]+f[1]*h[0]]]:null}return null};for(let e of t){if(!e.pts||e.pts.length<2)continue;let t=a(e.pts[0],e.pts[1]);t&&(e.pts=[...t,...e.pts.slice(1)]);let n=a(e.pts.at(-1),e.pts.at(-2));n&&(e.pts=[...e.pts.slice(0,-1),...n.reverse()])}return t}function Mt(e,t=!1){let n=e=>e.kind===`dir`?{kind:`dir`,id:e.id,ref:e.ref,children:e.children.map(n)}:{kind:e.kind,id:e.id,ref:e.ref,weight:e.weight,rank:e.rank||0};if(t){let t=[],r=e=>{e.kind===`dir`?e.children.forEach(r):t.push(n(e))};return r(e.root),{root:{kind:`dir`,id:e.root.id,ref:e.root.ref,children:t},edges:e.edges,code:!1}}return{root:n(e.root),edges:e.edges,code:!!e.code}}function Nt(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:Rt(t),plan:!!t.blocks},r=nt(e,n);if(t.blocks){let t=Pt(r,bt(r,Ne(r)));[...t.values()].some(e=>e.wider.size)&&(r=nt(e,{...n,planned:t}))}r.feeders=Ft(r);let i=Ne(r),a=bt(r,i),o=Dt(r,a,i);return jt(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function Pt(e,t){let{items:n}=e,r=e.cell>7?2:3,i=new Map;for(let[a,o]of e.pairs??[]){let e=a===``?-1:n.findIndex(e=>e.kind===`folder`&&e.ref===a),s=n.map((e,t)=>t).filter(t=>n[t].parent===e),c=t.filter(t=>t.pts&&n[t.a].parent===e),l=new Map;for(let e of s)for(let t of s){if(e>=t)continue;let i=n[e],a=n[t],[o,s]=i.gx<=a.gx?[i,a]:[a,i],[u,d]=i.gy<=a.gy?[i,a]:[a,i],f=s.gx-(o.gx+o.w),p=d.gy-(u.gy+u.h),m=null,h=!1;if(f>0&&f<=16&&Math.min(i.gy+i.h,a.gy+a.h)-Math.max(i.gy,a.gy)>=4?(m=[o.gx+o.w,Math.max(i.gy,a.gy),s.gx,Math.min(i.gy+i.h,a.gy+a.h)],h=!0):p>0&&p<=16&&Math.min(i.gx+i.w,a.gx+a.w)-Math.max(i.gx,a.gx)>=4&&(m=[Math.max(i.gx,a.gx),u.gy+u.h,Math.min(i.gx+i.w,a.gx+a.w),d.gy]),!m)continue;let g=new Map;for(let e of c)for(let t=1;t<e.pts.length;t++){let[n,r]=e.pts[t-1],[i,a]=e.pts[t],o=Math.max(1,Math.ceil(Math.max(Math.abs(i-n),Math.abs(a-r))));for(let e=0;e<=o;e++){let t=Math.floor(n+(i-n)*e/o),s=Math.floor(r+(a-r)*e/o);if(t<m[0]||t>=m[2]||s<m[1]||s>=m[3])continue;let c=h?t:s;g.has(c)||g.set(c,new Set),g.get(c).add(h?s:t)}}let _=[...g.values()].filter(e=>e.size>=4).length;_>1&&l.set([i.ref,a.ref].sort().join(`|`),r*(_-1))}i.set(a,{pair:o,wider:l})}return i}function Ft(e,t=e.trunks){let{items:n,links:r,W:i}=e;if(!t.some(e=>e.pts&&(n[e.a].kind===`folder`||n[e.b].kind===`folder`)))return[];let a=Ne(e),o=ut(e,a,{crowd:1,haste:1.5});for(let e of t)e.pts&&o.occupy(e.pts);let s=(e,t)=>{for(;n[e].parent!==t;)e=n[e].parent;return e},c=(e,[t,r])=>{let i=n[e],a=(e,t)=>Math.abs(e-t)<1e-6;return a(t,i.gx)?[i.gx,Math.floor(r)]:a(t,i.gx+i.w)?[i.gx+i.w-1,Math.floor(r)]:a(r,i.gy)?[Math.floor(t),i.gy]:[Math.floor(t),i.gy+i.h-1]},l=[];t.forEach((e,t)=>{if(!e.pts)return;let i=n[e.a].parent,a=r.filter(t=>t.s>=2&&t.level===i&&s(t.a,i)===e.a&&s(t.b,i)===e.b);n[e.a].kind===`folder`&&l.push({folder:e.a,at:e.pts[e.pts.length-1],notes:a.map(e=>e.a),trunk:t}),n[e.b].kind===`folder`&&l.push({folder:e.b,at:e.pts[0],notes:a.map(e=>e.b),trunk:t})});let u=[];for(let e=0;e<l.length;e++){let{folder:t,at:r,notes:d,trunk:f}=l[e],[p,m]=c(t,r);if(p<0||m<0||p>=i||a.blocked[m*i+p])continue;let h=new Map;for(let e of d){let n=s(e,t);h.set(n,[...h.get(n)||[],e])}let g=m*i+p,_=e=>n[e].kind===`note`,v=new Map([[g,[g,r[0],r[1]]]]),y=new Map(v),b=new Map([[g,-1]]);for(let[e,n]of[...h].sort((e,t)=>_(e[0])-_(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=_(e),s=o.routeTo(e,{ends:r?y:v,folder:t,toward:g});if(!s)continue;let c=u.length;u.push({item:e,folder:t,trunk:f,count:n.length,pts:s.pts,cells:s.cells,leaf:r,via:b.get(s.cells[s.cells.length-1])??-1});let d=new Float32Array(s.cells.length);d[d.length-1]=y.get(s.cells[s.cells.length-1])?.[3]??0;for(let e=s.cells.length-2;e>=0;e--){let t=s.cells[e],n=s.cells[e+1];d[e]=d[e+1]+(t%i!==n%i&&Math.floor(t/i)!==Math.floor(n/i)?Math.SQRT2:1)+(a.close[n]?at.hug:0)}for(let[e,t]of s.cells.entries()){if(y.has(t))continue;let n=[t,t%i+.5,Math.floor(t/i)+.5,d[e]];y.set(t,n),b.set(t,c),r||v.set(t,n)}r||l.push({folder:e,at:s.pts[0],notes:n,trunk:f})}}return ft(u,a.W*a.H),u.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}function It(e){let t=Ne(e),n=ut(e,t);return e=>ht(n,e,t.W,t.H)}function Lt(e){let t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),(4294967296*(2097151&n)+(t>>>0)).toString(36)}var Rt=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function zt(e,t={}){return Lt(JSON.stringify([12,t.gridFlow===`right`?`right`:`up`,Rt(t),!!t.blocks,e]))}var Bt,Vt=1,Ht=new Map;function Ut(e){if(Bt===void 0)try{Bt=new Worker(new URL(new URL(`../workers/worker-d9GxGKde.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),Bt.onmessage=({data:e})=>{let t=Ht.get(e.id);Ht.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},Bt.onerror=()=>{for(let e of Ht.values())e.reject(Error(`the layout worker stopped`));Ht.clear(),Bt=null}}catch{Bt=null}if(!Bt)return Promise.reject(Error(`no worker`));let t=Vt++;return new Promise((n,r)=>{Ht.set(t,{resolve:n,reject:r}),Bt.postMessage({id:t,...e})})}var Wt=new Map,Gt=new Map,Kt=``;async function qt(e,t){let n=Mt(e),r=zt(n,t),i=Wt.get(r);return i||(i=await Ut({layout:{model:n,o:t}}).catch(()=>Nt(n,t)),Wt.size>=6&&Wt.delete(Wt.keys().next().value),Wt.set(r,i)),{key:r,layout:i}}async function Jt(e,t,n){if(!n.length)return[];let r=()=>{let r=Gt.get(e);return r||(Gt.clear(),Gt.set(e,r=It(t))),r(n)},i=Kt!==e;return Kt=e,(await Ut({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>Ut({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var Yt=w(`<b class="num svelte-m50bdg"> </b>`),Xt=w(`<a><span class="t svelte-m50bdg"> </span><!></a>`);function Zt(e,t){S(t,!0);let a=x(t,`mark`,3,``),c=x(t,`far`,3,0),l=x(t,`num`,3,0),d=x(t,`iso`,3,``),m=x(t,`linked`,3,!1),h=x(t,`dim`,3,!1),g=x(t,`moment`,3,``);var _=Xt();let y;var C=o(_),w=E(C,!0),O=s(C),A=e=>{var t=Yt(),r=E(t,!0);n(()=>p(r,l())),i(e,t)};r(O,e=>{l()&&e(A)}),v(_),n(e=>{y=b(_,1,`n s${t.step??``} ${g()?`mo-${g()}`:``} ${d()?`p-${d()}`:``} ${a()??``}`,`svelte-m50bdg`,y,{linked:m(),dim:h()&&!l()&&!d()&&!m(),far:c()>1,pick:l()>0}),k(_,`href`,t.href),k(_,`aria-label`,l()?`${t.title}: linked, number ${l()}`:t.title),k(_,`data-note`,t.item.ref),T(_,`--x:${t.item.gx??``};--y:${t.item.gy??``};--w:${t.item.w??``};--h:${t.item.h??``};--lit:${e??``}%`),p(w,t.title)},[()=>Math.max(34,100-(c()-1)*20)]),u(`click`,_,function(...e){t.onpick?.apply(this,e)}),f(`pointerenter`,_,e=>{e.pointerType===`mouse`&&t.onpoint(!0)}),f(`pointerleave`,_,e=>{e.pointerType===`mouse`&&t.onpoint(!1)}),f(`focus`,_,()=>t.onpoint(!0)),f(`blur`,_,()=>t.onpoint(!1)),i(e,_),D()}l([`click`]);var Qt=w(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),$t=w(`<span class="frame-title held svelte-ywp27z"> </span>`),en=w(`<div><!> <!></div>`),tn=w(`<button type="button"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></button>`);function nn(t,l){S(l,!0);let f=x(l,`titled`,3,!0),m=x(l,`held`,19,()=>({req:0,bld:0})),h=x(l,`dim`,3,!1),g=e(()=>l.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),_=e(()=>l.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),y=e(()=>m().req?`req`:m().bld?`bld`:``),C=e(()=>[m().req?`${m().req} required here`:``,m().bld?`${m().bld} ${m().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),w=e(()=>`--x:${l.item.gx};--y:${l.item.gy};--w:${l.item.w};--h:${l.item.h}`);var O=d(),A=c(O),j=e=>{var t=en(),c=o(t),d=e=>{var t=Qt(),r=E(t,!0);n(()=>p(r,l.name)),u(`click`,t,function(...e){l.onpick?.apply(this,e)}),i(e,t)};r(c,e=>{f()&&e(d)});var m=s(c,2),h=e=>{var t=$t(),r=E(t,!0);n(()=>p(r,a(C))),i(e,t)};r(m,e=>{a(C)&&e(h)}),v(t),n(()=>{b(t,1,`folder frame ${a(y)??``}`,`svelte-ywp27z`),k(t,`data-folder`,l.item.ref),T(t,`${a(w)??``};--inside:${a(g)??``};--behind:${a(_)??``};--ground-here:${a(g)??``}`)}),i(e,t)},M=e=>{var t=tn();let r;var c=o(t),d=E(c,!0),f=s(c),m=E(f,!0);v(t),n(()=>{r=b(t,1,`folder frame closed ${a(y)??``}`,`svelte-ywp27z`,r,{dim:h()}),k(t,`data-folder`,l.item.ref),T(t,a(w)),p(d,l.name),p(m,a(C)||`${l.count} ${l.count===1?`note`:`notes`}`)}),u(`click`,t,function(...e){l.onpick?.apply(this,e)}),i(e,t)};r(A,e=>{l.open?e(j):e(M,-1)}),i(t,O),D()}l([`click`]);var rn=t(`<path></path>`),an=t(`<path class="sent svelte-k96fgh"></path>`),on=t(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g><!><!><!></g></svg>`);function sn(e,t){S(t,!0);let r=x(t,`sent`,19,()=>[]);var c=on(),l=o(c),u=o(l);A(u,17,()=>t.rest,e=>e.key,(e,t)=>{var r=rn();let o;n(()=>{o=b(r,0,y(a(t).study?`study`:a(t).strong?`base`:`base weak`),`svelte-k96fgh`,o,{trunk:a(t).trunk&&!a(t).study}),k(r,`d`,a(t).d)}),i(e,r)});var d=s(u);A(d,17,r,e=>e.key,(e,t)=>{var r=an();n(()=>k(r,`d`,a(t).d)),i(e,r)});var f=s(d);A(f,17,()=>t.hot,e=>e.key,(e,t)=>{var r=rn();let o;n(()=>{o=b(r,0,`lit ${a(t).kind??``}`,`svelte-k96fgh`,o,{still:a(t).still}),k(r,`d`,a(t).d)}),i(e,r)}),v(l),v(c),n(()=>{k(c,`data-requires`,t.counts.requires),k(c,`data-builds`,t.counts.builds),k(c,`data-uses`,t.counts.uses),k(l,`transform`,`scale(${t.k??``})`)}),i(e,c),D()}var cn=w(`<span class="name svelte-1hqh0lc"> </span> <svg aria-hidden="true" class="svelte-1hqh0lc"><path class="svelte-1hqh0lc"></path></svg>`,1),ln=w(`<div class="folder frame svelte-1hqh0lc"><button class="band svelte-1hqh0lc" type="button"><!></button></div>`),un=w(`<button class="folder frame closed svelte-1hqh0lc" type="button"><span class="band svelte-1hqh0lc"><!></span> <span class="label svelte-1hqh0lc"> </span></button>`);function dn(t,l){S(l,!0);let f=e=>{var t=cn(),r=c(t),o=E(r),u=s(r,2),d=E(u);n(()=>{p(o,`study · ${l.name??``}`),k(u,`viewBox`,a(_).viewBox),k(u,`data-passes`,m()),T(u,`width:${16*a(_).ratio}px`),k(d,`d`,a(_).d)}),i(e,t)},m=x(l,`passes`,3,0),h=e(()=>l.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),g=e(()=>`--x:${l.item.gx};--y:${l.item.gy};--w:${l.item.w};--h:${l.item.h}`),_=e(()=>te([...l.item.ref].reduce((e,t)=>(e*31+t.charCodeAt(0))%99991,7),m()?Math.min(m()+1,4):0));var y=d(),b=c(y),C=e=>{var t=ln(),r=o(t),s=o(r);f(s),v(r),v(t),n(()=>{k(t,`data-folder`,l.item.ref),T(t,`${a(g)??``};--inside:${a(h)??``};--ground-here:${a(h)??``}`)}),u(`click`,r,function(...e){l.onpick?.apply(this,e)}),i(e,t)},w=e=>{var t=un(),r=o(t),c=o(r);f(c),v(r);var d=s(r,2),m=E(d);v(t),n(()=>{k(t,`data-folder`,l.item.ref),T(t,`${a(g)??``};--inside:${a(h)??``}`),p(m,`${l.count??``} ${l.count===1?`item`:`items`}`)}),u(`click`,t,function(...e){l.onpick?.apply(this,e)}),i(e,t)};r(b,e=>{l.open?e(C):e(w,-1)}),i(t,y),D()}l([`click`]);var fn=w(`<a><span class="frame-title kind svelte-9q9bch"> </span><span class="t svelte-9q9bch"> </span></a>`);function pn(e,t){S(t,!0);let r=x(t,`mark`,3,``),a=x(t,`dim`,3,!1),c=x(t,`moment`,3,``);var l=fn();let d;var m=o(l),h=E(m,!0),g=s(m),_=E(g,!0);v(l),n(()=>{d=b(l,1,`sn frame ${r()??``} ${c()?`mo-${c()}`:``}`,`svelte-9q9bch`,d,{dim:a()}),k(l,`href`,t.href),k(l,`aria-label`,`${t.kind??``}: ${t.title??``}`),k(l,`data-note`,t.item.ref),T(l,`--x:${t.item.gx??``};--y:${t.item.gy??``};--w:${t.item.w??``};--h:${t.item.h??``}`),p(h,t.kind),p(_,t.title)}),u(`click`,l,function(...e){t.onpick?.apply(this,e)}),f(`pointerenter`,l,e=>{e.pointerType===`mouse`&&t.onpoint(!0)}),f(`pointerleave`,l,e=>{e.pointerType===`mouse`&&t.onpoint(!1)}),f(`focus`,l,()=>t.onpoint(!0)),f(`blur`,l,()=>t.onpoint(!1)),i(e,l),D()}l([`click`]);var mn=w(`<p class="said svelte-14y1y1z"> </p>`),hn=w(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),gn=w(`<span> </span>`),_n=w(`<a class="eph svelte-14y1y1z"><span class="t svelte-14y1y1z"> </span></a>`),vn=w(`Iso is reading <span class="c-gold svelte-14y1y1z"> </span>`,1),yn=w(`<svg class="loader svelte-14y1y1z" aria-hidden="true"><path d="M0 1H1000" class="svelte-14y1y1z"></path></svg> <p class="doing svelte-14y1y1z" role="status"><i class="dia svelte-14y1y1z" aria-hidden="true"></i><!></p>`,1),bn=w(`<div><!> <!></div>`),xn=w(`<span class="svelte-14y1y1z"><i class="dia" aria-hidden="true"></i>a new note</span>`),Sn=w(`<div><svg aria-hidden="true" class="svelte-14y1y1z"><rect x="1" y="1" width="100%" height="100%" class="svelte-14y1y1z"></rect></svg> <!></div>`),Cn=w(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),wn=w(`<!> <div><!> <!> <!> <!> <!> <!></div> <!>`,1),Tn=w(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><!></div>`);function En(t,l){S(l,!0);let y=x(l,`pick`,3,``),w=x(l,`moment`,3,null),F=_(null),I=_(null),L=_(``),R=_({x:0,y:0,k:1}),z=_({w:0,h:0}),B=_(``),V=_([]),H=e(()=>a(V).at(-1)??``),te=_(!1),U=_(void 0),W=[`fine`,`coarse`,`coarser`],G=_(g(W.find(e=>e===fe(`isorite.atlas.grain`))??`fine`)),se=_(fe(`isorite.atlas.leaves`)===`on`),ce=!1,le=window.innerWidth>=window.innerHeight?`right`:`up`;function fe(e){try{return localStorage.getItem(e)}catch{return null}}function pe(){h(G,W[(W.indexOf(a(G))+1)%W.length],!0),ce=!1;try{localStorage.setItem(`isorite.atlas.grain`,a(G))}catch{}_e()}function me(e){h(se,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}async function _e(){try{let e=await P.api.map(),t=await qt(e.model,{gridFlow:le,grain:a(G),blocks:!0}),n=!a(I)||a(I).key!==t.key&&!ce;h(F,e),h(I,t),h(L,``),n&&a(z).w&&h(R,we())}catch(e){h(L,e.message,!0)}}m(()=>{_e();let e,t=P.on(t=>{(t.type===`note-changed`||t.type===`record`)&&(clearTimeout(e),e=setTimeout(()=>{_e()},400))});return()=>{t(),clearTimeout(e)}});let q=e(()=>a(I)?ye(a(I).layout):null),J=e(()=>a(q)?ve(a(q)):null),Ce=e(()=>a(q)?be(a(q),a(R).k):``),we=()=>{let e=(a(q)?.margin??0)/2,t={gx:e,gy:e,w:(a(q)?.W??1)-2*e,h:(a(q)?.H??1)-2*e},n=a(Z)?.draft?a(Z):null;if(n&&a(q)){let e=Math.max(t.gx+t.w,n.gx+Math.max(n.w,240/a(q).cell)+2),r=Math.max(t.gy+t.h,n.gy+n.h+70/a(q).cell);t.gx=Math.min(t.gx,n.gx-2),t.gy=Math.min(t.gy,n.gy-2),t.w=e-t.gx,t.h=r-t.gy}return Ae(t,a(z).w,a(z).h,1,a(q)?.cell)};m(()=>{if(!a(U))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!a(z).w;h(z,{w:t,h:n}),r&&a(q)&&h(R,we())});return e.observe(a(U)),()=>e.disconnect()});let De=e(()=>a(q)?a(q).items.flatMap((e,t)=>e.kind===`folder`&&a(Ce)[t]!==`-`?[{item:e,i:t,open:a(Ce)[t]===`o`}]:[]):[]),Me=e(()=>a(q)?a(q).items.flatMap((e,t)=>e.kind===`note`&&a(Ce)[t]===`s`?[{item:e,i:t}]:[]):[]),Ne=e(()=>a(q)?Te(Se(a(q),a(Ce),a(J).strong,a(se))).map(e=>({key:e.key,pts:e.pts,d:Oe(e.pts,0,a(q).cell),count:e.count,study:e.study,strong:e.strong,trunk:e.trunk,...Pe(e)})).map((e,t,n)=>({...e,label:e.label&&!n.some((n,r)=>r!==t&&n.label&&n.count===e.count&&Math.hypot(n.mid[0]-e.mid[0],n.mid[1]-e.mid[1])<10&&(n.length>e.length||n.length===e.length&&r<t))})):[]);function Pe(e){let t=e.pts[0],n=t,r=0;for(let i=1,a=0;i<e.pts.length;i++){let o=e.pts[i-1],s=e.pts[i],c=e.pts[i+1];if(c&&Math.abs((s[0]-o[0])*(c[1]-s[1])-(s[1]-o[1])*(c[0]-s[0]))<1e-6&&(s[0]-o[0])*(c[0]-s[0])+(s[1]-o[1])*(c[1]-s[1])>0)continue;let l=e.pts[a],u=Math.hypot(s[0]-l[0],s[1]-l[1]);u>r&&(r=u,t=l,n=s),a=i}return{label:e.trunk&&e.count>1&&r>=3,mid:[(t[0]+n[0])/2,(t[1]+n[1])/2],side:Math.abs(t[0]-n[0])<1e-6?`right`:`above`,length:r}}let Fe=e(()=>y()?``:a(H)||a(B)),Y=e(()=>a(Fe)&&a(F)&&a(J)?.at.has(a(Fe))?ee(a(F).model,a(Fe)):null),Ie=e(()=>{let e=new Map;if(!a(Y))return e;for(let t of a(Y).also)e.set(t,{mark:`also`,far:0});for(let t of a(Y).uses)e.set(t,{mark:`use`,far:0});for(let t of a(Y).builds)e.set(t,{mark:`bld`,far:0});for(let t of a(Y).requires)e.set(t,{mark:`req`,far:a(Y).depth[t]??1});for(let t of a(V))e.set(t,{mark:`req`,far:1});return e.set(a(Fe),{mark:`at`,far:0}),e}),Le=e(()=>{if(!a(Y))return[];let e=a(V).slice(1).map((e,t)=>({from:a(V)[t],to:e,kind:`requires`})),t=a(V).at(-2);return[...e,...a(Y).links.filter(e=>e.kind===`requires`?a(te)?!e.spare:e.from===a(Fe):e.kind!==`builds`||e.from!==t)]}),Re=e(()=>{let e=new Map;if(!a(Y)||!a(J))return e;let t=new Set(a(J).up[a(J).at.get(a(Fe))]),n=(n,r)=>{for(let i of n)for(let n of a(J).up[a(J).at.get(i)??-1]??[]){if(t.has(n))break;let i=e.get(n)??{req:0,bld:0};i[r]++,e.set(n,i)}};return n(a(Y).requires,`req`),n(a(Y).builds,`bld`),e}),ze=(e,t)=>{let n=a(Re).get(e),r=a(q).items[e].parent;return n&&(!t||r<0||!a(Re).has(r))?n:{req:0,bld:0}},Be=_([]),Ve=_({requires:0,builds:0,uses:0});function He(e,t){if(!e.length||!a(q)||!a(J)||!a(I)){t([],[]);return}let n=e.flatMap(e=>{let t=a(J).at.get(e.from),n=a(J).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Ee(a(q),a(J),a(Ce),n),o=e=>t(Te(e,!0).map(e=>({key:e.key,kind:e.kind,d:Oe(e.pts,0,a(q).cell),count:e.count,still:!e.flow})),e);if(o(r),!i.length)return;let s=!1;return Jt(a(I).key,a(q),i.map(({a:e,b:t})=>({a:e,b:t}))).then(e=>{s||o([...r,...i.flatMap((t,n)=>e[n]?[{key:t.key,kind:t.kind,pts:[...e[n]].reverse()}]:[])])}).catch(()=>void 0),()=>{s=!0}}m(()=>He(a(Le),(e,t)=>{h(Be,e),h(Ve,{requires:t.filter(e=>e.kind===`requires`).length,builds:t.filter(e=>e.kind===`builds`).length,uses:t.filter(e=>e.kind===`uses`).length})}));let X=e(()=>y()?null:P.iso),Ue=e(()=>a(X)?.state===`reading`||a(X)?.state===`writing`),We=e(()=>{let e=new Map;for(let t of a(X)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),Ge=e(()=>a(Ue)?a(X).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),Ke=e(()=>(a(X)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.opened,to:e.from,kind:`iso`}]:[])),qe=_([]);m(()=>He(a(Ke),e=>{h(qe,e)}));let Je=_(null);m(()=>{let e=a(X)?.note??``;if(h(Je,null),!e.startsWith(`@draft/`))return;let t=!1;return P.api.readNote(e).then(e=>{t||h(Je,e)},()=>void 0),()=>{t=!0}});let Z=e(()=>{if(!a(X)||!a(q)||!a(J))return null;if(!a(X).note.startsWith(`@draft/`)){let e=a(J).at.get(a(X).note);if(e===void 0)return null;let t=a(q).items[xe(a(J),a(Ce),e)];return{gx:t.gx,gy:t.gy,w:t.w,h:t.h,draft:!1,title:lt(a(X).note)}}let e=Math.round(126/a(q).cell),t=Math.round(35/a(q).cell),n=a(Je)?oe(a(Je).text)||`a new note`:``,r=ue(a(X).note),i=r?{gx:Math.round(r.gx*7/a(q).cell),gy:Math.round(r.gy*7/a(q).cell)}:null;if(i&&!a(q).items.some(n=>n.kind===`note`&&i.gx<n.gx+n.w+1&&n.gx<i.gx+e+1&&i.gy<n.gy+n.h+1&&n.gy<i.gy+t+1))return{...i,w:e,h:t,draft:!0,title:n};let o=a(q).items.filter(e=>e.parent<0),s=Math.max(...o.map(e=>e.gx+e.w)),c=Math.max(...o.map(e=>e.gy+e.h)),l=Math.round(84/a(q).cell);return le===`right`?{gx:s+l,gy:Math.round((a(q).H-t)/2),w:e,h:t,draft:!0,title:n}:{gx:Math.round((a(q).W-e)/2),gy:c+l,w:e,h:t,draft:!0,title:n}}),Ye=e(()=>a(Je)?ne(a(Je).text).filter(e=>a(F)?.notes[e]):[]),Xe=e(()=>!a(Z)?.draft||!a(q)||!a(J)?[]:a(Ye).flatMap(e=>{let t=a(J).at.get(e);if(t===void 0)return[];let n=a(q).items[xe(a(J),a(Ce),t)],r=a(Z),i=n.gx+n.w/2-(r.gx+r.w/2),o=n.gy+n.h/2-(r.gy+r.h/2),s=5/18*Math.abs(i)>=Math.abs(o);return[{key:e,d:Oe(ke(s?[i<0?r.gx:r.gx+r.w,r.gy+r.h/2]:[r.gx+r.w/2,o<0?r.gy:r.gy+r.h],s?[i<0?n.gx+n.w:n.gx,n.gy+n.h/2]:[n.gx+n.w/2,o<0?n.gy+n.h:n.gy],s),0,a(q).cell)}]})),Ze=e=>{if(e===a(Ge))return`used`;let t=a(We).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``};m(()=>{let e=a(X);e&&e.request===P.watching&&e.state!==`reading`&&e.state!==`writing`&&(P.watching=``,e.state===`done`&&M(j(`/draft/[id]`,{id:e.note.slice(7)})))});let Qe=``;m(()=>{a(Z)?.draft&&a(X)&&Qe!==a(X).request&&a(z).w&&(Qe=a(X).request,ce||h(R,we()))});let Q=_(null),$e=_(``);m(()=>{if(h(Q,null),h($e,``),!y())return;let e=!1;return P.api.readNote(y()).then(t=>{e||h(Q,t)},()=>{e||h($e,`that note for Iso is not here any more`)}),()=>{e=!0}});let et=e(()=>a(Q)?(ie(a(Q).text)??ne(a(Q).text)).filter(e=>a(F)?.notes[e]&&!e.startsWith(`@`)):[]),tt=Promise.resolve();function nt(e){tt=tt.then(async()=>{if(!a(Q)||e.startsWith(`@`))return;let t=t=>ie(t)?ae(t,e):ne(t).includes(e)?re(t,e):K(t,e,lt(e)),n=t(a(Q).text);if(n===null)h($e,`linked in what you wrote: take it out there`);else{h($e,``);try{h(Q,await P.api.saveNote(y(),{base:a(Q).version,text:n}))}catch{try{let e=await P.api.readNote(y()),n=t(e.text);h(Q,n===null?e:await P.api.saveNote(y(),{base:e.version,text:n}))}catch(e){h($e,`not linked: ${e.message}`)}}}})}let rt=_(null),it,at;function ot(){clearTimeout(it),clearTimeout(at),it=at=void 0,h(rt,null)}function st(e,t){if(ot(),y()||!a(q)||!a(J)||!(e.target instanceof Element)||e.target.closest(`button, .dock`))return;let n=e.target.closest(`[data-note]`)?.dataset.note??``;if(n.startsWith(`@`))return;let r=n?a(q).items[a(J).at.get(n)??-1]:void 0,i=a(q).cell*a(R).k,o=Math.round(126/a(q).cell),s=Math.round(35/a(q).cell),c=r?{note:n,gx:r.gx,gy:r.gy,w:r.w,h:r.h}:{note:``,gx:Math.round((t.x-a(R).x)/i)-Math.floor(o/2),gy:Math.round((t.y-a(R).y)/i)-Math.ceil(s/2),w:o,h:s};it=setTimeout(()=>{h(rt,c)},180),at=setTimeout(()=>{pt=!0,ct(c)},650)}async function ct(e){try{let t=await P.api.createDraft();e.note&&await P.api.saveNote(t.id,{base:t.version,text:K(t.text,e.note,lt(e.note))}),de(t.id,{gx:e.gx*a(q).cell/7,gy:e.gy*a(q).cell/7}),await M(j(`/draft/[id]`,{id:t.id.slice(7)}))}catch(e){h($e,e.message,!0),ot()}}let lt=e=>a(F)?.notes[e]?.title??e.split(`/`).at(-1)??e,ut=e=>e.startsWith(`@study`)?e.replace(/^@study\/?/,``).split(`/`).at(-1)||P.session?.name||`the base`:e.split(`/`).at(-1)??e,dt=0;function ft(e){if(cancelAnimationFrame(dt),matchMedia(`(prefers-reduced-motion: reduce)`).matches){h(R,e);return}let t=a(R),n=performance.now(),r=i=>{let o=Math.min(1,(i-n)/320),s=1-(1-o)**3,c=t.k*(e.k/t.k)**s,l=a(z).w/2,u=a(z).h/2,d=(l-t.x)/t.k*(1-s)+(l-e.x)/e.k*s,f=(u-t.y)/t.k*(1-s)+(u-e.y)/e.k*s;h(R,o===1?e:{k:c,x:l-d*c,y:u-f*c}),o<1&&(dt=requestAnimationFrame(r))};dt=requestAnimationFrame(r)}let pt=!1,mt=new Map,ht=null;function gt(){let e=[...mt.values()];if(!e.length){ht=null;return}let t=e.reduce((e,t)=>e+t.x,0)/e.length,n=e.reduce((e,t)=>e+t.y,0)/e.length;ht={view:a(R),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let _t=e=>{let t=a(U).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}};function vt(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(dt),mt.size||(pt=!1),mt.set(e.pointerId,_t(e)),gt(),mt.size===1?st(e,_t(e)):ot())}function yt(e){if(!mt.has(e.pointerId)||!ht)return;mt.set(e.pointerId,_t(e));let t=[...mt.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!pt&&t.length===1&&Math.hypot(n-ht.x,r-ht.y)<5)return;pt||(pt=ce=!0,ot(),a(U).setPointerCapture(e.pointerId));let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,o=ht.span&&i?je(ht.view,i/ht.span,ht.x,ht.y):ht.view;h(R,{k:o.k,x:o.x+n-ht.x,y:o.y+r-ht.y})}function bt(e){mt.delete(e.pointerId)&&(at!==void 0&&ot(),gt())}function xt(e){e.preventDefault(),cancelAnimationFrame(dt),ce=!0;let t=_t(e),n=e.deltaMode===1?16:1;h(R,je(a(R),Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),t.x,t.y))}m(()=>{if(!a(U))return;let e=a(U);return e.addEventListener(`wheel`,xt,{passive:!1}),()=>e.removeEventListener(`wheel`,xt)});function St(e,t){if(e.metaKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),e.stopPropagation(),pt))return;if(y()){nt(t);return}if(a(H)===t){M(N(t));return}let n=[];if(a(Y)&&a(Fe)===a(H)&&a(Y).depth[t])for(let e=t;e&&e!==a(H);e=a(Y).via[e])n.unshift(e);h(V,a(V).includes(t)?a(V).slice(0,a(V).indexOf(t)+1):n.length?[...a(V),...n]:[t])}function Ct(e){if(pt||!a(q))return;ce=!0;let t=Ae(a(q).items[e],a(z).w,a(z).h,1.5,a(q).cell),n=Math.abs(t.k-a(R).k)<.01*t.k&&Math.hypot(t.x-a(R).x,t.y-a(R).y)<4,r=a(q).items[e].parent;ft(n?r<0?we():Ae(a(q).items[r],a(z).w,a(z).h,1.5,a(q).cell):t)}function wt(e){if(pt||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(a(H)?h(V,[]):a(X)&&!a(Ue)?P.iso=null:t&&a(q)?Ct(a(q).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder)):ft(we()))}function Tt(e){if(e.key===`Escape`){h(V,[]),h(B,``);return}if(e.key===`w`&&a(H)&&!e.metaKey&&!e.ctrlKey&&!e.altKey){h(te,!a(te));return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){pe();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){me(!a(se));return}if(e.target!==a(U))return;let t={x:a(z).w/2,y:a(z).h/2};if(e.key===`+`||e.key===`=`)h(R,je(a(R),1.25,t.x,t.y));else if(e.key===`-`)h(R,je(a(R),.8,t.x,t.y));else if(e.key===`0`)ft(we());else if(e.key===`ArrowLeft`)h(R,{...a(R),x:a(R).x+80});else if(e.key===`ArrowRight`)h(R,{...a(R),x:a(R).x-80});else if(e.key===`ArrowUp`)h(R,{...a(R),y:a(R).y+80});else if(e.key===`ArrowDown`)h(R,{...a(R),y:a(R).y-80});else return;e.preventDefault(),ce=!0}let Et=e(()=>{if(!a(q)||!a(z).w||a(R).k<=we().k*1.05)return-1;let e=a(q).cell*a(R).k,t=(a(z).w/2-a(R).x)/e,n=(a(z).h/2-a(R).y)/e,r=-1;return a(q).items.forEach((i,o)=>{i.kind!==`folder`||a(Ce)[o]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*a(z).w||i.h*e>=.6*a(z).h)&&(r<0||a(q).items[r].depth<i.depth)&&(r=o)}),r});function Dt(){if(!a(q))return;ce=!0;let e=a(Et)<0?-1:a(q).items[a(Et)].parent;ft(e<0?we():Ae(a(q).items[e],a(z).w,a(z).h,1.5,a(q).cell))}let Ot=e(()=>a(R).k>=ge),kt=e(()=>a(q)?a(q).items.filter(e=>e.kind===`note`&&e.ref.startsWith(`@study`)).length:0);m(()=>(P.atlas={items:a(kt),chosen:a(H)?lt(a(H)):``,steps:a(V).length-1,chain:a(te),whole:()=>{h(te,!a(te))},pick:!!y(),here:a(Et)<0?``:ut(a(q).items[a(Et)].ref),out:Dt},()=>{P.atlas=null}));var $=Tn();let At;var jt=o($),Mt=e=>{var t=mn(),r=E(t);n(()=>p(r,`The map could not be drawn: ${a(L)??``}`)),i(e,t)},Nt=t=>{var l=wn(),u=c(l),f=e=>{var t=hn();i(e,t)};r(u,e=>{a(q).items.length||e(f)});var m=s(u,2);let g;var _=o(m);A(_,17,()=>a(De),e=>e.item.id,(t,n)=>{var o=d(),s=c(o),l=t=>{{let r=e(()=>ut(a(n).item.ref)),i=e(()=>a(q).items.filter(e=>e.parent===a(n).i&&a(F)?.notes[e.ref]?.passed).length);dn(t,{get item(){return a(n).item},get name(){return a(r)},get count(){return a(J).noteCount[a(n).i]},get open(){return a(n).open},get passes(){return a(i)},onpick:()=>Ct(a(n).i)})}},u=e(()=>a(n).item.ref.startsWith(`@study`)),f=t=>{{let r=e(()=>ut(a(n).item.ref)),i=e(()=>a(n).item.parent<0||(a(n).item.gy-a(q).items[a(n).item.parent].gy)*a(q).cell*a(R).k>=18),o=e(()=>ze(a(n).i,a(n).open)),s=e(()=>!!a(Y)&&!a(n).open&&!a(Re).has(a(n).i));nn(t,{get item(){return a(n).item},get name(){return a(r)},get count(){return a(J).noteCount[a(n).i]},get open(){return a(n).open},get titled(){return a(i)},get held(){return a(o)},get dim(){return a(s)},onpick:()=>Ct(a(n).i)})}};r(s,e=>{a(u)?e(l):e(f,-1)}),i(t,o)});var x=s(_,2);{let t=e(()=>[...a(qe),...a(Be)]);sn(x,{get k(){return a(R).k},get rest(){return a(Ne)},get hot(){return a(t)},get counts(){return a(Ve)},get sent(){return a(Xe)}})}var S=s(x,2),D=e=>{var t=d(),o=c(t);A(o,17,()=>a(Ne),e=>e.key,(e,t)=>{var o=d(),s=c(o),l=e=>{var r=gn(),o=E(r,!0);n(()=>{b(r,1,`count ${a(t).side??``}`,`svelte-14y1y1z`),T(r,`--x:${a(t).mid[0]??``};--y:${a(t).mid[1]??``}`),p(o,a(t).count)}),i(e,r)};r(s,e=>{a(t).label&&e(l)}),i(e,o)}),i(e,t)};r(S,e=>{a(Ot)&&e(D)});var O=s(S,2);A(O,17,()=>a(Me),e=>e.item.id,(t,n)=>{let o=e(()=>a(Ie).get(a(n).item.ref)),s=e(()=>a(o)?.mark??``);var l=d(),u=c(l),f=t=>{{let r=e(()=>lt(a(n).item.ref)),i=e(()=>a(F).notes[a(n).item.ref]?.kind??`note`),o=e(()=>w()?.note===a(n).item.ref?w().who:``),c=e(()=>!!a(Y)&&!a(s)),l=e(()=>N(a(n).item.ref));pn(t,{get item(){return a(n).item},get title(){return a(r)},get kind(){return a(i)},get mark(){return a(s)},get moment(){return a(o)},get dim(){return a(c)},get href(){return a(l)},onpick:e=>St(e,a(n).item.ref),onpoint:e=>{h(B,e?a(n).item.ref:a(B)===a(n).item.ref?``:a(B),!0)}})}},p=e(()=>a(n).item.ref.startsWith(`@study`)),m=t=>{{let r=e(()=>lt(a(n).item.ref)),i=e(()=>a(F).notes[a(n).item.ref]?.step??0),c=e(()=>a(o)?.far??0),l=e(()=>a(et).indexOf(a(n).item.ref)+1),u=e(()=>Ze(a(n).item.ref)),d=e(()=>a(Ye).includes(a(n).item.ref)),f=e(()=>w()?.note===a(n).item.ref?w().who:``),p=e(()=>!!a(Y)&&!a(s)),m=e(()=>N(a(n).item.ref));Zt(t,{get item(){return a(n).item},get title(){return a(r)},get step(){return a(i)},get mark(){return a(s)},get far(){return a(c)},get num(){return a(l)},get iso(){return a(u)},get linked(){return a(d)},get moment(){return a(f)},get dim(){return a(p)},get href(){return a(m)},onpick:e=>St(e,a(n).item.ref),onpoint:e=>{h(B,e?a(n).item.ref:a(B)===a(n).item.ref?``:a(B),!0)}})}};r(u,e=>{a(p)?e(f):e(m,-1)}),i(t,l)});var M=s(O,2),P=e=>{var t=bn();let l;var u=o(t),d=e=>{var t=_n(),r=o(t),s=E(r,!0);v(t),n(e=>{k(t,`href`,e),k(t,`aria-label`,`${a(Z).title??``}: your note for Iso`),p(s,a(Z).title)},[()=>j(`/draft/[id]`,{id:a(X).note.slice(7)})]),i(e,t)};r(u,e=>{a(Z).draft&&e(d)});var f=s(u,2),m=e=>{var t=yn(),l=s(c(t),2),u=s(o(l)),d=e=>{var t=C(`Iso is writing`);i(e,t)},f=e=>{var t=vn(),r=s(c(t)),o=E(r,!0);n(e=>p(o,e),[()=>lt(a(Ge))]),i(e,t)},m=e=>{var t=C(`Iso is thinking`);i(e,t)};r(u,e=>{a(X).state===`writing`?e(d):a(Ge)?e(f,1):e(m,-1)}),v(l),i(e,t)};r(f,e=>{a(Ue)&&e(m)}),v(t),n(()=>{l=b(t,1,`asker svelte-14y1y1z`,null,l,{draft:a(Z).draft}),T(t,`--x:${a(Z).gx??``};--y:${a(Z).gy??``};--w:${a(Z).w??``};--h:${a(Z).h??``}`)}),i(e,t)};r(M,e=>{a(Z)&&e(P)});var I=s(M,2),L=e=>{var t=Sn();let c;var l=s(o(t),2),u=e=>{var t=xn();i(e,t)};r(l,e=>{!a(rt).note&&a(Ot)&&e(u)}),v(t),n(()=>{c=b(t,1,`grasp svelte-14y1y1z`,null,c,{"on-note":!!a(rt).note}),T(t,`--x:${a(rt).gx??``};--y:${a(rt).gy??``};--w:${a(rt).w??``};--h:${a(rt).h??``}`)}),i(e,t)};r(I,e=>{a(rt)&&e(L)}),v(m);var ee=s(m,2),z=t=>{{let n=e(()=>a(Q)?ie(a(Q).text)?`an exercise`:oe(a(Q).text):``),r=e(()=>a(Q)?ie(a(Q).text)!==null:!1),i=e(()=>a(et).map(e=>({id:e,title:lt(e),tokens:a(F).notes[e]?.tokens??0}))),o=e(()=>j(`/draft/[id]`,{id:y().slice(7)}));he(t,{get title(){return a(n)},get tests(){return a(r)},get picked(){return a(i)},budget:8e3,get notice(){return a($e)},get href(){return a(o)}})}},V=e=>{var t=Cn(),r=E(t,!0);n(()=>p(r,a($e))),i(e,t)};r(ee,e=>{y()?e(z):a($e)&&e(V,1)}),n(e=>{g=b(m,1,`atlas-world svelte-14y1y1z`,null,g,{labels:a(Ot)}),k(m,`data-open`,a(Ce)),T(m,`transform: translate(${a(R).x??``}px, ${a(R).y??``}px); --u: ${(a(q)?.cell??7)*a(R).k}px; --k: ${a(R).k??``}; --fs: ${e??``}px; --lines: ${a(R).k<.9?1:2}`)},[()=>(10.5*Math.min(1.5,Math.max(.8,a(R).k))).toFixed(2)]),i(t,l)};r(jt,e=>{a(L)?e(Mt):a(q)&&a(F)&&e(Nt,1)}),v($),O($,e=>h(U,e),()=>a(U)),n(()=>{At=b($,1,`atlas dots svelte-14y1y1z`,null,At,{lit:!!a(Y)}),T($,`background-position: ${a(R).x??``}px ${a(R).y??``}px`)}),u(`pointerdown`,$,vt),u(`pointermove`,$,yt),u(`pointerup`,$,bt),f(`pointercancel`,$,bt),u(`click`,$,wt),u(`keydown`,$,Tt),u(`contextmenu`,$,e=>{(a(rt)||it!==void 0)&&e.preventDefault()}),i(t,$),D()}l([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var Dn=w(`<div class="side svelte-1wy8qhs"><button class="icon svelte-1wy8qhs" type="button" aria-label="timeline" title="timeline"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M8 1v14" stroke="currentColor" stroke-width="1.2" fill="none"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor"></path><rect x="5.5" y="12" width="5" height="3" fill="none" stroke="currentColor" stroke-width="1.2"></rect></svg></button> <!></div>`),On=w(`<div class="map svelte-1wy8qhs"><!> <!></div>`);function kn(t,c){S(c,!0);let l=e(()=>F.url.searchParams.get(`pick`)??new URLSearchParams(F.url.hash.split(`?`)[1]??``).get(`pick`)??``),d=_(g((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),f=_([]),p=_(null),y=e=>P.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),b=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function x(){try{h(f,(await P.api.timeline()).filter(e=>!e.note.startsWith(`@draft/`)))}catch{}}m(()=>{if(!a(d))return;x();let e,t=P.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{x()},300))});return()=>{t(),clearTimeout(e)}});function C(e){M(`${N(e.note)}?at=${encodeURIComponent(z(e))}`)}function w(){h(d,!a(d)),h(p,null);try{localStorage.setItem(`isorite.timeline`,a(d)?`1`:`0`)}catch{}}var T=On(),E=o(T);{let t=e(()=>a(l)?`@draft/${a(l)}`:``),n=e(()=>a(p)?{note:a(p).note,who:b(a(p))?`iso`:`you`}:null);En(E,{get pick(){return a(t)},get moment(){return a(n)}})}var O=s(E,2),A=e=>{var t=Dn(),c=o(t),l=s(c,2),m=e=>{B(e,{get moments(){return a(f)},at:null,get pointed(){return a(p)},leftward:!0,name:`This session's timeline`,label:e=>y(e.note),point:e=>h(p,e),pick:e=>C(e)})};r(l,e=>{a(d)&&e(m)}),v(t),n(()=>k(c,`aria-pressed`,a(d))),u(`click`,c,w),i(e,t)};r(O,e=>{a(l)||e(A)}),v(T),i(t,T),D()}l([`click`]);export{kn as component};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{$ as e,B as t,C as n,D as r,F as i,G as a,J as o,K as s,M as c,N as l,O as u,Q as d,S as f,T as p,V as m,X as h,Z as g,b as _,c as v,ct as y,d as b,f as x,h as S,it as C,j as ee,k as w,l as T,n as E,o as D,p as O,q as k,rt as A,st as j,tt as M,u as N,x as P}from"../chunks/BD1Dpm2e.js";import{o as F,t as I}from"../chunks/CWYACT2V.js";import"../chunks/xihTtKlq.js";import{n as L,t as R}from"../chunks/gRYnlonl.js";import{t as z}from"../chunks/B-si2ell.js";import"../chunks/DtAOoM-T.js";import"../chunks/CdQZ-ArP.js";import{a as te}from"../chunks/DN3dk6rD.js";import{a as ne,i as re,o as ie,t as ae}from"../chunks/DykrN7z5.js";var oe=w(`<p class="faint col svelte-nq8rms">opening…</p>`),se=w(`<div class="col svelte-nq8rms"><p class="soft">This note for Iso is not here any more. It was kept as a note, or discarded.</p><p><a>all notes</a></p></div>`),ce=w(`<div class="mark svelte-nq8rms"><i class="dia open svelte-nq8rms" aria-hidden="true"></i><span class="label">for Iso · an exercise, not in your study base yet</span></div> <h1 class="serif title svelte-nq8rms"> </h1>`,1),le=w(`<div class="mark svelte-nq8rms"><i class="dia open svelte-nq8rms" aria-hidden="true"></i><span class="label">for Iso · not in your base yet</span></div> <label class="hidden-label" for="title">Title</label> <textarea id="title" class="serif title svelte-nq8rms" rows="1" placeholder="a title for the note" autocomplete="off"></textarea>`,1),ue=w(`<span class="label">what you want from it · if anything</span>`),de=w(`<!> <!>`,1),fe=w(`<div class="prompt svelte-nq8rms"><p> </p> <button class="link svelte-nq8rms" type="button"> </button></div>`),pe=w(`<div class="prose said svelte-nq8rms"></div>`),me=w(`<span class="faint"> </span>`),he=w(`<!> <div class="foot svelte-nq8rms"><i class="dia svelte-nq8rms" aria-hidden="true"></i> <span class="soft"> <!></span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ stop ]</button></div>`,1),ge=w(`<textarea class="revision svelte-nq8rms" aria-label="Iso's text, to edit"></textarea>`),_e=w(`<h2 class="serif extitle svelte-nq8rms"> </h2> <div class="prose said question svelte-nq8rms"></div> <span class="label">your working</span>`,1),ve=w(`<!> <div aria-live="polite"><!></div>`,1),ye=w(`<p class="bad svelte-nq8rms" role="alert"> </p>`),be=w(`<span class="chip lattice svelte-nq8rms"> <button class="x svelte-nq8rms" type="button">×</button></span>`),xe=w(`<span class="faint">no notes yet</span>`),B=w(`<option> </option>`),Se=w(`<select class="field pickone svelte-nq8rms" aria-label="Add a note to test"><option> </option><!></select>`),Ce=w(`<button type="button" role="radio" class="svelte-nq8rms"> </button>`),we=w(`<div class="row svelte-nq8rms"><span class="label">tests</span> <!> <!> <button class="link svelte-nq8rms" type="button">[ + pick on the atlas ]</button></div> <div class="row svelte-nq8rms"><label class="in soft svelte-nq8rms"><span>in</span> <select class="field svelte-nq8rms" aria-label="Folder"><option>the top of the base</option><!></select></label> <label class="in soft svelte-nq8rms"><span>comes after</span> <select class="field svelte-nq8rms" aria-label="Comes after"><option>nothing</option><!></select></label></div> <div class="row svelte-nq8rms"><button class="btn primary tall" type="button"><i class="dia inverse svelte-nq8rms" aria-hidden="true"></i>send to Iso</button> <span class="tiers svelte-nq8rms" role="radiogroup" aria-label="Tier"></span> <span class="grow"></span> <button class="link faint svelte-nq8rms" type="button">[ discard ]</button></div>`,1),Te=w(`<span class="chip lattice svelte-nq8rms"> </span>`),Ee=w(`<span class="faint">no notes yet: type [[ in what you write, or</span>`),De=w(`<div class="row svelte-nq8rms"><span class="label">linked</span> <!> <button class="link svelte-nq8rms" type="button">[ + pick on the atlas ]</button></div> <div class="row svelte-nq8rms"><button class="btn primary tall" type="button"><i class="dia inverse svelte-nq8rms" aria-hidden="true"></i>send to Iso</button> <span class="tiers svelte-nq8rms" role="radiogroup" aria-label="Tier"></span> <span class="grow"></span> <button class="link faint svelte-nq8rms" type="button">[ discard ]</button></div>`,1),Oe=w(`<button class="btn primary tall" type="button">keep the exercise</button> <span class="soft where svelte-nq8rms"> <!></span>`,1),ke=w(`<option></option>`),Ae=w(`<button class="btn primary tall" type="button">keep as a note</button> <label class="in soft svelte-nq8rms"><span>in</span><input class="field svelte-nq8rms" placeholder="the top of the base" list="folders" autocomplete="off" aria-label="Folder"/><span class="faint">/</span></label> <datalist id="folders"></datalist>`,1),je=w(`<button class="btn edit" type="button">done</button>`),Me=w(`<button class="btn edit" type="button">edit</button>`),Ne=w(`<div class="row svelte-nq8rms"><!> <span class="grow"></span> <!> <button class="btn danger tall" type="button">discard</button></div> <div class="row svelte-nq8rms"><span class="label"> </span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ back to what I wrote ]</button></div>`,1),Pe=w(`<div class="col svelte-nq8rms"><!> <!> <!> <!></div> <div class="deck svelte-nq8rms"><!></div>`,1),Fe=w(`<article class="draft svelte-nq8rms"><!></article>`);function V(c,u){C(u,!0);let d=new re(u.id),f=new ie(d),w=g(``),D=g(!1),z=g(``),V=g(!1),H=e(()=>f.proposals.at(-1)),U=e(()=>i(H)?.text??``),W=e(()=>i(H)&&f.editing?.id===i(H).id?f.editing:null),G=e(()=>!i(H)&&!f.asking),Ie=e(()=>{let e=[...d.body.matchAll(/\]\(\/([^)\s#]+)\.md/g)].map(e=>decodeURIComponent(e[1]));return[...new Set(e)].flatMap(e=>{let t=R.listing.notes.find(t=>t.id===e);return t?[t]:[]})}),Le=e(()=>f.asking?.steps.at(-1)?.said??``),K=e(()=>d.meta?.type===`Exercise`),q=e(()=>i(K)&&d.meta?te(d.meta):[]),J=e(()=>i(K)?String(d.meta?.folder??``):``),Y=e(()=>i(K)?String(d.meta?.after??``):``),X=e=>R.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),Re=e(()=>R.listing.notes.filter(e=>e.dir===i(J)&&!i(q).includes(e.id)&&!e.id.startsWith(`@`))),Z=g(null);m(()=>{i(K)&&!i(Z)&&R.api.study().then(e=>h(Z,e),()=>void 0)});let ze=e(()=>i(K)?`An exercise on ${i(q).map(X).join(`, `)||`…`}`:``),Be=e(()=>{let e=/^\s*#[ \t]+(.+)\n?/.exec(i(U));return e?{title:e[1].trim(),question:i(U).slice(e[0].length).trim()}:{title:``,question:i(U).trim()}}),Ve=e=>d.setMeta({tests:e});E(()=>{R.open=u.id,d.open().then(()=>f.open());let e=()=>{d.save()};return addEventListener(`pagehide`,e),()=>{removeEventListener(`pagehide`,e),f.close(),d.close(),R.here=R.open=``,R.studying=!1,R.saving=null}}),m(()=>{R.here=d.loaded===`ready`?i(K)?`an exercise`:d.fields.title||`a new note`:``,R.studying=i(K),R.saving=d.loaded===`ready`&&i(G)?{text:d.saving===`saved`?`saved, outside your base`:d.saving===`failed`?`not saved: ${d.message}`:`saving`,bad:d.saving===`failed`}:null});async function He(){if(i(H)){h(z,``),h(V,!0);try{await d.save(),i(W)&&await f.done(i(H));let e=i(K)?await R.api.keepExercise(u.id,i(H).id):await R.api.keepDraft(u.id,i(H).id,i(w));await R.refresh(),await I(L(e.id))}catch(e){h(z,e.message,!0)}finally{h(V,!1)}}}async function Ue(){await d.save(),await I(`${F(`/atlas`)}?pick=${encodeURIComponent(u.id.slice(7))}`)}async function We(){if(i(K)){await f.send(`exercise`);return}let e=await f.send();e&&(R.watching=e,await I(F(`/atlas`)))}async function Q(){h(V,!0);try{await R.api.discardDraft(u.id),await I(F(i(K)?`/study`:`/notes`))}catch(e){h(z,e.message,!0),h(V,!1)}}var $=Fe(),Ge=a($),Ke=e=>{var t=oe();r(e,t)},qe=e=>{var n=se(),i=o(a(n)),s=k(i);y(n),t(e=>N(s,`href`,e),[()=>F(`/notes`)]),r(e,n)},Je=c=>{var u=Pe(),m=s(u),g=a(m),C=e=>{var n=ce(),a=o(s(n),2),c=k(a,!0);t(()=>p(c,i(ze))),r(e,n)},E=e=>{var n=le(),a=o(s(n),4);M(a),t(()=>{b(a,d.fields.title),a.readOnly=!i(G)}),l(`input`,a,e=>d.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),l(`keydown`,a,e=>{e.key===`Enter`&&e.preventDefault()}),r(e,n)};n(g,e=>{i(K)?e(C):e(E,-1)});var A=o(g,2),F=t=>{var a=de(),c=s(a),l=e=>{var t=ue();r(e,t)};n(c,e=>{i(K)&&e(l)});var u=o(c,2);{let t=e(()=>i(K)?`Nothing is needed here. Or say what the exercise should ask: a calculation, a proof, your own words, how hard.`:void 0);ae(u,{get note(){return d},source:!1,get placeholder(){return i(t)}})}r(t,a)},I=c=>{var u=ve(),m=s(u),g=e=>{var n=fe(),s=a(n);let c;var u=k(s,!0),f=o(s,2),m=k(f,!0);y(n),t(e=>{c=S(s,1,`serif soft svelte-nq8rms`,null,c,{fold:!i(D)}),p(u,e),p(m,i(D)?`[ fold ]`:`[ show all ]`)},[()=>d.body.trim()]),l(`click`,f,()=>h(D,!i(D))),r(e,n)},b=e(()=>d.body.trim());n(m,e=>{i(b)&&e(g)});var x=o(m,2);let C;var ee=a(x),w=e=>{var c=he(),u=s(c),d=e=>{var t=pe();_(t,()=>ne(f.asking.text),!0),y(t),r(e,t)};n(u,e=>{f.asking.text&&e(d)});var m=o(u,2),h=o(a(m),2),g=a(h,!0),v=o(g),b=e=>{var n=me(),a=k(n);t(()=>p(a,`· ${i(Le)??``}`)),r(e,n)};n(v,e=>{i(Le)&&e(b)}),y(h);var x=o(h,4);y(m),t(()=>p(g,f.asking.text?`Iso is writing`:`Iso is thinking`)),l(`click`,x,()=>f.halt()),r(e,c)},T=e=>{var n=ge();M(n),t(e=>N(n,`rows`,e),[()=>Math.max(6,i(W).text.split(`
|
|
2
|
-
`).length+1)]),v(n,()=>i(W).text,e=>i(W).text=e),r(e,n)},E=e=>{var n=_e(),a=s(n),c=k(a,!0),l=o(a,2);_(l,()=>ne(i(Be).question),!0),y(l),j(2),t(()=>p(c,i(Be).title||`an exercise`)),r(e,n)},O=e=>{var t=pe();_(t,()=>ne(i(U)),!0),y(t),r(e,t)};n(ee,e=>{f.asking?e(w):i(W)?e(T,1):i(K)?e(E,2):e(O,-1)}),y(x),t(e=>C=S(x,1,`between svelte-nq8rms`,null,C,{working:e}),[()=>!!f.asking]),r(c,u)};n(A,e=>{i(G)?e(F):e(I,-1)});var L=o(A,2),te=e=>{var n=ye(),i=k(n,!0);t(()=>p(i,f.failed.message)),r(e,n)};n(L,e=>{f.failed&&e(te)});var re=o(L,2),ie=e=>{var n=ye(),a=k(n,!0);t(()=>p(a,i(z))),r(e,n)};n(re,e=>{i(z)&&e(ie)}),y(m);var oe=o(m,2),se=a(oe),Fe=e=>{var c=we(),u=s(c),m=o(a(u),2);P(m,16,()=>i(q),e=>e,(e,n)=>{var s=be(),c=a(s,!0),u=o(c);y(s),t((e,t)=>{p(c,e),N(u,`aria-label`,t)},[()=>X(n),()=>`Not ${X(n)}`]),l(`click`,u,()=>Ve(i(q).filter(e=>e!==n))),r(e,s)},e=>{var t=xe();r(e,t)});var h=o(m,2),g=e=>{var n=Se(),s=a(n),c=k(s);s.value=s.__value=``;var u=o(s);P(u,17,()=>i(Re),e=>e.id,(e,n)=>{var a=B(),o=k(a,!0),s={};t(()=>{p(o,i(n).title),s!==(s=i(n).id)&&(a.value=(a.__value=s)??``)}),r(e,a)}),y(n),n.value=n.__value=``,t(()=>p(c,`+ a note in ${(i(J)||`the top of the base`)??``}`)),l(`change`,n,e=>{let t=e.currentTarget.value;e.currentTarget.value=``,t&&Ve([...i(q),t])}),r(e,n)};n(h,e=>{i(Re).length&&e(g)});var _=o(h,2);y(u);var v=o(u,2),b=a(v),S=o(a(b),2),C=a(S);C.value=C.__value=``;var ee=o(C);P(ee,16,()=>R.listing.dirs,e=>e,(e,n)=>{var i=B(),a=k(i,!0),o={};t(()=>{p(a,n),o!==(o=n)&&(i.value=(i.__value=o)??``)}),r(e,i)}),y(S);var w;x(S),y(b);var T=o(b,2),E=o(a(T),2),D=a(E);D.value=D.__value=``;var A=o(D);P(A,17,()=>i(Z)?.exercises??[],e=>e.id,(e,n)=>{var a=B(),o=k(a,!0),s={};t(e=>{p(o,i(n).title),s!==(s=e)&&(a.value=(a.__value=s)??``)},[()=>i(n).id.slice(7)]),r(e,a)}),y(E);var j;x(E),y(T),y(v);var M=o(v,2),F=a(M),I=o(F,2);P(I,20,()=>[`low`,`mid`,`max`],e=>e,(e,n)=>{var i=Ce(),a=k(i,!0);t(()=>{N(i,`aria-checked`,f.tier===n),p(a,n)}),l(`click`,i,()=>f.setTier(n)),r(e,i)}),y(I);var L=o(I,4);y(M),t(()=>{w!==(w=i(J))&&(S.value=(S.__value=w)??``,O(S,w)),j!==(j=i(Y))&&(E.value=(E.__value=j)??``,O(E,j)),F.disabled=!i(q).length,L.disabled=i(V)}),l(`click`,_,Ue),l(`change`,S,e=>d.setMeta({folder:e.currentTarget.value})),l(`change`,E,e=>d.setMeta({after:e.currentTarget.value||null})),l(`click`,F,We),l(`click`,L,Q),r(e,c)},$=e=>{var n=De(),c=s(n),u=o(a(c),2);P(u,17,()=>i(Ie),e=>e.id,(e,n)=>{var a=Te(),o=k(a,!0);t(()=>p(o,i(n).title)),r(e,a)},e=>{var t=Ee();r(e,t)});var m=o(u,2);y(c);var h=o(c,2),g=a(h),_=o(g,2);P(_,20,()=>[`low`,`mid`,`max`],e=>e,(e,n)=>{var i=Ce(),a=k(i,!0);t(()=>{N(i,`aria-checked`,f.tier===n),p(a,n)}),l(`click`,i,()=>f.setTier(n)),r(e,i)}),y(_);var v=o(_,4);y(h),t(e=>{g.disabled=e,v.disabled=i(V)},[()=>!d.body.trim()]),l(`click`,m,Ue),l(`click`,g,We),l(`click`,v,Q),r(e,n)},Ge=e=>{var c=Ne(),u=s(c),d=a(u),m=e=>{var c=Oe(),u=s(c),d=o(u,2),f=a(d),m=o(f),h=e=>{var n=ee();t(e=>p(n,`, after ${e??``}`),[()=>i(Z)?.exercises.find(e=>e.id===`@study/${i(Y)}`)?.title??i(Y)]),r(e,n)};n(m,e=>{i(Y)&&e(h)}),y(d),t(()=>{u.disabled=i(V),p(f,`in ${(i(J)||`the top of the base`)??``}`)}),l(`click`,u,He),r(e,c)},g=e=>{var n=Ae(),c=s(n),u=o(c,2),d=o(a(u));T(d),j(),y(u);var f=o(u,2);P(f,20,()=>R.listing.dirs,e=>e,(e,n)=>{var i=ke(),a={};t(()=>{a!==(a=n)&&(i.value=(i.__value=a)??``)}),r(e,i)}),y(f),t(()=>c.disabled=i(V)),l(`click`,c,He),v(d,()=>i(w),e=>h(w,e)),r(e,n)};n(d,e=>{i(K)?e(m):e(g,-1)});var _=o(d,4),b=e=>{var t=je();l(`click`,t,()=>f.done(i(H))),r(e,t)},x=e=>{var t=Me();l(`click`,t,()=>f.edit(i(H))),r(e,t)};n(_,e=>{i(W)?e(b):e(x,-1)});var S=o(_,2);y(u);var C=o(u,2),E=a(C),D=k(E),O=o(E,4);y(C),t(e=>{S.disabled=i(V),p(D,`${e??``}${i(H).notice?` · ${i(H).notice}`:``}`),O.disabled=i(V)},[()=>i(H).cost?`${i(H).cost.tier} · $${i(H).cost.usd.toFixed(3)}`:``]),l(`click`,S,Q),l(`click`,O,()=>f.discard(i(H))),r(e,c)};n(se,e=>{i(G)&&i(K)?e(Fe):i(G)?e($,1):i(H)&&e(Ge,2)}),y(oe),r(c,u)};n(Ge,e=>{d.loaded===`loading`?e(Ke):d.loaded===`ready`?e(Je,-1):e(qe,1)}),y($),r(c,$),A()}c([`input`,`keydown`,`click`,`change`]);function H(e,t){C(t,!1),D();var n=u(),a=s(n);f(a,()=>z.params.id,e=>{{let t=d(()=>`@draft/${z.params.id??``}`);V(e,{get id(){return i(t)}})}}),r(e,n),A()}export{H as component};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,C as r,D as i,F as a,G as o,J as s,K as c,M as l,N as u,O as d,P as f,Q as p,S as m,T as h,V as g,W as _,X as v,Y as y,Z as b,ct as x,d as S,h as C,it as w,j as ee,k as T,l as E,n as D,o as O,q as k,rt as A,s as te,st as ne,tt as re,u as j,x as M}from"../chunks/BD1Dpm2e.js";import{o as ie,t as ae}from"../chunks/CWYACT2V.js";import"../chunks/xihTtKlq.js";import{n as oe,t as N}from"../chunks/gRYnlonl.js";import{t as P}from"../chunks/B-si2ell.js";import"../chunks/DtAOoM-T.js";import"../chunks/CdQZ-ArP.js";import{_ as se,d as F,m as ce,n as le,o as I,p as ue,r as de,t as L,u as R}from"../chunks/DN3dk6rD.js";import{i as z,n as fe,r as pe,t as me}from"../chunks/C0fpmehI.js";import{i as he,n as ge,o as _e,r as B,t as ve}from"../chunks/DykrN7z5.js";var ye=e=>e<=0?0:e<=2?1:e<=4?2:3;function V(e,t){let n=t.length?6:0,r=!1;for(let i of t){let t=e.get(i);n=Math.min(n,t?.squares??0),r||=!!t?.due}return{squares:n,step:ye(n),due:r}}var H=e=>`isorite.answer.${e}`;function U(e){try{let t=JSON.parse(localStorage.getItem(H(e))??`null`);return t&&typeof t.text==`string`&&typeof t.nth==`number`?t:null}catch{return null}}function W(e,t){try{t?localStorage.setItem(H(e),JSON.stringify(t)):localStorage.removeItem(H(e))}catch{}}function be(e){let t=e>0?`+`:e<0?`−`:``,n=Math.abs(e);return n===0?`0`:t+(n===.5?`½`:n===1?`1`:String(n))}var xe=class{note;iso;stop=null;#e=b(null);get answer(){return a(this.#e)}set answer(e){v(this.#e,e)}#t=b(null);get study(){return a(this.#t)}set study(e){v(this.#t,e)}#n=b(null);get marking(){return a(this.#n)}set marking(e){v(this.#n,e,!0)}#r=b(``);get failed(){return a(this.#r)}set failed(e){v(this.#r,e,!0)}#i=b(0);get flash(){return a(this.#i)}set flash(e){v(this.#i,e,!0)}constructor(e,t){this.note=e,this.iso=t,this.answer=U(e.id)}#a=e(()=>L(this.note.text));get ex(){return a(this.#a)}set ex(e){v(this.#a,e)}#o=e(()=>this.note.meta?.type===`Exercise`);get is(){return a(this.#o)}set is(e){v(this.#o,e)}#s=e(()=>{if(!this.answer)return null;let e=I(this.note.text,this.answer);return e&&e.from>=this.ex.from?e:null});get answerAt(){return a(this.#s)}set answerAt(e){v(this.#s,e)}#c=e(()=>{let e=this.iso.cursor;if(!e||e.to<=e.from||e.from<this.ex.from)return null;let{from:t,to:n}=e,r=this.note.text;for(;t<n&&/\s/.test(r[t]);)t++;for(;n>t&&/\s/.test(r[n-1]);)n--;return n>t?{from:t,to:n}:null});get selection(){return a(this.#c)}set selection(e){v(this.#c,e)}#l=e(()=>this.iso.entries.filter(e=>e.kind===`marks`).at(-1)??null);get last(){return a(this.#l)}set last(e){v(this.#l,e)}#u=e(()=>this.last?le(this.note.text,this.last.marks).filter(e=>e.from>=this.ex.from):[]);get marks(){return a(this.#u)}set marks(e){v(this.#u,e)}#d=e(()=>({right:this.marks.filter(e=>e.mark===`right`).length,wrong:this.marks.filter(e=>e.mark===`wrong`).length}));get counts(){return a(this.#d)}set counts(e){v(this.#d,e)}#f=e(()=>{let e=new Map;for(let[t,n]of Object.entries(this.study?.notes??{}))e.set(t,{...n,lapsed:!1,last:null,evidence:[]});return V(e,this.ex.tests)});get squares(){return a(this.#f)}set squares(e){v(this.#f,e)}#p=e(()=>{let e=this.last;return e?this.ex.tests.flatMap(t=>{let n=this.study?.notes[t]?.evidence.find(t=>t.marks===e.id);return n?[{note:t,by:n.by}]:[]}):[]});get moves(){return a(this.#p)}set moves(e){v(this.#p,e)}async open(){this.stop=N.on(e=>{e.type===`record`&&this.reread(),!this.marking||!(`request`in e)||this.marking&&e.request!==this.marking?e.type===`iso-start`&&this.marking===``&&e.note===this.note.id&&(this.marking=e.request):e.type===`iso-done`?(this.marking=null,this.reread().then(()=>{this.last?.result===`right`&&this.flash++})):e.type===`iso-failed`?(this.marking=null,this.failed=e.message):e.type===`iso-stopped`&&(this.marking=null)}),await this.reread()}close(){this.stop?.()}async reread(){try{this.study=await N.api.study()}catch{}}markAnswer(){let e=this.selection;e&&(this.answer=F(this.note.text,e.from,e.to),W(this.note.id,this.answer))}clearAnswer(){this.answer=null,W(this.note.id,null)}async send(){if(this.marking===null&&this.answerAt){this.failed=``,this.marking=``;try{await this.note.save();let e=this.answerAt;if(!e)throw Error(`the answer you marked is no longer in the working`);let t=F(this.note.text,e.from,e.to),{request:n}=await N.api.ask({note:this.note.id,form:`mark`,answer:t,tier:this.iso.tier});this.marking===``&&(this.marking=n)}catch(e){this.marking=null,this.failed=e.message}}}async windBack(){try{await N.api.windBack(this.note.id),await this.reread()}catch(e){this.failed=e.message}}},G=T(`<option></option>`),K=T(`<div class="details svelte-1khbtcu"><label class="svelte-1khbtcu"><span>type</span><input list="types" autocomplete="off" class="svelte-1khbtcu"/></label> <label class="wide svelte-1khbtcu"><span>tags</span><input placeholder="none" autocomplete="off" class="svelte-1khbtcu"/></label> <label class="full svelte-1khbtcu"><span>description</span><input placeholder="one line on what this note says" autocomplete="off" class="svelte-1khbtcu"/></label> <datalist id="types"></datalist></div>`);function Se(t,r){w(r,!0);let c=e(()=>[...new Set(N.listing.notes.map(e=>e.type).filter(Boolean))].sort());var l=K(),d=o(l),f=s(o(d));E(f),x(d);var p=s(d,2),m=s(o(p));E(m),x(p);var h=s(p,2),g=s(o(h));E(g),x(h);var _=s(h,2);M(_,20,()=>a(c),e=>e,(e,t)=>{var r=G(),a={};n(()=>{a!==(a=t)&&(r.value=(r.__value=a)??``)}),i(e,r)}),x(_),x(l),n(e=>{S(f,r.note.fields.type),j(f,`size`,e),S(m,r.note.fields.tags),S(g,r.note.fields.description)},[()=>Math.max(7,r.note.fields.type.length)]),u(`input`,f,e=>r.note.setFields({type:e.currentTarget.value})),u(`change`,m,e=>r.note.setFields({tags:e.currentTarget.value})),u(`input`,g,e=>r.note.setFields({description:e.currentTarget.value})),i(t,l),A()}l([`input`,`change`]);var q=T(`<h1 class="serif title svelte-130pv1o"> </h1>`),J=T(`<p class="asked svelte-130pv1o"><i class="dia svelte-130pv1o" aria-hidden="true"></i><span> </span></p>`),Y=T(`<div class="offered svelte-130pv1o" aria-label="What Iso offered"><p class="serif svelte-130pv1o"> </p></div>`),X=T(`<div class="version svelte-130pv1o"><!> <!> <div class="text svelte-130pv1o"></div> <!></div>`);function Ce(t,c){w(c,!0);let l=e(()=>{try{let[e,t,n]=se(c.text);return{title:/^title:\s*(.*)$/m.exec(t??``)?.[1]?.trim().replace(/^["']|["']$/g,``)??``,body:n,lines:e.split(`
|
|
2
|
-
`).length-1}}catch{return{title:``,body:c.text,lines:0}}}),u,d=b(void 0);D(()=>(v(d,ge(u,{doc:a(l).body,onChange:()=>void 0,onSave:()=>void 0,label:`The note as it was`,notes:()=>[],readOnly:!0})),()=>a(d)?.destroy())),g(()=>{let e=c.touched,t=a(l).lines;a(d)?.dispatch({effects:B.of(e?{who:e.who,lines:e.lines.map(e=>e-t)}:null)})});var f=X(),p=o(f),m=e=>{var t=q(),r=k(t,!0);n(()=>h(r,a(l).title)),i(e,t)};r(p,e=>{a(l).title&&a(l).title!==c.title&&e(m)});var _=s(p,2),y=e=>{var t=J(),r=s(o(t)),a=k(r,!0);x(t),n(()=>h(a,c.asked)),i(e,t)};r(_,e=>{c.asked!==void 0&&e(y)});var S=s(_,2);te(S,e=>u=e,()=>u);var C=s(S,2),ee=e=>{var t=Y(),r=o(t),a=k(r,!0);x(t),n(()=>h(a,c.offered)),i(e,t)};r(C,e=>{c.offered!==void 0&&e(ee)}),x(f),i(t,f),A()}var we=e=>{var t=Z();i(e,t)},Z=t(`<svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M8 1v14" stroke="currentColor" stroke-width="1.2" fill="none"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor"></path><rect x="5.5" y="12" width="5" height="3" fill="none" stroke="currentColor" stroke-width="1.2"></rect></svg>`),Te=T(`<p class="faint">opening…</p>`),Ee=T(`<p class="soft">There is no note at <span class="faint"> </span>.</p> <p><a>all notes</a></p>`,1),De=T(`<p class="bad svelte-18ltlst"> </p>`),Oe=T(`<button class="btn" type="button">take theirs</button>`),ke=T(`<div class="frame choice svelte-18ltlst" role="alert"><span class="frame-title">changed elsewhere</span> <p> </p> <div class="row svelte-18ltlst"><button class="btn primary" type="button">keep mine</button> <!></div> <p class="faint">Whichever you keep, the other stays in the note's journal.</p></div>`),Ae=T(`<i></i>`),je=T(`<span class="label">due</span>`),Me=T(`<div class="evidence label svelte-18ltlst"><span class="by svelte-18ltlst"> </span><span> </span><span class="grow"></span><span> </span></div>`),Ne=T(`<div class="evidence label svelte-18ltlst">nothing yet</div>`),Pe=T(`<div class="reading svelte-18ltlst"><span class="soft"> </span> <span class="squares svelte-18ltlst"></span> <!></div> <!>`,1),Fe=T(`<div class="frame why svelte-18ltlst" role="region" aria-label="Iso's read of you"><span class="frame-title">Iso's read of you</span> <!> <div class="row svelte-18ltlst"><span class="label">rated too highly? one square down for each note it tests</span><span class="grow"></span><button class="link svelte-18ltlst" type="button">[ wind back ]</button></div></div>`),Ie=T(`<a> </a>`),Le=T(`<span class="faint">nothing: name a note in its tests</span>`),Re=T(`<div class="tests svelte-18ltlst"><span class="label"> </span> <!> <span class="grow"></span> <div class="tools svelte-18ltlst"><button class="icon svelte-18ltlst" type="button" aria-label="timeline" title="timeline"><!></button> <button class="btn quiet svelte-18ltlst" type="button">details</button> <button class="btn quiet svelte-18ltlst" type="button">source</button></div></div>`),ze=T(`<label class="hidden-label" for="title">Title</label> <textarea id="title" class="serif title svelte-18ltlst" rows="1" autocomplete="off"></textarea>`,1),Be=T(`<span class="grow faint"> </span>`),Ve=T(`<button class="icon svelte-18ltlst" type="button" aria-label="timeline" title="timeline"><!></button>`),He=T(`<button class="btn quiet svelte-18ltlst" type="button">details</button>`),Ue=T(`<span class="bad svelte-18ltlst" role="alert"> </span>`),We=T(`<div class="margin svelte-18ltlst" role="group" aria-label="Iso's read of you"><span class="squares svelte-18ltlst"></span> <!> <span class="label"> </span> <button class="link svelte-18ltlst" type="button">[ + an exercise ]</button> <!></div>`),Ge=T(`<div class="head svelte-18ltlst"><!> <div class="side svelte-18ltlst"><div class="tools svelte-18ltlst"><!> <!> <button class="btn quiet svelte-18ltlst" type="button">source</button></div> <!></div></div>`),Ke=T(`<div class="tl-col svelte-18ltlst"><!></div>`),qe=T(`<div class="atbar svelte-18ltlst" role="status"><span class="label"> </span> <span class="grow"></span> <!> <button class="icon svelte-18ltlst" type="button" aria-label="restore to here" title="restore to here"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M3.2 9.5A5 5 0 1 0 4.6 4.3" stroke="currentColor" stroke-width="1.3" fill="none"></path><path d="M3 1.8v3.4h3.4" stroke="currentColor" stroke-width="1.3" fill="none"></path></svg></button> <button class="icon svelte-18ltlst" type="button" aria-label="back to now" title="back to now"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M2 8h9M8 4.8 11.2 8 8 11.2" stroke="currentColor" stroke-width="1.3" fill="none"></path><path d="M13.5 3v10" stroke="currentColor" stroke-width="1.3"></path></svg></button></div> <!>`,1),Je=T(`<button class="btn" type="button">mark as answer</button>`),Ye=T(`<span class="label">Iso is marking</span>`),Xe=T(`<span class="label">select a part of your working, then mark it as your answer</span>`),Ze=T(`<span class="label moves svelte-18ltlst">moves: <!></span>`),Qe=T(`<span class="label"> </span>`),$e=T(`<div class="foot svelte-18ltlst"><!> <button class="btn primary tall svelte-18ltlst" type="button"> </button> <!> <span class="grow"></span> <!></div>`),et=T(`<div class="changes svelte-18ltlst" role="status"><i class="dia svelte-18ltlst" aria-hidden="true"></i> <span class="soft"> </span> <span class="grow"></span> <button class="link svelte-18ltlst" type="button">[ keep all ]</button> <button class="link svelte-18ltlst" type="button">[ remove all ]</button></div>`),tt=T(`<div class="seed svelte-18ltlst"><button class="field svelte-18ltlst" type="button"><span class="faint">›</span><span class="faint">ask Iso here</span></button></div>`),nt=T(`<!> <!> <!> <!> <!> <!> <div class="live"><!></div> <!> <!> <!>`,1),rt=T(`<article><!></article>`);function it(t,l){w(l,!0);let d=new he(l.id),p=new _e(d),T=de(l.id)?new xe(d,p):null,E=e(()=>T?.is?T:null),O=b(!1),te={written:`written response`},P=e=>N.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),se=!l.id.startsWith(`@`)&&!!N.session?.study,F=b(null),le=b(``),I=e(()=>a(F)?.notes[l.id]),L=e(()=>a(F)?.exercises.filter(e=>e.tests.includes(l.id)).length??0),ge=[`not reached`,`opened`,`worked through`,`understood`];async function B(){try{v(F,await N.api.study())}catch{}}async function ye(){try{let e=await N.api.createExerciseDraft(N.listing.notes.find(e=>e.id===l.id)?.dir??l.id.split(`/`).slice(0,-1).join(`/`),[l.id]);await ae(ie(`/draft/[id]`,{id:e.id.slice(7)}))}catch(e){v(le,e.message,!0)}}let V=e=>{try{return localStorage.getItem(e)===`1`}catch{return!1}},H=(e,t)=>{try{localStorage.setItem(e,t?`1`:`0`)}catch{}},U=b(y(V(`isorite.details`))),W=b(!1),G=e(()=>a(W)||d.meta===null),K=b(y(V(`isorite.timeline`))),q=b(null),J=b(null),Y=b(!1),X=b(``),Z=e(()=>R(p.entries)),it=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`),at=e=>e.flatMap(e=>Array.from({length:e.to-e.from},(t,n)=>e.from+n)),ot=e(()=>{if(!a(K)||a(J)||a(G))return null;let e=a(q)??a(Z).findLast(e=>it(e)&&e.what===`kept`);if(!e)return null;let t=at(ce(p.entries,e.ids).runs);return t.length?{who:it(e)?`iso`:`you`,lines:t}:null}),Q=e(()=>{if(!a(J))return null;let e=z(a(J)),t=ue(p.entries,e);if(t===null)return null;let n=p.entries.filter(t=>t.id<=e),r=p.entries.find(e=>e.id===a(J).ids[0]),i=(a(J).what===`offered`||a(J).what===`discarded`)&&r?.kind===`proposal`?r.form===`insert`?r.text:r.regions.map(e=>e.new).join(`
|
|
3
|
-
|
|
4
|
-
`):void 0;return{text:t,touched:{who:it(a(J))?`iso`:`you`,lines:at(ce(n,a(J).ids).runs)},asked:a(J).asked,offered:i}}),st=new URLSearchParams(location.hash.split(`?`)[1]??``).get(`at`);g(()=>{if(!st)return;let e=a(Z).find(e=>e.ids.includes(st));e&&(st=null,v(K,!0),v(J,e))});function ct(){v(K,!a(K)),H(`isorite.timeline`,a(K)),a(K)||(v(J,null),v(q,null))}function lt(e){v(X,``),v(J,a(J)===e?null:e)}function ut(e){if(!a(J))return;let t=a(Z).indexOf(a(J))+e;t>=0&&t<a(Z).length&&v(J,a(Z)[t])}async function dt(){if(a(J)){v(Y,!0),v(X,``);try{await d.restore(z(a(J))),v(J,null)}catch(e){v(X,e.message,!0)}finally{v(Y,!1)}}}function ft(e){!a(J)||e.altKey||e.ctrlKey||e.metaKey||e.target instanceof HTMLElement&&(e.target.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(e.target.tagName))||(e.key===`ArrowLeft`||e.key===`ArrowUp`?(e.preventDefault(),ut(-1)):e.key===`ArrowRight`||e.key===`ArrowDown`?(e.preventDefault(),ut(1)):e.key===`Escape`&&(e.preventDefault(),v(J,null)))}D(()=>{N.open=l.id,d.open().then(()=>p.open()),T?.open();let e=se?N.on(e=>{(e.type===`record`||e.type===`note-changed`&&e.id.startsWith(`@study/`))&&B()}):null;se&&B();let t=()=>{d.save()};return addEventListener(`pagehide`,t),document.addEventListener(`visibilitychange`,t),()=>{removeEventListener(`pagehide`,t),e?.(),document.removeEventListener(`visibilitychange`,t),p.close(),T?.close(),N.exercise=null,N.hint=``,d.close(),N.here=``,N.open=``,N.saving=null}}),g(()=>{N.exercise=a(E)?{kind:te[a(E).ex.kind]??a(E).ex.kind,squares:a(E).squares.squares,due:a(E).squares.due,flash:a(E).flash,windBack:()=>void a(E).windBack(),why:()=>v(O,!a(O)),next:a(E).ex.next?`@study/${a(E).ex.next}`:null}:null,N.hint=a(E)?`write as much as you like · only what you mark is your answer`:``});let pt={saved:`saved`,unsaved:`not saved yet`,saving:`saving`,conflict:`changed elsewhere: choose below`,failed:`not saved`};g(()=>{N.here=d.loaded===`ready`?d.fields.title||l.id.split(`/`).at(-1):``,N.saving=d.loaded===`ready`?{text:d.saving===`failed`?`not saved: ${d.message}`:pt[d.saving],bad:d.saving===`failed`||d.saving===`conflict`}:null});var $=rt();f(`keydown`,_,ft);let mt;var ht=o($),gt=e=>{var t=Te();i(e,t)},_t=e=>{var t=Ee(),r=c(t),a=s(o(r)),u=k(a,!0);ne(),x(r);var d=s(r,2),f=k(d);n(e=>{h(u,l.id),j(f,`href`,e)},[()=>ie(`/notes`)]),i(e,t)},vt=e=>{var t=De(),r=k(t,!0);n(()=>h(r,d.message)),i(e,t)},yt=t=>{var f=nt(),g=c(f),_=e=>{var t=ke(),a=s(o(t),2),c=k(a,!0),l=s(a,2),f=o(l),p=s(f,2),m=e=>{var t=Oe();u(`click`,t,()=>d.keepTheirs()),i(e,t)};r(p,e=>{d.theirs&&e(m)}),x(l),ne(2),x(t),n(()=>h(c,d.theirs===null?`This note was deleted or moved while you were writing.`:`This note was changed somewhere else while you were writing. Nothing here has been saved over it.`)),u(`click`,f,()=>d.keepMine()),i(e,t)};r(g,e=>{d.saving===`conflict`&&e(_)});var y=s(g,2),b=t=>{var l=Fe(),d=s(o(l),2);M(d,16,()=>a(E).ex.tests,e=>e,(t,l)=>{let u=e(()=>a(E).study?.notes[l]);var d=Pe(),f=c(d),p=o(f),m=k(p,!0),g=s(p,2);M(g,20,()=>[0,1,2,3,4,5],e=>e,(e,t)=>{var r=Ae();let o;n(()=>o=C(r,1,`pip`,null,o,{lv:t<(a(u)?.squares??0)})),i(e,r)}),x(g);var _=s(g,2),v=e=>{var t=je();i(e,t)};r(_,e=>{a(u)?.due&&e(v)}),x(f);var y=s(f,2);M(y,17,()=>[...a(u)?.evidence??[]].reverse(),e=>e.id,(e,t)=>{var r=Me(),c=o(r),l=k(c,!0),u=s(c),d=k(u,!0),f=s(u,2),p=k(f,!0);x(r),n((e,n)=>{h(l,e),h(d,a(t).event===`wind-back`?`you wound it back`:a(t).why||(a(t).result??``)),h(p,n)},[()=>be(a(t).by),()=>a(t).at.slice(0,10)]),i(e,r)},e=>{var t=Ne();i(e,t)}),n(e=>{h(m,e),j(g,`aria-label`,`${a(u)?.squares??0??``} of 6`)},[()=>P(l)]),i(t,d)});var f=s(d,2),p=s(o(f),2);x(f),x(l),u(`click`,p,()=>a(E).windBack()),i(t,l)};r(y,e=>{a(E)&&a(O)&&e(b)});var w=s(y,2),T=e=>{var t=Re(),r=o(t),c=k(r),l=s(r,2);M(l,16,()=>a(E).ex.tests,e=>e,(e,t)=>{var r=Ie(),a=k(r,!0);n((e,t)=>{j(r,`href`,e),h(a,t)},[()=>oe(t),()=>P(t)]),i(e,r)},e=>{var t=Le();i(e,t)});var f=s(l,4),p=o(f);we(o(p)),x(p);var m=s(p,2),g=s(m,2);x(f),x(t),n(()=>{h(c,`${te[a(E).ex.kind]??a(E).ex.kind??``} · tests`),j(p,`aria-pressed`,a(K)),j(m,`aria-pressed`,a(U)),j(g,`aria-pressed`,a(G)),g.disabled=d.meta===null}),u(`click`,p,ct),u(`click`,m,()=>{v(U,!a(U)),H(`isorite.details`,a(U))}),u(`click`,g,()=>v(W,!a(W))),i(e,t)},D=e=>{var t=Ge(),f=o(t),p=e=>{var t=ze(),r=s(c(t),2);re(r),n(e=>{S(r,d.fields.title),j(r,`placeholder`,e)},[()=>l.id.split(`/`).at(-1)]),u(`input`,r,e=>d.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),u(`keydown`,r,e=>{e.key===`Enter`&&e.preventDefault()}),i(e,t)},m=e=>{var t=Be(),r=k(t);n(()=>h(r,`${l.id??``}.md${d.meta===null?`: the frontmatter cannot be read, so the file is shown as it is`:``}`)),i(e,t)};r(f,e=>{a(G)?e(m,-1):e(p)});var g=s(f,2),_=o(g),y=o(_),b=e=>{var t=Ve();we(o(t)),x(t),n(()=>j(t,`aria-pressed`,a(K))),u(`click`,t,ct),i(e,t)};r(y,e=>{a(G)||e(b)});var w=s(y,2),ee=e=>{var t=He();n(()=>j(t,`aria-pressed`,a(U))),u(`click`,t,()=>{v(U,!a(U)),H(`isorite.details`,a(U))}),i(e,t)};r(w,e=>{a(G)||e(ee)});var T=s(w,2);x(_);var E=s(_,2),D=e=>{var t=We(),c=o(t);M(c,20,()=>[0,1,2,3,4,5],e=>e,(e,t)=>{var r=Ae();let o;n(()=>o=C(r,1,`pip`,null,o,{lv:t<(a(I)?.squares??0)})),i(e,r)}),x(c);var d=s(c,2),f=e=>{var t=Ie(),r=k(t);n(e=>{j(t,`href`,e),h(r,`${a(L)??``} ${a(L)===1?`exercise`:`exercises`}`)},[()=>`${ie(`/study`)}?note=${encodeURIComponent(l.id)}`]),i(e,t)};r(d,e=>{a(L)&&e(f)});var p=s(d,2),m=k(p),g=s(p,2),_=s(g,2),v=e=>{var t=Ue(),r=k(t,!0);n(()=>h(r,a(le))),i(e,t)};r(_,e=>{a(le)&&e(v)}),x(t),n(()=>{j(c,`aria-label`,`${a(I)?.squares??0??``} of 6`),h(m,`${ge[a(I)?.step??0]??``}${a(I)?.due?` · due`:``}`)}),u(`click`,g,ye),i(e,t)};r(E,e=>{se&&!a(G)&&a(F)&&e(D)}),x(g),x(t),n(()=>{j(T,`aria-pressed`,a(G)),T.disabled=d.meta===null}),u(`click`,T,()=>v(W,!a(W))),i(e,t)};r(w,e=>{a(E)&&!a(G)?e(T):e(D,-1)});var A=s(w,2),ae=e=>{Se(e,{get note(){return d}})};r(A,e=>{a(U)&&!a(G)&&e(ae)});var N=s(A,2),ce=t=>{var n=Ke(),r=o(n);{let t=e(()=>a(J)?z(a(J)):null);me(r,{get moments(){return a(Z)},get at(){return a(t)},get pointed(){return a(q)},point:e=>v(q,e),pick:lt})}x(n),i(t,n)};r(N,e=>{a(K)&&!a(G)&&e(ce)});var ue=s(N,2),de=e=>{var t=qe(),l=c(t),f=o(l),p=k(f),g=s(f,4),_=e=>{var t=Ue(),r=k(t,!0);n(()=>h(r,a(X))),i(e,t)};r(g,e=>{a(X)&&e(_)});var y=s(g,2),b=s(y,2);x(l);var S=s(l,2);m(S,()=>z(a(J)),e=>{Ce(e,{get text(){return a(Q).text},get title(){return d.fields.title},get touched(){return a(Q).touched},get asked(){return a(Q).asked},get offered(){return a(Q).offered}})}),n((e,t)=>{h(p,`${e??``} · ${t??``}`),y.disabled=a(Y)||a(Q).text===d.text},[()=>pe(a(J)),()=>fe(a(J).at)]),u(`click`,y,dt),u(`click`,b,()=>v(J,null)),i(e,t)};r(ue,e=>{a(J)&&a(Q)&&e(de)});var R=s(ue,2),he=o(R);m(he,()=>a(G),t=>{{let n=e(()=>a(E)??void 0);ve(t,{get note(){return d},get iso(){return p},get exercise(){return a(n)},get source(){return a(G)},get touched(){return a(ot)}})}}),x(R);var _e=s(R,2),B=e=>{var t=$e(),c=o(t),l=e=>{var t=Je();u(`mousedown`,t,e=>e.preventDefault()),u(`click`,t,()=>a(E).markAnswer()),i(e,t)};r(c,e=>{a(E).selection&&!(a(E).answerAt&&a(E).answerAt.from===a(E).selection.from&&a(E).answerAt.to===a(E).selection.to)&&e(l)});var d=s(c,2),f=k(d,!0),p=s(d,2),m=e=>{var t=Ye();i(e,t)},g=e=>{var t=Ue(),r=k(t,!0);n(()=>h(r,a(E).failed)),i(e,t)},_=e=>{var t=Xe();i(e,t)},v=e=>{var t=Ze(),r=s(o(t));M(r,19,()=>a(E).moves,e=>e.note,(e,t,r)=>{ne();var o=ee();n((e,t)=>h(o,`${a(r)?`, `:``}${e??``} ${t??``}`),[()=>P(a(t).note),()=>be(a(t).by)]),i(e,o)}),x(t),i(e,t)};r(p,e=>{a(E).marking===null?a(E).failed?e(g,1):a(E).answerAt?a(E).last&&e(v,3):e(_,2):e(m)});var y=s(p,4),b=e=>{var t=Qe(),r=k(t);n(e=>h(r,`${a(E).last.cost.tier??``} · $${e??``}`),[()=>a(E).last.cost.usd.toFixed(3)]),i(e,t)};r(y,e=>{a(E).last?.cost&&a(E).marking===null&&e(b)}),x(t),n(()=>{d.disabled=!a(E).answerAt||a(E).marking!==null,h(f,a(E).marking===null?a(E).last?`mark it again`:`send for marking`:`marking…`)}),u(`click`,d,()=>a(E).send()),i(e,t)};r(_e,e=>{a(E)&&!a(G)&&!a(J)&&e(B)});var V=s(_e,2),xe=e=>{var t=et(),r=s(o(t),2),a=k(r),c=s(r,4),l=s(c,2);x(t),n(()=>{h(a,`${p.changes.length??``} ${p.changes.length===1?`change`:`changes`} from Iso waiting`),c.disabled=p.busy===`all`,l.disabled=p.busy===`all`}),u(`click`,c,()=>p.settleAll(!0)),u(`click`,l,()=>p.settleAll(!1)),i(e,t)};r(V,e=>{p.changes.length&&e(xe)});var Te=s(V,2),Ee=e=>{var t=tt(),n=k(t);u(`click`,n,()=>p.promptHere()),i(e,t)};r(Te,e=>{p.prompt===null&&!p.asking&&e(Ee)}),n(e=>j(R,`hidden`,e),[()=>!!(a(J)&&a(Q))]),i(t,f)};r(ht,e=>{d.loaded===`loading`?e(gt):d.loaded===`missing`?e(_t,1):d.loaded===`error`?e(vt,2):e(yt,-1)}),x($),n(()=>mt=C($,1,`note svelte-18ltlst`,null,mt,{timed:a(K)&&d.loaded===`ready`&&!a(G)})),i(t,$),A()}l([`click`,`input`,`keydown`,`mousedown`]);function at(e,t){w(t,!1),O();var n=d(),r=c(n);m(r,()=>P.params.id,e=>{{let t=p(()=>P.params.id??``);it(e,{get id(){return a(t)}})}}),i(e,n),A()}export{at as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,B as t,C as n,D as r,F as i,G as a,J as o,M as s,N as c,P as l,T as u,V as d,X as f,Z as p,c as m,ct as h,et as g,it as _,k as v,l as y,lt as b,q as x,rt as S,u as C,x as w}from"../chunks/BD1Dpm2e.js";import{o as T,t as E}from"../chunks/CWYACT2V.js";import"../chunks/xihTtKlq.js";import{n as D,r as O,t as k}from"../chunks/gRYnlonl.js";import"../chunks/CdQZ-ArP.js";var ee=v(`<li class="svelte-1iledwa"><a class="svelte-1iledwa"><span class="serif title draft svelte-1iledwa"><i class="dia open svelte-1iledwa" aria-hidden="true"></i> </span></a></li>`),A=v(`<section><h2 class="svelte-1iledwa"><span class="label">for Iso · not in your base yet</span><button class="btn quiet add svelte-1iledwa" type="button">new note for Iso</button></h2> <ul class="svelte-1iledwa"></ul></section>`),j=v(`<option></option>`),M=v(`<p class="problem svelte-1iledwa" role="alert"> </p>`),N=v(`<form class="frame new svelte-1iledwa"><span class="frame-title">a new note</span> <label class="svelte-1iledwa"><span class="label">title</span> <input class="field" placeholder="Entropy" autocomplete="off"/></label> <label class="svelte-1iledwa"><span class="label">folder</span> <input class="field" placeholder="none: the top of the base" list="folders" autocomplete="off"/></label> <datalist id="folders"></datalist> <p class="faint path svelte-1iledwa"> </p> <!> <div class="row svelte-1iledwa"><button class="btn primary" type="submit">make it</button><button class="btn quiet" type="button">cancel</button></div></form>`),te=v(`<p class="soft empty svelte-1iledwa">This base has no notes yet. Make the first one.</p>`),ne=v(`<span class="soft desc svelte-1iledwa"> </span>`),re=v(`<li class="svelte-1iledwa"><a class="svelte-1iledwa"><span class="serif title svelte-1iledwa"> </span><!></a></li>`),ie=v(`<section><h2 class="svelte-1iledwa"><span class="label"> </span><button class="btn quiet add svelte-1iledwa" type="button">+</button></h2> <ul class="svelte-1iledwa"></ul></section>`),ae=v(`<li class="svelte-1iledwa"><a class="svelte-1iledwa"><span class="serif title svelte-1iledwa"> </span><span class="soft desc svelte-1iledwa"> </span></a></li>`),oe=v(`<section><h2 class="svelte-1iledwa"><span class="label">in the text</span></h2> <ul class="svelte-1iledwa"></ul></section>`),se=v(`<p class="soft empty svelte-1iledwa">No note matches.</p>`),ce=v(`<div class="notes svelte-1iledwa"><div class="top svelte-1iledwa"><label class="hidden-label" for="filter">Find a note</label> <input id="filter" class="field grow" type="search" placeholder="find a note" autocomplete="off"/> <button class="btn primary" type="button">new note</button></div> <!> <!> <!> <!> <!> <!></div>`);function P(s,v){_(v,!0);let P=p(``),F=p([]),I=p(!1),L=p(``),R=p(``),z=p(``),B=e(()=>i(P).trim().toLowerCase().split(/\s+/).filter(Boolean)),le=e=>i(B).every(t=>`${e.title}\n${e.id}\n${e.description}`.toLowerCase().includes(t)),V=e(()=>i(B).length?k.listing.notes.filter(le):k.listing.notes),ue=e(()=>{let e=new Map;if(!i(B).length)for(let t of k.listing.dirs)e.set(t,[]);for(let t of i(V))e.set(t.dir,[...e.get(t.dir)??[],t]);return[...e].sort(([e],[t])=>e<t?-1:+(e>t))}),H=e(()=>i(B).length?i(F).filter(e=>!i(V).some(t=>t.id===e.id)):[]);d(()=>{let e=i(P).trim();if(e.length<2){f(F,[]);return}let t=setTimeout(()=>{k.api.search(e).then(t=>{i(P).trim()===e&&f(F,t)},()=>void 0)},200);return()=>clearTimeout(t)});let U=p([]);d(()=>{k.api.drafts().then(e=>f(U,e),()=>void 0)});async function de(){try{let e=await k.api.createDraft();await E(T(`/draft/[id]`,{id:e.id.slice(7)}))}catch(e){f(z,e.message,!0),f(I,!0)}}let W=e(()=>[i(R).trim().replace(/^\/+|\/+$/g,``),O(i(L))].filter(Boolean).join(`/`));function G(e=``){f(I,!0),f(R,e,!0),f(L,``),f(z,``)}async function fe(e){if(e.preventDefault(),!O(i(L)))f(z,`Give the note a title.`);else try{await k.api.createNote(i(W),`---\ntype: Concept\ntitle: ${JSON.stringify(i(L).trim())}\n---\n\n`),await k.refresh(),await E(D(i(W)))}catch(e){f(z,e.message,!0)}}var K=ce(),q=a(K),J=o(a(q),2);y(J),g(J,!0);var pe=o(J,2);h(q);var Y=o(q,2),me=e=>{var n=A(),s=a(n),l=o(a(s));h(s);var d=o(s,2);w(d,21,()=>i(U),e=>e.id,(e,n)=>{var s=ee(),c=a(s),l=a(c),d=o(a(l),1,!0);h(l),h(c),h(s),t(e=>{C(c,`href`,e),u(d,i(n).title||`a new note`)},[()=>T(`/draft/[id]`,{id:i(n).id.slice(7)})]),r(e,s)}),h(d),h(n),c(`click`,l,de),r(e,n)};n(Y,e=>{k.session?.study&&e(me)});var X=o(Y,2),he=e=>{var s=N(),d=o(a(s),2),p=o(a(d),2);y(p),g(p,!0),h(d);var _=o(d,2),v=o(a(_),2);y(v),h(_);var b=o(_,2);w(b,20,()=>k.listing.dirs,e=>e,(e,n)=>{var i=j(),a={};t(()=>{a!==(a=n)&&(i.value=(i.__value=a)??``)}),r(e,i)}),h(b);var S=o(b,2),C=x(S,!0),T=o(S,2),E=e=>{var n=M(),a=x(n,!0);t(()=>u(a,i(z))),r(e,n)};n(T,e=>{i(z)&&e(E)});var D=o(T,2),O=o(a(D));h(D),h(s),t(()=>u(C,i(W)?`${i(W)}.md`:` `)),l(`submit`,s,fe),m(p,()=>i(L),e=>f(L,e)),m(v,()=>i(R),e=>f(R,e)),c(`click`,O,()=>f(I,!1)),r(e,s)};n(X,e=>{i(I)&&e(he)});var Z=o(X,2),ge=e=>{var t=te();r(e,t)};n(Z,e=>{!k.listing.notes.length&&!i(I)&&e(ge)});var Q=o(Z,2);w(Q,17,()=>i(ue),([e,t])=>e,(s,l)=>{var d=e(()=>b(i(l),2));let f=()=>i(d)[0],p=()=>i(d)[1];var m=ie(),g=a(m),_=a(g),v=x(_,!0),y=o(_);h(g);var S=o(g,2);w(S,21,p,e=>e.id,(e,s)=>{var c=re(),l=a(c),d=a(l),f=x(d,!0),p=o(d),m=e=>{var n=ne(),a=x(n,!0);t(()=>u(a,i(s).description)),r(e,n)};n(p,e=>{i(s).description&&e(m)}),h(l),h(c),t(e=>{C(l,`href`,e),u(f,i(s).title)},[()=>D(i(s).id)]),r(e,c)}),h(S),h(m),t(()=>{u(v,f()||`the top of the base`),C(y,`aria-label`,`New note in ${f()||`the top of the base`}`)}),c(`click`,y,()=>G(f())),r(s,m)});var $=o(Q,2),_e=e=>{var n=oe(),s=o(a(n),2);w(s,21,()=>i(H),e=>e.id,(e,n)=>{var s=ae(),c=a(s),l=a(c),d=x(l,!0),f=o(l),p=x(f,!0);h(c),h(s),t(e=>{C(c,`href`,e),u(d,i(n).title),u(p,i(n).snippet)},[()=>D(i(n).id)]),r(e,s)}),h(s),h(n),r(e,n)};n($,e=>{i(H).length&&e(_e)});var ve=o($,2),ye=e=>{var t=se();r(e,t)};n(ve,e=>{i(B).length&&!i(V).length&&!i(H).length&&e(ye)}),h(K),m(J,()=>i(P),e=>f(P,e)),c(`click`,pe,()=>G()),r(s,K),S()}s([`click`]);export{P as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,B as t,D as n,F as r,G as i,J as a,K as o,M as s,N as c,T as l,ct as u,h as d,it as f,k as p,lt as m,m as h,o as g,q as _,rt as v,st as y,u as b,x}from"../chunks/BD1Dpm2e.js";import"../chunks/xihTtKlq.js";import{n as S,r as C,t as w}from"../chunks/cmGruEKS.js";import"../chunks/DtAOoM-T.js";var T=p(`<button type="button" role="radio"> </button>`),E=p(`<div class="swatch svelte-h119xx"><i class="svelte-h119xx"></i><span> </span></div>`),D=p(`<div class="swatch svelte-h119xx"><i class="svelte-h119xx"></i><span> </span></div> <div class="swatch svelte-h119xx"><i class="svelte-h119xx"></i><span> </span></div>`,1),O=p(`<div class="parts svelte-h119xx"><section class="svelte-h119xx"><h2 class="label svelte-h119xx">the ground</h2> <div class="row svelte-h119xx" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">the name</h2> <div class="row svelte-h119xx"><!><!></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">colour</h2> <div class="swatches svelte-h119xx"></div> <div class="swatches svelte-h119xx"></div> <div class="swatches svelte-h119xx"></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">type</h2> <p class="pixel">Departure Mono, for display</p> <p>Ioskeley Mono, for the interface. <b>Bold.</b> <i>Italic.</i> 0123456789</p> <p class="serif">Charter, for what is read: the entropy of a source is the average surprise of its symbols. <b>Bold</b>, <i>italic</i>.</p></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">buttons and chips</h2> <div class="row svelte-h119xx"><button class="btn" type="button">plain</button> <button class="btn primary" type="button">primary</button> <button class="btn danger" type="button">delete</button> <button class="btn quiet" type="button">quiet</button> <button class="btn" type="button" disabled="">off</button> <button class="btn tall primary" type="button">tall</button></div> <div class="row svelte-h119xx"><button class="btn keep" type="button">keep</button> <button class="btn edit" type="button">edit</button> <button class="btn remove" type="button">remove</button></div> <div class="row svelte-h119xx"><span class="chip">plain</span><span class="chip lattice">lattice</span><span class="chip growth">growth</span> <span class="chip malachite">malachite</span><span class="chip rose">rose</span></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">a frame, a field, the marks</h2> <div class="frame box svelte-h119xx"><span class="frame-title">a frame</span> <input class="field" placeholder="a field" aria-label="A field"/> <div class="row svelte-h119xx"><i class="sq"></i><span>you</span><i class="sq empty"></i><span>not yet</span><i class="dia"></i><span>Iso</span><i class="dia open"></i><span>Iso, unkept</span></div></div> <div class="dots ground svelte-h119xx"></div></section></div>`);function k(s,p){f(p,!1);let k=[`ground-0`,`ground-1`,`ground-2`,`ground-3`,`line`,`line-strong`],A=[`text`,`text-soft`,`text-faint`],j=[`lattice`,`growth`,`malachite`,`rose`];g();var M=O(),N=i(M),P=a(i(N),2);x(P,5,()=>w,([e,t])=>e,(i,a)=>{var o=e(()=>m(r(a),2));let s=()=>r(o)[0],u=()=>r(o)[1];var f=T();let p;var h=_(f,!0);t(()=>{p=d(f,1,`btn`,null,p,{primary:S.chosen===s()}),b(f,`aria-checked`,S.chosen===s()),l(h,u())}),c(`click`,f,()=>S.choose(s())),n(i,f)}),u(P),u(N);var F=a(N,2),I=a(i(F),2),L=i(I);C(L,{width:216});var R=a(L);C(R,{}),u(I),u(F);var z=a(F,2),B=a(i(z),2);x(B,5,()=>k,e=>e,(e,o)=>{var s=E(),c=i(s);let d;var f=a(c),p=_(f,!0);u(s),t(()=>{d=h(c,``,d,{background:`var(--${r(o)})`}),l(p,r(o))}),n(e,s)}),u(B);var V=a(B,2);x(V,5,()=>A,e=>e,(e,o)=>{var s=E(),c=i(s);let d;var f=a(c),p=_(f,!0);u(s),t(()=>{d=h(c,``,d,{background:`var(--${r(o)})`}),l(p,r(o))}),n(e,s)}),u(V);var H=a(V,2);x(H,5,()=>j,e=>e,(e,s)=>{var c=D(),d=o(c),f=i(d);let p;var m=a(f),g=_(m,!0);u(d);var v=a(d,2),y=i(v);let b;var x=a(y),S=_(x);u(v),t(()=>{p=h(f,``,p,{background:`var(--${r(s)})`}),l(g,r(s)),b=h(y,``,b,{background:`var(--${r(s)}-soft)`}),l(S,`${r(s)??``}-soft`)}),n(e,c)}),u(H),u(z);var U=a(z,2),W=a(i(U),2);h(W,``,{},{"font-size":`22px`});var G=a(W,4);h(G,``,{},{"font-size":`18px`}),u(U),y(4),u(M),n(s,M),v()}s([`click`]);export{k as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,B as t,C as n,D as r,F as i,G as a,J as o,K as s,M as c,N as l,T as u,X as d,Z as f,ct as p,h as m,it as h,k as g,lt as _,n as v,q as y,rt as b,st as x,u as S,x as C}from"../chunks/BD1Dpm2e.js";import{o as w,t as T}from"../chunks/CWYACT2V.js";import"../chunks/xihTtKlq.js";import{n as E,t as D}from"../chunks/gRYnlonl.js";import{t as O}from"../chunks/B-si2ell.js";import"../chunks/CdQZ-ArP.js";var k=g(`<p class="soft empty svelte-1pepxcq">Exercises are kept in a study base, and none is open. <span class="faint">isorite study init</span> makes one.</p>`),A=g(`<a class="sr svelte-1pepxcq"><span class="faint kind svelte-1pepxcq"> </span> <span class="grow t svelte-1pepxcq"> </span> <span class="label tests svelte-1pepxcq"> </span> <i></i></a>`),j=g(`<p class="soft none svelte-1pepxcq"> </p>`),M=g(`<a class="label all svelte-1pepxcq">every exercise</a>`),N=g(`<a class="sr svelte-1pepxcq"><i class="dia open svelte-1pepxcq" aria-hidden="true"></i><span class="grow t svelte-1pepxcq"> </span></a>`),P=g(`<span class="label sub svelte-1pepxcq">asked of Iso · not kept yet</span> <!>`,1),F=g(`<p class="bad svelte-1pepxcq" role="alert"> </p>`),I=g(`<div class="fr svelte-1pepxcq"><span class="grow"> </span><button class="link svelte-1pepxcq" type="button">[ + an exercise ]</button></div>`),L=g(`<div class="fr svelte-1pepxcq"><span class="grow soft"> </span><button class="link svelte-1pepxcq" type="button">[ + an exercise ]</button></div>`),R=g(`<section class="frame list svelte-1pepxcq"><span class="frame-title"> </span> <!> <!> <!> <span class="label foot svelte-1pepxcq">ordered from your record: due first, then never tried, then the fewest squares</span></section> <!> <section class="folders svelte-1pepxcq"><h2 class="label svelte-1pepxcq">ask Iso for an exercise</h2> <!> <!></section>`,1),z=g(`<div class="study svelte-1pepxcq"><!></div>`);function B(c,g){h(g,!0);let B=f(null),V=f([]),H=f(``),U=e(()=>O.url.searchParams.get(`note`)??new URLSearchParams(O.url.hash.split(`?`)[1]??``).get(`note`)??``),W=e=>D.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),G=e(()=>(i(B)?.exercises??[]).filter(e=>!i(U)||e.tests.includes(i(U)))),K={written:`written`};async function q(){try{await(async e=>{var t=_(e,2);d(B,t[0]),d(V,t[1])})(await Promise.all([D.api.study(),D.api.drafts().then(e=>e.filter(e=>e.exercise))]))}catch(e){d(H,e.message,!0)}}v(()=>(q(),D.on(e=>{(e.type===`record`||e.type===`note-changed`&&(e.id.startsWith(`@study/`)||e.id.startsWith(`@draft/`)))&&q()})));async function J(e,t=[]){d(H,``);try{let n=await D.api.createExerciseDraft(e,t);await T(w(`/draft/[id]`,{id:n.id.slice(7)}))}catch(e){d(H,e.message,!0)}}var Y=z(),X=a(Y),Z=e=>{var t=k();r(e,t)},Q=e=>{var c=R(),d=s(c),f=a(d),h=y(f,!0),g=o(f,2);C(g,17,()=>i(G),e=>e.id,(e,n)=>{var s=A(),c=a(s),l=y(c,!0),d=o(c,2),f=y(d,!0),h=o(d,2),g=y(h),_=o(h,2);let v;p(s),t((e,t)=>{S(s,`href`,e),u(l,K[i(n).kind]??i(n).kind),u(f,i(n).title),u(g,`tests ${t??``}`),v=m(_,1,`pip`,null,v,{ok:i(n).result===`right`,part:i(n).result===`partly`,no:i(n).result===`wrong`}),S(_,`title`,i(n).result?`last: ${i(n).result}`:`not tried`)},[()=>E(i(n).id),()=>i(n).tests.map(W).join(`, `)]),r(e,s)},e=>{var n=j(),a=y(n,!0);t(()=>u(a,i(B)?i(U)?`Nothing tests this note yet.`:`No exercises yet. Ask Iso for one in a folder below.`:`reading…`)),r(e,n)});var _=o(g,2),v=e=>{var n=M();t(e=>S(n,`href`,e),[()=>w(`/study`)]),r(e,n)};n(_,e=>{i(U)&&e(v)});var b=o(_,2),T=e=>{var n=P(),c=o(s(n),2);C(c,17,()=>i(V),e=>e.id,(e,n)=>{var s=N(),c=o(a(s)),l=y(c,!0);p(s),t(e=>{S(s,`href`,e),u(l,i(n).title)},[()=>w(`/draft/[id]`,{id:i(n).id.slice(7)})]),r(e,s)}),r(e,n)};n(b,e=>{i(V).length&&e(T)}),x(2),p(d);var O=o(d,2),k=e=>{var n=F(),a=y(n,!0);t(()=>u(a,i(H))),r(e,n)};n(O,e=>{i(H)&&e(k)});var z=o(O,2),q=o(a(z),2),Y=e=>{var n=I(),s=a(n),c=y(s),d=o(s);p(n),t(e=>u(c,`on ${e??``}`),[()=>W(i(U))]),l(`click`,d,()=>J(D.listing.notes.find(e=>e.id===i(U))?.dir??``,[i(U)])),r(e,n)};n(q,e=>{i(U)&&e(Y)});var X=o(q,2);C(X,16,()=>i(B)?.folders??[],e=>e,(e,n)=>{var i=L(),s=a(i),c=y(s,!0),d=o(s);p(i),t(()=>{u(c,n||`the top of the base`),S(d,`aria-label`,`An exercise in ${n||`the top of the base`}`)}),l(`click`,d,()=>J(n)),r(e,i)}),p(z),t(e=>u(h,e),[()=>i(U)?`study · what tests ${W(i(U))}`:`study · next for you`]),r(e,c)};n(X,e=>{D.session?.study?e(Q,-1):e(Z)}),p(Y),r(c,Y),b()}c([`click`]);export{B as component};
|