diff --git a/.DS_Store b/.DS_Store index 801b8a61..eecf21ef 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Documentation/404.html b/Documentation/404.html index 726f437c..4f9a58cf 100644 --- a/Documentation/404.html +++ b/Documentation/404.html @@ -20,8 +20,8 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/Documentation/assets/images/346045552-c7261f1b-5e6d-48e2-aa1a-f4b11d50d9c9-942a9de334e13552a561ef43b1e33a51.png b/Documentation/assets/images/346045552-c7261f1b-5e6d-48e2-aa1a-f4b11d50d9c9-942a9de334e13552a561ef43b1e33a51.png new file mode 100644 index 00000000..f476c54e Binary files /dev/null and b/Documentation/assets/images/346045552-c7261f1b-5e6d-48e2-aa1a-f4b11d50d9c9-942a9de334e13552a561ef43b1e33a51.png differ diff --git a/Documentation/assets/images/Screenshot 2024-05-14 at 15.10.37-2a23adcd5430ffd000749b5a65f23eba.png b/Documentation/assets/images/Screenshot 2024-05-14 at 15.10.37-2a23adcd5430ffd000749b5a65f23eba.png deleted file mode 100644 index 906b6f33..00000000 Binary files a/Documentation/assets/images/Screenshot 2024-05-14 at 15.10.37-2a23adcd5430ffd000749b5a65f23eba.png and /dev/null differ diff --git a/Documentation/assets/images/Screenshot 2024-06-16 at 11.17.10-3b523ea15a160307324ea20e8db34d3e.png b/Documentation/assets/images/Screenshot 2024-06-16 at 11.17.10-3b523ea15a160307324ea20e8db34d3e.png new file mode 100644 index 00000000..1ea0a8be Binary files /dev/null and b/Documentation/assets/images/Screenshot 2024-06-16 at 11.17.10-3b523ea15a160307324ea20e8db34d3e.png differ diff --git a/Documentation/assets/images/plattte-ezgif.com-optimize-dcc116244c0094c019844d92d388e264.gif b/Documentation/assets/images/plattte-ezgif.com-optimize-dcc116244c0094c019844d92d388e264.gif new file mode 100644 index 00000000..84abfde9 Binary files /dev/null and b/Documentation/assets/images/plattte-ezgif.com-optimize-dcc116244c0094c019844d92d388e264.gif differ diff --git a/Documentation/assets/js/04190e00.d61f032f.js b/Documentation/assets/js/04190e00.d61f032f.js new file mode 100644 index 00000000..253b4b27 --- /dev/null +++ b/Documentation/assets/js/04190e00.d61f032f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4604],{94220:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>p});var r=n(17624),c=n(4552);const s={},o=void 0,a={id:"frontend/Reference/Graphics3D/Opacity",title:"Opacity",description:"same as Opacity, but for Graphics3D",source:"@site/docs/frontend/Reference/Graphics3D/Opacity.md",sourceDirName:"frontend/Reference/Graphics3D",slug:"/frontend/Reference/Graphics3D/Opacity",permalink:"/frontend/Reference/Graphics3D/Opacity",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Metalness",permalink:"/frontend/Reference/Graphics3D/Metalness"},next:{title:"Point",permalink:"/frontend/Reference/Graphics3D/Point"}},i={},p=[];function f(e){const t={a:"a",p:"p",...(0,c.M)(),...e.components};return(0,r.jsxs)(t.p,{children:["same as ",(0,r.jsx)(t.a,{href:"/frontend/Reference/Graphics/Opacity",children:"Opacity"}),", but for ",(0,r.jsx)(t.a,{href:"/frontend/Reference/Graphics3D/",children:"Graphics3D"})]})}function d(e={}){const{wrapper:t}={...(0,c.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>o});var r=n(11504);const c={},s=r.createContext(c);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/04190e00.ff7147da.js b/Documentation/assets/js/04190e00.ff7147da.js deleted file mode 100644 index 500f6d51..00000000 --- a/Documentation/assets/js/04190e00.ff7147da.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4604],{94220:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>p});var r=n(17624),c=n(4552);const s={},o=void 0,a={id:"frontend/Reference/Graphics3D/Opacity",title:"Opacity",description:"same as Opacity, but for Graphics3D",source:"@site/docs/frontend/Reference/Graphics3D/Opacity.md",sourceDirName:"frontend/Reference/Graphics3D",slug:"/frontend/Reference/Graphics3D/Opacity",permalink:"/frontend/Reference/Graphics3D/Opacity",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Metalness",permalink:"/frontend/Reference/Graphics3D/Metalness"},next:{title:"PointLight",permalink:"/frontend/Reference/Graphics3D/PointLight"}},i={},p=[];function f(e){const t={a:"a",p:"p",...(0,c.M)(),...e.components};return(0,r.jsxs)(t.p,{children:["same as ",(0,r.jsx)(t.a,{href:"/frontend/Reference/Graphics/Opacity",children:"Opacity"}),", but for ",(0,r.jsx)(t.a,{href:"/frontend/Reference/Graphics3D/",children:"Graphics3D"})]})}function d(e={}){const{wrapper:t}={...(0,c.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>o});var r=n(11504);const c={},s=r.createContext(c);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/105de191.7f1ee68f.js b/Documentation/assets/js/105de191.7f1ee68f.js new file mode 100644 index 00000000..368ae290 --- /dev/null +++ b/Documentation/assets/js/105de191.7f1ee68f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[6132],{29328:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>a,toc:()=>o});var l=s(17624),i=s(4552);const t={},r=void 0,a={id:"frontend/Cell types/Slides",title:"Slides",description:"Type .slide in the first line of an input cell",source:"@site/docs/frontend/Cell types/Slides.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Slides",permalink:"/frontend/Cell types/Slides",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Many more",permalink:"/frontend/Cell types/Many more"},next:{title:"WLX",permalink:"/frontend/Cell types/WLX"}},d={},o=[{value:"See slides tutorial",id:"see-slides-tutorial",level:2},{value:"Merge slides from different cells",id:"merge-slides-from-different-cells",level:2},{value:"Plain HTML",id:"plain-html",level:2},{value:"LaTeX",id:"latex",level:2},{value:"WLX",id:"wlx",level:2},{value:"Autoupload images",id:"autoupload-images",level:2},{value:"Drop a file",id:"drop-a-file",level:3},{value:"Paste media file",id:"paste-media-file",level:3},{value:"Plugins",id:"plugins",level:2}];function c(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:["Type ",(0,l.jsx)(n.code,{children:".slide"})," in the first line of an input cell"]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["One can also make presentations using WLJS Frontend. This is provided by ",(0,l.jsx)(n.a,{href:"https://github.com/JerryI/wljs-revealjs",children:"wljs-revealjs"}),", that integrates ",(0,l.jsx)(n.a,{href:"https://revealjs.com",children:"RevealJS"})," and ",(0,l.jsx)(n.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," language to provide components approach on making presentations as well as add interactivity and all features of frontend's cells like this"]}),"\n",(0,l.jsx)("div",{style:{"text-align":"center"},children:(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{src:s(56160).c+"",width:"600",height:"420"})})}),"\n",(0,l.jsxs)(n.h2,{id:"see-slides-tutorial",children:["See ",(0,l.jsx)(n.a,{href:"/frontend/Advanced/Slides/",children:"slides tutorial"})]}),"\n",(0,l.jsx)(n.admonition,{type:"tip",children:(0,l.jsxs)(n.p,{children:["To ",(0,l.jsx)(n.strong,{children:"go fullscreen"})," mode - press ",(0,l.jsx)(n.code,{children:"f"})," key after focusing on the content of a slide"]})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-jsx",children:".slide\n\n# Title\n\nParagraph\n"})}),"\n",(0,l.jsx)(n.h2,{id:"merge-slides-from-different-cells",children:"Merge slides from different cells"}),"\n",(0,l.jsx)(n.p,{children:"To merge the all slides into a single fat presentation use"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-md",children:".slides\n\n"})}),"\n",(0,l.jsx)(n.p,{children:"It will merge and print slides from all cells in the notebook into a single one."}),"\n",(0,l.jsxs)(n.admonition,{type:"tip",children:[(0,l.jsx)(n.p,{children:"Use projector feature"}),(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{src:s(42804).c+"",width:"1444",height:"346"})}),(0,l.jsx)(n.p,{children:"to show slides in a separate window"})]}),"\n",(0,l.jsx)(n.h2,{id:"plain-html",children:"Plain HTML"}),"\n",(0,l.jsx)(n.p,{children:"By the default slides cells do support plain HTML mixed with Markdown syntax and WLX. For example one can embed a website on a slide"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-markdown",children:'.slide\n\n\n\n'})}),"\n",(0,l.jsx)(n.h2,{id:"latex",children:"LaTeX"}),"\n",(0,l.jsxs)(n.p,{children:["We use KaTeX as a render engine, to type a equation wrap it inside ",(0,l.jsx)(n.code,{children:"$"})," or ",(0,l.jsx)(n.code,{children:"$$"})," (for equation block)"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-markdown",children:".slide\n\n$$\nE = \\\\hbar \\\\omega\n$$\n"})}),"\n",(0,l.jsx)(n.admonition,{type:"warning",children:(0,l.jsxs)(n.p,{children:["Unfortunately, you have to escape all backslashes, i.e. instead of ",(0,l.jsx)(n.code,{children:"\\alpha"})," you need to write ",(0,l.jsx)(n.code,{children:"\\\\alpha"}),"."]})}),"\n",(0,l.jsx)(n.h2,{id:"wlx",children:"WLX"}),"\n",(0,l.jsxs)(n.p,{children:["Slides integrates some features of ",(0,l.jsx)(n.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," cell types similar to ",(0,l.jsx)(n.a,{href:"/frontend/Cell%20types/Markdown",children:"Markdown"})," cells. Please see ",(0,l.jsx)(n.a,{href:"/frontend/Advanced/Slides/",children:"Slides"})," tutorial for more information on how to use its power."]}),"\n",(0,l.jsx)(n.h2,{id:"autoupload-images",children:"Autoupload images"}),"\n",(0,l.jsx)(n.h3,{id:"drop-a-file",children:"Drop a file"}),"\n",(0,l.jsx)(n.h3,{id:"paste-media-file",children:"Paste media file"}),"\n",(0,l.jsx)(n.h2,{id:"plugins",children:"Plugins"}),"\n",(0,l.jsx)(n.p,{children:"The package uses also some external plugins"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.a,{href:"https://github.com/burnpiro/reveal-pointer",children:"pointer"}),"\xa0(press\xa0",(0,l.jsx)(n.code,{children:"Q"}),"\xa0to toggle)"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},42804:(e,n,s)=>{s.d(n,{c:()=>l});const l=s.p+"assets/images/Screenshot 2024-03-13 at 19.25.16-7161d2c385e208e8aa623765d1b7705c.png"},56160:(e,n,s)=>{s.d(n,{c:()=>l});const l=s.p+"assets/images/ezgif.com-optimize-15-6dae365f1812f31744012bb81f54ac6c.gif"},4552:(e,n,s)=>{s.d(n,{I:()=>a,M:()=>r});var l=s(11504);const i={},t=l.createContext(i);function r(e){const n=l.useContext(t);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),l.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/105de191.e8376149.js b/Documentation/assets/js/105de191.e8376149.js deleted file mode 100644 index 1aec8cc7..00000000 --- a/Documentation/assets/js/105de191.e8376149.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[6132],{29328:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var t=s(17624),i=s(4552);const l={},r=void 0,o={id:"frontend/Cell types/Slides",title:"Slides",description:"One can also make presentations using WLJS Frontend. This is provided by wljs-revealjs, that integrates RevealJS and WLX language to provide components approach on making presentations as well as add interactivity and all features of frontend's cells like this",source:"@site/docs/frontend/Cell types/Slides.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Slides",permalink:"/frontend/Cell types/Slides",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Many more",permalink:"/frontend/Cell types/Many more"},next:{title:"WLX",permalink:"/frontend/Cell types/WLX"}},a={},d=[{value:"See slides tutorial",id:"see-slides-tutorial",level:2},{value:"Merge slides from different cells",id:"merge-slides-from-different-cells",level:2},{value:"Autoupload images",id:"autoupload-images",level:2},{value:"Plugins",id:"plugins",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["One can also make presentations using WLJS Frontend. This is provided by ",(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wljs-revealjs",children:"wljs-revealjs"}),", that integrates ",(0,t.jsx)(n.a,{href:"https://revealjs.com",children:"RevealJS"})," and ",(0,t.jsx)(n.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," language to provide components approach on making presentations as well as add interactivity and all features of frontend's cells like this"]}),"\n",(0,t.jsx)("div",{style:{"text-align":"center"},children:(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:s(56160).c+"",width:"600",height:"420"})})}),"\n",(0,t.jsxs)(n.p,{children:["see full demo video ",(0,t.jsx)(n.a,{href:"https://www.youtube.com/watch?si=IzYInhddG66pNUHp&v=7cEYJG7nk7U&feature=youtu.be",children:"here"}),"."]}),"\n",(0,t.jsxs)(n.h2,{id:"see-slides-tutorial",children:["See ",(0,t.jsx)(n.a,{href:"/frontend/Advanced/Slides/",children:"slides tutorial"})]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["To ",(0,t.jsx)(n.strong,{children:"go fullscreen"})," mode - press ",(0,t.jsx)(n.code,{children:"f"})," key after focusing on the content of a slide"]})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:".slide\n\n# Title\n\nParagraph\n"})}),"\n",(0,t.jsx)(n.h2,{id:"merge-slides-from-different-cells",children:"Merge slides from different cells"}),"\n",(0,t.jsx)(n.p,{children:"To merge the all slides into a single fat presentation use"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:".slides\n\n"})}),"\n",(0,t.jsx)(n.p,{children:"It will merge and print slides from all cells in the notebook into a single one."}),"\n",(0,t.jsxs)(n.admonition,{type:"tip",children:[(0,t.jsx)(n.p,{children:"Use projector feature"}),(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:s(42804).c+"",width:"1444",height:"346"})}),(0,t.jsx)(n.p,{children:"to show slides in a separate window"})]}),"\n",(0,t.jsx)(n.h2,{id:"autoupload-images",children:"Autoupload images"}),"\n",(0,t.jsx)(n.p,{children:"Drag and drop a file to the editor"}),"\n",(0,t.jsx)(n.h2,{id:"plugins",children:"Plugins"}),"\n",(0,t.jsx)(n.p,{children:"The package uses also some external plugins"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/burnpiro/reveal-pointer",children:"pointer"}),"\xa0(press\xa0",(0,t.jsx)(n.code,{children:"Q"}),"\xa0to toggle)"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},42804:(e,n,s)=>{s.d(n,{c:()=>t});const t=s.p+"assets/images/Screenshot 2024-03-13 at 19.25.16-7161d2c385e208e8aa623765d1b7705c.png"},56160:(e,n,s)=>{s.d(n,{c:()=>t});const t=s.p+"assets/images/ezgif.com-optimize-15-6dae365f1812f31744012bb81f54ac6c.gif"},4552:(e,n,s)=>{s.d(n,{I:()=>o,M:()=>r});var t=s(11504);const i={},l=t.createContext(i);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/1f625a81.869f1586.js b/Documentation/assets/js/1f625a81.869f1586.js new file mode 100644 index 00000000..93474d9a --- /dev/null +++ b/Documentation/assets/js/1f625a81.869f1586.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4336],{82320:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>l,frontMatter:()=>s,metadata:()=>d,toc:()=>c});var o=t(17624),r=t(4552);const s={},i=void 0,d={id:"frontend/Export/PDF",title:"PDF",description:"Is in development",source:"@site/docs/frontend/Export/PDF.md",sourceDirName:"frontend/Export",slug:"/frontend/Export/PDF",permalink:"/frontend/Export/PDF",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Markdown",permalink:"/frontend/Export/Markdown"},next:{title:"Troubleshooting",permalink:"/frontend/Troubleshooting/"}},a={},c=[];function p(n){const e={a:"a",admonition:"admonition",p:"p",...(0,r.M)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.admonition,{type:"danger",children:(0,o.jsx)(e.p,{children:"Is in development"})}),"\n",(0,o.jsxs)(e.p,{children:["Use native browser's PDF printer on exported file while using ",(0,o.jsx)(e.a,{href:"/frontend/Export/HTML",children:"HTML"})]})]})}function l(n={}){const{wrapper:e}={...(0,r.M)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(p,{...n})}):p(n)}},4552:(n,e,t)=>{t.d(e,{I:()=>d,M:()=>i});var o=t(11504);const r={},s=o.createContext(r);function i(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function d(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:i(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/1f625a81.8b9e4430.js b/Documentation/assets/js/1f625a81.8b9e4430.js deleted file mode 100644 index 8855c26a..00000000 --- a/Documentation/assets/js/1f625a81.8b9e4430.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4336],{82320:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>a});var o=t(17624),r=t(4552);const i={},s=void 0,d={id:"frontend/Export/PDF",title:"PDF",description:"Is in development",source:"@site/docs/frontend/Export/PDF.md",sourceDirName:"frontend/Export",slug:"/frontend/Export/PDF",permalink:"/frontend/Export/PDF",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"HTML file",permalink:"/frontend/Export/HTML file"},next:{title:"Troubleshooting",permalink:"/frontend/Troubleshooting/"}},c={},a=[];function l(e){const n={a:"a",admonition:"admonition",p:"p",...(0,r.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.admonition,{type:"danger",children:(0,o.jsx)(n.p,{children:"Is in development"})}),"\n",(0,o.jsxs)(n.p,{children:["Use native browser's PDF printer on exported file using ",(0,o.jsx)(n.a,{href:"/frontend/Export/HTML%20file",children:"HTML file"})]})]})}function p(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>d,M:()=>s});var o=t(11504);const r={},i=o.createContext(r);function s(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/37bd8f20.9d4e0021.js b/Documentation/assets/js/37bd8f20.6ff25443.js similarity index 96% rename from Documentation/assets/js/37bd8f20.9d4e0021.js rename to Documentation/assets/js/37bd8f20.6ff25443.js index e6b45e8a..e104026b 100644 --- a/Documentation/assets/js/37bd8f20.9d4e0021.js +++ b/Documentation/assets/js/37bd8f20.6ff25443.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[7972],{42020:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>_,contentTitle:()=>T,default:()=>L,frontMatter:()=>N,metadata:()=>M,toc:()=>W});var t=r(17624),s=r(4552),a=r(11504),l=r(65456),o=r(53943),i=r(55592),c=r(95288),u=r(10632),d=r(27128),h=r(21148);function p(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function m(e){const{values:n,children:r}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return p(e).map((e=>{let{props:{value:n,label:r,attributes:t,default:s}}=e;return{value:n,label:r,attributes:t,default:s}}))}(r);return function(e){const n=(0,d.w)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,r])}function f(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function b(e){let{queryString:n=!1,groupId:r}=e;const t=(0,i.Uz)(),s=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,u._M)(s),(0,a.useCallback)((e=>{if(!s)return;const n=new URLSearchParams(t.location.search);n.set(s,e),t.replace({...t.location,search:n.toString()})}),[s,t])]}function x(e){const{defaultValue:n,queryString:r=!1,groupId:t}=e,s=m(e),[l,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!f({value:n,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=r.find((e=>e.default))??r[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:s}))),[i,u]=b({queryString:r,groupId:t}),[d,p]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,s]=(0,h.IN)(r);return[t,(0,a.useCallback)((e=>{r&&s.set(e)}),[r,s])]}({groupId:t}),x=(()=>{const e=i??d;return f({value:e,tabValues:s})?e:null})();(0,c.c)((()=>{x&&o(x)}),[x]);return{selectedValue:l,selectValue:(0,a.useCallback)((e=>{if(!f({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),p(e)}),[u,p,s]),tabValues:s}}var j=r(93664);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function w(e){let{className:n,block:r,selectedValue:s,selectValue:a,tabValues:i}=e;const c=[],{blockElementScrollPositionUntilNextRender:u}=(0,o.MV)(),d=e=>{const n=e.currentTarget,r=c.indexOf(n),t=i[r].value;t!==s&&(u(n),a(t))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=c.indexOf(e.currentTarget)+1;n=c[r]??c[0];break}case"ArrowLeft":{const r=c.indexOf(e.currentTarget)-1;n=c[r]??c[c.length-1];break}}n?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.c)("tabs",{"tabs--block":r},n),children:i.map((e=>{let{value:n,label:r,attributes:a}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>c.push(e),onKeyDown:h,onClick:d,...a,className:(0,l.c)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function v(e){let{lazy:n,children:r,selectedValue:s}=e;const l=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=l.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:l.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function y(e){const n=x(e);return(0,t.jsxs)("div",{className:(0,l.c)("tabs-container",g.tabList),children:[(0,t.jsx)(w,{...n,...e}),(0,t.jsx)(v,{...n,...e})]})}function k(e){const n=(0,j.c)();return(0,t.jsx)(y,{...e,children:p(e.children)},String(n))}const S={tabItem:"tabItem_Ymn6"};function I(e){let{children:n,hidden:r,className:s}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,l.c)(S.tabItem,s),hidden:r,children:n})}const N={sidebar_position:1,enableComments:!0,sidebar_class_name:"green",slug:"/"},T="Quick start",M={id:"frontend/instruction",title:"Quick start",description:"Wolfram Language Notebook requires wolframscript (see Freeware Wolfram Engine or Wolfram Kernel) installed on your PC/Mac.",source:"@site/docs/frontend/instruction.md",sourceDirName:"frontend",slug:"/",permalink:"/",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717785218e3,sidebarPosition:1,frontMatter:{sidebar_position:1,enableComments:!0,sidebar_class_name:"green",slug:"/"},sidebar:"tutorialSidebar",next:{title:"Overview",permalink:"/frontend/Overview"}},_={},W=[{value:"Desktop application",id:"desktop-application",level:2},{value:"Server application",id:"server-application",level:2},{value:"Extra arguments",id:"extra-arguments",level:3},{value:"Sponsorship",id:"sponsorship",level:2},{value:"Media",id:"media",level:2},{value:"Publications \ud83d\udce2",id:"publications-",level:2}];function E(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"quick-start",children:"Quick start"}),"\n",(0,t.jsxs)(n.p,{children:["Wolfram Language Notebook ",(0,t.jsxs)(n.strong,{children:["requires ",(0,t.jsx)(n.code,{children:"wolframscript"})," (see Freeware ",(0,t.jsx)(n.a,{href:"https://www.wolfram.com/engine/",children:"Wolfram Engine"})," or Wolfram Kernel)"]})," installed on your PC/Mac."]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsx)(n.p,{children:"Tested with Wolfram Engine 13.X - 14.X"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:r(61330).c+"",width:"720",height:"440"})}),"\n",(0,t.jsx)("h2",{style:{"text-align":"center"},children:(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/frontend/Overview",children:"Overview \ud83d\ude80"})})}),"\n",(0,t.jsx)(n.p,{children:"There are two ways you can choose from"}),"\n","\n",(0,t.jsx)(n.h2,{id:"desktop-application",children:"Desktop application"}),"\n",(0,t.jsxs)(n.p,{children:["Notebook interface is shipped as an Electron application, which is cross-platform and has most benefits of a native desktop app. ",(0,t.jsx)(n.strong,{children:"This is the easiest way"})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases",children:"Releases"})}),"\n",(0,t.jsxs)(k,{defaultValue:"Windows",values:[{label:"Windows",value:"Windows"},{label:"Linux",value:"Linux"},{label:"Mac",value:"Mac"}],children:[(0,t.jsx)(I,{value:"Windows",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.3.7/WLJS.Notebook.Setup.2.3.7.exe",children:"Windows"})}),"\n"]})}),(0,t.jsx)(I,{value:"Linux",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.3.7/wljs-notebook_2.3.5_amd64.deb",children:"Linux (Deb)"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.3.7/WLJS.Notebook-2.3.7.AppImage",children:"Linux (AppImage)"})}),"\n"]})}),(0,t.jsx)(I,{value:"Mac",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.3.7/WLJS.Notebook-2.3.7-arm64.dmg",children:"M1"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.3.7/WLJS.Notebook-2.3.7.dmg",children:"Intel"})}),"\n"]})})]}),"\n",(0,t.jsxs)(n.p,{children:["It comes with a launcher, that takes care about all updates, files extension association and etc. Also see ",(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases",children:"releases"})," page for more portable installation bundles (no docs)."]}),"\n",(0,t.jsx)(n.p,{children:"For all options fully offline work is 100% possible."}),"\n",(0,t.jsx)(n.h2,{id:"server-application",children:"Server application"}),"\n",(0,t.jsxs)(n.p,{children:["Since this is a web-based application, you can also run on a server. User interface is reachable from any modern browser. Clone a master branch and run ",(0,t.jsx)(n.code,{children:"wolframscript"})]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/JerryI/wolfram-js-frontend\ncd wolfram-js-frontend\nwolframscript -f Scripts/start.wls\n"})}),"\n",(0,t.jsx)(n.p,{children:"It will take some time to download all core plugins, after that you can start using it by opening your browser"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"...\nOpen http://127.0.0.1:20560 in your browser\n"})}),"\n",(0,t.jsx)(n.p,{children:"To start server on a specific hostname"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-shell",children:"wolframscript -f Scripts/start.wls host 0.0.0.0 http 8080 ws 8081 ws2 8082 docs 8085\n"})}),"\n",(0,t.jsxs)(n.p,{children:["that will open ",(0,t.jsx)(n.strong,{children:"an HTTP server"})," on ",(0,t.jsx)(n.code,{children:"8080"})," port with ",(0,t.jsx)(n.code,{children:"8081"}),", ",(0,t.jsx)(n.code,{children:"8082"})," ",(0,t.jsx)(n.strong,{children:"used for realtime communication"})," and ",(0,t.jsx)(n.strong,{children:"docs pages"})," at ",(0,t.jsx)(n.code,{children:"8085"})]}),"\n",(0,t.jsx)(n.h3,{id:"extra-arguments",children:"Extra arguments"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"set the home folder (overrides settings)"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:'wolframscript -f Scripts/start.wls folder "Demos"\n'})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"disable autolaunch of the evaluation kernel"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"wolframscript -f Scripts/start.wls noautolaunch True\n"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"disable autotest"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"wolframscript -f Scripts/start.wls bypasstest True\n"})}),"\n",(0,t.jsx)(n.h2,{id:"sponsorship",children:"Sponsorship"}),"\n",(0,t.jsx)(n.p,{children:"To help maintain this project \u2764\ufe0f"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/sponsors/JerryI",children:"GitHub Sponsors"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.paypal.com/donate/?hosted_button_id=BN9LWUUUJGW54",children:(0,t.jsx)(n.strong,{children:"PayPal"})})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"media",children:"Media"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/Z76dMHK8POM?feature=share",children:"You don't need to program your figures manually"})]}),"\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/T-ryDA1Sb3g?feature=share",children:"How to do Dynamics in Computation Notebook"})]}),"\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/6s9m5ZGPkdE?feature=share",children:"We made AI Copilot in your Notebook \ud83e\udd16"})]}),"\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/B_ZVjN9cvQM?feature=share",children:"AI Copilot in your Notebook. Part 2 \ud83e\udd16"})]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"publications-",children:"Publications \ud83d\udce2"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Medium"})," May 2024: ",(0,t.jsx)(n.a,{href:"https://medium.com/@krikus.ms/reinventing-dynamic-and-portable-notebooks-with-javascript-and-wolfram-language-22701d38d651",children:"Reinventing dynamic and portable notebooks with Javascript and Wolfram Language"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Yandex Open Source Jam"})," April 2024: ",(0,t.jsx)(n.a,{href:"https://www.youtube.com/watch?v=tmAY_5Wto-E",children:"Dynamic notebook interface + Wolfram Language"})," (Russian language only)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"DPG2024 Berlin March 2024"}),": ",(0,t.jsx)(n.a,{href:"https://www.dpg-verhandlungen.de/year/2024/conference/berlin/part/agi/session/4/contribution/4",children:"Computational Notebook as a Modern Multitool for Scientists"}),", ",(0,t.jsx)(n.a,{href:"https://www.dpg-physik.de/vereinigungen/fachuebergreifend/ag/agi/veranstaltungen/tagungen-und-workshops/berlin_2024/agi-4_4-kirill-vasin.pdf",children:"Slides"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Habrahabr"})," October 2023 ",(0,t.jsx)(n.a,{href:"https://habr.com/ru/articles/767490/",children:"Open-source \u0431\u043b\u043e\u043a\u043d\u043e\u0442 Wolfram Language \u0438\u043b\u0438 \u043a\u0430\u043a \u0432\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e Mathematica \u043d\u0430 Javascript \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e"})," (Russian language only)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Habrahabr"})," October 2023 ",(0,t.jsx)(n.a,{href:"https://habr.com/ru/articles/766360/",children:"Wolfram Language JavaScript Frontend"})," (Russian language only)"]}),"\n"]})]})}function L(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(E,{...e})}):E(e)}},61330:(e,n,r)=>{r.d(n,{c:()=>t});const t=r.p+"assets/images/1_oEnvgJSyL-PNDTW8arOehw-062bc82cd1fb6b15dc71533fa06b1d4e.webp"},4552:(e,n,r)=>{r.d(n,{I:()=>o,M:()=>l});var t=r(11504);const s={},a=t.createContext(s);function l(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[7972],{42020:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>_,contentTitle:()=>T,default:()=>L,frontMatter:()=>N,metadata:()=>M,toc:()=>W});var t=r(17624),s=r(4552),a=r(11504),l=r(65456),o=r(53943),i=r(55592),c=r(95288),u=r(10632),d=r(27128),h=r(21148);function p(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function m(e){const{values:n,children:r}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return p(e).map((e=>{let{props:{value:n,label:r,attributes:t,default:s}}=e;return{value:n,label:r,attributes:t,default:s}}))}(r);return function(e){const n=(0,d.w)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,r])}function f(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function b(e){let{queryString:n=!1,groupId:r}=e;const t=(0,i.Uz)(),s=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,u._M)(s),(0,a.useCallback)((e=>{if(!s)return;const n=new URLSearchParams(t.location.search);n.set(s,e),t.replace({...t.location,search:n.toString()})}),[s,t])]}function x(e){const{defaultValue:n,queryString:r=!1,groupId:t}=e,s=m(e),[l,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!f({value:n,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=r.find((e=>e.default))??r[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:s}))),[i,u]=b({queryString:r,groupId:t}),[d,p]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,s]=(0,h.IN)(r);return[t,(0,a.useCallback)((e=>{r&&s.set(e)}),[r,s])]}({groupId:t}),x=(()=>{const e=i??d;return f({value:e,tabValues:s})?e:null})();(0,c.c)((()=>{x&&o(x)}),[x]);return{selectedValue:l,selectValue:(0,a.useCallback)((e=>{if(!f({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),p(e)}),[u,p,s]),tabValues:s}}var j=r(93664);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function w(e){let{className:n,block:r,selectedValue:s,selectValue:a,tabValues:i}=e;const c=[],{blockElementScrollPositionUntilNextRender:u}=(0,o.MV)(),d=e=>{const n=e.currentTarget,r=c.indexOf(n),t=i[r].value;t!==s&&(u(n),a(t))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=c.indexOf(e.currentTarget)+1;n=c[r]??c[0];break}case"ArrowLeft":{const r=c.indexOf(e.currentTarget)-1;n=c[r]??c[c.length-1];break}}n?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.c)("tabs",{"tabs--block":r},n),children:i.map((e=>{let{value:n,label:r,attributes:a}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>c.push(e),onKeyDown:h,onClick:d,...a,className:(0,l.c)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function v(e){let{lazy:n,children:r,selectedValue:s}=e;const l=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=l.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:l.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function y(e){const n=x(e);return(0,t.jsxs)("div",{className:(0,l.c)("tabs-container",g.tabList),children:[(0,t.jsx)(w,{...n,...e}),(0,t.jsx)(v,{...n,...e})]})}function k(e){const n=(0,j.c)();return(0,t.jsx)(y,{...e,children:p(e.children)},String(n))}const S={tabItem:"tabItem_Ymn6"};function I(e){let{children:n,hidden:r,className:s}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,l.c)(S.tabItem,s),hidden:r,children:n})}const N={sidebar_position:1,enableComments:!0,sidebar_class_name:"green",slug:"/"},T="Quick start",M={id:"frontend/instruction",title:"Quick start",description:"Wolfram Language Notebook requires wolframscript (see Freeware Wolfram Engine or Wolfram Kernel) installed on your PC/Mac.",source:"@site/docs/frontend/instruction.md",sourceDirName:"frontend",slug:"/",permalink:"/",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1719476154e3,sidebarPosition:1,frontMatter:{sidebar_position:1,enableComments:!0,sidebar_class_name:"green",slug:"/"},sidebar:"tutorialSidebar",next:{title:"Overview",permalink:"/frontend/Overview"}},_={},W=[{value:"Desktop application",id:"desktop-application",level:2},{value:"Server application",id:"server-application",level:2},{value:"Extra arguments",id:"extra-arguments",level:3},{value:"Sponsorship",id:"sponsorship",level:2},{value:"Media",id:"media",level:2},{value:"Publications \ud83d\udce2",id:"publications-",level:2}];function E(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"quick-start",children:"Quick start"}),"\n",(0,t.jsxs)(n.p,{children:["Wolfram Language Notebook ",(0,t.jsxs)(n.strong,{children:["requires ",(0,t.jsx)(n.code,{children:"wolframscript"})," (see Freeware ",(0,t.jsx)(n.a,{href:"https://www.wolfram.com/engine/",children:"Wolfram Engine"})," or Wolfram Kernel)"]})," installed on your PC/Mac."]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsx)(n.p,{children:"Tested with Wolfram Engine 13.X - 14.X"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:r(61330).c+"",width:"720",height:"440"})}),"\n",(0,t.jsx)("h2",{style:{"text-align":"center"},children:(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/frontend/Overview",children:"Overview \ud83d\ude80"})})}),"\n",(0,t.jsx)(n.p,{children:"There are two ways you can choose from"}),"\n","\n",(0,t.jsx)(n.h2,{id:"desktop-application",children:"Desktop application"}),"\n",(0,t.jsxs)(n.p,{children:["Notebook interface is shipped as an Electron application, which is cross-platform and has most benefits of a native desktop app. ",(0,t.jsx)(n.strong,{children:"This is the easiest way"})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases",children:"Releases"})}),"\n",(0,t.jsxs)(k,{defaultValue:"Windows",values:[{label:"Windows",value:"Windows"},{label:"Linux",value:"Linux"},{label:"Mac",value:"Mac"}],children:[(0,t.jsx)(I,{value:"Windows",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.4.5/WLJS.Notebook.Setup.2.4.5.exe",children:"Windows"})}),"\n"]})}),(0,t.jsx)(I,{value:"Linux",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.4.5/wljs-notebook_2.4.5_amd64.deb",children:"Linux (Deb)"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.4.5/WLJS.Notebook-2.4.5.AppImage",children:"Linux (AppImage)"})}),"\n"]})}),(0,t.jsx)(I,{value:"Mac",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.4.5/WLJS.Notebook-2.4.5-arm64.dmg",children:"M1"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases/download/2.4.5/WLJS.Notebook-2.4.5.dmg",children:"Intel"})}),"\n"]})})]}),"\n",(0,t.jsxs)(n.p,{children:["It comes with a launcher, that takes care about all updates, files extension association and etc. Also see ",(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/releases",children:"releases"})," page for more portable installation bundles (no docs)."]}),"\n",(0,t.jsx)(n.p,{children:"For all options fully offline work is 100% possible."}),"\n",(0,t.jsx)(n.h2,{id:"server-application",children:"Server application"}),"\n",(0,t.jsxs)(n.p,{children:["Since this is a web-based application, you can also run on a server. User interface is reachable from any modern browser. Clone a master branch and run ",(0,t.jsx)(n.code,{children:"wolframscript"})]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/JerryI/wolfram-js-frontend\ncd wolfram-js-frontend\nwolframscript -f Scripts/start.wls\n"})}),"\n",(0,t.jsx)(n.p,{children:"It will take some time to download all core plugins, after that you can start using it by opening your browser"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"...\nOpen http://127.0.0.1:20560 in your browser\n"})}),"\n",(0,t.jsx)(n.p,{children:"To start server on a specific hostname"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-shell",children:"wolframscript -f Scripts/start.wls host 0.0.0.0 http 8080 ws 8081 ws2 8082 docs 8085\n"})}),"\n",(0,t.jsxs)(n.p,{children:["that will open ",(0,t.jsx)(n.strong,{children:"an HTTP server"})," on ",(0,t.jsx)(n.code,{children:"8080"})," port with ",(0,t.jsx)(n.code,{children:"8081"}),", ",(0,t.jsx)(n.code,{children:"8082"})," ",(0,t.jsx)(n.strong,{children:"used for realtime communication"})," and ",(0,t.jsx)(n.strong,{children:"docs pages"})," at ",(0,t.jsx)(n.code,{children:"8085"})]}),"\n",(0,t.jsx)(n.h3,{id:"extra-arguments",children:"Extra arguments"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"set the home folder (overrides settings)"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:'wolframscript -f Scripts/start.wls folder "Demos"\n'})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"disable autolaunch of the evaluation kernel"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"wolframscript -f Scripts/start.wls noautolaunch True\n"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"disable autotest"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"wolframscript -f Scripts/start.wls bypasstest True\n"})}),"\n",(0,t.jsx)(n.h2,{id:"sponsorship",children:"Sponsorship"}),"\n",(0,t.jsx)(n.p,{children:"To help maintain this project \u2764\ufe0f"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/sponsors/JerryI",children:"GitHub Sponsors"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://www.paypal.com/donate/?hosted_button_id=BN9LWUUUJGW54",children:(0,t.jsx)(n.strong,{children:"PayPal"})})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"media",children:"Media"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/Z76dMHK8POM?feature=share",children:"You don't need to program your figures manually"})]}),"\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/T-ryDA1Sb3g?feature=share",children:"How to do Dynamics in Computation Notebook"})]}),"\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/6s9m5ZGPkdE?feature=share",children:"We made AI Copilot in your Notebook \ud83e\udd16"})]}),"\n",(0,t.jsxs)(n.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(n.a,{href:"https://youtube.com/shorts/B_ZVjN9cvQM?feature=share",children:"AI Copilot in your Notebook. Part 2 \ud83e\udd16"})]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"publications-",children:"Publications \ud83d\udce2"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Medium"})," May 2024: ",(0,t.jsx)(n.a,{href:"https://medium.com/@krikus.ms/reinventing-dynamic-and-portable-notebooks-with-javascript-and-wolfram-language-22701d38d651",children:"Reinventing dynamic and portable notebooks with Javascript and Wolfram Language"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Yandex Open Source Jam"})," April 2024: ",(0,t.jsx)(n.a,{href:"https://www.youtube.com/watch?v=tmAY_5Wto-E",children:"Dynamic notebook interface + Wolfram Language"})," (Russian language only)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"DPG2024 Berlin March 2024"}),": ",(0,t.jsx)(n.a,{href:"https://www.dpg-verhandlungen.de/year/2024/conference/berlin/part/agi/session/4/contribution/4",children:"Computational Notebook as a Modern Multitool for Scientists"}),", ",(0,t.jsx)(n.a,{href:"https://www.dpg-physik.de/vereinigungen/fachuebergreifend/ag/agi/veranstaltungen/tagungen-und-workshops/berlin_2024/agi-4_4-kirill-vasin.pdf",children:"Slides"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Habrahabr"})," October 2023 ",(0,t.jsx)(n.a,{href:"https://habr.com/ru/articles/767490/",children:"Open-source \u0431\u043b\u043e\u043a\u043d\u043e\u0442 Wolfram Language \u0438\u043b\u0438 \u043a\u0430\u043a \u0432\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e Mathematica \u043d\u0430 Javascript \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e"})," (Russian language only)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.em,{children:"Habrahabr"})," October 2023 ",(0,t.jsx)(n.a,{href:"https://habr.com/ru/articles/766360/",children:"Wolfram Language JavaScript Frontend"})," (Russian language only)"]}),"\n"]})]})}function L(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(E,{...e})}):E(e)}},61330:(e,n,r)=>{r.d(n,{c:()=>t});const t=r.p+"assets/images/1_oEnvgJSyL-PNDTW8arOehw-062bc82cd1fb6b15dc71533fa06b1d4e.webp"},4552:(e,n,r)=>{r.d(n,{I:()=>o,M:()=>l});var t=r(11504);const s={},a=t.createContext(s);function l(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/40bb327e.8545ab78.js b/Documentation/assets/js/40bb327e.4775cefe.js similarity index 80% rename from Documentation/assets/js/40bb327e.8545ab78.js rename to Documentation/assets/js/40bb327e.4775cefe.js index d19e090a..4ed33f5e 100644 --- a/Documentation/assets/js/40bb327e.8545ab78.js +++ b/Documentation/assets/js/40bb327e.4775cefe.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3032],{33260:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Exporting formats","slug":"/category/exporting-formats","permalink":"/category/exporting-formats","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Decorating symbols","permalink":"/frontend/Advanced/Syntax sugar/Decorating symbols"},"next":{"title":"HTML file","permalink":"/frontend/Export/HTML file"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3032],{33260:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Exporting formats","slug":"/category/exporting-formats","permalink":"/category/exporting-formats","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Decorating symbols","permalink":"/frontend/Advanced/Syntax sugar/Decorating symbols"},"next":{"title":"HTML","permalink":"/frontend/Export/HTML"}}}}')}}]); \ No newline at end of file diff --git a/Documentation/assets/js/4cc1bcfc.00521e13.js b/Documentation/assets/js/4cc1bcfc.00521e13.js new file mode 100644 index 00000000..be0ea0e1 --- /dev/null +++ b/Documentation/assets/js/4cc1bcfc.00521e13.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[6332],{63764:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var o=n(17624),r=n(4552);const s={},c=void 0,a={id:"frontend/Export/Markdown",title:"Markdown",description:"Markdown format exports all code, images, comments, however it excludes output cells",source:"@site/docs/frontend/Export/Markdown.md",sourceDirName:"frontend/Export",slug:"/frontend/Export/Markdown",permalink:"/frontend/Export/Markdown",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"HTML",permalink:"/frontend/Export/HTML"},next:{title:"PDF",permalink:"/frontend/Export/PDF"}},i={},d=[];function p(e){const t={img:"img",p:"p",...(0,r.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Markdown format exports all code, images, comments, however it excludes output cells"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(64632).c+"",width:"1486",height:"76"})})]})}function l(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},64632:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/Screenshot 2024-03-13 at 19.37.13-26e8c1d2357122fff357e9fe4945b6aa.png"},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>c});var o=n(11504);const r={},s=o.createContext(r);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/56e6a955.0411d2b7.js b/Documentation/assets/js/56e6a955.0411d2b7.js new file mode 100644 index 00000000..aa356fc8 --- /dev/null +++ b/Documentation/assets/js/56e6a955.0411d2b7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[2464],{32292:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=n(17624),o=n(4552);const i={},c=void 0,a={id:"frontend/Reference/Plotting Functions/ParametricPlot",title:"ParametricPlot",description:"The same as Plot, but accepts function generating pairs of {x,y}",source:"@site/docs/frontend/Reference/Plotting Functions/ParametricPlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/ParametricPlot",permalink:"/frontend/Reference/Plotting Functions/ParametricPlot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"MatrixPlot",permalink:"/frontend/Reference/Plotting Functions/MatrixPlot"},next:{title:"Plot",permalink:"/frontend/Reference/Plotting Functions/Plot"}},s={},l=[{value:"Dynamics",id:"dynamics",level:2}];function u(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["The same as ",(0,r.jsx)(t.a,{href:"/frontend/Reference/Plotting%20Functions/Plot",children:"Plot"}),", but accepts function generating pairs of ",(0,r.jsx)(t.code,{children:"{x,y}"})]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-mathematica",children:"ParametricPlot[{Sin[t], Cos[t]}Exp[-t], {t, 0, 2Pi}]\n"})}),"\n",(0,r.jsx)(t.h2,{id:"dynamics",children:"Dynamics"}),"\n",(0,r.jsxs)(t.p,{children:["Consider to use ",(0,r.jsx)(t.a,{href:"/frontend/Reference/Plotting%20Functions/ManipulateParametricPlot",children:"ManipulateParametricPlot"})," for manipulating parameters of a function in real time"]})]})}function d(e={}){const{wrapper:t}={...(0,o.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>c});var r=n(11504);const o={},i=r.createContext(o);function c(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/575b1224.0e487c27.js b/Documentation/assets/js/575b1224.0e487c27.js deleted file mode 100644 index 0b2a3a7f..00000000 --- a/Documentation/assets/js/575b1224.0e487c27.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[5168],{17792:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var r=n(17624),s=n(4552);const a={env:["WLJS","Wolfram Kernel"],package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/Boxes.wl",update:!1},o=void 0,i={id:"frontend/Reference/Dataset/Dataset",title:"Dataset",description:"represents a structured dataset based on a hierarchy of lists and associations.",source:"@site/docs/frontend/Reference/Dataset/Dataset.md",sourceDirName:"frontend/Reference/Dataset",slug:"/frontend/Reference/Dataset/",permalink:"/frontend/Reference/Dataset/",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717785218e3,frontMatter:{env:["WLJS","Wolfram Kernel"],package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/Boxes.wl",update:!1},sidebar:"tutorialSidebar",previous:{title:"ResultCell",permalink:"/frontend/Reference/Cells and Notebook/ResultCell"},next:{title:"ArrangeSummaryBox",permalink:"/frontend/Reference/Decorations/ArrangeSummaryBox"}},c={},l=[{value:"Optimizations",id:"optimizations",level:2},{value:"Notes",id:"notes",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-mathematica",children:"Dataset[list_List, a_Association]\n"})}),"\n",(0,r.jsx)(t.p,{children:"represents a structured dataset based on a hierarchy of lists and associations."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsxs)(t.p,{children:["To be written. See original ",(0,r.jsx)(t.a,{href:"https://reference.wolfram.com/language/ref/Dataset.html",children:"doc"})]})}),"\n",(0,r.jsx)(t.h2,{id:"optimizations",children:"Optimizations"}),"\n",(0,r.jsxs)(t.p,{children:["Use numerical data or ",(0,r.jsx)(t.code,{children:"DateObject"})," or boolean type for an entire column to get better performance."]}),"\n",(0,r.jsx)(t.h2,{id:"notes",children:"Notes"}),"\n",(0,r.jsx)(t.p,{children:"It supports lazy loading for a large set with many rows. The data is stored partially on Kernel if it exceeds 0.5 mB."}),"\n",(0,r.jsxs)(t.p,{children:["The data is saved, when exported using ",(0,r.jsx)(t.a,{href:"/frontend/Export/HTML%20file",children:"HTML file"})]})]})}function p(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>o});var r=n(11504);const s={},a=r.createContext(s);function o(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/575b1224.9fd2c8f6.js b/Documentation/assets/js/575b1224.9fd2c8f6.js new file mode 100644 index 00000000..683ade67 --- /dev/null +++ b/Documentation/assets/js/575b1224.9fd2c8f6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[5168],{17792:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var r=n(17624),s=n(4552);const a={env:["WLJS","Wolfram Kernel"],package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/Boxes.wl",update:!1},o=void 0,i={id:"frontend/Reference/Dataset/Dataset",title:"Dataset",description:"represents a structured dataset based on a hierarchy of lists and associations.",source:"@site/docs/frontend/Reference/Dataset/Dataset.md",sourceDirName:"frontend/Reference/Dataset",slug:"/frontend/Reference/Dataset/",permalink:"/frontend/Reference/Dataset/",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717785218e3,frontMatter:{env:["WLJS","Wolfram Kernel"],package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/Boxes.wl",update:!1},sidebar:"tutorialSidebar",previous:{title:"ResultCell",permalink:"/frontend/Reference/Cells and Notebook/ResultCell"},next:{title:"ArrangeSummaryBox",permalink:"/frontend/Reference/Decorations/ArrangeSummaryBox"}},c={},d=[{value:"Optimizations",id:"optimizations",level:2},{value:"Notes",id:"notes",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-mathematica",children:"Dataset[list_List | a_Association]\n"})}),"\n",(0,r.jsx)(t.p,{children:"represents a structured dataset based on a hierarchy of lists and associations."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsxs)(t.p,{children:["To be written. See original ",(0,r.jsx)(t.a,{href:"https://reference.wolfram.com/language/ref/Dataset.html",children:"doc"})]})}),"\n",(0,r.jsx)(t.h2,{id:"optimizations",children:"Optimizations"}),"\n",(0,r.jsxs)(t.p,{children:["Use numerical data or ",(0,r.jsx)(t.code,{children:"DateObject"})," or boolean type for an entire column to get better performance."]}),"\n",(0,r.jsx)(t.h2,{id:"notes",children:"Notes"}),"\n",(0,r.jsx)(t.p,{children:"It supports lazy loading for a large set with many rows. The data is stored partially on Kernel if it exceeds 0.5 mB."}),"\n",(0,r.jsxs)(t.p,{children:["The data is saved, when exported using ",(0,r.jsx)(t.a,{href:"/frontend/Export/HTML",children:"HTML"})]})]})}function p(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>o});var r=n(11504);const s={},a=r.createContext(s);function o(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/5c724a1f.bf9bd4af.js b/Documentation/assets/js/5c724a1f.bf9bd4af.js deleted file mode 100644 index d56300e2..00000000 --- a/Documentation/assets/js/5c724a1f.bf9bd4af.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9064],{54372:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>x,frontMatter:()=>a,metadata:()=>o,toc:()=>t});var l=i(17624),s=i(4552);const a={env:["Wolfram Kernel"],update:!1,virtual:null,registered:!0},c=void 0,o={id:"frontend/Reference/Plotting Functions/Plot",title:"Plot",description:"A Swiss knife for displaying 2D data",source:"@site/docs/frontend/Reference/Plotting Functions/Plot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/Plot",permalink:"/frontend/Reference/Plotting Functions/Plot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["Wolfram Kernel"],update:!1,virtual:null,registered:!0},sidebar:"tutorialSidebar",previous:{title:"MatrixPlot",permalink:"/frontend/Reference/Plotting Functions/MatrixPlot"},next:{title:"Plot3D",permalink:"/frontend/Reference/Plotting Functions/Plot3D"}},r={},t=[{value:"Options",id:"options",level:2},{value:"PlotStyle",id:"plotstyle",level:3},{value:"AxesLabel",id:"axeslabel",level:3},{value:"Ticks",id:"ticks",level:3},{value:"Controls \ud83d\udc9b",id:"controls-",level:3},{value:"Frame",id:"frame",level:3},{value:"FrameTicks",id:"frameticks",level:4},{value:"FrameLabels",id:"framelabels",level:4},{value:"FrameStyle",id:"framestyle",level:4},{value:"FrameTicksStyle",id:"frameticksstyle",level:4},{value:"TickLabels",id:"ticklabels",level:4},{value:"ClippingStyle",id:"clippingstyle",level:3},{value:"Filling",id:"filling",level:3},{value:"Baseline",id:"baseline",level:3},{value:"Epilog",id:"epilog",level:3},{value:"Prolog",id:"prolog",level:3},{value:"ExclusionsStyle",id:"exclusionsstyle",level:3},{value:"ImageSize",id:"imagesize",level:3},{value:"MaxReqursion",id:"maxreqursion",level:3},{value:"Mesh",id:"mesh",level:3},{value:"PeformanceGoal",id:"peformancegoal",level:3},{value:"PlotPoints",id:"plotpoints",level:3},{value:"PlotLegends",id:"plotlegends",level:3},{value:"PlotRange",id:"plotrange",level:3},{value:"RegionFunction",id:"regionfunction",level:3},{value:"Axes",id:"axes",level:3}];function d(e){const n={a:"a",admonition:"admonition",annotation:"annotation",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",li:"li",math:"math",mi:"mi",mrow:"mrow",p:"p",pre:"pre",semantics:"semantics",span:"span",strong:"strong",ul:"ul",...(0,s.M)(),...e.components},{Wl:i}=n;return i||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.p,{children:"A Swiss knife for displaying 2D data"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[expr_, {variable, min, max, step}, opts__]\n"})}),"\n",(0,l.jsxs)(n.p,{children:["has ",(0,l.jsx)(n.code,{children:"HoldFirst"})," attribute. See the list of supported options (",(0,l.jsx)(n.code,{children:"opts"}),") down below"]}),"\n",(0,l.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,l.jsx)(n.h3,{id:"plotstyle",children:(0,l.jsx)(n.code,{children:"PlotStyle"})}),"\n",(0,l.jsxs)(n.p,{children:["Works as in Mathematica, i.e. per element in ",(0,l.jsx)(n.code,{children:"expr"})," array, supports color, opacity and etc"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Table[x^y, {y, 6}]//Evaluate, {x, 0,1}, PlotStyle->Table[Blend[{Red, Blue}, i/6], {i, 6}]]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Table[x^y, {y, 6}]//Evaluate, {x, 0,1}, PlotStyle->Table[Blend[{Red, Blue}, i/6], {i, 6}], ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"axeslabel",children:(0,l.jsx)(n.code,{children:"AxesLabel"})}),"\n",(0,l.jsx)(n.p,{children:"Place labels on your axes"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[Sinc[x], {x, 0, 10}, AxesLabel -> {"x", "Sinc[x]"}]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[Sinc[x], {x, 0, 10}, AxesLabel -> {"x", "Sinc[x]"}, ImageSize->500]'}),"\n",(0,l.jsxs)(n.p,{children:["Labels ",(0,l.jsx)(n.strong,{children:"accepts only strings"})," or numbers unlike Mathematica, where you can put everything."]}),"\n",(0,l.jsxs)(n.p,{children:["Since it is translated into ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/Text",children:(0,l.jsx)(n.code,{children:"Text"})}),", one can use sort of TeX math input"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {"wavenumber (cm^{-1})", "absorption \\\\alpha"}, PlotRange->Full]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {"wavenumber (cm^{-1})", "absorption \\alpha"}, PlotRange->Full, ImageSize->500]'}),"\n",(0,l.jsxs)(n.p,{children:["It also supports ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/Offset",children:"Offset"})," attribute"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {Offset["wavenumber (cm^{-1})", {0,0.05}], "absorption \\\\alpha"}, PlotRange->Full]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {Offset["wavenumber (cm^{-1})", {0,0.05}], "absorption \\alpha"}, PlotRange->Full, ImageSize->500]'}),"\n",(0,l.jsx)(n.h3,{id:"ticks",children:(0,l.jsx)(n.code,{children:"Ticks"})}),"\n",(0,l.jsx)(n.p,{children:"Customize ticks by providing an array of numbers for both axes"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[x, {x, 0, 1}, Ticks->{{0, 0.5, 1}, {}}]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[x, {x, 0, 1}, Ticks->{{0, 0.5, 1}, {}}, ImageSize->500]"}),"\n",(0,l.jsxs)(n.p,{children:["Or by providing as pairs ",(0,l.jsx)(n.code,{children:"{Number, String}"})," one can specify the displayed text"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Ticks->{{{0, "Zero"}, {0.5, "Half"}, {1,"One"}}, {}}]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Ticks->{{{0, "Zero"}, {0.5, "Half"}, {1,"One"}}, {}}, ImageSize->500]'}),"\n",(0,l.jsxs)(n.h3,{id:"controls-",children:[(0,l.jsx)(n.code,{children:"Controls"})," \ud83d\udc9b"]}),"\n",(0,l.jsxs)(n.p,{children:["This is more an option for ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"}),", but with a bit of a hacking it can be used here as well. The features ",(0,l.jsx)(n.strong,{children:"allows to pan and zoom your plots"}),", that was never possible in Mathematica"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1];\nInsert[%, Controls->True, {2,-1}]\n"})}),"\n",(0,l.jsx)(i,{children:"Insert[Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1, ImageSize->500], Controls->True, {2,-1}]"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.em,{children:"Try to use your mouse here"})}),"\n",(0,l.jsx)(n.h3,{id:"frame",children:(0,l.jsx)(n.code,{children:"Frame"})}),"\n",(0,l.jsx)(n.p,{children:"Turns plot into the journals-like styled graph. In general it has much more options to customize the look"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[x, {x, 0, 1}, Frame->True]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[x, {x, 0, 1}, Frame->True, ImageSize->500]"}),"\n",(0,l.jsx)(n.h4,{id:"frameticks",children:(0,l.jsx)(n.code,{children:"FrameTicks"})}),"\n",(0,l.jsxs)(n.p,{children:["The same as ",(0,l.jsx)(n.a,{href:"#%60Ticks%60",children:(0,l.jsx)(n.code,{children:"Ticks"})}),", but for this regime."]}),"\n",(0,l.jsx)(n.h4,{id:"framelabels",children:(0,l.jsx)(n.code,{children:"FrameLabels"})}),"\n",(0,l.jsxs)(n.p,{children:["The same as ",(0,l.jsx)(n.a,{href:"#%60AxesLabel%60",children:(0,l.jsx)(n.code,{children:"AxesLabel"})})]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, ImageSize->500]'}),"\n",(0,l.jsx)(n.h4,{id:"framestyle",children:(0,l.jsx)(n.code,{children:"FrameStyle"})}),"\n",(0,l.jsxs)(n.p,{children:["Affects the style of ",(0,l.jsx)(n.a,{href:"#%60FrameLabels%60",children:(0,l.jsx)(n.code,{children:"FrameLabels"})}),". Use ",(0,l.jsx)(n.code,{children:"Directive"})," for changing the style"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameStyle->Directive[FontSize->16]]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameStyle->Directive[FontSize->16], ImageSize->500]'}),"\n",(0,l.jsx)(n.h4,{id:"frameticksstyle",children:(0,l.jsx)(n.code,{children:"FrameTicksStyle"})}),"\n",(0,l.jsxs)(n.p,{children:["Affects the style of ",(0,l.jsx)(n.a,{href:"#%60FrameTicks%60",children:(0,l.jsx)(n.code,{children:"FrameTicks"})})]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameTicksStyle->Directive[FontSize->16]]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameTicksStyle->Directive[FontSize->16], ImageSize->500]'}),"\n",(0,l.jsx)(n.h4,{id:"ticklabels",children:(0,l.jsx)(n.code,{children:"TickLabels"})}),"\n",(0,l.jsx)(n.admonition,{type:"info",children:(0,l.jsxs)(n.p,{children:["Since ",(0,l.jsx)(n.code,{children:"Plot"})," options are hardcoded in WL core, we cannot add new options, however using trick with ",(0,l.jsx)(n.code,{children:"Insert"})," any values can be provided to the resulting ",(0,l.jsx)(n.code,{children:"Graphics"})," expression"]})}),"\n",(0,l.jsx)(n.p,{children:"To remove unnecessary ticks, use"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True];\nInsert[%, "TickLabels"->{{True, False}, {True, False}}, {2,-1}]\n'})}),"\n",(0,l.jsx)(i,{children:'Insert[Plot[x, {x, 0, 1}, Frame->True, ImageSize->500], "TickLabels"->{{True, False}, {True, False}}, {2,-1}]'}),"\n",(0,l.jsx)(n.h3,{id:"clippingstyle",children:(0,l.jsx)(n.code,{children:"ClippingStyle"})}),"\n",(0,l.jsx)(n.p,{children:"Show the clipped regions like the rest of the curve and colored"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[x]/x^2, {x, -10, 10}, ClippingStyle -> Red]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[x]/x^2, {x, -10, 10}, ClippingStyle -> Red, ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"filling",children:(0,l.jsx)(n.code,{children:"Filling"})}),"\n",(0,l.jsx)(n.p,{children:"Fill the area under, over of between curves"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10}, Filling -> Axis]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10}, Filling -> Axis, ImageSize->500]"}),"\n",(0,l.jsx)(n.p,{children:"Possible options will be"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:"Bottom"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:"Top"})}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"{1 -> {2}}"})," from curve 1 to 2"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"baseline",children:(0,l.jsx)(n.code,{children:"Baseline"})}),"\n",(0,l.jsxs)(n.p,{children:["Align graphs by the\xa0",(0,l.jsxs)(n.span,{className:"katex",children:[(0,l.jsx)(n.span,{className:"katex-mathml",children:(0,l.jsx)(n.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,l.jsxs)(n.semantics,{children:[(0,l.jsx)(n.mrow,{children:(0,l.jsx)(n.mi,{children:"x"})}),(0,l.jsx)(n.annotation,{encoding:"application/x-tex",children:"x"})]})})}),(0,l.jsx)(n.span,{className:"katex-html","aria-hidden":"true",children:(0,l.jsxs)(n.span,{className:"base",children:[(0,l.jsx)(n.span,{className:"strut",style:{height:"0.4306em"}}),(0,l.jsx)(n.span,{className:"mord mathnormal",children:"x"})]})})]}),"\xa0axis in each plot:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"{Plot[Im[Zeta[1/2 + I t]], {t, -20, 20}, BaselinePosition -> Axis], \n Plot[Re[Zeta[1/2 + I t]], {t, -20, 20}, BaselinePosition -> Axis]} // Row\n"})}),"\n",(0,l.jsx)(n.h3,{id:"epilog",children:(0,l.jsx)(n.code,{children:"Epilog"})}),"\n",(0,l.jsx)(n.p,{children:"Puts any graphics object on top of the data plotted"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[x], {x, 0, 2 Pi}, Epilog -> {PointSize[0.04], Point[{0, 0}], Point[{Pi, 0}], Point[{2 Pi, 0}]}]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[x], {x, 0, 2 Pi}, Epilog -> {PointSize[0.04], Point[{0, 0}], Point[{Pi, 0}], Point[{2 Pi, 0}]}, ImageSize->500]"}),"\n",(0,l.jsxs)(n.p,{children:["It opens up many possibilities, since it provides low-level access to the ",(0,l.jsx)(n.code,{children:"Graphics"})," canvas."]}),"\n",(0,l.jsx)(n.h3,{id:"prolog",children:(0,l.jsx)(n.code,{children:"Prolog"})}),"\n",(0,l.jsxs)(n.p,{children:["The same as ",(0,l.jsx)(n.a,{href:"#%60Epilog%60",children:(0,l.jsx)(n.code,{children:"Epilog"})}),", but acts before plotting the data."]}),"\n",(0,l.jsx)(n.h3,{id:"exclusionsstyle",children:(0,l.jsx)(n.code,{children:"ExclusionsStyle"})}),"\n",(0,l.jsx)(n.p,{children:"Use red lines to indicate the vertical asymptotes"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Tan[x], {x, 0, 10}, Exclusions -> {Cos[x] == 0}, \n ExclusionsStyle -> Red]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Tan[x], {x, 0, 10}, Exclusions -> {Cos[x] == 0}, \n ExclusionsStyle -> Red, ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"imagesize",children:(0,l.jsx)(n.code,{children:"ImageSize"})}),"\n",(0,l.jsx)(n.p,{children:"A common option for any graphics"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"ImageSize -> Width\n"})}),"\n",(0,l.jsx)(n.p,{children:"or"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"ImageSize -> {Width, Height}\n"})}),"\n",(0,l.jsx)(n.p,{children:"It uses pixels as units"}),"\n",(0,l.jsx)(n.h3,{id:"maxreqursion",children:(0,l.jsx)(n.code,{children:"MaxReqursion"})}),"\n",(0,l.jsx)(n.p,{children:"Affects the accuracy of the plot when it comes to the sudden changes of a sampled function"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1, ImageSize->500]"}),"\n",(0,l.jsxs)(n.p,{children:["The lowest values is ",(0,l.jsx)(n.code,{children:"0"})]}),"\n",(0,l.jsx)(n.h3,{id:"mesh",children:(0,l.jsx)(n.code,{children:"Mesh"})}),"\n",(0,l.jsx)(n.p,{children:"Shows sampling points"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[1/x], {x, 0.001, 0.1}, Mesh -> All]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[1/x], {x, 0.001, 0.1}, Mesh -> All, MaxRecursion->1, ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"peformancegoal",children:(0,l.jsx)(n.code,{children:"PeformanceGoal"})}),"\n",(0,l.jsx)(n.p,{children:"Affects the number of sampling points to reduce the load"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:'"Speed"'})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:'"Quality"'})}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"plotpoints",children:(0,l.jsx)(n.code,{children:"PlotPoints"})}),"\n",(0,l.jsx)(n.p,{children:"Change the initial sampling points"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"a number"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"plotlegends",children:(0,l.jsx)(n.code,{children:"PlotLegends"})}),"\n",(0,l.jsxs)(n.p,{children:["Is quite limited. Accepts ",(0,l.jsx)(n.code,{children:"Automatic"}),", ",(0,l.jsx)(n.code,{children:'"Expressions"'})," or ",(0,l.jsx)(n.code,{children:"List"})," of expressions to show"]}),"\n",(0,l.jsx)(n.h3,{id:"plotrange",children:(0,l.jsx)(n.code,{children:"PlotRange"})}),"\n",(0,l.jsx)(n.p,{children:"Change the lot range to show the whole area"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> Full]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> Full, MaxRecursion->0,ImageSize->500]"}),"\n",(0,l.jsx)(n.p,{children:"Or a custom range"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> {{-5,5}, {0,1}}]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> {{-5,5}, {0,1}}, MaxRecursion->0,ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"regionfunction",children:(0,l.jsx)(n.code,{children:"RegionFunction"})}),"\n",(0,l.jsx)(n.p,{children:"Show the specific area only"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[x], {x, 0, 8 Pi}, RegionFunction -> Function[{x, y}, Abs[y] > 0.5]]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[x], {x, 0, 8 Pi}, \n RegionFunction -> Function[{x, y}, Abs[y] > 0.5], ImageSize->500, MaxRecursion->0]"}),"\n",(0,l.jsx)(n.h3,{id:"axes",children:(0,l.jsx)(n.code,{children:"Axes"})}),"\n",(0,l.jsx)(n.admonition,{type:"caution",children:(0,l.jsxs)(n.p,{children:["Currently is not supported by ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})," ;("]})}),"\n",(0,l.jsx)(n.p,{children:"Show or hide axes of the plot"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sinc[x], {x, 0, 10}, Axes -> False]\n"})})]})}function x(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>o,M:()=>c});var l=i(11504);const s={},a=l.createContext(s);function c(e){const n=l.useContext(a);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),l.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/5c724a1f.d66786c3.js b/Documentation/assets/js/5c724a1f.d66786c3.js new file mode 100644 index 00000000..12a3ba76 --- /dev/null +++ b/Documentation/assets/js/5c724a1f.d66786c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9064],{54372:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>x,frontMatter:()=>a,metadata:()=>r,toc:()=>t});var l=i(17624),s=i(4552);const a={env:["Wolfram Kernel"],update:!1,virtual:null,registered:!0},c=void 0,r={id:"frontend/Reference/Plotting Functions/Plot",title:"Plot",description:"A Swiss knife for displaying 2D data",source:"@site/docs/frontend/Reference/Plotting Functions/Plot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/Plot",permalink:"/frontend/Reference/Plotting Functions/Plot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["Wolfram Kernel"],update:!1,virtual:null,registered:!0},sidebar:"tutorialSidebar",previous:{title:"ParametricPlot",permalink:"/frontend/Reference/Plotting Functions/ParametricPlot"},next:{title:"Plot3D",permalink:"/frontend/Reference/Plotting Functions/Plot3D"}},o={},t=[{value:"Options",id:"options",level:2},{value:"PlotStyle",id:"plotstyle",level:3},{value:"AxesLabel",id:"axeslabel",level:3},{value:"Ticks",id:"ticks",level:3},{value:"Controls \ud83d\udc9b",id:"controls-",level:3},{value:"Frame",id:"frame",level:3},{value:"FrameTicks",id:"frameticks",level:4},{value:"FrameLabels",id:"framelabels",level:4},{value:"FrameStyle",id:"framestyle",level:4},{value:"FrameTicksStyle",id:"frameticksstyle",level:4},{value:"TickLabels",id:"ticklabels",level:4},{value:"ClippingStyle",id:"clippingstyle",level:3},{value:"Filling",id:"filling",level:3},{value:"Baseline",id:"baseline",level:3},{value:"Epilog",id:"epilog",level:3},{value:"Prolog",id:"prolog",level:3},{value:"ExclusionsStyle",id:"exclusionsstyle",level:3},{value:"ImageSize",id:"imagesize",level:3},{value:"MaxReqursion",id:"maxreqursion",level:3},{value:"Mesh",id:"mesh",level:3},{value:"PeformanceGoal",id:"peformancegoal",level:3},{value:"PlotPoints",id:"plotpoints",level:3},{value:"PlotLegends",id:"plotlegends",level:3},{value:"PlotRange",id:"plotrange",level:3},{value:"RegionFunction",id:"regionfunction",level:3},{value:"Axes",id:"axes",level:3},{value:"Dynamics",id:"dynamics",level:2}];function d(e){const n={a:"a",admonition:"admonition",annotation:"annotation",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",li:"li",math:"math",mi:"mi",mrow:"mrow",p:"p",pre:"pre",semantics:"semantics",span:"span",strong:"strong",ul:"ul",...(0,s.M)(),...e.components},{Wl:i}=n;return i||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.p,{children:"A Swiss knife for displaying 2D data"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[expr_, {variable, min, max, step}, opts__]\n"})}),"\n",(0,l.jsxs)(n.p,{children:["has ",(0,l.jsx)(n.code,{children:"HoldFirst"})," attribute. See the list of supported options (",(0,l.jsx)(n.code,{children:"opts"}),") down below"]}),"\n",(0,l.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,l.jsx)(n.h3,{id:"plotstyle",children:(0,l.jsx)(n.code,{children:"PlotStyle"})}),"\n",(0,l.jsxs)(n.p,{children:["Works as in Mathematica, i.e. per element in ",(0,l.jsx)(n.code,{children:"expr"})," array, supports color, opacity and etc"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Table[x^y, {y, 6}]//Evaluate, {x, 0,1}, PlotStyle->Table[Blend[{Red, Blue}, i/6], {i, 6}]]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Table[x^y, {y, 6}]//Evaluate, {x, 0,1}, PlotStyle->Table[Blend[{Red, Blue}, i/6], {i, 6}], ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"axeslabel",children:(0,l.jsx)(n.code,{children:"AxesLabel"})}),"\n",(0,l.jsx)(n.p,{children:"Place labels on your axes"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[Sinc[x], {x, 0, 10}, AxesLabel -> {"x", "Sinc[x]"}]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[Sinc[x], {x, 0, 10}, AxesLabel -> {"x", "Sinc[x]"}, ImageSize->500]'}),"\n",(0,l.jsxs)(n.p,{children:["Labels ",(0,l.jsx)(n.strong,{children:"accepts only strings"})," or numbers unlike Mathematica, where you can put everything."]}),"\n",(0,l.jsxs)(n.p,{children:["Since it is translated into ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/Text",children:(0,l.jsx)(n.code,{children:"Text"})}),", one can use sort of TeX math input"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {"wavenumber (cm^{-1})", "absorption \\\\alpha"}, PlotRange->Full]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {"wavenumber (cm^{-1})", "absorption \\alpha"}, PlotRange->Full, ImageSize->500]'}),"\n",(0,l.jsxs)(n.p,{children:["It also supports ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/Offset",children:"Offset"})," attribute"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {Offset["wavenumber (cm^{-1})", {0,0.05}], "absorption \\\\alpha"}, PlotRange->Full]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[PDF[NormalDistribution[0, 1], x], {x, -10, 10}, AxesLabel -> {Offset["wavenumber (cm^{-1})", {0,0.05}], "absorption \\alpha"}, PlotRange->Full, ImageSize->500]'}),"\n",(0,l.jsx)(n.h3,{id:"ticks",children:(0,l.jsx)(n.code,{children:"Ticks"})}),"\n",(0,l.jsx)(n.p,{children:"Customize ticks by providing an array of numbers for both axes"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[x, {x, 0, 1}, Ticks->{{0, 0.5, 1}, {}}]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[x, {x, 0, 1}, Ticks->{{0, 0.5, 1}, {}}, ImageSize->500]"}),"\n",(0,l.jsxs)(n.p,{children:["Or by providing as pairs ",(0,l.jsx)(n.code,{children:"{Number, String}"})," one can specify the displayed text"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Ticks->{{{0, "Zero"}, {0.5, "Half"}, {1,"One"}}, {}}]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Ticks->{{{0, "Zero"}, {0.5, "Half"}, {1,"One"}}, {}}, ImageSize->500]'}),"\n",(0,l.jsxs)(n.h3,{id:"controls-",children:[(0,l.jsx)(n.code,{children:"Controls"})," \ud83d\udc9b"]}),"\n",(0,l.jsxs)(n.p,{children:["This is more an option for ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"}),", but with a bit of a hacking it can be used here as well. The features ",(0,l.jsx)(n.strong,{children:"allows to pan and zoom your plots"}),", that was never possible in Mathematica"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1];\nInsert[%, Controls->True, {2,-1}]\n"})}),"\n",(0,l.jsx)(i,{children:"Insert[Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1, ImageSize->500], Controls->True, {2,-1}]"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.em,{children:"Try to use your mouse here"})}),"\n",(0,l.jsx)(n.h3,{id:"frame",children:(0,l.jsx)(n.code,{children:"Frame"})}),"\n",(0,l.jsx)(n.p,{children:"Turns plot into the journals-like styled graph. In general it has much more options to customize the look"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[x, {x, 0, 1}, Frame->True]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[x, {x, 0, 1}, Frame->True, ImageSize->500]"}),"\n",(0,l.jsx)(n.h4,{id:"frameticks",children:(0,l.jsx)(n.code,{children:"FrameTicks"})}),"\n",(0,l.jsxs)(n.p,{children:["The same as ",(0,l.jsx)(n.a,{href:"#%60Ticks%60",children:(0,l.jsx)(n.code,{children:"Ticks"})}),", but for this regime."]}),"\n",(0,l.jsx)(n.h4,{id:"framelabels",children:(0,l.jsx)(n.code,{children:"FrameLabels"})}),"\n",(0,l.jsxs)(n.p,{children:["The same as ",(0,l.jsx)(n.a,{href:"#%60AxesLabel%60",children:(0,l.jsx)(n.code,{children:"AxesLabel"})})]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, ImageSize->500]'}),"\n",(0,l.jsx)(n.h4,{id:"framestyle",children:(0,l.jsx)(n.code,{children:"FrameStyle"})}),"\n",(0,l.jsxs)(n.p,{children:["Affects the style of ",(0,l.jsx)(n.a,{href:"#%60FrameLabels%60",children:(0,l.jsx)(n.code,{children:"FrameLabels"})}),". Use ",(0,l.jsx)(n.code,{children:"Directive"})," for changing the style"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameStyle->Directive[FontSize->16]]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameStyle->Directive[FontSize->16], ImageSize->500]'}),"\n",(0,l.jsx)(n.h4,{id:"frameticksstyle",children:(0,l.jsx)(n.code,{children:"FrameTicksStyle"})}),"\n",(0,l.jsxs)(n.p,{children:["Affects the style of ",(0,l.jsx)(n.a,{href:"#%60FrameTicks%60",children:(0,l.jsx)(n.code,{children:"FrameTicks"})})]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameTicksStyle->Directive[FontSize->16]]\n'})}),"\n",(0,l.jsx)(i,{children:'Plot[x, {x, 0, 1}, Frame->True, FrameLabel->{"x-axis", "y-axis"}, FrameTicksStyle->Directive[FontSize->16], ImageSize->500]'}),"\n",(0,l.jsx)(n.h4,{id:"ticklabels",children:(0,l.jsx)(n.code,{children:"TickLabels"})}),"\n",(0,l.jsx)(n.admonition,{type:"info",children:(0,l.jsxs)(n.p,{children:["Since ",(0,l.jsx)(n.code,{children:"Plot"})," options are hardcoded in WL core, we cannot add new options, however using trick with ",(0,l.jsx)(n.code,{children:"Insert"})," any values can be provided to the resulting ",(0,l.jsx)(n.code,{children:"Graphics"})," expression"]})}),"\n",(0,l.jsx)(n.p,{children:"To remove unnecessary ticks, use"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:'Plot[x, {x, 0, 1}, Frame->True];\nInsert[%, "TickLabels"->{{True, False}, {True, False}}, {2,-1}]\n'})}),"\n",(0,l.jsx)(i,{children:'Insert[Plot[x, {x, 0, 1}, Frame->True, ImageSize->500], "TickLabels"->{{True, False}, {True, False}}, {2,-1}]'}),"\n",(0,l.jsx)(n.h3,{id:"clippingstyle",children:(0,l.jsx)(n.code,{children:"ClippingStyle"})}),"\n",(0,l.jsx)(n.p,{children:"Show the clipped regions like the rest of the curve and colored"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[x]/x^2, {x, -10, 10}, ClippingStyle -> Red]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[x]/x^2, {x, -10, 10}, ClippingStyle -> Red, ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"filling",children:(0,l.jsx)(n.code,{children:"Filling"})}),"\n",(0,l.jsx)(n.p,{children:"Fill the area under, over of between curves"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10}, Filling -> Axis]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]], {x, 0, 10}, Filling -> Axis, ImageSize->500]"}),"\n",(0,l.jsx)(n.p,{children:"Possible options will be"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:"Bottom"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:"Top"})}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"{1 -> {2}}"})," from curve 1 to 2"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"baseline",children:(0,l.jsx)(n.code,{children:"Baseline"})}),"\n",(0,l.jsxs)(n.p,{children:["Align graphs by the\xa0",(0,l.jsxs)(n.span,{className:"katex",children:[(0,l.jsx)(n.span,{className:"katex-mathml",children:(0,l.jsx)(n.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,l.jsxs)(n.semantics,{children:[(0,l.jsx)(n.mrow,{children:(0,l.jsx)(n.mi,{children:"x"})}),(0,l.jsx)(n.annotation,{encoding:"application/x-tex",children:"x"})]})})}),(0,l.jsx)(n.span,{className:"katex-html","aria-hidden":"true",children:(0,l.jsxs)(n.span,{className:"base",children:[(0,l.jsx)(n.span,{className:"strut",style:{height:"0.4306em"}}),(0,l.jsx)(n.span,{className:"mord mathnormal",children:"x"})]})})]}),"\xa0axis in each plot:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"{Plot[Im[Zeta[1/2 + I t]], {t, -20, 20}, BaselinePosition -> Axis], \n Plot[Re[Zeta[1/2 + I t]], {t, -20, 20}, BaselinePosition -> Axis]} // Row\n"})}),"\n",(0,l.jsx)(n.h3,{id:"epilog",children:(0,l.jsx)(n.code,{children:"Epilog"})}),"\n",(0,l.jsx)(n.p,{children:"Puts any graphics object on top of the data plotted"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[x], {x, 0, 2 Pi}, Epilog -> {PointSize[0.04], Point[{0, 0}], Point[{Pi, 0}], Point[{2 Pi, 0}]}]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[x], {x, 0, 2 Pi}, Epilog -> {PointSize[0.04], Point[{0, 0}], Point[{Pi, 0}], Point[{2 Pi, 0}]}, ImageSize->500]"}),"\n",(0,l.jsxs)(n.p,{children:["It opens up many possibilities, since it provides low-level access to the ",(0,l.jsx)(n.code,{children:"Graphics"})," canvas."]}),"\n",(0,l.jsx)(n.h3,{id:"prolog",children:(0,l.jsx)(n.code,{children:"Prolog"})}),"\n",(0,l.jsxs)(n.p,{children:["The same as ",(0,l.jsx)(n.a,{href:"#%60Epilog%60",children:(0,l.jsx)(n.code,{children:"Epilog"})}),", but acts before plotting the data."]}),"\n",(0,l.jsx)(n.h3,{id:"exclusionsstyle",children:(0,l.jsx)(n.code,{children:"ExclusionsStyle"})}),"\n",(0,l.jsx)(n.p,{children:"Use red lines to indicate the vertical asymptotes"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Tan[x], {x, 0, 10}, Exclusions -> {Cos[x] == 0}, \n ExclusionsStyle -> Red]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Tan[x], {x, 0, 10}, Exclusions -> {Cos[x] == 0}, \n ExclusionsStyle -> Red, ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"imagesize",children:(0,l.jsx)(n.code,{children:"ImageSize"})}),"\n",(0,l.jsx)(n.p,{children:"A common option for any graphics"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"ImageSize -> Width\n"})}),"\n",(0,l.jsx)(n.p,{children:"or"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"ImageSize -> {Width, Height}\n"})}),"\n",(0,l.jsx)(n.p,{children:"It uses pixels as units"}),"\n",(0,l.jsx)(n.h3,{id:"maxreqursion",children:(0,l.jsx)(n.code,{children:"MaxReqursion"})}),"\n",(0,l.jsx)(n.p,{children:"Affects the accuracy of the plot when it comes to the sudden changes of a sampled function"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[1/x], {x, 0.001, 0.1}, MaxRecursion->1, ImageSize->500]"}),"\n",(0,l.jsxs)(n.p,{children:["The lowest values is ",(0,l.jsx)(n.code,{children:"0"})]}),"\n",(0,l.jsx)(n.h3,{id:"mesh",children:(0,l.jsx)(n.code,{children:"Mesh"})}),"\n",(0,l.jsx)(n.p,{children:"Shows sampling points"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[1/x], {x, 0.001, 0.1}, Mesh -> All]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[1/x], {x, 0.001, 0.1}, Mesh -> All, MaxRecursion->1, ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"peformancegoal",children:(0,l.jsx)(n.code,{children:"PeformanceGoal"})}),"\n",(0,l.jsx)(n.p,{children:"Affects the number of sampling points to reduce the load"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:'"Speed"'})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:'"Quality"'})}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"plotpoints",children:(0,l.jsx)(n.code,{children:"PlotPoints"})}),"\n",(0,l.jsx)(n.p,{children:"Change the initial sampling points"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"a number"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"plotlegends",children:(0,l.jsx)(n.code,{children:"PlotLegends"})}),"\n",(0,l.jsxs)(n.p,{children:["Is quite limited. Accepts ",(0,l.jsx)(n.code,{children:"Automatic"}),", ",(0,l.jsx)(n.code,{children:'"Expressions"'})," or ",(0,l.jsx)(n.code,{children:"List"})," of expressions to show"]}),"\n",(0,l.jsx)(n.h3,{id:"plotrange",children:(0,l.jsx)(n.code,{children:"PlotRange"})}),"\n",(0,l.jsx)(n.p,{children:"Change the lot range to show the whole area"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> Full]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> Full, MaxRecursion->0,ImageSize->500]"}),"\n",(0,l.jsx)(n.p,{children:"Or a custom range"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> {{-5,5}, {0,1}}]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sqrt[x], {x, -5, 5}, PlotRange -> {{-5,5}, {0,1}}, MaxRecursion->0,ImageSize->500]"}),"\n",(0,l.jsx)(n.h3,{id:"regionfunction",children:(0,l.jsx)(n.code,{children:"RegionFunction"})}),"\n",(0,l.jsx)(n.p,{children:"Show the specific area only"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sin[x], {x, 0, 8 Pi}, RegionFunction -> Function[{x, y}, Abs[y] > 0.5]]\n"})}),"\n",(0,l.jsx)(i,{children:"Plot[Sin[x], {x, 0, 8 Pi}, \n RegionFunction -> Function[{x, y}, Abs[y] > 0.5], ImageSize->500, MaxRecursion->0]"}),"\n",(0,l.jsx)(n.h3,{id:"axes",children:(0,l.jsx)(n.code,{children:"Axes"})}),"\n",(0,l.jsx)(n.admonition,{type:"caution",children:(0,l.jsxs)(n.p,{children:["Currently is not supported by ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})," ;("]})}),"\n",(0,l.jsx)(n.p,{children:"Show or hide axes of the plot"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",children:"Plot[Sinc[x], {x, 0, 10}, Axes -> False]\n"})}),"\n",(0,l.jsx)(n.h2,{id:"dynamics",children:"Dynamics"}),"\n",(0,l.jsxs)(n.p,{children:["Consider to use ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Plotting%20Functions/ManipulatePlot",children:"ManipulatePlot"})," for manipulating parameters of a function in real time"]})]})}function x(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>r,M:()=>c});var l=i(11504);const s={},a=l.createContext(s);function c(e){const n=l.useContext(a);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),l.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/5ed05174.25bd3f1f.js b/Documentation/assets/js/5ed05174.25bd3f1f.js deleted file mode 100644 index f290ac52..00000000 --- a/Documentation/assets/js/5ed05174.25bd3f1f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4780],{1188:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=t(17624),l=t(4552);const o={},s=void 0,r={id:"frontend/Cell types/WLX",title:"WLX",description:"It allows to use Wolfram Language XML in your cell. It comes handy when making a a complex cell structure or stylizing it using the power of HTML/CSS/JS.",source:"@site/docs/frontend/Cell types/WLX.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/WLX",permalink:"/frontend/Cell types/WLX",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1712600483e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Slides",permalink:"/frontend/Cell types/Slides"},next:{title:"Command palette",permalink:"/frontend/Command palette"}},a={},d=[{value:"Embed figures into a custom layout",id:"embed-figures-into-a-custom-layout",level:2},{value:"Making components",id:"making-components",level:2},{value:"Two-columns layout using Flexbox",id:"two-columns-layout-using-flexbox",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,l.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["It allows to use ",(0,i.jsx)(n.a,{href:"https://jerryi.github.io/wlx-docs/docs/Reference/WLX/",children:"Wolfram Language XML"})," in your cell. It comes handy when making a a complex cell structure or stylizing it using the power of HTML/CSS/JS."]}),"\n",(0,i.jsx)(n.h2,{id:"embed-figures-into-a-custom-layout",children:"Embed figures into a custom layout"}),"\n",(0,i.jsxs)(n.p,{children:["Plot a figure into a symbol ",(0,i.jsx)(n.strong,{children:"starting from the capital letter"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"Figure = Plot[Sinc[5x], {x,-5,5}]\n"})}),"\n",(0,i.jsx)(n.p,{children:"then type in a new cell"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\n
\n \n
\n
\n
\n
\n'})}),"\n",(0,i.jsx)(n.p,{children:"Then you plot will shake infinitely ;)"}),"\n",(0,i.jsx)(n.h2,{id:"making-components",children:"Making components"}),"\n",(0,i.jsx)(n.p,{children:"Let us define some hybrid WL function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\nHeading[Text_, OptionPattern[]] := With[{color = OptionValue["Color"]},\n\t

;\n]\n\nOptions[Heading] = {"Color"->"black"}\n'})}),"\n",(0,i.jsx)(n.p,{children:"then we can use it in our layout"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\n\n Hello World!\n\n'})}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Utilize the power of WLX while making ",(0,i.jsx)(n.a,{href:"/frontend/Cell%20types/Slides",children:"Slides"})]})}),"\n",(0,i.jsxs)(n.p,{children:["All WL expressions ",(0,i.jsx)(n.strong,{children:"are accessible from there as well"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:".wlx\n\nGetTime := TextString[Now]\n\n\n"})}),"\n",(0,i.jsx)(n.h2,{id:"two-columns-layout-using-flexbox",children:"Two-columns layout using Flexbox"}),"\n",(0,i.jsx)(n.p,{children:"You can fine-tune the layout, since you are dealing with pure HTML and CSS. For example, here we have a slider and a plot aligned to a row"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\nModule[{Slider = InputRange[0.1,1,0.1,0.5], Figure, lines},\n EventHandler[Slider, Function[data, lines = {#, Sinc[#/data]}& /@ Range[-5,5,0.1]]];\n Slider // EventFire;\n\n Figure = Graphics[Line[lines // Offload], ImageSize->350];\n\n
\n
\n
\n
\n]\n'})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(29572).c+"",width:"1544",height:"442"})})]})}function u(e={}){const{wrapper:n}={...(0,l.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},29572:(e,n,t)=>{t.d(n,{c:()=>i});const i=t.p+"assets/images/WLXwidget-ezgif.com-video-to-apng-converter-512cbb2ecdc0a1429dd067b2a29404bc.png"},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>s});var i=t(11504);const l={},o=i.createContext(l);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/5ed05174.829cdb03.js b/Documentation/assets/js/5ed05174.829cdb03.js new file mode 100644 index 00000000..57bc5c82 --- /dev/null +++ b/Documentation/assets/js/5ed05174.829cdb03.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4780],{1188:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=t(17624),l=t(4552);const o={},s=void 0,r={id:"frontend/Cell types/WLX",title:"WLX",description:"Type .wlx in the first line of an input cell",source:"@site/docs/frontend/Cell types/WLX.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/WLX",permalink:"/frontend/Cell types/WLX",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1712600483e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Slides",permalink:"/frontend/Cell types/Slides"},next:{title:"Command palette",permalink:"/frontend/Command palette"}},a={},d=[{value:"Embed figures into a custom layout",id:"embed-figures-into-a-custom-layout",level:2},{value:"Making components",id:"making-components",level:2},{value:"Two-columns layout using Flexbox",id:"two-columns-layout-using-flexbox",level:2}];function c(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,l.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Type ",(0,i.jsx)(n.code,{children:".wlx"})," in the first line of an input cell"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["It allows to use ",(0,i.jsx)(n.a,{href:"https://jerryi.github.io/wlx-docs/docs/Reference/WLX/",children:"Wolfram Language XML"})," in your cell. It comes handy when making a a complex cell structure or stylizing it using the power of HTML/CSS/JS."]}),"\n",(0,i.jsx)(n.h2,{id:"embed-figures-into-a-custom-layout",children:"Embed figures into a custom layout"}),"\n",(0,i.jsxs)(n.p,{children:["Plot a figure into a symbol ",(0,i.jsx)(n.strong,{children:"starting from the capital letter"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"Figure = Plot[Sinc[5x], {x,-5,5}]\n"})}),"\n",(0,i.jsx)(n.p,{children:"then type in a new cell"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\n
\n \n
\n
\n
\n
\n'})}),"\n",(0,i.jsx)(n.p,{children:"Then you plot will shake infinitely ;)"}),"\n",(0,i.jsx)(n.h2,{id:"making-components",children:"Making components"}),"\n",(0,i.jsx)(n.p,{children:"Let us define some hybrid WL function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\nHeading[Text_, OptionPattern[]] := With[{color = OptionValue["Color"]},\n\t

;\n]\n\nOptions[Heading] = {"Color"->"black"}\n'})}),"\n",(0,i.jsx)(n.p,{children:"then we can use it in our layout"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\n\n Hello World!\n\n'})}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Utilize the power of WLX while making ",(0,i.jsx)(n.a,{href:"/frontend/Cell%20types/Slides",children:"Slides"})]})}),"\n",(0,i.jsxs)(n.p,{children:["All WL expressions ",(0,i.jsx)(n.strong,{children:"are accessible from there as well"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:".wlx\n\nGetTime := TextString[Now]\n\n\n"})}),"\n",(0,i.jsx)(n.h2,{id:"two-columns-layout-using-flexbox",children:"Two-columns layout using Flexbox"}),"\n",(0,i.jsx)(n.p,{children:"You can fine-tune the layout, since you are dealing with pure HTML and CSS. For example, here we have a slider and a plot aligned to a row"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'.wlx\n\nModule[{Slider = InputRange[0.1,1,0.1,0.5], Figure, lines},\n EventHandler[Slider, Function[data, lines = {#, Sinc[#/data]}& /@ Range[-5,5,0.1]]];\n Slider // EventFire;\n\n Figure = Graphics[Line[lines // Offload], ImageSize->350];\n\n
\n
\n
\n
\n]\n'})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(29572).c+"",width:"1544",height:"442"})})]})}function u(e={}){const{wrapper:n}={...(0,l.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},29572:(e,n,t)=>{t.d(n,{c:()=>i});const i=t.p+"assets/images/WLXwidget-ezgif.com-video-to-apng-converter-512cbb2ecdc0a1429dd067b2a29404bc.png"},4552:(e,n,t)=>{t.d(n,{I:()=>r,M:()=>s});var i=t(11504);const l={},o=i.createContext(l);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/5f4d2632.a9344f35.js b/Documentation/assets/js/5f4d2632.a9344f35.js deleted file mode 100644 index 8b401fcb..00000000 --- a/Documentation/assets/js/5f4d2632.a9344f35.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8728],{52116:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>i});var n=t(17624),r=t(4552);const s={env:["Wolfram Kernel"],context:"Notebook`Storage`",package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/StoreKernel.wl"},a=void 0,l={id:"frontend/Reference/Cells and Notebook/NotebookStore",title:"NotebookStore",description:"An access to a permanent local notebook storage. You can carry the raw data within the notebook, regardless if it has been exported to HTML file and imported back.",source:"@site/docs/frontend/Reference/Cells and Notebook/NotebookStore.md",sourceDirName:"frontend/Reference/Cells and Notebook",slug:"/frontend/Reference/Cells and Notebook/NotebookStore",permalink:"/frontend/Reference/Cells and Notebook/NotebookStore",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{env:["Wolfram Kernel"],context:"Notebook`Storage`",package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/StoreKernel.wl"},sidebar:"tutorialSidebar",previous:{title:"NotebookDirectory",permalink:"/frontend/Reference/Cells and Notebook/NotebookDirectory"},next:{title:"ParentCell",permalink:"/frontend/Reference/Cells and Notebook/ParentCell"}},c={},i=[{value:"Methods",id:"methods",level:2},{value:"Set",id:"set",level:3},{value:"Unset",id:"unset",level:3},{value:"Keys",id:"keys",level:3},{value:"Options",id:"options",level:2},{value:""Notebook"",id:"notebook",level:3}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:["An access to a permanent local notebook storage. You can carry the raw data within the notebook, ",(0,n.jsx)(o.em,{children:(0,n.jsx)(o.strong,{children:"regardless if it has been exported"})})," to ",(0,n.jsx)(o.a,{href:"/frontend/Export/HTML%20file",children:"HTML file"})," and imported back."]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[key_String, opts___] _\n"})}),"\n",(0,n.jsxs)(o.p,{children:["accesses a ",(0,n.jsx)(o.code,{children:"key"})," and returns the data."]}),"\n",(0,n.jsx)(o.p,{children:"It works like an association or key-value storage."}),"\n",(0,n.jsx)(o.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(o.h3,{id:"set",children:(0,n.jsx)(o.code,{children:"Set"})}),"\n",(0,n.jsx)(o.p,{children:"To assign any Wolfram Expression, use"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[key_, opts___] = data_\n"})}),"\n",(0,n.jsx)(o.h3,{id:"unset",children:(0,n.jsx)(o.code,{children:"Unset"})}),"\n",(0,n.jsx)(o.p,{children:"To remove the data and its key"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[key_, opts___] = .\n"})}),"\n",(0,n.jsx)(o.h3,{id:"keys",children:(0,n.jsx)(o.code,{children:"Keys"})}),"\n",(0,n.jsx)(o.p,{children:"Returns all keys"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[opts___] // Keys \n"})}),"\n",(0,n.jsx)(o.h2,{id:"options",children:"Options"}),"\n",(0,n.jsx)(o.h3,{id:"notebook",children:(0,n.jsx)(o.code,{children:'"Notebook"'})}),"\n",(0,n.jsx)(o.p,{children:"Specifies the notebook from which the storage will be operated"}),"\n",(0,n.jsxs)(o.admonition,{type:"warning",children:[(0,n.jsxs)(o.p,{children:["Be aware of a ",(0,n.jsx)(o.strong,{children:"evaluation context loss"}),", use ",(0,n.jsx)(o.a,{href:"/frontend/Reference/Cells%20and%20Notebook/EvaluationNotebook",children:"EvaluationNotebook"})," for such cases if it is called from an external handler, i.e."]}),(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:'(* evaluation context is ok *)\nNotebookStore["key"] = 123;\n\nWith[{n = EvaluationNotebook[]},\n\t(* evaluation context is ok *)\n\tEventHandler[InputButton[], Function[Null,\n\t\t(* evaluation context is lost!!! *)\n\t\t\n\t\tNotebookStore["key", "Notebook"->n] = 124;\n\t\t\t\t\t\t\t(* manually restore lost info *)\n\t]]\n]\n'})})]})]})}function h(e={}){const{wrapper:o}={...(0,r.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>l,M:()=>a});var n=t(11504);const r={},s=n.createContext(r);function a(e){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/5f4d2632.b75f82a4.js b/Documentation/assets/js/5f4d2632.b75f82a4.js new file mode 100644 index 00000000..2c846ef0 --- /dev/null +++ b/Documentation/assets/js/5f4d2632.b75f82a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8728],{52116:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>i});var n=t(17624),r=t(4552);const s={env:["Wolfram Kernel"],context:"Notebook`Storage`",package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/StoreKernel.wl"},a=void 0,l={id:"frontend/Reference/Cells and Notebook/NotebookStore",title:"NotebookStore",description:"An access to a permanent local notebook storage. You can carry the raw data within the notebook, regardless if it has been exported to HTML and imported back.",source:"@site/docs/frontend/Reference/Cells and Notebook/NotebookStore.md",sourceDirName:"frontend/Reference/Cells and Notebook",slug:"/frontend/Reference/Cells and Notebook/NotebookStore",permalink:"/frontend/Reference/Cells and Notebook/NotebookStore",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{env:["Wolfram Kernel"],context:"Notebook`Storage`",package:"wljs-editor",source:"https://github.com/JerryI/wljs-editor/blob/dev/src/StoreKernel.wl"},sidebar:"tutorialSidebar",previous:{title:"NotebookDirectory",permalink:"/frontend/Reference/Cells and Notebook/NotebookDirectory"},next:{title:"ParentCell",permalink:"/frontend/Reference/Cells and Notebook/ParentCell"}},c={},i=[{value:"Methods",id:"methods",level:2},{value:"Set",id:"set",level:3},{value:"Unset",id:"unset",level:3},{value:"Keys",id:"keys",level:3},{value:"Options",id:"options",level:2},{value:""Notebook"",id:"notebook",level:3}];function d(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:["An access to a permanent local notebook storage. You can carry the raw data within the notebook, ",(0,n.jsx)(o.em,{children:(0,n.jsx)(o.strong,{children:"regardless if it has been exported"})})," to ",(0,n.jsx)(o.a,{href:"/frontend/Export/HTML",children:"HTML"})," and imported back."]}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[key_String, opts___] _\n"})}),"\n",(0,n.jsxs)(o.p,{children:["accesses a ",(0,n.jsx)(o.code,{children:"key"})," and returns the data."]}),"\n",(0,n.jsx)(o.p,{children:"It works like an association or key-value storage."}),"\n",(0,n.jsx)(o.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(o.h3,{id:"set",children:(0,n.jsx)(o.code,{children:"Set"})}),"\n",(0,n.jsx)(o.p,{children:"To assign any Wolfram Expression, use"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[key_, opts___] = data_\n"})}),"\n",(0,n.jsx)(o.h3,{id:"unset",children:(0,n.jsx)(o.code,{children:"Unset"})}),"\n",(0,n.jsx)(o.p,{children:"To remove the data and its key"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[key_, opts___] = .\n"})}),"\n",(0,n.jsx)(o.h3,{id:"keys",children:(0,n.jsx)(o.code,{children:"Keys"})}),"\n",(0,n.jsx)(o.p,{children:"Returns all keys"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:"NotebookStore[opts___] // Keys \n"})}),"\n",(0,n.jsx)(o.h2,{id:"options",children:"Options"}),"\n",(0,n.jsx)(o.h3,{id:"notebook",children:(0,n.jsx)(o.code,{children:'"Notebook"'})}),"\n",(0,n.jsx)(o.p,{children:"Specifies the notebook from which the storage will be operated"}),"\n",(0,n.jsxs)(o.admonition,{type:"warning",children:[(0,n.jsxs)(o.p,{children:["Be aware of a ",(0,n.jsx)(o.strong,{children:"evaluation context loss"}),", use ",(0,n.jsx)(o.a,{href:"/frontend/Reference/Cells%20and%20Notebook/EvaluationNotebook",children:"EvaluationNotebook"})," for such cases if it is called from an external handler, i.e."]}),(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-mathematica",children:'(* evaluation context is ok *)\nNotebookStore["key"] = 123;\n\nWith[{n = EvaluationNotebook[]},\n\t(* evaluation context is ok *)\n\tEventHandler[InputButton[], Function[Null,\n\t\t(* evaluation context is lost!!! *)\n\t\t\n\t\tNotebookStore["key", "Notebook"->n] = 124;\n\t\t\t\t\t\t\t(* manually restore lost info *)\n\t]]\n]\n'})})]})]})}function h(e={}){const{wrapper:o}={...(0,r.M)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4552:(e,o,t)=>{t.d(o,{I:()=>l,M:()=>a});var n=t(11504);const r={},s=n.createContext(r);function a(e){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/6629c45f.864c1fee.js b/Documentation/assets/js/6629c45f.864c1fee.js new file mode 100644 index 00000000..e86e34cf --- /dev/null +++ b/Documentation/assets/js/6629c45f.864c1fee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[1216],{47714:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Quick start","href":"/","className":"green","docId":"frontend/instruction","unlisted":false},{"type":"link","label":"Overview","href":"/frontend/Overview","docId":"frontend/Overview","unlisted":false},{"type":"link","label":"Dynamics","href":"/frontend/Dynamics","docId":"frontend/Dynamics","unlisted":false},{"type":"link","label":"Symbolic programming","href":"/frontend/Symbolic programming","docId":"frontend/Symbolic programming","unlisted":false},{"type":"category","label":"Cell types","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Wolfram Language","href":"/frontend/Cell types/Wolfram Language","docId":"frontend/Cell types/Wolfram Language","unlisted":false},{"type":"link","label":"Markdown","href":"/frontend/Cell types/Markdown","docId":"frontend/Cell types/Markdown","unlisted":false},{"type":"link","label":"HTML","href":"/frontend/Cell types/HTML","docId":"frontend/Cell types/HTML","unlisted":false},{"type":"link","label":"Javascript","href":"/frontend/Cell types/Javascript","docId":"frontend/Cell types/Javascript","unlisted":false},{"type":"link","label":"Files","href":"/frontend/Cell types/Files","docId":"frontend/Cell types/Files","unlisted":false},{"type":"link","label":"Many more","href":"/frontend/Cell types/Many more","docId":"frontend/Cell types/Many more","unlisted":false},{"type":"link","label":"Slides","href":"/frontend/Cell types/Slides","docId":"frontend/Cell types/Slides","unlisted":false},{"type":"link","label":"WLX","href":"/frontend/Cell types/WLX","docId":"frontend/Cell types/WLX","unlisted":false}],"href":"/category/cell-types"},{"type":"link","label":"Command palette","href":"/frontend/Command palette","docId":"frontend/Command palette","unlisted":false},{"type":"link","label":"Guidelines","href":"/frontend/Guidelines","docId":"frontend/Guidelines","unlisted":false},{"type":"category","label":"Advanced","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Slides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Code highlighting","href":"/frontend/Advanced/Slides/embed-wl","docId":"frontend/Advanced/Slides/embed-wl","unlisted":false},{"type":"link","label":"Widgets","href":"/frontend/Advanced/Slides/Widgets","docId":"frontend/Advanced/Slides/Widgets","unlisted":false},{"type":"link","label":"Backgrounds","href":"/frontend/Advanced/Slides/Backgrounds","docId":"frontend/Advanced/Slides/Backgrounds","unlisted":false},{"type":"link","label":"Fragments","href":"/frontend/Advanced/Slides/Fragments","docId":"frontend/Advanced/Slides/Fragments","unlisted":false},{"type":"link","label":"Styling","href":"/frontend/Advanced/Slides/Styling","docId":"frontend/Advanced/Slides/Styling","unlisted":false},{"type":"link","label":"Transitions","href":"/frontend/Advanced/Slides/Transitions","docId":"frontend/Advanced/Slides/Transitions","unlisted":false},{"type":"link","label":"Graphics animation & interaction","href":"/frontend/Advanced/Slides/animations","docId":"frontend/Advanced/Slides/animations","unlisted":false},{"type":"link","label":"Components","href":"/frontend/Advanced/Slides/components","docId":"frontend/Advanced/Slides/components","unlisted":false},{"type":"link","label":"Crypto text","href":"/frontend/Advanced/Slides/crypto-text","docId":"frontend/Advanced/Slides/crypto-text","unlisted":false},{"type":"link","label":"Large tables of data","href":"/frontend/Advanced/Slides/tables","docId":"frontend/Advanced/Slides/tables","unlisted":false}],"href":"/frontend/Advanced/Slides/"},{"type":"category","label":"Command palette","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AI Assistant","href":"/frontend/Advanced/Command palette/AI Assistant","docId":"frontend/Advanced/Command palette/AI Assistant","unlisted":false}]},{"type":"category","label":"Dynamics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Advanced animation","href":"/frontend/Advanced/Dynamics/Advanced animation","docId":"frontend/Advanced/Dynamics/Advanced animation","unlisted":false},{"type":"link","label":"Indicators","href":"/frontend/Advanced/Dynamics/Indicators","docId":"frontend/Advanced/Dynamics/Indicators","unlisted":false},{"type":"link","label":"Offloading calculations","href":"/frontend/Advanced/Dynamics/Offloading calculations","docId":"frontend/Advanced/Dynamics/Offloading calculations","unlisted":false},{"type":"link","label":"Performance tips","href":"/frontend/Advanced/Dynamics/Performance tips","docId":"frontend/Advanced/Dynamics/Performance tips","unlisted":false},{"type":"link","label":"Prototyping","href":"/frontend/Advanced/Dynamics/Prototyping","docId":"frontend/Advanced/Dynamics/Prototyping","unlisted":false},{"type":"link","label":"Raster animation","href":"/frontend/Advanced/Dynamics/Raster animation","docId":"frontend/Advanced/Dynamics/Raster animation","unlisted":false},{"type":"link","label":"Scoping","href":"/frontend/Advanced/Dynamics/Scoping","docId":"frontend/Advanced/Dynamics/Scoping","unlisted":false}]},{"type":"category","label":"Events system","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Event system","href":"/frontend/Advanced/Events system/event-generators","docId":"frontend/Advanced/Events system/event-generators","unlisted":false},{"type":"link","label":"Dynamic symbols generation","href":"/frontend/Advanced/Events system/Dynamic symbols generation","docId":"frontend/Advanced/Events system/Dynamic symbols generation","unlisted":false},{"type":"link","label":"Mouse and keyboard","href":"/frontend/Advanced/Events system/Mouse and keyboard","docId":"frontend/Advanced/Events system/Mouse and keyboard","unlisted":false},{"type":"link","label":"Notebook, cells and windows","href":"/frontend/Advanced/Events system/Notebook, cells and windows","docId":"frontend/Advanced/Events system/Notebook, cells and windows","unlisted":false},{"type":"link","label":"Parallel kernels","href":"/frontend/Advanced/Events system/Parallel kernels","docId":"frontend/Advanced/Events system/Parallel kernels","unlisted":false},{"type":"link","label":"Promises","href":"/frontend/Advanced/Events system/promises","docId":"frontend/Advanced/Events system/promises","unlisted":false},{"type":"link","label":"Routing","href":"/frontend/Advanced/Events system/routing","docId":"frontend/Advanced/Events system/routing","unlisted":false}]},{"type":"category","label":"Frontend interpretation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Editor manipulation","href":"/frontend/Advanced/Frontend interpretation/Editor manipulation","docId":"frontend/Advanced/Frontend interpretation/Editor manipulation","unlisted":false},{"type":"link","label":"Frontend Objects","href":"/frontend/Advanced/Frontend interpretation/Frontend Objects","docId":"frontend/Advanced/Frontend interpretation/Frontend Objects","unlisted":false},{"type":"link","label":"WLJS Functions","href":"/frontend/Advanced/Frontend interpretation/WLJS Functions","docId":"frontend/Advanced/Frontend interpretation/WLJS Functions","unlisted":false}]},{"type":"category","label":"Graphics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Complex","href":"/frontend/Advanced/Graphics/Complex","docId":"frontend/Advanced/Graphics/Complex","unlisted":false},{"type":"link","label":"Controls","href":"/frontend/Advanced/Graphics/Controls","docId":"frontend/Advanced/Graphics/Controls","unlisted":false}]},{"type":"category","label":"Javascript","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Communication","href":"/frontend/Advanced/Javascript/Communication","docId":"frontend/Advanced/Javascript/Communication","unlisted":false}]},{"type":"category","label":"Objects","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"1. Creating new type","href":"/frontend/Advanced/Objects/Creating new type","docId":"frontend/Advanced/Objects/Creating new type","unlisted":false},{"type":"link","label":"2. Static decorations","href":"/frontend/Advanced/Objects/Static decorations","docId":"frontend/Advanced/Objects/Static decorations","unlisted":false},{"type":"link","label":"3. Dynamic decorations","href":"/frontend/Advanced/Objects/Dynamic decorations","docId":"frontend/Advanced/Objects/Dynamic decorations","unlisted":false}]},{"type":"link","label":"Packages","href":"/frontend/Advanced/Packages","docId":"frontend/Advanced/Packages","unlisted":false},{"type":"category","label":"Syntax sugar","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Decorating symbols","href":"/frontend/Advanced/Syntax sugar/Decorating symbols","docId":"frontend/Advanced/Syntax sugar/Decorating symbols","unlisted":false}]}],"href":"/category/advanced"},{"type":"category","label":"Exporting formats","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"HTML","href":"/frontend/Export/HTML","docId":"frontend/Export/HTML","unlisted":false},{"type":"link","label":"Markdown","href":"/frontend/Export/Markdown","docId":"frontend/Export/Markdown","unlisted":false},{"type":"link","label":"PDF","href":"/frontend/Export/PDF","docId":"frontend/Export/PDF","unlisted":false}],"href":"/category/exporting-formats"},{"type":"link","label":"Troubleshooting","href":"/frontend/Troubleshooting/","docId":"frontend/Troubleshooting/Troubleshooting","unlisted":false},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Cells and Notebook","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Beep","href":"/frontend/Reference/Cells and Notebook/Beep","docId":"frontend/Reference/Cells and Notebook/Beep","unlisted":false},{"type":"link","label":"CellPrint","href":"/frontend/Reference/Cells and Notebook/CellPrint","docId":"frontend/Reference/Cells and Notebook/CellPrint","unlisted":false},{"type":"link","label":"EvaluationCell","href":"/frontend/Reference/Cells and Notebook/EvaluationCell","docId":"frontend/Reference/Cells and Notebook/EvaluationCell","unlisted":false},{"type":"link","label":"EvaluationNotebook","href":"/frontend/Reference/Cells and Notebook/EvaluationNotebook","docId":"frontend/Reference/Cells and Notebook/EvaluationNotebook","unlisted":false},{"type":"link","label":"HapticFeedback","href":"/frontend/Reference/Cells and Notebook/HapticFeedback","docId":"frontend/Reference/Cells and Notebook/HapticFeedback","unlisted":false},{"type":"link","label":"NotebookDirectory","href":"/frontend/Reference/Cells and Notebook/NotebookDirectory","docId":"frontend/Reference/Cells and Notebook/NotebookDirectory","unlisted":false},{"type":"link","label":"NotebookStore","href":"/frontend/Reference/Cells and Notebook/NotebookStore","docId":"frontend/Reference/Cells and Notebook/NotebookStore","unlisted":false},{"type":"link","label":"ParentCell","href":"/frontend/Reference/Cells and Notebook/ParentCell","docId":"frontend/Reference/Cells and Notebook/ParentCell","unlisted":false},{"type":"link","label":"RemoteCellObj","href":"/frontend/Reference/Cells and Notebook/RemoteCellObj","docId":"frontend/Reference/Cells and Notebook/RemoteCellObj","unlisted":false},{"type":"link","label":"RemoteNotebook","href":"/frontend/Reference/Cells and Notebook/RemoteNotebook","docId":"frontend/Reference/Cells and Notebook/RemoteNotebook","unlisted":false},{"type":"link","label":"ResultCell","href":"/frontend/Reference/Cells and Notebook/ResultCell","docId":"frontend/Reference/Cells and Notebook/ResultCell","unlisted":false}]},{"type":"link","label":"Dataset","href":"/frontend/Reference/Dataset/","docId":"frontend/Reference/Dataset/Dataset","unlisted":false},{"type":"category","label":"Decorations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ArrangeSummaryBox","href":"/frontend/Reference/Decorations/ArrangeSummaryBox","docId":"frontend/Reference/Decorations/ArrangeSummaryBox","unlisted":false},{"type":"link","label":"BoxBox","href":"/frontend/Reference/Decorations/BoxBox","docId":"frontend/Reference/Decorations/BoxBox","unlisted":false},{"type":"link","label":"Bra","href":"/frontend/Reference/Decorations/Bra","docId":"frontend/Reference/Decorations/Bra","unlisted":false},{"type":"link","label":"Column","href":"/frontend/Reference/Decorations/Column","docId":"frontend/Reference/Decorations/Column","unlisted":false},{"type":"link","label":"Framed","href":"/frontend/Reference/Decorations/Framed","docId":"frontend/Reference/Decorations/Framed","unlisted":false},{"type":"link","label":"Grid","href":"/frontend/Reference/Decorations/Grid","docId":"frontend/Reference/Decorations/Grid","unlisted":false},{"type":"link","label":"Iconize","href":"/frontend/Reference/Decorations/Iconize","docId":"frontend/Reference/Decorations/Iconize","unlisted":false},{"type":"link","label":"InputForm","href":"/frontend/Reference/Decorations/InputForm","docId":"frontend/Reference/Decorations/InputForm","unlisted":false},{"type":"link","label":"Interpretation","href":"/frontend/Reference/Decorations/Interpretation","docId":"frontend/Reference/Decorations/Interpretation","unlisted":false},{"type":"link","label":"InterpretationBox","href":"/frontend/Reference/Decorations/InterpretationBox","docId":"frontend/Reference/Decorations/InterpretationBox","unlisted":false},{"type":"link","label":"Ket","href":"/frontend/Reference/Decorations/Ket","docId":"frontend/Reference/Decorations/Ket","unlisted":false},{"type":"link","label":"MakeBoxes","href":"/frontend/Reference/Decorations/MakeBoxes","docId":"frontend/Reference/Decorations/MakeBoxes","unlisted":false},{"type":"link","label":"MatrixForm","href":"/frontend/Reference/Decorations/MatrixForm","docId":"frontend/Reference/Decorations/MatrixForm","unlisted":false},{"type":"link","label":"NumberForm","href":"/frontend/Reference/Decorations/NumberForm","docId":"frontend/Reference/Decorations/NumberForm","unlisted":false},{"type":"link","label":"Pane","href":"/frontend/Reference/Decorations/Pane","docId":"frontend/Reference/Decorations/Pane","unlisted":false},{"type":"link","label":"PaneBox","href":"/frontend/Reference/Decorations/PaneBox","docId":"frontend/Reference/Decorations/PaneBox","unlisted":false},{"type":"link","label":"Quantity","href":"/frontend/Reference/Decorations/Quantity","docId":"frontend/Reference/Decorations/Quantity","unlisted":false},{"type":"link","label":"Row","href":"/frontend/Reference/Decorations/Row","docId":"frontend/Reference/Decorations/Row","unlisted":false},{"type":"link","label":"StandardForm","href":"/frontend/Reference/Decorations/StandardForm","docId":"frontend/Reference/Decorations/StandardForm","unlisted":false},{"type":"link","label":"Style","href":"/frontend/Reference/Decorations/Style","docId":"frontend/Reference/Decorations/Style","unlisted":false},{"type":"link","label":"TableForm","href":"/frontend/Reference/Decorations/TableForm","docId":"frontend/Reference/Decorations/TableForm","unlisted":false},{"type":"link","label":"ViewBox","href":"/frontend/Reference/Decorations/ViewBox","docId":"frontend/Reference/Decorations/ViewBox","unlisted":false},{"type":"link","label":"WLXForm","href":"/frontend/Reference/Decorations/WLXForm","docId":"frontend/Reference/Decorations/WLXForm","unlisted":false}]},{"type":"category","label":"Frontend IO","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"CurrentWindow","href":"/frontend/Reference/Frontend IO/CurrentWindow","docId":"frontend/Reference/Frontend IO/CurrentWindow","unlisted":false},{"type":"link","label":"FrontFetch","href":"/frontend/Reference/Frontend IO/FrontFetch","docId":"frontend/Reference/Frontend IO/FrontFetch","unlisted":false},{"type":"link","label":"FrontFetchAsync","href":"/frontend/Reference/Frontend IO/FrontFetchAsync","docId":"frontend/Reference/Frontend IO/FrontFetchAsync","unlisted":false},{"type":"link","label":"FrontSubmit","href":"/frontend/Reference/Frontend IO/FrontSubmit","docId":"frontend/Reference/Frontend IO/FrontSubmit","unlisted":false},{"type":"link","label":"MetaMarker","href":"/frontend/Reference/Frontend IO/MetaMarker","docId":"frontend/Reference/Frontend IO/MetaMarker","unlisted":false},{"type":"link","label":"WindowObj","href":"/frontend/Reference/Frontend IO/WindowObj","docId":"frontend/Reference/Frontend IO/WindowObj","unlisted":false}]},{"type":"category","label":"Frontend Objects","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"CreateFrontEndObject","href":"/frontend/Reference/Frontend Objects/CreateFrontEndObject","docId":"frontend/Reference/Frontend Objects/CreateFrontEndObject","unlisted":false},{"type":"link","label":"FrontEndExecutable","href":"/frontend/Reference/Frontend Objects/FrontEndExecutable","docId":"frontend/Reference/Frontend Objects/FrontEndExecutable","unlisted":false},{"type":"link","label":"FrontEndRef","href":"/frontend/Reference/Frontend Objects/FrontEndRef","docId":"frontend/Reference/Frontend Objects/FrontEndRef","unlisted":false}]},{"type":"category","label":"GUI","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"EditorView","href":"/frontend/Reference/GUI/EditorView","docId":"frontend/Reference/GUI/EditorView","unlisted":false},{"type":"link","label":"HTMLView","href":"/frontend/Reference/GUI/HTMLView","docId":"frontend/Reference/GUI/HTMLView","unlisted":false},{"type":"link","label":"InputButton","href":"/frontend/Reference/GUI/InputButton","docId":"frontend/Reference/GUI/InputButton","unlisted":false},{"type":"link","label":"InputCheckbox","href":"/frontend/Reference/GUI/InputCheckbox","docId":"frontend/Reference/GUI/InputCheckbox","unlisted":false},{"type":"link","label":"InputEditor","href":"/frontend/Reference/GUI/InputEditor","docId":"frontend/Reference/GUI/InputEditor","unlisted":false},{"type":"link","label":"InputFile","href":"/frontend/Reference/GUI/InputFile","docId":"frontend/Reference/GUI/InputFile","unlisted":false},{"type":"link","label":"InputGroup","href":"/frontend/Reference/GUI/InputGroup","docId":"frontend/Reference/GUI/InputGroup","unlisted":false},{"type":"link","label":"InputJoystick","href":"/frontend/Reference/GUI/InputJoystick","docId":"frontend/Reference/GUI/InputJoystick","unlisted":false},{"type":"link","label":"InputRange","href":"/frontend/Reference/GUI/InputRange","docId":"frontend/Reference/GUI/InputRange","unlisted":false},{"type":"link","label":"InputSelect","href":"/frontend/Reference/GUI/InputSelect","docId":"frontend/Reference/GUI/InputSelect","unlisted":false},{"type":"link","label":"InputTable","href":"/frontend/Reference/GUI/InputTable","docId":"frontend/Reference/GUI/InputTable","unlisted":false},{"type":"link","label":"InputText","href":"/frontend/Reference/GUI/InputText","docId":"frontend/Reference/GUI/InputText","unlisted":false},{"type":"link","label":"Slider","href":"/frontend/Reference/GUI/Slider","docId":"frontend/Reference/GUI/Slider","unlisted":false},{"type":"link","label":"TableView","href":"/frontend/Reference/GUI/TableView","docId":"frontend/Reference/GUI/TableView","unlisted":false},{"type":"link","label":"TextView","href":"/frontend/Reference/GUI/TextView","docId":"frontend/Reference/GUI/TextView","unlisted":false},{"type":"link","label":"WLXEmbed","href":"/frontend/Reference/GUI/WLXEmbed","docId":"frontend/Reference/GUI/WLXEmbed","unlisted":false}]},{"type":"category","label":"Graphics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AbsoluteThickness","href":"/frontend/Reference/Graphics/AbsoluteThickness","docId":"frontend/Reference/Graphics/AbsoluteThickness","unlisted":false},{"type":"link","label":"AnimationFrameListener","href":"/frontend/Reference/Graphics/AnimationFrameListener","docId":"frontend/Reference/Graphics/AnimationFrameListener","unlisted":false},{"type":"link","label":"Arrow","href":"/frontend/Reference/Graphics/Arrow","docId":"frontend/Reference/Graphics/Arrow","unlisted":false},{"type":"link","label":"Arrowheads","href":"/frontend/Reference/Graphics/Arrowheads","docId":"frontend/Reference/Graphics/Arrowheads","unlisted":false},{"type":"link","label":"BezierCurve","href":"/frontend/Reference/Graphics/BezierCurve","docId":"frontend/Reference/Graphics/BezierCurve","unlisted":false},{"type":"link","label":"Circle","href":"/frontend/Reference/Graphics/Circle","docId":"frontend/Reference/Graphics/Circle","unlisted":false},{"type":"link","label":"Directive","href":"/frontend/Reference/Graphics/Directive","docId":"frontend/Reference/Graphics/Directive","unlisted":false},{"type":"link","label":"Disk","href":"/frontend/Reference/Graphics/Disk","docId":"frontend/Reference/Graphics/Disk","unlisted":false},{"type":"link","label":"EdgeForm","href":"/frontend/Reference/Graphics/EdgeForm","docId":"frontend/Reference/Graphics/EdgeForm","unlisted":false},{"type":"link","label":"GraphicsComplex","href":"/frontend/Reference/Graphics/GraphicsComplex","docId":"frontend/Reference/Graphics/GraphicsComplex","unlisted":false},{"type":"link","label":"GrayLevel","href":"/frontend/Reference/Graphics/GrayLevel","docId":"frontend/Reference/Graphics/GrayLevel","unlisted":false},{"type":"link","label":"Hue","href":"/frontend/Reference/Graphics/Hue","docId":"frontend/Reference/Graphics/Hue","unlisted":false},{"type":"link","label":"Image","href":"/frontend/Reference/Graphics/Image","docId":"frontend/Reference/Graphics/Image","unlisted":false},{"type":"link","label":"Inset","href":"/frontend/Reference/Graphics/Inset","docId":"frontend/Reference/Graphics/Inset","unlisted":false},{"type":"link","label":"LABColor","href":"/frontend/Reference/Graphics/LABColor","docId":"frontend/Reference/Graphics/LABColor","unlisted":false},{"type":"link","label":"Line","href":"/frontend/Reference/Graphics/Line","docId":"frontend/Reference/Graphics/Line","unlisted":false},{"type":"link","label":"Offset","href":"/frontend/Reference/Graphics/Offset","docId":"frontend/Reference/Graphics/Offset","unlisted":false},{"type":"link","label":"Opacity","href":"/frontend/Reference/Graphics/Opacity","docId":"frontend/Reference/Graphics/Opacity","unlisted":false},{"type":"link","label":"Point","href":"/frontend/Reference/Graphics/Point","docId":"frontend/Reference/Graphics/Point","unlisted":false},{"type":"link","label":"Polygon","href":"/frontend/Reference/Graphics/Polygon","docId":"frontend/Reference/Graphics/Polygon","unlisted":false},{"type":"link","label":"RGBColor","href":"/frontend/Reference/Graphics/RGBColor","docId":"frontend/Reference/Graphics/RGBColor","unlisted":false},{"type":"link","label":"Raster","href":"/frontend/Reference/Graphics/Raster","docId":"frontend/Reference/Graphics/Raster","unlisted":false},{"type":"link","label":"Rectangle","href":"/frontend/Reference/Graphics/Rectangle","docId":"frontend/Reference/Graphics/Rectangle","unlisted":false},{"type":"link","label":"Rotate","href":"/frontend/Reference/Graphics/Rotate","docId":"frontend/Reference/Graphics/Rotate","unlisted":false},{"type":"link","label":"SVGAttribute","href":"/frontend/Reference/Graphics/SVGAttribute","docId":"frontend/Reference/Graphics/SVGAttribute","unlisted":false},{"type":"link","label":"Show","href":"/frontend/Reference/Graphics/Show","docId":"frontend/Reference/Graphics/Show","unlisted":false},{"type":"link","label":"Style","href":"/frontend/Reference/Graphics/Style","docId":"frontend/Reference/Graphics/Style","unlisted":false},{"type":"link","label":"Text","href":"/frontend/Reference/Graphics/Text","docId":"frontend/Reference/Graphics/Text","unlisted":false},{"type":"link","label":"TransitionDuration","href":"/frontend/Reference/Graphics/TransitionDuration","docId":"frontend/Reference/Graphics/TransitionDuration","unlisted":false},{"type":"link","label":"TransitionType","href":"/frontend/Reference/Graphics/TransitionType","docId":"frontend/Reference/Graphics/TransitionType","unlisted":false},{"type":"link","label":"Translate","href":"/frontend/Reference/Graphics/Translate","docId":"frontend/Reference/Graphics/Translate","unlisted":false},{"type":"link","label":"ZoomAt","href":"/frontend/Reference/Graphics/ZoomAt","docId":"frontend/Reference/Graphics/ZoomAt","unlisted":false}],"href":"/frontend/Reference/Graphics/"},{"type":"category","label":"Graphics3D","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AbsoluteThickness","href":"/frontend/Reference/Graphics3D/AbsoluteThickness","docId":"frontend/Reference/Graphics3D/AbsoluteThickness","unlisted":false},{"type":"link","label":"AnimationFrameListener","href":"/frontend/Reference/Graphics3D/AnimationFrameListener","docId":"frontend/Reference/Graphics3D/AnimationFrameListener","unlisted":false},{"type":"link","label":"Arrow","href":"/frontend/Reference/Graphics3D/Arrow","docId":"frontend/Reference/Graphics3D/Arrow","unlisted":false},{"type":"link","label":"Arrowheads","href":"/frontend/Reference/Graphics3D/Arrowheads","docId":"frontend/Reference/Graphics3D/Arrowheads","unlisted":false},{"type":"link","label":"Cuboid","href":"/frontend/Reference/Graphics3D/Cuboid","docId":"frontend/Reference/Graphics3D/Cuboid","unlisted":false},{"type":"link","label":"Cylinder","href":"/frontend/Reference/Graphics3D/Cylinder","docId":"frontend/Reference/Graphics3D/Cylinder","unlisted":false},{"type":"link","label":"Emissive","href":"/frontend/Reference/Graphics3D/Emissive","docId":"frontend/Reference/Graphics3D/Emissive","unlisted":false},{"type":"link","label":"GeometricTransformation","href":"/frontend/Reference/Graphics3D/GeometricTransformation","docId":"frontend/Reference/Graphics3D/GeometricTransformation","unlisted":false},{"type":"link","label":"GraphicsComplex","href":"/frontend/Reference/Graphics3D/GraphicsComplex","docId":"frontend/Reference/Graphics3D/GraphicsComplex","unlisted":false},{"type":"link","label":"GraphicsGroup","href":"/frontend/Reference/Graphics3D/GraphicsGroup","docId":"frontend/Reference/Graphics3D/GraphicsGroup","unlisted":false},{"type":"link","label":"HemisphereLight","href":"/frontend/Reference/Graphics3D/HemisphereLight","docId":"frontend/Reference/Graphics3D/HemisphereLight","unlisted":false},{"type":"link","label":"Hue","href":"/frontend/Reference/Graphics3D/Hue","docId":"frontend/Reference/Graphics3D/Hue","unlisted":false},{"type":"link","label":"Line","href":"/frontend/Reference/Graphics3D/Line","docId":"frontend/Reference/Graphics3D/Line","unlisted":false},{"type":"link","label":"MeshMaterial","href":"/frontend/Reference/Graphics3D/MeshMaterial","docId":"frontend/Reference/Graphics3D/MeshMaterial","unlisted":false},{"type":"link","label":"MeshPhysicalMaterial","href":"/frontend/Reference/Graphics3D/MeshPhysicalMaterial","docId":"frontend/Reference/Graphics3D/MeshPhysicalMaterial","unlisted":false},{"type":"link","label":"MeshToonMaterial","href":"/frontend/Reference/Graphics3D/MeshToonMaterial","docId":"frontend/Reference/Graphics3D/MeshToonMaterial","unlisted":false},{"type":"link","label":"Metalness","href":"/frontend/Reference/Graphics3D/Metalness","docId":"frontend/Reference/Graphics3D/Metalness","unlisted":false},{"type":"link","label":"Opacity","href":"/frontend/Reference/Graphics3D/Opacity","docId":"frontend/Reference/Graphics3D/Opacity","unlisted":false},{"type":"link","label":"Point","href":"/frontend/Reference/Graphics3D/Point","docId":"frontend/Reference/Graphics3D/Point","unlisted":false},{"type":"link","label":"PointLight","href":"/frontend/Reference/Graphics3D/PointLight","docId":"frontend/Reference/Graphics3D/PointLight","unlisted":false},{"type":"link","label":"Polygon","href":"/frontend/Reference/Graphics3D/Polygon","docId":"frontend/Reference/Graphics3D/Polygon","unlisted":false},{"type":"link","label":"RGBColor","href":"/frontend/Reference/Graphics3D/RGBColor","docId":"frontend/Reference/Graphics3D/RGBColor","unlisted":false},{"type":"link","label":"Roughness","href":"/frontend/Reference/Graphics3D/Roughness","docId":"frontend/Reference/Graphics3D/Roughness","unlisted":false},{"type":"link","label":"Shadows","href":"/frontend/Reference/Graphics3D/Shadows","docId":"frontend/Reference/Graphics3D/Shadows","unlisted":false},{"type":"link","label":"Sphere","href":"/frontend/Reference/Graphics3D/Sphere","docId":"frontend/Reference/Graphics3D/Sphere","unlisted":false},{"type":"link","label":"SpotLight","href":"/frontend/Reference/Graphics3D/SpotLight","docId":"frontend/Reference/Graphics3D/SpotLight","unlisted":false},{"type":"link","label":"Tetrahedron","href":"/frontend/Reference/Graphics3D/Tetrahedron","docId":"frontend/Reference/Graphics3D/Tetrahedron","unlisted":false},{"type":"link","label":"Tube","href":"/frontend/Reference/Graphics3D/Tube","docId":"frontend/Reference/Graphics3D/Tube","unlisted":false}],"href":"/frontend/Reference/Graphics3D/"},{"type":"category","label":"Interpreter","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Alert","href":"/frontend/Reference/Interpreter/Alert","docId":"frontend/Reference/Interpreter/Alert","unlisted":false},{"type":"link","label":"AttachDOM","href":"/frontend/Reference/Interpreter/AttachDOM","docId":"frontend/Reference/Interpreter/AttachDOM","unlisted":false},{"type":"link","label":"FrontEditorSelected","href":"/frontend/Reference/Interpreter/FrontEditorSelected","docId":"frontend/Reference/Interpreter/FrontEditorSelected","unlisted":false},{"type":"link","label":"FrontEndVirtual","href":"/frontend/Reference/Interpreter/FrontEndVirtual","docId":"frontend/Reference/Interpreter/FrontEndVirtual","unlisted":false},{"type":"link","label":"Offload","href":"/frontend/Reference/Interpreter/Offload","docId":"frontend/Reference/Interpreter/Offload","unlisted":false},{"type":"link","label":"OffloadFromEventObject","href":"/frontend/Reference/Interpreter/OffloadFromEventObject","docId":"frontend/Reference/Interpreter/OffloadFromEventObject","unlisted":false},{"type":"link","label":"ReadClipboard","href":"/frontend/Reference/Interpreter/ReadClipboard","docId":"frontend/Reference/Interpreter/ReadClipboard","unlisted":false},{"type":"link","label":"Refresh","href":"/frontend/Reference/Interpreter/Refresh","docId":"frontend/Reference/Interpreter/Refresh","unlisted":false},{"type":"link","label":"WindowScope","href":"/frontend/Reference/Interpreter/WindowScope","docId":"frontend/Reference/Interpreter/WindowScope","unlisted":false}]},{"type":"category","label":"Misc","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Async","href":"/frontend/Reference/Misc/Async","docId":"frontend/Reference/Misc/Async","unlisted":false},{"type":"link","label":"Events","href":"/frontend/Reference/Misc/Events","docId":"frontend/Reference/Misc/Events","unlisted":false},{"type":"link","label":"Language","href":"/frontend/Reference/Misc/Language","docId":"frontend/Reference/Misc/Language","unlisted":false},{"type":"link","label":"Promise","href":"/frontend/Reference/Misc/Promise","docId":"frontend/Reference/Misc/Promise","unlisted":false}]},{"type":"category","label":"Plotly","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ListLinePlotly","href":"/frontend/Reference/Plotly/ListLinePlotly","docId":"frontend/Reference/Plotly/ListLinePlotly","unlisted":false},{"type":"link","label":"PlotlyAddTraces","href":"/frontend/Reference/Plotly/PlotlyAddTraces","docId":"frontend/Reference/Plotly/PlotlyAddTraces","unlisted":false},{"type":"link","label":"PlotlyAnimate","href":"/frontend/Reference/Plotly/PlotlyAnimate","docId":"frontend/Reference/Plotly/PlotlyAnimate","unlisted":false},{"type":"link","label":"PlotlyDeleteTraces","href":"/frontend/Reference/Plotly/PlotlyDeleteTraces","docId":"frontend/Reference/Plotly/PlotlyDeleteTraces","unlisted":false},{"type":"link","label":"PlotlyExtendTraces","href":"/frontend/Reference/Plotly/PlotlyExtendTraces","docId":"frontend/Reference/Plotly/PlotlyExtendTraces","unlisted":false},{"type":"link","label":"PlotlyInstance","href":"/frontend/Reference/Plotly/PlotlyInstance","docId":"frontend/Reference/Plotly/PlotlyInstance","unlisted":false},{"type":"link","label":"PlotlyPrependTraces","href":"/frontend/Reference/Plotly/PlotlyPrependTraces","docId":"frontend/Reference/Plotly/PlotlyPrependTraces","unlisted":false}],"href":"/frontend/Reference/Plotly/"},{"type":"category","label":"Plotting Functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ArrayPlot","href":"/frontend/Reference/Plotting Functions/ArrayPlot","docId":"frontend/Reference/Plotting Functions/ArrayPlot","unlisted":false},{"type":"link","label":"BarChart","href":"/frontend/Reference/Plotting Functions/BarChart","docId":"frontend/Reference/Plotting Functions/BarChart","unlisted":false},{"type":"link","label":"BubbleChart","href":"/frontend/Reference/Plotting Functions/BubbleChart","docId":"frontend/Reference/Plotting Functions/BubbleChart","unlisted":false},{"type":"link","label":"ContourPlot","href":"/frontend/Reference/Plotting Functions/ContourPlot","docId":"frontend/Reference/Plotting Functions/ContourPlot","unlisted":false},{"type":"link","label":"ContourPlot3D","href":"/frontend/Reference/Plotting Functions/ContourPlot3D","docId":"frontend/Reference/Plotting Functions/ContourPlot3D","unlisted":false},{"type":"link","label":"DateListPlot","href":"/frontend/Reference/Plotting Functions/DateListPlot","docId":"frontend/Reference/Plotting Functions/DateListPlot","unlisted":false},{"type":"link","label":"DensityPlot","href":"/frontend/Reference/Plotting Functions/DensityPlot","docId":"frontend/Reference/Plotting Functions/DensityPlot","unlisted":false},{"type":"link","label":"ListContourPlot","href":"/frontend/Reference/Plotting Functions/ListContourPlot","docId":"frontend/Reference/Plotting Functions/ListContourPlot","unlisted":false},{"type":"link","label":"ListCurvePathPlot","href":"/frontend/Reference/Plotting Functions/ListCurvePathPlot","docId":"frontend/Reference/Plotting Functions/ListCurvePathPlot","unlisted":false},{"type":"link","label":"ListLinePlot","href":"/frontend/Reference/Plotting Functions/ListLinePlot","docId":"frontend/Reference/Plotting Functions/ListLinePlot","unlisted":false},{"type":"link","label":"ListPlot3D","href":"/frontend/Reference/Plotting Functions/ListPlot3D","docId":"frontend/Reference/Plotting Functions/ListPlot3D","unlisted":false},{"type":"link","label":"ListStepPlot","href":"/frontend/Reference/Plotting Functions/ListStepPlot","docId":"frontend/Reference/Plotting Functions/ListStepPlot","unlisted":false},{"type":"link","label":"ListVectorPlot","href":"/frontend/Reference/Plotting Functions/ListVectorPlot","docId":"frontend/Reference/Plotting Functions/ListVectorPlot","unlisted":false},{"type":"link","label":"ManipulateParametricPlot","href":"/frontend/Reference/Plotting Functions/ManipulateParametricPlot","docId":"frontend/Reference/Plotting Functions/ManipulateParametricPlot","unlisted":false},{"type":"link","label":"ManipulatePlot","href":"/frontend/Reference/Plotting Functions/ManipulatePlot","docId":"frontend/Reference/Plotting Functions/ManipulatePlot","unlisted":false},{"type":"link","label":"MatrixPlot","href":"/frontend/Reference/Plotting Functions/MatrixPlot","docId":"frontend/Reference/Plotting Functions/MatrixPlot","unlisted":false},{"type":"link","label":"ParametricPlot","href":"/frontend/Reference/Plotting Functions/ParametricPlot","docId":"frontend/Reference/Plotting Functions/ParametricPlot","unlisted":false},{"type":"link","label":"Plot","href":"/frontend/Reference/Plotting Functions/Plot","docId":"frontend/Reference/Plotting Functions/Plot","unlisted":false},{"type":"link","label":"Plot3D","href":"/frontend/Reference/Plotting Functions/Plot3D","docId":"frontend/Reference/Plotting Functions/Plot3D","unlisted":false},{"type":"link","label":"Plotly","href":"/frontend/Reference/Plotting Functions/Plotly","docId":"frontend/Reference/Plotting Functions/Plotly","unlisted":false},{"type":"link","label":"RandomImage","href":"/frontend/Reference/Plotting Functions/RandomImage","docId":"frontend/Reference/Plotting Functions/RandomImage","unlisted":false},{"type":"link","label":"SphericalPlot3D","href":"/frontend/Reference/Plotting Functions/SphericalPlot3D","docId":"frontend/Reference/Plotting Functions/SphericalPlot3D","unlisted":false},{"type":"link","label":"StackedListPlot","href":"/frontend/Reference/Plotting Functions/StackedListPlot","docId":"frontend/Reference/Plotting Functions/StackedListPlot","unlisted":false},{"type":"link","label":"StreamPlot","href":"/frontend/Reference/Plotting Functions/StreamPlot","docId":"frontend/Reference/Plotting Functions/StreamPlot","unlisted":false},{"type":"link","label":"VectorPlot","href":"/frontend/Reference/Plotting Functions/VectorPlot","docId":"frontend/Reference/Plotting Functions/VectorPlot","unlisted":false},{"type":"link","label":"VectorPlot3D","href":"/frontend/Reference/Plotting Functions/VectorPlot3D","docId":"frontend/Reference/Plotting Functions/VectorPlot3D","unlisted":false}]},{"type":"category","label":"Slides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"SlideEventListener","href":"/frontend/Reference/Slides/SlideEventListener","docId":"frontend/Reference/Slides/SlideEventListener","unlisted":false}],"href":"/frontend/Reference/Slides/"},{"type":"category","label":"Sound","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Audio","href":"/frontend/Reference/Sound/Audio","docId":"frontend/Reference/Sound/Audio","unlisted":false},{"type":"link","label":"ListPlay","href":"/frontend/Reference/Sound/ListPlay","docId":"frontend/Reference/Sound/ListPlay","unlisted":false},{"type":"link","label":"PCMPlayer","href":"/frontend/Reference/Sound/PCMPlayer","docId":"frontend/Reference/Sound/PCMPlayer","unlisted":false}]},{"type":"link","label":"Video","href":"/frontend/Reference/Video/","docId":"frontend/Reference/Video/Video","unlisted":false}]}]},"docs":{"broken links output":{"id":"broken links output","title":"broken links output","description":"Don\'t forget that creating the file from here may create the file in the wrong directory!"},"frontend/Advanced/Command palette/AI Assistant":{"id":"frontend/Advanced/Command palette/AI Assistant","title":"AI Assistant","description":"FAQ","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Advanced animation":{"id":"frontend/Advanced/Dynamics/Advanced animation","title":"Advanced animation","description":"Basics","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Indicators":{"id":"frontend/Advanced/Dynamics/Indicators","title":"Indicators","description":"While evaluating some experimental data, some live indicators comes handy","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Offloading calculations":{"id":"frontend/Advanced/Dynamics/Offloading calculations","title":"Offloading calculations","description":"Leaving some calculations to the frontend\'s side can reduce an overhead from the communication between the frontend and the Kernel and also make your code much cleaner at the same time.","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Performance tips":{"id":"frontend/Advanced/Dynamics/Performance tips","title":"Performance tips","description":"Performance tips","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Prototyping":{"id":"frontend/Advanced/Dynamics/Prototyping","title":"Prototyping","description":"Imagine we want to recreate this background used in some presentation","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Raster animation":{"id":"frontend/Advanced/Dynamics/Raster animation","title":"Raster animation","description":"Raster graphics is not well optimized on WLJS Notebook for now. Consider to use it as rarely as possible.","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Scoping":{"id":"frontend/Advanced/Dynamics/Scoping","title":"Scoping","description":"Since Module adds Temporal attribute to your symbols, it is not clear when and how your dynamic symbols will be purged from the Kernel. Therefore use LeakyModule to scope all dynamic symbols.","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Dynamic symbols generation":{"id":"frontend/Advanced/Events system/Dynamic symbols generation","title":"Dynamic symbols generation","description":"One can combine the power of Interpretation and Offload to generate dynamic symbols, which can be controlled by its syntax sugar or decoration box!","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/event-generators":{"id":"frontend/Advanced/Events system/event-generators","title":"Event system","description":"As a short summary - where you can use event-handlers","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Mouse and keyboard":{"id":"frontend/Advanced/Events system/Mouse and keyboard","title":"Mouse and keyboard","description":"In this section, we discuss ways in which a user can interact with dynamic elements, providing different types of input.","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Notebook, cells and windows":{"id":"frontend/Advanced/Events system/Notebook, cells and windows","title":"Notebook, cells and windows","description":"Cells and notebook objects can also emit events and there is no need in cloning event objects to assign multiple handlers (it is done automatically once an EventHandler method is applied).","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Parallel kernels":{"id":"frontend/Advanced/Events system/Parallel kernels","title":"Parallel kernels","description":"","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/promises":{"id":"frontend/Advanced/Events system/promises","title":"Promises","description":"This chapter is in development. Please see References Promise","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/routing":{"id":"frontend/Advanced/Events system/routing","title":"Routing","description":"Remember the number 1 rule: 1 pattern of an event object = 1 handler","sidebar":"tutorialSidebar"},"frontend/Advanced/Frontend interpretation/Editor manipulation":{"id":"frontend/Advanced/Frontend interpretation/Editor manipulation","title":"Editor manipulation","description":"One can manipulate the content of the current selection using FrontEditorSelected expression evaluated with FrontSubmit or FrontFetch","sidebar":"tutorialSidebar"},"frontend/Advanced/Frontend interpretation/Frontend Objects":{"id":"frontend/Advanced/Frontend interpretation/Frontend Objects","title":"Frontend Objects","description":"This is a core concept of all interactive elements on frontend","sidebar":"tutorialSidebar"},"frontend/Advanced/Frontend interpretation/WLJS Functions":{"id":"frontend/Advanced/Frontend interpretation/WLJS Functions","title":"WLJS Functions","description":"Let us start from the simplest stuff","sidebar":"tutorialSidebar"},"frontend/Advanced/Graphics/Complex":{"id":"frontend/Advanced/Graphics/Complex","title":"Complex","description":"","sidebar":"tutorialSidebar"},"frontend/Advanced/Graphics/Controls":{"id":"frontend/Advanced/Graphics/Controls","title":"Controls","description":"Programmatic pan and zoom","sidebar":"tutorialSidebar"},"frontend/Advanced/Javascript/Communication":{"id":"frontend/Advanced/Javascript/Communication","title":"Communication","description":"Here we will highlight a few methods for communication with Javascript","sidebar":"tutorialSidebar"},"frontend/Advanced/Objects/Creating new type":{"id":"frontend/Advanced/Objects/Creating new type","title":"1. Creating new type","description":"OOP elements fit Wolfram Language very nicely if you thing about in more general sense as an abstract isolated entities of something which can communicate with each other using messages and have their own internal states.","sidebar":"tutorialSidebar"},"frontend/Advanced/Objects/Dynamic decorations":{"id":"frontend/Advanced/Objects/Dynamic decorations","title":"3. Dynamic decorations","description":"In this part we will try to synchronize the state of our symbols or objects with corresponding decorations we created in the previous part.","sidebar":"tutorialSidebar"},"frontend/Advanced/Objects/Static decorations":{"id":"frontend/Advanced/Objects/Static decorations","title":"2. Static decorations","description":"One of the feature advantage of Wolfram Mathematica and WLJS Notebook is a multimodal cells with a powerful syntax sugar. A visual representation of an instance of an object makes the programming experience more educative for sure.","sidebar":"tutorialSidebar"},"frontend/Advanced/Packages":{"id":"frontend/Advanced/Packages","title":"Packages","description":"By the default the following packages are loaded to the Kernel on startup","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/animations":{"id":"frontend/Advanced/Slides/animations","title":"Graphics animation & interaction","description":"Interactive plots","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Backgrounds":{"id":"frontend/Advanced/Slides/Backgrounds","title":"Backgrounds","description":"There is a few way on how you can put a background image for your slides","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/components":{"id":"frontend/Advanced/Slides/components","title":"Components","description":"Making presentation is quite repetitive process. It is quite common to have some common element shared between different slides.","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/crypto-text":{"id":"frontend/Advanced/Slides/crypto-text","title":"Crypto text","description":"Here we will create a component to make the following effect possible on a slide","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/embed-wl":{"id":"frontend/Advanced/Slides/embed-wl","title":"Code highlighting","description":"Since it support WLX syntax as well, one can combine the copied text from the normal Wolfram Language cell into a EditorView component","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Fragments":{"id":"frontend/Advanced/Slides/Fragments","title":"Fragments","description":"This allows to reveal, remove or highlight some objects on a slide using built-in animation framework of RevealJS.","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Slides":{"id":"frontend/Advanced/Slides/Slides","title":"Slides","description":"You can use pure Markdown, HTML, CSS or WLX languages while making slides","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Styling":{"id":"frontend/Advanced/Slides/Styling","title":"Styling","description":"The most basics styling","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/tables":{"id":"frontend/Advanced/Slides/tables","title":"Large tables of data","description":"One can utilize component InputTable, that originally stands for editing table, but can be used just to view them as well. The good thing about it that it supports infinitely large tables since the actual content is loaded by parts (and unloads if no longer needed)","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Transitions":{"id":"frontend/Advanced/Slides/Transitions","title":"Transitions","description":"There is a built-in engine for transitions between slides in RevealJS","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Widgets":{"id":"frontend/Advanced/Slides/Widgets","title":"Widgets","description":"This was not supposed to be a separate category in this section, but for the sake providing more diverse examples we created it.","sidebar":"tutorialSidebar"},"frontend/Advanced/Syntax sugar/Decorating symbols":{"id":"frontend/Advanced/Syntax sugar/Decorating symbols","title":"Decorating symbols","description":"Giving a rich visual representation to a symbol while programming elevates the whole user experience to another level. There is couple of ways on how to do it in WLJS Notebook.","sidebar":"tutorialSidebar"},"frontend/Cell types/Files":{"id":"frontend/Cell types/Files","title":"Files","description":"Image preview","sidebar":"tutorialSidebar"},"frontend/Cell types/HTML":{"id":"frontend/Cell types/HTML","title":"HTML","description":"Type .html in the first line of an input cell","sidebar":"tutorialSidebar"},"frontend/Cell types/Javascript":{"id":"frontend/Cell types/Javascript","title":"Javascript","description":"Type .js in the first line of an input cell","sidebar":"tutorialSidebar"},"frontend/Cell types/Many more":{"id":"frontend/Cell types/Many more","title":"Many more","description":"You can extend output cell types via a few lines of code and you favorite framework / package","sidebar":"tutorialSidebar"},"frontend/Cell types/Markdown":{"id":"frontend/Cell types/Markdown","title":"Markdown","description":"Type .md in the first line of an input cell","sidebar":"tutorialSidebar"},"frontend/Cell types/Slides":{"id":"frontend/Cell types/Slides","title":"Slides","description":"Type .slide in the first line of an input cell","sidebar":"tutorialSidebar"},"frontend/Cell types/WLX":{"id":"frontend/Cell types/WLX","title":"WLX","description":"Type .wlx in the first line of an input cell","sidebar":"tutorialSidebar"},"frontend/Cell types/Wolfram Language":{"id":"frontend/Cell types/Wolfram Language","title":"Wolfram Language","description":"Github repo","sidebar":"tutorialSidebar"},"frontend/Command palette":{"id":"frontend/Command palette","title":"Command palette","description":"The big power of customization comes with a powerful command palette system. This is provided by a plugin shipped with a core package.","sidebar":"tutorialSidebar"},"frontend/Dynamics":{"id":"frontend/Dynamics","title":"Dynamics","description":"The way how dynamics work is quite different compared to Wolfram Mathematica. The key changes were made for the sake of performance and control (or imagination of @JerryI - maintainer)","sidebar":"tutorialSidebar"},"frontend/Export/HTML":{"id":"frontend/Export/HTML","title":"HTML","description":"Since the interpretation of the output cells happens in a browser, then we can pack all data into a single .html file and easily share it with other people by clicking on the icon","sidebar":"tutorialSidebar"},"frontend/Export/Markdown":{"id":"frontend/Export/Markdown","title":"Markdown","description":"Markdown format exports all code, images, comments, however it excludes output cells","sidebar":"tutorialSidebar"},"frontend/Export/PDF":{"id":"frontend/Export/PDF","title":"PDF","description":"Is in development","sidebar":"tutorialSidebar"},"frontend/Guidelines":{"id":"frontend/Guidelines","title":"Guidelines","description":"Still populating with a content","sidebar":"tutorialSidebar"},"frontend/instruction":{"id":"frontend/instruction","title":"Quick start","description":"Wolfram Language Notebook requires wolframscript (see Freeware Wolfram Engine or Wolfram Kernel) installed on your PC/Mac.","sidebar":"tutorialSidebar"},"frontend/Overview":{"id":"frontend/Overview","title":"Overview","description":"The whole notebook interface is made using plain Javascript, HTML powered by a Wolfram WebServer and WLX running locally on a Wolfram Kernel. It means you can work remotely by running a server anywhere you want (see how at instruction).","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/Beep":{"id":"frontend/Reference/Cells and Notebook/Beep","title":"Beep","description":"make a sound notification. It does not require any context or window object.","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/CellPrint":{"id":"frontend/Reference/Cells and Notebook/CellPrint","title":"CellPrint","description":"Creates a new cell with a given content in a notebook","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/EvaluationCell":{"id":"frontend/Reference/Cells and Notebook/EvaluationCell","title":"EvaluationCell","description":"returns a source input-cell as a RemoteCellObj from the evaluation context","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/EvaluationNotebook":{"id":"frontend/Reference/Cells and Notebook/EvaluationNotebook","title":"EvaluationNotebook","description":"returns a RemoteCellObj object of a current notebook from the evaluation context","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/HapticFeedback":{"id":"frontend/Reference/Cells and Notebook/HapticFeedback","title":"HapticFeedback","description":"Only for MacOS users and Desktop Application","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/NotebookDirectory":{"id":"frontend/Reference/Cells and Notebook/NotebookDirectory","title":"NotebookDirectory","description":"returns a file path to the current notebook.","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/NotebookStore":{"id":"frontend/Reference/Cells and Notebook/NotebookStore","title":"NotebookStore","description":"An access to a permanent local notebook storage. You can carry the raw data within the notebook, regardless if it has been exported to HTML and imported back.","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/ParentCell":{"id":"frontend/Reference/Cells and Notebook/ParentCell","title":"ParentCell","description":"fetches RemoteCellObj for a parent input cell of a given cell","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/RemoteCellObj":{"id":"frontend/Reference/Cells and Notebook/RemoteCellObj","title":"RemoteCellObj","description":"a remote representation of a notebook cell for evaluation Kernel","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/RemoteNotebook":{"id":"frontend/Reference/Cells and Notebook/RemoteNotebook","title":"RemoteNotebook","description":"represents notebook object for a evaluation Kernel","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/ResultCell":{"id":"frontend/Reference/Cells and Notebook/ResultCell","title":"ResultCell","description":"returns an future output cell identifier as an RemoteCellObj even if it was not yet created from the evaluation context","sidebar":"tutorialSidebar"},"frontend/Reference/Dataset/Dataset":{"id":"frontend/Reference/Dataset/Dataset","title":"Dataset","description":"represents a structured dataset based on a hierarchy of lists and associations.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/ArrangeSummaryBox":{"id":"frontend/Reference/Decorations/ArrangeSummaryBox","title":"ArrangeSummaryBox","description":"A decoration for summarizing internals of any WL expression to a human-readable form","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/BoxBox":{"id":"frontend/Reference/Decorations/BoxBox","title":"BoxBox","description":"Used to decorate Wolfram Expression with custom HTML elements","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Bra":{"id":"frontend/Reference/Decorations/Bra","title":"Bra","description":"the same as Ket","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Column":{"id":"frontend/Reference/Decorations/Column","title":"Column","description":"shows the list of any Wolfram Expressions in a single column acting as a decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Framed":{"id":"frontend/Reference/Decorations/Framed","title":"Framed","description":"Acts like a Style box, but wrapped into a frame","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Grid":{"id":"frontend/Reference/Decorations/Grid","title":"Grid","description":"Spawns a grid of WL editors with an arbitrary objects inside","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Iconize":{"id":"frontend/Reference/Decorations/Iconize","title":"Iconize","description":"compresses any arbitrary expr into an icon (encoded as base64 gzip string or a file)","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/InputForm":{"id":"frontend/Reference/Decorations/InputForm","title":"InputForm","description":"Prevents decorations to be set","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Interpretation":{"id":"frontend/Reference/Decorations/Interpretation","title":"Interpretation","description":"allows to alter the displayed expression","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/InterpretationBox":{"id":"frontend/Reference/Decorations/InterpretationBox","title":"InterpretationBox","description":"Make a formatting structure whose interpretation is not based on its appearance","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Ket":{"id":"frontend/Reference/Decorations/Ket","title":"Ket","description":"represents ket-vector from Quantum Mechanics","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/MakeBoxes":{"id":"frontend/Reference/Decorations/MakeBoxes","title":"MakeBoxes","description":"an output handler expression acting as UpValues for other expression converts it to a decorated form, which is then rendered by an editor.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/MatrixForm":{"id":"frontend/Reference/Decorations/MatrixForm","title":"MatrixForm","description":"shows the given matrix (list of lists) in a traditional form using Grid decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/NumberForm":{"id":"frontend/Reference/Decorations/NumberForm","title":"NumberForm","description":"prints with approximate real numbers","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Pane":{"id":"frontend/Reference/Decorations/Pane","title":"Pane","description":"displays as a pane containing\xa0expr.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/PaneBox":{"id":"frontend/Reference/Decorations/PaneBox","title":"PaneBox","description":"A low-level primitive produced by Pane. It can be used in MakeBoxes directly to decorate symbols acting as a padded container with a defined width and height","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Quantity":{"id":"frontend/Reference/Decorations/Quantity","title":"Quantity","description":"represents a quantity with size\xa0magnitude\xa0and unit specified by unit.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Row":{"id":"frontend/Reference/Decorations/Row","title":"Row","description":"shows the list of any Wolfram Expressions in a row acting as a decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/StandardForm":{"id":"frontend/Reference/Decorations/StandardForm","title":"StandardForm","description":"A standard form for representing math, colors, dates, graphics, which comes with visual decorations","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Style":{"id":"frontend/Reference/Decorations/Style","title":"Style","description":"Styling box used as a decoration for an arbitrary Wolfram Expressions","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/TableForm":{"id":"frontend/Reference/Decorations/TableForm","title":"TableForm","description":"shows the given table (list) in a traditional form using Grid decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/ViewBox":{"id":"frontend/Reference/Decorations/ViewBox","title":"ViewBox","description":"Used to replace wrapped Wolfram Expression with custom HTML/JS elements","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/WLXForm":{"id":"frontend/Reference/Decorations/WLXForm","title":"WLXForm","description":"A standard form used for representing Wolfram expressions on Slides and in WLX cells","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/CurrentWindow":{"id":"frontend/Reference/Frontend IO/CurrentWindow","title":"CurrentWindow","description":"returns a window socket object from the evaluation context. The object corresponds to the current socket channel used for the communication with a window, where a cell is evaluated.","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/FrontFetch":{"id":"frontend/Reference/Frontend IO/FrontFetch","title":"FrontFetch","description":"is a synchronous version of FrontFetchAsync, that uses WaitAll to pause an execution while waiting for an incoming data","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/FrontFetchAsync":{"id":"frontend/Reference/Frontend IO/FrontFetchAsync","title":"FrontFetchAsync","description":"asynchronously evaluates (aka FrontSubmit) and fetches the resulting expression back to the Wolfram Kernel from the frontend (browser)","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/FrontSubmit":{"id":"frontend/Reference/Frontend IO/FrontSubmit","title":"FrontSubmit","description":"Sends an expression to be executed on WLJS Interpreter (frontend / browser)","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/MetaMarker":{"id":"frontend/Reference/Frontend IO/MetaMarker","title":"MetaMarker","description":"an object used to mark frontend instances or select them and their contexts to be used later with FrontSubmit. One can think about if it assigns a given identifier to a group of expressions and saves their context of the evaluation.","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/WindowObj":{"id":"frontend/Reference/Frontend IO/WindowObj","title":"WindowObj","description":"an internal representation of a current window (can be a notebook or projected cell), that contains the information of a live connection to it used by FrontSubmit, FrontFetch, Slides and other functions.","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend Objects/CreateFrontEndObject":{"id":"frontend/Reference/Frontend Objects/CreateFrontEndObject","title":"CreateFrontEndObject","description":"creates a reference to the inner expression and stores it into frontend objects storage as JSON expression shared with Kernel and Notebook","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend Objects/FrontEndExecutable":{"id":"frontend/Reference/Frontend Objects/FrontEndExecutable","title":"FrontEndExecutable","description":"A reference to a frontend object (see CreateFrontEndObject) similar to FrontEndRef, which is replaced on the output by a decorative widget - ViewBox with FrontEndRef as an inner expression","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend Objects/FrontEndRef":{"id":"frontend/Reference/Frontend Objects/FrontEndRef","title":"FrontEndRef","description":"An executable reference to a frontend object (see CreateFrontEndObject), that converts JSON expression back to Wolfram Language","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/AbsoluteThickness":{"id":"frontend/Reference/Graphics/AbsoluteThickness","title":"AbsoluteThickness","description":"is used to control the visible thickness of lines used in Graphics. The displayed is not affected by scaling or zooming the plot.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/AnimationFrameListener":{"id":"frontend/Reference/Graphics/AnimationFrameListener","title":"AnimationFrameListener","description":"signals once the beginning of a browser\'s frame (depends on OS settings, hardware). It can be reloaded again after any changes of dependent dynamic symbols similar to requestAnimationFrame.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Arrow":{"id":"frontend/Reference/Graphics/Arrow","title":"Arrow","description":"Plots an arrow with a fixed head-size from point 1 to point 2","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Arrowheads":{"id":"frontend/Reference/Graphics/Arrowheads","title":"Arrowheads","description":"specifies an absolute side of an Arrow head. The default value is 0.04","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/BezierCurve":{"id":"frontend/Reference/Graphics/BezierCurve","title":"BezierCurve","description":"plots quadratic Bezier curve using every first point as a starting point and forth point as a destination. If there are more than 4 points provided, it will split them into multiple curves","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Circle":{"id":"frontend/Reference/Graphics/Circle","title":"Circle","description":"draws a circle with a given radius r","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Directive":{"id":"frontend/Reference/Graphics/Directive","title":"Directive","description":"Used for styling plots or 2D graphics","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Disk":{"id":"frontend/Reference/Graphics/Disk","title":"Disk","description":"draws a filled Circle","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/EdgeForm":{"id":"frontend/Reference/Graphics/EdgeForm","title":"EdgeForm","description":"specifies stroke color for a primitive","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Graphics":{"id":"frontend/Reference/Graphics/Graphics","title":"Graphics","description":"represents a two-dimensional graphical image. This is a fundamental expression, which is produced by all 2D plotting functions","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/GraphicsComplex":{"id":"frontend/Reference/Graphics/GraphicsComplex","title":"GraphicsComplex","description":"represents a graphics complex in which coordinates given as integers\xa0$i$\xa0in graphics primitives in\xa0data\xa0are taken to be\xa0pti.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/GrayLevel":{"id":"frontend/Reference/Graphics/GrayLevel","title":"GrayLevel","description":"where n is in a range of 0-1","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Hue":{"id":"frontend/Reference/Graphics/Hue","title":"Hue","description":"represents color as HUE, Saturation, Brightness (HSV), where","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Image":{"id":"frontend/Reference/Graphics/Image","title":"Image","description":"Represents a raster image and plots the list of pixel\'s colors to a canvas used in notebooks","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Inset":{"id":"frontend/Reference/Graphics/Inset","title":"Inset","description":"a graphics object, that allows to put another Graphics into the canvas. pos has to be a 2D vector, that specifies the position of the inset.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/LABColor":{"id":"frontend/Reference/Graphics/LABColor","title":"LABColor","description":"represents a color in the CIELAB color space with lightness\xa0l\xa0and color components\xa0a\xa0and\xa0b.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Line":{"id":"frontend/Reference/Graphics/Line","title":"Line","description":"the representation of a line going though the points {x1,y1}, {x2,y2}","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Offset":{"id":"frontend/Reference/Graphics/Offset","title":"Offset","description":"adds an offset to an inner graphics primitive","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Opacity":{"id":"frontend/Reference/Graphics/Opacity","title":"Opacity","description":"defines opacity for primitives (from 0 to 1)","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Point":{"id":"frontend/Reference/Graphics/Point","title":"Point","description":"is a graphics and geometry primitive that represents a point at\xa0p,","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Polygon":{"id":"frontend/Reference/Graphics/Polygon","title":"Polygon","description":"represents a filled polygon with points p1, p2...","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Raster":{"id":"frontend/Reference/Graphics/Raster","title":"Raster","description":"Is not fully supported. Fallback to SVG rectangles","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Rectangle":{"id":"frontend/Reference/Graphics/Rectangle","title":"Rectangle","description":"represents a basic rectangle","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/RGBColor":{"id":"frontend/Reference/Graphics/RGBColor","title":"RGBColor","description":"represents color","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Rotate":{"id":"frontend/Reference/Graphics/Rotate","title":"Rotate","description":"rotates graphics primitive or list of primitives g by angle","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Show":{"id":"frontend/Reference/Graphics/Show","title":"Show","description":"Only partially supported wljs-graphics-d3 for now","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Style":{"id":"frontend/Reference/Graphics/Style","title":"Style","description":"A wrapper that can be used for Text . The following options can be provided","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/SVGAttribute":{"id":"frontend/Reference/Graphics/SVGAttribute","title":"SVGAttribute","description":"Allows to directly set SVG attribute to a 2D graphics object","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Text":{"id":"frontend/Reference/Graphics/Text","title":"Text","description":"Represents an arbitrary text label placed as a Graphics object","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/TransitionDuration":{"id":"frontend/Reference/Graphics/TransitionDuration","title":"TransitionDuration","description":"acts as an option and a context modifier for Graphics that tells the transition duration for graphics primitives (coordinate changes, and etc) once one of dependencies has been updated","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/TransitionType":{"id":"frontend/Reference/Graphics/TransitionType","title":"TransitionType","description":"acts as an option and a context modifier for Graphics that tells the transition function for graphics primitives (coordinate changes, and etc) once one of dependencies has been updated","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Translate":{"id":"frontend/Reference/Graphics/Translate","title":"Translate","description":"translates graphics primitive by pos","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/ZoomAt":{"id":"frontend/Reference/Graphics/ZoomAt","title":"ZoomAt","description":"zooms k times at the given position position.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/AbsoluteThickness":{"id":"frontend/Reference/Graphics3D/AbsoluteThickness","title":"AbsoluteThickness","description":"defines an thickness or various 3D primitives such as Arrow, Line and etc","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/AnimationFrameListener":{"id":"frontend/Reference/Graphics3D/AnimationFrameListener","title":"AnimationFrameListener","description":"the same as for AnimationFrameListener, but in the context of 2D graphics","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Arrow":{"id":"frontend/Reference/Graphics3D/Arrow","title":"Arrow","description":"draws an arrow connected with a line","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Arrowheads":{"id":"frontend/Reference/Graphics3D/Arrowheads","title":"Arrowheads","description":"or","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Cuboid":{"id":"frontend/Reference/Graphics3D/Cuboid","title":"Cuboid","description":"draws a hypercube from pmin to pmax","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Cylinder":{"id":"frontend/Reference/Graphics3D/Cylinder","title":"Cylinder","description":"represents a cylinder with a radius 1","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Emissive":{"id":"frontend/Reference/Graphics3D/Emissive","title":"Emissive","description":"specifies weather the material emits light","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/GeometricTransformation":{"id":"frontend/Reference/Graphics3D/GeometricTransformation","title":"GeometricTransformation","description":"applies general matrix3x3 to each vertex of an object, i.e. replacing each point p by matrix3x3.p","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Graphics3D":{"id":"frontend/Reference/Graphics3D/Graphics3D","title":"Graphics3D","description":"represents 3D graphical image.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/GraphicsComplex":{"id":"frontend/Reference/Graphics3D/GraphicsComplex","title":"GraphicsComplex","description":"represents an efficient graphics structure for drawing complex 3D objects (or 2D - see GraphicsComplex) storing vertices data in data variable. It replaces indexes found in primitives (can be nested) with a corresponding vertices and colors (if specified)","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/GraphicsGroup":{"id":"frontend/Reference/Graphics3D/GraphicsGroup","title":"GraphicsGroup","description":"makes a group for graphics primitives","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/HemisphereLight":{"id":"frontend/Reference/Graphics3D/HemisphereLight","title":"HemisphereLight","description":"defines a fake hemisphere ambient light","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Hue":{"id":"frontend/Reference/Graphics3D/Hue","title":"Hue","description":"same as Hue, but for Graphics3D primitives","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Line":{"id":"frontend/Reference/Graphics3D/Line","title":"Line","description":"represents a line in 3D space.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/MeshMaterial":{"id":"frontend/Reference/Graphics3D/MeshMaterial","title":"MeshMaterial","description":"specifies the material used for 3D lighting in Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/MeshPhysicalMaterial":{"id":"frontend/Reference/Graphics3D/MeshPhysicalMaterial","title":"MeshPhysicalMaterial","description":"a default material used in MeshMaterial. The most accurate material, that can be parameterized with","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/MeshToonMaterial":{"id":"frontend/Reference/Graphics3D/MeshToonMaterial","title":"MeshToonMaterial","description":"uses lighting model for MeshMaterial to emulate cell-shading effect","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Metalness":{"id":"frontend/Reference/Graphics3D/Metalness","title":"Metalness","description":"specifies metallic property of a graphics primitive (see MeshPhysicalMaterial)","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Opacity":{"id":"frontend/Reference/Graphics3D/Opacity","title":"Opacity","description":"same as Opacity, but for Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Point":{"id":"frontend/Reference/Graphics3D/Point","title":"Point","description":"represents 3D point","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/PointLight":{"id":"frontend/Reference/Graphics3D/PointLight","title":"PointLight","description":"represents an artificial point-light source at the given position and parameters.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Polygon":{"id":"frontend/Reference/Graphics3D/Polygon","title":"Polygon","description":"a 3D version of Polygon used in Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/RGBColor":{"id":"frontend/Reference/Graphics3D/RGBColor","title":"RGBColor","description":"same as RGBColor but for Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Roughness":{"id":"frontend/Reference/Graphics3D/Roughness","title":"Roughness","description":"sets roughness for the current material","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Shadows":{"id":"frontend/Reference/Graphics3D/Shadows","title":"Shadows","description":"a scoped parameter like RGBColor or Opacity, that determines if a light source can cast shadows or a primitive can receive shadows as well.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Sphere":{"id":"frontend/Reference/Graphics3D/Sphere","title":"Sphere","description":"draws a sphere at coordinates c or list of spheres if the depth of c is 2.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/SpotLight":{"id":"frontend/Reference/Graphics3D/SpotLight","title":"SpotLight","description":"places a fake source of spot light in a 3D scene (see Graphics3D). The default target is $\\\\{0,0,0\\\\}$.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Tetrahedron":{"id":"frontend/Reference/Graphics3D/Tetrahedron","title":"Tetrahedron","description":"represents a polyhedron with 4 vertices","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Tube":{"id":"frontend/Reference/Graphics3D/Tube","title":"Tube","description":"Not implemented. Submit to Github issues","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/EditorView":{"id":"frontend/Reference/GUI/EditorView","title":"EditorView","description":"A view component to spawn an code-editor (fully functional)","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/HTMLView":{"id":"frontend/Reference/GUI/HTMLView","title":"HTMLView","description":"a representation of an HTML element in the notebook. It is used for rendering HTML in-place, where this expression is located and also is used for dynamic indication.","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputButton":{"id":"frontend/Reference/GUI/InputButton","title":"InputButton","description":"creates a button component and returns EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputCheckbox":{"id":"frontend/Reference/GUI/InputCheckbox","title":"InputCheckbox","description":"represents a UI element - checkbox or a toggle switch","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputEditor":{"id":"frontend/Reference/GUI/InputEditor","title":"InputEditor","description":"a wrapper over EditorView used for making input elements","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputFile":{"id":"frontend/Reference/GUI/InputFile","title":"InputFile","description":"outputs as a drag & drop file-form used to handle file input","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputGroup":{"id":"frontend/Reference/GUI/InputGroup","title":"InputGroup","description":"groups different event-generators such as InputRange, InputButton or in general EventObject into a new EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputJoystick":{"id":"frontend/Reference/GUI/InputJoystick","title":"InputJoystick","description":"creates and instance of 2D manipulator (virtual joystick)","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputRange":{"id":"frontend/Reference/GUI/InputRange","title":"InputRange","description":"creates a basic combo of a slider and numerical input field and returns EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputSelect":{"id":"frontend/Reference/GUI/InputSelect","title":"InputSelect","description":"represents a select field with different choices","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputTable":{"id":"frontend/Reference/GUI/InputTable","title":"InputTable","description":"it places a sort of small Excel-like table editor for list provided. This is a great solution for a large tables, since it does support lazy loading from a server","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputText":{"id":"frontend/Reference/GUI/InputText","title":"InputText","description":"represents an input-text field and returns EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/Slider":{"id":"frontend/Reference/GUI/Slider","title":"Slider","description":"This is not supported. Please, use alternative way InputRange","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/TableView":{"id":"frontend/Reference/GUI/TableView","title":"TableView","description":"where table is a 2D list","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/TextView":{"id":"frontend/Reference/GUI/TextView","title":"TextView","description":"represents a text field used for displaying dynamic data","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/WLXEmbed":{"id":"frontend/Reference/GUI/WLXEmbed","title":"WLXEmbed","description":"embeds an html string or array of string into a DOM element available in the context (i.e. env.element variable on JS side or AttachDOM) and executes all script tags found in the string","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/Alert":{"id":"frontend/Reference/Interpreter/Alert","title":"Alert","description":"pops up a default alert message on the frontend","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/AttachDOM":{"id":"frontend/Reference/Interpreter/AttachDOM","title":"AttachDOM","description":"Explicitly attaches an DOM element to a container by its id","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/FrontEditorSelected":{"id":"frontend/Reference/Interpreter/FrontEditorSelected","title":"FrontEditorSelected","description":"Manipulates the last selected input cell\'s editor","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/FrontEndVirtual":{"id":"frontend/Reference/Interpreter/FrontEndVirtual","title":"FrontEndVirtual","description":"It is a virtual containers-executable wrapper for any expressions evaluated on WLJS","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/Offload":{"id":"frontend/Reference/Interpreter/Offload","title":"Offload","description":"Holds (or offloads) an expression to be evaluated on frontend (WLJS)","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/OffloadFromEventObject":{"id":"frontend/Reference/Interpreter/OffloadFromEventObject","title":"OffloadFromEventObject","description":"generates a dynamic symbol (aka Offload) from a given EventObject (InputRange, InputText, ... etc) placing view-component of ev as a decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/ReadClipboard":{"id":"frontend/Reference/Interpreter/ReadClipboard","title":"ReadClipboard","description":"returns text content of a user\'s clipboard.","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/Refresh":{"id":"frontend/Reference/Interpreter/Refresh","title":"Refresh","description":"Implementation differs from Mathematica","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/WindowScope":{"id":"frontend/Reference/Interpreter/WindowScope","title":"WindowScope","description":"reads out Javascript variable available from the global scope and returns it. This is pure WLJS function","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Async":{"id":"frontend/Reference/Misc/Async","title":"Async","description":"SetTimeout","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Events":{"id":"frontend/Reference/Misc/Events","title":"Events","description":"EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Language":{"id":"frontend/Reference/Misc/Language","title":"Language","description":"LeakyModule","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Promise":{"id":"frontend/Reference/Misc/Promise","title":"Promise","description":"Promise","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/ListLinePlotly":{"id":"frontend/Reference/Plotly/ListLinePlotly","title":"ListLinePlotly","description":"mimics the native function ListLinePlot using Plotly library (see Plotly). It is limited, there is no options supported.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/Plotly":{"id":"frontend/Reference/Plotly/Plotly","title":"Plotly","description":"mimics the behavior of a native Plot using a well-known PlotlyJS library. It is quite limited and does not support options.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyAddTraces":{"id":"frontend/Reference/Plotly/PlotlyAddTraces","title":"PlotlyAddTraces","description":"appends to a plot p new data specified in data.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyAnimate":{"id":"frontend/Reference/Plotly/PlotlyAnimate","title":"PlotlyAnimate","description":"animates efficiently any Plotly graph with a new data with a specified transition.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyDeleteTraces":{"id":"frontend/Reference/Plotly/PlotlyDeleteTraces","title":"PlotlyDeleteTraces","description":"removes traces listed in traces with indexes starting from 0","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyExtendTraces":{"id":"frontend/Reference/Plotly/PlotlyExtendTraces","title":"PlotlyExtendTraces","description":"appends new points data to a given trace indexed by trace number (starting from 0)","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyInstance":{"id":"frontend/Reference/Plotly/PlotlyInstance","title":"PlotlyInstance","description":"an object generated by Plotly","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyPrependTraces":{"id":"frontend/Reference/Plotly/PlotlyPrependTraces","title":"PlotlyPrependTraces","description":"the same as PlotlyExtendTraces, but adds to the beginning","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ArrayPlot":{"id":"frontend/Reference/Plotting Functions/ArrayPlot","title":"ArrayPlot","description":"Generates a plot, where values are shown in a discrete array of blocks","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/BarChart":{"id":"frontend/Reference/Plotting Functions/BarChart","title":"BarChart","description":"generates a bar chart for a list of heights","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/BubbleChart":{"id":"frontend/Reference/Plotting Functions/BubbleChart","title":"BubbleChart","description":"creates a bubble chart for a list of triples","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ContourPlot":{"id":"frontend/Reference/Plotting Functions/ContourPlot","title":"ContourPlot","description":"Generates a contour plot of\xa0$f$\xa0as a function of\xa0$x$\xa0and\xa0$y$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ContourPlot3D":{"id":"frontend/Reference/Plotting Functions/ContourPlot3D","title":"ContourPlot3D","description":"produces a three-dimensional contour plot of\xa0f\xa0as a function of\xa0x,\xa0y, and\xa0z.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/DateListPlot":{"id":"frontend/Reference/Plotting Functions/DateListPlot","title":"DateListPlot","description":"plots points with values\xa0yi\xa0at a sequence of dates.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/DensityPlot":{"id":"frontend/Reference/Plotting Functions/DensityPlot","title":"DensityPlot","description":"makes a density plot of f as a function of x and y","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListContourPlot":{"id":"frontend/Reference/Plotting Functions/ListContourPlot","title":"ListContourPlot","description":"A list version of ContourPlot","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListCurvePathPlot":{"id":"frontend/Reference/Plotting Functions/ListCurvePathPlot","title":"ListCurvePathPlot","description":"Plots a curve that corresponds to a smooth path through the specified points","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListLinePlot":{"id":"frontend/Reference/Plotting Functions/ListLinePlot","title":"ListLinePlot","description":"Plots a line like Plot through the list of points provided","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListPlot3D":{"id":"frontend/Reference/Plotting Functions/ListPlot3D","title":"ListPlot3D","description":"generates a surface with height\xa0fij\xa0at position\xa0{j,i}","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListStepPlot":{"id":"frontend/Reference/Plotting Functions/ListStepPlot","title":"ListStepPlot","description":"plots the values $y1$, $y2$ ... in steps","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListVectorPlot":{"id":"frontend/Reference/Plotting Functions/ListVectorPlot","title":"ListVectorPlot","description":"Plot the vector field interpolated from a specified set of vectors","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ManipulateParametricPlot":{"id":"frontend/Reference/Plotting Functions/ManipulateParametricPlot","title":"ManipulateParametricPlot","description":"to be described","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ManipulatePlot":{"id":"frontend/Reference/Plotting Functions/ManipulatePlot","title":"ManipulatePlot","description":"a dynamic alternative to Plot and Mathematica\'s Manipulate, that uses input elements and Offload technic to make a fast interactive plots of a given function f[t, p1, p2...]","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/MatrixPlot":{"id":"frontend/Reference/Plotting Functions/MatrixPlot","title":"MatrixPlot","description":"Plots a 2D array with an arbitrary data inside with axes","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ParametricPlot":{"id":"frontend/Reference/Plotting Functions/ParametricPlot","title":"ParametricPlot","description":"The same as Plot, but accepts function generating pairs of {x,y}","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/Plot":{"id":"frontend/Reference/Plotting Functions/Plot","title":"Plot","description":"A Swiss knife for displaying 2D data","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/Plot3D":{"id":"frontend/Reference/Plotting Functions/Plot3D","title":"Plot3D","description":"generates a three-dimensional plot of\xa0f\xa0as a function of\xa0x\xa0and\xa0y.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/Plotly":{"id":"frontend/Reference/Plotting Functions/Plotly","title":"Plotly","description":"An alternative plotting function to Plot that uses Plotly.js","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/RandomImage":{"id":"frontend/Reference/Plotting Functions/RandomImage","title":"RandomImage","description":"Generates a raster Image with a given size and distribution. Only RGB space is supported. The maximum value is limited to 255 for each channel","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/SphericalPlot3D":{"id":"frontend/Reference/Plotting Functions/SphericalPlot3D","title":"SphericalPlot3D","description":"","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/StackedListPlot":{"id":"frontend/Reference/Plotting Functions/StackedListPlot","title":"StackedListPlot","description":"plots lines for each of the\xa0$datai$, with the\xa0$i^$\xa0curve being the accumulation of values in\xa0$data1$\xa0through\xa0$data_i$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/StreamPlot":{"id":"frontend/Reference/Plotting Functions/StreamPlot","title":"StreamPlot","description":"Generates a stream plot of the vector field\xa0${vx,vy}$\xa0as a function of\xa0$x$\xa0and\xa0$y$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/VectorPlot":{"id":"frontend/Reference/Plotting Functions/VectorPlot","title":"VectorPlot","description":"Generates a vector plot of the vector field\xa0${vx,vy}$\xa0as a function of\xa0$x$\xa0and\xa0$y$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/VectorPlot3D":{"id":"frontend/Reference/Plotting Functions/VectorPlot3D","title":"VectorPlot3D","description":"Generates a 3D vector plot of the vector field\xa0{vx,vy,vz}\xa0as a function of\xa0$x$,\xa0$y$, and\xa0$z$","sidebar":"tutorialSidebar"},"frontend/Reference/Slides/SlideEventListener":{"id":"frontend/Reference/Slides/SlideEventListener","title":"SlideEventListener","description":"attaches an event listener to a current slide","sidebar":"tutorialSidebar"},"frontend/Reference/Slides/Slides":{"id":"frontend/Reference/Slides/Slides","title":"Slides","description":"an object that represents current window with slides (even if not created)","sidebar":"tutorialSidebar"},"frontend/Reference/Sound/Audio":{"id":"frontend/Reference/Sound/Audio","title":"Audio","description":"","sidebar":"tutorialSidebar"},"frontend/Reference/Sound/ListPlay":{"id":"frontend/Reference/Sound/ListPlay","title":"ListPlay","description":"creates an object that plays as a sound whose amplitudes is given by the sequence of levels ai","sidebar":"tutorialSidebar"},"frontend/Reference/Sound/PCMPlayer":{"id":"frontend/Reference/Sound/PCMPlayer","title":"PCMPlayer","description":"creates a static or dynamic sound emitter. The following data types are supported","sidebar":"tutorialSidebar"},"frontend/Reference/Video/Video":{"id":"frontend/Reference/Video/Video","title":"Video","description":"","sidebar":"tutorialSidebar"},"frontend/Symbolic programming":{"id":"frontend/Symbolic programming","title":"Symbolic programming","description":"Wolfram Language itself comes with a vast standard library, which is suitable for most problem solving, where Python or Julia are used.","sidebar":"tutorialSidebar"},"frontend/Troubleshooting/Troubleshooting":{"id":"frontend/Troubleshooting/Troubleshooting","title":"Troubleshooting","description":"If something is not working as intended, please, post an issue on a Github with the data evaluated on your Wolfram Engine, such as","sidebar":"tutorialSidebar"},"imgs/Drawing 2024-03-29 18.01.17.excalidraw":{"id":"imgs/Drawing 2024-03-29 18.01.17.excalidraw","title":"Drawing 2024-03-29 18.01.17.excalidraw","description":"==\u26a0 Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. \u26a0=="},"imgs/FE data binding.excalidraw 1":{"id":"imgs/FE data binding.excalidraw 1","title":"FE data binding.excalidraw 1","description":"==\u26a0 Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. \u26a0=="},"imgs/feinput.gif":{"id":"imgs/feinput.gif","title":"feinput.gif","description":""},"imgs/manipulate-frontend-example.excalidraw":{"id":"imgs/manipulate-frontend-example.excalidraw","title":"manipulate-frontend-example.excalidraw","description":"==\u26a0 Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. \u26a0=="},"interpreter/Advanced/architecture":{"id":"interpreter/Advanced/architecture","title":"Architecture of symbols","description":"Features"},"interpreter/Advanced/containers":{"id":"interpreter/Advanced/containers","title":"Containers","description":"The general definition will be"},"interpreter/Advanced/meta-markers":{"id":"interpreter/Advanced/meta-markers","title":"Meta markers","description":"You can think about them as a unique property assigned to the expression in order to use selectors on them. Sometimes it comes handy to attach or evaluate new object inside the existing instance"},"interpreter/Advanced/symbols":{"id":"interpreter/Advanced/symbols","title":"Definitions","description":"Let\'s make the things clear."},"interpreter/Basics/graphics":{"id":"interpreter/Basics/graphics","title":"Working with graphics","description":"Easy animations"},"interpreter/Basics/js-access":{"id":"interpreter/Basics/js-access","title":"Javascript integration","description":"For deep overview of functions, containers and advanced control of evaluation process, please, see pages symbols and containers"},"interpreter/Basics/scripts":{"id":"interpreter/Basics/scripts","title":"Symbols and expressions","description":"It is assumed, you have wljs-graphics-d3 (see Libraries @ syntax) library included in your page. Most examples depend on it."},"interpreter/Basics/syntax":{"id":"interpreter/Basics/syntax","title":"Syntax","description":"For the simplicity it is better to use wolframscript or Mathematica to transpile the source code to JSONExpression format using ExportString command."},"interpreter/Extras/implementation":{"id":"interpreter/Extras/implementation","title":"How it works","description":"The idea"},"interpreter/Extras/reference":{"id":"interpreter/Extras/reference","title":"Reference","description":"Please see interpretate and other pages there"},"interpreter/intro":{"id":"interpreter/intro","title":"","description":"Minimal Wolfram Language Interpreter"}}}}')}}]); \ No newline at end of file diff --git a/Documentation/assets/js/6629c45f.bd48d4f3.js b/Documentation/assets/js/6629c45f.bd48d4f3.js deleted file mode 100644 index e87cd149..00000000 --- a/Documentation/assets/js/6629c45f.bd48d4f3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[1216],{47714:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Quick start","href":"/","className":"green","docId":"frontend/instruction","unlisted":false},{"type":"link","label":"Overview","href":"/frontend/Overview","docId":"frontend/Overview","unlisted":false},{"type":"link","label":"Dynamics","href":"/frontend/Dynamics","docId":"frontend/Dynamics","unlisted":false},{"type":"link","label":"Symbolic programming","href":"/frontend/Symbolic programming","docId":"frontend/Symbolic programming","unlisted":false},{"type":"category","label":"Cell types","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Wolfram Language","href":"/frontend/Cell types/Wolfram Language","docId":"frontend/Cell types/Wolfram Language","unlisted":false},{"type":"link","label":"Markdown","href":"/frontend/Cell types/Markdown","docId":"frontend/Cell types/Markdown","unlisted":false},{"type":"link","label":"HTML","href":"/frontend/Cell types/HTML","docId":"frontend/Cell types/HTML","unlisted":false},{"type":"link","label":"Javascript","href":"/frontend/Cell types/Javascript","docId":"frontend/Cell types/Javascript","unlisted":false},{"type":"link","label":"Files","href":"/frontend/Cell types/Files","docId":"frontend/Cell types/Files","unlisted":false},{"type":"link","label":"Many more","href":"/frontend/Cell types/Many more","docId":"frontend/Cell types/Many more","unlisted":false},{"type":"link","label":"Slides","href":"/frontend/Cell types/Slides","docId":"frontend/Cell types/Slides","unlisted":false},{"type":"link","label":"WLX","href":"/frontend/Cell types/WLX","docId":"frontend/Cell types/WLX","unlisted":false}],"href":"/category/cell-types"},{"type":"link","label":"Command palette","href":"/frontend/Command palette","docId":"frontend/Command palette","unlisted":false},{"type":"link","label":"Guidelines","href":"/frontend/Guidelines","docId":"frontend/Guidelines","unlisted":false},{"type":"category","label":"Advanced","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Slides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Code highlighting","href":"/frontend/Advanced/Slides/embed-wl","docId":"frontend/Advanced/Slides/embed-wl","unlisted":false},{"type":"link","label":"Widgets","href":"/frontend/Advanced/Slides/Widgets","docId":"frontend/Advanced/Slides/Widgets","unlisted":false},{"type":"link","label":"Backgrounds","href":"/frontend/Advanced/Slides/Backgrounds","docId":"frontend/Advanced/Slides/Backgrounds","unlisted":false},{"type":"link","label":"Fragments","href":"/frontend/Advanced/Slides/Fragments","docId":"frontend/Advanced/Slides/Fragments","unlisted":false},{"type":"link","label":"Styling","href":"/frontend/Advanced/Slides/Styling","docId":"frontend/Advanced/Slides/Styling","unlisted":false},{"type":"link","label":"Transitions","href":"/frontend/Advanced/Slides/Transitions","docId":"frontend/Advanced/Slides/Transitions","unlisted":false},{"type":"link","label":"Graphics animation & interaction","href":"/frontend/Advanced/Slides/animations","docId":"frontend/Advanced/Slides/animations","unlisted":false},{"type":"link","label":"Components","href":"/frontend/Advanced/Slides/components","docId":"frontend/Advanced/Slides/components","unlisted":false},{"type":"link","label":"Crypto text","href":"/frontend/Advanced/Slides/crypto-text","docId":"frontend/Advanced/Slides/crypto-text","unlisted":false},{"type":"link","label":"Large tables of data","href":"/frontend/Advanced/Slides/tables","docId":"frontend/Advanced/Slides/tables","unlisted":false}],"href":"/frontend/Advanced/Slides/"},{"type":"category","label":"Command palette","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AI Assistant","href":"/frontend/Advanced/Command palette/AI Assistant","docId":"frontend/Advanced/Command palette/AI Assistant","unlisted":false}]},{"type":"category","label":"Dynamics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Advanced animation","href":"/frontend/Advanced/Dynamics/Advanced animation","docId":"frontend/Advanced/Dynamics/Advanced animation","unlisted":false},{"type":"link","label":"Indicators","href":"/frontend/Advanced/Dynamics/Indicators","docId":"frontend/Advanced/Dynamics/Indicators","unlisted":false},{"type":"link","label":"Offloading calculations","href":"/frontend/Advanced/Dynamics/Offloading calculations","docId":"frontend/Advanced/Dynamics/Offloading calculations","unlisted":false},{"type":"link","label":"Performance tips","href":"/frontend/Advanced/Dynamics/Performance tips","docId":"frontend/Advanced/Dynamics/Performance tips","unlisted":false},{"type":"link","label":"Prototyping","href":"/frontend/Advanced/Dynamics/Prototyping","docId":"frontend/Advanced/Dynamics/Prototyping","unlisted":false},{"type":"link","label":"Raster animation","href":"/frontend/Advanced/Dynamics/Raster animation","docId":"frontend/Advanced/Dynamics/Raster animation","unlisted":false},{"type":"link","label":"Scoping","href":"/frontend/Advanced/Dynamics/Scoping","docId":"frontend/Advanced/Dynamics/Scoping","unlisted":false}]},{"type":"category","label":"Events system","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Event system","href":"/frontend/Advanced/Events system/event-generators","docId":"frontend/Advanced/Events system/event-generators","unlisted":false},{"type":"link","label":"Dynamic symbols generation","href":"/frontend/Advanced/Events system/Dynamic symbols generation","docId":"frontend/Advanced/Events system/Dynamic symbols generation","unlisted":false},{"type":"link","label":"Mouse and keyboard","href":"/frontend/Advanced/Events system/Mouse and keyboard","docId":"frontend/Advanced/Events system/Mouse and keyboard","unlisted":false},{"type":"link","label":"Notebook, cells and windows","href":"/frontend/Advanced/Events system/Notebook, cells and windows","docId":"frontend/Advanced/Events system/Notebook, cells and windows","unlisted":false},{"type":"link","label":"Parallel kernels","href":"/frontend/Advanced/Events system/Parallel kernels","docId":"frontend/Advanced/Events system/Parallel kernels","unlisted":false},{"type":"link","label":"Promises","href":"/frontend/Advanced/Events system/promises","docId":"frontend/Advanced/Events system/promises","unlisted":false},{"type":"link","label":"Routing","href":"/frontend/Advanced/Events system/routing","docId":"frontend/Advanced/Events system/routing","unlisted":false}]},{"type":"category","label":"Frontend interpretation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Editor manipulation","href":"/frontend/Advanced/Frontend interpretation/Editor manipulation","docId":"frontend/Advanced/Frontend interpretation/Editor manipulation","unlisted":false},{"type":"link","label":"Frontend Objects","href":"/frontend/Advanced/Frontend interpretation/Frontend Objects","docId":"frontend/Advanced/Frontend interpretation/Frontend Objects","unlisted":false},{"type":"link","label":"WLJS Functions","href":"/frontend/Advanced/Frontend interpretation/WLJS Functions","docId":"frontend/Advanced/Frontend interpretation/WLJS Functions","unlisted":false}]},{"type":"category","label":"Graphics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Complex","href":"/frontend/Advanced/Graphics/Complex","docId":"frontend/Advanced/Graphics/Complex","unlisted":false},{"type":"link","label":"Controls","href":"/frontend/Advanced/Graphics/Controls","docId":"frontend/Advanced/Graphics/Controls","unlisted":false}]},{"type":"category","label":"Javascript","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Communication","href":"/frontend/Advanced/Javascript/Communication","docId":"frontend/Advanced/Javascript/Communication","unlisted":false}]},{"type":"category","label":"Objects","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"1. Creating new type","href":"/frontend/Advanced/Objects/Creating new type","docId":"frontend/Advanced/Objects/Creating new type","unlisted":false},{"type":"link","label":"2. Static decorations","href":"/frontend/Advanced/Objects/Static decorations","docId":"frontend/Advanced/Objects/Static decorations","unlisted":false},{"type":"link","label":"3. Dynamic decorations","href":"/frontend/Advanced/Objects/Dynamic decorations","docId":"frontend/Advanced/Objects/Dynamic decorations","unlisted":false}]},{"type":"link","label":"Packages","href":"/frontend/Advanced/Packages","docId":"frontend/Advanced/Packages","unlisted":false},{"type":"category","label":"Syntax sugar","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Decorating symbols","href":"/frontend/Advanced/Syntax sugar/Decorating symbols","docId":"frontend/Advanced/Syntax sugar/Decorating symbols","unlisted":false}]}],"href":"/category/advanced"},{"type":"category","label":"Exporting formats","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"HTML file","href":"/frontend/Export/HTML file","docId":"frontend/Export/HTML file","unlisted":false},{"type":"link","label":"PDF","href":"/frontend/Export/PDF","docId":"frontend/Export/PDF","unlisted":false}],"href":"/category/exporting-formats"},{"type":"link","label":"Troubleshooting","href":"/frontend/Troubleshooting/","docId":"frontend/Troubleshooting/Troubleshooting","unlisted":false},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Cells and Notebook","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Beep","href":"/frontend/Reference/Cells and Notebook/Beep","docId":"frontend/Reference/Cells and Notebook/Beep","unlisted":false},{"type":"link","label":"CellPrint","href":"/frontend/Reference/Cells and Notebook/CellPrint","docId":"frontend/Reference/Cells and Notebook/CellPrint","unlisted":false},{"type":"link","label":"EvaluationCell","href":"/frontend/Reference/Cells and Notebook/EvaluationCell","docId":"frontend/Reference/Cells and Notebook/EvaluationCell","unlisted":false},{"type":"link","label":"EvaluationNotebook","href":"/frontend/Reference/Cells and Notebook/EvaluationNotebook","docId":"frontend/Reference/Cells and Notebook/EvaluationNotebook","unlisted":false},{"type":"link","label":"HapticFeedback","href":"/frontend/Reference/Cells and Notebook/HapticFeedback","docId":"frontend/Reference/Cells and Notebook/HapticFeedback","unlisted":false},{"type":"link","label":"NotebookDirectory","href":"/frontend/Reference/Cells and Notebook/NotebookDirectory","docId":"frontend/Reference/Cells and Notebook/NotebookDirectory","unlisted":false},{"type":"link","label":"NotebookStore","href":"/frontend/Reference/Cells and Notebook/NotebookStore","docId":"frontend/Reference/Cells and Notebook/NotebookStore","unlisted":false},{"type":"link","label":"ParentCell","href":"/frontend/Reference/Cells and Notebook/ParentCell","docId":"frontend/Reference/Cells and Notebook/ParentCell","unlisted":false},{"type":"link","label":"RemoteCellObj","href":"/frontend/Reference/Cells and Notebook/RemoteCellObj","docId":"frontend/Reference/Cells and Notebook/RemoteCellObj","unlisted":false},{"type":"link","label":"RemoteNotebook","href":"/frontend/Reference/Cells and Notebook/RemoteNotebook","docId":"frontend/Reference/Cells and Notebook/RemoteNotebook","unlisted":false},{"type":"link","label":"ResultCell","href":"/frontend/Reference/Cells and Notebook/ResultCell","docId":"frontend/Reference/Cells and Notebook/ResultCell","unlisted":false}]},{"type":"link","label":"Dataset","href":"/frontend/Reference/Dataset/","docId":"frontend/Reference/Dataset/Dataset","unlisted":false},{"type":"category","label":"Decorations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ArrangeSummaryBox","href":"/frontend/Reference/Decorations/ArrangeSummaryBox","docId":"frontend/Reference/Decorations/ArrangeSummaryBox","unlisted":false},{"type":"link","label":"BoxBox","href":"/frontend/Reference/Decorations/BoxBox","docId":"frontend/Reference/Decorations/BoxBox","unlisted":false},{"type":"link","label":"Bra","href":"/frontend/Reference/Decorations/Bra","docId":"frontend/Reference/Decorations/Bra","unlisted":false},{"type":"link","label":"Column","href":"/frontend/Reference/Decorations/Column","docId":"frontend/Reference/Decorations/Column","unlisted":false},{"type":"link","label":"Framed","href":"/frontend/Reference/Decorations/Framed","docId":"frontend/Reference/Decorations/Framed","unlisted":false},{"type":"link","label":"Grid","href":"/frontend/Reference/Decorations/Grid","docId":"frontend/Reference/Decorations/Grid","unlisted":false},{"type":"link","label":"Iconize","href":"/frontend/Reference/Decorations/Iconize","docId":"frontend/Reference/Decorations/Iconize","unlisted":false},{"type":"link","label":"InputForm","href":"/frontend/Reference/Decorations/InputForm","docId":"frontend/Reference/Decorations/InputForm","unlisted":false},{"type":"link","label":"Interpretation","href":"/frontend/Reference/Decorations/Interpretation","docId":"frontend/Reference/Decorations/Interpretation","unlisted":false},{"type":"link","label":"InterpretationBox","href":"/frontend/Reference/Decorations/InterpretationBox","docId":"frontend/Reference/Decorations/InterpretationBox","unlisted":false},{"type":"link","label":"Ket","href":"/frontend/Reference/Decorations/Ket","docId":"frontend/Reference/Decorations/Ket","unlisted":false},{"type":"link","label":"MakeBoxes","href":"/frontend/Reference/Decorations/MakeBoxes","docId":"frontend/Reference/Decorations/MakeBoxes","unlisted":false},{"type":"link","label":"MatrixForm","href":"/frontend/Reference/Decorations/MatrixForm","docId":"frontend/Reference/Decorations/MatrixForm","unlisted":false},{"type":"link","label":"NumberForm","href":"/frontend/Reference/Decorations/NumberForm","docId":"frontend/Reference/Decorations/NumberForm","unlisted":false},{"type":"link","label":"Pane","href":"/frontend/Reference/Decorations/Pane","docId":"frontend/Reference/Decorations/Pane","unlisted":false},{"type":"link","label":"PaneBox","href":"/frontend/Reference/Decorations/PaneBox","docId":"frontend/Reference/Decorations/PaneBox","unlisted":false},{"type":"link","label":"Quantity","href":"/frontend/Reference/Decorations/Quantity","docId":"frontend/Reference/Decorations/Quantity","unlisted":false},{"type":"link","label":"Row","href":"/frontend/Reference/Decorations/Row","docId":"frontend/Reference/Decorations/Row","unlisted":false},{"type":"link","label":"StandardForm","href":"/frontend/Reference/Decorations/StandardForm","docId":"frontend/Reference/Decorations/StandardForm","unlisted":false},{"type":"link","label":"Style","href":"/frontend/Reference/Decorations/Style","docId":"frontend/Reference/Decorations/Style","unlisted":false},{"type":"link","label":"TableForm","href":"/frontend/Reference/Decorations/TableForm","docId":"frontend/Reference/Decorations/TableForm","unlisted":false},{"type":"link","label":"ViewBox","href":"/frontend/Reference/Decorations/ViewBox","docId":"frontend/Reference/Decorations/ViewBox","unlisted":false},{"type":"link","label":"WLXForm","href":"/frontend/Reference/Decorations/WLXForm","docId":"frontend/Reference/Decorations/WLXForm","unlisted":false}]},{"type":"category","label":"Frontend IO","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"CurrentWindow","href":"/frontend/Reference/Frontend IO/CurrentWindow","docId":"frontend/Reference/Frontend IO/CurrentWindow","unlisted":false},{"type":"link","label":"FrontFetch","href":"/frontend/Reference/Frontend IO/FrontFetch","docId":"frontend/Reference/Frontend IO/FrontFetch","unlisted":false},{"type":"link","label":"FrontFetchAsync","href":"/frontend/Reference/Frontend IO/FrontFetchAsync","docId":"frontend/Reference/Frontend IO/FrontFetchAsync","unlisted":false},{"type":"link","label":"FrontSubmit","href":"/frontend/Reference/Frontend IO/FrontSubmit","docId":"frontend/Reference/Frontend IO/FrontSubmit","unlisted":false},{"type":"link","label":"MetaMarker","href":"/frontend/Reference/Frontend IO/MetaMarker","docId":"frontend/Reference/Frontend IO/MetaMarker","unlisted":false},{"type":"link","label":"WindowObj","href":"/frontend/Reference/Frontend IO/WindowObj","docId":"frontend/Reference/Frontend IO/WindowObj","unlisted":false}]},{"type":"category","label":"Frontend Objects","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"CreateFrontEndObject","href":"/frontend/Reference/Frontend Objects/CreateFrontEndObject","docId":"frontend/Reference/Frontend Objects/CreateFrontEndObject","unlisted":false},{"type":"link","label":"FrontEndExecutable","href":"/frontend/Reference/Frontend Objects/FrontEndExecutable","docId":"frontend/Reference/Frontend Objects/FrontEndExecutable","unlisted":false},{"type":"link","label":"FrontEndRef","href":"/frontend/Reference/Frontend Objects/FrontEndRef","docId":"frontend/Reference/Frontend Objects/FrontEndRef","unlisted":false}]},{"type":"category","label":"GUI","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"EditorView","href":"/frontend/Reference/GUI/EditorView","docId":"frontend/Reference/GUI/EditorView","unlisted":false},{"type":"link","label":"HTMLView","href":"/frontend/Reference/GUI/HTMLView","docId":"frontend/Reference/GUI/HTMLView","unlisted":false},{"type":"link","label":"InputButton","href":"/frontend/Reference/GUI/InputButton","docId":"frontend/Reference/GUI/InputButton","unlisted":false},{"type":"link","label":"InputCheckbox","href":"/frontend/Reference/GUI/InputCheckbox","docId":"frontend/Reference/GUI/InputCheckbox","unlisted":false},{"type":"link","label":"InputEditor","href":"/frontend/Reference/GUI/InputEditor","docId":"frontend/Reference/GUI/InputEditor","unlisted":false},{"type":"link","label":"InputFile","href":"/frontend/Reference/GUI/InputFile","docId":"frontend/Reference/GUI/InputFile","unlisted":false},{"type":"link","label":"InputGroup","href":"/frontend/Reference/GUI/InputGroup","docId":"frontend/Reference/GUI/InputGroup","unlisted":false},{"type":"link","label":"InputJoystick","href":"/frontend/Reference/GUI/InputJoystick","docId":"frontend/Reference/GUI/InputJoystick","unlisted":false},{"type":"link","label":"InputRange","href":"/frontend/Reference/GUI/InputRange","docId":"frontend/Reference/GUI/InputRange","unlisted":false},{"type":"link","label":"InputSelect","href":"/frontend/Reference/GUI/InputSelect","docId":"frontend/Reference/GUI/InputSelect","unlisted":false},{"type":"link","label":"InputTable","href":"/frontend/Reference/GUI/InputTable","docId":"frontend/Reference/GUI/InputTable","unlisted":false},{"type":"link","label":"InputText","href":"/frontend/Reference/GUI/InputText","docId":"frontend/Reference/GUI/InputText","unlisted":false},{"type":"link","label":"Slider","href":"/frontend/Reference/GUI/Slider","docId":"frontend/Reference/GUI/Slider","unlisted":false},{"type":"link","label":"TableView","href":"/frontend/Reference/GUI/TableView","docId":"frontend/Reference/GUI/TableView","unlisted":false},{"type":"link","label":"TextView","href":"/frontend/Reference/GUI/TextView","docId":"frontend/Reference/GUI/TextView","unlisted":false},{"type":"link","label":"WLXEmbed","href":"/frontend/Reference/GUI/WLXEmbed","docId":"frontend/Reference/GUI/WLXEmbed","unlisted":false}]},{"type":"category","label":"Graphics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AbsoluteThickness","href":"/frontend/Reference/Graphics/AbsoluteThickness","docId":"frontend/Reference/Graphics/AbsoluteThickness","unlisted":false},{"type":"link","label":"AnimationFrameListener","href":"/frontend/Reference/Graphics/AnimationFrameListener","docId":"frontend/Reference/Graphics/AnimationFrameListener","unlisted":false},{"type":"link","label":"Arrow","href":"/frontend/Reference/Graphics/Arrow","docId":"frontend/Reference/Graphics/Arrow","unlisted":false},{"type":"link","label":"Arrowheads","href":"/frontend/Reference/Graphics/Arrowheads","docId":"frontend/Reference/Graphics/Arrowheads","unlisted":false},{"type":"link","label":"BezierCurve","href":"/frontend/Reference/Graphics/BezierCurve","docId":"frontend/Reference/Graphics/BezierCurve","unlisted":false},{"type":"link","label":"Circle","href":"/frontend/Reference/Graphics/Circle","docId":"frontend/Reference/Graphics/Circle","unlisted":false},{"type":"link","label":"Directive","href":"/frontend/Reference/Graphics/Directive","docId":"frontend/Reference/Graphics/Directive","unlisted":false},{"type":"link","label":"Disk","href":"/frontend/Reference/Graphics/Disk","docId":"frontend/Reference/Graphics/Disk","unlisted":false},{"type":"link","label":"EdgeForm","href":"/frontend/Reference/Graphics/EdgeForm","docId":"frontend/Reference/Graphics/EdgeForm","unlisted":false},{"type":"link","label":"GraphicsComplex","href":"/frontend/Reference/Graphics/GraphicsComplex","docId":"frontend/Reference/Graphics/GraphicsComplex","unlisted":false},{"type":"link","label":"GrayLevel","href":"/frontend/Reference/Graphics/GrayLevel","docId":"frontend/Reference/Graphics/GrayLevel","unlisted":false},{"type":"link","label":"Hue","href":"/frontend/Reference/Graphics/Hue","docId":"frontend/Reference/Graphics/Hue","unlisted":false},{"type":"link","label":"Image","href":"/frontend/Reference/Graphics/Image","docId":"frontend/Reference/Graphics/Image","unlisted":false},{"type":"link","label":"Inset","href":"/frontend/Reference/Graphics/Inset","docId":"frontend/Reference/Graphics/Inset","unlisted":false},{"type":"link","label":"LABColor","href":"/frontend/Reference/Graphics/LABColor","docId":"frontend/Reference/Graphics/LABColor","unlisted":false},{"type":"link","label":"Line","href":"/frontend/Reference/Graphics/Line","docId":"frontend/Reference/Graphics/Line","unlisted":false},{"type":"link","label":"Offset","href":"/frontend/Reference/Graphics/Offset","docId":"frontend/Reference/Graphics/Offset","unlisted":false},{"type":"link","label":"Opacity","href":"/frontend/Reference/Graphics/Opacity","docId":"frontend/Reference/Graphics/Opacity","unlisted":false},{"type":"link","label":"Point","href":"/frontend/Reference/Graphics/Point","docId":"frontend/Reference/Graphics/Point","unlisted":false},{"type":"link","label":"Polygon","href":"/frontend/Reference/Graphics/Polygon","docId":"frontend/Reference/Graphics/Polygon","unlisted":false},{"type":"link","label":"RGBColor","href":"/frontend/Reference/Graphics/RGBColor","docId":"frontend/Reference/Graphics/RGBColor","unlisted":false},{"type":"link","label":"Raster","href":"/frontend/Reference/Graphics/Raster","docId":"frontend/Reference/Graphics/Raster","unlisted":false},{"type":"link","label":"Rectangle","href":"/frontend/Reference/Graphics/Rectangle","docId":"frontend/Reference/Graphics/Rectangle","unlisted":false},{"type":"link","label":"Rotate","href":"/frontend/Reference/Graphics/Rotate","docId":"frontend/Reference/Graphics/Rotate","unlisted":false},{"type":"link","label":"SVGAttribute","href":"/frontend/Reference/Graphics/SVGAttribute","docId":"frontend/Reference/Graphics/SVGAttribute","unlisted":false},{"type":"link","label":"Show","href":"/frontend/Reference/Graphics/Show","docId":"frontend/Reference/Graphics/Show","unlisted":false},{"type":"link","label":"Style","href":"/frontend/Reference/Graphics/Style","docId":"frontend/Reference/Graphics/Style","unlisted":false},{"type":"link","label":"Text","href":"/frontend/Reference/Graphics/Text","docId":"frontend/Reference/Graphics/Text","unlisted":false},{"type":"link","label":"TransitionDuration","href":"/frontend/Reference/Graphics/TransitionDuration","docId":"frontend/Reference/Graphics/TransitionDuration","unlisted":false},{"type":"link","label":"TransitionType","href":"/frontend/Reference/Graphics/TransitionType","docId":"frontend/Reference/Graphics/TransitionType","unlisted":false},{"type":"link","label":"Translate","href":"/frontend/Reference/Graphics/Translate","docId":"frontend/Reference/Graphics/Translate","unlisted":false},{"type":"link","label":"ZoomAt","href":"/frontend/Reference/Graphics/ZoomAt","docId":"frontend/Reference/Graphics/ZoomAt","unlisted":false}],"href":"/frontend/Reference/Graphics/"},{"type":"category","label":"Graphics3D","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AbsoluteThickness","href":"/frontend/Reference/Graphics3D/AbsoluteThickness","docId":"frontend/Reference/Graphics3D/AbsoluteThickness","unlisted":false},{"type":"link","label":"AnimationFrameListener","href":"/frontend/Reference/Graphics3D/AnimationFrameListener","docId":"frontend/Reference/Graphics3D/AnimationFrameListener","unlisted":false},{"type":"link","label":"Arrow","href":"/frontend/Reference/Graphics3D/Arrow","docId":"frontend/Reference/Graphics3D/Arrow","unlisted":false},{"type":"link","label":"Arrowheads","href":"/frontend/Reference/Graphics3D/Arrowheads","docId":"frontend/Reference/Graphics3D/Arrowheads","unlisted":false},{"type":"link","label":"Cuboid","href":"/frontend/Reference/Graphics3D/Cuboid","docId":"frontend/Reference/Graphics3D/Cuboid","unlisted":false},{"type":"link","label":"Cylinder","href":"/frontend/Reference/Graphics3D/Cylinder","docId":"frontend/Reference/Graphics3D/Cylinder","unlisted":false},{"type":"link","label":"Emissive","href":"/frontend/Reference/Graphics3D/Emissive","docId":"frontend/Reference/Graphics3D/Emissive","unlisted":false},{"type":"link","label":"GeometricTransformation","href":"/frontend/Reference/Graphics3D/GeometricTransformation","docId":"frontend/Reference/Graphics3D/GeometricTransformation","unlisted":false},{"type":"link","label":"GraphicsComplex","href":"/frontend/Reference/Graphics3D/GraphicsComplex","docId":"frontend/Reference/Graphics3D/GraphicsComplex","unlisted":false},{"type":"link","label":"GraphicsGroup","href":"/frontend/Reference/Graphics3D/GraphicsGroup","docId":"frontend/Reference/Graphics3D/GraphicsGroup","unlisted":false},{"type":"link","label":"HemisphereLight","href":"/frontend/Reference/Graphics3D/HemisphereLight","docId":"frontend/Reference/Graphics3D/HemisphereLight","unlisted":false},{"type":"link","label":"Hue","href":"/frontend/Reference/Graphics3D/Hue","docId":"frontend/Reference/Graphics3D/Hue","unlisted":false},{"type":"link","label":"Line","href":"/frontend/Reference/Graphics3D/Line","docId":"frontend/Reference/Graphics3D/Line","unlisted":false},{"type":"link","label":"MeshMaterial","href":"/frontend/Reference/Graphics3D/MeshMaterial","docId":"frontend/Reference/Graphics3D/MeshMaterial","unlisted":false},{"type":"link","label":"MeshPhysicalMaterial","href":"/frontend/Reference/Graphics3D/MeshPhysicalMaterial","docId":"frontend/Reference/Graphics3D/MeshPhysicalMaterial","unlisted":false},{"type":"link","label":"MeshToonMaterial","href":"/frontend/Reference/Graphics3D/MeshToonMaterial","docId":"frontend/Reference/Graphics3D/MeshToonMaterial","unlisted":false},{"type":"link","label":"Metalness","href":"/frontend/Reference/Graphics3D/Metalness","docId":"frontend/Reference/Graphics3D/Metalness","unlisted":false},{"type":"link","label":"Opacity","href":"/frontend/Reference/Graphics3D/Opacity","docId":"frontend/Reference/Graphics3D/Opacity","unlisted":false},{"type":"link","label":"PointLight","href":"/frontend/Reference/Graphics3D/PointLight","docId":"frontend/Reference/Graphics3D/PointLight","unlisted":false},{"type":"link","label":"Polygon","href":"/frontend/Reference/Graphics3D/Polygon","docId":"frontend/Reference/Graphics3D/Polygon","unlisted":false},{"type":"link","label":"RGBColor","href":"/frontend/Reference/Graphics3D/RGBColor","docId":"frontend/Reference/Graphics3D/RGBColor","unlisted":false},{"type":"link","label":"Roughness","href":"/frontend/Reference/Graphics3D/Roughness","docId":"frontend/Reference/Graphics3D/Roughness","unlisted":false},{"type":"link","label":"Shadows","href":"/frontend/Reference/Graphics3D/Shadows","docId":"frontend/Reference/Graphics3D/Shadows","unlisted":false},{"type":"link","label":"Sphere","href":"/frontend/Reference/Graphics3D/Sphere","docId":"frontend/Reference/Graphics3D/Sphere","unlisted":false},{"type":"link","label":"SpotLight","href":"/frontend/Reference/Graphics3D/SpotLight","docId":"frontend/Reference/Graphics3D/SpotLight","unlisted":false},{"type":"link","label":"Tetrahedron","href":"/frontend/Reference/Graphics3D/Tetrahedron","docId":"frontend/Reference/Graphics3D/Tetrahedron","unlisted":false},{"type":"link","label":"Tube","href":"/frontend/Reference/Graphics3D/Tube","docId":"frontend/Reference/Graphics3D/Tube","unlisted":false}],"href":"/frontend/Reference/Graphics3D/"},{"type":"category","label":"Interpreter","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Alert","href":"/frontend/Reference/Interpreter/Alert","docId":"frontend/Reference/Interpreter/Alert","unlisted":false},{"type":"link","label":"AttachDOM","href":"/frontend/Reference/Interpreter/AttachDOM","docId":"frontend/Reference/Interpreter/AttachDOM","unlisted":false},{"type":"link","label":"FrontEditorSelected","href":"/frontend/Reference/Interpreter/FrontEditorSelected","docId":"frontend/Reference/Interpreter/FrontEditorSelected","unlisted":false},{"type":"link","label":"FrontEndVirtual","href":"/frontend/Reference/Interpreter/FrontEndVirtual","docId":"frontend/Reference/Interpreter/FrontEndVirtual","unlisted":false},{"type":"link","label":"Offload","href":"/frontend/Reference/Interpreter/Offload","docId":"frontend/Reference/Interpreter/Offload","unlisted":false},{"type":"link","label":"OffloadFromEventObject","href":"/frontend/Reference/Interpreter/OffloadFromEventObject","docId":"frontend/Reference/Interpreter/OffloadFromEventObject","unlisted":false},{"type":"link","label":"ReadClipboard","href":"/frontend/Reference/Interpreter/ReadClipboard","docId":"frontend/Reference/Interpreter/ReadClipboard","unlisted":false},{"type":"link","label":"WindowScope","href":"/frontend/Reference/Interpreter/WindowScope","docId":"frontend/Reference/Interpreter/WindowScope","unlisted":false}]},{"type":"category","label":"Misc","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Async","href":"/frontend/Reference/Misc/Async","docId":"frontend/Reference/Misc/Async","unlisted":false},{"type":"link","label":"Events","href":"/frontend/Reference/Misc/Events","docId":"frontend/Reference/Misc/Events","unlisted":false},{"type":"link","label":"Language","href":"/frontend/Reference/Misc/Language","docId":"frontend/Reference/Misc/Language","unlisted":false},{"type":"link","label":"Promise","href":"/frontend/Reference/Misc/Promise","docId":"frontend/Reference/Misc/Promise","unlisted":false}]},{"type":"category","label":"Plotly","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ListLinePlotly","href":"/frontend/Reference/Plotly/ListLinePlotly","docId":"frontend/Reference/Plotly/ListLinePlotly","unlisted":false},{"type":"link","label":"PlotlyAddTraces","href":"/frontend/Reference/Plotly/PlotlyAddTraces","docId":"frontend/Reference/Plotly/PlotlyAddTraces","unlisted":false},{"type":"link","label":"PlotlyAnimate","href":"/frontend/Reference/Plotly/PlotlyAnimate","docId":"frontend/Reference/Plotly/PlotlyAnimate","unlisted":false},{"type":"link","label":"PlotlyDeleteTraces","href":"/frontend/Reference/Plotly/PlotlyDeleteTraces","docId":"frontend/Reference/Plotly/PlotlyDeleteTraces","unlisted":false},{"type":"link","label":"PlotlyExtendTraces","href":"/frontend/Reference/Plotly/PlotlyExtendTraces","docId":"frontend/Reference/Plotly/PlotlyExtendTraces","unlisted":false},{"type":"link","label":"PlotlyInstance","href":"/frontend/Reference/Plotly/PlotlyInstance","docId":"frontend/Reference/Plotly/PlotlyInstance","unlisted":false},{"type":"link","label":"PlotlyPrependTraces","href":"/frontend/Reference/Plotly/PlotlyPrependTraces","docId":"frontend/Reference/Plotly/PlotlyPrependTraces","unlisted":false}],"href":"/frontend/Reference/Plotly/"},{"type":"category","label":"Plotting Functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ArrayPlot","href":"/frontend/Reference/Plotting Functions/ArrayPlot","docId":"frontend/Reference/Plotting Functions/ArrayPlot","unlisted":false},{"type":"link","label":"BarChart","href":"/frontend/Reference/Plotting Functions/BarChart","docId":"frontend/Reference/Plotting Functions/BarChart","unlisted":false},{"type":"link","label":"BubbleChart","href":"/frontend/Reference/Plotting Functions/BubbleChart","docId":"frontend/Reference/Plotting Functions/BubbleChart","unlisted":false},{"type":"link","label":"ContourPlot","href":"/frontend/Reference/Plotting Functions/ContourPlot","docId":"frontend/Reference/Plotting Functions/ContourPlot","unlisted":false},{"type":"link","label":"ContourPlot3D","href":"/frontend/Reference/Plotting Functions/ContourPlot3D","docId":"frontend/Reference/Plotting Functions/ContourPlot3D","unlisted":false},{"type":"link","label":"DateListPlot","href":"/frontend/Reference/Plotting Functions/DateListPlot","docId":"frontend/Reference/Plotting Functions/DateListPlot","unlisted":false},{"type":"link","label":"DensityPlot","href":"/frontend/Reference/Plotting Functions/DensityPlot","docId":"frontend/Reference/Plotting Functions/DensityPlot","unlisted":false},{"type":"link","label":"ListContourPlot","href":"/frontend/Reference/Plotting Functions/ListContourPlot","docId":"frontend/Reference/Plotting Functions/ListContourPlot","unlisted":false},{"type":"link","label":"ListCurvePathPlot","href":"/frontend/Reference/Plotting Functions/ListCurvePathPlot","docId":"frontend/Reference/Plotting Functions/ListCurvePathPlot","unlisted":false},{"type":"link","label":"ListLinePlot","href":"/frontend/Reference/Plotting Functions/ListLinePlot","docId":"frontend/Reference/Plotting Functions/ListLinePlot","unlisted":false},{"type":"link","label":"ListPlot3D","href":"/frontend/Reference/Plotting Functions/ListPlot3D","docId":"frontend/Reference/Plotting Functions/ListPlot3D","unlisted":false},{"type":"link","label":"ListStepPlot","href":"/frontend/Reference/Plotting Functions/ListStepPlot","docId":"frontend/Reference/Plotting Functions/ListStepPlot","unlisted":false},{"type":"link","label":"ListVectorPlot","href":"/frontend/Reference/Plotting Functions/ListVectorPlot","docId":"frontend/Reference/Plotting Functions/ListVectorPlot","unlisted":false},{"type":"link","label":"ManipulatePlot","href":"/frontend/Reference/Plotting Functions/ManipulatePlot","docId":"frontend/Reference/Plotting Functions/ManipulatePlot","unlisted":false},{"type":"link","label":"MatrixPlot","href":"/frontend/Reference/Plotting Functions/MatrixPlot","docId":"frontend/Reference/Plotting Functions/MatrixPlot","unlisted":false},{"type":"link","label":"Plot","href":"/frontend/Reference/Plotting Functions/Plot","docId":"frontend/Reference/Plotting Functions/Plot","unlisted":false},{"type":"link","label":"Plot3D","href":"/frontend/Reference/Plotting Functions/Plot3D","docId":"frontend/Reference/Plotting Functions/Plot3D","unlisted":false},{"type":"link","label":"Plotly","href":"/frontend/Reference/Plotting Functions/Plotly","docId":"frontend/Reference/Plotting Functions/Plotly","unlisted":false},{"type":"link","label":"RandomImage","href":"/frontend/Reference/Plotting Functions/RandomImage","docId":"frontend/Reference/Plotting Functions/RandomImage","unlisted":false},{"type":"link","label":"SphericalPlot3D","href":"/frontend/Reference/Plotting Functions/SphericalPlot3D","docId":"frontend/Reference/Plotting Functions/SphericalPlot3D","unlisted":false},{"type":"link","label":"StackedListPlot","href":"/frontend/Reference/Plotting Functions/StackedListPlot","docId":"frontend/Reference/Plotting Functions/StackedListPlot","unlisted":false},{"type":"link","label":"StreamPlot","href":"/frontend/Reference/Plotting Functions/StreamPlot","docId":"frontend/Reference/Plotting Functions/StreamPlot","unlisted":false},{"type":"link","label":"VectorPlot","href":"/frontend/Reference/Plotting Functions/VectorPlot","docId":"frontend/Reference/Plotting Functions/VectorPlot","unlisted":false},{"type":"link","label":"VectorPlot3D","href":"/frontend/Reference/Plotting Functions/VectorPlot3D","docId":"frontend/Reference/Plotting Functions/VectorPlot3D","unlisted":false}]},{"type":"category","label":"Slides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"SlideEventListener","href":"/frontend/Reference/Slides/SlideEventListener","docId":"frontend/Reference/Slides/SlideEventListener","unlisted":false}],"href":"/frontend/Reference/Slides/"},{"type":"category","label":"Sound","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Audio","href":"/frontend/Reference/Sound/Audio","docId":"frontend/Reference/Sound/Audio","unlisted":false},{"type":"link","label":"ListPlay","href":"/frontend/Reference/Sound/ListPlay","docId":"frontend/Reference/Sound/ListPlay","unlisted":false},{"type":"link","label":"PCMPlayer","href":"/frontend/Reference/Sound/PCMPlayer","docId":"frontend/Reference/Sound/PCMPlayer","unlisted":false}]}]}]},"docs":{"broken links output":{"id":"broken links output","title":"broken links output","description":"Don\'t forget that creating the file from here may create the file in the wrong directory!"},"frontend/Advanced/Command palette/AI Assistant":{"id":"frontend/Advanced/Command palette/AI Assistant","title":"AI Assistant","description":"FAQ","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Advanced animation":{"id":"frontend/Advanced/Dynamics/Advanced animation","title":"Advanced animation","description":"Basics","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Indicators":{"id":"frontend/Advanced/Dynamics/Indicators","title":"Indicators","description":"While evaluating some experimental data, some live indicators comes handy","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Offloading calculations":{"id":"frontend/Advanced/Dynamics/Offloading calculations","title":"Offloading calculations","description":"Leaving some calculations to the frontend\'s side can reduce an overhead from the communication between the frontend and the Kernel and also make your code much cleaner at the same time.","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Performance tips":{"id":"frontend/Advanced/Dynamics/Performance tips","title":"Performance tips","description":"Performance tips","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Prototyping":{"id":"frontend/Advanced/Dynamics/Prototyping","title":"Prototyping","description":"Imagine we want to recreate this background used in some presentation","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Raster animation":{"id":"frontend/Advanced/Dynamics/Raster animation","title":"Raster animation","description":"Raster graphics is not well optimized on WLJS Notebook for now. Consider to use it as rarely as possible.","sidebar":"tutorialSidebar"},"frontend/Advanced/Dynamics/Scoping":{"id":"frontend/Advanced/Dynamics/Scoping","title":"Scoping","description":"Since Module adds Temporal attribute to your symbols, it is not clear when and how your dynamic symbols will be purged from the Kernel. Therefore use LeakyModule to scope all dynamic symbols.","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Dynamic symbols generation":{"id":"frontend/Advanced/Events system/Dynamic symbols generation","title":"Dynamic symbols generation","description":"One can combine the power of Interpretation and Offload to generate dynamic symbols, which can be controlled by its syntax sugar or decoration box!","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/event-generators":{"id":"frontend/Advanced/Events system/event-generators","title":"Event system","description":"As a short summary - where you can use event-handlers","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Mouse and keyboard":{"id":"frontend/Advanced/Events system/Mouse and keyboard","title":"Mouse and keyboard","description":"In this section, we discuss ways in which a user can interact with dynamic elements, providing different types of input.","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Notebook, cells and windows":{"id":"frontend/Advanced/Events system/Notebook, cells and windows","title":"Notebook, cells and windows","description":"Cells and notebook objects can also emit events and there is no need in cloning event objects to assign multiple handlers (it is done automatically once an EventHandler method is applied).","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/Parallel kernels":{"id":"frontend/Advanced/Events system/Parallel kernels","title":"Parallel kernels","description":"","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/promises":{"id":"frontend/Advanced/Events system/promises","title":"Promises","description":"This chapter is in development. Please see References Promise","sidebar":"tutorialSidebar"},"frontend/Advanced/Events system/routing":{"id":"frontend/Advanced/Events system/routing","title":"Routing","description":"Remember the number 1 rule: 1 pattern of an event object = 1 handler","sidebar":"tutorialSidebar"},"frontend/Advanced/Frontend interpretation/Editor manipulation":{"id":"frontend/Advanced/Frontend interpretation/Editor manipulation","title":"Editor manipulation","description":"One can manipulate the content of the current selection using FrontEditorSelected expression evaluated with FrontSubmit or FrontFetch","sidebar":"tutorialSidebar"},"frontend/Advanced/Frontend interpretation/Frontend Objects":{"id":"frontend/Advanced/Frontend interpretation/Frontend Objects","title":"Frontend Objects","description":"This is a core concept of all interactive elements on frontend","sidebar":"tutorialSidebar"},"frontend/Advanced/Frontend interpretation/WLJS Functions":{"id":"frontend/Advanced/Frontend interpretation/WLJS Functions","title":"WLJS Functions","description":"Let us start from the simplest stuff","sidebar":"tutorialSidebar"},"frontend/Advanced/Graphics/Complex":{"id":"frontend/Advanced/Graphics/Complex","title":"Complex","description":"","sidebar":"tutorialSidebar"},"frontend/Advanced/Graphics/Controls":{"id":"frontend/Advanced/Graphics/Controls","title":"Controls","description":"Programmatic pan and zoom","sidebar":"tutorialSidebar"},"frontend/Advanced/Javascript/Communication":{"id":"frontend/Advanced/Javascript/Communication","title":"Communication","description":"Here we will highlight a few methods for communication with Javascript","sidebar":"tutorialSidebar"},"frontend/Advanced/Objects/Creating new type":{"id":"frontend/Advanced/Objects/Creating new type","title":"1. Creating new type","description":"OOP elements fit Wolfram Language very nicely if you thing about in more general sense as an abstract isolated entities of something which can communicate with each other using messages and have their own internal states.","sidebar":"tutorialSidebar"},"frontend/Advanced/Objects/Dynamic decorations":{"id":"frontend/Advanced/Objects/Dynamic decorations","title":"3. Dynamic decorations","description":"In this part we will try to synchronize the state of our symbols or objects with corresponding decorations we created in the previous part.","sidebar":"tutorialSidebar"},"frontend/Advanced/Objects/Static decorations":{"id":"frontend/Advanced/Objects/Static decorations","title":"2. Static decorations","description":"One of the feature advantage of Wolfram Mathematica and WLJS Notebook is a multimodal cells with a powerful syntax sugar. A visual representation of an instance of an object makes the programming experience more educative for sure.","sidebar":"tutorialSidebar"},"frontend/Advanced/Packages":{"id":"frontend/Advanced/Packages","title":"Packages","description":"By the default the following packages are loaded to the Kernel on startup","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/animations":{"id":"frontend/Advanced/Slides/animations","title":"Graphics animation & interaction","description":"Interactive plots","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Backgrounds":{"id":"frontend/Advanced/Slides/Backgrounds","title":"Backgrounds","description":"There is a few way on how you can put a background image for your slides","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/components":{"id":"frontend/Advanced/Slides/components","title":"Components","description":"Making presentation is quite repetitive process. It is quite common to have some common element shared between different slides.","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/crypto-text":{"id":"frontend/Advanced/Slides/crypto-text","title":"Crypto text","description":"Here we will create a component to make the following effect possible on a slide","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/embed-wl":{"id":"frontend/Advanced/Slides/embed-wl","title":"Code highlighting","description":"Since it support WLX syntax as well, one can combine the copied text from the normal Wolfram Language cell into a EditorView component","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Fragments":{"id":"frontend/Advanced/Slides/Fragments","title":"Fragments","description":"This allows to reveal, remove or highlight some objects on a slide using built-in animation framework of RevealJS.","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Slides":{"id":"frontend/Advanced/Slides/Slides","title":"Slides","description":"You can use pure Markdown, HTML, CSS or WLX languages while making slides","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Styling":{"id":"frontend/Advanced/Slides/Styling","title":"Styling","description":"The most basics styling","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/tables":{"id":"frontend/Advanced/Slides/tables","title":"Large tables of data","description":"One can utilize component InputTable, that originally stands for editing table, but can be used just to view them as well. The good thing about it that it supports infinitely large tables since the actual content is loaded by parts (and unloads if no longer needed)","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Transitions":{"id":"frontend/Advanced/Slides/Transitions","title":"Transitions","description":"There is a built-in engine for transitions between slides in RevealJS","sidebar":"tutorialSidebar"},"frontend/Advanced/Slides/Widgets":{"id":"frontend/Advanced/Slides/Widgets","title":"Widgets","description":"This was not supposed to be a separate category in this section, but for the sake providing more diverse examples we created it.","sidebar":"tutorialSidebar"},"frontend/Advanced/Syntax sugar/Decorating symbols":{"id":"frontend/Advanced/Syntax sugar/Decorating symbols","title":"Decorating symbols","description":"Giving a rich visual representation to a symbol while programming elevates the whole user experience to another level. There is couple of ways on how to do it in WLJS Notebook.","sidebar":"tutorialSidebar"},"frontend/Cell types/Files":{"id":"frontend/Cell types/Files","title":"Files","description":"Image viewer","sidebar":"tutorialSidebar"},"frontend/Cell types/HTML":{"id":"frontend/Cell types/HTML","title":"HTML","description":"Github repo","sidebar":"tutorialSidebar"},"frontend/Cell types/Javascript":{"id":"frontend/Cell types/Javascript","title":"Javascript","description":"Try to evaluate","sidebar":"tutorialSidebar"},"frontend/Cell types/Many more":{"id":"frontend/Cell types/Many more","title":"Many more","description":"You can extend output cell types via a few lines of code and you favorite framework / package","sidebar":"tutorialSidebar"},"frontend/Cell types/Markdown":{"id":"frontend/Cell types/Markdown","title":"Markdown","description":"Autoupload images","sidebar":"tutorialSidebar"},"frontend/Cell types/Slides":{"id":"frontend/Cell types/Slides","title":"Slides","description":"One can also make presentations using WLJS Frontend. This is provided by wljs-revealjs, that integrates RevealJS and WLX language to provide components approach on making presentations as well as add interactivity and all features of frontend\'s cells like this","sidebar":"tutorialSidebar"},"frontend/Cell types/WLX":{"id":"frontend/Cell types/WLX","title":"WLX","description":"It allows to use Wolfram Language XML in your cell. It comes handy when making a a complex cell structure or stylizing it using the power of HTML/CSS/JS.","sidebar":"tutorialSidebar"},"frontend/Cell types/Wolfram Language":{"id":"frontend/Cell types/Wolfram Language","title":"Wolfram Language","description":"Github repo","sidebar":"tutorialSidebar"},"frontend/Command palette":{"id":"frontend/Command palette","title":"Command palette","description":"The big power of customization comes with a powerful command palette system. This is provided by a plugin shipped with a core package.","sidebar":"tutorialSidebar"},"frontend/Dynamics":{"id":"frontend/Dynamics","title":"Dynamics","description":"The way how dynamics work is quite different compared to Wolfram Mathematica. The key changes were made for the sake of performance and control (or imagination of @JerryI - maintainer)","sidebar":"tutorialSidebar"},"frontend/Export/HTML file":{"id":"frontend/Export/HTML file","title":"HTML file","description":"Since the interpretation of the output cells happens in a browser, then we can pack all data into a single .html file and easily share it with other people by clicking on the icon","sidebar":"tutorialSidebar"},"frontend/Export/PDF":{"id":"frontend/Export/PDF","title":"PDF","description":"Is in development","sidebar":"tutorialSidebar"},"frontend/Guidelines":{"id":"frontend/Guidelines","title":"Guidelines","description":"Still populating with a content","sidebar":"tutorialSidebar"},"frontend/instruction":{"id":"frontend/instruction","title":"Quick start","description":"Wolfram Language Notebook requires wolframscript (see Freeware Wolfram Engine or Wolfram Kernel) installed on your PC/Mac.","sidebar":"tutorialSidebar"},"frontend/Overview":{"id":"frontend/Overview","title":"Overview","description":"The whole notebook interface is made using plain Javascript, HTML powered by a Wolfram WebServer and WLX running locally on a Wolfram Kernel. It means you can work remotely by running a server anywhere you want (see how at instruction).","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/Beep":{"id":"frontend/Reference/Cells and Notebook/Beep","title":"Beep","description":"make a sound notification. It does not require any context or window object.","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/CellPrint":{"id":"frontend/Reference/Cells and Notebook/CellPrint","title":"CellPrint","description":"Creates a new cell with a given content in a notebook","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/EvaluationCell":{"id":"frontend/Reference/Cells and Notebook/EvaluationCell","title":"EvaluationCell","description":"returns a source input-cell as a RemoteCellObj from the evaluation context","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/EvaluationNotebook":{"id":"frontend/Reference/Cells and Notebook/EvaluationNotebook","title":"EvaluationNotebook","description":"returns a RemoteCellObj object of a current notebook from the evaluation context","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/HapticFeedback":{"id":"frontend/Reference/Cells and Notebook/HapticFeedback","title":"HapticFeedback","description":"Only for MacOS users and Desktop Application","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/NotebookDirectory":{"id":"frontend/Reference/Cells and Notebook/NotebookDirectory","title":"NotebookDirectory","description":"returns a file path to the current notebook.","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/NotebookStore":{"id":"frontend/Reference/Cells and Notebook/NotebookStore","title":"NotebookStore","description":"An access to a permanent local notebook storage. You can carry the raw data within the notebook, regardless if it has been exported to HTML file and imported back.","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/ParentCell":{"id":"frontend/Reference/Cells and Notebook/ParentCell","title":"ParentCell","description":"fetches RemoteCellObj for a parent input cell of a given cell","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/RemoteCellObj":{"id":"frontend/Reference/Cells and Notebook/RemoteCellObj","title":"RemoteCellObj","description":"a remote representation of a notebook cell for evaluation Kernel","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/RemoteNotebook":{"id":"frontend/Reference/Cells and Notebook/RemoteNotebook","title":"RemoteNotebook","description":"represents notebook object for a evaluation Kernel","sidebar":"tutorialSidebar"},"frontend/Reference/Cells and Notebook/ResultCell":{"id":"frontend/Reference/Cells and Notebook/ResultCell","title":"ResultCell","description":"returns an future output cell identifier as an RemoteCellObj even if it was not yet created from the evaluation context","sidebar":"tutorialSidebar"},"frontend/Reference/Dataset/Dataset":{"id":"frontend/Reference/Dataset/Dataset","title":"Dataset","description":"represents a structured dataset based on a hierarchy of lists and associations.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/ArrangeSummaryBox":{"id":"frontend/Reference/Decorations/ArrangeSummaryBox","title":"ArrangeSummaryBox","description":"A decoration for summarizing internals of any WL expression to a human-readable form","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/BoxBox":{"id":"frontend/Reference/Decorations/BoxBox","title":"BoxBox","description":"Used to decorate Wolfram Expression with custom HTML elements","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Bra":{"id":"frontend/Reference/Decorations/Bra","title":"Bra","description":"the same as Ket","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Column":{"id":"frontend/Reference/Decorations/Column","title":"Column","description":"shows the list of any Wolfram Expressions in a single column acting as a decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Framed":{"id":"frontend/Reference/Decorations/Framed","title":"Framed","description":"Acts like a Style box, but wrapped into a frame","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Grid":{"id":"frontend/Reference/Decorations/Grid","title":"Grid","description":"Spawns a grid of WL editors with an arbitrary objects inside","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Iconize":{"id":"frontend/Reference/Decorations/Iconize","title":"Iconize","description":"compresses any arbitrary expr into an icon (encoded as base64 gzip string or a file)","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/InputForm":{"id":"frontend/Reference/Decorations/InputForm","title":"InputForm","description":"Prevents decorations to be set","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Interpretation":{"id":"frontend/Reference/Decorations/Interpretation","title":"Interpretation","description":"allows to alter the displayed expression","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/InterpretationBox":{"id":"frontend/Reference/Decorations/InterpretationBox","title":"InterpretationBox","description":"Make a formatting structure whose interpretation is not based on its appearance","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Ket":{"id":"frontend/Reference/Decorations/Ket","title":"Ket","description":"represents ket-vector from Quantum Mechanics","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/MakeBoxes":{"id":"frontend/Reference/Decorations/MakeBoxes","title":"MakeBoxes","description":"an output handler expression acting as UpValues for other expression converts it to a decorated form, which is then rendered by an editor.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/MatrixForm":{"id":"frontend/Reference/Decorations/MatrixForm","title":"MatrixForm","description":"shows the given matrix (list of lists) in a traditional form using Grid decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/NumberForm":{"id":"frontend/Reference/Decorations/NumberForm","title":"NumberForm","description":"prints with approximate real numbers","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Pane":{"id":"frontend/Reference/Decorations/Pane","title":"Pane","description":"displays as a pane containing\xa0expr.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/PaneBox":{"id":"frontend/Reference/Decorations/PaneBox","title":"PaneBox","description":"A low-level primitive produced by Pane. It can be used in MakeBoxes directly to decorate symbols acting as a padded container with a defined width and height","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Quantity":{"id":"frontend/Reference/Decorations/Quantity","title":"Quantity","description":"represents a quantity with size\xa0magnitude\xa0and unit specified by unit.","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Row":{"id":"frontend/Reference/Decorations/Row","title":"Row","description":"shows the list of any Wolfram Expressions in a row acting as a decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/StandardForm":{"id":"frontend/Reference/Decorations/StandardForm","title":"StandardForm","description":"A standard form for representing math, colors, dates, graphics, which comes with visual decorations","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/Style":{"id":"frontend/Reference/Decorations/Style","title":"Style","description":"Styling box used as a decoration for an arbitrary Wolfram Expressions","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/TableForm":{"id":"frontend/Reference/Decorations/TableForm","title":"TableForm","description":"shows the given table (list) in a traditional form using Grid decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/ViewBox":{"id":"frontend/Reference/Decorations/ViewBox","title":"ViewBox","description":"Used to replace wrapped Wolfram Expression with custom HTML/JS elements","sidebar":"tutorialSidebar"},"frontend/Reference/Decorations/WLXForm":{"id":"frontend/Reference/Decorations/WLXForm","title":"WLXForm","description":"A standard form used for representing Wolfram expressions on Slides and in WLX cells","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/CurrentWindow":{"id":"frontend/Reference/Frontend IO/CurrentWindow","title":"CurrentWindow","description":"returns a window socket object from the evaluation context. The object corresponds to the current socket channel used for the communication with a window, where a cell is evaluated.","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/FrontFetch":{"id":"frontend/Reference/Frontend IO/FrontFetch","title":"FrontFetch","description":"is a synchronous version of FrontFetchAsync, that uses WaitAll to pause an execution while waiting for an incoming data","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/FrontFetchAsync":{"id":"frontend/Reference/Frontend IO/FrontFetchAsync","title":"FrontFetchAsync","description":"asynchronously evaluates (aka FrontSubmit) and fetches the resulting expression back to the Wolfram Kernel from the frontend (browser)","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/FrontSubmit":{"id":"frontend/Reference/Frontend IO/FrontSubmit","title":"FrontSubmit","description":"Sends an expression to be executed on WLJS Interpreter (frontend / browser)","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/MetaMarker":{"id":"frontend/Reference/Frontend IO/MetaMarker","title":"MetaMarker","description":"an object used to mark frontend instances or select them and their contexts to be used later with FrontSubmit. One can think about if it assigns a given identifier to a group of expressions and saves their context of the evaluation.","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend IO/WindowObj":{"id":"frontend/Reference/Frontend IO/WindowObj","title":"WindowObj","description":"an internal representation of a current window (can be a notebook or projected cell), that contains the information of a live connection to it used by FrontSubmit, FrontFetch, Slides and other functions.","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend Objects/CreateFrontEndObject":{"id":"frontend/Reference/Frontend Objects/CreateFrontEndObject","title":"CreateFrontEndObject","description":"creates a reference to the inner expression and stores it into frontend objects storage as JSON expression shared with Kernel and Notebook","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend Objects/FrontEndExecutable":{"id":"frontend/Reference/Frontend Objects/FrontEndExecutable","title":"FrontEndExecutable","description":"A reference to a frontend object (see CreateFrontEndObject) similar to FrontEndRef, which is replaced on the output by a decorative widget - ViewBox with FrontEndRef as an inner expression","sidebar":"tutorialSidebar"},"frontend/Reference/Frontend Objects/FrontEndRef":{"id":"frontend/Reference/Frontend Objects/FrontEndRef","title":"FrontEndRef","description":"An executable reference to a frontend object (see CreateFrontEndObject), that converts JSON expression back to Wolfram Language","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/AbsoluteThickness":{"id":"frontend/Reference/Graphics/AbsoluteThickness","title":"AbsoluteThickness","description":"is used to control the visible thickness of lines used in Graphics. The displayed is not affected by scaling or zooming the plot.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/AnimationFrameListener":{"id":"frontend/Reference/Graphics/AnimationFrameListener","title":"AnimationFrameListener","description":"signals once the beginning of a browser\'s frame (depends on OS settings, hardware). It can be reloaded again after any changes of dependent dynamic symbols similar to requestAnimationFrame.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Arrow":{"id":"frontend/Reference/Graphics/Arrow","title":"Arrow","description":"Plots an arrow with a fixed head-size from point 1 to point 2","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Arrowheads":{"id":"frontend/Reference/Graphics/Arrowheads","title":"Arrowheads","description":"specifies an absolute side of an Arrow head. The default value is 0.04","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/BezierCurve":{"id":"frontend/Reference/Graphics/BezierCurve","title":"BezierCurve","description":"plots quadratic Bezier curve using every first point as a starting point and forth point as a destination. If there are more than 4 points provided, it will split them into multiple curves","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Circle":{"id":"frontend/Reference/Graphics/Circle","title":"Circle","description":"draws a circle with a given radius r","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Directive":{"id":"frontend/Reference/Graphics/Directive","title":"Directive","description":"Used for styling plots or 2D graphics","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Disk":{"id":"frontend/Reference/Graphics/Disk","title":"Disk","description":"draws a filled Circle","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/EdgeForm":{"id":"frontend/Reference/Graphics/EdgeForm","title":"EdgeForm","description":"specifies stroke color for a primitive","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Graphics":{"id":"frontend/Reference/Graphics/Graphics","title":"Graphics","description":"represents a two-dimensional graphical image. This is a fundamental expression, which is produced by all 2D plotting functions","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/GraphicsComplex":{"id":"frontend/Reference/Graphics/GraphicsComplex","title":"GraphicsComplex","description":"represents a graphics complex in which coordinates given as integers\xa0$i$\xa0in graphics primitives in\xa0data\xa0are taken to be\xa0pti.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/GrayLevel":{"id":"frontend/Reference/Graphics/GrayLevel","title":"GrayLevel","description":"where n is in a range of 0-1","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Hue":{"id":"frontend/Reference/Graphics/Hue","title":"Hue","description":"represents color as HUE, Saturation, Brightness (HSV), where","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Image":{"id":"frontend/Reference/Graphics/Image","title":"Image","description":"Represents a raster image and plots the list of pixel\'s colors to a canvas used in notebooks","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Inset":{"id":"frontend/Reference/Graphics/Inset","title":"Inset","description":"a graphics object, that allows to put another Graphics into the canvas. pos has to be a 2D vector, that specifies the position of the inset.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/LABColor":{"id":"frontend/Reference/Graphics/LABColor","title":"LABColor","description":"represents a color in the CIELAB color space with lightness\xa0l\xa0and color components\xa0a\xa0and\xa0b.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Line":{"id":"frontend/Reference/Graphics/Line","title":"Line","description":"the representation of a line going though the points {x1,y1}, {x2,y2}","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Offset":{"id":"frontend/Reference/Graphics/Offset","title":"Offset","description":"adds an offset to an inner graphics primitive","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Opacity":{"id":"frontend/Reference/Graphics/Opacity","title":"Opacity","description":"defines opacity for primitives (from 0 to 1)","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Point":{"id":"frontend/Reference/Graphics/Point","title":"Point","description":"is a graphics and geometry primitive that represents a point at\xa0p,","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Polygon":{"id":"frontend/Reference/Graphics/Polygon","title":"Polygon","description":"represents a filled polygon with points p1, p2...","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Raster":{"id":"frontend/Reference/Graphics/Raster","title":"Raster","description":"Is not fully supported. Fallback to SVG rectangles","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Rectangle":{"id":"frontend/Reference/Graphics/Rectangle","title":"Rectangle","description":"represents a basic rectangle","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/RGBColor":{"id":"frontend/Reference/Graphics/RGBColor","title":"RGBColor","description":"represents color","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Rotate":{"id":"frontend/Reference/Graphics/Rotate","title":"Rotate","description":"rotates graphics primitive or list of primitives g by angle","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Show":{"id":"frontend/Reference/Graphics/Show","title":"Show","description":"Only partially supported wljs-graphics-d3 for now","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Style":{"id":"frontend/Reference/Graphics/Style","title":"Style","description":"A wrapper that can be used for Text . The following options can be provided","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/SVGAttribute":{"id":"frontend/Reference/Graphics/SVGAttribute","title":"SVGAttribute","description":"Allows to directly set SVG attribute to a 2D graphics object","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Text":{"id":"frontend/Reference/Graphics/Text","title":"Text","description":"Represents an arbitrary text label placed as a Graphics object","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/TransitionDuration":{"id":"frontend/Reference/Graphics/TransitionDuration","title":"TransitionDuration","description":"acts as an option and a context modifier for Graphics that tells the transition duration for graphics primitives (coordinate changes, and etc) once one of dependencies has been updated","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/TransitionType":{"id":"frontend/Reference/Graphics/TransitionType","title":"TransitionType","description":"acts as an option and a context modifier for Graphics that tells the transition function for graphics primitives (coordinate changes, and etc) once one of dependencies has been updated","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/Translate":{"id":"frontend/Reference/Graphics/Translate","title":"Translate","description":"translates graphics primitive by pos","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics/ZoomAt":{"id":"frontend/Reference/Graphics/ZoomAt","title":"ZoomAt","description":"zooms k times at the given position position.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/AbsoluteThickness":{"id":"frontend/Reference/Graphics3D/AbsoluteThickness","title":"AbsoluteThickness","description":"defines an thickness or various 3D primitives such as Arrow, Line and etc","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/AnimationFrameListener":{"id":"frontend/Reference/Graphics3D/AnimationFrameListener","title":"AnimationFrameListener","description":"the same as for AnimationFrameListener, but in the context of 2D graphics","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Arrow":{"id":"frontend/Reference/Graphics3D/Arrow","title":"Arrow","description":"draws an arrow connected with a line","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Arrowheads":{"id":"frontend/Reference/Graphics3D/Arrowheads","title":"Arrowheads","description":"or","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Cuboid":{"id":"frontend/Reference/Graphics3D/Cuboid","title":"Cuboid","description":"draws a hypercube from pmin to pmax","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Cylinder":{"id":"frontend/Reference/Graphics3D/Cylinder","title":"Cylinder","description":"represents a cylinder with a radius 1","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Emissive":{"id":"frontend/Reference/Graphics3D/Emissive","title":"Emissive","description":"specifies weather the material emits light","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/GeometricTransformation":{"id":"frontend/Reference/Graphics3D/GeometricTransformation","title":"GeometricTransformation","description":"applies general matrix3x3 to each vertex of an object, i.e. replacing each point p by matrix3x3.p","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Graphics3D":{"id":"frontend/Reference/Graphics3D/Graphics3D","title":"Graphics3D","description":"represents 3D graphical image.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/GraphicsComplex":{"id":"frontend/Reference/Graphics3D/GraphicsComplex","title":"GraphicsComplex","description":"represents an efficient graphics structure for drawing complex 3D objects (or 2D - see GraphicsComplex) storing vertices data in data variable. It replaces indexes found in primitives (can be nested) with a corresponding vertices and colors (if specified)","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/GraphicsGroup":{"id":"frontend/Reference/Graphics3D/GraphicsGroup","title":"GraphicsGroup","description":"makes a group for graphics primitives","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/HemisphereLight":{"id":"frontend/Reference/Graphics3D/HemisphereLight","title":"HemisphereLight","description":"defines a fake hemisphere ambient light","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Hue":{"id":"frontend/Reference/Graphics3D/Hue","title":"Hue","description":"same as Hue, but for Graphics3D primitives","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Line":{"id":"frontend/Reference/Graphics3D/Line","title":"Line","description":"represents a line in 3D space.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/MeshMaterial":{"id":"frontend/Reference/Graphics3D/MeshMaterial","title":"MeshMaterial","description":"specifies the material used for 3D lighting in Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/MeshPhysicalMaterial":{"id":"frontend/Reference/Graphics3D/MeshPhysicalMaterial","title":"MeshPhysicalMaterial","description":"a default material used in MeshMaterial. The most accurate material, that can be parameterized with","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/MeshToonMaterial":{"id":"frontend/Reference/Graphics3D/MeshToonMaterial","title":"MeshToonMaterial","description":"uses lighting model for MeshMaterial to emulate cell-shading effect","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Metalness":{"id":"frontend/Reference/Graphics3D/Metalness","title":"Metalness","description":"specifies metallic property of a graphics primitive (see MeshPhysicalMaterial)","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Opacity":{"id":"frontend/Reference/Graphics3D/Opacity","title":"Opacity","description":"same as Opacity, but for Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/PointLight":{"id":"frontend/Reference/Graphics3D/PointLight","title":"PointLight","description":"represents an artificial point-light source at the given position and parameters.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Polygon":{"id":"frontend/Reference/Graphics3D/Polygon","title":"Polygon","description":"a 3D version of Polygon used in Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/RGBColor":{"id":"frontend/Reference/Graphics3D/RGBColor","title":"RGBColor","description":"same as RGBColor but for Graphics3D","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Roughness":{"id":"frontend/Reference/Graphics3D/Roughness","title":"Roughness","description":"sets roughness for the current material","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Shadows":{"id":"frontend/Reference/Graphics3D/Shadows","title":"Shadows","description":"a scoped parameter like RGBColor or Opacity, that determines if a light source can cast shadows or a primitive can receive shadows as well.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Sphere":{"id":"frontend/Reference/Graphics3D/Sphere","title":"Sphere","description":"draws a sphere at coordinates c or list of spheres if the depth of c is 2.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/SpotLight":{"id":"frontend/Reference/Graphics3D/SpotLight","title":"SpotLight","description":"places a fake source of spot light in a 3D scene (see Graphics3D). The default target is $\\\\{0,0,0\\\\}$.","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Tetrahedron":{"id":"frontend/Reference/Graphics3D/Tetrahedron","title":"Tetrahedron","description":"represents a polyhedron with 4 vertices","sidebar":"tutorialSidebar"},"frontend/Reference/Graphics3D/Tube":{"id":"frontend/Reference/Graphics3D/Tube","title":"Tube","description":"Not implemented. Submit to Github issues","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/EditorView":{"id":"frontend/Reference/GUI/EditorView","title":"EditorView","description":"A view component to spawn an code-editor (fully functional)","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/HTMLView":{"id":"frontend/Reference/GUI/HTMLView","title":"HTMLView","description":"a representation of an HTML element in the notebook. It is used for rendering HTML in-place, where this expression is located and also is used for dynamic indication.","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputButton":{"id":"frontend/Reference/GUI/InputButton","title":"InputButton","description":"creates a button component and returns EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputCheckbox":{"id":"frontend/Reference/GUI/InputCheckbox","title":"InputCheckbox","description":"represents a UI element - checkbox or a toggle switch","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputEditor":{"id":"frontend/Reference/GUI/InputEditor","title":"InputEditor","description":"a wrapper over EditorView used for making input elements","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputFile":{"id":"frontend/Reference/GUI/InputFile","title":"InputFile","description":"outputs as a drag & drop file-form used to handle file input","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputGroup":{"id":"frontend/Reference/GUI/InputGroup","title":"InputGroup","description":"groups different event-generators such as InputRange, InputButton or in general EventObject into a new EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputJoystick":{"id":"frontend/Reference/GUI/InputJoystick","title":"InputJoystick","description":"creates and instance of 2D manipulator (virtual joystick)","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputRange":{"id":"frontend/Reference/GUI/InputRange","title":"InputRange","description":"creates a basic combo of a slider and numerical input field and returns EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputSelect":{"id":"frontend/Reference/GUI/InputSelect","title":"InputSelect","description":"represents a select field with different choices","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputTable":{"id":"frontend/Reference/GUI/InputTable","title":"InputTable","description":"it places a sort of small Excel-like table editor for list provided. This is a great solution for a large tables, since it does support lazy loading from a server","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/InputText":{"id":"frontend/Reference/GUI/InputText","title":"InputText","description":"represents an input-text field and returns EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/Slider":{"id":"frontend/Reference/GUI/Slider","title":"Slider","description":"This is not supported. Please, use alternative way InputRange","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/TableView":{"id":"frontend/Reference/GUI/TableView","title":"TableView","description":"where table is a 2D list","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/TextView":{"id":"frontend/Reference/GUI/TextView","title":"TextView","description":"represents a text field used for displaying dynamic data","sidebar":"tutorialSidebar"},"frontend/Reference/GUI/WLXEmbed":{"id":"frontend/Reference/GUI/WLXEmbed","title":"WLXEmbed","description":"embeds an html string or array of string into a DOM element available in the context (i.e. env.element variable on JS side or AttachDOM) and executes all script tags found in the string","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/Alert":{"id":"frontend/Reference/Interpreter/Alert","title":"Alert","description":"pops up a default alert message on the frontend","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/AttachDOM":{"id":"frontend/Reference/Interpreter/AttachDOM","title":"AttachDOM","description":"Explicitly attaches an DOM element to a container by its id","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/FrontEditorSelected":{"id":"frontend/Reference/Interpreter/FrontEditorSelected","title":"FrontEditorSelected","description":"Manipulates the last selected input cell\'s editor","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/FrontEndVirtual":{"id":"frontend/Reference/Interpreter/FrontEndVirtual","title":"FrontEndVirtual","description":"It is a virtual containers-executable wrapper for any expressions evaluated on WLJS","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/Offload":{"id":"frontend/Reference/Interpreter/Offload","title":"Offload","description":"Holds (or offloads) an expression to be evaluated on frontend (WLJS)","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/OffloadFromEventObject":{"id":"frontend/Reference/Interpreter/OffloadFromEventObject","title":"OffloadFromEventObject","description":"generates a dynamic symbol (aka Offload) from a given EventObject (InputRange, InputText, ... etc) placing view-component of ev as a decoration","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/ReadClipboard":{"id":"frontend/Reference/Interpreter/ReadClipboard","title":"ReadClipboard","description":"returns text content of a user\'s clipboard.","sidebar":"tutorialSidebar"},"frontend/Reference/Interpreter/WindowScope":{"id":"frontend/Reference/Interpreter/WindowScope","title":"WindowScope","description":"reads out Javascript variable available from the global scope and returns it. This is pure WLJS function","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Async":{"id":"frontend/Reference/Misc/Async","title":"Async","description":"SetTimeout","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Events":{"id":"frontend/Reference/Misc/Events","title":"Events","description":"EventObject","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Language":{"id":"frontend/Reference/Misc/Language","title":"Language","description":"LeakyModule","sidebar":"tutorialSidebar"},"frontend/Reference/Misc/Promise":{"id":"frontend/Reference/Misc/Promise","title":"Promise","description":"Promise","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/ListLinePlotly":{"id":"frontend/Reference/Plotly/ListLinePlotly","title":"ListLinePlotly","description":"mimics the native function ListLinePlot using Plotly library (see Plotly). It is limited, there is no options supported.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/Plotly":{"id":"frontend/Reference/Plotly/Plotly","title":"Plotly","description":"mimics the behavior of a native Plot using a well-known PlotlyJS library. It is quite limited and does not support options.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyAddTraces":{"id":"frontend/Reference/Plotly/PlotlyAddTraces","title":"PlotlyAddTraces","description":"appends to a plot p new data specified in data.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyAnimate":{"id":"frontend/Reference/Plotly/PlotlyAnimate","title":"PlotlyAnimate","description":"animates efficiently any Plotly graph with a new data with a specified transition.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyDeleteTraces":{"id":"frontend/Reference/Plotly/PlotlyDeleteTraces","title":"PlotlyDeleteTraces","description":"removes traces listed in traces with indexes starting from 0","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyExtendTraces":{"id":"frontend/Reference/Plotly/PlotlyExtendTraces","title":"PlotlyExtendTraces","description":"appends new points data to a given trace indexed by trace number (starting from 0)","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyInstance":{"id":"frontend/Reference/Plotly/PlotlyInstance","title":"PlotlyInstance","description":"an object generated by Plotly","sidebar":"tutorialSidebar"},"frontend/Reference/Plotly/PlotlyPrependTraces":{"id":"frontend/Reference/Plotly/PlotlyPrependTraces","title":"PlotlyPrependTraces","description":"the same as PlotlyExtendTraces, but adds to the beginning","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ArrayPlot":{"id":"frontend/Reference/Plotting Functions/ArrayPlot","title":"ArrayPlot","description":"Generates a plot, where values are shown in a discrete array of blocks","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/BarChart":{"id":"frontend/Reference/Plotting Functions/BarChart","title":"BarChart","description":"generates a bar chart for a list of heights","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/BubbleChart":{"id":"frontend/Reference/Plotting Functions/BubbleChart","title":"BubbleChart","description":"creates a bubble chart for a list of triples","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ContourPlot":{"id":"frontend/Reference/Plotting Functions/ContourPlot","title":"ContourPlot","description":"Generates a contour plot of\xa0$f$\xa0as a function of\xa0$x$\xa0and\xa0$y$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ContourPlot3D":{"id":"frontend/Reference/Plotting Functions/ContourPlot3D","title":"ContourPlot3D","description":"produces a three-dimensional contour plot of\xa0f\xa0as a function of\xa0x,\xa0y, and\xa0z.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/DateListPlot":{"id":"frontend/Reference/Plotting Functions/DateListPlot","title":"DateListPlot","description":"plots points with values\xa0yi\xa0at a sequence of dates.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/DensityPlot":{"id":"frontend/Reference/Plotting Functions/DensityPlot","title":"DensityPlot","description":"makes a density plot of f as a function of x and y","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListContourPlot":{"id":"frontend/Reference/Plotting Functions/ListContourPlot","title":"ListContourPlot","description":"A list version of ContourPlot","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListCurvePathPlot":{"id":"frontend/Reference/Plotting Functions/ListCurvePathPlot","title":"ListCurvePathPlot","description":"Plots a curve that corresponds to a smooth path through the specified points","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListLinePlot":{"id":"frontend/Reference/Plotting Functions/ListLinePlot","title":"ListLinePlot","description":"Plots a line like Plot through the list of points provided","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListPlot3D":{"id":"frontend/Reference/Plotting Functions/ListPlot3D","title":"ListPlot3D","description":"generates a surface with height\xa0fij\xa0at position\xa0{j,i}","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListStepPlot":{"id":"frontend/Reference/Plotting Functions/ListStepPlot","title":"ListStepPlot","description":"plots the values $y1$, $y2$ ... in steps","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ListVectorPlot":{"id":"frontend/Reference/Plotting Functions/ListVectorPlot","title":"ListVectorPlot","description":"Plot the vector field interpolated from a specified set of vectors","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/ManipulatePlot":{"id":"frontend/Reference/Plotting Functions/ManipulatePlot","title":"ManipulatePlot","description":"a dynamic alternative to Plot and Mathematica\'s Manipulate, that uses input elements and Offload technic to make a fast interactive plots of a given function f[t, p1, p2...]","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/MatrixPlot":{"id":"frontend/Reference/Plotting Functions/MatrixPlot","title":"MatrixPlot","description":"Plots a 2D array with an arbitrary data inside with axes","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/Plot":{"id":"frontend/Reference/Plotting Functions/Plot","title":"Plot","description":"A Swiss knife for displaying 2D data","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/Plot3D":{"id":"frontend/Reference/Plotting Functions/Plot3D","title":"Plot3D","description":"generates a three-dimensional plot of\xa0f\xa0as a function of\xa0x\xa0and\xa0y.","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/Plotly":{"id":"frontend/Reference/Plotting Functions/Plotly","title":"Plotly","description":"An alternative plotting function to Plot that uses Plotly.js","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/RandomImage":{"id":"frontend/Reference/Plotting Functions/RandomImage","title":"RandomImage","description":"Generates a raster Image with a given size and distribution. Only RGB space is supported. The maximum value is limited to 255 for each channel","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/SphericalPlot3D":{"id":"frontend/Reference/Plotting Functions/SphericalPlot3D","title":"SphericalPlot3D","description":"","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/StackedListPlot":{"id":"frontend/Reference/Plotting Functions/StackedListPlot","title":"StackedListPlot","description":"plots lines for each of the\xa0$datai$, with the\xa0$i^$\xa0curve being the accumulation of values in\xa0$data1$\xa0through\xa0$data_i$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/StreamPlot":{"id":"frontend/Reference/Plotting Functions/StreamPlot","title":"StreamPlot","description":"Generates a stream plot of the vector field\xa0${vx,vy}$\xa0as a function of\xa0$x$\xa0and\xa0$y$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/VectorPlot":{"id":"frontend/Reference/Plotting Functions/VectorPlot","title":"VectorPlot","description":"Generates a vector plot of the vector field\xa0${vx,vy}$\xa0as a function of\xa0$x$\xa0and\xa0$y$","sidebar":"tutorialSidebar"},"frontend/Reference/Plotting Functions/VectorPlot3D":{"id":"frontend/Reference/Plotting Functions/VectorPlot3D","title":"VectorPlot3D","description":"Generates a 3D vector plot of the vector field\xa0{vx,vy,vz}\xa0as a function of\xa0$x$,\xa0$y$, and\xa0$z$","sidebar":"tutorialSidebar"},"frontend/Reference/Slides/SlideEventListener":{"id":"frontend/Reference/Slides/SlideEventListener","title":"SlideEventListener","description":"attaches an event listener to a current slide","sidebar":"tutorialSidebar"},"frontend/Reference/Slides/Slides":{"id":"frontend/Reference/Slides/Slides","title":"Slides","description":"an object that represents current window with slides (even if not created)","sidebar":"tutorialSidebar"},"frontend/Reference/Sound/Audio":{"id":"frontend/Reference/Sound/Audio","title":"Audio","description":"","sidebar":"tutorialSidebar"},"frontend/Reference/Sound/ListPlay":{"id":"frontend/Reference/Sound/ListPlay","title":"ListPlay","description":"creates an object that plays as a sound whose amplitudes is given by the sequence of levels ai","sidebar":"tutorialSidebar"},"frontend/Reference/Sound/PCMPlayer":{"id":"frontend/Reference/Sound/PCMPlayer","title":"PCMPlayer","description":"creates a static or dynamic sound emitter. The following data types are supported","sidebar":"tutorialSidebar"},"frontend/Symbolic programming":{"id":"frontend/Symbolic programming","title":"Symbolic programming","description":"Wolfram Language itself comes with a vast standard library, which is suitable for most problem solving, where Python or Julia are used.","sidebar":"tutorialSidebar"},"frontend/Troubleshooting/Troubleshooting":{"id":"frontend/Troubleshooting/Troubleshooting","title":"Troubleshooting","description":"If something is not working as intended, please, post an issue on a Github with the data evaluated on your Wolfram Engine, such as","sidebar":"tutorialSidebar"},"imgs/Drawing 2024-03-29 18.01.17.excalidraw":{"id":"imgs/Drawing 2024-03-29 18.01.17.excalidraw","title":"Drawing 2024-03-29 18.01.17.excalidraw","description":"==\u26a0 Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. \u26a0=="},"imgs/FE data binding.excalidraw 1":{"id":"imgs/FE data binding.excalidraw 1","title":"FE data binding.excalidraw 1","description":"==\u26a0 Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. \u26a0=="},"imgs/feinput.gif":{"id":"imgs/feinput.gif","title":"feinput.gif","description":""},"imgs/manipulate-frontend-example.excalidraw":{"id":"imgs/manipulate-frontend-example.excalidraw","title":"manipulate-frontend-example.excalidraw","description":"==\u26a0 Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. \u26a0=="},"interpreter/Advanced/architecture":{"id":"interpreter/Advanced/architecture","title":"Architecture of symbols","description":"Features"},"interpreter/Advanced/containers":{"id":"interpreter/Advanced/containers","title":"Containers","description":"The general definition will be"},"interpreter/Advanced/meta-markers":{"id":"interpreter/Advanced/meta-markers","title":"Meta markers","description":"You can think about them as a unique property assigned to the expression in order to use selectors on them. Sometimes it comes handy to attach or evaluate new object inside the existing instance"},"interpreter/Advanced/symbols":{"id":"interpreter/Advanced/symbols","title":"Definitions","description":"Let\'s make the things clear."},"interpreter/Basics/graphics":{"id":"interpreter/Basics/graphics","title":"Working with graphics","description":"Easy animations"},"interpreter/Basics/js-access":{"id":"interpreter/Basics/js-access","title":"Javascript integration","description":"For deep overview of functions, containers and advanced control of evaluation process, please, see pages symbols and containers"},"interpreter/Basics/scripts":{"id":"interpreter/Basics/scripts","title":"Symbols and expressions","description":"It is assumed, you have wljs-graphics-d3 (see Libraries @ syntax) library included in your page. Most examples depend on it."},"interpreter/Basics/syntax":{"id":"interpreter/Basics/syntax","title":"Syntax","description":"For the simplicity it is better to use wolframscript or Mathematica to transpile the source code to JSONExpression format using ExportString command."},"interpreter/Extras/implementation":{"id":"interpreter/Extras/implementation","title":"How it works","description":"The idea"},"interpreter/Extras/reference":{"id":"interpreter/Extras/reference","title":"Reference","description":"Please see interpretate and other pages there"},"interpreter/intro":{"id":"interpreter/intro","title":"","description":"Minimal Wolfram Language Interpreter"}}}}')}}]); \ No newline at end of file diff --git a/Documentation/assets/js/66e84712.959cc427.js b/Documentation/assets/js/66e84712.959cc427.js new file mode 100644 index 00000000..06406ce1 --- /dev/null +++ b/Documentation/assets/js/66e84712.959cc427.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9832],{27068:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>f,frontMatter:()=>c,metadata:()=>s,toc:()=>a});var o=t(17624),r=t(4552);const c={},i=void 0,s={id:"frontend/Reference/Video/Video",title:"Video",description:"",source:"@site/docs/frontend/Reference/Video/Video.md",sourceDirName:"frontend/Reference/Video",slug:"/frontend/Reference/Video/",permalink:"/frontend/Reference/Video/",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"PCMPlayer",permalink:"/frontend/Reference/Sound/PCMPlayer"}},d={},a=[];function u(e){return(0,o.jsx)(o.Fragment,{})}function f(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u()}},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>i});var o=t(11504);const r={},c=o.createContext(r);function i(e){const n=o.useContext(c);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/69eeed44.243e8720.js b/Documentation/assets/js/69eeed44.243e8720.js new file mode 100644 index 00000000..9de2fdc5 --- /dev/null +++ b/Documentation/assets/js/69eeed44.243e8720.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8364],{2736:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var i=t(17624),a=t(4552);const l={env:["Wolfram Kernel"],context:"JerryI`Notebook`ManipulateUtils`",package:"wljs-manipulate",source:"https://github.com/JerryI/wljs-manipulate/blob/main/Kernel.wl"},o=void 0,s={id:"frontend/Reference/Plotting Functions/ManipulatePlot",title:"ManipulatePlot",description:"a dynamic alternative to Plot and Mathematica's Manipulate, that uses input elements and Offload technic to make a fast interactive plots of a given function f[t, p1, p2...]",source:"@site/docs/frontend/Reference/Plotting Functions/ManipulatePlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/ManipulatePlot",permalink:"/frontend/Reference/Plotting Functions/ManipulatePlot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1712600483e3,frontMatter:{env:["Wolfram Kernel"],context:"JerryI`Notebook`ManipulateUtils`",package:"wljs-manipulate",source:"https://github.com/JerryI/wljs-manipulate/blob/main/Kernel.wl"},sidebar:"tutorialSidebar",previous:{title:"ManipulateParametricPlot",permalink:"/frontend/Reference/Plotting Functions/ManipulateParametricPlot"},next:{title:"MatrixPlot",permalink:"/frontend/Reference/Plotting Functions/MatrixPlot"}},r={},c=[{value:"Options",id:"options",level:2},{value:""SamplingPoints"",id:"samplingpoints",level:3},{value:"TransitionType",id:"transitiontype",level:3},{value:"TransitionDuration",id:"transitionduration",level:3},{value:"ImageSize",id:"imagesize",level:3},{value:"PlotStyle",id:"plotstyle",level:3},{value:"Epilog",id:"epilog",level:3},{value:"Prolog",id:"prolog",level:3},{value:"Example",id:"example",level:2},{value:"Issues",id:"issues",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1, min, max}, ..., opts___]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["a dynamic alternative to ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Plotting%20Functions/Plot",children:"Plot"})," and Mathematica's ",(0,i.jsx)(n.code,{children:"Manipulate"}),", that uses input elements and ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," technic to make a fast interactive plots of a given function ",(0,i.jsx)(n.code,{children:"f[t, p1, p2...]"})]}),"\n",(0,i.jsx)(n.p,{children:"the set of parameters are not limited and accepts the following forms"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1}, {p2}, ...]\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1, min, max}, {p2}, ...]\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1, min, max, step}, {p2}, ...]\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {{p1, initial}, min, max}, {p2}, ...]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["where ",(0,i.jsx)(n.code,{children:"f"})," can return ",(0,i.jsx)(n.code,{children:"_Real"})," or ",(0,i.jsx)(n.code,{children:"{__Real}"})]}),"\n",(0,i.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,i.jsx)(n.h3,{id:"samplingpoints",children:(0,i.jsx)(n.code,{children:'"SamplingPoints"'})}),"\n",(0,i.jsxs)(n.p,{children:["A number of points used in sampling. The default value is ",(0,i.jsx)(n.code,{children:"200"})]}),"\n",(0,i.jsxs)(n.p,{children:["It inherits some of ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})," options as well"]}),"\n",(0,i.jsx)(n.h3,{id:"transitiontype",children:(0,i.jsx)(n.code,{children:"TransitionType"})}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/TransitionType",children:"TransitionType"})]}),"\n",(0,i.jsx)(n.h3,{id:"transitionduration",children:(0,i.jsx)(n.code,{children:"TransitionDuration"})}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/TransitionDuration",children:"TransitionDuration"})]}),"\n",(0,i.jsx)(n.h3,{id:"imagesize",children:(0,i.jsx)(n.code,{children:"ImageSize"})}),"\n",(0,i.jsxs)(n.p,{children:["Accepts ",(0,i.jsx)(n.code,{children:"{width, height}"})]}),"\n",(0,i.jsx)(n.h3,{id:"plotstyle",children:(0,i.jsx)(n.code,{children:"PlotStyle"})}),"\n",(0,i.jsx)(n.p,{children:"Specifies colors for each curve"}),"\n",(0,i.jsx)(n.h3,{id:"epilog",children:(0,i.jsx)(n.code,{children:"Epilog"})}),"\n",(0,i.jsx)(n.h3,{id:"prolog",children:(0,i.jsx)(n.code,{children:"Prolog"})}),"\n",(0,i.jsxs)(n.p,{children:["Appends graphics primitives to the plot. See ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})]}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"Plot the simplest sine function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[Sin[w z + p], {z,0,10}, {w, 0, 15.1, 1}, {p, 0, Pi, 0.1}]\n"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(93785).c+"",width:"600",height:"400"})}),"\n",(0,i.jsx)(n.h2,{id:"issues",children:"Issues"}),"\n",(0,i.jsxs)(n.admonition,{type:"danger",children:[(0,i.jsx)(n.p,{children:"Help needed!"}),(0,i.jsx)(n.p,{children:"There is no adaptive sampling implemented."})]})]})}function p(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},93785:(e,n,t)=>{t.d(n,{c:()=>i});const i=t.p+"assets/images/Manipulate-ezgif.com-video-to-gif-converter-e4d4eb07225c8791a7ea5a85cd253d00.gif"},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>o});var i=t(11504);const a={},l=i.createContext(a);function o(e){const n=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/69eeed44.2d9da6a2.js b/Documentation/assets/js/69eeed44.2d9da6a2.js deleted file mode 100644 index 4498858b..00000000 --- a/Documentation/assets/js/69eeed44.2d9da6a2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8364],{2736:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=t(17624),a=t(4552);const o={env:["Wolfram Kernel"],context:"JerryI`Notebook`ManipulateUtils`",package:"wljs-manipulate",source:"https://github.com/JerryI/wljs-manipulate/blob/main/Kernel.wl"},l=void 0,s={id:"frontend/Reference/Plotting Functions/ManipulatePlot",title:"ManipulatePlot",description:"a dynamic alternative to Plot and Mathematica's Manipulate, that uses input elements and Offload technic to make a fast interactive plots of a given function f[t, p1, p2...]",source:"@site/docs/frontend/Reference/Plotting Functions/ManipulatePlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/ManipulatePlot",permalink:"/frontend/Reference/Plotting Functions/ManipulatePlot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1712600483e3,frontMatter:{env:["Wolfram Kernel"],context:"JerryI`Notebook`ManipulateUtils`",package:"wljs-manipulate",source:"https://github.com/JerryI/wljs-manipulate/blob/main/Kernel.wl"},sidebar:"tutorialSidebar",previous:{title:"ListVectorPlot",permalink:"/frontend/Reference/Plotting Functions/ListVectorPlot"},next:{title:"MatrixPlot",permalink:"/frontend/Reference/Plotting Functions/MatrixPlot"}},r={},c=[{value:"Options",id:"options",level:2},{value:""SamplingPoints"",id:"samplingpoints",level:3},{value:"TransitionType",id:"transitiontype",level:3},{value:"TransitionDuration",id:"transitionduration",level:3},{value:"ImageSize",id:"imagesize",level:3},{value:"PlotStyle",id:"plotstyle",level:3},{value:"Epilog",id:"epilog",level:3},{value:"Prolog",id:"prolog",level:3},{value:"Example",id:"example",level:2},{value:"Issues",id:"issues",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1, min, max}, ..., opts___]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["a dynamic alternative to ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Plotting%20Functions/Plot",children:"Plot"})," and Mathematica's ",(0,i.jsx)(n.code,{children:"Manipulate"}),", that uses input elements and ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," technic to make a fast interactive plots of a given function ",(0,i.jsx)(n.code,{children:"f[t, p1, p2...]"})]}),"\n",(0,i.jsx)(n.p,{children:"the set of parameters are not limited and accepts the following forms"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1}, {p2}, ...]\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1, min, max}, {p2}, ...]\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {p1, min, max, step}, {p2}, ...]\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[f_, {t, min, max}, {{p1, initial}, min, max}, {p2}, ...]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["where ",(0,i.jsx)(n.code,{children:"f"})," can return ",(0,i.jsx)(n.code,{children:"_Real"})," or ",(0,i.jsx)(n.code,{children:"{__Real}"})]}),"\n",(0,i.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,i.jsx)(n.h3,{id:"samplingpoints",children:(0,i.jsx)(n.code,{children:'"SamplingPoints"'})}),"\n",(0,i.jsxs)(n.p,{children:["A number of points used in sampling. The default value is ",(0,i.jsx)(n.code,{children:"200"})]}),"\n",(0,i.jsxs)(n.p,{children:["It inherits some of ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})," options as well"]}),"\n",(0,i.jsx)(n.h3,{id:"transitiontype",children:(0,i.jsx)(n.code,{children:"TransitionType"})}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/TransitionType",children:"TransitionType"})]}),"\n",(0,i.jsx)(n.h3,{id:"transitionduration",children:(0,i.jsx)(n.code,{children:"TransitionDuration"})}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/TransitionDuration",children:"TransitionDuration"})]}),"\n",(0,i.jsx)(n.h3,{id:"imagesize",children:(0,i.jsx)(n.code,{children:"ImageSize"})}),"\n",(0,i.jsxs)(n.p,{children:["Accepts ",(0,i.jsx)(n.code,{children:"{width, height}"})]}),"\n",(0,i.jsx)(n.h3,{id:"plotstyle",children:(0,i.jsx)(n.code,{children:"PlotStyle"})}),"\n",(0,i.jsx)(n.p,{children:"Specifies colors for each curve"}),"\n",(0,i.jsx)(n.h3,{id:"epilog",children:(0,i.jsx)(n.code,{children:"Epilog"})}),"\n",(0,i.jsx)(n.h3,{id:"prolog",children:(0,i.jsx)(n.code,{children:"Prolog"})}),"\n",(0,i.jsxs)(n.p,{children:["Appends graphics primitives to the plot. See ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})]}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.p,{children:"Plot the simplest sine function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"ManipulatePlot[Sin[w z + p], {z,0,10}, {w, 0, 15.1, 1}, {p, 0, Pi, 0.1}]\n"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(93785).c+"",width:"600",height:"400"})}),"\n",(0,i.jsx)(n.h2,{id:"issues",children:"Issues"}),"\n",(0,i.jsxs)(n.admonition,{type:"danger",children:[(0,i.jsx)(n.p,{children:"Help needed!"}),(0,i.jsx)(n.p,{children:"There is no adaptive sampling implemented."})]})]})}function p(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},93785:(e,n,t)=>{t.d(n,{c:()=>i});const i=t.p+"assets/images/Manipulate-ezgif.com-video-to-gif-converter-e4d4eb07225c8791a7ea5a85cd253d00.gif"},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>l});var i=t(11504);const a={},o=i.createContext(a);function l(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/6c54b122.863b5a0b.js b/Documentation/assets/js/6c54b122.863b5a0b.js new file mode 100644 index 00000000..25117356 --- /dev/null +++ b/Documentation/assets/js/6c54b122.863b5a0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3216],{2624:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var i=t(17624),s=t(4552);const a={sidebar_position:4},r=void 0,l={id:"frontend/Cell types/Javascript",title:"Javascript",description:"Type .js in the first line of an input cell",source:"@site/docs/frontend/Cell types/Javascript.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Javascript",permalink:"/frontend/Cell types/Javascript",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1713980226e3,sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"HTML",permalink:"/frontend/Cell types/HTML"},next:{title:"Files",permalink:"/frontend/Cell types/Files"}},o={},c=[{value:"Output cell",id:"output-cell",level:2},{value:"Context",id:"context",level:2},{value:"this.ondestroy",id:"thisondestroy",level:3},{value:"requestAnimationFrame",id:"requestanimationframe",level:3},{value:"Communication with Wolfram Kernel",id:"communication-with-wolfram-kernel",level:2}];function d(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,s.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Type ",(0,i.jsx)(n.code,{children:".js"})," in the first line of an input cell"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Try to evaluate"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="cell"',children:".js\nreturn 1+1\n"})}),"\n",(0,i.jsx)(n.p,{children:"or"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:".js\nconst dom = document.createElement('span');\ndom.innerText = \"Hello World\";\ndom.style.color = 'lightblue';\n\nreturn dom;\n"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/JerryI/wljs-js-support",children:"Github repo"})}),"\nJavascript code is evaluated as a module, i.e. ",(0,i.jsx)(n.strong,{children:"all defined variables are isolated to the cell"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["To define global variables, use ",(0,i.jsx)(n.code,{children:"window"})," or ",(0,i.jsx)(n.code,{children:"core"})," object."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"window.variable = 1\n"})})]}),"\n",(0,i.jsx)(n.h2,{id:"output-cell",children:"Output cell"}),"\n",(0,i.jsx)(n.p,{children:"The returned value from the function can be a Javascript object or DOM element. The last one will be displayed in the output cell"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:".js\nconst canvas = document.createElement('canvas');\nvar ctx = canvas.getContext('2d');\n\ncanvas.width = 500;\ncanvas.height = 500;\n\n\nconst ballRadius = 10;\nlet x = canvas.width / 2;\nlet y = canvas.height - 30;\nlet dx = 2;\nlet dy = -2;\n\nfunction drawBall() {\n ctx.beginPath();\n ctx.arc(x, y, ballRadius, 0, Math.PI * 2);\n ctx.fillStyle = \"#0095DD\";\n ctx.fill();\n ctx.closePath();\n}\n\nlet uid;\n\nfunction draw() {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n drawBall();\n\n if (x + dx > canvas.width - ballRadius || x + dx < ballRadius) {\n dx = -dx;\n }\n if (y + dy > canvas.height - ballRadius || y + dy < ballRadius) {\n dy = -dy;\n }\n\n x += dx;\n y += dy;\n \n uid = requestAnimationFrame(draw);\n}\n\nuid = requestAnimationFrame(draw);\n\nthis.ondestroy = () => {\n\tcancelAnimationFrame(uid);\n}\n\n\n\nreturn canvas;\n"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(76892).c+"",width:"1090",height:"1020"})}),"\n",(0,i.jsx)(n.h2,{id:"context",children:"Context"}),"\n",(0,i.jsx)(n.p,{children:"There is a few quite useful built-in objects accessible from the cell."}),"\n",(0,i.jsx)(n.h3,{id:"thisondestroy",children:"this.ondestroy"}),"\n",(0,i.jsx)(n.p,{children:"This object is called when a cell has been destroyed. Assign any clean-up function to the given object"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"this.ondestroy = () => {\n\t//clean up the stuff\n}\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"danger",children:(0,i.jsxs)(n.p,{children:["Always clean up any timers using ",(0,i.jsx)(n.code,{children:"this.ondestroy"})," variable. Otherwise those timers and animation loops will continue to work even after reevaluating the cell."]})}),"\n",(0,i.jsx)(n.h3,{id:"requestanimationframe",children:"requestAnimationFrame"}),"\n",(0,i.jsx)(n.p,{children:"It is well-common method used in Javascript to synchronize with a framerate of the browser and render some graphics"}),"\n",(0,i.jsx)(n.admonition,{type:"danger",children:(0,i.jsxs)(n.p,{children:["Do not forget to ",(0,i.jsx)(n.code,{children:"cancelAnimationFrame"})," using ",(0,i.jsx)(n.code,{children:"this.ondestroy"})," method"]})}),"\n",(0,i.jsx)(n.h2,{id:"communication-with-wolfram-kernel",children:"Communication with Wolfram Kernel"}),"\n",(0,i.jsxs)(n.p,{children:["In general one can define any function for WLJS Interpreter using Javascript cells, please see guide here ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Frontend%20IO/FrontSubmit",children:"FrontSubmit"})," and ",(0,i.jsx)(n.a,{href:"/frontend/Advanced/Events%20system/event-generators#Integration%20with%20server%20/%20client%20via%20WebSockets",children:"Integration with server / client via WebSockets"})]}),"\n",(0,i.jsxs)(n.p,{children:["Also see ",(0,i.jsx)(n.a,{href:"/frontend/Advanced/Javascript/Communication",children:"Communication"})]}),"\n",(0,i.jsxs)(n.p,{children:["For the most applications event-based system is used, see ",(0,i.jsx)(n.a,{href:"/frontend/Dynamics",children:"Dynamics"})]})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},76892:(e,n,t)=>{t.d(n,{c:()=>i});const i=t.p+"assets/images/Balls-ezgif.com-video-to-apng-converter-0b1b473089b374b3be96a2105a42e9b5.png"},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>r});var i=t(11504);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/6c54b122.b8a10c27.js b/Documentation/assets/js/6c54b122.b8a10c27.js deleted file mode 100644 index 842fefaa..00000000 --- a/Documentation/assets/js/6c54b122.b8a10c27.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3216],{2624:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var s=t(17624),i=t(4552);const a={sidebar_position:4},r=void 0,l={id:"frontend/Cell types/Javascript",title:"Javascript",description:"Try to evaluate",source:"@site/docs/frontend/Cell types/Javascript.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Javascript",permalink:"/frontend/Cell types/Javascript",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1713980226e3,sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"HTML",permalink:"/frontend/Cell types/HTML"},next:{title:"Files",permalink:"/frontend/Cell types/Files"}},o={},c=[{value:"Output cell",id:"output-cell",level:2},{value:"Handlers",id:"handlers",level:2},{value:"this.ondestroy",id:"thisondestroy",level:3},{value:"requestAnimationFrame",id:"requestanimationframe",level:3},{value:"Communication with Wolfram Kernel",id:"communication-with-wolfram-kernel",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Try to evaluate"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="cell"',children:".js\nreturn 1+1\n"})}),"\n",(0,s.jsx)(n.p,{children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:".js\nconst dom = document.createElement('span');\ndom.innerText = \"Hello World\";\ndom.style.color = 'lightblue';\n\nreturn dom;\n"})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.a,{href:"https://github.com/JerryI/wljs-js-support",children:"Github repo"})}),"\nJavascript code is evaluated as a module, i.e. ",(0,s.jsx)(n.strong,{children:"all defined variables are isolated to the cell"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsxs)(n.p,{children:["To define global variables, use ",(0,s.jsx)(n.code,{children:"window"})," or ",(0,s.jsx)(n.code,{children:"core"})," object."]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"window.variable = 1\n"})})]}),"\n",(0,s.jsx)(n.h2,{id:"output-cell",children:"Output cell"}),"\n",(0,s.jsx)(n.p,{children:"The returned value from the function can be a Javascript object or DOM element. The last one will be displayed in the output cell"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:".js\nconst canvas = document.createElement('canvas');\nvar ctx = canvas.getContext('2d');\n\ncanvas.width = 500;\ncanvas.height = 500;\n\n\nconst ballRadius = 10;\nlet x = canvas.width / 2;\nlet y = canvas.height - 30;\nlet dx = 2;\nlet dy = -2;\n\nfunction drawBall() {\n ctx.beginPath();\n ctx.arc(x, y, ballRadius, 0, Math.PI * 2);\n ctx.fillStyle = \"#0095DD\";\n ctx.fill();\n ctx.closePath();\n}\n\nlet uid;\n\nfunction draw() {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n drawBall();\n\n if (x + dx > canvas.width - ballRadius || x + dx < ballRadius) {\n dx = -dx;\n }\n if (y + dy > canvas.height - ballRadius || y + dy < ballRadius) {\n dy = -dy;\n }\n\n x += dx;\n y += dy;\n \n uid = requestAnimationFrame(draw);\n}\n\nuid = requestAnimationFrame(draw);\n\nthis.ondestroy = () => {\n\tcancelAnimationFrame(uid);\n}\n\n\n\nreturn canvas;\n"})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:t(76892).c+"",width:"1090",height:"1020"})}),"\n",(0,s.jsx)(n.h2,{id:"handlers",children:"Handlers"}),"\n",(0,s.jsx)(n.p,{children:"There is a few quite useful built-in objects accesible from the cell."}),"\n",(0,s.jsx)(n.h3,{id:"thisondestroy",children:"this.ondestroy"}),"\n",(0,s.jsx)(n.p,{children:"This object is called when a cell has been destroyed. Assign any clean-up function to the given object"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"this.ondestroy = () => {\n\t//clean up the stuff\n}\n"})}),"\n",(0,s.jsx)(n.admonition,{type:"danger",children:(0,s.jsxs)(n.p,{children:["Always clean up any timers using ",(0,s.jsx)(n.code,{children:"this.ondestroy"})," variable. Otherwise those timers and animation loops will continue to work even after reevaluating the cell."]})}),"\n",(0,s.jsx)(n.h3,{id:"requestanimationframe",children:"requestAnimationFrame"}),"\n",(0,s.jsx)(n.p,{children:"It is well-common method used in Javascript to synchronize with a framerate of the browser and render some graphics"}),"\n",(0,s.jsx)(n.admonition,{type:"danger",children:(0,s.jsxs)(n.p,{children:["Do not forget to ",(0,s.jsx)(n.code,{children:"cancelAnimationFrame"})," using ",(0,s.jsx)(n.code,{children:"this.ondestroy"})," method"]})}),"\n",(0,s.jsx)(n.h2,{id:"communication-with-wolfram-kernel",children:"Communication with Wolfram Kernel"}),"\n",(0,s.jsxs)(n.p,{children:["In general one can define any function for WLJS Interpreter using Javascript cells, please see guide here ",(0,s.jsx)(n.a,{href:"/frontend/Reference/Frontend%20IO/FrontSubmit",children:"FrontSubmit"})," and ",(0,s.jsx)(n.a,{href:"/frontend/Advanced/Events%20system/event-generators#Integration%20with%20server%20/%20client%20via%20WebSockets",children:"Integration with server / client via WebSockets"})]}),"\n",(0,s.jsxs)(n.p,{children:["Also see ",(0,s.jsx)(n.a,{href:"/frontend/Advanced/Javascript/Communication",children:"Communication"})]}),"\n",(0,s.jsxs)(n.p,{children:["For the most applications event-based system is used, see ",(0,s.jsx)(n.a,{href:"/frontend/Dynamics",children:"Dynamics"})]})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},76892:(e,n,t)=>{t.d(n,{c:()=>s});const s=t.p+"assets/images/Balls-ezgif.com-video-to-apng-converter-0b1b473089b374b3be96a2105a42e9b5.png"},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>r});var s=t(11504);const i={},a=s.createContext(i);function r(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/7b204942.dea6f479.js b/Documentation/assets/js/7b204942.dea6f479.js new file mode 100644 index 00000000..cc3c47b1 --- /dev/null +++ b/Documentation/assets/js/7b204942.dea6f479.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[864],{12904:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var o=n(17624),r=n(4552);const i={},c=void 0,a={id:"frontend/Reference/Plotting Functions/ManipulateParametricPlot",title:"ManipulateParametricPlot",description:"to be described",source:"@site/docs/frontend/Reference/Plotting Functions/ManipulateParametricPlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/ManipulateParametricPlot",permalink:"/frontend/Reference/Plotting Functions/ManipulateParametricPlot",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ListVectorPlot",permalink:"/frontend/Reference/Plotting Functions/ListVectorPlot"},next:{title:"ManipulatePlot",permalink:"/frontend/Reference/Plotting Functions/ManipulatePlot"}},s={},l=[];function u(e){const t={em:"em",p:"p",...(0,r.M)(),...e.components};return(0,o.jsx)(t.p,{children:(0,o.jsx)(t.em,{children:"to be described"})})}function d(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>c});var o=n(11504);const r={},i=o.createContext(r);function c(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8153b4dd.74f931de.js b/Documentation/assets/js/8153b4dd.74f931de.js new file mode 100644 index 00000000..ff452fe7 --- /dev/null +++ b/Documentation/assets/js/8153b4dd.74f931de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9892],{13116:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var s=n(17624),t=n(4552);const o={sidebar_position:5},r=void 0,a={id:"frontend/Command palette",title:"Command palette",description:"The big power of customization comes with a powerful command palette system. This is provided by a plugin shipped with a core package.",source:"@site/docs/frontend/Command palette.md",sourceDirName:"frontend",slug:"/frontend/Command palette",permalink:"/frontend/Command palette",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717785218e3,sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"WLX",permalink:"/frontend/Cell types/WLX"},next:{title:"Guidelines",permalink:"/frontend/Guidelines"}},l={},c=[{value:"AI Assistant",id:"ai-assistant",level:2},{value:"Context menu",id:"context-menu",level:2},{value:"Uploading data",id:"uploading-data",level:2},{value:"Special characters",id:"special-characters",level:2},{value:"Matrix helper",id:"matrix-helper",level:2},{value:"Show available options",id:"show-available-options",level:2},{value:"Navigation gizmo",id:"navigation-gizmo",level:2},{value:"Format Wolfram Language code",id:"format-wolfram-language-code",level:2},{value:"Text formatting",id:"text-formatting",level:2},{value:"Take a picture",id:"take-a-picture",level:2},{value:"Install Wolfram Packages from Github",id:"install-wolfram-packages-from-github",level:2}];function d(e){const i={a:"a",admonition:"admonition",code:"code",del:"del",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.M)(),...e.components},{CodeMirror:o}=i;return o||function(e,i){throw new Error("Expected "+(i?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("CodeMirror",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(i.p,{children:["The big power of customization comes with a powerful command palette system. This is provided by a ",(0,s.jsx)(i.a,{href:"https://github.com/JerryI/wljs-snippets",children:"plugin"})," shipped with a core package."]}),"\n",(0,s.jsxs)(i.p,{children:["Snippets are dedicated cells of Wolfram / ",(0,s.jsx)(i.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," / ",(0,s.jsx)(i.a,{href:"/frontend/Cell%20types/Javascript",children:"Javascript"})," which serve a single utility function. ",(0,s.jsx)(i.strong,{children:"They are available from the command palette"})," and have an access to your notebook and computational Kernel. You can see their source notebook as well as short documentation by clicking on a question mark symbol"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(49712).c+"",width:"1824",height:"714"})}),"\n",(0,s.jsx)(i.admonition,{type:"tip",children:(0,s.jsxs)(i.p,{children:["Use a shortcut for command palette ",(0,s.jsx)(i.code,{children:"Cmd + P"})," or ",(0,s.jsx)(i.code,{children:"Ctrl + P"})]})}),"\n",(0,s.jsx)(i.h2,{id:"ai-assistant",children:"AI Assistant"}),"\n",(0,s.jsxs)(i.p,{children:["If nothing is selected, ",(0,s.jsx)(i.strong,{children:"the given text in the command palette is sent to ChatGPT"})," that has ",(0,s.jsx)(i.strong,{children:"an access to your notebook"})]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(80008).c+"",width:"800",height:"377"})}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsxs)(i.strong,{children:["See more ",(0,s.jsx)(i.a,{href:"/frontend/Advanced/Command%20palette/AI%20Assistant",children:"detailed guide"})]})," on our assistant."]}),"\n",(0,s.jsx)(i.admonition,{type:"note",children:(0,s.jsx)(i.p,{children:"It will ask you for a OpenAI API Key. You need to issue it first on the official openAI website"})}),"\n",(0,s.jsx)(i.admonition,{type:"warning",children:(0,s.jsxs)(i.p,{children:["An initial system prompt that given AI the knowledge of available cells, details of used libraries and etc costs ",(0,s.jsx)(i.code,{children:"4000"})," tokens"]})}),"\n",(0,s.jsx)(i.p,{children:"In general AI can do the following"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.strong,{children:"create, remove, evaluate, edit cells"})," in any language"]}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.strong,{children:"read notebook structure"})}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.strong,{children:"see your focused cell"})," you dropped a cursor on"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.strong,{children:"see your selection"})," in any editor area"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.del,{children:"google"})," ",(0,s.jsx)(i.strong,{children:"use WolframAlpha"})," to fetch data from the internet"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Shorts"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,s.jsx)(i.a,{href:"https://youtube.com/shorts/6s9m5ZGPkdE?feature=share",children:"We made AI Copilot in your Notebook \ud83e\udd16"})]}),"\n",(0,s.jsxs)(i.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,s.jsx)(i.a,{href:"https://youtube.com/shorts/B_ZVjN9cvQM?feature=share",children:"AI Copilot in your Notebook. Part 2 \ud83e\udd16"})]}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"context-menu",children:"Context menu"}),"\n",(0,s.jsxs)(i.p,{children:["If you need to apply ",(0,s.jsx)(i.code,{children:"Simplify"})," or highlight selected expressions in the code"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(58484).c+"",width:"720",height:"147"})}),"\n",(0,s.jsx)(i.p,{children:"Highlighting text is not destructive and will not alter an initial expression you had."}),"\n",(0,s.jsx)(i.h2,{id:"uploading-data",children:"Uploading data"}),"\n",(0,s.jsx)(i.p,{children:"There are a few snippets used for uploading ASCII data or any arbitrary files to the folder of your notebook"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(70152).c+"",width:"800",height:"538"})}),"\n",(0,s.jsx)(i.p,{children:"This snippet was built using regular Wolfram Language."}),"\n",(0,s.jsx)(i.h2,{id:"special-characters",children:"Special characters"}),"\n",(0,s.jsx)(i.p,{children:"A toolbar with templates for symbolic integration, series and etc is also available from the command palette"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(18768).c+"",width:"800",height:"481"})}),"\n",(0,s.jsx)(i.p,{children:"However, it is recommended to use keyboard shortcuts for"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["fractions ",(0,s.jsx)(i.code,{children:"Ctrl+/"})]}),"\n",(0,s.jsxs)(i.li,{children:["subscripts ",(0,s.jsx)(i.code,{children:"Ctrl+-"})]}),"\n",(0,s.jsxs)(i.li,{children:["power ",(0,s.jsx)(i.code,{children:"Ctrl+6"})]}),"\n",(0,s.jsxs)(i.li,{children:["square roots ",(0,s.jsx)(i.code,{children:"Ctrl+2"})]}),"\n",(0,s.jsxs)(i.li,{children:["greek symbols ",(0,s.jsx)(i.code,{children:"ESC+al"}),", ",(0,s.jsx)(i.code,{children:"ESC+be"}),", ",(0,s.jsx)(i.code,{children:"ESC+ga"}),", ",(0,s.jsx)(i.code,{children:"ESC+o"})," ..."]}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"matrix-helper",children:"Matrix helper"}),"\n",(0,s.jsx)(i.p,{children:"To make it easier for typing matrixes, one can use the following snippet"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(64924).c+"",width:"800",height:"538"})}),"\n",(0,s.jsxs)(i.p,{children:["This snippet inserts the given matrix into the cell ",(0,s.jsx)(i.strong,{children:"where your last cursor was"}),". A snippet was made using ",(0,s.jsx)(i.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," cells for better customized look."]}),"\n",(0,s.jsx)(i.h2,{id:"show-available-options",children:"Show available options"}),"\n",(0,s.jsxs)(i.p,{children:["This snippet analyses the content of your cell ",(0,s.jsx)(i.strong,{children:"from the left of your cursor position"})," and prints ",(0,s.jsx)(i.code,{children:"Options"})," for a given symbol"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(30174).c+"",width:"800",height:"538"})}),"\n",(0,s.jsx)(i.admonition,{type:"tip",children:(0,s.jsx)(i.p,{children:"Drop a cursor in the middle of a symbol of interest. You can select and edit option values inside the picker"})}),"\n",(0,s.jsx)(i.admonition,{type:"warning",children:(0,s.jsx)(i.p,{children:"Not all options are supported for a standard library symbol of Wolfram Mathematica"})}),"\n",(0,s.jsx)(i.h2,{id:"navigation-gizmo",children:"Navigation gizmo"}),"\n",(0,s.jsx)(i.p,{children:"This feature is aimed to slightly blur the line between code and traditional GUI interface approaches for 2D/3D graphics design"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(86260).c+"",width:"800",height:"538"})}),"\n",(0,s.jsxs)(i.p,{children:["See ",(0,s.jsx)(i.strong,{children:"shorts"})," on that"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,s.jsx)(i.a,{href:"https://youtube.com/shorts/Z76dMHK8POM?feature=share",children:"You don't need to program your figures manually"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"It utilizes the dynamic reevaluation features of WLJS Notebook as well as powerful syntax sugar of an input editor."}),"\n",(0,s.jsxs)(i.ol,{children:["\n",(0,s.jsxs)(i.li,{children:["Select 2D or 3D list of coordinates ",(0,s.jsx)(i.code,{children:"{}"})]}),"\n",(0,s.jsxs)(i.li,{children:["Type ",(0,s.jsx)(i.code,{children:"gizmo..."})," in the command palette"]}),"\n",(0,s.jsx)(i.li,{children:"Evaluate the cell"}),"\n",(0,s.jsx)(i.li,{children:"Drag gizmo to the desired position and click on a check mark"}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"It can also work in principle for most primitives"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(94638).c+"",width:"800",height:"538"})}),"\n",(0,s.jsxs)(i.admonition,{type:"tip",children:[(0,s.jsx)(i.p,{children:"Add an offset to a manipulated list, that a gizmo will not overlap with other graphics primitives. For example"}),(0,s.jsx)(o,{children:'Text["Hello World", ({0.5,0.5} + (*BB[*)({0.5,0.5})(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRAeB5AILqnMSXXKr0hjgskHleakFnMBGU6JydnpRfmleSlpzDDlQe5Ozvk5+UVFDGDwwR6dwcAAAAHdFiw="*)(*]BB*)) // Hold]'}),(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"Offload"})," or (",(0,s.jsx)(i.code,{children:"Hold"})," will also work) is necessary here to prevent Wolfram Kernel from distributing ",(0,s.jsx)(i.code,{children:"Plus"})," over each position of the list."]})]}),"\n",(0,s.jsx)(i.p,{children:"Or for 3D primitives as well"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(30830).c+"",width:"800",height:"538"})}),"\n",(0,s.jsx)(i.h2,{id:"format-wolfram-language-code",children:"Format Wolfram Language code"}),"\n",(0,s.jsx)(i.p,{children:"This is also a code formatter available"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(38808).c+"",width:"800",height:"538"})}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"It acts on a selected text or on the entire cell"})," if nothing is selected"]}),"\n",(0,s.jsx)(i.h2,{id:"text-formatting",children:"Text formatting"}),"\n",(0,s.jsx)(i.p,{children:"This snippet provides some basic tool for styling Wolfram expression, as well as text on slides, HTML and Markdown (it tries to guess the cell type and use a suitable method for each cell type)"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(59184).c+"",width:"800",height:"485"})}),"\n",(0,s.jsx)(i.admonition,{type:"warning",children:(0,s.jsx)(i.p,{children:"This feature is quite primitive and still in development"})}),"\n",(0,s.jsx)(i.h2,{id:"take-a-picture",children:"Take a picture"}),"\n",(0,s.jsxs)(i.p,{children:["It uses your active web camera pipes a picture to Wolfram Kernel as ",(0,s.jsx)(i.a,{href:"/frontend/Reference/Graphics/Image",children:"Image"})," object"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(24924).c+"",width:"796",height:"406"})}),"\n",(0,s.jsx)(i.h2,{id:"install-wolfram-packages-from-github",children:"Install Wolfram Packages from Github"}),"\n",(0,s.jsxs)(i.p,{children:["If you past a url to a Github repository into command palette, which contains ",(0,s.jsx)(i.code,{children:"PacletInfo.wl"})," file in the root directory"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{src:n(22412).c+"",width:"1580",height:"420"})}),"\n",(0,s.jsx)(i.p,{children:"it will automatically install it locally in the folder of the current notebook."})]})}function h(e={}){const{wrapper:i}={...(0,t.M)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},80008:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/ASKAI optimizer-0612abc75688bae6f64ef1680b0bb319.gif"},64924:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screen Recording Apr 8 (1)-bd2e4754fce9c93a37bf52db74ce03d4.gif"},30174:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screen Recording Apr 8 (2)-7a237c29f6d38e4c985af81031538e27.gif"},86260:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screen Recording Apr 8 (3)-a5b564409586bc3434e3c63a91b22453.gif"},94638:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screen Recording Apr 8 (4)-e08e04dd44047ac3f3d601cbfc0416f8.gif"},30830:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screen Recording Apr 8 (5)-5df85d0d9d86f829766b4b4aeb65b26b.gif"},38808:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screen Recording Apr 8 (6)-fbeba4781669232c6a70693624b7f1b5.gif"},70152:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screen Recording Apr 8-164c1b6d08c67bb9b0ef7694d24cab38.gif"},58484:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screenshot 2024-05-05 at 12.11.27-91a1c510316219bc20266c0d888e06eb.png"},22412:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/Screenshot 2024-05-10 at 21.35.19-cb91376cd85d662bb47a55fce0246ee7.png"},24924:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/TakeAPic speed-8bb201416a7557a89ebaefea65f705f7.gif"},59184:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/ToolbarT optimizer-42cd01a24a5ba9d9dfc7551fd9ee777c.gif"},18768:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/plattte-ezgif.com-optimize-dcc116244c0094c019844d92d388e264.gif"},49712:(e,i,n)=>{n.d(i,{c:()=>s});const s=n.p+"assets/images/snippetsover-56744cfedae264a377d16b2a98d3aec4.png"},4552:(e,i,n)=>{n.d(i,{I:()=>a,M:()=>r});var s=n(11504);const t={},o=s.createContext(t);function r(e){const i=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8153b4dd.d7931845.js b/Documentation/assets/js/8153b4dd.d7931845.js deleted file mode 100644 index 39edffd8..00000000 --- a/Documentation/assets/js/8153b4dd.d7931845.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9892],{13116:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(17624),s=n(4552);const o={sidebar_position:5},r=void 0,a={id:"frontend/Command palette",title:"Command palette",description:"The big power of customization comes with a powerful command palette system. This is provided by a plugin shipped with a core package.",source:"@site/docs/frontend/Command palette.md",sourceDirName:"frontend",slug:"/frontend/Command palette",permalink:"/frontend/Command palette",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717785218e3,sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"WLX",permalink:"/frontend/Cell types/WLX"},next:{title:"Guidelines",permalink:"/frontend/Guidelines"}},l={},c=[{value:"AI Assistant",id:"ai-assistant",level:2},{value:"Context menu",id:"context-menu",level:2},{value:"Uploading data",id:"uploading-data",level:2},{value:"Matrix helper",id:"matrix-helper",level:2},{value:"Show available options",id:"show-available-options",level:2},{value:"Navigation gizmo",id:"navigation-gizmo",level:2},{value:"Format Wolfram Language code",id:"format-wolfram-language-code",level:2},{value:"Text formatting",id:"text-formatting",level:2},{value:"Take a picture",id:"take-a-picture",level:2},{value:"Install Wolfram Packages from Github",id:"install-wolfram-packages-from-github",level:2}];function d(e){const i={a:"a",admonition:"admonition",code:"code",del:"del",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.M)(),...e.components},{CodeMirror:o}=i;return o||function(e,i){throw new Error("Expected "+(i?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("CodeMirror",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(i.p,{children:["The big power of customization comes with a powerful command palette system. This is provided by a ",(0,t.jsx)(i.a,{href:"https://github.com/JerryI/wljs-snippets",children:"plugin"})," shipped with a core package."]}),"\n",(0,t.jsxs)(i.p,{children:["Snippets are dedicated cells of Wolfram / ",(0,t.jsx)(i.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," / ",(0,t.jsx)(i.a,{href:"/frontend/Cell%20types/Javascript",children:"Javascript"})," which serve a single utility function. ",(0,t.jsx)(i.strong,{children:"They are available from the command palette"})," and have an access to your notebook and computational Kernel. You can see their source notebook as well as short documentation by clicking on a question mark symbol"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(49712).c+"",width:"1824",height:"714"})}),"\n",(0,t.jsx)(i.admonition,{type:"tip",children:(0,t.jsxs)(i.p,{children:["Use a shortcut for command palette ",(0,t.jsx)(i.code,{children:"Cmd + P"})," or ",(0,t.jsx)(i.code,{children:"Ctrl + P"})]})}),"\n",(0,t.jsx)(i.h2,{id:"ai-assistant",children:"AI Assistant"}),"\n",(0,t.jsxs)(i.p,{children:["If nothing is selected, ",(0,t.jsx)(i.strong,{children:"the given text in the command palette is sent to ChatGPT"})," that has ",(0,t.jsx)(i.strong,{children:"an access to your notebook"})]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(80008).c+"",width:"800",height:"377"})}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsxs)(i.strong,{children:["See more ",(0,t.jsx)(i.a,{href:"/frontend/Advanced/Command%20palette/AI%20Assistant",children:"detailed guide"})]})," on our assistant."]}),"\n",(0,t.jsx)(i.admonition,{type:"note",children:(0,t.jsx)(i.p,{children:"It will ask you for a OpenAI API Key. You need to issue it first on the official openAI website"})}),"\n",(0,t.jsx)(i.admonition,{type:"warning",children:(0,t.jsxs)(i.p,{children:["An initial system prompt that given AI the knowledge of available cells, details of used libraries and etc costs ",(0,t.jsx)(i.code,{children:"4000"})," tokens"]})}),"\n",(0,t.jsx)(i.p,{children:"In general AI can do the following"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"create, remove, evaluate, edit cells"})," in any language"]}),"\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.strong,{children:"read notebook structure"})}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"see your focused cell"})," you dropped a cursor on"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"see your selection"})," in any editor area"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.del,{children:"google"})," ",(0,t.jsx)(i.strong,{children:"use WolframAlpha"})," to fetch data from the internet"]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"Shorts"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(i.a,{href:"https://youtube.com/shorts/6s9m5ZGPkdE?feature=share",children:"We made AI Copilot in your Notebook \ud83e\udd16"})]}),"\n",(0,t.jsxs)(i.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(i.a,{href:"https://youtube.com/shorts/B_ZVjN9cvQM?feature=share",children:"AI Copilot in your Notebook. Part 2 \ud83e\udd16"})]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"context-menu",children:"Context menu"}),"\n",(0,t.jsxs)(i.p,{children:["If you need to apply ",(0,t.jsx)(i.code,{children:"Simplify"})," or highlight selected expressions in the code"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(58484).c+"",width:"720",height:"147"})}),"\n",(0,t.jsx)(i.p,{children:"Highlighting text is not destructive and will not alter an initial expression you had."}),"\n",(0,t.jsx)(i.h2,{id:"uploading-data",children:"Uploading data"}),"\n",(0,t.jsx)(i.p,{children:"There are a few snippets used for uploading ASCII data or any arbitrary files to the folder of your notebook"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(70152).c+"",width:"800",height:"538"})}),"\n",(0,t.jsx)(i.p,{children:"This snippet was built using regular Wolfram Language."}),"\n",(0,t.jsx)(i.h2,{id:"matrix-helper",children:"Matrix helper"}),"\n",(0,t.jsx)(i.p,{children:"To make it easier for typing matrixes, one can use the following snippet"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(64924).c+"",width:"800",height:"538"})}),"\n",(0,t.jsxs)(i.p,{children:["This snippet inserts the given matrix into the cell ",(0,t.jsx)(i.strong,{children:"where your last cursor was"}),". A snippet was made using ",(0,t.jsx)(i.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," cells for better customized look."]}),"\n",(0,t.jsx)(i.h2,{id:"show-available-options",children:"Show available options"}),"\n",(0,t.jsxs)(i.p,{children:["This snippet analyses the content of your cell ",(0,t.jsx)(i.strong,{children:"from the left of your cursor position"})," and prints ",(0,t.jsx)(i.code,{children:"Options"})," for a given symbol"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(30174).c+"",width:"800",height:"538"})}),"\n",(0,t.jsx)(i.admonition,{type:"tip",children:(0,t.jsx)(i.p,{children:"Drop a cursor in the middle of a symbol of interest. You can select and edit option values inside the picker"})}),"\n",(0,t.jsx)(i.admonition,{type:"warning",children:(0,t.jsx)(i.p,{children:"Not all options are supported for a standard library symbol of Wolfram Mathematica"})}),"\n",(0,t.jsx)(i.h2,{id:"navigation-gizmo",children:"Navigation gizmo"}),"\n",(0,t.jsx)(i.p,{children:"This feature is aimed to slightly blur the line between code and traditional GUI interface approaches for 2D/3D graphics design"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(86260).c+"",width:"800",height:"538"})}),"\n",(0,t.jsxs)(i.p,{children:["See ",(0,t.jsx)(i.strong,{children:"shorts"})," on that"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["YTS \ud83d\udcfd\ufe0f ",(0,t.jsx)(i.a,{href:"https://youtube.com/shorts/Z76dMHK8POM?feature=share",children:"You don't need to program your figures manually"})]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"It utilizes the dynamic reevaluation features of WLJS Notebook as well as powerful syntax sugar of an input editor."}),"\n",(0,t.jsxs)(i.ol,{children:["\n",(0,t.jsxs)(i.li,{children:["Select 2D or 3D list of coordinates ",(0,t.jsx)(i.code,{children:"{}"})]}),"\n",(0,t.jsxs)(i.li,{children:["Type ",(0,t.jsx)(i.code,{children:"gizmo..."})," in the command palette"]}),"\n",(0,t.jsx)(i.li,{children:"Evaluate the cell"}),"\n",(0,t.jsx)(i.li,{children:"Drag gizmo to the desired position and click on a check mark"}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"It can also work in principle for most primitives"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(94638).c+"",width:"800",height:"538"})}),"\n",(0,t.jsxs)(i.admonition,{type:"tip",children:[(0,t.jsx)(i.p,{children:"Add an offset to a manipulated list, that a gizmo will not overlap with other graphics primitives. For example"}),(0,t.jsx)(o,{children:'Text["Hello World", ({0.5,0.5} + (*BB[*)({0.5,0.5})(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRAeB5AILqnMSXXKr0hjgskHleakFnMBGU6JydnpRfmleSlpzDDlQe5Ozvk5+UVFDGDwwR6dwcAAAAHdFiw="*)(*]BB*)) // Hold]'}),(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"Offload"})," or (",(0,t.jsx)(i.code,{children:"Hold"})," will also work) is necessary here to prevent Wolfram Kernel from distributing ",(0,t.jsx)(i.code,{children:"Plus"})," over each position of the list."]})]}),"\n",(0,t.jsx)(i.p,{children:"Or for 3D primitives as well"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(30830).c+"",width:"800",height:"538"})}),"\n",(0,t.jsx)(i.h2,{id:"format-wolfram-language-code",children:"Format Wolfram Language code"}),"\n",(0,t.jsx)(i.p,{children:"This is also a code formatter available"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(38808).c+"",width:"800",height:"538"})}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"It acts on a selected text or on the entire cell"})," if nothing is selected"]}),"\n",(0,t.jsx)(i.h2,{id:"text-formatting",children:"Text formatting"}),"\n",(0,t.jsx)(i.p,{children:"This snippet provides some basic tool for styling Wolfram expression, as well as text on slides, HTML and Markdown (it tries to guess the cell type and use a suitable method for each cell type)"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(59184).c+"",width:"800",height:"485"})}),"\n",(0,t.jsx)(i.admonition,{type:"warning",children:(0,t.jsx)(i.p,{children:"This feature is quite primitive and still in development"})}),"\n",(0,t.jsx)(i.h2,{id:"take-a-picture",children:"Take a picture"}),"\n",(0,t.jsxs)(i.p,{children:["It uses your active web camera pipes a picture to Wolfram Kernel as ",(0,t.jsx)(i.a,{href:"/frontend/Reference/Graphics/Image",children:"Image"})," object"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(24924).c+"",width:"796",height:"406"})}),"\n",(0,t.jsx)(i.h2,{id:"install-wolfram-packages-from-github",children:"Install Wolfram Packages from Github"}),"\n",(0,t.jsxs)(i.p,{children:["If you past a url to a Github repository into command palette, which contains ",(0,t.jsx)(i.code,{children:"PacletInfo.wl"})," file in the root directory"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{src:n(22412).c+"",width:"1580",height:"420"})}),"\n",(0,t.jsx)(i.p,{children:"it will automatically install it locally in the folder of the current notebook."})]})}function h(e={}){const{wrapper:i}={...(0,s.M)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},80008:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/ASKAI optimizer-0612abc75688bae6f64ef1680b0bb319.gif"},64924:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screen Recording Apr 8 (1)-bd2e4754fce9c93a37bf52db74ce03d4.gif"},30174:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screen Recording Apr 8 (2)-7a237c29f6d38e4c985af81031538e27.gif"},86260:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screen Recording Apr 8 (3)-a5b564409586bc3434e3c63a91b22453.gif"},94638:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screen Recording Apr 8 (4)-e08e04dd44047ac3f3d601cbfc0416f8.gif"},30830:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screen Recording Apr 8 (5)-5df85d0d9d86f829766b4b4aeb65b26b.gif"},38808:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screen Recording Apr 8 (6)-fbeba4781669232c6a70693624b7f1b5.gif"},70152:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screen Recording Apr 8-164c1b6d08c67bb9b0ef7694d24cab38.gif"},58484:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screenshot 2024-05-05 at 12.11.27-91a1c510316219bc20266c0d888e06eb.png"},22412:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/Screenshot 2024-05-10 at 21.35.19-cb91376cd85d662bb47a55fce0246ee7.png"},24924:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/TakeAPic speed-8bb201416a7557a89ebaefea65f705f7.gif"},59184:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/ToolbarT optimizer-42cd01a24a5ba9d9dfc7551fd9ee777c.gif"},49712:(e,i,n)=>{n.d(i,{c:()=>t});const t=n.p+"assets/images/snippetsover-56744cfedae264a377d16b2a98d3aec4.png"},4552:(e,i,n)=>{n.d(i,{I:()=>a,M:()=>r});var t=n(11504);const s={},o=t.createContext(s);function r(e){const i=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8324b54c.8672785c.js b/Documentation/assets/js/8324b54c.8672785c.js new file mode 100644 index 00000000..df6b8d55 --- /dev/null +++ b/Documentation/assets/js/8324b54c.8672785c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[1572],{48728:(A,i,e)=>{e.r(i),e.d(i,{assets:()=>E,contentTitle:()=>I,default:()=>a,frontMatter:()=>s,metadata:()=>l,toc:()=>g});var n=e(17624),t=e(4552);const s={sidebar_position:12},I=void 0,l={id:"frontend/Cell types/Files",title:"Files",description:"Image preview",source:"@site/docs/frontend/Cell types/Files.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Files",permalink:"/frontend/Cell types/Files",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1710356381e3,sidebarPosition:12,frontMatter:{sidebar_position:12},sidebar:"tutorialSidebar",previous:{title:"Javascript",permalink:"/frontend/Cell types/Javascript"},next:{title:"Many more",permalink:"/frontend/Cell types/Many more"}},E={},g=[{value:"Image preview",id:"image-preview",level:2},{value:"Reading and writing files",id:"reading-and-writing-files",level:2}];function c(A){const i={admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,t.M)(),...A.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h2,{id:"image-preview",children:"Image preview"}),"\n",(0,n.jsx)(i.p,{children:"You can drop any image available in the folder of your notebook and type in a new cell its filename"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-shell",children:"randompic.png\n"})}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{src:e(83564).c+"",width:"719",height:"492"})}),"\n",(0,n.jsx)(i.h2,{id:"reading-and-writing-files",children:"Reading and writing files"}),"\n",(0,n.jsxs)(i.p,{children:["In principle you can ",(0,n.jsx)(i.strong,{children:"print the content of any file"})," located in the notebook's folder by typing its name without line breaks"]}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{children:"filename.txt\n"})}),"\n",(0,n.jsx)(i.p,{children:"For writing this is the same, but the actual content goes from the next line"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{children:"filename.txt\nHello World\n"})}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{src:e(3116).c+"",width:"712",height:"91"})}),"\n",(0,n.jsx)(i.p,{children:"Or, if you are writing a package, it will come handy"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-mathematica",metastring:'title="cell 1"',children:'IR.wl\n\nBeginPackage["JerryI`Mirage`IR`"]\n\n(* utils *)\nMapHeld[f_, list_] := Table[Extract[Unevaluated[list], i, f], {i, 1, Length[Unevaluated[list]]}]\nSetAttributes[MapHeld, HoldAll]\n\nClearAll[Lexer]\nSetAttributes[Lexer, HoldAll]\n\n...\n'})}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{src:e(58432).c+"",width:"818",height:"484"})}),"\n",(0,n.jsx)(i.p,{children:"And then, it can be imported easily"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-mathematica",metastring:'title="cell 2"',children:'Get["IR.wl"];\n'})}),"\n",(0,n.jsx)(i.admonition,{type:"info",children:(0,n.jsx)(i.p,{children:"Frontend detects the file extension and tries to find a proper syntax highlighting scheme."})})]})}function a(A={}){const{wrapper:i}={...(0,t.M)(),...A.components};return i?(0,n.jsx)(i,{...A,children:(0,n.jsx)(c,{...A})}):c(A)}},83564:(A,i,e)=>{e.d(i,{c:()=>n});const n=e.p+"assets/images/Screenshot 2023-03-31 at 16.06.38-b4b4e7c3b7ae2ee5d23731b6fe3f3cd7.png"},3116:(A,i,e)=>{e.d(i,{c:()=>n});const n="data:image/png;base64,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"},58432:(A,i,e)=>{e.d(i,{c:()=>n});const n=e.p+"assets/images/Screenshot 2023-12-05 at 10.29.43-f9d7fd1f1b76a0df42a24d799644330b.png"},4552:(A,i,e)=>{e.d(i,{I:()=>l,M:()=>I});var n=e(11504);const t={},s=n.createContext(t);function I(A){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof A?A(i):{...i,...A}}),[i,A])}function l(A){let i;return i=A.disableParentContext?"function"==typeof A.components?A.components(t):A.components||t:I(A.components),n.createElement(s.Provider,{value:i},A.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8324b54c.9cda5c28.js b/Documentation/assets/js/8324b54c.9cda5c28.js deleted file mode 100644 index 5b31e84e..00000000 --- a/Documentation/assets/js/8324b54c.9cda5c28.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[1572],{48728:(A,i,e)=>{e.r(i),e.d(i,{assets:()=>E,contentTitle:()=>I,default:()=>a,frontMatter:()=>s,metadata:()=>l,toc:()=>g});var n=e(17624),t=e(4552);const s={sidebar_position:12},I=void 0,l={id:"frontend/Cell types/Files",title:"Files",description:"Image viewer",source:"@site/docs/frontend/Cell types/Files.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Files",permalink:"/frontend/Cell types/Files",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1710356381e3,sidebarPosition:12,frontMatter:{sidebar_position:12},sidebar:"tutorialSidebar",previous:{title:"Javascript",permalink:"/frontend/Cell types/Javascript"},next:{title:"Many more",permalink:"/frontend/Cell types/Many more"}},E={},g=[{value:"Image viewer",id:"image-viewer",level:2},{value:"Reading and writing files",id:"reading-and-writing-files",level:2}];function c(A){const i={admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",...(0,t.M)(),...A.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h2,{id:"image-viewer",children:"Image viewer"}),"\n",(0,n.jsx)(i.p,{children:"You can drop any image available in the folder of your notebook and type in a new cell its filename"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-shell",children:"randompic.png\n"})}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{src:e(83564).c+"",width:"719",height:"492"})}),"\n",(0,n.jsx)(i.h2,{id:"reading-and-writing-files",children:"Reading and writing files"}),"\n",(0,n.jsxs)(i.p,{children:["In principle you can ",(0,n.jsx)(i.strong,{children:"print the content of any file"})," located in the notebook's folder by typing its name without line breaks"]}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{children:"filename.txt\n"})}),"\n",(0,n.jsx)(i.p,{children:"For writing this is the same, but the actual content goes from the next line"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{children:"filename.txt\nHello World\n"})}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{src:e(3116).c+"",width:"712",height:"91"})}),"\n",(0,n.jsx)(i.p,{children:"Or, if you are writing a package, it will come handy"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-mathematica",metastring:'title="cell 1"',children:'IR.wl\n\nBeginPackage["JerryI`Mirage`IR`"]\n\n(* utils *)\nMapHeld[f_, list_] := Table[Extract[Unevaluated[list], i, f], {i, 1, Length[Unevaluated[list]]}]\nSetAttributes[MapHeld, HoldAll]\n\nClearAll[Lexer]\nSetAttributes[Lexer, HoldAll]\n\n...\n'})}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{src:e(58432).c+"",width:"818",height:"484"})}),"\n",(0,n.jsx)(i.p,{children:"And then, it can be imported easily"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-mathematica",metastring:'title="cell 2"',children:'Get["IR.wl"];\n'})}),"\n",(0,n.jsx)(i.admonition,{type:"info",children:(0,n.jsx)(i.p,{children:"Frontend detects the file extension and tries to find a proper syntax highlighting scheme."})})]})}function a(A={}){const{wrapper:i}={...(0,t.M)(),...A.components};return i?(0,n.jsx)(i,{...A,children:(0,n.jsx)(c,{...A})}):c(A)}},83564:(A,i,e)=>{e.d(i,{c:()=>n});const n=e.p+"assets/images/Screenshot 2023-03-31 at 16.06.38-b4b4e7c3b7ae2ee5d23731b6fe3f3cd7.png"},3116:(A,i,e)=>{e.d(i,{c:()=>n});const n="data:image/png;base64,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"},58432:(A,i,e)=>{e.d(i,{c:()=>n});const n=e.p+"assets/images/Screenshot 2023-12-05 at 10.29.43-f9d7fd1f1b76a0df42a24d799644330b.png"},4552:(A,i,e)=>{e.d(i,{I:()=>l,M:()=>I});var n=e(11504);const t={},s=n.createContext(t);function I(A){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof A?A(i):{...i,...A}}),[i,A])}function l(A){let i;return i=A.disableParentContext?"function"==typeof A.components?A.components(t):A.components||t:I(A.components),n.createElement(s.Provider,{value:i},A.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/83311d65.bec8bc30.js b/Documentation/assets/js/83311d65.bec8bc30.js new file mode 100644 index 00000000..17899a70 --- /dev/null +++ b/Documentation/assets/js/83311d65.bec8bc30.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[7368],{68672:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var r=t(17624),o=t(4552);const s={env:["WLJS"],package:"wljs-graphics3d-threejs",update:!0},c=void 0,i={id:"frontend/Reference/Graphics3D/Point",title:"Point",description:"represents 3D point",source:"@site/docs/frontend/Reference/Graphics3D/Point.md",sourceDirName:"frontend/Reference/Graphics3D",slug:"/frontend/Reference/Graphics3D/Point",permalink:"/frontend/Reference/Graphics3D/Point",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1719476154e3,frontMatter:{env:["WLJS"],package:"wljs-graphics3d-threejs",update:!0},sidebar:"tutorialSidebar",previous:{title:"Opacity",permalink:"/frontend/Reference/Graphics3D/Opacity"},next:{title:"PointLight",permalink:"/frontend/Reference/Graphics3D/PointLight"}},a={},p=[];function d(e){const n={code:"code",p:"p",pre:"pre",...(0,o.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"represents 3D point"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Point[{x,y,z}] \n"})}),"\n",(0,r.jsx)(n.p,{children:"or set of points"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Point[p_List] \n"})})]})}function l(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>i,M:()=>c});var r=t(11504);const o={},s=r.createContext(o);function c(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/83c219e5.800fe2da.js b/Documentation/assets/js/83c219e5.800fe2da.js deleted file mode 100644 index 570cdb27..00000000 --- a/Documentation/assets/js/83c219e5.800fe2da.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[7876],{2492:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>f,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var o=n(17624),r=n(4552);const i={env:["Wolfram Kernel"],update:null,origin:"https://reference.wolfram.com/language/ref/ListVectorPlot.html"},c=void 0,l={id:"frontend/Reference/Plotting Functions/ListVectorPlot",title:"ListVectorPlot",description:"Plot the vector field interpolated from a specified set of vectors",source:"@site/docs/frontend/Reference/Plotting Functions/ListVectorPlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/ListVectorPlot",permalink:"/frontend/Reference/Plotting Functions/ListVectorPlot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["Wolfram Kernel"],update:null,origin:"https://reference.wolfram.com/language/ref/ListVectorPlot.html"},sidebar:"tutorialSidebar",previous:{title:"ListStepPlot",permalink:"/frontend/Reference/Plotting Functions/ListStepPlot"},next:{title:"ManipulatePlot",permalink:"/frontend/Reference/Plotting Functions/ManipulatePlot"}},s={},a=[];function d(e){const t={a:"a",code:"code",p:"p",pre:"pre",...(0,r.M)(),...e.components},{Wl:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Plot the vector field interpolated from a specified set of vectors"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-mathematica",children:"ListVectorPlot[Table[{y, -x}, {x, -3, 3, 0.2}, {y, -3, 3, 0.2}]]\n"})}),"\n",(0,o.jsx)(n,{children:"ListVectorPlot[Table[{y, -x}, {x, -3, 3, 0.2}, {y, -3, 3, 0.2}], ImageSize->500]"}),"\n",(0,o.jsxs)(t.p,{children:["It provides the same options as ",(0,o.jsx)(t.a,{href:"/frontend/Reference/Plotting%20Functions/VectorPlot",children:"VectorPlot"})]})]})}function f(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>c});var o=n(11504);const r={},i=o.createContext(r);function c(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/83c219e5.fdb05a7e.js b/Documentation/assets/js/83c219e5.fdb05a7e.js new file mode 100644 index 00000000..88cdde94 --- /dev/null +++ b/Documentation/assets/js/83c219e5.fdb05a7e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[7876],{2492:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>f,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var o=n(17624),r=n(4552);const i={env:["Wolfram Kernel"],update:null,origin:"https://reference.wolfram.com/language/ref/ListVectorPlot.html"},c=void 0,l={id:"frontend/Reference/Plotting Functions/ListVectorPlot",title:"ListVectorPlot",description:"Plot the vector field interpolated from a specified set of vectors",source:"@site/docs/frontend/Reference/Plotting Functions/ListVectorPlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/ListVectorPlot",permalink:"/frontend/Reference/Plotting Functions/ListVectorPlot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["Wolfram Kernel"],update:null,origin:"https://reference.wolfram.com/language/ref/ListVectorPlot.html"},sidebar:"tutorialSidebar",previous:{title:"ListStepPlot",permalink:"/frontend/Reference/Plotting Functions/ListStepPlot"},next:{title:"ManipulateParametricPlot",permalink:"/frontend/Reference/Plotting Functions/ManipulateParametricPlot"}},s={},a=[];function d(e){const t={a:"a",code:"code",p:"p",pre:"pre",...(0,r.M)(),...e.components},{Wl:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Plot the vector field interpolated from a specified set of vectors"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-mathematica",children:"ListVectorPlot[Table[{y, -x}, {x, -3, 3, 0.2}, {y, -3, 3, 0.2}]]\n"})}),"\n",(0,o.jsx)(n,{children:"ListVectorPlot[Table[{y, -x}, {x, -3, 3, 0.2}, {y, -3, 3, 0.2}], ImageSize->500]"}),"\n",(0,o.jsxs)(t.p,{children:["It provides the same options as ",(0,o.jsx)(t.a,{href:"/frontend/Reference/Plotting%20Functions/VectorPlot",children:"VectorPlot"})]})]})}function f(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>c});var o=n(11504);const r={},i=o.createContext(r);function c(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/83f7364b.6426c6dc.js b/Documentation/assets/js/83f7364b.6426c6dc.js deleted file mode 100644 index 2e368fec..00000000 --- a/Documentation/assets/js/83f7364b.6426c6dc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4794],{51060:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var i=n(17624),r=n(4552);const o={env:["WLJS"],source:"https://github.com/JerryI/Mathematica-ThreeJS-graphics-engine/blob/dev/src/kernel.js",update:!0,package:"wljs-graphics3d-threejs"},s=void 0,c={id:"frontend/Reference/Graphics3D/PointLight",title:"PointLight",description:"represents an artificial point-light source at the given position and parameters.",source:"@site/docs/frontend/Reference/Graphics3D/PointLight.md",sourceDirName:"frontend/Reference/Graphics3D",slug:"/frontend/Reference/Graphics3D/PointLight",permalink:"/frontend/Reference/Graphics3D/PointLight",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["WLJS"],source:"https://github.com/JerryI/Mathematica-ThreeJS-graphics-engine/blob/dev/src/kernel.js",update:!0,package:"wljs-graphics3d-threejs"},sidebar:"tutorialSidebar",previous:{title:"Opacity",permalink:"/frontend/Reference/Graphics3D/Opacity"},next:{title:"Polygon",permalink:"/frontend/Reference/Graphics3D/Polygon"}},a={},d=[{value:"Dynamics",id:"dynamics",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,r.M)(),...e.components},{Wl:o}=t;return o||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-mathematica",children:"PointLight[col_RGBColor, position_:{0,0,10}, intensity_:100, distance_:0, decay_:2]\n"})}),"\n",(0,i.jsx)(t.p,{children:"represents an artificial point-light source at the given position and parameters."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-mathematica",children:'Graphics3D[{Black,Polygon[ {{-5,5,-1}, {5,5,-1}, {5,-5,-1}, {-5,-5,-1}}], White, Cuboid[{-1,-1,-1}, {1,1,1}], PointLight[Red, {1.5075, 4.1557, 2.6129}, 100], PointLight[Cyan, {-2.4489, -1.9012, 2.8386}, 100]}, "Lighting"->None]\n'})}),"\n",(0,i.jsx)(o,{children:'\nGraphics3D[{Black,Polygon[ {{-5,5,-1}, {5,5,-1}, {5,-5,-1}, {-5,-5,-1}}], White, Cuboid[{-1,-1,-1}, {1,1,1}], PointLight[Red, {1.5075, 4.1557, 2.6129}, 100], PointLight[Cyan, {-2.4489, -1.9012, 2.8386}, 100]}, "Lighting"->None]'}),"\n",(0,i.jsx)(t.h2,{id:"dynamics",children:"Dynamics"}),"\n",(0,i.jsxs)(t.p,{children:["Only ",(0,i.jsx)(t.code,{children:"position"})," field supports dynamic updates. Use gizmo snippet to manipulate the light source position or ",(0,i.jsx)(t.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," keyword.\n",(0,i.jsx)(t.img,{src:n(79276).c+"",width:"370",height:"228"})]})]})}function h(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},79276:(e,t,n)=>{n.d(t,{c:()=>i});const i=n.p+"assets/images/fdfd-c84e55670bfad49365072bdf50c2d4fa.png"},4552:(e,t,n)=>{n.d(t,{I:()=>c,M:()=>s});var i=n(11504);const r={},o=i.createContext(r);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/83f7364b.f8e220cf.js b/Documentation/assets/js/83f7364b.f8e220cf.js new file mode 100644 index 00000000..d1a67745 --- /dev/null +++ b/Documentation/assets/js/83f7364b.f8e220cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[4794],{51060:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var i=t(17624),r=t(4552);const o={env:["WLJS"],source:"https://github.com/JerryI/Mathematica-ThreeJS-graphics-engine/blob/dev/src/kernel.js",update:!0,package:"wljs-graphics3d-threejs"},s=void 0,c={id:"frontend/Reference/Graphics3D/PointLight",title:"PointLight",description:"represents an artificial point-light source at the given position and parameters.",source:"@site/docs/frontend/Reference/Graphics3D/PointLight.md",sourceDirName:"frontend/Reference/Graphics3D",slug:"/frontend/Reference/Graphics3D/PointLight",permalink:"/frontend/Reference/Graphics3D/PointLight",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["WLJS"],source:"https://github.com/JerryI/Mathematica-ThreeJS-graphics-engine/blob/dev/src/kernel.js",update:!0,package:"wljs-graphics3d-threejs"},sidebar:"tutorialSidebar",previous:{title:"Point",permalink:"/frontend/Reference/Graphics3D/Point"},next:{title:"Polygon",permalink:"/frontend/Reference/Graphics3D/Polygon"}},a={},d=[{value:"Dynamics",id:"dynamics",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,r.M)(),...e.components},{Wl:o}=n;return o||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"PointLight[col_RGBColor, position_:{0,0,10}, intensity_:100, distance_:0, decay_:2]\n"})}),"\n",(0,i.jsx)(n.p,{children:"represents an artificial point-light source at the given position and parameters."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:'Graphics3D[{Black,Polygon[ {{-5,5,-1}, {5,5,-1}, {5,-5,-1}, {-5,-5,-1}}], White, Cuboid[{-1,-1,-1}, {1,1,1}], PointLight[Red, {1.5075, 4.1557, 2.6129}, 100], PointLight[Cyan, {-2.4489, -1.9012, 2.8386}, 100]}, "Lighting"->None]\n'})}),"\n",(0,i.jsx)(o,{children:'\nGraphics3D[{Black,Polygon[ {{-5,5,-1}, {5,5,-1}, {5,-5,-1}, {-5,-5,-1}}], White, Cuboid[{-1,-1,-1}, {1,1,1}], PointLight[Red, {1.5075, 4.1557, 2.6129}, 100], PointLight[Cyan, {-2.4489, -1.9012, 2.8386}, 100]}, "Lighting"->None]'}),"\n",(0,i.jsx)(n.h2,{id:"dynamics",children:"Dynamics"}),"\n",(0,i.jsxs)(n.p,{children:["Only ",(0,i.jsx)(n.code,{children:"position"})," field supports dynamic updates. Use gizmo snippet to manipulate the light source position or ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," keyword.\n",(0,i.jsx)(n.img,{src:t(79276).c+"",width:"370",height:"228"})]})]})}function h(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},79276:(e,n,t)=>{t.d(n,{c:()=>i});const i=t.p+"assets/images/fdfd-c84e55670bfad49365072bdf50c2d4fa.png"},4552:(e,n,t)=>{t.d(n,{I:()=>c,M:()=>s});var i=t(11504);const r={},o=i.createContext(r);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8a4660c4.28c88d9f.js b/Documentation/assets/js/8a4660c4.28c88d9f.js new file mode 100644 index 00000000..f464115e --- /dev/null +++ b/Documentation/assets/js/8a4660c4.28c88d9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[472],{94944:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>a,toc:()=>t});var s=i(17624),d=i(4552);const l={sidebar_position:2},r=void 0,a={id:"frontend/Cell types/Markdown",title:"Markdown",description:"Type .md in the first line of an input cell",source:"@site/docs/frontend/Cell types/Markdown.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Markdown",permalink:"/frontend/Cell types/Markdown",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711834774e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Wolfram Language",permalink:"/frontend/Cell types/Wolfram Language"},next:{title:"HTML",permalink:"/frontend/Cell types/HTML"}},o={},t=[{value:"Markdown syntax",id:"markdown-syntax",level:2},{value:"Headings",id:"headings",level:3},{value:"Emphasis",id:"emphasis",level:3},{value:"Lists",id:"lists",level:3},{value:"Links",id:"links",level:3},{value:"Images",id:"images",level:3},{value:"Blockquotes",id:"blockquotes",level:3},{value:"Code",id:"code",level:3},{value:"Tables",id:"tables",level:3},{value:"Highlighter",id:"highlighter",level:3},{value:"Pure HTML",id:"pure-html",level:2},{value:"LaTeX",id:"latex",level:2},{value:"WLX",id:"wlx",level:2},{value:"Embed figures",id:"embed-figures",level:3},{value:"Autoupload",id:"autoupload",level:2},{value:"Drop a file",id:"drop-a-file",level:3},{value:"Paste media file",id:"paste-media-file",level:3}];function c(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,d.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:["Type ",(0,s.jsx)(n.code,{children:".md"})," in the first line of an input cell"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:i(83512).c+"",width:"1436",height:"658"})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:i(6332).c+"",width:"1436",height:"274"})}),"\n",(0,s.jsx)(n.h2,{id:"markdown-syntax",children:"Markdown syntax"}),"\n",(0,s.jsx)(n.h3,{id:"headings",children:"Headings"}),"\n",(0,s.jsxs)(n.p,{children:["Use ",(0,s.jsx)(n.code,{children:"#"})," for headings, increasing the number of ",(0,s.jsx)(n.code,{children:"#"})," for smaller headings:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n# Heading 1\n## Heading 2\n### Heading 3\n"})}),"\n",(0,s.jsx)(n.h3,{id:"emphasis",children:"Emphasis"}),"\n",(0,s.jsxs)(n.p,{children:["Use ",(0,s.jsx)(n.code,{children:"*"})," or ",(0,s.jsx)(n.code,{children:"_"})," for italics, and ",(0,s.jsx)(n.code,{children:"**"})," or ",(0,s.jsx)(n.code,{children:"__"})," for bold:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n*italic* or _italic_\n**bold** or __bold__\n"})}),"\n",(0,s.jsx)(n.h3,{id:"lists",children:"Lists"}),"\n",(0,s.jsxs)(n.p,{children:["Create unordered lists with ",(0,s.jsx)(n.code,{children:"*"}),", ",(0,s.jsx)(n.code,{children:"+"}),", or ",(0,s.jsx)(n.code,{children:"-"}),", and ordered lists with numbers followed by a period:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n\n- Item 1\n- Item 2\n - Subitem 1\n\n1. First item\n2. Second item\n 1. Subitem 1\n"})}),"\n",(0,s.jsx)(n.h3,{id:"links",children:"Links"}),"\n",(0,s.jsxs)(n.p,{children:["Create links using ",(0,s.jsx)(n.code,{children:"[text](URL)"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n[Tree](https://en.wikipedia.org/wiki/Tree)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"images",children:"Images"}),"\n",(0,s.jsxs)(n.p,{children:["Embed images using ",(0,s.jsx)(n.code,{children:"![alt text](URL)"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n![Tree](https://upload.wikimedia.org/wikipedia/commons/e/eb/Ash_Tree_-_geograph.org.uk_-_590710.jpg)\n"})}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["Files can be remote or local (in the notebook folder). ",(0,s.jsx)(n.strong,{children:"Try to drag and drop any image inside markdown cell"})]})}),"\n",(0,s.jsx)(n.h3,{id:"blockquotes",children:"Blockquotes"}),"\n",(0,s.jsxs)(n.p,{children:["Create blockquotes using ",(0,s.jsx)(n.code,{children:">"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n> This is a blockquote.\n"})}),"\n",(0,s.jsx)(n.h3,{id:"code",children:"Code"}),"\n",(0,s.jsx)(n.p,{children:"Inline code uses backticks, and code blocks are wrapped with triple backticks:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n\n`inline code`\n\n"})}),"\n",(0,s.jsx)(n.p,{children:"code block"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:".md\n\n### Horizontal Rule\nCreate a horizontal rule with three or more dashes, asterisks, or underscores:\n\n```markdown\n---\n***\n___\n"})}),"\n",(0,s.jsx)(n.h3,{id:"tables",children:"Tables"}),"\n",(0,s.jsxs)(n.p,{children:["Create tables using pipes ",(0,s.jsx)(n.code,{children:"|"})," and dashes ",(0,s.jsx)(n.code,{children:"-"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n\n| Header 1 | Header 2 |\n|----------|----------|\n| Cell 1 | Cell 2 |\n| Cell 3 | Cell 4 |\n"})}),"\n",(0,s.jsx)(n.h3,{id:"highlighter",children:"Highlighter"}),"\n",(0,s.jsxs)(n.p,{children:["Use ",(0,s.jsx)(n.code,{children:"=="})," wrapper to highlight text, i.e."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:".md\n==Hello World==\n"})}),"\n",(0,s.jsx)(n.h2,{id:"pure-html",children:"Pure HTML"}),"\n",(0,s.jsx)(n.p,{children:"One can also use plain HTML tags to stylize markdown or embed media objects"}),"\n",(0,s.jsx)(n.h2,{id:"latex",children:"LaTeX"}),"\n",(0,s.jsxs)(n.p,{children:["We use KaTeX as a render engine, to type a equation wrap it inside ",(0,s.jsx)(n.code,{children:"$"})," or ",(0,s.jsx)(n.code,{children:"$$"})," (for equation block)"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-markdown",children:".md\n\n$$\nE = \\\\hbar \\\\omega\n$$\n"})}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsxs)(n.p,{children:["Unfortunately, you have to escape all backslashes, i.e. instead of ",(0,s.jsx)(n.code,{children:"\\alpha"})," you need to write ",(0,s.jsx)(n.code,{children:"\\\\alpha"}),"."]})}),"\n",(0,s.jsx)(n.h2,{id:"wlx",children:"WLX"}),"\n",(0,s.jsxs)(n.p,{children:["Markdown cells supports features of ",(0,s.jsx)(n.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})," similar to how it is done in ",(0,s.jsx)(n.a,{href:"/frontend/Reference/Slides/",children:"Slides"})]}),"\n",(0,s.jsx)(n.h3,{id:"embed-figures",children:"Embed figures"}),"\n",(0,s.jsx)(n.h2,{id:"autoupload",children:"Autoupload"}),"\n",(0,s.jsx)(n.h3,{id:"drop-a-file",children:"Drop a file"}),"\n",(0,s.jsx)(n.h3,{id:"paste-media-file",children:"Paste media file"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.a,{href:"https://github.com/JerryI/wljs-markdown-support",children:"Github repo"})}),"\nTo switch to Markdown language use ",(0,s.jsx)(n.code,{children:".md"})," prefix on the first line"]})]})}function h(e={}){const{wrapper:n}={...(0,d.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},6332:(e,n,i)=>{i.d(n,{c:()=>s});const s=i.p+"assets/images/Screenshot 2024-03-13 at 19.29.21-5e8444b770076c7b878a839fea05d474.png"},83512:(e,n,i)=>{i.d(n,{c:()=>s});const s=i.p+"assets/images/Screenshot 2024-03-13 at 19.29.44-bf410a3f91fa786c0f41c414714d5f1b.png"},4552:(e,n,i)=>{i.d(n,{I:()=>a,M:()=>r});var s=i(11504);const d={},l=s.createContext(d);function r(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8a4660c4.c9798a9f.js b/Documentation/assets/js/8a4660c4.c9798a9f.js deleted file mode 100644 index 2ac66ac9..00000000 --- a/Documentation/assets/js/8a4660c4.c9798a9f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[472],{94944:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var o=n(17624),s=n(4552);const r={sidebar_position:2},a=void 0,i={id:"frontend/Cell types/Markdown",title:"Markdown",description:"Autoupload images",source:"@site/docs/frontend/Cell types/Markdown.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/Markdown",permalink:"/frontend/Cell types/Markdown",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711834774e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Wolfram Language",permalink:"/frontend/Cell types/Wolfram Language"},next:{title:"HTML",permalink:"/frontend/Cell types/HTML"}},d={},c=[{value:"Autoupload images",id:"autoupload-images",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",strong:"strong",...(0,s.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(83512).c+"",width:"1436",height:"658"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(6332).c+"",width:"1436",height:"274"})}),"\n",(0,o.jsx)(t.h2,{id:"autoupload-images",children:"Autoupload images"}),"\n",(0,o.jsx)(t.p,{children:"Drag and drop a file to the editor"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"https://github.com/JerryI/wljs-markdown-support",children:"Github repo"})}),"\nTo switch to Markdown language with LaTeX support use ",(0,o.jsx)(t.code,{children:".md"})," prefix on the first line"]})]})}function p(e={}){const{wrapper:t}={...(0,s.M)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},6332:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/Screenshot 2024-03-13 at 19.29.21-5e8444b770076c7b878a839fea05d474.png"},83512:(e,t,n)=>{n.d(t,{c:()=>o});const o=n.p+"assets/images/Screenshot 2024-03-13 at 19.29.44-bf410a3f91fa786c0f41c414714d5f1b.png"},4552:(e,t,n)=>{n.d(t,{I:()=>i,M:()=>a});var o=n(11504);const s={},r=o.createContext(s);function a(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8e40429b.7d63b3fa.js b/Documentation/assets/js/8e40429b.7d63b3fa.js new file mode 100644 index 00000000..e96c5ff1 --- /dev/null +++ b/Documentation/assets/js/8e40429b.7d63b3fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[392],{50480:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=t(17624),i=t(4552);const r={env:["WLJS"],source:"https://github.com/JerryI/wljs-editor/blob/dev/src/EditorKernel.wl",update:!0,package:"wljs-editor",context:"Notebook`EditorUtils`"},d=void 0,s={id:"frontend/Reference/GUI/EditorView",title:"EditorView",description:"A view component to spawn an code-editor (fully functional)",source:"@site/docs/frontend/Reference/GUI/EditorView.md",sourceDirName:"frontend/Reference/GUI",slug:"/frontend/Reference/GUI/EditorView",permalink:"/frontend/Reference/GUI/EditorView",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{env:["WLJS"],source:"https://github.com/JerryI/wljs-editor/blob/dev/src/EditorKernel.wl",update:!0,package:"wljs-editor",context:"Notebook`EditorUtils`"},sidebar:"tutorialSidebar",previous:{title:"FrontEndRef",permalink:"/frontend/Reference/Frontend Objects/FrontEndRef"},next:{title:"HTMLView",permalink:"/frontend/Reference/GUI/HTMLView"}},a={},c=[{value:"Event generation",id:"event-generation",level:2},{value:"Options",id:"options",level:2},{value:""Event"",id:"event",level:3},{value:""ReadOnly"",id:"readonly",level:3},{value:""ForceUpdate"",id:"forceupdate",level:3},{value:"Application",id:"application",level:2},{value:"Dev notes",id:"dev-notes",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"A view component to spawn an code-editor (fully functional)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"EditorView[expr_String | expr_Offload, opts___]\n"})}),"\n",(0,o.jsxs)(n.p,{children:["where ",(0,o.jsx)(n.code,{children:"expr"})," is a string, that represents an expression. It can receive updates and emit, when a user change the inner content."]}),"\n",(0,o.jsx)(n.admonition,{type:"danger",children:(0,o.jsxs)(n.p,{children:["Editor is usually quite slow, when it comes to updates, because of many decoration widgets used there. Please, ",(0,o.jsx)(n.strong,{children:"do not use it on a rapid changing data"}),", consider ",(0,o.jsx)(n.a,{href:"/frontend/Reference/GUI/TextView",children:"TextView"})," instead."]})}),"\n",(0,o.jsx)(n.h2,{id:"event-generation",children:"Event generation"}),"\n",(0,o.jsxs)(n.p,{children:["When ",(0,o.jsx)(n.code,{children:'"Event"'})," option is provided, it will send a new data in a form of a string."]}),"\n",(0,o.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,o.jsx)(n.h3,{id:"event",children:(0,o.jsx)(n.code,{children:'"Event"'})}),"\n",(0,o.jsxs)(n.p,{children:["Specifies an ",(0,o.jsx)(n.code,{children:"uid"})," of an event-object, that will be fired on-change."]}),"\n",(0,o.jsx)(n.h3,{id:"readonly",children:(0,o.jsx)(n.code,{children:'"ReadOnly"'})}),"\n",(0,o.jsxs)(n.p,{children:["Blocks the editing mode. The default value is ",(0,o.jsx)(n.code,{children:"False"})]}),"\n",(0,o.jsx)(n.h3,{id:"forceupdate",children:(0,o.jsx)(n.code,{children:'"ForceUpdate"'})}),"\n",(0,o.jsxs)(n.p,{children:["Fully updates an editor when ",(0,o.jsx)(n.code,{children:"expr"})," changes (rebuilds all widgets). By the default it is set to ",(0,o.jsx)(n.code,{children:"False"}),", which simplifies an update strategy and has less overhead."]}),"\n",(0,o.jsx)(n.h2,{id:"application",children:"Application"}),"\n",(0,o.jsxs)(n.p,{children:["If you want to show the dynamic symbols content, use it together with ",(0,o.jsx)(n.code,{children:"ToString[expr, StandardForm]"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"EventHandler[InputRange[1,10,1,1], Function[n,\n series = ToString[Series[Sin[x], {x,0,n}] // Normal, StandardForm];\n]]\nEventFire[%, 1];\n\nEditorView[series // Offload]\n"})}),"\n",(0,o.jsx)(n.h2,{id:"dev-notes",children:"Dev notes"}),"\n",(0,o.jsxs)(n.p,{children:["This is used in ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Decorations/InterpretationBox",children:"InterpretationBox"})," implementation to replace a WL expression using a user-provided WL expression in a code editor."]})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>d});var o=t(11504);const i={},r=o.createContext(i);function d(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/8e40429b.8106a84f.js b/Documentation/assets/js/8e40429b.8106a84f.js deleted file mode 100644 index 7b9f5cba..00000000 --- a/Documentation/assets/js/8e40429b.8106a84f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[392],{50480:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=t(17624),i=t(4552);const r={env:["WLJS"],source:"https://github.com/JerryI/wljs-editor/blob/dev/src/EditorKernel.wl",update:!0,package:"wljs-editor",context:"Notebook`EditorUtils`"},d=void 0,s={id:"frontend/Reference/GUI/EditorView",title:"EditorView",description:"A view component to spawn an code-editor (fully functional)",source:"@site/docs/frontend/Reference/GUI/EditorView.md",sourceDirName:"frontend/Reference/GUI",slug:"/frontend/Reference/GUI/EditorView",permalink:"/frontend/Reference/GUI/EditorView",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{env:["WLJS"],source:"https://github.com/JerryI/wljs-editor/blob/dev/src/EditorKernel.wl",update:!0,package:"wljs-editor",context:"Notebook`EditorUtils`"},sidebar:"tutorialSidebar",previous:{title:"FrontEndRef",permalink:"/frontend/Reference/Frontend Objects/FrontEndRef"},next:{title:"HTMLView",permalink:"/frontend/Reference/GUI/HTMLView"}},a={},c=[{value:"Event generation",id:"event-generation",level:2},{value:"Options",id:"options",level:2},{value:""Event"",id:"event",level:3},{value:""ReadOnly"",id:"readonly",level:3},{value:"Application",id:"application",level:2},{value:"Dev notes",id:"dev-notes",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"A view component to spawn an code-editor (fully functional)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"EditorView[expr_String, opts___]\n"})}),"\n",(0,o.jsxs)(n.p,{children:["where ",(0,o.jsx)(n.code,{children:"expr"})," is a string, that represents an expression. It can receive updates and emit, when a user change the inner content."]}),"\n",(0,o.jsx)(n.admonition,{type:"danger",children:(0,o.jsxs)(n.p,{children:["Editor is usually quite slow, when it comes to updates, because of many decoration widgets used there. Please, ",(0,o.jsx)(n.strong,{children:"do not use it on a rapid changing data"}),", consider ",(0,o.jsx)(n.a,{href:"/frontend/Reference/GUI/TextView",children:"TextView"})," instead."]})}),"\n",(0,o.jsx)(n.h2,{id:"event-generation",children:"Event generation"}),"\n",(0,o.jsxs)(n.p,{children:["When ",(0,o.jsx)(n.code,{children:'"Event"'})," option is provided, it will send a new data in a form of a string."]}),"\n",(0,o.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,o.jsx)(n.h3,{id:"event",children:(0,o.jsx)(n.code,{children:'"Event"'})}),"\n",(0,o.jsxs)(n.p,{children:["Specifies an ",(0,o.jsx)(n.code,{children:"uid"})," of an event-object, that will be fired on-change."]}),"\n",(0,o.jsx)(n.h3,{id:"readonly",children:(0,o.jsx)(n.code,{children:'"ReadOnly"'})}),"\n",(0,o.jsxs)(n.p,{children:["Blocks the editing mode. The default value is ",(0,o.jsx)(n.code,{children:"False"})]}),"\n",(0,o.jsx)(n.h2,{id:"application",children:"Application"}),"\n",(0,o.jsxs)(n.p,{children:["If you want to show the dynamic symbols content, use it together with ",(0,o.jsx)(n.code,{children:"ToString[expr, StandardForm]"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"EventHandler[InputRange[1,10,1,1], Function[n,\n series = ToString[Series[Sin[x], {x,0,n}] // Normal, StandardForm];\n]]\nEventFire[%, 1];\n\nEditorView[series // Offload]\n"})}),"\n",(0,o.jsx)(n.h2,{id:"dev-notes",children:"Dev notes"}),"\n",(0,o.jsxs)(n.p,{children:["This is used in ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Decorations/InterpretationBox",children:"InterpretationBox"})," implementation to replace a WL expression using a user-provided WL expression in a code editor."]})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>d});var o=t(11504);const i={},r=o.createContext(i);function d(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/990d7600.22458d08.js b/Documentation/assets/js/990d7600.22458d08.js deleted file mode 100644 index 3e0ed389..00000000 --- a/Documentation/assets/js/990d7600.22458d08.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[6238],{56852:(e,A,n)=>{n.r(A),n.d(A,{assets:()=>s,contentTitle:()=>a,default:()=>l,frontMatter:()=>c,metadata:()=>o,toc:()=>d});var i=n(17624),t=n(4552);const c={},a=void 0,o={id:"frontend/Reference/Decorations/Pane",title:"Pane",description:"displays as a pane containing\xa0expr.",source:"@site/docs/frontend/Reference/Decorations/Pane.md",sourceDirName:"frontend/Reference/Decorations",slug:"/frontend/Reference/Decorations/Pane",permalink:"/frontend/Reference/Decorations/Pane",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1716641823e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"NumberForm",permalink:"/frontend/Reference/Decorations/NumberForm"},next:{title:"PaneBox",permalink:"/frontend/Reference/Decorations/PaneBox"}},s={},d=[{value:"Options",id:"options",level:2},{value:"ImageSize",id:"imagesize",level:3},{value:"Examples",id:"examples",level:2}];function r(e){const A={code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[expr_]\n"})}),"\n",(0,i.jsxs)(A.p,{children:["displays as a pane containing\xa0",(0,i.jsx)(A.code,{children:"expr"}),"."]}),"\n",(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[expr_, w_]\n"})}),"\n",(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[expr_, {w_, h_}]\n"})}),"\n",(0,i.jsx)(A.p,{children:"displays with a given container size."}),"\n",(0,i.jsx)(A.h2,{id:"options",children:"Options"}),"\n",(0,i.jsx)(A.h3,{id:"imagesize",children:(0,i.jsx)(A.code,{children:"ImageSize"})}),"\n",(0,i.jsxs)(A.p,{children:["The effect is the same as if ",(0,i.jsx)(A.code,{children:"{w_, h_}"})," or ",(0,i.jsx)(A.code,{children:"w"})," were specified as a second argument."]}),"\n",(0,i.jsx)(A.h2,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[50!, 200]\n"})}),"\n",(0,i.jsx)(A.p,{children:(0,i.jsx)(A.img,{src:n(30936).c+"",width:"499",height:"53"})})]})}function l(e={}){const{wrapper:A}={...(0,t.M)(),...e.components};return A?(0,i.jsx)(A,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},30936:(e,A,n)=>{n.d(A,{c:()=>i});const i="data:image/png;base64,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"},4552:(e,A,n)=>{n.d(A,{I:()=>o,M:()=>a});var i=n(11504);const t={},c=i.createContext(t);function a(e){const A=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(A):{...A,...e}}),[A,e])}function o(e){let A;return A=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(c.Provider,{value:A},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/990d7600.47564405.js b/Documentation/assets/js/990d7600.47564405.js new file mode 100644 index 00000000..e1464a38 --- /dev/null +++ b/Documentation/assets/js/990d7600.47564405.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[6238],{56852:(e,A,n)=>{n.r(A),n.d(A,{assets:()=>o,contentTitle:()=>a,default:()=>r,frontMatter:()=>c,metadata:()=>d,toc:()=>s});var i=n(17624),t=n(4552);const c={},a=void 0,d={id:"frontend/Reference/Decorations/Pane",title:"Pane",description:"displays as a pane containing\xa0expr.",source:"@site/docs/frontend/Reference/Decorations/Pane.md",sourceDirName:"frontend/Reference/Decorations",slug:"/frontend/Reference/Decorations/Pane",permalink:"/frontend/Reference/Decorations/Pane",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1719476154e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"NumberForm",permalink:"/frontend/Reference/Decorations/NumberForm"},next:{title:"PaneBox",permalink:"/frontend/Reference/Decorations/PaneBox"}},o={},s=[{value:"Methods",id:"methods",level:2},{value:"EventHandler",id:"eventhandler",level:3},{value:"Options",id:"options",level:2},{value:"ImageSize",id:"imagesize",level:3},{value:"Examples",id:"examples",level:2}];function l(e){const A={code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[expr_]\n"})}),"\n",(0,i.jsxs)(A.p,{children:["displays as a pane containing\xa0",(0,i.jsx)(A.code,{children:"expr"}),"."]}),"\n",(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[expr_, w_]\n"})}),"\n",(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[expr_, {w_, h_}]\n"})}),"\n",(0,i.jsx)(A.p,{children:"displays with a given container size."}),"\n",(0,i.jsx)(A.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(A.h3,{id:"eventhandler",children:(0,i.jsx)(A.code,{children:"EventHandler"})}),"\n",(0,i.jsxs)(A.p,{children:["It supports ",(0,i.jsx)(A.code,{children:"Click"})," event"]}),"\n",(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:'EventHandler[Pane["Click on me"], {"Click" -> Print}]\n'})}),"\n",(0,i.jsx)(A.h2,{id:"options",children:"Options"}),"\n",(0,i.jsx)(A.h3,{id:"imagesize",children:(0,i.jsx)(A.code,{children:"ImageSize"})}),"\n",(0,i.jsxs)(A.p,{children:["The effect is the same as if ",(0,i.jsx)(A.code,{children:"{w_, h_}"})," or ",(0,i.jsx)(A.code,{children:"w"})," were specified as a second argument."]}),"\n",(0,i.jsx)(A.h2,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(A.pre,{children:(0,i.jsx)(A.code,{className:"language-mathematica",children:"Pane[50!, 200]\n"})}),"\n",(0,i.jsx)(A.p,{children:(0,i.jsx)(A.img,{src:n(30936).c+"",width:"499",height:"53"})})]})}function r(e={}){const{wrapper:A}={...(0,t.M)(),...e.components};return A?(0,i.jsx)(A,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},30936:(e,A,n)=>{n.d(A,{c:()=>i});const i="data:image/png;base64,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"},4552:(e,A,n)=>{n.d(A,{I:()=>d,M:()=>a});var i=n(11504);const t={},c=i.createContext(t);function a(e){const A=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(A):{...A,...e}}),[A,e])}function d(e){let A;return A=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(c.Provider,{value:A},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/a75db82e.7231b86c.js b/Documentation/assets/js/a75db82e.7231b86c.js deleted file mode 100644 index bf04ecfe..00000000 --- a/Documentation/assets/js/a75db82e.7231b86c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9568],{59748:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>d,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>i});var t=n(17624),a=n(4552);const o={env:["WLJS"],context:"Notebook`Interpreter`",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl",package:"wljs-interpreter"},d=void 0,c={id:"frontend/Reference/Interpreter/ReadClipboard",title:"ReadClipboard",description:"returns text content of a user's clipboard.",source:"@site/docs/frontend/Reference/Interpreter/ReadClipboard.md",sourceDirName:"frontend/Reference/Interpreter",slug:"/frontend/Reference/Interpreter/ReadClipboard",permalink:"/frontend/Reference/Interpreter/ReadClipboard",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{env:["WLJS"],context:"Notebook`Interpreter`",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl",package:"wljs-interpreter"},sidebar:"tutorialSidebar",previous:{title:"OffloadFromEventObject",permalink:"/frontend/Reference/Interpreter/OffloadFromEventObject"},next:{title:"WindowScope",permalink:"/frontend/Reference/Interpreter/WindowScope"}},l={},i=[{value:"Example",id:"example",level:2},{value:"Read and alert",id:"read-and-alert",level:3},{value:"Read and get back to Wolfram Kernel",id:"read-and-get-back-to-wolfram-kernel",level:3}];function s(e){const r={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-mathematica",children:"ReadClipboard[] _String\n"})}),"\n",(0,t.jsx)(r.p,{children:"returns text content of a user's clipboard."}),"\n",(0,t.jsx)(r.h2,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(r.p,{children:["It is pure WLJS function, which has to be executed using ",(0,t.jsx)(r.a,{href:"/frontend/Reference/Frontend%20IO/FrontFetch",children:"FrontFetch"})," or ",(0,t.jsx)(r.a,{href:"/frontend/Reference/Frontend%20IO/FrontSubmit",children:"FrontSubmit"})]}),"\n",(0,t.jsx)(r.h3,{id:"read-and-alert",children:"Read and alert"}),"\n",(0,t.jsxs)(r.p,{children:["We will read it and then make a pop-up message using ",(0,t.jsx)(r.a,{href:"/frontend/Reference/Interpreter/Alert",children:"Alert"})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-mathematica",children:"FrontSubmit[Alert[ReadClipboard[]]]\n"})}),"\n",(0,t.jsx)(r.h3,{id:"read-and-get-back-to-wolfram-kernel",children:"Read and get back to Wolfram Kernel"}),"\n",(0,t.jsxs)(r.p,{children:["Here we use ",(0,t.jsx)(r.a,{href:"/frontend/Reference/Frontend%20IO/FrontFetch",children:"FrontFetch"})," to get the data back to Wolfram Kernel"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-mathematica",children:"FrontFetch[ReadClipboard[]] \n"})})]})}function p(e={}){const{wrapper:r}={...(0,a.M)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(s,{...e})}):s(e)}},4552:(e,r,n)=>{n.d(r,{I:()=>c,M:()=>d});var t=n(11504);const a={},o=t.createContext(a);function d(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:d(e.components),t.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/a75db82e.ae0eda34.js b/Documentation/assets/js/a75db82e.ae0eda34.js new file mode 100644 index 00000000..34c12467 --- /dev/null +++ b/Documentation/assets/js/a75db82e.ae0eda34.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9568],{59748:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>d,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var n=t(17624),a=t(4552);const o={env:["WLJS"],context:"Notebook`Interpreter`",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl",package:"wljs-interpreter"},d=void 0,c={id:"frontend/Reference/Interpreter/ReadClipboard",title:"ReadClipboard",description:"returns text content of a user's clipboard.",source:"@site/docs/frontend/Reference/Interpreter/ReadClipboard.md",sourceDirName:"frontend/Reference/Interpreter",slug:"/frontend/Reference/Interpreter/ReadClipboard",permalink:"/frontend/Reference/Interpreter/ReadClipboard",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{env:["WLJS"],context:"Notebook`Interpreter`",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl",package:"wljs-interpreter"},sidebar:"tutorialSidebar",previous:{title:"OffloadFromEventObject",permalink:"/frontend/Reference/Interpreter/OffloadFromEventObject"},next:{title:"Refresh",permalink:"/frontend/Reference/Interpreter/Refresh"}},l={},s=[{value:"Example",id:"example",level:2},{value:"Read and alert",id:"read-and-alert",level:3},{value:"Read and get back to Wolfram Kernel",id:"read-and-get-back-to-wolfram-kernel",level:3}];function i(e){const r={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-mathematica",children:"ReadClipboard[] _String\n"})}),"\n",(0,n.jsx)(r.p,{children:"returns text content of a user's clipboard."}),"\n",(0,n.jsx)(r.h2,{id:"example",children:"Example"}),"\n",(0,n.jsxs)(r.p,{children:["It is pure WLJS function, which has to be executed using ",(0,n.jsx)(r.a,{href:"/frontend/Reference/Frontend%20IO/FrontFetch",children:"FrontFetch"})," or ",(0,n.jsx)(r.a,{href:"/frontend/Reference/Frontend%20IO/FrontSubmit",children:"FrontSubmit"})]}),"\n",(0,n.jsx)(r.h3,{id:"read-and-alert",children:"Read and alert"}),"\n",(0,n.jsxs)(r.p,{children:["We will read it and then make a pop-up message using ",(0,n.jsx)(r.a,{href:"/frontend/Reference/Interpreter/Alert",children:"Alert"})]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-mathematica",children:"FrontSubmit[Alert[ReadClipboard[]]]\n"})}),"\n",(0,n.jsx)(r.h3,{id:"read-and-get-back-to-wolfram-kernel",children:"Read and get back to Wolfram Kernel"}),"\n",(0,n.jsxs)(r.p,{children:["Here we use ",(0,n.jsx)(r.a,{href:"/frontend/Reference/Frontend%20IO/FrontFetch",children:"FrontFetch"})," to get the data back to Wolfram Kernel"]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-mathematica",children:"FrontFetch[ReadClipboard[]] \n"})})]})}function p(e={}){const{wrapper:r}={...(0,a.M)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(i,{...e})}):i(e)}},4552:(e,r,t)=>{t.d(r,{I:()=>c,M:()=>d});var n=t(11504);const a={},o=n.createContext(a);function d(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:d(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/ab5b3660.37b07a97.js b/Documentation/assets/js/ab5b3660.37b07a97.js deleted file mode 100644 index 813c564c..00000000 --- a/Documentation/assets/js/ab5b3660.37b07a97.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3288],{66080:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>a});var l=i(17624),t=i(4552);const r={sidebar_position:6},o=void 0,s={id:"frontend/Guidelines",title:"Guidelines",description:"Still populating with a content",source:"@site/docs/frontend/Guidelines.md",sourceDirName:"frontend",slug:"/frontend/Guidelines",permalink:"/frontend/Guidelines",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717330746e3,sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Command palette",permalink:"/frontend/Command palette"},next:{title:"Advanced",permalink:"/category/advanced"}},d={},a=[{value:"Use shortcuts",id:"use-shortcuts",level:2},{value:"UI Operations",id:"ui-operations",level:3},{value:"Evaluation",id:"evaluation",level:3},{value:"Cells",id:"cells",level:3},{value:"Keep folders organized",id:"keep-folders-organized",level:2},{value:"Use NotebookStore for portability",id:"use-notebookstore-for-portability",level:2},{value:"Install everything locally",id:"install-everything-locally",level:2},{value:"Do not use Dynamic, Manipulate",id:"do-not-use-dynamic-manipulate",level:2},{value:"Dynamic",id:"dynamic",level:3},{value:"Manipulate",id:"manipulate",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.M)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.admonition,{type:"warning",children:(0,l.jsx)(n.p,{children:"Still populating with a content"})}),"\n",(0,l.jsx)(n.h2,{id:"use-shortcuts",children:"Use shortcuts"}),"\n",(0,l.jsx)(n.p,{children:"It improves user experience drastically"}),"\n",(0,l.jsx)(n.h3,{id:"ui-operations",children:"UI Operations"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["New notebook ",(0,l.jsx)(n.code,{children:"Cmd+N"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+N"})]}),"\n",(0,l.jsxs)(n.li,{children:["Open file ",(0,l.jsx)(n.code,{children:"Cmd+O"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+O"})]}),"\n",(0,l.jsxs)(n.li,{children:["Save ",(0,l.jsx)(n.code,{children:"Cmd+S"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+S"})]}),"\n",(0,l.jsxs)(n.li,{children:["Enter command palette ",(0,l.jsx)(n.code,{children:"Cmd+P"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+P"})]}),"\n",(0,l.jsxs)(n.li,{children:["Hide/Unhide current cell ",(0,l.jsx)(n.code,{children:"Cmd+2"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+W"})]}),"\n",(0,l.jsxs)(n.li,{children:["Clear outputs ",(0,l.jsx)(n.code,{children:"Cmd+U"}),", ",(0,l.jsx)(n.code,{children:"Alt+U"})]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"evaluation",children:"Evaluation"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Evaluate ",(0,l.jsx)(n.code,{children:"Shift+Enter"})]}),"\n",(0,l.jsxs)(n.li,{children:["Abort ",(0,l.jsx)(n.code,{children:"Cmd+."}),", ",(0,l.jsx)(n.code,{children:"Alt+."})]}),"\n",(0,l.jsxs)(n.li,{children:["Evaluate initialization cells ",(0,l.jsx)(n.code,{children:"Cmd+I"}),", ",(0,l.jsx)(n.code,{children:"Alt+I"})]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"cells",children:"Cells"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+/"})," make fraction on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+6"})," make superscript on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+2"})," make square root on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+-"})," make subscript on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl/Cmd + /"})," comment a line"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"keep-folders-organized",children:"Keep folders organized"}),"\n",(0,l.jsxs)(n.p,{children:["Various functions may produce ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Decorations/Iconize",children:"Iconize"})," objects, for storing large chunks of data, which are copied to ",(0,l.jsx)(n.code,{children:"./.iconized/"})," folder in the notebook directory. Any dropped images or files will be uploaded to ",(0,l.jsx)(n.code,{children:"./attachments/"})," directory. Therefore it is important to have a clear separation between your projects."]}),"\n",(0,l.jsxs)(n.h2,{id:"use-notebookstore-for-portability",children:["Use ",(0,l.jsx)(n.code,{children:"NotebookStore"})," for portability"]}),"\n",(0,l.jsxs)(n.p,{children:["If you want your notebook to be exported to a single editable ",(0,l.jsx)(n.code,{children:".html"})," ",(0,l.jsx)(n.a,{href:"/frontend/Export/HTML%20file",children:"HTML file"}),", use ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Cells%20and%20Notebook/NotebookStore",children:"NotebookStore"})," as a persistent storage for your raw data. In such case all images, graphs, and stored data will be kept."]}),"\n",(0,l.jsx)(n.h2,{id:"install-everything-locally",children:"Install everything locally"}),"\n",(0,l.jsx)(n.p,{children:"We promote the idea of storing libraries or paclets for Wolfram Language locally for each project. There is no other way to provide the reliable way of computing, storing data, reproducibility and independence from any remote resources"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",metastring:'title="example of a built-in package manager"',children:'PacletRepositories[{\n Github -> "https://github.com/KirillBelovTest/GPTLink"\n}]\n\n<{i.d(n,{I:()=>s,M:()=>o});var l=i(11504);const t={},r=l.createContext(t);function o(e){const n=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/ab5b3660.ec66507a.js b/Documentation/assets/js/ab5b3660.ec66507a.js new file mode 100644 index 00000000..46519199 --- /dev/null +++ b/Documentation/assets/js/ab5b3660.ec66507a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3288],{66080:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>a});var l=i(17624),t=i(4552);const r={sidebar_position:6},o=void 0,s={id:"frontend/Guidelines",title:"Guidelines",description:"Still populating with a content",source:"@site/docs/frontend/Guidelines.md",sourceDirName:"frontend",slug:"/frontend/Guidelines",permalink:"/frontend/Guidelines",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717330746e3,sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Command palette",permalink:"/frontend/Command palette"},next:{title:"Advanced",permalink:"/category/advanced"}},d={},a=[{value:"Use shortcuts",id:"use-shortcuts",level:2},{value:"UI Operations",id:"ui-operations",level:3},{value:"Evaluation",id:"evaluation",level:3},{value:"Cells",id:"cells",level:3},{value:"Keep folders organized",id:"keep-folders-organized",level:2},{value:"Use NotebookStore for portability",id:"use-notebookstore-for-portability",level:2},{value:"Install everything locally",id:"install-everything-locally",level:2},{value:"Do not use Dynamic, Manipulate",id:"do-not-use-dynamic-manipulate",level:2},{value:"Dynamic",id:"dynamic",level:3},{value:"Manipulate",id:"manipulate",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.M)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.admonition,{type:"warning",children:(0,l.jsx)(n.p,{children:"Still populating with a content"})}),"\n",(0,l.jsx)(n.h2,{id:"use-shortcuts",children:"Use shortcuts"}),"\n",(0,l.jsx)(n.p,{children:"It improves user experience drastically"}),"\n",(0,l.jsx)(n.h3,{id:"ui-operations",children:"UI Operations"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["New notebook ",(0,l.jsx)(n.code,{children:"Cmd+N"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+N"})]}),"\n",(0,l.jsxs)(n.li,{children:["Open file ",(0,l.jsx)(n.code,{children:"Cmd+O"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+O"})]}),"\n",(0,l.jsxs)(n.li,{children:["Save ",(0,l.jsx)(n.code,{children:"Cmd+S"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+S"})]}),"\n",(0,l.jsxs)(n.li,{children:["Enter command palette ",(0,l.jsx)(n.code,{children:"Cmd+P"}),", ",(0,l.jsx)(n.code,{children:"Ctrl+P"})]}),"\n",(0,l.jsxs)(n.li,{children:["Hide/Unhide current cell ",(0,l.jsx)(n.code,{children:"Cmd+2"}),", ",(0,l.jsx)(n.code,{children:"Alt+2"})]}),"\n",(0,l.jsxs)(n.li,{children:["Clear outputs ",(0,l.jsx)(n.code,{children:"Cmd+U"}),", ",(0,l.jsx)(n.code,{children:"Alt+U"})]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"evaluation",children:"Evaluation"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Evaluate ",(0,l.jsx)(n.code,{children:"Shift+Enter"})]}),"\n",(0,l.jsxs)(n.li,{children:["Abort ",(0,l.jsx)(n.code,{children:"Cmd+."}),", ",(0,l.jsx)(n.code,{children:"Alt+."})]}),"\n",(0,l.jsxs)(n.li,{children:["Evaluate initialization cells ",(0,l.jsx)(n.code,{children:"Cmd+I"}),", ",(0,l.jsx)(n.code,{children:"Alt+I"})]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"cells",children:"Cells"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+/"})," make fraction on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+6"})," make superscript on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+2"})," make square root on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl+-"})," make subscript on selected"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Ctrl/Cmd + /"})," comment a line"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"keep-folders-organized",children:"Keep folders organized"}),"\n",(0,l.jsxs)(n.p,{children:["Various functions may produce ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Decorations/Iconize",children:"Iconize"})," objects, for storing large chunks of data, which are copied to ",(0,l.jsx)(n.code,{children:"./.iconized/"})," folder in the notebook directory. Any dropped images or files will be uploaded to ",(0,l.jsx)(n.code,{children:"./attachments/"})," directory. Therefore it is important to have a clear separation between your projects."]}),"\n",(0,l.jsxs)(n.h2,{id:"use-notebookstore-for-portability",children:["Use ",(0,l.jsx)(n.code,{children:"NotebookStore"})," for portability"]}),"\n",(0,l.jsxs)(n.p,{children:["If you want your notebook to be exported to a single editable ",(0,l.jsx)(n.code,{children:".html"})," ",(0,l.jsx)(n.a,{href:"/frontend/Export/HTML",children:"HTML"}),", use ",(0,l.jsx)(n.a,{href:"/frontend/Reference/Cells%20and%20Notebook/NotebookStore",children:"NotebookStore"})," as a persistent storage for your raw data. In such case all images, graphs, and stored data will be kept."]}),"\n",(0,l.jsx)(n.h2,{id:"install-everything-locally",children:"Install everything locally"}),"\n",(0,l.jsx)(n.p,{children:"We promote the idea of storing libraries or paclets for Wolfram Language locally for each project. There is no other way to provide the reliable way of computing, storing data, reproducibility and independence from any remote resources"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-mathematica",metastring:'title="example of a built-in package manager"',children:'PacletRepositories[{\n Github -> "https://github.com/KirillBelovTest/GPTLink"\n}]\n\n<{i.d(n,{I:()=>s,M:()=>o});var l=i(11504);const t={},r=l.createContext(t);function o(e){const n=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/ad871de9.067f50e8.js b/Documentation/assets/js/ad871de9.067f50e8.js new file mode 100644 index 00000000..5b61bb9e --- /dev/null +++ b/Documentation/assets/js/ad871de9.067f50e8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[112],{23476:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>l});var s=i(17624),r=i(4552);const a={env:["WLJS"],package:"wljs-graphics-d3",update:!0,source:"https://github.com/JerryI/wljs-graphics-d3/blob/dev/src/kernel.js"},c=void 0,t={id:"frontend/Reference/Graphics/Image",title:"Image",description:"Represents a raster image and plots the list of pixel's colors to a canvas used in notebooks",source:"@site/docs/frontend/Reference/Graphics/Image.md",sourceDirName:"frontend/Reference/Graphics",slug:"/frontend/Reference/Graphics/Image",permalink:"/frontend/Reference/Graphics/Image",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1718527269e3,frontMatter:{env:["WLJS"],package:"wljs-graphics-d3",update:!0,source:"https://github.com/JerryI/wljs-graphics-d3/blob/dev/src/kernel.js"},sidebar:"tutorialSidebar",previous:{title:"Hue",permalink:"/frontend/Reference/Graphics/Hue"},next:{title:"Inset",permalink:"/frontend/Reference/Graphics/Inset"}},o={},l=[{value:"Options",id:"options",level:2},{value:"Magnification",id:"magnification",level:3},{value:"ImageSize",id:"imagesize",level:3},{value:"Antialiasing",id:"antialiasing",level:3},{value:"Examples",id:"examples",level:2},{value:"Direct",id:"direct",level:3},{value:"Indirect",id:"indirect",level:3},{value:"Dynamics",id:"dynamics",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.M)(),...e.components},{Wl:i}=n;return i||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Represents a raster image and plots the list of pixel's colors to a canvas used in notebooks"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:'Image[{row1_List, row2_List...} | n_NumericArray, encoding_:"Real32"]\n'})}),"\n",(0,s.jsxs)(n.p,{children:["where each ",(0,s.jsx)(n.code,{children:"row"})," is a list of pixel colors. It it better to pass ",(0,s.jsx)(n.code,{children:"NumericArray"})," for the best performance."]}),"\n",(0,s.jsxs)(n.p,{children:["The following ",(0,s.jsx)(n.code,{children:"encoding"})," is supported"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"Real32"'})," each pixel is encoded using a real value from 0 up-to 1. Corresponding ",(0,s.jsx)(n.code,{children:"NumericArray"})," format is ",(0,s.jsx)(n.code,{children:'"Real32"'})," (if applicable)."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"Byte"'})," each pixel is encoded using integer value from 0 up-to 255. Corresponding ",(0,s.jsx)(n.code,{children:"NumericArray"})," format is ",(0,s.jsx)(n.code,{children:'"UnsignedInteger8"'}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"Bit"'})," each pixel is either ",(0,s.jsx)(n.code,{children:"1"})," or ",(0,s.jsx)(n.code,{children:"0"})," (integer). Corresponding ",(0,s.jsx)(n.code,{children:"NumericArray"})," is ",(0,s.jsx)(n.code,{children:'"UnsignedInteger8"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"The first two"})," can be divided into groups by pixel format"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{R,G,B}"})," - each pixel is a list of numbers"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{R,G,B,A}"})," - each pixel is a list of numbers"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"I"})," grayscale - each pixel is a single number"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,s.jsx)(n.h3,{id:"magnification",children:(0,s.jsx)(n.code,{children:"Magnification"})}),"\n",(0,s.jsx)(n.p,{children:"Magnifies by an integer factor original pixels provided by an array"}),"\n",(0,s.jsx)(n.h3,{id:"imagesize",children:(0,s.jsx)(n.code,{children:"ImageSize"})}),"\n",(0,s.jsxs)(n.p,{children:["Acts similar to ",(0,s.jsx)(n.code,{children:"Magnification"})," and scales an image to match the width of provided size"]}),"\n",(0,s.jsx)(n.h3,{id:"antialiasing",children:(0,s.jsx)(n.code,{children:"Antialiasing"})}),"\n",(0,s.jsxs)(n.p,{children:["By the default is ",(0,s.jsx)(n.code,{children:"True"}),", which forces to use bilinear approximation when an image is shown scaled."]}),"\n",(0,s.jsx)(n.h2,{id:"examples",children:"Examples"}),"\n",(0,s.jsx)(n.h3,{id:"direct",children:"Direct"}),"\n",(0,s.jsx)(n.p,{children:"Show multiple iterations of a cellular automaton as a binary image"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:"Image[CellularAutomaton[30, {{1}, 0}, 40], Magnification->4]\n"})}),"\n",(0,s.jsx)(i,{children:"Image[CellularAutomaton[30, {{1}, 0}, 40]]"}),"\n",(0,s.jsx)(n.p,{children:"A random noise"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:"Image[Table[RandomInteger[{0,1}], {i, 200}, {j, 350}]]\n"})}),"\n",(0,s.jsx)(n.p,{children:"adding a color"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:'Image[Table[RandomInteger[{0,255}, 3], {i, 200}, {j, 350}], "Byte"]\n'})}),"\n",(0,s.jsx)(i,{children:"Image[Table[RandomInteger[{0,255}, 3], {i, 200}, {j, 350}]]"}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsxs)(n.p,{children:["Use ",(0,s.jsx)(n.code,{children:"NumericArray"})," to provide and handle pixel data. It has to be a nested list of lists as usual. There is a following correspondence. ",(0,s.jsx)(n.code,{children:"Byte"})," and ",(0,s.jsx)(n.code,{children:"UnsignedInteger8"})," combo is the most efficient.\n::"]}),(0,s.jsx)(n.h3,{id:"indirect",children:"Indirect"}),(0,s.jsxs)(n.p,{children:["One can also use ",(0,s.jsx)(n.code,{children:"Rasterize"})," function to show any expressions as an image"]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:"x + y // Rasterize\n"})}),(0,s.jsx)(i,{children:"x + y // Rasterize"}),(0,s.jsx)(n.h2,{id:"dynamics",children:"Dynamics"}),(0,s.jsx)(n.p,{children:"It does support dynamic variables. For example"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:'Puffer = {{1, 4}, {2, 5}, {3, 1}, {3, 5}, {4, 2}, {4, 3}, {4, 4}, {4,\n 5}, {8, 1}, {9, 2}, {9, 3}, {10, 3}, {11, 3}, {12, 2}, {15, 1}, {15,\n 4}, {16, 5}, {17, 1}, {17, 5}, {18, 2}, {18, 3}, {18, 4}, {18, 5}};\n\nboard = NumericArray[\n CellularAutomaton["GameOfLife", {SparseArray[Puffer\n -> 1], 0}, {{500}}] // First\n, "UnsignedInteger8"];\n\nImage[board // Offload, "Bit", Magnification -> 3, Antialiasing->False]\n'})}),(0,s.jsx)(n.p,{children:"and now we can run the simulation with a desired speed"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-mathematica",children:'task = SetInterval[board = NumericArray[CellularAutomaton["GameOfLife",\n board // Normal, {{1}}] // First, "UnsignedInteger8"], 50];\n\nSetTimeout[TaskRemove[task], 5000];\n'})}),(0,s.jsxs)(n.p,{children:["See more examples in ",(0,s.jsx)(n.a,{href:"/frontend/Advanced/Dynamics/Raster%20animation",children:"Raster animation"})]})]})]})}function h(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},4552:(e,n,i)=>{i.d(n,{I:()=>t,M:()=>c});var s=i(11504);const r={},a=s.createContext(r);function c(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/ad871de9.d06a44e3.js b/Documentation/assets/js/ad871de9.d06a44e3.js deleted file mode 100644 index 514477d4..00000000 --- a/Documentation/assets/js/ad871de9.d06a44e3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[112],{23476:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var r=a(17624),s=a(4552);const t={env:["WLJS"],package:"wljs-graphics-d3",update:!0,source:"https://github.com/JerryI/wljs-graphics-d3/blob/dev/src/kernel.js"},i=void 0,c={id:"frontend/Reference/Graphics/Image",title:"Image",description:"Represents a raster image and plots the list of pixel's colors to a canvas used in notebooks",source:"@site/docs/frontend/Reference/Graphics/Image.md",sourceDirName:"frontend/Reference/Graphics",slug:"/frontend/Reference/Graphics/Image",permalink:"/frontend/Reference/Graphics/Image",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["WLJS"],package:"wljs-graphics-d3",update:!0,source:"https://github.com/JerryI/wljs-graphics-d3/blob/dev/src/kernel.js"},sidebar:"tutorialSidebar",previous:{title:"Hue",permalink:"/frontend/Reference/Graphics/Hue"},next:{title:"Inset",permalink:"/frontend/Reference/Graphics/Inset"}},l={},o=[{value:"Examples",id:"examples",level:2},{value:"Direct",id:"direct",level:3},{value:"Indirect",id:"indirect",level:3},{value:"Dynamics",id:"dynamics",level:2}];function d(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.M)(),...e.components},{Wl:a}=n;return a||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Represents a raster image and plots the list of pixel's colors to a canvas used in notebooks"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Image[{row1_List, row2_List...}]\n"})}),"\n",(0,r.jsxs)(n.p,{children:["where each ",(0,r.jsx)(n.code,{children:"row"})," is a list of pixel colors. The color format can be"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["gray-scale ",(0,r.jsx)(n.code,{children:"0. - 1."})]}),"\n",(0,r.jsxs)(n.li,{children:["RGB ",(0,r.jsx)(n.code,{children:"{255,255,255}"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"examples",children:"Examples"}),"\n",(0,r.jsx)(n.h3,{id:"direct",children:"Direct"}),"\n",(0,r.jsx)(n.p,{children:"Show multiple iterations of a cellular automaton as a binary image"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Image[CellularAutomaton[30, {{1}, 0}, 40]]\n"})}),"\n",(0,r.jsx)(a,{children:"Image[CellularAutomaton[30, {{1}, 0}, 40]]"}),"\n",(0,r.jsx)(n.p,{children:"A random noise"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Image[Table[RandomInteger[{0,1}], {i, 200}, {j, 350}]]\n"})}),"\n",(0,r.jsx)(n.p,{children:"adding a color"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Image[Table[RandomInteger[{0,255}, 3], {i, 200}, {j, 350}]]\n"})}),"\n",(0,r.jsx)(a,{children:"Image[Table[RandomInteger[{0,255}, 3], {i, 200}, {j, 350}]]"}),"\n",(0,r.jsx)(n.h3,{id:"indirect",children:"Indirect"}),"\n",(0,r.jsxs)(n.p,{children:["One can also use ",(0,r.jsx)(n.code,{children:"Rasterize"})," function to show any expressions as an image"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"x + y // Rasterize\n"})}),"\n",(0,r.jsx)(a,{children:"x + y // Rasterize"}),"\n",(0,r.jsx)(n.h2,{id:"dynamics",children:"Dynamics"}),"\n",(0,r.jsx)(n.p,{children:"It does support dynamic variables. For example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:'Puffer = {{1, 4}, {2, 5}, {3, 1}, {3, 5}, {4, 2}, {4, 3}, {4, 4}, {4, \n 5}, {8, 1}, {9, 2}, {9, 3}, {10, 3}, {11, 3}, {12, 2}, {15, \n 1}, {15, 4}, {16, 5}, {17, 1}, {17, 5}, {18, 2}, {18, 3}, {18, \n 4}, {18, 5}};\nboard = CellularAutomaton["GameOfLife", {SparseArray[Puffer -> 1], 0}, {{500}}] // First;\nImage[board // Offload]\n'})}),"\n",(0,r.jsx)(n.p,{children:"and now we can run the simulation with a desired speed"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:'task = SetInterval[board = CellularAutomaton["GameOfLife", board, {{1}}] // First,\n 50\n];\n\nSetTimeout[TaskRemove[task], 5000];\n'})})]})}function h(e={}){const{wrapper:n}={...(0,s.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},4552:(e,n,a)=>{a.d(n,{I:()=>c,M:()=>i});var r=a(11504);const s={},t=r.createContext(s);function i(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/b3a2accb.53b4fb98.js b/Documentation/assets/js/b3a2accb.53b4fb98.js deleted file mode 100644 index adc3a3eb..00000000 --- a/Documentation/assets/js/b3a2accb.53b4fb98.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[1698],{78268:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>m,frontMatter:()=>s,metadata:()=>o,toc:()=>d});var i=a(17624),t=a(4552);const s={draft:!1},r=void 0,o={id:"frontend/Advanced/Dynamics/Raster animation",title:"Raster animation",description:"Raster graphics is not well optimized on WLJS Notebook for now. Consider to use it as rarely as possible.",source:"@site/docs/frontend/Advanced/Dynamics/Raster animation.md",sourceDirName:"frontend/Advanced/Dynamics",slug:"/frontend/Advanced/Dynamics/Raster animation",permalink:"/frontend/Advanced/Dynamics/Raster animation",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1716132984e3,frontMatter:{draft:!1},sidebar:"tutorialSidebar",previous:{title:"Prototyping",permalink:"/frontend/Advanced/Dynamics/Prototyping"},next:{title:"Scoping",permalink:"/frontend/Advanced/Dynamics/Scoping"}},c={},d=[{value:"Implementation",id:"implementation",level:3}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",...(0,t.M)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Raster graphics is not well optimized on WLJS Notebook for now. Consider to use it as rarely as possible."})}),"\n",(0,i.jsxs)(n.p,{children:["All raster graphics is rendered using ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Graphics/Image",children:"Image"})," expression, which also supports dynamic updates using ",(0,i.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," expression."]}),"\n",(0,i.jsxs)(n.p,{children:["Let us start from the practical example - ",(0,i.jsx)(n.strong,{children:"image distortion"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.img,{src:a(15592).c+"",width:"2560",height:"1280"}),"\n",(0,i.jsx)(n.em,{children:"Yandex Open Source Jam 2024"})]}),"\n",(0,i.jsx)(n.p,{children:"or this one"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.img,{src:a(26532).c+"",width:"641",height:"482"}),"\n",(0,i.jsxs)(n.em,{children:[(0,i.jsx)(n.a,{href:"https://stackoverflow.com/questions/36174431/how-to-make-a-wave-warp-effect-in-shader",children:"Stackoverflow"})," OpenGL"]})]}),"\n",(0,i.jsx)(n.h3,{id:"implementation",children:"Implementation"}),"\n",(0,i.jsx)(n.p,{children:"Let us take an example image firstly. Drag and drop it to an editor"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:a(85992).c+"",width:"729",height:"361"})}),"\n",(0,i.jsx)(n.p,{children:"and take a raw data from it"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"img = (* image *) // ImageData;\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now we can apply map function to it, which stretches and shrinks pixels periodically"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"shader = Compile[{{img, _Real, 3}, {phase, _Real}}, Module[{iter},\n With[{\n ysize = Length[img],\n xsize = Length[img[[1]]]\n },\n Table[\n iter = 1.0;\n Table[With[{\n yr = y,\n xr = If[# < 1, 1, If[# > xsize, xsize, #]] &@ Round[iter]\n },\n\n iter = iter + (1.0 + 0.7 Sin[6 Pi x / xsize + phase]);\n\n Floor[255 img[[yr, xr]]]\n \n \n ], {x, xsize}], {y, ysize}] \n ]\n]];\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Here we use ",(0,i.jsx)(n.code,{children:"Compile"})," to speed the process up, since there are only real arrays are involved. We do not apply any antialiasing filters, it does it in the nearest neighbors approximation. Let's check the result"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",children:"shader[img, 0] // Image \n"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:a(93388).c+"",width:"711",height:"349"})}),"\n",(0,i.jsxs)(n.p,{children:["Since a performance is it great with raster graphics, we can rely on fixed time intervals while animating or a straight ",(0,i.jsx)(n.code,{children:"Do"})," loop"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 1"',children:"imageFrame = img;\nImage[imageFrame // Offload]\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 2"',children:"Do[\n imageFrame = shader[img, angle] // NumericArray;\n, {angle, 0, 2Pi, 0.1}]\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Use ",(0,i.jsx)(n.code,{children:"NumericArray"})," wrapper to speed up the parsing for numerical arrays on the frontend and Wolfram Kernel"]})}),"\n",(0,i.jsx)(n.p,{children:"The resulting animation"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:a(31996).c+"",width:"482",height:"346"})})]})}function m(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},15592:(e,n,a)=>{a.d(n,{c:()=>i});const i=a.p+"assets/images/Pasted image 20240514150707-b0d1e01e65464a81901279a741e916b7.png"},26532:(e,n,a)=>{a.d(n,{c:()=>i});const i=a.p+"assets/images/Pasted image 20240514150822-e6a140ba047f64db2649e38c40a24b40.png"},85992:(e,n,a)=>{a.d(n,{c:()=>i});const i=a.p+"assets/images/Screenshot 2024-05-14 at 15.10.37-2a23adcd5430ffd000749b5a65f23eba.png"},93388:(e,n,a)=>{a.d(n,{c:()=>i});const i=a.p+"assets/images/Screenshot 2024-05-14 at 15.18.05-7814fe04dc652fa5c9ddf85a3ed942ef.png"},31996:(e,n,a)=>{a.d(n,{c:()=>i});const i=a.p+"assets/images/goood-ezgif.com-optimize-f9408ecd1d27eedc351e5015a7aee603.gif"},4552:(e,n,a)=>{a.d(n,{I:()=>o,M:()=>r});var i=a(11504);const t={},s=i.createContext(t);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/b3a2accb.a06e1034.js b/Documentation/assets/js/b3a2accb.a06e1034.js new file mode 100644 index 00000000..0b9e8372 --- /dev/null +++ b/Documentation/assets/js/b3a2accb.a06e1034.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[1698],{78268:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>m,frontMatter:()=>s,metadata:()=>o,toc:()=>d});var t=i(17624),a=i(4552);const s={draft:!1},r=void 0,o={id:"frontend/Advanced/Dynamics/Raster animation",title:"Raster animation",description:"Raster graphics is not well optimized on WLJS Notebook for now. Consider to use it as rarely as possible.",source:"@site/docs/frontend/Advanced/Dynamics/Raster animation.md",sourceDirName:"frontend/Advanced/Dynamics",slug:"/frontend/Advanced/Dynamics/Raster animation",permalink:"/frontend/Advanced/Dynamics/Raster animation",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1718527269e3,frontMatter:{draft:!1},sidebar:"tutorialSidebar",previous:{title:"Prototyping",permalink:"/frontend/Advanced/Dynamics/Prototyping"},next:{title:"Scoping",permalink:"/frontend/Advanced/Dynamics/Scoping"}},c={},d=[{value:"Implementation",id:"implementation",level:3}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"Raster graphics is not well optimized on WLJS Notebook for now. Consider to use it as rarely as possible."})}),"\n",(0,t.jsxs)(n.p,{children:["All raster graphics is rendered using ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics/Image",children:"Image"})," expression, which also supports dynamic updates using ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," expression."]}),"\n",(0,t.jsxs)(n.p,{children:["Let us start from the practical example - ",(0,t.jsx)(n.strong,{children:"image distortion"})]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.img,{src:i(15592).c+"",width:"2560",height:"1280"}),"\n",(0,t.jsx)(n.em,{children:"Yandex Open Source Jam 2024"})]}),"\n",(0,t.jsx)(n.p,{children:"or this one"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.img,{src:i(26532).c+"",width:"641",height:"482"}),"\n",(0,t.jsxs)(n.em,{children:[(0,t.jsx)(n.a,{href:"https://stackoverflow.com/questions/36174431/how-to-make-a-wave-warp-effect-in-shader",children:"Stackoverflow"})," OpenGL"]})]}),"\n",(0,t.jsx)(n.h3,{id:"implementation",children:"Implementation"}),"\n",(0,t.jsx)(n.p,{children:"Let us take an example image firstly. Drag and drop it to an editor"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(52372).c+"",width:"1530",height:"398"})}),"\n",(0,t.jsx)(n.p,{children:"and take a raw data from it as a sequence of bytes"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'img = ImageData[(* image *), "Byte"];\n'})}),"\n",(0,t.jsx)(n.p,{children:"Now we can apply map function to it, which stretches and shrinks pixels periodically"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"shader = Compile[{{img, _Integer, 3}, {phase, _Real}}, Module[{iter},\n With[{\n ysize = Length[img],\n xsize = Length[img[[1]]]\n },\n Table[\n iter = 1.0;\n Table[With[{\n yr = y,\n xr = If[# < 1, 1, If[# > xsize, xsize, #]] &@ Round[iter]\n },\n\n iter = iter + (1.0 + 0.7 Sin[6 Pi x / xsize + phase]);\n\n img[[yr, xr]]\n \n \n ], {x, xsize}], {y, ysize}] \n ]\n]];\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Here we use ",(0,t.jsx)(n.code,{children:"Compile"})," to speed the process up, since there are only real arrays are involved. We do not apply any antialiasing filters, it does it in the nearest neighbors approximation. Let's check the result using the original ",(0,t.jsx)(n.code,{children:"Byte"})," encoding"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'Image[NumericArray[shader[img, 0], "UnsignedInteger8"], "Byte"] \n'})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(93388).c+"",width:"711",height:"349"})}),"\n",(0,t.jsxs)(n.admonition,{type:"tip",children:[(0,t.jsxs)(n.p,{children:["Always provide a typed numeric array as a first argument to ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics/Image",children:"Image"}),". By the default it assumes ",(0,t.jsx)(n.code,{children:"Real"})," format of pixels data. Therefore we explicitly tell the encoding by sending ",(0,t.jsx)(n.code,{children:"Byte"})," as a second argument."]}),(0,t.jsx)(n.p,{children:"The most efficient way is to use"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"UnsignedInteger8"})," : ",(0,t.jsx)(n.code,{children:"Byte"})]}),"\n"]})]}),"\n",(0,t.jsxs)(n.p,{children:["Since a performance is it great with raster graphics, we can rely on fixed time intervals while animating or a straight ",(0,t.jsx)(n.code,{children:"Do"})," loop"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 1"',children:'imageFrame = NumericArray[img, "UnsignedInteger8"];\nImage[imageFrame // Offload, "Byte"]\n'})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 2"',children:'Do[\n imageFrame = NumericArray[shader[img, angle], "UnsignedInteger8"];\n, {angle, 0, 4Pi, 2Pi/30.0}]\n'})}),"\n",(0,t.jsx)(n.p,{children:"The resulting animation"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(31996).c+"",width:"482",height:"346"})})]})}function m(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},15592:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Pasted image 20240514150707-b0d1e01e65464a81901279a741e916b7.png"},26532:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Pasted image 20240514150822-e6a140ba047f64db2649e38c40a24b40.png"},93388:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Screenshot 2024-05-14 at 15.18.05-7814fe04dc652fa5c9ddf85a3ed942ef.png"},52372:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Screenshot 2024-06-16 at 11.17.10-3b523ea15a160307324ea20e8db34d3e.png"},31996:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/goood-ezgif.com-optimize-f9408ecd1d27eedc351e5015a7aee603.gif"},4552:(e,n,i)=>{i.d(n,{I:()=>o,M:()=>r});var t=i(11504);const a={},s=t.createContext(a);function r(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/b7a8d474.10cfead9.js b/Documentation/assets/js/b7a8d474.10cfead9.js new file mode 100644 index 00000000..77b644b1 --- /dev/null +++ b/Documentation/assets/js/b7a8d474.10cfead9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[728],{49374:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var t=r(17624),o=r(4552);const a={env:["WLJS"],context:"Notebook`Interpreter`",package:"wljs-interpreter",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl"},s=void 0,i={id:"frontend/Reference/Interpreter/WindowScope",title:"WindowScope",description:"reads out Javascript variable available from the global scope and returns it. This is pure WLJS function",source:"@site/docs/frontend/Reference/Interpreter/WindowScope.md",sourceDirName:"frontend/Reference/Interpreter",slug:"/frontend/Reference/Interpreter/WindowScope",permalink:"/frontend/Reference/Interpreter/WindowScope",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171145058e4,frontMatter:{env:["WLJS"],context:"Notebook`Interpreter`",package:"wljs-interpreter",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl"},sidebar:"tutorialSidebar",previous:{title:"Refresh",permalink:"/frontend/Reference/Interpreter/Refresh"},next:{title:"Async",permalink:"/frontend/Reference/Misc/Async"}},c={},l=[{value:"Example",id:"example",level:2},{value:"Read JS variable",id:"read-js-variable",level:3}];function d(e){const n={code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"WindowScope[name_String] _JSObject\n"})}),"\n",(0,t.jsxs)(n.p,{children:["reads out Javascript variable available from the global scope and returns it. ",(0,t.jsx)(n.strong,{children:"This is pure WLJS function"})]}),"\n",(0,t.jsx)(n.p,{children:"It allows another way of WL JS communication"}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.h3,{id:"read-js-variable",children:"Read JS variable"}),"\n",(0,t.jsx)(n.p,{children:"Firstly let us create it"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="cell 1"',children:".js\n\nwindow.variable = [0,1,2,3,4,5];\n"})}),"\n",(0,t.jsx)(n.p,{children:"now read"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'FrontFetch[WindowScope["variable"]]\n'})})]})}function p(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>i,M:()=>s});var t=r(11504);const o={},a=t.createContext(o);function s(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/b7a8d474.7297277f.js b/Documentation/assets/js/b7a8d474.7297277f.js deleted file mode 100644 index 8d74948c..00000000 --- a/Documentation/assets/js/b7a8d474.7297277f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[728],{49374:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var t=r(17624),o=r(4552);const a={env:["WLJS"],context:"Notebook`Interpreter`",package:"wljs-interpreter",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl"},i=void 0,s={id:"frontend/Reference/Interpreter/WindowScope",title:"WindowScope",description:"reads out Javascript variable available from the global scope and returns it. This is pure WLJS function",source:"@site/docs/frontend/Reference/Interpreter/WindowScope.md",sourceDirName:"frontend/Reference/Interpreter",slug:"/frontend/Reference/Interpreter/WindowScope",permalink:"/frontend/Reference/Interpreter/WindowScope",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171145058e4,frontMatter:{env:["WLJS"],context:"Notebook`Interpreter`",package:"wljs-interpreter",source:"https://github.com/JerryI/wljs-interpreter/blob/dev/src/Definitions.wl"},sidebar:"tutorialSidebar",previous:{title:"ReadClipboard",permalink:"/frontend/Reference/Interpreter/ReadClipboard"},next:{title:"Async",permalink:"/frontend/Reference/Misc/Async"}},c={},l=[{value:"Example",id:"example",level:2},{value:"Read JS variable",id:"read-js-variable",level:3}];function d(e){const n={code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,o.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"WindowScope[name_String] _JSObject\n"})}),"\n",(0,t.jsxs)(n.p,{children:["reads out Javascript variable available from the global scope and returns it. ",(0,t.jsx)(n.strong,{children:"This is pure WLJS function"})]}),"\n",(0,t.jsx)(n.p,{children:"It allows another way of WL JS communication"}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.h3,{id:"read-js-variable",children:"Read JS variable"}),"\n",(0,t.jsx)(n.p,{children:"Firstly let us create it"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="cell 1"',children:".js\n\nwindow.variable = [0,1,2,3,4,5];\n"})}),"\n",(0,t.jsx)(n.p,{children:"now read"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'FrontFetch[WindowScope["variable"]]\n'})})]})}function p(e={}){const{wrapper:n}={...(0,o.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>s,M:()=>i});var t=r(11504);const o={},a=t.createContext(o);function i(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/c5039b30.02107244.js b/Documentation/assets/js/c5039b30.02107244.js new file mode 100644 index 00000000..56d12fa1 --- /dev/null +++ b/Documentation/assets/js/c5039b30.02107244.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3748],{96940:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=t(17624),i=t(4552);const o={env:["Wolfram Kernel"],update:null},a=void 0,s={id:"frontend/Reference/Plotting Functions/MatrixPlot",title:"MatrixPlot",description:"Plots a 2D array with an arbitrary data inside with axes",source:"@site/docs/frontend/Reference/Plotting Functions/MatrixPlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/MatrixPlot",permalink:"/frontend/Reference/Plotting Functions/MatrixPlot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["Wolfram Kernel"],update:null},sidebar:"tutorialSidebar",previous:{title:"ManipulatePlot",permalink:"/frontend/Reference/Plotting Functions/ManipulatePlot"},next:{title:"ParametricPlot",permalink:"/frontend/Reference/Plotting Functions/ParametricPlot"}},l={},c=[{value:"Options",id:"options",level:2},{value:"Dev notes",id:"dev-notes",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.M)(),...e.components},{Wl:t}=n;return t||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Plots a 2D array with an arbitrary data inside with axes"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MatrixPlot[\n Fourier[Table[\n UnitStep[i, 4 - i] UnitStep[j, 7 - j], {i, -25, 25}, {j, -25, \n 25}]]]\n"})}),"\n",(0,r.jsx)(t,{children:"MatrixPlot[\n Fourier[Table[\n UnitStep[i, 2 - i] UnitStep[j, 3 - j], {i, -7, 7}, {j, -7, \n 7}]], ImageSize->{350,350}]"}),"\n",(0,r.jsx)(n.p,{children:"or with a simpler example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MatrixPlot[PauliMatrix[3]]\n"})}),"\n",(0,r.jsx)(t,{children:"MatrixPlot[PauliMatrix[3], ImageSize->{350,350}]"}),"\n",(0,r.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"ColorFunction"})," is not supported option for now"]})}),"\n",(0,r.jsx)(n.h2,{id:"dev-notes",children:"Dev notes"}),"\n",(0,r.jsxs)(n.p,{children:["It produces ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/Raster",children:(0,r.jsx)(n.code,{children:"Raster"})})," graphics object placed into ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:(0,r.jsx)(n.code,{children:"Graphics"})})]})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>a});var r=t(11504);const i={},o=r.createContext(i);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/c5039b30.5b4877cc.js b/Documentation/assets/js/c5039b30.5b4877cc.js deleted file mode 100644 index 1d2f1cae..00000000 --- a/Documentation/assets/js/c5039b30.5b4877cc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[3748],{96940:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=t(17624),i=t(4552);const r={env:["Wolfram Kernel"],update:null},a=void 0,s={id:"frontend/Reference/Plotting Functions/MatrixPlot",title:"MatrixPlot",description:"Plots a 2D array with an arbitrary data inside with axes",source:"@site/docs/frontend/Reference/Plotting Functions/MatrixPlot.md",sourceDirName:"frontend/Reference/Plotting Functions",slug:"/frontend/Reference/Plotting Functions/MatrixPlot",permalink:"/frontend/Reference/Plotting Functions/MatrixPlot",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171482423e4,frontMatter:{env:["Wolfram Kernel"],update:null},sidebar:"tutorialSidebar",previous:{title:"ManipulatePlot",permalink:"/frontend/Reference/Plotting Functions/ManipulatePlot"},next:{title:"Plot",permalink:"/frontend/Reference/Plotting Functions/Plot"}},l={},c=[{value:"Options",id:"options",level:2},{value:"Dev notes",id:"dev-notes",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.M)(),...e.components},{Wl:t}=n;return t||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Wl",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"Plots a 2D array with an arbitrary data inside with axes"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"MatrixPlot[\n Fourier[Table[\n UnitStep[i, 4 - i] UnitStep[j, 7 - j], {i, -25, 25}, {j, -25, \n 25}]]]\n"})}),"\n",(0,o.jsx)(t,{children:"MatrixPlot[\n Fourier[Table[\n UnitStep[i, 2 - i] UnitStep[j, 3 - j], {i, -7, 7}, {j, -7, \n 7}]], ImageSize->{350,350}]"}),"\n",(0,o.jsx)(n.p,{children:"or with a simpler example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"MatrixPlot[PauliMatrix[3]]\n"})}),"\n",(0,o.jsx)(t,{children:"MatrixPlot[PauliMatrix[3], ImageSize->{350,350}]"}),"\n",(0,o.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"ColorFunction"})," is not supported option for now"]})}),"\n",(0,o.jsx)(n.h2,{id:"dev-notes",children:"Dev notes"}),"\n",(0,o.jsxs)(n.p,{children:["It produces ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Graphics/Raster",children:(0,o.jsx)(n.code,{children:"Raster"})})," graphics object placed into ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:(0,o.jsx)(n.code,{children:"Graphics"})})]})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>s,M:()=>a});var o=t(11504);const i={},r=o.createContext(i);function a(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/e12a614d.48db6a90.js b/Documentation/assets/js/e12a614d.48db6a90.js new file mode 100644 index 00000000..8e640ab8 --- /dev/null +++ b/Documentation/assets/js/e12a614d.48db6a90.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[352],{63932:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var o=s(17624),i=s(4552);const t={sidebar_position:12},r=void 0,l={id:"frontend/Troubleshooting/Troubleshooting",title:"Troubleshooting",description:"If something is not working as intended, please, post an issue on a Github with the data evaluated on your Wolfram Engine, such as",source:"@site/docs/frontend/Troubleshooting/Troubleshooting.md",sourceDirName:"frontend/Troubleshooting",slug:"/frontend/Troubleshooting/",permalink:"/frontend/Troubleshooting/",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717785218e3,sidebarPosition:12,frontMatter:{sidebar_position:12},sidebar:"tutorialSidebar",previous:{title:"PDF",permalink:"/frontend/Export/PDF"},next:{title:"Beep",permalink:"/frontend/Reference/Cells and Notebook/Beep"}},a={},c=[{value:"Cache issues",id:"cache-issues",level:2},{value:"Browsers console",id:"browsers-console",level:2},{value:"Logs dump",id:"logs-dump",level:2},{value:"Hot line & general discussion chat",id:"hot-line--general-discussion-chat",level:2},{value:"Common cases",id:"common-cases",level:2},{value:"UI was not loaded properly",id:"ui-was-not-loaded-properly",level:3},{value:"The output of a cell does not look correct",id:"the-output-of-a-cell-does-not-look-correct",level:3}];function d(e){const n={a:"a",admonition:"admonition",annotation:"annotation",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",math:"math",mo:"mo",mrow:"mrow",ol:"ol",p:"p",pre:"pre",semantics:"semantics",span:"span",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["If something is not working as intended, please, post an ",(0,o.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/issues",children:(0,o.jsx)(n.strong,{children:"issue on a Github"})})," with the data evaluated on your Wolfram Engine, such as"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"$Version\n$SystemID\n"})}),"\n",(0,o.jsx)(n.p,{children:"and specify how you run an app (via Desktop App or as a script)"}),"\n",(0,o.jsx)(n.h2,{id:"cache-issues",children:"Cache issues"}),"\n",(0,o.jsx)(n.p,{children:"Sometimes after an update browser's cache is still outdated. Please run (depending on your browser)"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Ctrl"})," + ",(0,o.jsx)(n.code,{children:"F5"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Shirt"})," + ",(0,o.jsx)(n.code,{children:"F5"})]}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"Force Reload"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"Reload window"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"Clear cache and reload"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"browsers-console",children:"Browsers console"}),"\n",(0,o.jsx)(n.p,{children:"Any errors caused by a cell evaluation will be shown below"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:s(93412).c+"",width:"1512",height:"316"})}),"\n",(0,o.jsx)(n.p,{children:"By clicking on a bug sign you open JS dev tools"}),"\n",(0,o.jsx)(n.h2,{id:"logs-dump",children:"Logs dump"}),"\n",(0,o.jsxs)(n.p,{children:["If it does not violate your privacy, there is a ",(0,o.jsx)(n.code,{children:"DEBUG"})," mode, which can be enabled at the startup. Follow the steps"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Restart an app and click ",(0,o.jsx)(n.code,{children:"DEBUG"})," in the launcher window"]}),"\n",(0,o.jsx)(n.li,{children:"Do particular actions, which leads to your error"}),"\n",(0,o.jsx)(n.li,{children:"Close an App normally"}),"\n",(0,o.jsx)(n.li,{children:"A window a collected log file will open"}),"\n",(0,o.jsx)(n.li,{children:"Send it to us (direct message on Telegram, email or Github Issues)"}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"hot-line--general-discussion-chat",children:"Hot line & general discussion chat"}),"\n",(0,o.jsxs)(n.p,{children:["Please feel free to join ",(0,o.jsx)(n.a,{href:"https://t.me/+PBotB9UJw-hiZDEy",children:"Telegram Group"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"common-cases",children:"Common cases"}),"\n",(0,o.jsx)(n.h3,{id:"ui-was-not-loaded-properly",children:"UI was not loaded properly"}),"\n",(0,o.jsxs)(n.p,{children:["It might be an issue with sockets, try ",(0,o.jsx)(n.code,{children:"Window"})," or Top-Menu ",(0,o.jsxs)(n.span,{className:"katex",children:[(0,o.jsx)(n.span,{className:"katex-mathml",children:(0,o.jsx)(n.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,o.jsxs)(n.semantics,{children:[(0,o.jsx)(n.mrow,{children:(0,o.jsx)(n.mo,{children:"\u2192"})}),(0,o.jsx)(n.annotation,{encoding:"application/x-tex",children:"\\rightarrow"})]})})}),(0,o.jsx)(n.span,{className:"katex-html","aria-hidden":"true",children:(0,o.jsxs)(n.span,{className:"base",children:[(0,o.jsx)(n.span,{className:"strut",style:{height:"0.3669em"}}),(0,o.jsx)(n.span,{className:"mrel",children:"\u2192"})]})})]})," ",(0,o.jsx)(n.code,{children:"Force reload"})," or ",(0,o.jsx)(n.code,{children:"Reload"})]}),"\n",(0,o.jsx)(n.h3,{id:"the-output-of-a-cell-does-not-look-correct",children:"The output of a cell does not look correct"}),"\n",(0,o.jsxs)(n.p,{children:["This might be connected with ",(0,o.jsx)(n.code,{children:"Boxes"})," or some other decorations did work well, try to evaluate your expression with ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Decorations/InputForm",children:"InputForm"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"% // InputForm\n"})}),"\n",(0,o.jsxs)(n.p,{children:["to prevent ",(0,o.jsx)(n.code,{children:"DisplayForm"})," output or"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"% // Rasterize\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Send an issue to ",(0,o.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/issues",children:"Github"})]})})]})}function h(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},93412:(e,n,s)=>{s.d(n,{c:()=>o});const o=s.p+"assets/images/346045552-c7261f1b-5e6d-48e2-aa1a-f4b11d50d9c9-942a9de334e13552a561ef43b1e33a51.png"},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>r});var o=s(11504);const i={},t=o.createContext(i);function r(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/e12a614d.4cd24f0c.js b/Documentation/assets/js/e12a614d.4cd24f0c.js deleted file mode 100644 index 5743599d..00000000 --- a/Documentation/assets/js/e12a614d.4cd24f0c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[352],{63932:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var o=s(17624),t=s(4552);const r={sidebar_position:12},i=void 0,l={id:"frontend/Troubleshooting/Troubleshooting",title:"Troubleshooting",description:"If something is not working as intended, please, post an issue on a Github with the data evaluated on your Wolfram Engine, such as",source:"@site/docs/frontend/Troubleshooting/Troubleshooting.md",sourceDirName:"frontend/Troubleshooting",slug:"/frontend/Troubleshooting/",permalink:"/frontend/Troubleshooting/",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717785218e3,sidebarPosition:12,frontMatter:{sidebar_position:12},sidebar:"tutorialSidebar",previous:{title:"PDF",permalink:"/frontend/Export/PDF"},next:{title:"Beep",permalink:"/frontend/Reference/Cells and Notebook/Beep"}},a={},c=[{value:"Cache issues",id:"cache-issues",level:2},{value:"Browsers console",id:"browsers-console",level:2},{value:"Logs dump",id:"logs-dump",level:2},{value:"Hot line & general discussion chat",id:"hot-line--general-discussion-chat",level:2},{value:"Common cases",id:"common-cases",level:2},{value:"UI was not loaded properly",id:"ui-was-not-loaded-properly",level:3},{value:"The output of a cell does not look correct",id:"the-output-of-a-cell-does-not-look-correct",level:3}];function d(e){const n={a:"a",admonition:"admonition",annotation:"annotation",code:"code",h2:"h2",h3:"h3",li:"li",math:"math",mo:"mo",mrow:"mrow",ol:"ol",p:"p",pre:"pre",semantics:"semantics",span:"span",strong:"strong",ul:"ul",...(0,t.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["If something is not working as intended, please, post an ",(0,o.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/issues",children:(0,o.jsx)(n.strong,{children:"issue on a Github"})})," with the data evaluated on your Wolfram Engine, such as"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"$Version\n$SystemID\n"})}),"\n",(0,o.jsx)(n.p,{children:"and specify how you run an app (via Desktop App or as a script)"}),"\n",(0,o.jsx)(n.h2,{id:"cache-issues",children:"Cache issues"}),"\n",(0,o.jsx)(n.p,{children:"Sometimes after an update browser's cache is still outdated. Please run (depending on your browser)"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Ctrl"})," + ",(0,o.jsx)(n.code,{children:"F5"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Shirt"})," + ",(0,o.jsx)(n.code,{children:"F5"})]}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"Force Reload"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"Reload window"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"Clear cache and reload"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"browsers-console",children:"Browsers console"}),"\n",(0,o.jsxs)(n.p,{children:["Please locate the developer console (typically ",(0,o.jsx)(n.code,{children:"Window"})," ",(0,o.jsxs)(n.span,{className:"katex",children:[(0,o.jsx)(n.span,{className:"katex-mathml",children:(0,o.jsx)(n.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,o.jsxs)(n.semantics,{children:[(0,o.jsx)(n.mrow,{children:(0,o.jsx)(n.mo,{children:"\u2192"})}),(0,o.jsx)(n.annotation,{encoding:"application/x-tex",children:"\\rightarrow"})]})})}),(0,o.jsx)(n.span,{className:"katex-html","aria-hidden":"true",children:(0,o.jsxs)(n.span,{className:"base",children:[(0,o.jsx)(n.span,{className:"strut",style:{height:"0.3669em"}}),(0,o.jsx)(n.span,{className:"mrel",children:"\u2192"})]})})]})," ",(0,o.jsx)(n.code,{children:"Toggle Developer Tools"})," or using a right click with a mouse ",(0,o.jsx)(n.code,{children:"Inspect element"}),") and copy the error messages and a few above it (5-10)."]}),"\n",(0,o.jsx)(n.h2,{id:"logs-dump",children:"Logs dump"}),"\n",(0,o.jsxs)(n.p,{children:["If it does not violate your privacy, there is a ",(0,o.jsx)(n.code,{children:"DEBUG"})," mode, which can be enabled at the startup. Follow the steps"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Restart an app and click ",(0,o.jsx)(n.code,{children:"DEBUG"})," in the launcher window"]}),"\n",(0,o.jsx)(n.li,{children:"Do particular actions, which leads to your error"}),"\n",(0,o.jsx)(n.li,{children:"Close an App normally"}),"\n",(0,o.jsx)(n.li,{children:"A window a collected log file will open"}),"\n",(0,o.jsx)(n.li,{children:"Send it to us (direct message on Telegram, email or Github Issues)"}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"hot-line--general-discussion-chat",children:"Hot line & general discussion chat"}),"\n",(0,o.jsxs)(n.p,{children:["Please feel free to join ",(0,o.jsx)(n.a,{href:"https://t.me/+PBotB9UJw-hiZDEy",children:"Telegram Group"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"common-cases",children:"Common cases"}),"\n",(0,o.jsx)(n.h3,{id:"ui-was-not-loaded-properly",children:"UI was not loaded properly"}),"\n",(0,o.jsxs)(n.p,{children:["It might be an issue with sockets, try ",(0,o.jsx)(n.code,{children:"Window"})," or Top-Menu ",(0,o.jsxs)(n.span,{className:"katex",children:[(0,o.jsx)(n.span,{className:"katex-mathml",children:(0,o.jsx)(n.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,o.jsxs)(n.semantics,{children:[(0,o.jsx)(n.mrow,{children:(0,o.jsx)(n.mo,{children:"\u2192"})}),(0,o.jsx)(n.annotation,{encoding:"application/x-tex",children:"\\rightarrow"})]})})}),(0,o.jsx)(n.span,{className:"katex-html","aria-hidden":"true",children:(0,o.jsxs)(n.span,{className:"base",children:[(0,o.jsx)(n.span,{className:"strut",style:{height:"0.3669em"}}),(0,o.jsx)(n.span,{className:"mrel",children:"\u2192"})]})})]})," ",(0,o.jsx)(n.code,{children:"Force reload"})," or ",(0,o.jsx)(n.code,{children:"Reload"})]}),"\n",(0,o.jsx)(n.h3,{id:"the-output-of-a-cell-does-not-look-correct",children:"The output of a cell does not look correct"}),"\n",(0,o.jsxs)(n.p,{children:["This might be connected with ",(0,o.jsx)(n.code,{children:"Boxes"})," or some other decorations did work well, try to evaluate your expression with ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Decorations/InputForm",children:"InputForm"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"% // InputForm\n"})}),"\n",(0,o.jsxs)(n.p,{children:["to prevent ",(0,o.jsx)(n.code,{children:"DisplayForm"})," output or"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-mathematica",children:"% // Rasterize\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Send an issue to ",(0,o.jsx)(n.a,{href:"https://github.com/JerryI/wolfram-js-frontend/issues",children:"Github"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},4552:(e,n,s)=>{s.d(n,{I:()=>l,M:()=>i});var o=s(11504);const t={},r=o.createContext(t);function i(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/e159e3bd.20b51346.js b/Documentation/assets/js/e159e3bd.20b51346.js new file mode 100644 index 00000000..bd774d46 --- /dev/null +++ b/Documentation/assets/js/e159e3bd.20b51346.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[5412],{33200:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var d=t(17624),r=t(4552);const i={env:["WLJS","Wolfram Kernel"],update:!0,context:"Notebook`Editor`Kernel`PCMAudio`",package:"wljs-sound",source:"https://github.com/JerryI/wljs-sound/blob/master/src/Kernel.wl"},a=void 0,o={id:"frontend/Reference/Sound/PCMPlayer",title:"PCMPlayer",description:"creates a static or dynamic sound emitter. The following data types are supported",source:"@site/docs/frontend/Reference/Sound/PCMPlayer.md",sourceDirName:"frontend/Reference/Sound",slug:"/frontend/Reference/Sound/PCMPlayer",permalink:"/frontend/Reference/Sound/PCMPlayer",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717330746e3,frontMatter:{env:["WLJS","Wolfram Kernel"],update:!0,context:"Notebook`Editor`Kernel`PCMAudio`",package:"wljs-sound",source:"https://github.com/JerryI/wljs-sound/blob/master/src/Kernel.wl"},sidebar:"tutorialSidebar",previous:{title:"ListPlay",permalink:"/frontend/Reference/Sound/ListPlay"},next:{title:"Video",permalink:"/frontend/Reference/Video/"}},l={},s=[{value:"Options",id:"options",level:2},{value:"SampleRate",id:"samplerate",level:3},{value:""AutoPlay"",id:"autoplay",level:3},{value:""Event"",id:"event",level:3},{value:""TimeAhead"",id:"timeahead",level:3},{value:"Dynamics",id:"dynamics",level:2},{value:"Streaming",id:"streaming",level:3}];function c(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.M)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-mathematica",children:"PCMPlayer[data_List | _Offload, type_String, opts___]\n"})}),"\n",(0,d.jsxs)(n.p,{children:["creates a static or dynamic sound emitter. The following data ",(0,d.jsx)(n.code,{children:"type"}),"s are supported"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.code,{children:'"SignedInteger32"'})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.code,{children:'"SignedInteger16"'})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.code,{children:'"SignedInteger8"'})}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["where ",(0,d.jsx)(n.code,{children:"data"})," is 1D list of numerical data or ",(0,d.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," ed symbol with numerical data."]}),"\n",(0,d.jsxs)(n.p,{children:["Or also it can also play a regular ",(0,d.jsx)(n.code,{children:"Audio"})," object"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-mathematica",children:"PCMPlayer[a_Audio]\n"})}),"\n",(0,d.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,d.jsx)(n.h3,{id:"samplerate",children:(0,d.jsx)(n.code,{children:"SampleRate"})}),"\n",(0,d.jsxs)(n.p,{children:["The default is ",(0,d.jsx)(n.code,{children:"44100"})]}),"\n",(0,d.jsx)(n.h3,{id:"autoplay",children:(0,d.jsx)(n.code,{children:'"AutoPlay"'})}),"\n",(0,d.jsxs)(n.p,{children:["The default is ",(0,d.jsx)(n.code,{children:"True"})]}),"\n",(0,d.jsx)(n.h3,{id:"event",children:(0,d.jsx)(n.code,{children:'"Event"'})}),"\n",(0,d.jsxs)(n.p,{children:["An ",(0,d.jsx)(n.code,{children:"uid"})," of event to be fired, when a buffer is about to end. It can be used to feed new data to a player aka streaming."]}),"\n",(0,d.jsx)(n.h3,{id:"timeahead",children:(0,d.jsx)(n.code,{children:'"TimeAhead"'})}),"\n",(0,d.jsxs)(n.p,{children:["The time is milliseconds, which is offset from the end of the sound buffer and used to fire ",(0,d.jsx)(n.code,{children:'"Event"'})]}),"\n",(0,d.jsx)(n.h2,{id:"dynamics",children:"Dynamics"}),"\n",(0,d.jsxs)(n.p,{children:["Use ",(0,d.jsx)(n.code,{children:"Offload"})," to feed on data argument to a player in realtime."]}),"\n",(0,d.jsx)(n.h3,{id:"streaming",children:"Streaming"}),"\n",(0,d.jsx)(n.p,{children:"The simples example with streaming will look like this"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-mathematica",children:'music = Import[...];\n\n(* extract R channel *)\ndata = AudioData[music, "SignedInteger16"] // First;\nbuffer = {};\n\nindex = 1;\nEventHandler["bufferEnds", {"More" -> Function[Null,\n index += 100000;\n If[index > Length[data], Print["End"]; Return[]];\n \n buffer = data[[index ;; Min[index + 100000 - 1, Length[data]]]]\n], "Stop" -> Function[Null,\n\tindex = 1;\n]}];\n\nPCMPlayer[buffer // Offload, "SignedInteger16", "Event"->"bufferEnds"]\n'})})]})}function u(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(c,{...e})}):c(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>o,M:()=>a});var d=t(11504);const r={},i=d.createContext(r);function a(e){const n=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),d.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/e159e3bd.e07a1f4c.js b/Documentation/assets/js/e159e3bd.e07a1f4c.js deleted file mode 100644 index ec126fbb..00000000 --- a/Documentation/assets/js/e159e3bd.e07a1f4c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[5412],{33200:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var d=t(17624),r=t(4552);const a={env:["WLJS","Wolfram Kernel"],update:!0,context:"Notebook`Editor`Kernel`PCMAudio`",package:"wljs-sound",source:"https://github.com/JerryI/wljs-sound/blob/master/src/Kernel.wl"},i=void 0,o={id:"frontend/Reference/Sound/PCMPlayer",title:"PCMPlayer",description:"creates a static or dynamic sound emitter. The following data types are supported",source:"@site/docs/frontend/Reference/Sound/PCMPlayer.md",sourceDirName:"frontend/Reference/Sound",slug:"/frontend/Reference/Sound/PCMPlayer",permalink:"/frontend/Reference/Sound/PCMPlayer",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1717330746e3,frontMatter:{env:["WLJS","Wolfram Kernel"],update:!0,context:"Notebook`Editor`Kernel`PCMAudio`",package:"wljs-sound",source:"https://github.com/JerryI/wljs-sound/blob/master/src/Kernel.wl"},sidebar:"tutorialSidebar",previous:{title:"ListPlay",permalink:"/frontend/Reference/Sound/ListPlay"}},l={},s=[{value:"Options",id:"options",level:2},{value:"SampleRate",id:"samplerate",level:3},{value:""AutoPlay"",id:"autoplay",level:3},{value:""Event"",id:"event",level:3},{value:""TimeAhead"",id:"timeahead",level:3},{value:"Dynamics",id:"dynamics",level:2},{value:"Streaming",id:"streaming",level:3}];function c(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.M)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-mathematica",children:"PCMPlayer[data_List | _Offload, type_String, opts___]\n"})}),"\n",(0,d.jsxs)(n.p,{children:["creates a static or dynamic sound emitter. The following data ",(0,d.jsx)(n.code,{children:"type"}),"s are supported"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.code,{children:'"SignedInteger32"'})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.code,{children:'"SignedInteger16"'})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.code,{children:'"SignedInteger8"'})}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["where ",(0,d.jsx)(n.code,{children:"data"})," is 1D list of numerical data or ",(0,d.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," ed symbol with numerical data."]}),"\n",(0,d.jsxs)(n.p,{children:["Or also it can also play a regular ",(0,d.jsx)(n.code,{children:"Audio"})," object"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-mathematica",children:"PCMPlayer[a_Audio]\n"})}),"\n",(0,d.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,d.jsx)(n.h3,{id:"samplerate",children:(0,d.jsx)(n.code,{children:"SampleRate"})}),"\n",(0,d.jsxs)(n.p,{children:["The default is ",(0,d.jsx)(n.code,{children:"44100"})]}),"\n",(0,d.jsx)(n.h3,{id:"autoplay",children:(0,d.jsx)(n.code,{children:'"AutoPlay"'})}),"\n",(0,d.jsxs)(n.p,{children:["The default is ",(0,d.jsx)(n.code,{children:"True"})]}),"\n",(0,d.jsx)(n.h3,{id:"event",children:(0,d.jsx)(n.code,{children:'"Event"'})}),"\n",(0,d.jsxs)(n.p,{children:["An ",(0,d.jsx)(n.code,{children:"uid"})," of event to be fired, when a buffer is about to end. It can be used to feed new data to a player aka streaming."]}),"\n",(0,d.jsx)(n.h3,{id:"timeahead",children:(0,d.jsx)(n.code,{children:'"TimeAhead"'})}),"\n",(0,d.jsxs)(n.p,{children:["The time is milliseconds, which is offset from the end of the sound buffer and used to fire ",(0,d.jsx)(n.code,{children:'"Event"'})]}),"\n",(0,d.jsx)(n.h2,{id:"dynamics",children:"Dynamics"}),"\n",(0,d.jsxs)(n.p,{children:["Use ",(0,d.jsx)(n.code,{children:"Offload"})," to feed on data argument to a player in realtime."]}),"\n",(0,d.jsx)(n.h3,{id:"streaming",children:"Streaming"}),"\n",(0,d.jsx)(n.p,{children:"The simples example with streaming will look like this"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-mathematica",children:'music = Import[...];\n\n(* extract R channel *)\ndata = AudioData[music, "SignedInteger16"] // First;\nbuffer = {};\n\nindex = 1;\nEventHandler["bufferEnds", {"More" -> Function[Null,\n index += 100000;\n If[index > Length[data], Print["End"]; Return[]];\n \n buffer = data[[index ;; Min[index + 100000 - 1, Length[data]]]]\n], "Stop" -> Function[Null,\n\tindex = 1;\n]}];\n\nPCMPlayer[buffer // Offload, "SignedInteger16", "Event"->"bufferEnds"]\n'})})]})}function u(e={}){const{wrapper:n}={...(0,r.M)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(c,{...e})}):c(e)}},4552:(e,n,t)=>{t.d(n,{I:()=>o,M:()=>i});var d=t(11504);const r={},a=d.createContext(r);function i(e){const n=d.useContext(a);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),d.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/e4325b42.f1554846.js b/Documentation/assets/js/e4325b42.f1554846.js new file mode 100644 index 00000000..9aff2347 --- /dev/null +++ b/Documentation/assets/js/e4325b42.f1554846.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8608],{54916:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var o=t(17624),i=t(4552);const r={},s=void 0,l={id:"frontend/Export/HTML",title:"HTML",description:"Since the interpretation of the output cells happens in a browser, then we can pack all data into a single .html file and easily share it with other people by clicking on the icon",source:"@site/docs/frontend/Export/HTML.md",sourceDirName:"frontend/Export",slug:"/frontend/Export/HTML",permalink:"/frontend/Export/HTML",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Exporting formats",permalink:"/category/exporting-formats"},next:{title:"Markdown",permalink:"/frontend/Export/Markdown"}},a={},c=[{value:"Portability",id:"portability",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["Since the interpretation of the output cells happens in a browser, then we can pack all data into a single ",(0,o.jsx)(n.code,{children:".html"})," file and easily share it with other people by clicking on the icon"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(64632).c+"",width:"1486",height:"76"})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Do not forget to save your notebook before exporting! It is important for garbage collecting"})}),"\n",(0,o.jsx)(n.h2,{id:"portability",children:"Portability"}),"\n",(0,o.jsxs)(n.p,{children:["Once exported, an ",(0,o.jsx)(n.code,{children:".html"})," file can be ",(0,o.jsx)(n.strong,{children:"unpacked back to a normal notebook"})," once opened using WLJS Notebook app. There are some limitations"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["no dynamic symbols (used ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," or ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Frontend%20IO/FrontSubmit",children:"FrontSubmit"}),") will be preserved"]}),"\n",(0,o.jsx)(n.li,{children:"no external files, except images will be packaged"}),"\n",(0,o.jsx)(n.li,{children:"iconized expressions to a file will be lost"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"However,"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"all static graphs, 2D, 3D graphics are kept"}),"\n",(0,o.jsx)(n.li,{children:"all external images are kept and embedded to a document (including slides and md)"}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"/frontend/Reference/Cells%20and%20Notebook/NotebookStore",children:"NotebookStore"})," data is embedded as well"]}),"\n",(0,o.jsxs)(n.li,{children:["slides as well as all cell are kept ",(0,o.jsxs)(n.strong,{children:["press ",(0,o.jsx)(n.code,{children:"f"})," to go fullscreen"]})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You can specify what to include to the bundle and what to exclude in ",(0,o.jsx)(n.code,{children:"Settings"})," menu"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(52296).c+"",width:"868",height:"523"})})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},52296:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/Pasted image 20240510101914-3e2a2009cf4cea21e9d44646a813e651.png"},64632:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/Screenshot 2024-03-13 at 19.37.13-26e8c1d2357122fff357e9fe4945b6aa.png"},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>s});var o=t(11504);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/f2460265.5efe8ed0.js b/Documentation/assets/js/f2460265.5efe8ed0.js deleted file mode 100644 index 15acddef..00000000 --- a/Documentation/assets/js/f2460265.5efe8ed0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8988],{76644:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=n(17624),r=n(4552);const o={sidebar_position:3},i=void 0,a={id:"frontend/Cell types/HTML",title:"HTML",description:"Github repo",source:"@site/docs/frontend/Cell types/HTML.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/HTML",permalink:"/frontend/Cell types/HTML",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171145058e4,sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Markdown",permalink:"/frontend/Cell types/Markdown"},next:{title:"Javascript",permalink:"/frontend/Cell types/Javascript"}},c={},l=[];function p(e){const t={a:"a",img:"img",p:"p",strong:"strong",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(68396).c+"",width:"1446",height:"214"})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://github.com/JerryI/wljs-html-support",children:"Github repo"})}),"\nYou can also write plain HTML together with embedded Wolfram Language expressions"]}),"\n",(0,s.jsxs)(t.p,{children:["WSP template engine allows to use Wolfram Language to process the text like PHP (see ",(0,s.jsx)(t.a,{href:"https://github.com/JerryI/tinyweb-mathematica",children:"more here"}),")."]})]})}function d(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},68396:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/Screenshot 2024-03-13 at 19.26.09-39e5d942a8bcb2afbf93f9890b874f63.png"},4552:(e,t,n)=>{n.d(t,{I:()=>a,M:()=>i});var s=n(11504);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/f2460265.7211b598.js b/Documentation/assets/js/f2460265.7211b598.js new file mode 100644 index 00000000..f267f8af --- /dev/null +++ b/Documentation/assets/js/f2460265.7211b598.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8988],{76644:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var s=n(17624),r=n(4552);const o={sidebar_position:3},i=void 0,l={id:"frontend/Cell types/HTML",title:"HTML",description:"Type .html in the first line of an input cell",source:"@site/docs/frontend/Cell types/HTML.md",sourceDirName:"frontend/Cell types",slug:"/frontend/Cell types/HTML",permalink:"/frontend/Cell types/HTML",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:171145058e4,sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Markdown",permalink:"/frontend/Cell types/Markdown"},next:{title:"Javascript",permalink:"/frontend/Cell types/Javascript"}},c={},a=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",img:"img",p:"p",pre:"pre",strong:"strong",...(0,r.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["Type ",(0,s.jsx)(t.code,{children:".html"})," in the first line of an input cell"]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(68396).c+"",width:"1446",height:"214"})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://github.com/JerryI/wljs-html-support",children:"Github repo"})}),"\nYou can also write plain HTML together with embedded Wolfram Language expressions"]}),"\n",(0,s.jsxs)(t.p,{children:["WSP template engine allows to use Wolfram Language to process the text like PHP (see ",(0,s.jsx)(t.a,{href:"https://github.com/JerryI/tinyweb-mathematica",children:"more here"}),")"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:".html\n\n

Today is

\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.M)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},68396:(e,t,n)=>{n.d(t,{c:()=>s});const s=n.p+"assets/images/Screenshot 2024-03-13 at 19.26.09-39e5d942a8bcb2afbf93f9890b874f63.png"},4552:(e,t,n)=>{n.d(t,{I:()=>l,M:()=>i});var s=n(11504);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/f363bdfd.feaa817b.js b/Documentation/assets/js/f363bdfd.feaa817b.js deleted file mode 100644 index cb0026a2..00000000 --- a/Documentation/assets/js/f363bdfd.feaa817b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[632],{72788:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var o=t(17624),i=t(4552);const r={},s=void 0,l={id:"frontend/Export/HTML file",title:"HTML file",description:"Since the interpretation of the output cells happens in a browser, then we can pack all data into a single .html file and easily share it with other people by clicking on the icon",source:"@site/docs/frontend/Export/HTML file.md",sourceDirName:"frontend/Export",slug:"/frontend/Export/HTML file",permalink:"/frontend/Export/HTML file",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1716132984e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Exporting formats",permalink:"/category/exporting-formats"},next:{title:"PDF",permalink:"/frontend/Export/PDF"}},a={},c=[{value:"Portability",id:"portability",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.M)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["Since the interpretation of the output cells happens in a browser, then we can pack all data into a single ",(0,o.jsx)(n.code,{children:".html"})," file and easily share it with other people by clicking on the icon"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(64632).c+"",width:"1486",height:"76"})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Do not forget to save your notebook before exporting! It is important for garbage collecting"})}),"\n",(0,o.jsx)(n.h2,{id:"portability",children:"Portability"}),"\n",(0,o.jsxs)(n.p,{children:["Once exported, an ",(0,o.jsx)(n.code,{children:".html"})," file can be ",(0,o.jsx)(n.strong,{children:"unpacked back to a normal notebook"})," once opened using WLJS Notebook app. There are some limitations"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["no dynamic symbols (used ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," or ",(0,o.jsx)(n.a,{href:"/frontend/Reference/Frontend%20IO/FrontSubmit",children:"FrontSubmit"}),") will be preserved"]}),"\n",(0,o.jsx)(n.li,{children:"no external files, except images will be packaged"}),"\n",(0,o.jsx)(n.li,{children:"iconized expressions to a file will be lost"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"However,"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"all static graphs, 2D, 3D graphics are kept"}),"\n",(0,o.jsx)(n.li,{children:"all external images are kept and embedded to a document (including slides and md)"}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"/frontend/Reference/Cells%20and%20Notebook/NotebookStore",children:"NotebookStore"})," data is embedded as well"]}),"\n",(0,o.jsxs)(n.li,{children:["slides as well as all cell are kept ",(0,o.jsxs)(n.strong,{children:["press ",(0,o.jsx)(n.code,{children:"f"})," to go fullscreen"]})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["You can specify what to include to the bundle and what to exclude in ",(0,o.jsx)(n.code,{children:"Settings"})," menu"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(52296).c+"",width:"868",height:"523"})})]})}function p(e={}){const{wrapper:n}={...(0,i.M)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},52296:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/Pasted image 20240510101914-3e2a2009cf4cea21e9d44646a813e651.png"},64632:(e,n,t)=>{t.d(n,{c:()=>o});const o=t.p+"assets/images/Screenshot 2024-03-13 at 19.37.13-26e8c1d2357122fff357e9fe4945b6aa.png"},4552:(e,n,t)=>{t.d(n,{I:()=>l,M:()=>s});var o=t(11504);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/fab7638a.341a6297.js b/Documentation/assets/js/fab7638a.341a6297.js new file mode 100644 index 00000000..0bd892e1 --- /dev/null +++ b/Documentation/assets/js/fab7638a.341a6297.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[688],{62092:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var t=r(17624),a=r(4552);const i={env:["Wolfram Kernel"],context:"JerryI`Notebook`ManipulateUtils`",package:"wljs-manipulate",source:"https://github.com/JerryI/wljs-manipulate/blob/main/Kernel.wl"},o=void 0,s={id:"frontend/Reference/Interpreter/Refresh",title:"Refresh",description:"Implementation differs from Mathematica",source:"@site/docs/frontend/Reference/Interpreter/Refresh.md",sourceDirName:"frontend/Reference/Interpreter",slug:"/frontend/Reference/Interpreter/Refresh",permalink:"/frontend/Reference/Interpreter/Refresh",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1719476154e3,frontMatter:{env:["Wolfram Kernel"],context:"JerryI`Notebook`ManipulateUtils`",package:"wljs-manipulate",source:"https://github.com/JerryI/wljs-manipulate/blob/main/Kernel.wl"},sidebar:"tutorialSidebar",previous:{title:"ReadClipboard",permalink:"/frontend/Reference/Interpreter/ReadClipboard"},next:{title:"WindowScope",permalink:"/frontend/Reference/Interpreter/WindowScope"}},c={},d=[{value:"Example",id:"example",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"Implementation differs from Mathematica"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"Refresh[expr_, interval_Real | interval_Quantity | trigger_EventObject | trigger_String]\n"})}),"\n",(0,t.jsxs)(n.p,{children:["produces a dynamic window with ",(0,t.jsx)(n.code,{children:"expr"})," reevaluated each ",(0,t.jsx)(n.code,{children:"interval"})," specified in seconds or in time ",(0,t.jsx)(n.code,{children:"Quantity"})," or manually triggered by ",(0,t.jsx)(n.code,{children:"trigger"})," event (see ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Misc/Events",children:"Events"}),")."]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Referesh"})," has ",(0,t.jsx)(n.code,{children:"HoldFirst"})," attribute."]}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"Refresh[Now // TextString, 1]\n"})}),"\n",(0,t.jsx)(n.p,{children:"or even as a widget"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"Refresh[Now, 1]\n"})}),"\n",(0,t.jsxs)(n.admonition,{type:"caution",children:[(0,t.jsxs)(n.p,{children:["Do not put ",(0,t.jsx)(n.code,{children:"Plot"})," or any other functions inside with a fast refresh rate (< 1 second). In general the reevaluation cause a large overhead to the system with graphics."]}),(0,t.jsxs)(n.p,{children:["Consider to use ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," for rapidly changing data (see more in ",(0,t.jsx)(n.a,{href:"/frontend/Dynamics",children:"Dynamics"})," and ",(0,t.jsx)(n.a,{href:"/frontend/Advanced/Dynamics/Advanced%20animation",children:"Advanced animation"})," or ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Plotly/PlotlyExtendTraces",children:"PlotlyExtendTraces"}),")."]})]})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},4552:(e,n,r)=>{r.d(n,{I:()=>s,M:()=>o});var t=r(11504);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/fae41b03.3755ae77.js b/Documentation/assets/js/fae41b03.3755ae77.js new file mode 100644 index 00000000..6487d504 --- /dev/null +++ b/Documentation/assets/js/fae41b03.3755ae77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8632],{20304:(e,n,A)=>{A.r(n),A.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=A(17624),t=A(4552);const i={},a=void 0,o={id:"frontend/Advanced/Frontend interpretation/Frontend Objects",title:"Frontend Objects",description:"This is a core concept of all interactive elements on frontend",source:"@site/docs/frontend/Advanced/Frontend interpretation/Frontend Objects.md",sourceDirName:"frontend/Advanced/Frontend interpretation",slug:"/frontend/Advanced/Frontend interpretation/Frontend Objects",permalink:"/frontend/Advanced/Frontend interpretation/Frontend Objects",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Editor manipulation",permalink:"/frontend/Advanced/Frontend interpretation/Editor manipulation"},next:{title:"WLJS Functions",permalink:"/frontend/Advanced/Frontend interpretation/WLJS Functions"}},s={},l=[{value:"Motivation",id:"motivation",level:2},{value:"Compress and reuse large expressions",id:"compress-and-reuse-large-expressions",level:3},{value:"Evaluate expressions on frontend",id:"evaluate-expressions-on-frontend",level:3},{value:"Remarks on containers",id:"remarks-on-containers",level:4},{value:"Inner structure",id:"inner-structure",level:2},{value:"Properties",id:"properties",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",mermaid:"mermaid",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,t.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"This is a core concept of all interactive elements on frontend"}),"\n",(0,r.jsx)(n.h2,{id:"motivation",children:"Motivation"}),"\n",(0,r.jsx)(n.h3,{id:"compress-and-reuse-large-expressions",children:"Compress and reuse large expressions"}),"\n",(0,r.jsxs)(n.p,{children:["Is intended to reduce the load to on the frontend by packing a large Wolfram Expressions like ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})," with all its data to a single line reference ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," or ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndRef",children:"FrontEndRef"}),", which can be interpreted later by the editor in the cell."]}),"\n",(0,r.jsx)(n.p,{children:"Such expressions like"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Plot[x, {x,0,1}]\n"})}),"\n",(0,r.jsxs)(n.p,{children:["are evaluated automatically to just a pointer (using ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/CreateFrontEndObject",children:"CreateFrontEndObject"}),") in the output cell as a display value of a ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/ViewBox",children:"ViewBox"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:'FrontEndExecutable["746fa2e0-24f7-4003-a7cc-4c77f8b4891d"]\n'})}),"\n",(0,r.jsx)(n.p,{children:"This expression will be interpreted by the editor."}),"\n",(0,r.jsxs)(n.p,{children:["This behavior is controlled by ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/MakeBoxes",children:"MakeBoxes"})," and represents ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/StandardForm",children:"StandardForm"})," of any ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"}),", ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/Image",children:"Image"})," or other heavy expressions, that demand visual representation."]}),"\n",(0,r.jsx)(n.h3,{id:"evaluate-expressions-on-frontend",children:"Evaluate expressions on frontend"}),"\n",(0,r.jsxs)(n.p,{children:["Some expressions, such as ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Sound/ListPlay",children:"ListPlay"}),", or ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics3D/",children:"Graphics3D"})," can be displayed only outside the Wolfram Kernel, i.e. on the frontend. The last one is browser with Javascript engine in our case."]}),"\n",(0,r.jsxs)(n.p,{children:["For such reason the resulting expressions of interactive or graphical elements are evaluated on Javascript using a tiny Wolfram Language interpreter (WLJS). Every ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," is executed using WLJS Interpreter using data requested on demand from Wolfram Kernel and outputs to the DOM element in the output cell."]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["See more about ",(0,r.jsx)(n.a,{href:"/frontend/Advanced/Frontend%20interpretation/WLJS%20Functions",children:"WLJS Functions"})]})}),"\n",(0,r.jsx)(n.p,{children:"Let us have a loot at the example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="cell 1"',children:'.js\ncore.MyExpression = async (args, env) => {\n\tenv.element.innerText = "Hello World"\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MyExpression[] // CreateFrontEndObject\n"})}),"\n",(0,r.jsx)(n.p,{children:"will result"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:A(12508).c+"",width:"873",height:"79"})}),"\n",(0,r.jsxs)(n.p,{children:["This entity behaves like a single symbol. Basically, thats how ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"}),", ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics3D/",children:"Graphics3D"}),", ",(0,r.jsx)(n.a,{href:"/frontend/Reference/GUI/InputRange",children:"InputRange"})," and others are made."]}),"\n",(0,r.jsxs)(n.p,{children:["You ",(0,r.jsx)(n.strong,{children:"can remove an extra step"})," by defining a ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/StandardForm",children:"StandardForm"})," for your symbol"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MyExpression /: MakeBoxes[m_MyExpression, StandardForm] := With[{\n\to = CreateFrontEndObject[m]\n},\n\tMakeBoxes[o, StandardForm]\n]\n"})}),"\n",(0,r.jsx)(n.p,{children:"and then evaluate it as a normal one"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MyExpression[] (* no need in CreateFrontEndObject anymore *)\n"})}),"\n",(0,r.jsx)(n.h4,{id:"remarks-on-containers",children:"Remarks on containers"}),"\n",(0,r.jsxs)(n.p,{children:["By the default each ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," will be evaluated inside a so-called ",(0,r.jsx)(n.a,{href:"/frontend/Advanced/Frontend%20interpretation/WLJS%20Functions#Containers%20Executables",children:"container"}),", that provides al local memory to the function and allows them to be destroyed or updated based on changes of child element. See more in ",(0,r.jsx)(n.a,{href:"/frontend/Advanced/Frontend%20interpretation/WLJS%20Functions",children:"WLJS Functions"})]}),"\n",(0,r.jsx)(n.h2,{id:"inner-structure",children:"Inner structure"}),"\n",(0,r.jsx)(n.p,{children:"Here is a diagram to see the underlying structure and how expressions are transformed"}),"\n",(0,r.jsx)(n.mermaid,{value:'flowchart TB\n\n \n\nsubgraph Storage\n\nUID1["UID"] --\x3e MyExpression2["MyExpression"]\n\nend\n\n \n\nsubgraph FrontEndExecutable\n\n \n\nUID2["UID"]\n\nend\n\n \n\nsubgraph ViewBox\n\n \n\nsubgraph FrontEndRef\n\nUID3["UID"]\n\nend\n\n \n\nsubgraph Display\n\nsubgraph FrontEndExecutable4["FrontEndExecutable"]\n\n \n\nUID5["UID"]\n\nend\n\nend\n\nend\n\n \n\nsubgraph WLJSInterpreter["WLJS Interpreter"]\n\nsubgraph Container\n\nMyExpression5["MyExpression"]\n\nDOM1\n\nend\n\n \n\nend\n\n \n\nsubgraph Outputcell["Output cell"]\n\nDOM2["DOM"]\n\nText\n\nend\n\n \n\nStorage --fetch--\x3e MyExpression5\n\n \n\nFrontEndExecutable4["FrontEndExecutable"] --render--\x3e Container\n\n \n\nDOM1["DOM"] --\x3e DOM2["DOM"]\n\n \n\nMyExpression5 --\x3e DOM1["DOM"]\n\n \n\nFrontEndRef --render--\x3e Text\n\n \n\nMyExpression1["MyExpression"] --MakeBoxes--\x3e FrontEndExecutable\n\n \n\nMyExpression1["MyExpression"] --MakeBoxes--\x3e UID1\n\n \n\nUID1 --\x3e UID2\n\n \n\nFrontEndExecutable --MakeBoxes--\x3e ViewBox'}),"\n",(0,r.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Despite the fact, that this is separate entity, it can still be evaluated again on Wolfram Kernel. ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndRef",children:"FrontEndRef"})," will be replaced back to its normal form once you submit a cell for evaluation."]}),"\n",(0,r.jsxs)(n.li,{children:["All working objects are synchronized between the notebook and a Kernel. Once you ",(0,r.jsx)(n.strong,{children:"saved"})," a notebook they are serialized to a file as well. So that even with no running Wolfram Kernel they can be displayed."]}),"\n",(0,r.jsxs)(n.li,{children:["All working objects are exported to ",(0,r.jsx)(n.a,{href:"/frontend/Export/HTML",children:"HTML"})]}),"\n",(0,r.jsxs)(n.li,{children:["All objects are embedded automatically to ",(0,r.jsx)(n.a,{href:"/frontend/Cell%20types/Slides",children:"Slides"})," or ",(0,r.jsx)(n.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/StandardForm",children:"StandardForm"})," for all ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," is ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/ViewBox",children:"ViewBox"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/WLXForm",children:"WLXForm"})," for all ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," is a sort of view-box as well"]}),"\n"]})]})}function c(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},12508:(e,n,A)=>{A.d(n,{c:()=>r});const r="data:image/png;base64,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bA1jox7hhfiX60hbqTTvpgbwclkayu+H3Y81wYll+7he37/5QJCVEWe94mvYI0IyYwvLjOvY4BkTGW1XXGEscDGemYO145UA2Jsl04g7Eeo5wPu3oP0vUvT1QJX10nZ9SOaCl2M74oLziCkzpYh1z0+Di+06eU8CJEACJEACJOAZBCjSEvAckEYeKfARUojMjAVcfOmxK1NaijRX2rMNCZCA+wngRdhIvQ9DaGWL+Q2UOHf/SjgjCZAACZAACZBAUiJAkZaAp4mkGnv27JEqVaoYWRgTMJxVV5yBQzZEpLqnkQAJeC4BeOGU5y/2iFHP3QBXRgIkQAIkQAIk4HEEKNI87pFwQSRAAiRAAiRAAiRAAiRAAv9lAtYHVv7LJLh3EiABEiABEiABEiABEiABEvAAAhRpHvAQuAQSIAESIAESIAESIAESIAES0AQo0jQJfpMACZAACZAACZAACZAACZCABxCgSPOAh8AlkAAJkAAJkAAJkAAJkAAJkIAmQJGmSfCbBEiABEiABEiABEiABEiABDyAAEWaBzwELoEESIAESIAESIAESIAESIAENAGKNE2C3yRAAiRAAiRAAiRAAiRAAiTgAQQo0jzgIXAJJEACJEACJEACJEACJEACJKAJUKRpEvwmARIgARIgARIgARIgARIgAQ8gQJHmAQ+BSyABEiABEiABEiABEiABEiABTYAiTZPgNwmQAAmQAAmQAAmQAAmQAAl4AAGKNA94CFwCCZAACZAACZAACZAACZAACWgCyfQFv80E7kVGSPSjGOIgARIgARIgARIgARIgARJI4gR8vLwlpa+/23YZeuqcmiuwQJ5Y56RIs8FDgWYDhLckQAIkQAIkQAIkQAIkkEQJuPtv/3v3I1wiyXBHlzCxEQmQAAmQAAmQAAmQAAmQAAm4hwBFmns4cxYSIAESIAESIAESIAESIAEScIkARZpLmNiIBEiABEiABEiABEiABEiABNxDgGfSHHC+cPyhgxoWP00CuYL8nubwHJsESIAESIAESIAESIAEPJ4APWke/4i4QBIgARIgARIgARIgARIggf8SAYo0B087pFh6BzUsJgESIAESIAESIAESIAESIIGnR4Ai7emx5cgkQAIkQAIkQAIkQAIkQAIkEGcCFGlxRsYOJEACJEACJEACJEACJEACJPD0CCRq4pAVqzeplb5a68Wn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"},4552:(e,n,A)=>{A.d(n,{I:()=>o,M:()=>a});var r=A(11504);const t={},i=r.createContext(t);function a(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/fae41b03.51b9d0f2.js b/Documentation/assets/js/fae41b03.51b9d0f2.js deleted file mode 100644 index 6087c6db..00000000 --- a/Documentation/assets/js/fae41b03.51b9d0f2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[8632],{20304:(e,n,A)=>{A.r(n),A.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=A(17624),t=A(4552);const i={},a=void 0,o={id:"frontend/Advanced/Frontend interpretation/Frontend Objects",title:"Frontend Objects",description:"This is a core concept of all interactive elements on frontend",source:"@site/docs/frontend/Advanced/Frontend interpretation/Frontend Objects.md",sourceDirName:"frontend/Advanced/Frontend interpretation",slug:"/frontend/Advanced/Frontend interpretation/Frontend Objects",permalink:"/frontend/Advanced/Frontend interpretation/Frontend Objects",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1711835414e3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Editor manipulation",permalink:"/frontend/Advanced/Frontend interpretation/Editor manipulation"},next:{title:"WLJS Functions",permalink:"/frontend/Advanced/Frontend interpretation/WLJS Functions"}},s={},l=[{value:"Motivation",id:"motivation",level:2},{value:"Compress and reuse large expressions",id:"compress-and-reuse-large-expressions",level:3},{value:"Evaluate expressions on frontend",id:"evaluate-expressions-on-frontend",level:3},{value:"Remarks on containers",id:"remarks-on-containers",level:4},{value:"Inner structure",id:"inner-structure",level:2},{value:"Properties",id:"properties",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",mermaid:"mermaid",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,t.M)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"This is a core concept of all interactive elements on frontend"}),"\n",(0,r.jsx)(n.h2,{id:"motivation",children:"Motivation"}),"\n",(0,r.jsx)(n.h3,{id:"compress-and-reuse-large-expressions",children:"Compress and reuse large expressions"}),"\n",(0,r.jsxs)(n.p,{children:["Is intended to reduce the load to on the frontend by packing a large Wolfram Expressions like ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"})," with all its data to a single line reference ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," or ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndRef",children:"FrontEndRef"}),", which can be interpreted later by the editor in the cell."]}),"\n",(0,r.jsx)(n.p,{children:"Such expressions like"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"Plot[x, {x,0,1}]\n"})}),"\n",(0,r.jsxs)(n.p,{children:["are evaluated automatically to just a pointer (using ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/CreateFrontEndObject",children:"CreateFrontEndObject"}),") in the output cell as a display value of a ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/ViewBox",children:"ViewBox"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:'FrontEndExecutable["746fa2e0-24f7-4003-a7cc-4c77f8b4891d"]\n'})}),"\n",(0,r.jsx)(n.p,{children:"This expression will be interpreted by the editor."}),"\n",(0,r.jsxs)(n.p,{children:["This behavior is controlled by ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/MakeBoxes",children:"MakeBoxes"})," and represents ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/StandardForm",children:"StandardForm"})," of any ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"}),", ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/Image",children:"Image"})," or other heavy expressions, that demand visual representation."]}),"\n",(0,r.jsx)(n.h3,{id:"evaluate-expressions-on-frontend",children:"Evaluate expressions on frontend"}),"\n",(0,r.jsxs)(n.p,{children:["Some expressions, such as ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Sound/ListPlay",children:"ListPlay"}),", or ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics3D/",children:"Graphics3D"})," can be displayed only outside the Wolfram Kernel, i.e. on the frontend. The last one is browser with Javascript engine in our case."]}),"\n",(0,r.jsxs)(n.p,{children:["For such reason the resulting expressions of interactive or graphical elements are evaluated on Javascript using a tiny Wolfram Language interpreter (WLJS). Every ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," is executed using WLJS Interpreter using data requested on demand from Wolfram Kernel and outputs to the DOM element in the output cell."]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["See more about ",(0,r.jsx)(n.a,{href:"/frontend/Advanced/Frontend%20interpretation/WLJS%20Functions",children:"WLJS Functions"})]})}),"\n",(0,r.jsx)(n.p,{children:"Let us have a loot at the example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="cell 1"',children:'.js\ncore.MyExpression = async (args, env) => {\n\tenv.element.innerText = "Hello World"\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MyExpression[] // CreateFrontEndObject\n"})}),"\n",(0,r.jsx)(n.p,{children:"will result"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:A(12508).c+"",width:"873",height:"79"})}),"\n",(0,r.jsxs)(n.p,{children:["This entity behaves like a single symbol. Basically, thats how ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics/",children:"Graphics"}),", ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Graphics3D/",children:"Graphics3D"}),", ",(0,r.jsx)(n.a,{href:"/frontend/Reference/GUI/InputRange",children:"InputRange"})," and others are made."]}),"\n",(0,r.jsxs)(n.p,{children:["You ",(0,r.jsx)(n.strong,{children:"can remove an extra step"})," by defining a ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/StandardForm",children:"StandardForm"})," for your symbol"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MyExpression /: MakeBoxes[m_MyExpression, StandardForm] := With[{\n\to = CreateFrontEndObject[m]\n},\n\tMakeBoxes[o, StandardForm]\n]\n"})}),"\n",(0,r.jsx)(n.p,{children:"and then evaluate it as a normal one"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mathematica",children:"MyExpression[] (* no need in CreateFrontEndObject anymore *)\n"})}),"\n",(0,r.jsx)(n.h4,{id:"remarks-on-containers",children:"Remarks on containers"}),"\n",(0,r.jsxs)(n.p,{children:["By the default each ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," will be evaluated inside a so-called ",(0,r.jsx)(n.a,{href:"/frontend/Advanced/Frontend%20interpretation/WLJS%20Functions#Containers%20Executables",children:"container"}),", that provides al local memory to the function and allows them to be destroyed or updated based on changes of child element. See more in ",(0,r.jsx)(n.a,{href:"/frontend/Advanced/Frontend%20interpretation/WLJS%20Functions",children:"WLJS Functions"})]}),"\n",(0,r.jsx)(n.h2,{id:"inner-structure",children:"Inner structure"}),"\n",(0,r.jsx)(n.p,{children:"Here is a diagram to see the underlying structure and how expressions are transformed"}),"\n",(0,r.jsx)(n.mermaid,{value:'flowchart TB\n\n \n\nsubgraph Storage\n\nUID1["UID"] --\x3e MyExpression2["MyExpression"]\n\nend\n\n \n\nsubgraph FrontEndExecutable\n\n \n\nUID2["UID"]\n\nend\n\n \n\nsubgraph ViewBox\n\n \n\nsubgraph FrontEndRef\n\nUID3["UID"]\n\nend\n\n \n\nsubgraph Display\n\nsubgraph FrontEndExecutable4["FrontEndExecutable"]\n\n \n\nUID5["UID"]\n\nend\n\nend\n\nend\n\n \n\nsubgraph WLJSInterpreter["WLJS Interpreter"]\n\nsubgraph Container\n\nMyExpression5["MyExpression"]\n\nDOM1\n\nend\n\n \n\nend\n\n \n\nsubgraph Outputcell["Output cell"]\n\nDOM2["DOM"]\n\nText\n\nend\n\n \n\nStorage --fetch--\x3e MyExpression5\n\n \n\nFrontEndExecutable4["FrontEndExecutable"] --render--\x3e Container\n\n \n\nDOM1["DOM"] --\x3e DOM2["DOM"]\n\n \n\nMyExpression5 --\x3e DOM1["DOM"]\n\n \n\nFrontEndRef --render--\x3e Text\n\n \n\nMyExpression1["MyExpression"] --MakeBoxes--\x3e FrontEndExecutable\n\n \n\nMyExpression1["MyExpression"] --MakeBoxes--\x3e UID1\n\n \n\nUID1 --\x3e UID2\n\n \n\nFrontEndExecutable --MakeBoxes--\x3e ViewBox'}),"\n",(0,r.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Despite the fact, that this is separate entity, it can still be evaluated again on Wolfram Kernel. ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndRef",children:"FrontEndRef"})," will be replaced back to its normal form once you submit a cell for evaluation."]}),"\n",(0,r.jsxs)(n.li,{children:["All working objects are synchronized between the notebook and a Kernel. Once you ",(0,r.jsx)(n.strong,{children:"saved"})," a notebook they are serialized to a file as well. So that even with no running Wolfram Kernel they can be displayed."]}),"\n",(0,r.jsxs)(n.li,{children:["All working objects are exported to ",(0,r.jsx)(n.a,{href:"/frontend/Export/HTML%20file",children:"HTML file"})]}),"\n",(0,r.jsxs)(n.li,{children:["All objects are embedded automatically to ",(0,r.jsx)(n.a,{href:"/frontend/Cell%20types/Slides",children:"Slides"})," or ",(0,r.jsx)(n.a,{href:"/frontend/Cell%20types/WLX",children:"WLX"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/StandardForm",children:"StandardForm"})," for all ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," is ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/ViewBox",children:"ViewBox"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/frontend/Reference/Decorations/WLXForm",children:"WLXForm"})," for all ",(0,r.jsx)(n.a,{href:"/frontend/Reference/Frontend%20Objects/FrontEndExecutable",children:"FrontEndExecutable"})," is a sort of view-box as well"]}),"\n"]})]})}function c(e={}){const{wrapper:n}={...(0,t.M)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},12508:(e,n,A)=>{A.d(n,{c:()=>r});const r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2kAAABPCAYAAABxlY0QAAAAAXNSR0IArs4c6QAAAGJlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAABJKGAAcAAAASAAAAUKABAAMAAAABAAEAAKACAAQAAAABAAADaaADAAQAAAABAAAATwAAAABBU0NJSQAAAFNjcmVlbnNob3R8K/HpAAAB1WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj43OTwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj44NzM8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K5X1oDAAAIKtJREFUeAHtnQd0VFUXhU8SktB775CEEHqVIoKKVBFBpCgISFOKBVDstB+lg1SlKL33Lh0EkSIgSCf03kIJAiGFf/Yd72NmmMlMCuMQ91lrMu/dfr8XXNmec8/zemQyoZEACZAACZAACZAACZAACZAACXgEAW+PWAUXQQIkQAIkQAIkQAIkQAIkQAIkoAhQpPEXgQRIgARIgARIgARIgARIgAQ8iABFmgc9DC6FBEiABEiABEiABEiABEiABCjS+DtAAiRAAiRAAiRAAiRAAiRAAh5EgCLNgx4Gl0ICJEACJEACJEACJEACJEACFGn8HSABEiABEiABEiABEiABEiABDyJAkeZBD4NLIQESIAESIAESIAESIAESIAGKNP4OJIjAxYsXE9SfnUkgqRCIvBcpD25HJJXtcB8kQAIkQAIkQAL/IgGKtFjgR0VFSUxMjFWL6OhowccVQ//IyEirj6t9XRn/326zYsUKyZUrl6xatSpRlxIV9UjafLjb+OzYHWY1fkzM4/pWnf+QbbtuWNXH5Wb69OnSsmVLh10++OADGTt2rMN6exVREdFy7cgNuXfjvr1qjyzDK+2jI2Oe+HjCYh+Znrft2mKirP9dxmWdh5aGyuW/rll1wfjXjoZJRPhDq3KUHVhw1KrM0c24F2fJuKozHFWznARIgARIgARIgARcJpDM5Zb/wYa+vr7So0cPGThwoLH7atWqSdq0aWXlypVGmaOL9u3by+TJk62qX3vtNVm6dKlV2bN6U758eenYsaMUKVIkUbfwSB5J+N0o6d0jRLJm9pc0aax/Tb29vWRgz2Jqzm/6H5J791wTzfYWOXjwYPn000/tVcnly5dl9OjRcvLkSbv19gp/HbJTVn660aiq2a+qVOtRQXx83fP/Qw4uPi5RD6KkZLMQYw2uXJzddl5+qPKkwPjyQmdJmzO1K0MkuM3mgdslsEYByVUmm9VYe6YekHnvPvnvbcCjz6zauXrz24g/pETjYMlePIvqsmfaQZnbcrnRvcL7paX+iOri4+cj53ZclG2j90ixRsFGvaOLSp1Ky8N7UY6q413uiEu8B2RHEiABEiABEiABjydg/devxy/X/Qv84YcfpF+/fgLBFhoaKr/99pvUqlXL5YVAqPXu3dto7+/vb1w/6xdZs2aNs5cpLnvOnNFPsphEmj3T5b4JED/bt2+XU6dOSaNGjexNIVOnTpVXX31VChQoYLfetvDExrNKoNUb9rKUfKuInN56XmY0Xiw5S2WVwq8G2DZ/Kvdnt1+UyL8fxlmk6cVAlFla6mypLG+f6vX+uUckY0CGJ0QaJs1cKKN02PhWos8PjycE2oufV5RKncvIiQ1nZEmXtZK9WGZ1H5cJy7YuHpfmLreNjYvLg7AhCZAACZAACZDAM0XAPf97/5lCYr3YdOnSyZo1a1ThzJkzJXfu3EaDJk2ayJw5c4z78+fPS9myZcXynFaGDBkkZ86cxidTpkyqPdo+99xzsm3bNnV/7949qVmzpixevFjdI5SwXbt20rdvXwkODlZtd+/ebcz15Zdfqrleeukl2bVrl+rr5eUl8+bNU20ePHggaBMQEKDaLViwwCpME6GYvXr1kqJFi6rx+/fvbxXaeeHCBenUqZPkyZNHzb1s2TJjbqwD+9Sf06dPG3W4QIjosGHDpGTJkqr/Z599JliPtrp168rChQulXr16an09e/aUu3fv6mq3fY8bN07tMUWKFE/MCT6jRo1SnsInKh0UHJh/RAmMKl3LS5rsqaT4m8FKLB1bfUr1QNjcqLKT1QdianbzZdIr7XBZ3nW9MSK8RmjTP89Y2TJslzy8+zj8DiF5G/ptk9HPTZURJX+WvTMOGf1Obj4nYytNk92T9svuKQfUNe7PbLtgtIFXaEL12dIv2yhZ9tE6uX3ujlGnL+A1s/x4+3ipKvTDulZ9vln2Tj+o5v/ca6DcOmse4/6tCFn6wVoZFDBOhgRPkN2T/9JDyu3z4WrNR1edVOvCODsn7DPqtw7fpcov7Lkiqz7bZKzdcu/+qX2t1mXp3ZtUd54cWHhMJtebr+Zf23OLFbfQdafV/Ng31o/wSW1/zT8qqbOmlFrfVZN0udNImZbFpFTzooqhboPvDd/+rvYF9hd2XzaqsA/9TBUf0/otDV7N1V9uVutCPX4HYqIfzw82M5suUc9kWNGf1D50f1e46Lb8JgESIAESIAESSFoE6Elz8jzfe+89mTJlitSpU0cmTJgguN+6davqBYHz008/SdOmTdX9kiVL1DdEmbabN28qb42+h0hDuCTEHkTKu+++K3/++acSYxAyCIeE3bhxQ43dokULGTFihBKD5cqVk9u3b6v+OCtVoUIFeeedd6Rz585KMMFrV7y4+f/mI0QTAhJ9MS4EV8qUKdU+MP78+fNl9uzZAvGGMbE/iC4IRRi8h3fu3JGNGzfKli1bpH79+hIWFiYQnYULF1ZMHpkOMpUoUUIiIqyTJUyaNEl5D4cOHarEKUTYlStXjNBPiLyjR4/KN998I6lTp1brR8hks2bN1Nzu+HH9+nW1nmPHjtmdbu3atao8Ll7TGyduSaFa1l63t2bVN8YPqJ5fcpTMKoODxsuKTzZKivT+8sa4WpImhzmcEF6cua1WSKMJtSVTYAZZ/fUW+fvaPandv5oa4/cxe+SveUfk9TE1JezUbZnTYpnkLptNshTOpMZ9bcQrglC+yPtRyjOETpmDMqi+f1+/LxNrzJHnOpSSWt9WVSJpWqPF0mWn4/N4quM/P94YX1sJr6MrT8ifMw5KhfdKSdVPK6g9oAkE2uX9V6Xe8OrqLN7SD9epnvAuQaic33VJEAr68teV5frxm7Kwwy8SXLuApMuTVonZfM/nlllvLZVy7xaXoJpmhsmSP/7PU8TdSLXnf5Yjfql8lbjCPUQTzo5V/6ay+KX2kyWd10jWIpmVQIYgghjGcwFHiLKTm85KyaaF1VDgGFw3QEz/f8OwwJfzqj3qAqw9W9HM0mBsTdk365CMKjdF+tz+WPzT+kuR14MkXyXzv3eETWI8S9s0cIfsm3NE8GzAYXGnNeKb0leC6xRUzdb13irhl+5Ks5n15ebp2zK90SLpfrideqYQ+c64WM7FaxIgARIgARIggaRD4PFfQUlnT4m6k9dff10GDRqkPD85cuRQnict0iAqEMoIAZItWzaZNWuWtGnTxmp+CDuIIW19+vSRrl27qtsvvvhCli9frkTepk2bZN++feLj46Obqm94eyCuXnzxRSWoIJgQgoe15M2bV8LDw5VwbNu2rVW/uXPnqnkgBGHwtuEcHcQY7Ny5c+obXq/nn39eCTJV8M+PM2fOmM6CpRF4mSAkW7dubfpD1vyXbKpUqaRYsWICkWbPFi1apPpANMK8vb3VHidOnCjJkpl/5XCWDWPCNm/eLKtXr3arSJs2bZoKWw0KClJrsP2BMNcuXboY67Wtt3ePhCGpsqS0V6XKIMrwgWUskE6aTjM/G1Vg+nF4+Qkp2rCQlG9XUhW99EVFWd5tgyHScOapcpcyAkUBsZejRBY5/8dl9Qc9xs3zXA4lepBhENeWdua38+oWQgXn4yDe+mYeKXcu3rU6cwbvmDYIiXdXNla3mQLSC0If4e3qfqS9ZAnOqJspzxC8ay0WNJQi9QNV+fVjYYIEHZYhgLW/qyp5KpgFzfYf9kro+jOqHkINH+wB4tR27RgQ48F7qC3g5XzScvEb+lYqdixtzHVq81mB9xLn8s7+fkHuXr0nDX6opYRdgap5rAQYhFOG/OmMcXCROnvqJxKINBhTQ4mr/FVyC8IPT205r0JY4YXDBwaxbSvS0Bae1ZB6AaoNBB+ELtji9wX1bX5pIvkq5zKPYfLA6n9WrnBRnfiDBEiABEiABEggyREw/8Wc5LaVeBuCQEJYI8QXPEMIg9OGMEQkz0AoYO3atdV5NXimLM028YhlHc65DRkyRJCMBILN9uwTxBPmhyVPnlzNhTBJW9PCy7IcIgzeNoQ8aqtcubK+FAgoePAQkoizZRB58Gzp0D+sC2Xw+BUqVEitT4sqYxAHF5cuXVIePl0Njx/E5LVr15S4RDm8dtogNiEi3WUQpkgIgpBMe4bwTTzT8ePH26t2WOabIpkSBA4bWFTAA2Nr8JodXHRMhUBa1iG1O7wvl/ZfE3hejqw4oULzECrnapZDeNKQubBvphHG0P5p/JQHyjJ08IuzHY16H/8n//OAs2GWAg2NdUbEvBUeC0OIDoQgWlqOUo8TgkD0wePnqiGZyAe7WztsnqtsdqMufd60cm6XOSQRoilvxZxKoKEBBCqEljY8szsXwvWt+g6/GC5gow3eLPCHJfP3kdzlc6gQTl0f2zdCSuFlRMijNi3Ibp66pdhZJkpx19lFvRZ+kwAJkAAJkAAJeCaBJ/8K88x1/qurgkDDH+1vvvmmrFtnDuPSC0IdPGgI+UOoIjxqcbHvv/9eypQpo0TDRx99ZNV///79ShTC+4TU/QcOHFChgZbjw9tlGV6p6xCSiBBHR8Iqffr0MmPGDBXCiZBG7AOCDH1gCD/8/fffBWGBOOcGbxrWifBGZ4a0/IcOPT4vdeTIEdUFYZ6eYBs2bFBn4OCRtGcI13z77bcle/bHf/jba2dbBuFxfM0pw/OFepyx8k7mrUIMLdtD7NgaxAU8T40n1bWtUvfLPl4vgdXzyTsLG6rMg5aeJbsdLArT50mjPD5fXeoiXt4WsX0WbXAJ701sBg+ereG8GETN1cM3JG2uNKr6ysHrkjJjctumVvfaY2RVmMg3WAPWEv0wWjHDeTSER2qPX4YC6WXbyD+U90qHPMLDh/BGbQjjhBjGc0T45JUD1ySVKcmIK4ZQVHhALT2Kuh88djCEamquN0JvKpbuTNii18NvEiABEiABEiABzyHg7TlL8dyVwAOFkEacx7I1CDf80T9y5Ei779vCmTR4ZvTn6tWrxhAIuYMHCSIJZ8EQAmhp8D7B24NU8Dhbhr76zJhlO3vXDRs2VIkvIJAwTocOHWTAgAFG0+7du6vEJCjA/nA2DElSYAhjrFSpkowZM0Yg5uDRg6ENDPWW74uDd9Hy/W/w7P38888qKQr2jXDRihUrCsIkPcF+/PFH5WXUoZeWa4LYHj58uAohtSx35bp4kxAVDoiU6fByIdxv86AdkiFf7MJHj124bkF17gtnphAKhzNoUxss1NXq7BJukEAE4YXwrNlatiKZ5MjyUCWYEMqnPW3wHiHsD2GG8MwhXA8iD2UJNYiXQrULqkQnOJd3bucldeYt8JX8cRo6e4msKvwPIZhYo6XhTBrObOmPTlhi2cbeNbxg8PRtGmB+Jlu//8NqzyWaFFb3eG0C1r5r4j7ZN/uwlG1VzBgO/fEc4XHbMmSHal+oZn6jPrYLhK9uG7VbvTcP4+AsHtYCQ3hnUI386qwexkaSF5xXDL9i/Uxi4xLb3KwjARIgARIgARJ4dgnQk+bk2elzWLqZ7X3mzJkFggjnsJC10NZwJg0fbfo9acgAiYQfSOABDxMyCSJ8EufXdAINeK2Q/RHZEWEQglooITQRyT1gek14cbYWHu+//74KLwwJCVFtMC/EkjaEOzZv3lwJJ3jjGjRooMI6UY/xEH6JNjiXBQ8b+hYsaE52sH79eqlRo4YeSp1Pww08ilg7vHI406bFHTxwyIwZV7t8LUKiTe8szpjBV5Kbwsy0wQNz6coDdRtpEixxMYSLIiQVotee4R12OO/3wgsv2KuOtazAC7ml/shXBEkzkEUQhjNk5dqUUNfwsv1Ua6661l6wjlubq+QQKMxTMZfUH1VDptRfoIQFwvSQJETbq0NekmlvLJL1fX9TiTAwn62F1A8SZDMcVmSiqmq3tqlALCFcr82qxrK8+0aVYj5jwfRSo08V4zwVzrnFZsgUiYyUsM+9jqj5cZZKG/a9oN0qGRw4ThVB/OD9cHExnN1Cpsvvco1R3f73dzcjzBBn0gYW+NFqOFfekwYh1HxeA5nfZqWs7bVVnSPDeTa9X5zNQ3IXiKctQ3eq8at8XE7KtTWfC0QBngPO/q3+6ldVj70iQYmtaUFsWV7x/VIq+cvQEPPzCHktUOoMeslogoQi8LZ+l3usehZ1BlRTZw2NBqaL2LhYtuM1CZAACZAACZBA0iHgZfKK2M/+kHT2+FR3Anw4U4azXRBaiWV4RxfOTe3cuVPgjYOQ0gIsLnMgc6Ofn59x1sy2L7xsOIfmaGzMbc+DaDuOvXu8VgDCUXvo7LWxVxZtCinr+Mle0ZnS2zbPL5XKPw4PdFZvb0xdBq47duxQXkJdZvmNc3w4L+coTNSyraNr/LEOTw/S8OuzTI7a2ivHWS140iAwbA1jox7hhfiX60hbqTTvpgbwclkayu+H3Y81wYll+7he37/5QJCVEWe94mvYI0IyYwvLjOvY4BkTGW1XXGEscDGemYO145UA2Jsl04g7Eeo5wPu3oP0vUvT1QJX10nZ9SOaCl2M74oLziCkzpYh1z0+Di+06eU8CJEACJEACJOAZBCjSEvAckEYeKfARUojMjAVcfOmxK1NaijRX2rMNCZCA+wngRdhIvQ9DaGWL+Q2UOHf/SjgjCZAACZAACZBAUiJAkZaAp4mkGnv27JEqVaoYWRgTMJxVV5yBQzZEpLqnkQAJeC4BeOGU5y/2iFHP3QBXRgIkQAIkQAIk4HEEKNI87pFwQSRAAiRAAiRAAiRAAiRAAv9lAtYHVv7LJLh3EiABEiABEiABEiABEiABEvAAAhRpHvAQuAQSIAESIAESIAESIAESIAES0AQo0jQJfpMACZAACZAACZAACZAACZCABxCgSPOAh8AlkAAJkAAJkAAJkAAJkAAJkIAmQJGmSfCbBEiABEiABEiABEiABEiABDyAAEWaBzwELoEESIAESIAESIAESIAESIAENAGKNE2C3yRAAiRAAiRAAiRAAiRAAiTgAQQo0jzgIXAJJEACJEACJEACJEACJEACJKAJUKRpEvwmARIgARIgARIgARIgARIgAQ8gQJHmAQ+BSyABEiABEiABEiABEiABEiABTYAiTZPgNwmQAAmQAAmQAAmQAAmQAAl4AAGKNA94CFwCCZAACZAACZAACZAACZAACWgCyfQFv80E7kVGSPSjGOIgARIgARIgARIgARIgARJI4gR8vLwlpa+/23YZeuqcmiuwQJ5Y56RIs8FDgWYDhLckQAIkQAIkQAIkQAIkkEQJuPtv/3v3I1wiyXBHlzCxEQmQAAmQAAmQAAmQAAmQAAm4hwBFmns4cxYSIAESIAESIAESIAESIAEScIkARZpLmNiIBEiABEiABEiABEiABEiABNxDgGfSHHC+cPyhgxoWP00CuYL8nubwHJsESIAESIAESIAESIAEPJ4APWke/4i4QBIgARIgARIgARIgARIggf8SAYo0B087pFh6BzUsJgESIAESIAESIAESIAESIIGnR4Ai7emx5cgkQAIkQAIkQAIkQAIkQAIkEGcCFGlxRsYOJEACJEACJEACJEACJEACJPD0CCRq4pAVqzeplb5a68Wn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"},4552:(e,n,A)=>{A.d(n,{I:()=>o,M:()=>a});var r=A(11504);const t={},i=r.createContext(t);function a(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/fc207fb9.76e9f331.js b/Documentation/assets/js/fc207fb9.76e9f331.js new file mode 100644 index 00000000..cf176b34 --- /dev/null +++ b/Documentation/assets/js/fc207fb9.76e9f331.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9049],{69012:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var t=i(17624),a=i(4552);const r={sidebar_position:3},s=void 0,o={id:"frontend/Dynamics",title:"Dynamics",description:"The way how dynamics work is quite different compared to Wolfram Mathematica. The key changes were made for the sake of performance and control (or imagination of @JerryI - maintainer)",source:"@site/docs/frontend/Dynamics.md",sourceDirName:"frontend",slug:"/frontend/Dynamics",permalink:"/frontend/Dynamics",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1719476154e3,sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Overview",permalink:"/frontend/Overview"},next:{title:"Symbolic programming",permalink:"/frontend/Symbolic programming"}},c={},l=[{value:"Architecture",id:"architecture",level:2},{value:"If you are looking for just Manipulate",id:"if-you-are-looking-for-just-manipulate",level:2},{value:"Automatic tracking of held symbols",id:"automatic-tracking-of-held-symbols",level:2},{value:"Event-based approach",id:"event-based-approach",level:2},{value:"\ud83c\udf6a Example 0",id:"-example-0",level:4},{value:"\ud83c\udf6a Example 1",id:"-example-1",level:4},{value:"Event handlers for graphics primitives",id:"event-handlers-for-graphics-primitives",level:3},{value:"Autogeneration of dynamic symbols",id:"autogeneration-of-dynamic-symbols",level:3},{value:"\ud83c\udf6a Example 2",id:"-example-2",level:4},{value:"\ud83c\udf6a Example 3",id:"-example-3",level:4}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"The way how dynamics work is quite different compared to Wolfram Mathematica. The key changes were made for the sake of performance and control (or imagination of @JerryI - maintainer)"}),"\n",(0,t.jsx)(n.h2,{id:"architecture",children:"Architecture"}),"\n",(0,t.jsx)(n.p,{children:"All dynamics in terms of what you expect from Mathematica's experience happens on the frontend's side, i.e. in your browser."}),"\n",(0,t.jsxs)(n.p,{children:["The core engine for that is used from ",(0,t.jsx)(n.a,{href:"https://jerryi.github.io/wlx-docs/docs/WLX/dynamics#dynamic-symbols",children:"WLX Library"})," (WLJSTransport package)."]}),"\n",(0,t.jsxs)(n.p,{children:["Some expressions are meant for to be executed on frontend, i.e. not defined on the Kernel, then a user do not need to specify explicitly what and when should happen. In other cases, a user can use ",(0,t.jsx)(n.code,{children:"Offload"})," attribute or ",(0,t.jsx)(n.code,{children:"CreateFrontEndObject"})," to tell explicitly Wolfram Kernel pass an expression without evaluation to the frontend. Therefore one can play around with a way of splitting your code-base to archive the maximum flexibility and performance."]}),"\n",(0,t.jsxs)(n.admonition,{type:"tip",children:[(0,t.jsx)(n.mdxAdmonitionTitle,{}),(0,t.jsxs)(n.p,{children:["More about it ",(0,t.jsx)(n.a,{href:"https://jerryi.github.io/wlx-docs/docs/WLX/dynamics#dynamic-symbols",children:"here"})]})]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsx)(n.p,{children:"Always keep in mind, which part of code executes on Wolfram Kernel (server) and what is delegated to the frontend (browser). This is the only way to write predictable and good performing code"})}),"\n",(0,t.jsx)(n.h2,{id:"if-you-are-looking-for-just-manipulate",children:"If you are looking for just Manipulate"}),"\n",(0,t.jsxs)(n.p,{children:["There is a short cut, if you need to see how your curves changes with different parameters - see ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Plotting%20Functions/ManipulatePlot",children:"ManipulatePlot"})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(19706).c+"",width:"600",height:"400"})}),"\n",(0,t.jsxs)(n.p,{children:["For small expression needed to be reevaluated by a trigger or a timer (not often), one can also use ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Refresh",children:"Refresh"})," wrapper"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"Refresh[Now // TextString, 1]\n"})}),"\n",(0,t.jsx)(n.p,{children:"It will update the current time in the output cell every second."}),"\n",(0,t.jsx)(n.h2,{id:"automatic-tracking-of-held-symbols",children:"Automatic tracking of held symbols"}),"\n",(0,t.jsxs)(n.p,{children:["It does not mean, that your ",(0,t.jsx)(n.code,{children:"Set"})," statements will be reevaluated on change of a nested symbol, however, for most graphics primitives it works out of the box. Use ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," wrapper to hold symbols for the frontend"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"length = 1;\n\nGraphics[{Cyan, \n Rectangle[{-1,-1}, {length // Offload, 1}]\n}] \n"})}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Offload"})," just does a simple trick - provides to a frontend an unknown symbol, which forces frontend to fetch it from the Kernel. Once it has been fetched, a dynamic link is created."]})}),"\n",(0,t.jsxs)(n.p,{children:["The binding itself happens between ",(0,t.jsx)(n.code,{children:"Rectangle"})," and ",(0,t.jsx)(n.code,{children:"length"}),", but not ",(0,t.jsx)(n.code,{children:"Graphics"}),", therefore only partial reevaluation occurs. To know more about details see ",(0,t.jsx)(n.a,{href:"../../../interpreter/Advanced/symbols.md",children:"WLJS"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"danger",children:(0,t.jsxs)(n.p,{children:["Not all functions support dynamic binding or updates. Please check ",(0,t.jsx)(n.strong,{children:"Reference"})," section, if the argument or a function supports dynamic updates."]})}),"\n",(0,t.jsx)(n.h2,{id:"event-based-approach",children:"Event-based approach"}),"\n",(0,t.jsx)(n.p,{children:"Working with GUI elements standing for input is done in more controllable way, where each button or slider is an event-generator"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'slider = InputRange[-1,1,0.1, "Label"->"Length"]\nEventHandler[slider, Function[l, length = l]];\n'})}),"\n",(0,t.jsx)(n.p,{children:"Once event was fired, the assigned handler function will be called."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(90784).c+"",width:"600",height:"344"})}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"slider"})," symbol is actually a special object, that stores the representation of a slider and an ID for the event, that will be fired when a user drags a knob."]}),"\n",(0,t.jsx)(n.h4,{id:"-example-0",children:"\ud83c\udf6a Example 0"}),"\n",(0,t.jsx)(n.p,{children:"A simple rotation with a slider"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"EventHandler[InputRange[0, 2.0 Pi, 0.1], Function[a,\n angle = a\n]]\n% // EventFire;\n\nGraphics[Rotate[Rectangle[{-1,-1}, {1,1}], angle // Offload]]\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(56648).c+"",width:"1056",height:"940"})}),"\n",(0,t.jsx)(n.h4,{id:"-example-1",children:"\ud83c\udf6a Example 1"}),"\n",(0,t.jsx)(n.p,{children:"Let us demonstrate how a wave packet travels though space and time"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 1"',children:'packet[x_, t_] := Sum[Sin[- w t + w x], {w, 0,3,0.05}] / 10;\nline = Table[{x, packet[x, 0]}, {x, 0, 10, 0.1}];\n\nGraphics[Line[line // Offload], Frame->True, FrameLabel->{{"amplitude"}, {"distance"}}]\n'})}),"\n",(0,t.jsxs)(n.p,{children:["here ",(0,t.jsx)(n.code,{children:"line"})," symbol is dynamic. Now we need a slider to control time"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 2"',children:"EventHandler[InputRange[0,5,0.5, 0], Function[t, \n line = Table[{x, packet[x, t]}, {x, 0, 10, 0.1}];\n]]\n"})}),"\n",(0,t.jsx)(n.p,{children:"The desired result looks line this"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(65636).c+"",width:"1056",height:"940"})}),"\n",(0,t.jsx)(n.h3,{id:"event-handlers-for-graphics-primitives",children:"Event handlers for graphics primitives"}),"\n",(0,t.jsx)(n.p,{children:"It looks similar to Mathematica's implementation, where one can add an event handler to a random graphics primitive"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'p = {0,0};\nGraphics[{\n\tWhite,\n\tEventHandler[\n\t\tRectangle[{-2,-2}, {2,2}],\n\t\t{"mousemove"->Function[xy, p = xy]}\n\t],\n\tPointSize[0.05], Cyan,\n\tPoint[p // Offload]\n}]\n'})}),"\n",(0,t.jsx)(n.p,{children:"The following event are available"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"drag"})," - provides a list of two coordinates"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"zoom"})," - provides one relative scaling number"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"click"})," - provides coordinates, where the cursor clicked"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"mousemove"})," - provides coordinates of a mouse"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"mouseover"})," - provides coordinates once, when a mouse appears at a div"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"for 3D graphics the following events are provided"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"transform"})," - sends an association with a new position of a dragged object"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["Event handlers wrapped around graphics primitives are parts of ",(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wljs-graphics-d3",children:"wljs-graphics-d3"})," library."]})}),"\n",(0,t.jsxs)(n.p,{children:["See more in ",(0,t.jsx)(n.a,{href:"/frontend/Advanced/Events%20system/Mouse%20and%20keyboard",children:"Mouse and keyboard"})]}),"\n",(0,t.jsx)(n.h3,{id:"autogeneration-of-dynamic-symbols",children:"Autogeneration of dynamic symbols"}),"\n",(0,t.jsxs)(n.p,{children:["There is also an extension ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Interpreter/OffloadFromEventObject",children:"OffloadFromEventObject"})," that allows to turn event objects into dynamic symbols"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(55648).c+"",width:"800",height:"477"})}),"\n",(0,t.jsx)(n.h4,{id:"-example-2",children:"\ud83c\udf6a Example 2"}),"\n",(0,t.jsx)(n.p,{children:"Let us show a fun example - implementation of FABRIK solver."}),"\n",(0,t.jsx)(n.p,{children:"Define a random chain of segments with a random fixed lengths"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 1"',children:"chain = {Cos[#[[1]]], Sin[#[[2]]]}&/@ RandomReal[{-1,1}, {65, 2}] // Sort;\nlengths = Norm /@ (chain // Reverse // Differences) // Reverse;\n"})}),"\n",(0,t.jsx)(n.p,{children:"The most stupid and simple implementation of FABRIK"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 2"',children:"fabrik[lengths_, target_, origin_] := Module[{buffer, prev},\n buffer = Table[With[{p = chain[[-i]]},\n If[i === 1,\n prev = target;\n target\n ,\n \n prev = prev - Normalize[(prev - p)] lengths[[1-i]];\n prev \n ]\n ], {i, chain // Length}] // Reverse;\n\n Table[With[{p = buffer[[i]]},\n If[i === 1,\n prev = origin;\n origin\n ,\n \n prev = prev - Normalize[(prev - p)] lengths[[i-1]];\n prev \n ]\n ], {i, chain // Length}]\n]\n"})}),"\n",(0,t.jsxs)(n.p,{children:["To show the result will will use a simple ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics/Line",children:"Line"})," primitive coupled to a ",(0,t.jsx)(n.code,{children:"chain"})," symbol and an inline event-handler coupled to a target point of a chain"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 3"',children:'Graphics[{\n\n Line[chain // Offload], \n Red, PointSize[0.06], \n EventHandler[Point[{-1,-1}], {"drag"->Function[xy, chain = fabrik[lengths, xy, chain // First]]}], \n Blue, Point[origin // Offload]\n \n}, PlotRange->{{-2,2}, {-2,2}}, ImageSize->500, "TransitionType"->"Linear", "TransitionDuration"->30]\n'})}),"\n",(0,t.jsx)(n.p,{children:"By dragging the red point you update all positions joints"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(92862).c+"",width:"600",height:"378"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"use wheel to zoom and a left click to pan"})}),"\n",(0,t.jsx)(n.h4,{id:"-example-3",children:"\ud83c\udf6a Example 3"}),"\n",(0,t.jsx)(n.p,{children:"Let us show you something more simple"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"opacity = 0.5;\nGraphics[{Opacity[Offload[opacity]], Red, Disk[{0,0}, Offload[1-opacity]], Blue, Opacity[Offload[1.0 - opacity]], Disk[{0,0}, Offload[opacity]]}, ImagePadding->None]\n\nEventHandler[InputRange[0,1,0.1], Function[value,\n\topacity = value;\n]]\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Here we provide dynamic symbol ",(0,t.jsx)(n.code,{children:"opacity"})," to both ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics3D/Opacity",children:"Opacity"})," and ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics/Disk",children:"Disk"})," radius. The effect of two will be following"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(39216).c+"",width:"800",height:"472"})}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsx)(n.p,{children:"All examples shown here are shipped together with an app . Locate"}),(0,t.jsx)("div",{style:{width:"120px"},children:(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(63736).c+"",width:"340",height:"550"})})}),(0,t.jsx)(n.p,{children:"or from the top-bar menu"})]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Check out our ",(0,t.jsx)(n.strong,{children:"Blog"})," section \ud83d\udcfb for more examples and dev notes."]})})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},55648:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Generated.mov to GIF-12d45d60693e6fa42316b24555326f81.gif"},19706:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Manipulate-ezgif.com-video-to-gif-converter 2-e4d4eb07225c8791a7ea5a85cd253d00.gif"},56648:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Rotator-ezgif.com-optipng-c4b25beaad1c09c4b0138a448ce079af.png"},63736:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Screenshot 2023-11-29 at 22.20.08-5a1d775af094ba90bf0331260e5a7a98.png"},92862:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/ezgif.com-optimize-5-55576aef6756b65dcc582b2f19964fa0.gif"},90784:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/ezgif.com-optimize-6-b8c83d6cacd03c5e896fa43c88e64f88.gif"},65636:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/moving-ezgif.com-optipng-a0d2d2c16988d17bb2decbc4e521cea4.png"},39216:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/opacitydouble-ezgif.com-optimize-dc9903353e6f00df08fc3f4dfb60caa4.gif"},4552:(e,n,i)=>{i.d(n,{I:()=>o,M:()=>s});var t=i(11504);const a={},r=t.createContext(a);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/fc207fb9.7c494c73.js b/Documentation/assets/js/fc207fb9.7c494c73.js deleted file mode 100644 index 7cc2e89b..00000000 --- a/Documentation/assets/js/fc207fb9.7c494c73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[9049],{69012:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var t=i(17624),a=i(4552);const r={sidebar_position:3},s=void 0,o={id:"frontend/Dynamics",title:"Dynamics",description:"The way how dynamics work is quite different compared to Wolfram Mathematica. The key changes were made for the sake of performance and control (or imagination of @JerryI - maintainer)",source:"@site/docs/frontend/Dynamics.md",sourceDirName:"frontend",slug:"/frontend/Dynamics",permalink:"/frontend/Dynamics",draft:!1,unlisted:!1,tags:[],version:"current",lastUpdatedAt:1716641823e3,sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Overview",permalink:"/frontend/Overview"},next:{title:"Symbolic programming",permalink:"/frontend/Symbolic programming"}},c={},l=[{value:"Architecture",id:"architecture",level:2},{value:"If you are looking for just Manipulate",id:"if-you-are-looking-for-just-manipulate",level:2},{value:"Automatic tracking of held symbols",id:"automatic-tracking-of-held-symbols",level:2},{value:"Event-based approach",id:"event-based-approach",level:2},{value:"\ud83c\udf6a Example 0",id:"-example-0",level:4},{value:"\ud83c\udf6a Example 1",id:"-example-1",level:4},{value:"Event handlers for graphics primitives",id:"event-handlers-for-graphics-primitives",level:3},{value:"Autogeneration of dynamic symbols",id:"autogeneration-of-dynamic-symbols",level:3},{value:"\ud83c\udf6a Example 2",id:"-example-2",level:4},{value:"\ud83c\udf6a Example 3",id:"-example-3",level:4}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.M)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"The way how dynamics work is quite different compared to Wolfram Mathematica. The key changes were made for the sake of performance and control (or imagination of @JerryI - maintainer)"}),"\n",(0,t.jsx)(n.h2,{id:"architecture",children:"Architecture"}),"\n",(0,t.jsx)(n.p,{children:"All dynamics in terms of what you expect from Mathematica's experience happens on the frontend's side, i.e. in your browser."}),"\n",(0,t.jsxs)(n.p,{children:["The core engine for that is used from ",(0,t.jsx)(n.a,{href:"https://jerryi.github.io/wlx-docs/docs/WLX/dynamics#dynamic-symbols",children:"WLX Library"})," (WLJSTransport package)."]}),"\n",(0,t.jsxs)(n.p,{children:["Some expressions are meant for to be executed on frontend, i.e. not defined on the Kernel, then a user do not need to specify explicitly what and when should happen. In other cases, a user can use ",(0,t.jsx)(n.code,{children:"Offload"})," attribute or ",(0,t.jsx)(n.code,{children:"CreateFrontEndObject"})," to tell explicitly Wolfram Kernel pass an expression without evaluation to the frontend. Therefore one can play around with a way of splitting your code-base to archive the maximum flexibility and performance."]}),"\n",(0,t.jsxs)(n.admonition,{type:"tip",children:[(0,t.jsx)(n.mdxAdmonitionTitle,{}),(0,t.jsxs)(n.p,{children:["More about it ",(0,t.jsx)(n.a,{href:"https://jerryi.github.io/wlx-docs/docs/WLX/dynamics#dynamic-symbols",children:"here"})]})]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsx)(n.p,{children:"Always keep in mind, which part of code executes on Wolfram Kernel (server) and what is delegated to the frontend (browser). This is the only way to write predictable and good performing code"})}),"\n",(0,t.jsx)(n.h2,{id:"if-you-are-looking-for-just-manipulate",children:"If you are looking for just Manipulate"}),"\n",(0,t.jsxs)(n.p,{children:["There is a short cut, if you need to see how your curves changes with different parameters - see ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Plotting%20Functions/ManipulatePlot",children:"ManipulatePlot"})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(19706).c+"",width:"600",height:"400"})}),"\n",(0,t.jsx)(n.h2,{id:"automatic-tracking-of-held-symbols",children:"Automatic tracking of held symbols"}),"\n",(0,t.jsxs)(n.p,{children:["It does not mean, that your ",(0,t.jsx)(n.code,{children:"Set"})," statements will be reevaluated on change of a nested symbol, however, for most graphics primitives it works out of the box. Use ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Interpreter/Offload",children:"Offload"})," wrapper to hold symbols for the frontend"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"length = 1;\n\nGraphics[{Cyan, \n Rectangle[{-1,-1}, {length // Offload, 1}]\n}] \n"})}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Offload"})," just does a simple trick - provides to a frontend an unknown symbol, which forces frontend to fetch it from the Kernel. Once it has been fetched, a dynamic link is created."]})}),"\n",(0,t.jsxs)(n.p,{children:["The binding itself happens between ",(0,t.jsx)(n.code,{children:"Rectangle"})," and ",(0,t.jsx)(n.code,{children:"length"}),", but not ",(0,t.jsx)(n.code,{children:"Graphics"}),", therefore only partial reevaluation occurs. To know more about details see ",(0,t.jsx)(n.a,{href:"../../../interpreter/Advanced/symbols.md",children:"WLJS"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"danger",children:(0,t.jsxs)(n.p,{children:["Not all functions support dynamic binding or updates. Please check ",(0,t.jsx)(n.strong,{children:"Reference"})," section, if the argument or a function supports dynamic updates."]})}),"\n",(0,t.jsx)(n.h2,{id:"event-based-approach",children:"Event-based approach"}),"\n",(0,t.jsx)(n.p,{children:"Working with GUI elements standing for input is done in more controllable way, where each button or slider is an event-generator"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'slider = InputRange[-1,1,0.1, "Label"->"Length"]\nEventHandler[slider, Function[l, length = l]];\n'})}),"\n",(0,t.jsx)(n.p,{children:"Once event was fired, the assigned handler function will be called."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(90784).c+"",width:"600",height:"344"})}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"slider"})," symbol is actually a special object, that stores the representation of a slider and an ID for the event, that will be fired when a user drags a knob."]}),"\n",(0,t.jsx)(n.h4,{id:"-example-0",children:"\ud83c\udf6a Example 0"}),"\n",(0,t.jsx)(n.p,{children:"A simple rotation with a slider"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"EventHandler[InputRange[0, 2.0 Pi, 0.1], Function[a,\n angle = a\n]]\n% // EventFire;\n\nGraphics[Rotate[Rectangle[{-1,-1}, {1,1}], angle // Offload]]\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(56648).c+"",width:"1056",height:"940"})}),"\n",(0,t.jsx)(n.h4,{id:"-example-1",children:"\ud83c\udf6a Example 1"}),"\n",(0,t.jsx)(n.p,{children:"Let us demonstrate how a wave packet travels though space and time"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 1"',children:'packet[x_, t_] := Sum[Sin[- w t + w x], {w, 0,3,0.05}] / 10;\nline = Table[{x, packet[x, 0]}, {x, 0, 10, 0.1}];\n\nGraphics[Line[line // Offload], Frame->True, FrameLabel->{{"amplitude"}, {"distance"}}]\n'})}),"\n",(0,t.jsxs)(n.p,{children:["here ",(0,t.jsx)(n.code,{children:"line"})," symbol is dynamic. Now we need a slider to control time"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 2"',children:"EventHandler[InputRange[0,5,0.5, 0], Function[t, \n line = Table[{x, packet[x, t]}, {x, 0, 10, 0.1}];\n]]\n"})}),"\n",(0,t.jsx)(n.p,{children:"The desired result looks line this"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(65636).c+"",width:"1056",height:"940"})}),"\n",(0,t.jsx)(n.h3,{id:"event-handlers-for-graphics-primitives",children:"Event handlers for graphics primitives"}),"\n",(0,t.jsx)(n.p,{children:"It looks similar to Mathematica's implementation, where one can add an event handler to a random graphics primitive"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:'p = {0,0};\nGraphics[{\n\tWhite,\n\tEventHandler[\n\t\tRectangle[{-2,-2}, {2,2}],\n\t\t{"mousemove"->Function[xy, p = xy]}\n\t],\n\tPointSize[0.05], Cyan,\n\tPoint[p // Offload]\n}]\n'})}),"\n",(0,t.jsx)(n.p,{children:"The following event are available"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"drag"})," - provides a list of two coordinates"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"zoom"})," - provides one relative scaling number"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"click"})," - provides coordinates, where the cursor clicked"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"mousemove"})," - provides coordinates of a mouse"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"mouseover"})," - provides coordinates once, when a mouse appears at a div"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"for 3D graphics the following events are provided"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"transform"})," - sends an association with a new position of a dragged object"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["Event handlers wrapped around graphics primitives are parts of ",(0,t.jsx)(n.a,{href:"https://github.com/JerryI/wljs-graphics-d3",children:"wljs-graphics-d3"})," library."]})}),"\n",(0,t.jsx)(n.h3,{id:"autogeneration-of-dynamic-symbols",children:"Autogeneration of dynamic symbols"}),"\n",(0,t.jsxs)(n.p,{children:["There is also an extension ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Interpreter/OffloadFromEventObject",children:"OffloadFromEventObject"})," that allows to turn event objects into dynamic symbols"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(55648).c+"",width:"800",height:"477"})}),"\n",(0,t.jsx)(n.h4,{id:"-example-2",children:"\ud83c\udf6a Example 2"}),"\n",(0,t.jsx)(n.p,{children:"Let us show a fun example - implementation of FABRIK solver."}),"\n",(0,t.jsx)(n.p,{children:"Define a random chain of segments with a random fixed lengths"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 1"',children:"chain = {Cos[#[[1]]], Sin[#[[2]]]}&/@ RandomReal[{-1,1}, {65, 2}] // Sort;\nlengths = Norm /@ (chain // Reverse // Differences) // Reverse;\n"})}),"\n",(0,t.jsx)(n.p,{children:"The most stupid and simple implementation of FABRIK"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 2"',children:"fabrik[lengths_, target_, origin_] := Module[{buffer, prev},\n buffer = Table[With[{p = chain[[-i]]},\n If[i === 1,\n prev = target;\n target\n ,\n \n prev = prev - Normalize[(prev - p)] lengths[[1-i]];\n prev \n ]\n ], {i, chain // Length}] // Reverse;\n\n Table[With[{p = buffer[[i]]},\n If[i === 1,\n prev = origin;\n origin\n ,\n \n prev = prev - Normalize[(prev - p)] lengths[[i-1]];\n prev \n ]\n ], {i, chain // Length}]\n]\n"})}),"\n",(0,t.jsxs)(n.p,{children:["To show the result will will use a simple ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics/Line",children:"Line"})," primitive coupled to a ",(0,t.jsx)(n.code,{children:"chain"})," symbol and an inline event-handler coupled to a target point of a chain"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",metastring:'title="cell 3"',children:'Graphics[{\n\n Line[chain // Offload], \n Red, PointSize[0.06], \n EventHandler[Point[{-1,-1}], {"drag"->Function[xy, chain = fabrik[lengths, xy, chain // First]]}], \n Blue, Point[origin // Offload]\n \n}, PlotRange->{{-2,2}, {-2,2}}, ImageSize->500, "TransitionType"->"Linear", "TransitionDuration"->30]\n'})}),"\n",(0,t.jsx)(n.p,{children:"By dragging the red point you update all positions joints"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(92862).c+"",width:"600",height:"378"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"use wheel to zoom and a left click to pan"})}),"\n",(0,t.jsx)(n.h4,{id:"-example-3",children:"\ud83c\udf6a Example 3"}),"\n",(0,t.jsx)(n.p,{children:"Let us show you something more simple"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-mathematica",children:"opacity = 0.5;\nGraphics[{Opacity[Offload[opacity]], Red, Disk[{0,0}, Offload[1-opacity]], Blue, Opacity[Offload[1.0 - opacity]], Disk[{0,0}, Offload[opacity]]}, ImagePadding->None]\n\nEventHandler[InputRange[0,1,0.1], Function[value,\n\topacity = value;\n]]\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Here we provide dynamic symbol ",(0,t.jsx)(n.code,{children:"opacity"})," to both ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics3D/Opacity",children:"Opacity"})," and ",(0,t.jsx)(n.a,{href:"/frontend/Reference/Graphics/Disk",children:"Disk"})," radius. The effect of two will be following"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(39216).c+"",width:"800",height:"472"})}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsx)(n.p,{children:"All examples shown here are shipped together with an app . Locate"}),(0,t.jsx)("div",{style:{width:"120px"},children:(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:i(63736).c+"",width:"340",height:"550"})})}),(0,t.jsx)(n.p,{children:"or from the top-bar menu"})]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Check out our ",(0,t.jsx)(n.strong,{children:"Blog"})," section \ud83d\udcfb for more examples and dev notes."]})})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},55648:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Generated.mov to GIF-12d45d60693e6fa42316b24555326f81.gif"},19706:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Manipulate-ezgif.com-video-to-gif-converter 2-e4d4eb07225c8791a7ea5a85cd253d00.gif"},56648:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Rotator-ezgif.com-optipng-c4b25beaad1c09c4b0138a448ce079af.png"},63736:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/Screenshot 2023-11-29 at 22.20.08-5a1d775af094ba90bf0331260e5a7a98.png"},92862:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/ezgif.com-optimize-5-55576aef6756b65dcc582b2f19964fa0.gif"},90784:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/ezgif.com-optimize-6-b8c83d6cacd03c5e896fa43c88e64f88.gif"},65636:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/moving-ezgif.com-optipng-a0d2d2c16988d17bb2decbc4e521cea4.png"},39216:(e,n,i)=>{i.d(n,{c:()=>t});const t=i.p+"assets/images/opacitydouble-ezgif.com-optimize-dc9903353e6f00df08fc3f4dfb60caa4.gif"},4552:(e,n,i)=>{i.d(n,{I:()=>o,M:()=>s});var t=i(11504);const a={},r=t.createContext(a);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/Documentation/assets/js/main.afa1cc71.js b/Documentation/assets/js/main.afa1cc71.js new file mode 100644 index 00000000..427966b5 --- /dev/null +++ b/Documentation/assets/js/main.afa1cc71.js @@ -0,0 +1,2 @@ +/*! For license information please see main.afa1cc71.js.LICENSE.txt */ +(self.webpackChunkwlx_docs=self.webpackChunkwlx_docs||[]).push([[1590],{628:(e,t,n)=>{"use strict";n.d(t,{c:()=>f});n(11504);var r=n(98852),o=n.n(r),a=n(14504);const i={"01a85c17":[()=>Promise.all([n.e(2176),n.e(8412)]).then(n.bind(n,76468)),"@theme/BlogTagsListPage",76468],"01d763f6":[()=>n.e(7016).then(n.bind(n,32640)),"@site/docs/frontend/Reference/Graphics3D/Hue.md",32640],"03334896":[()=>n.e(8552).then(n.bind(n,88424)),"@site/docs/frontend/Reference/Frontend IO/FrontSubmit.md",88424],"03c1244b":[()=>n.e(2050).then(n.bind(n,20668)),"@site/docs/frontend/Reference/Graphics/RGBColor.md",20668],"04190e00":[()=>n.e(4604).then(n.bind(n,94220)),"@site/docs/frontend/Reference/Graphics3D/Opacity.md",94220],"0462fc31":[()=>n.e(520).then(n.bind(n,66816)),"@site/docs/frontend/Advanced/Dynamics/Indicators.md",66816],"051cd8f6":[()=>n.e(9032).then(n.bind(n,25567)),"@site/docs/frontend/Reference/Frontend IO/MetaMarker.md",25567],"05bddf60":[()=>n.e(4976).then(n.bind(n,92700)),"@site/docs/frontend/Advanced/Syntax sugar/Decorating symbols.md",92700],"08f2017f":[()=>n.e(2560).then(n.bind(n,35948)),"@site/docs/frontend/Reference/Plotting Functions/SphericalPlot3D.md",35948],"096f4cf3":[()=>n.e(5616).then(n.bind(n,12388)),"@site/docs/frontend/Reference/Graphics3D/MeshMaterial.md",12388],"09e8c392":[()=>n.e(2732).then(n.bind(n,53836)),"@site/docs/frontend/Reference/Plotting Functions/VectorPlot3D.md",53836],"0d0139b4":[()=>n.e(1712).then(n.bind(n,28272)),"@site/docs/frontend/Reference/Graphics/Raster.md",28272],"0e650b87":[()=>n.e(2468).then(n.bind(n,62828)),"@site/docs/frontend/Advanced/Events system/promises.md",62828],"0edcb693":[()=>n.e(6204).then(n.bind(n,96560)),"@site/docs/frontend/Reference/Graphics3D/Cylinder.md",96560],"0ef0c676":[()=>n.e(1488).then(n.bind(n,13548)),"@site/docs/frontend/Reference/Interpreter/Alert.md",13548],"0fae054d":[()=>n.e(5856).then(n.bind(n,51596)),"@site/docs/frontend/Reference/Decorations/ArrangeSummaryBox.md",51596],"105de191":[()=>n.e(6132).then(n.bind(n,29328)),"@site/docs/frontend/Cell types/Slides.md",29328],"114f2322":[()=>n.e(796).then(n.bind(n,38928)),"@site/docs/interpreter/Advanced/architecture.md",38928],"117874d9":[()=>n.e(7808).then(n.bind(n,33404)),"@site/docs/frontend/Reference/Plotting Functions/BarChart.md",33404],"123c678c":[()=>n.e(3172).then(n.bind(n,2652)),"@site/docs/frontend/Reference/Plotting Functions/ContourPlot.md",2652],"128582e4":[()=>n.e(1244).then(n.bind(n,8668)),"@site/docs/frontend/Reference/Misc/Promise.md",8668],"13dffe26":[()=>n.e(1568).then(n.t.bind(n,58728,19)),"@generated/docusaurus-plugin-content-docs/default/p/tags-cd4.json",58728],"14eb3368":[()=>Promise.all([n.e(2176),n.e(9576)]).then(n.bind(n,76248)),"@theme/DocCategoryGeneratedIndexPage",76248],"1657c632":[()=>n.e(2200).then(n.bind(n,89504)),"@site/docs/imgs/FE data binding.excalidraw 1.md",89504],"16aa3047":[()=>n.e(2964).then(n.bind(n,51640)),"@site/docs/frontend/Advanced/Dynamics/Prototyping.md",51640],17896441:[()=>Promise.all([n.e(2176),n.e(9384),n.e(6752)]).then(n.bind(n,2012)),"@theme/DocItem",2012],"1841594e":[()=>n.e(1580).then(n.bind(n,35076)),"@site/docs/frontend/Advanced/Events system/Notebook, cells and windows.md",35076],19363427:[()=>n.e(4512).then(n.bind(n,95036)),"@site/docs/interpreter/Extras/reference.md",95036],"19de5556":[()=>n.e(7224).then(n.bind(n,93108)),"@site/docs/frontend/Advanced/Slides/Slides.md",93108],"19eced32":[()=>n.e(2384).then(n.t.bind(n,6486,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-frontend-1ec.json",6486],"19fed72f":[()=>n.e(1040).then(n.bind(n,47156)),"@site/docs/frontend/Reference/Graphics3D/AbsoluteThickness.md",47156],"1ca4e3ff":[()=>n.e(3752).then(n.bind(n,21668)),"@site/docs/frontend/Reference/Cells and Notebook/ResultCell.md",21668],"1d8b1853":[()=>n.e(68).then(n.bind(n,51148)),"@site/docs/frontend/Reference/Graphics/Disk.md",51148],"1db4c60d":[()=>n.e(236).then(n.bind(n,65080)),"@site/docs/frontend/Cell types/Wolfram Language.md",65080],"1e13e5b4":[()=>n.e(9440).then(n.bind(n,70772)),"@site/docs/frontend/Advanced/Events system/Dynamic symbols generation.md",70772],"1e351eeb":[()=>n.e(1920).then(n.bind(n,58828)),"@site/docs/frontend/Advanced/Objects/Dynamic decorations.md",58828],"1ec12287":[()=>n.e(4420).then(n.t.bind(n,11210,19)),"@generated/docusaurus-plugin-content-docs/default/p/tags-excalidraw-a9b.json",11210],"1f625a81":[()=>n.e(4336).then(n.bind(n,82320)),"@site/docs/frontend/Export/PDF.md",82320],"20c430b8":[()=>n.e(4302).then(n.bind(n,74876)),"@site/docs/frontend/Reference/Graphics/Style.md",74876],"21e10778":[()=>n.e(2616).then(n.bind(n,19556)),"@site/docs/frontend/Reference/Cells and Notebook/RemoteCellObj.md",19556],"22c2be42":[()=>n.e(5704).then(n.bind(n,29792)),"@site/docs/frontend/Reference/Graphics/Translate.md",29792],"239f47ac":[()=>n.e(4704).then(n.bind(n,8084)),"@site/docs/frontend/Advanced/Events system/Parallel kernels.md",8084],"23e796ca":[()=>n.e(9068).then(n.bind(n,54708)),"@site/docs/frontend/Reference/Cells and Notebook/CellPrint.md",54708],"25003e4f":[()=>n.e(8808).then(n.t.bind(n,57760,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-archive-80c.json",57760],"250db6d4":[()=>n.e(1856).then(n.bind(n,34972)),"@site/docs/frontend/Reference/GUI/InputSelect.md",34972],"27ec6a37":[()=>n.e(8176).then(n.bind(n,1757)),"@site/blog/2024-04-13-imagetrace/index.md?truncated=true",1757],"28eb11d0":[()=>n.e(9952).then(n.bind(n,7164)),"@site/docs/frontend/Reference/Misc/Language.md",7164],"29be9cf4":[()=>n.e(9768).then(n.bind(n,7332)),"@site/docs/frontend/Reference/Graphics3D/Graphics3D.md",7332],"2a91b19c":[()=>n.e(8376).then(n.bind(n,38164)),"@site/docs/frontend/Reference/Frontend IO/CurrentWindow.md",38164],"2baa7bf5":[()=>n.e(1280).then(n.bind(n,1644)),"@site/docs/frontend/Reference/Sound/Audio.md",1644],"2ca428c6":[()=>n.e(1912).then(n.bind(n,27464)),"@site/docs/frontend/Advanced/Graphics/Complex.md",27464],"2e562dbe":[()=>n.e(48).then(n.t.bind(n,20888,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-dev-59d.json",20888],"2eed87fc":[()=>n.e(5924).then(n.bind(n,85680)),"@site/docs/frontend/Advanced/Events system/Mouse and keyboard.md",85680],"2f303762":[()=>n.e(1096).then(n.bind(n,58100)),"@site/blog/2024-04-22-gauge.md",58100],"2fc28f7d":[()=>n.e(4304).then(n.bind(n,56112)),"@site/docs/frontend/Reference/Plotting Functions/ListContourPlot.md",56112],"305713b6":[()=>n.e(7878).then(n.bind(n,94976)),"@site/docs/frontend/Reference/GUI/InputButton.md",94976],31594508:[()=>n.e(4676).then(n.bind(n,692)),"@site/docs/frontend/Reference/Cells and Notebook/Beep.md",692],"31a00f35":[()=>n.e(5404).then(n.bind(n,17732)),"@site/docs/frontend/Advanced/Events system/event-generators.md",17732],"3288714e":[()=>n.e(7748).then(n.bind(n,70200)),"@site/docs/frontend/Reference/GUI/InputText.md",70200],"343e7a66":[()=>n.e(512).then(n.bind(n,24776)),"@site/docs/frontend/Reference/Interpreter/AttachDOM.md",24776],"34ad7580":[()=>n.e(5680).then(n.bind(n,53128)),"@site/docs/frontend/Reference/Frontend Objects/FrontEndExecutable.md",53128],"361d7023":[()=>n.e(9668).then(n.bind(n,25136)),"@site/docs/frontend/Advanced/Javascript/Communication.md",25136],"367e3f21":[()=>n.e(2388).then(n.bind(n,51256)),"@site/docs/frontend/Reference/Graphics3D/Emissive.md",51256],"36994c47":[()=>n.e(7440).then(n.t.bind(n,50528,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",50528],"36c50926":[()=>n.e(8980).then(n.bind(n,97516)),"@site/docs/frontend/Reference/Graphics/Inset.md",97516],"3720c009":[()=>Promise.all([n.e(2176),n.e(4492)]).then(n.bind(n,12104)),"@theme/DocTagsListPage",12104],"37bd8f20":[()=>Promise.all([n.e(2176),n.e(7972)]).then(n.bind(n,42020)),"@site/docs/frontend/instruction.md",42020],"37f1a983":[()=>n.e(5491).then(n.bind(n,47772)),"@site/docs/frontend/Reference/Decorations/Quantity.md",47772],"380e4091":[()=>n.e(4136).then(n.bind(n,27904)),"@site/docs/frontend/Reference/GUI/TableView.md",27904],"38424dbd":[()=>n.e(9184).then(n.bind(n,23964)),"@site/docs/frontend/Reference/Graphics/Arrow.md",23964],"398aa0e1":[()=>n.e(9858).then(n.bind(n,92608)),"@site/docs/frontend/Reference/Graphics3D/Arrow.md",92608],"3b7c4537":[()=>n.e(5684).then(n.bind(n,69604)),"@site/docs/frontend/Reference/Misc/Async.md",69604],"3bf28511":[()=>n.e(7556).then(n.bind(n,89940)),"@site/docs/frontend/Reference/Graphics/Rotate.md",89940],"3cccc4a0":[()=>n.e(9244).then(n.bind(n,97400)),"@site/docs/frontend/Reference/Graphics/TransitionType.md",97400],"3d88573f":[()=>n.e(7272).then(n.bind(n,52608)),"@site/docs/frontend/Reference/Decorations/BoxBox.md",52608],"3debb2e8":[()=>n.e(1240).then(n.bind(n,90593)),"@site/blog/2023-07-20-rtx/index.md?truncated=true",90593],"3e484fec":[()=>n.e(2912).then(n.bind(n,11608)),"@site/docs/interpreter/Advanced/meta-markers.md",11608],"3f06bba0":[()=>n.e(6312).then(n.t.bind(n,95916,19)),"@generated/docusaurus-plugin-content-docs/default/p/category-cell-types-88d.json",95916],"40849cbf":[()=>n.e(6852).then(n.bind(n,19792)),"@site/docs/frontend/Reference/Graphics/Offset.md",19792],"40bb327e":[()=>n.e(3032).then(n.t.bind(n,33260,19)),"@generated/docusaurus-plugin-content-docs/default/p/category-exporting-formats-d8d.json",33260],"414b2a97":[()=>n.e(1567).then(n.bind(n,69524)),"@site/blog/2023-09-14-image-raster/2023-08-20-image-raster.md?truncated=true",69524],"41756ce8":[()=>n.e(9228).then(n.t.bind(n,59536,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-037.json",59536],"421edd34":[()=>n.e(2960).then(n.bind(n,93224)),"@site/docs/interpreter/Basics/graphics.md",93224],"45783f9a":[()=>n.e(2460).then(n.bind(n,67028)),"@site/docs/frontend/Advanced/Command palette/AI Assistant.md",67028],46844326:[()=>n.e(4456).then(n.bind(n,48988)),"@site/docs/frontend/Reference/Cells and Notebook/EvaluationCell.md",48988],"47d7fb95":[()=>n.e(7328).then(n.bind(n,5360)),"@site/docs/imgs/feinput.gif.md",5360],"48a2e79a":[()=>n.e(3452).then(n.bind(n,62116)),"@site/docs/frontend/Advanced/Slides/Backgrounds.md",62116],"48d8f606":[()=>n.e(1976).then(n.bind(n,72644)),"@site/docs/frontend/Reference/GUI/InputFile.md",72644],"4a256066":[()=>n.e(2588).then(n.bind(n,91360)),"@site/docs/frontend/Reference/Frontend Objects/FrontEndRef.md",91360],"4a3b398c":[()=>n.e(6620).then(n.bind(n,11528)),"@site/docs/interpreter/Basics/js-access.md",11528],"4cc1bcfc":[()=>n.e(6332).then(n.bind(n,63764)),"@site/docs/frontend/Export/Markdown.md",63764],"4ea8c98a":[()=>n.e(2728).then(n.bind(n,36904)),"@site/docs/frontend/Reference/Decorations/StandardForm.md",36904],"4fb88ea1":[()=>n.e(1560).then(n.bind(n,36148)),"@site/docs/frontend/Reference/Graphics/EdgeForm.md",36148],"50af6518":[()=>n.e(4736).then(n.bind(n,15752)),"@site/blog/2024-05-13-json-llm.md",15752],"52848a69":[()=>n.e(8384).then(n.bind(n,88632)),"@site/docs/frontend/Reference/Frontend IO/FrontFetch.md",88632],"52eafd18":[()=>n.e(2336).then(n.bind(n,2408)),"@site/docs/frontend/Reference/Graphics3D/Roughness.md",2408],"5352b456":[()=>n.e(8312).then(n.bind(n,78068)),"@site/docs/frontend/Reference/Graphics3D/Shadows.md",78068],"53a3e6dc":[()=>n.e(7253).then(n.t.bind(n,26800,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-c06.json",26800],"5501589e":[()=>n.e(7592).then(n.bind(n,69244)),"@site/docs/frontend/Reference/Graphics/GrayLevel.md",69244],"550c506c":[()=>n.e(3648).then(n.bind(n,29684)),"@site/docs/frontend/Advanced/Slides/Fragments.md",29684],"5644402c":[()=>n.e(3284).then(n.bind(n,86988)),"@site/docs/frontend/Reference/Plotly/PlotlyInstance.md",86988],"56e6a955":[()=>n.e(2464).then(n.bind(n,32292)),"@site/docs/frontend/Reference/Plotting Functions/ParametricPlot.md",32292],"5739b088":[()=>n.e(1576).then(n.bind(n,32652)),"@site/docs/frontend/Reference/Graphics/Arrowheads.md",32652],"575b1224":[()=>n.e(5168).then(n.bind(n,17792)),"@site/docs/frontend/Reference/Dataset/Dataset.md",17792],"58cbc6d3":[()=>n.e(8216).then(n.bind(n,41520)),"@site/docs/frontend/Reference/Frontend IO/WindowObj.md",41520],"58fae8a7":[()=>n.e(5136).then(n.bind(n,93780)),"@site/docs/frontend/Reference/Cells and Notebook/ParentCell.md",93780],"5b0ff0c7":[()=>n.e(2856).then(n.bind(n,87568)),"@site/docs/frontend/Advanced/Dynamics/Offloading calculations.md",87568],"5b181cb3":[()=>n.e(2520).then(n.bind(n,31920)),"@site/docs/frontend/Cell types/Many more.md",31920],"5c0a903b":[()=>n.e(7968).then(n.bind(n,3324)),"@site/docs/frontend/Reference/Plotting Functions/DensityPlot.md",3324],"5c724a1f":[()=>n.e(9064).then(n.bind(n,54372)),"@site/docs/frontend/Reference/Plotting Functions/Plot.md",54372],"5e350981":[()=>n.e(1840).then(n.bind(n,72316)),"@site/docs/frontend/Reference/Decorations/InputForm.md",72316],"5e388094":[()=>n.e(7104).then(n.bind(n,48428)),"@site/docs/frontend/Reference/Interpreter/FrontEditorSelected.md",48428],"5e95c892":[()=>n.e(1924).then(n.bind(n,43564)),"@theme/DocsRoot",43564],"5ed05174":[()=>n.e(4780).then(n.bind(n,1188)),"@site/docs/frontend/Cell types/WLX.md",1188],"5f4d2632":[()=>n.e(8728).then(n.bind(n,52116)),"@site/docs/frontend/Reference/Cells and Notebook/NotebookStore.md",52116],"5f97a2d4":[()=>n.e(5112).then(n.bind(n,17972)),"@site/docs/frontend/Reference/Graphics3D/RGBColor.md",17972],"6034a098":[()=>n.e(328).then(n.bind(n,84400)),"@site/docs/frontend/Reference/Plotting Functions/Plot3D.md",84400],"60547b06":[()=>n.e(5312).then(n.bind(n,82748)),"@site/docs/frontend/Reference/Plotting Functions/Plotly.md",82748],"6216d563":[()=>n.e(4652).then(n.bind(n,57212)),"@site/docs/frontend/Reference/Slides/SlideEventListener.md",57212],"629956c2":[()=>n.e(7290).then(n.bind(n,71672)),"@site/docs/frontend/Reference/Plotting Functions/ListLinePlot.md",71672],"62b3f5d9":[()=>n.e(4360).then(n.bind(n,20124)),"@site/docs/frontend/Reference/Decorations/Column.md",20124],"63640a45":[()=>n.e(3460).then(n.bind(n,60356)),"@site/docs/interpreter/Basics/syntax.md",60356],"6579fc31":[()=>n.e(7320).then(n.bind(n,2264)),"@site/docs/frontend/Reference/Misc/Events.md",2264],"65890fe9":[()=>n.e(1600).then(n.bind(n,92188)),"@site/docs/frontend/Reference/Graphics3D/Cuboid.md",92188],"6629c45f":[()=>n.e(1216).then(n.t.bind(n,47714,19)),"@generated/docusaurus-plugin-content-docs/default/p/index.json",47714],"66e84712":[()=>n.e(9832).then(n.bind(n,27068)),"@site/docs/frontend/Reference/Video/Video.md",27068],"6875c492":[()=>Promise.all([n.e(2176),n.e(9384),n.e(2392)]).then(n.bind(n,62948)),"@theme/BlogTagsPostsPage",62948],"6967642c":[()=>n.e(7700).then(n.bind(n,89944)),"@site/docs/interpreter/Extras/implementation.md",89944],"69eeed44":[()=>n.e(8364).then(n.bind(n,2736)),"@site/docs/frontend/Reference/Plotting Functions/ManipulatePlot.md",2736],"6a8c201b":[()=>n.e(6546).then(n.bind(n,74260)),"@site/docs/frontend/Reference/Plotting Functions/ListCurvePathPlot.md",74260],"6a8cebe4":[()=>n.e(6768).then(n.bind(n,12848)),"@site/docs/frontend/Reference/Graphics/ZoomAt.md",12848],"6c54b122":[()=>n.e(3216).then(n.bind(n,2624)),"@site/docs/frontend/Cell types/Javascript.md",2624],"6ec4bb06":[()=>n.e(1416).then(n.bind(n,66208)),"@site/docs/frontend/Reference/Graphics3D/AnimationFrameListener.md",66208],"6ec67a2c":[()=>n.e(8704).then(n.bind(n,14804)),"@site/docs/frontend/Reference/Plotting Functions/ListPlot3D.md",14804],"6ff85d9b":[()=>n.e(2836).then(n.bind(n,5260)),"@site/docs/frontend/Advanced/Slides/Widgets.md",5260],"70e1aa34":[()=>n.e(2108).then(n.bind(n,60424)),"@site/docs/frontend/Reference/Decorations/Style.md",60424],"71a8fc8f":[()=>n.e(7056).then(n.bind(n,21672)),"@site/docs/interpreter/Advanced/containers.md",21672],"741315fd":[()=>n.e(1356).then(n.bind(n,47036)),"@site/docs/frontend/Advanced/Slides/animations.md",47036],75906650:[()=>n.e(7404).then(n.bind(n,47364)),"@site/docs/frontend/Reference/Graphics3D/Arrowheads.md",47364],"799783bb":[()=>n.e(8088).then(n.bind(n,29468)),"@site/docs/frontend/Reference/Sound/ListPlay.md",29468],"79b76d50":[()=>n.e(7508).then(n.bind(n,37524)),"@site/docs/frontend/Reference/GUI/InputCheckbox.md",37524],"7a881598":[()=>n.e(4064).then(n.bind(n,62956)),"@site/docs/frontend/Advanced/Dynamics/Advanced animation.md",62956],"7b204942":[()=>n.e(864).then(n.bind(n,12904)),"@site/docs/frontend/Reference/Plotting Functions/ManipulateParametricPlot.md",12904],"7b4a4051":[()=>n.e(1660).then(n.t.bind(n,70696,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-ai-3e5.json",70696],"7bdf8fc0":[()=>n.e(4848).then(n.bind(n,43808)),"@site/docs/frontend/Reference/Graphics/AbsoluteThickness.md",43808],"7c7b9b6e":[()=>n.e(7724).then(n.bind(n,54564)),"@site/docs/frontend/Reference/Graphics/Show.md",54564],"7e9c7abd":[()=>n.e(4684).then(n.bind(n,80668)),"@site/docs/imgs/Drawing 2024-03-29 18.01.17.excalidraw.md",80668],"7eff1100":[()=>n.e(2244).then(n.bind(n,39172)),"@site/docs/frontend/Reference/Frontend Objects/CreateFrontEndObject.md",39172],"8006597f":[()=>n.e(5088).then(n.bind(n,88592)),"@site/docs/frontend/Reference/Graphics3D/Tetrahedron.md",88592],"81480b0a":[()=>n.e(1880).then(n.bind(n,16908)),"@site/blog/2023-07-20-rtx/index.md",16908],"814f3328":[()=>n.e(5512).then(n.t.bind(n,4352,19)),"~blog/default/blog-post-list-prop-default.json",4352],"8153b4dd":[()=>n.e(9892).then(n.bind(n,13116)),"@site/docs/frontend/Command palette.md",13116],"8194559d":[()=>n.e(7964).then(n.bind(n,55892)),"@site/docs/interpreter/intro.md",55892],"828b6de4":[()=>n.e(8968).then(n.bind(n,13080)),"@site/docs/frontend/Reference/Graphics3D/Sphere.md",13080],"8297ddd9":[()=>n.e(576).then(n.bind(n,20760)),"@site/docs/frontend/Reference/GUI/TextView.md",20760],"82a12bc2":[()=>n.e(8744).then(n.bind(n,12592)),"@site/docs/frontend/Reference/Graphics/Hue.md",12592],"83092a18":[()=>n.e(3628).then(n.bind(n,70504)),"@site/docs/frontend/Reference/Decorations/MatrixForm.md",70504],"830a7869":[()=>n.e(6803).then(n.bind(n,96784)),"@site/docs/frontend/Reference/Plotting Functions/ContourPlot3D.md",96784],"8324b54c":[()=>n.e(1572).then(n.bind(n,48728)),"@site/docs/frontend/Cell types/Files.md",48728],"83311d65":[()=>n.e(7368).then(n.bind(n,68672)),"@site/docs/frontend/Reference/Graphics3D/Point.md",68672],"83a8f979":[()=>n.e(840).then(n.bind(n,22284)),"@site/docs/frontend/Overview.md",22284],"83c219e5":[()=>n.e(7876).then(n.bind(n,2492)),"@site/docs/frontend/Reference/Plotting Functions/ListVectorPlot.md",2492],"83e51e1d":[()=>n.e(2988).then(n.bind(n,33928)),"@site/docs/frontend/Reference/GUI/InputJoystick.md",33928],"83f7364b":[()=>n.e(4794).then(n.bind(n,51060)),"@site/docs/frontend/Reference/Graphics3D/PointLight.md",51060],87810616:[()=>n.e(7920).then(n.bind(n,72092)),"@site/docs/frontend/Reference/Graphics3D/Line.md",72092],"87add939":[()=>n.e(1552).then(n.bind(n,89123)),"@site/docs/frontend/Reference/Graphics/Opacity.md",89123],"88011b63":[()=>n.e(4852).then(n.t.bind(n,9320,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-animation-e1a.json",9320],"8856f617":[()=>n.e(2596).then(n.bind(n,74436)),"@site/docs/frontend/Reference/Decorations/TableForm.md",74436],"89ec8c3a":[()=>n.e(4412).then(n.bind(n,27012)),"@site/docs/frontend/Reference/Plotly/PlotlyAddTraces.md",27012],"8a4660c4":[()=>n.e(472).then(n.bind(n,94944)),"@site/docs/frontend/Cell types/Markdown.md",94944],"8a6567eb":[()=>n.e(9526).then(n.bind(n,87852)),"@site/blog/2023-09-14-image-raster/2023-08-20-image-raster.md",87852],"8b9dbbed":[()=>n.e(3124).then(n.bind(n,87804)),"@site/docs/frontend/Reference/Cells and Notebook/RemoteNotebook.md",87804],"8d15b369":[()=>n.e(2772).then(n.bind(n,39712)),"@site/docs/frontend/Reference/Plotly/Plotly.md",39712],"8e40429b":[()=>n.e(392).then(n.bind(n,50480)),"@site/docs/frontend/Reference/GUI/EditorView.md",50480],"8ecea29a":[()=>n.e(6064).then(n.bind(n,60776)),"@site/docs/frontend/Reference/Graphics/BezierCurve.md",60776],"8fb27e04":[()=>n.e(6112).then(n.bind(n,70180)),"@site/docs/frontend/Reference/Cells and Notebook/NotebookDirectory.md",70180],"90eea5a8":[()=>n.e(4004).then(n.bind(n,7624)),"@site/docs/frontend/Reference/Plotting Functions/BubbleChart.md",7624],"9146438b":[()=>n.e(4818).then(n.t.bind(n,37904,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-graphics-315.json",37904],"92d7d372":[()=>n.e(440).then(n.bind(n,14068)),"@site/docs/frontend/Reference/Plotting Functions/RandomImage.md",14068],"9391232a":[()=>n.e(5825).then(n.bind(n,93516)),"@site/docs/frontend/Advanced/Slides/crypto-text.md",93516],"966dd60e":[()=>n.e(9608).then(n.t.bind(n,38760,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-javascript-251.json",38760],"96ee2f7e":[()=>n.e(6480).then(n.bind(n,33208)),"@site/docs/frontend/Reference/GUI/InputEditor.md",33208],98129677:[()=>n.e(9036).then(n.bind(n,21040)),"@site/docs/frontend/Reference/Plotting Functions/StreamPlot.md",21040],"982b1077":[()=>n.e(2271).then(n.bind(n,82896)),"@site/docs/interpreter/Basics/scripts.md",82896],"983a4ce1":[()=>n.e(6280).then(n.bind(n,4388)),"@site/docs/frontend/Reference/GUI/InputRange.md",4388],"983cbd14":[()=>n.e(3212).then(n.bind(n,95988)),"@site/docs/frontend/Advanced/Slides/Transitions.md",95988],"990d7600":[()=>n.e(6238).then(n.bind(n,56852)),"@site/docs/frontend/Reference/Decorations/Pane.md",56852],"9932ffb8":[()=>n.e(3336).then(n.bind(n,64052)),"@site/docs/imgs/manipulate-frontend-example.excalidraw.md",64052],"9a998989":[()=>n.e(3776).then(n.bind(n,66460)),"@site/docs/frontend/Reference/Decorations/MakeBoxes.md",66460],"9c0eef46":[()=>n.e(5656).then(n.bind(n,25984)),"@site/docs/frontend/Advanced/Frontend interpretation/WLJS Functions.md",25984],"9df48546":[()=>n.e(3448).then(n.bind(n,73704)),"@site/docs/frontend/Advanced/Dynamics/Performance tips.md",73704],"9e4087bc":[()=>n.e(7028).then(n.bind(n,56140)),"@theme/BlogArchivePage",56140],a1d41380:[()=>n.e(7456).then(n.bind(n,77012)),"@site/docs/frontend/Reference/Graphics3D/Tube.md",77012],a2e28690:[()=>n.e(6e3).then(n.bind(n,19908)),"@site/blog/2024-04-24-dynamic-env/index.md?truncated=true",19908],a43faa65:[()=>n.e(7960).then(n.bind(n,67832)),"@site/docs/frontend/Reference/Plotly/PlotlyDeleteTraces.md",67832],a52079ec:[()=>n.e(2852).then(n.bind(n,2604)),"@site/docs/frontend/Reference/Graphics/Circle.md",2604],a6aa9e1f:[()=>Promise.all([n.e(2176),n.e(9384),n.e(214)]).then(n.bind(n,16960)),"@theme/BlogListPage",16960],a6efdeb9:[()=>n.e(3584).then(n.bind(n,76572)),"@site/docs/frontend/Reference/Decorations/ViewBox.md",76572],a74b382b:[()=>n.e(8856).then(n.bind(n,34040)),"@site/docs/frontend/Reference/Decorations/Framed.md",34040],a75db82e:[()=>n.e(9568).then(n.bind(n,59748)),"@site/docs/frontend/Reference/Interpreter/ReadClipboard.md",59748],a7bd4aaa:[()=>n.e(6500).then(n.bind(n,22e3)),"@theme/DocVersionRoot",22e3],a7d2ef0e:[()=>n.e(2240).then(n.bind(n,75992)),"@site/docs/frontend/Symbolic programming.md",75992],a87a5348:[()=>n.e(3932).then(n.bind(n,49436)),"@site/docs/frontend/Advanced/Slides/tables.md",49436],a94703ab:[()=>Promise.all([n.e(2176),n.e(4666)]).then(n.bind(n,98616)),"@theme/DocRoot",98616],a955034e:[()=>n.e(5008).then(n.bind(n,41348)),"@site/docs/frontend/Reference/Graphics/Text.md",41348],a99bd0dc:[()=>n.e(6824).then(n.bind(n,90492)),"@site/docs/frontend/Reference/Graphics/Line.md",90492],ab5b3660:[()=>n.e(3288).then(n.bind(n,66080)),"@site/docs/frontend/Guidelines.md",66080],aba21aa0:[()=>n.e(32).then(n.t.bind(n,29996,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",29996],ac09c97f:[()=>n.e(6814).then(n.bind(n,32932)),"@site/docs/frontend/Reference/Plotly/PlotlyPrependTraces.md",32932],ac93a435:[()=>n.e(5760).then(n.bind(n,42092)),"@site/docs/frontend/Reference/Graphics/TransitionDuration.md",42092],acecf23e:[()=>n.e(6360).then(n.t.bind(n,81112,19)),"~blog/default/blogMetadata-default.json",81112],ad871de9:[()=>n.e(112).then(n.bind(n,23476)),"@site/docs/frontend/Reference/Graphics/Image.md",23476],ae0e4927:[()=>n.e(5996).then(n.bind(n,55824)),"@site/blog/2024-05-13-json-llm.md?truncated=true",55824],aeca6bb5:[()=>n.e(4716).then(n.bind(n,63412)),"@site/docs/frontend/Reference/Graphics3D/GeometricTransformation.md",63412],afd3ec8f:[()=>n.e(5002).then(n.bind(n,52308)),"@site/docs/frontend/Reference/Plotly/ListLinePlotly.md",52308],b0183aa0:[()=>n.e(5936).then(n.bind(n,38152)),"@site/docs/frontend/Reference/GUI/HTMLView.md",38152],b15308a5:[()=>n.e(9624).then(n.bind(n,35760)),"@site/blog/2024-04-22-gauge.md?truncated=true",35760],b1903210:[()=>n.e(808).then(n.bind(n,65617)),"@site/docs/frontend/Reference/Plotly/PlotlyAnimate.md",65617],b2cb5eae:[()=>n.e(2556).then(n.bind(n,45528)),"@site/docs/frontend/Reference/Decorations/Iconize.md",45528],b3a2accb:[()=>n.e(1698).then(n.bind(n,78268)),"@site/docs/frontend/Advanced/Dynamics/Raster animation.md",78268],b3c0f734:[()=>n.e(9232).then(n.bind(n,64968)),"@site/docs/frontend/Reference/Decorations/Row.md",64968],b3cc0f43:[()=>n.e(6660).then(n.bind(n,82864)),"@site/docs/frontend/Reference/Graphics3D/Polygon.md",82864],b76504cd:[()=>n.e(3500).then(n.bind(n,21236)),"@site/docs/frontend/Advanced/Objects/Creating new type.md",21236],b7a8d474:[()=>n.e(728).then(n.bind(n,49374)),"@site/docs/frontend/Reference/Interpreter/WindowScope.md",49374],bc085e96:[()=>n.e(4140).then(n.bind(n,15616)),"@site/docs/frontend/Reference/GUI/InputTable.md",15616],bfd7fe03:[()=>n.e(2572).then(n.bind(n,18552)),"@site/docs/frontend/Reference/Cells and Notebook/EvaluationNotebook.md",18552],c02bfacc:[()=>n.e(3832).then(n.bind(n,28708)),"@site/docs/frontend/Reference/Graphics/Directive.md",28708],c1f74614:[()=>n.e(7392).then(n.bind(n,78008)),"@site/docs/broken links output.md",78008],c3128a07:[()=>n.e(8476).then(n.bind(n,22608)),"@site/docs/frontend/Reference/Interpreter/FrontEndVirtual.md",22608],c32a0bcd:[()=>n.e(7672).then(n.bind(n,25132)),"@site/docs/frontend/Reference/Plotly/PlotlyExtendTraces.md",25132],c3e5701a:[()=>n.e(6636).then(n.bind(n,85892)),"@site/docs/frontend/Reference/Graphics/Point.md",85892],c5039b30:[()=>n.e(3748).then(n.bind(n,96940)),"@site/docs/frontend/Reference/Plotting Functions/MatrixPlot.md",96940],c636f880:[()=>n.e(6654).then(n.bind(n,7844)),"@site/docs/frontend/Reference/Decorations/Bra.md",7844],c72d16eb:[()=>n.e(7824).then(n.bind(n,92424)),"@site/docs/frontend/Reference/Graphics/Graphics.md",92424],c8278c33:[()=>n.e(7572).then(n.bind(n,36316)),"@site/docs/frontend/Reference/Frontend IO/FrontFetchAsync.md",36316],cb901dbe:[()=>n.e(684).then(n.bind(n,49180)),"@site/blog/2024-04-13-imagetrace/index.md",49180],ccc49370:[()=>Promise.all([n.e(2176),n.e(9384),n.e(6344)]).then(n.bind(n,26448)),"@theme/BlogPostPage",26448],ce8e0a22:[()=>n.e(4562).then(n.bind(n,6132)),"@site/docs/frontend/Reference/Plotting Functions/DateListPlot.md",6132],cf7942f4:[()=>n.e(7944).then(n.bind(n,52620)),"@site/docs/frontend/Reference/Graphics3D/GraphicsGroup.md",52620],d1b5687d:[()=>n.e(3128).then(n.bind(n,47180)),"@site/docs/frontend/Advanced/Graphics/Controls.md",47180],d1dafbaf:[()=>n.e(7912).then(n.bind(n,19012)),"@site/docs/frontend/Reference/Graphics3D/SpotLight.md",19012],d20f7898:[()=>n.e(5012).then(n.bind(n,74084)),"@site/docs/frontend/Reference/Decorations/Grid.md",74084],d27ee714:[()=>n.e(471).then(n.bind(n,27232)),"@site/docs/frontend/Reference/Decorations/Interpretation.md",27232],d36cbf84:[()=>n.e(8328).then(n.bind(n,95144)),"@site/docs/frontend/Advanced/Objects/Static decorations.md",95144],d506c4f3:[()=>n.e(3092).then(n.bind(n,99748)),"@site/docs/frontend/Reference/Graphics/Rectangle.md",99748],d6a2b6de:[()=>n.e(3360).then(n.bind(n,98020)),"@site/docs/frontend/Reference/Slides/Slides.md",98020],d6c65e79:[()=>n.e(816).then(n.bind(n,83452)),"@site/docs/frontend/Reference/Interpreter/Offload.md",83452],d811646c:[()=>n.e(768).then(n.bind(n,46204)),"@site/docs/frontend/Reference/Graphics3D/MeshPhysicalMaterial.md",46204],d84b614d:[()=>n.e(8268).then(n.bind(n,65124)),"@site/docs/frontend/Reference/Decorations/InterpretationBox.md",65124],d9271163:[()=>n.e(2272).then(n.bind(n,9828)),"@site/blog/2024-04-19-spider/index.md",9828],d98e0b5f:[()=>n.e(3400).then(n.bind(n,27308)),"@site/docs/frontend/Reference/Plotting Functions/ListStepPlot.md",27308],db763302:[()=>n.e(1768).then(n.bind(n,80792)),"@site/blog/2024-04-19-spider/index.md?truncated=true",80792],dc8db65b:[()=>n.e(1952).then(n.bind(n,13448)),"@site/docs/frontend/Advanced/Slides/embed-wl.md",13448],dd47d137:[()=>n.e(9856).then(n.bind(n,31412)),"@site/docs/interpreter/Advanced/symbols.md",31412],dd507850:[()=>n.e(2500).then(n.bind(n,75956)),"@site/docs/frontend/Reference/Plotting Functions/StackedListPlot.md",75956],dd737919:[()=>n.e(8001).then(n.bind(n,53220)),"@site/blog/2024-04-24-dynamic-env/index.md",53220],ddeb0eff:[()=>n.e(4891).then(n.bind(n,59172)),"@site/docs/frontend/Reference/Decorations/PaneBox.md",59172],de0cd141:[()=>n.e(2873).then(n.bind(n,45272)),"@site/docs/frontend/Reference/Interpreter/OffloadFromEventObject.md",45272],de98aea5:[()=>n.e(2808).then(n.bind(n,9308)),"@site/docs/frontend/Reference/Graphics3D/Metalness.md",9308],dedfda92:[()=>n.e(1536).then(n.bind(n,60612)),"@site/docs/frontend/Reference/Graphics/GraphicsComplex.md",60612],df03bc04:[()=>n.e(3004).then(n.bind(n,54652)),"@site/docs/frontend/Reference/Decorations/WLXForm.md",54652],df203c0f:[()=>Promise.all([n.e(2176),n.e(1016)]).then(n.bind(n,23376)),"@theme/DocTagDocListPage",23376],dfb2350e:[()=>n.e(5328).then(n.bind(n,78352)),"@site/docs/frontend/Advanced/Slides/Styling.md",78352],e12a614d:[()=>n.e(352).then(n.bind(n,63932)),"@site/docs/frontend/Troubleshooting/Troubleshooting.md",63932],e159e3bd:[()=>n.e(5412).then(n.bind(n,33200)),"@site/docs/frontend/Reference/Sound/PCMPlayer.md",33200],e3a70456:[()=>n.e(6640).then(n.bind(n,82764)),"@site/docs/frontend/Reference/Graphics3D/GraphicsComplex.md",82764],e4325b42:[()=>n.e(8608).then(n.bind(n,54916)),"@site/docs/frontend/Export/HTML.md",54916],e918158c:[()=>n.e(7828).then(n.bind(n,79264)),"@site/docs/frontend/Reference/Decorations/NumberForm.md",79264],ebe17f88:[()=>n.e(8016).then(n.bind(n,14972)),"@site/docs/frontend/Reference/Graphics/LABColor.md",14972],ec41c181:[()=>n.e(5644).then(n.bind(n,84584)),"@site/docs/frontend/Reference/Graphics/Polygon.md",84584],ec77180c:[()=>n.e(3180).then(n.bind(n,43612)),"@site/docs/frontend/Reference/Graphics3D/HemisphereLight.md",43612],ef277452:[()=>n.e(6168).then(n.bind(n,60184)),"@site/docs/frontend/Reference/Decorations/Ket.md",60184],f0a60117:[()=>n.e(1380).then(n.bind(n,29700)),"@site/docs/frontend/Reference/GUI/InputGroup.md",29700],f2460265:[()=>n.e(8988).then(n.bind(n,76644)),"@site/docs/frontend/Cell types/HTML.md",76644],f2d17e86:[()=>n.e(7896).then(n.bind(n,63692)),"@site/docs/frontend/Reference/Plotting Functions/ArrayPlot.md",63692],f3698296:[()=>n.e(758).then(n.bind(n,31040)),"@site/docs/frontend/Reference/Plotting Functions/VectorPlot.md",31040],f3ea73b5:[()=>n.e(324).then(n.bind(n,89440)),"@site/docs/frontend/Reference/GUI/Slider.md",89440],f45e28a4:[()=>n.e(2968).then(n.bind(n,36716)),"@site/docs/frontend/Advanced/Frontend interpretation/Editor manipulation.md",36716],f4725e56:[()=>n.e(5992).then(n.bind(n,58264)),"@site/docs/frontend/Reference/Graphics/SVGAttribute.md",58264],f47d4980:[()=>n.e(8512).then(n.bind(n,58660)),"@site/docs/frontend/Advanced/Events system/routing.md",58660],f5566fad:[()=>n.e(1448).then(n.bind(n,48696)),"@site/docs/frontend/Reference/GUI/WLXEmbed.md",48696],f63de504:[()=>n.e(1932).then(n.bind(n,58620)),"@site/docs/frontend/Reference/Graphics3D/MeshToonMaterial.md",58620],f64dfc3b:[()=>n.e(9846).then(n.bind(n,45916)),"@site/docs/frontend/Advanced/Dynamics/Scoping.md",45916],f6709654:[()=>n.e(8780).then(n.bind(n,6264)),"@site/blog/2024-05-01-badapple/index.md",6264],f81ac39e:[()=>n.e(5740).then(n.bind(n,40740)),"@site/docs/frontend/Advanced/Slides/components.md",40740],f8ab6a1a:[()=>n.e(5494).then(n.bind(n,28508)),"@site/blog/2024-05-01-badapple/index.md?truncated=true",28508],f9734ada:[()=>n.e(2512).then(n.t.bind(n,23264,19)),"@generated/docusaurus-plugin-content-docs/default/p/category-advanced-494.json",23264],fa2f16af:[()=>n.e(1984).then(n.bind(n,57944)),"@site/docs/frontend/Advanced/Packages.md",57944],fab7638a:[()=>n.e(688).then(n.bind(n,62092)),"@site/docs/frontend/Reference/Interpreter/Refresh.md",62092],fae41b03:[()=>n.e(8632).then(n.bind(n,20304)),"@site/docs/frontend/Advanced/Frontend interpretation/Frontend Objects.md",20304],fb1a6d26:[()=>n.e(904).then(n.bind(n,11704)),"@site/docs/frontend/Reference/Cells and Notebook/HapticFeedback.md",11704],fc207fb9:[()=>n.e(9049).then(n.bind(n,69012)),"@site/docs/frontend/Dynamics.md",69012],fee83dc3:[()=>n.e(376).then(n.bind(n,19936)),"@site/docs/frontend/Reference/Graphics/AnimationFrameListener.md",19936]};var s=n(17624);function c(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var l=n(78120),d=n(25548);function u(e,t){if("*"===e)return o()({loading:c,loader:()=>n.e(4552).then(n.bind(n,54552)),modules:["@theme/NotFound"],webpack:()=>[54552],render(e,t){const n=e.default;return(0,s.jsx)(d.Y,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],u={},f=[],p=[],h=(0,l.c)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(u[t]=r[0],f.push(r[1]),p.push(r[2]))})),o().Map({loading:c,loader:u,modules:f,webpack:()=>p,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const c=o.__props;return delete o.__props,(0,s.jsx)(d.Y,{value:i,children:(0,s.jsx)(a,{...o,...c,...n})})}})}const f=[{path:"/blog",component:u("/blog","d44"),exact:!0},{path:"/blog/2024/04/22/gauge",component:u("/blog/2024/04/22/gauge","0f3"),exact:!0},{path:"/blog/2024/04/24/dynamic-env",component:u("/blog/2024/04/24/dynamic-env","2d4"),exact:!0},{path:"/blog/2024/05/01/badapple",component:u("/blog/2024/05/01/badapple","43e"),exact:!0},{path:"/blog/2024/05/13/json-llm",component:u("/blog/2024/05/13/json-llm","b4e"),exact:!0},{path:"/blog/archive",component:u("/blog/archive","245"),exact:!0},{path:"/blog/image-trace",component:u("/blog/image-trace","57b"),exact:!0},{path:"/blog/imageraster",component:u("/blog/imageraster","e63"),exact:!0},{path:"/blog/rtx-intro",component:u("/blog/rtx-intro","aec"),exact:!0},{path:"/blog/spider",component:u("/blog/spider","e8e"),exact:!0},{path:"/blog/tags",component:u("/blog/tags","4c4"),exact:!0},{path:"/blog/tags/ai",component:u("/blog/tags/ai","676"),exact:!0},{path:"/blog/tags/animation",component:u("/blog/tags/animation","664"),exact:!0},{path:"/blog/tags/dev",component:u("/blog/tags/dev","1ad"),exact:!0},{path:"/blog/tags/frontend",component:u("/blog/tags/frontend","e13"),exact:!0},{path:"/blog/tags/graphics",component:u("/blog/tags/graphics","9cc"),exact:!0},{path:"/blog/tags/javascript",component:u("/blog/tags/javascript","30c"),exact:!0},{path:"/",component:u("/","388"),routes:[{path:"/",component:u("/","e87"),routes:[{path:"/tags",component:u("/tags","4c5"),exact:!0},{path:"/tags/excalidraw",component:u("/tags/excalidraw","bd0"),exact:!0},{path:"/",component:u("/","e5a"),routes:[{path:"/broken links output",component:u("/broken links output","d5e"),exact:!0},{path:"/category/advanced",component:u("/category/advanced","7a7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/cell-types",component:u("/category/cell-types","0c9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/exporting-formats",component:u("/category/exporting-formats","60e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Command palette/AI Assistant",component:u("/frontend/Advanced/Command palette/AI Assistant","859"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Dynamics/Advanced animation",component:u("/frontend/Advanced/Dynamics/Advanced animation","19b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Dynamics/Indicators",component:u("/frontend/Advanced/Dynamics/Indicators","69b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Dynamics/Offloading calculations",component:u("/frontend/Advanced/Dynamics/Offloading calculations","5eb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Dynamics/Performance tips",component:u("/frontend/Advanced/Dynamics/Performance tips","ca9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Dynamics/Prototyping",component:u("/frontend/Advanced/Dynamics/Prototyping","617"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Dynamics/Raster animation",component:u("/frontend/Advanced/Dynamics/Raster animation","4e0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Dynamics/Scoping",component:u("/frontend/Advanced/Dynamics/Scoping","c68"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Events system/Dynamic symbols generation",component:u("/frontend/Advanced/Events system/Dynamic symbols generation","fc9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Events system/event-generators",component:u("/frontend/Advanced/Events system/event-generators","ce5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Events system/Mouse and keyboard",component:u("/frontend/Advanced/Events system/Mouse and keyboard","136"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Events system/Notebook, cells and windows",component:u("/frontend/Advanced/Events system/Notebook, cells and windows","0e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Events system/Parallel kernels",component:u("/frontend/Advanced/Events system/Parallel kernels","dce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Events system/promises",component:u("/frontend/Advanced/Events system/promises","2ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Events system/routing",component:u("/frontend/Advanced/Events system/routing","883"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Frontend interpretation/Editor manipulation",component:u("/frontend/Advanced/Frontend interpretation/Editor manipulation","7fa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Frontend interpretation/Frontend Objects",component:u("/frontend/Advanced/Frontend interpretation/Frontend Objects","6f8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Frontend interpretation/WLJS Functions",component:u("/frontend/Advanced/Frontend interpretation/WLJS Functions","131"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Graphics/Complex",component:u("/frontend/Advanced/Graphics/Complex","9c6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Graphics/Controls",component:u("/frontend/Advanced/Graphics/Controls","6ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Javascript/Communication",component:u("/frontend/Advanced/Javascript/Communication","9e8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Objects/Creating new type",component:u("/frontend/Advanced/Objects/Creating new type","35c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Objects/Dynamic decorations",component:u("/frontend/Advanced/Objects/Dynamic decorations","285"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Objects/Static decorations",component:u("/frontend/Advanced/Objects/Static decorations","cba"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Packages",component:u("/frontend/Advanced/Packages","669"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/",component:u("/frontend/Advanced/Slides/","58e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/animations",component:u("/frontend/Advanced/Slides/animations","91d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/Backgrounds",component:u("/frontend/Advanced/Slides/Backgrounds","f29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/components",component:u("/frontend/Advanced/Slides/components","3ed"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/crypto-text",component:u("/frontend/Advanced/Slides/crypto-text","78a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/embed-wl",component:u("/frontend/Advanced/Slides/embed-wl","100"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/Fragments",component:u("/frontend/Advanced/Slides/Fragments","9cd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/Styling",component:u("/frontend/Advanced/Slides/Styling","b43"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/tables",component:u("/frontend/Advanced/Slides/tables","5a7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/Transitions",component:u("/frontend/Advanced/Slides/Transitions","9ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Slides/Widgets",component:u("/frontend/Advanced/Slides/Widgets","3ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Advanced/Syntax sugar/Decorating symbols",component:u("/frontend/Advanced/Syntax sugar/Decorating symbols","0c2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/Files",component:u("/frontend/Cell types/Files","21a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/HTML",component:u("/frontend/Cell types/HTML","681"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/Javascript",component:u("/frontend/Cell types/Javascript","a05"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/Many more",component:u("/frontend/Cell types/Many more","60d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/Markdown",component:u("/frontend/Cell types/Markdown","197"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/Slides",component:u("/frontend/Cell types/Slides","bcb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/WLX",component:u("/frontend/Cell types/WLX","6e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Cell types/Wolfram Language",component:u("/frontend/Cell types/Wolfram Language","c61"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Command palette",component:u("/frontend/Command palette","92a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Dynamics",component:u("/frontend/Dynamics","134"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Export/HTML",component:u("/frontend/Export/HTML","c40"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Export/Markdown",component:u("/frontend/Export/Markdown","8f5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Export/PDF",component:u("/frontend/Export/PDF","645"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Guidelines",component:u("/frontend/Guidelines","73a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Overview",component:u("/frontend/Overview","dc7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/Beep",component:u("/frontend/Reference/Cells and Notebook/Beep","3f2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/CellPrint",component:u("/frontend/Reference/Cells and Notebook/CellPrint","c82"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/EvaluationCell",component:u("/frontend/Reference/Cells and Notebook/EvaluationCell","952"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/EvaluationNotebook",component:u("/frontend/Reference/Cells and Notebook/EvaluationNotebook","9b8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/HapticFeedback",component:u("/frontend/Reference/Cells and Notebook/HapticFeedback","f51"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/NotebookDirectory",component:u("/frontend/Reference/Cells and Notebook/NotebookDirectory","470"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/NotebookStore",component:u("/frontend/Reference/Cells and Notebook/NotebookStore","f07"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/ParentCell",component:u("/frontend/Reference/Cells and Notebook/ParentCell","a59"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/RemoteCellObj",component:u("/frontend/Reference/Cells and Notebook/RemoteCellObj","92b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/RemoteNotebook",component:u("/frontend/Reference/Cells and Notebook/RemoteNotebook","4dc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Cells and Notebook/ResultCell",component:u("/frontend/Reference/Cells and Notebook/ResultCell","a70"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Dataset/",component:u("/frontend/Reference/Dataset/","192"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/ArrangeSummaryBox",component:u("/frontend/Reference/Decorations/ArrangeSummaryBox","452"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/BoxBox",component:u("/frontend/Reference/Decorations/BoxBox","b2e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Bra",component:u("/frontend/Reference/Decorations/Bra","8e2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Column",component:u("/frontend/Reference/Decorations/Column","4f9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Framed",component:u("/frontend/Reference/Decorations/Framed","a36"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Grid",component:u("/frontend/Reference/Decorations/Grid","8ae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Iconize",component:u("/frontend/Reference/Decorations/Iconize","a8b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/InputForm",component:u("/frontend/Reference/Decorations/InputForm","e4c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Interpretation",component:u("/frontend/Reference/Decorations/Interpretation","fcc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/InterpretationBox",component:u("/frontend/Reference/Decorations/InterpretationBox","bed"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Ket",component:u("/frontend/Reference/Decorations/Ket","712"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/MakeBoxes",component:u("/frontend/Reference/Decorations/MakeBoxes","3e5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/MatrixForm",component:u("/frontend/Reference/Decorations/MatrixForm","bf5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/NumberForm",component:u("/frontend/Reference/Decorations/NumberForm","564"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Pane",component:u("/frontend/Reference/Decorations/Pane","9f7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/PaneBox",component:u("/frontend/Reference/Decorations/PaneBox","b55"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Quantity",component:u("/frontend/Reference/Decorations/Quantity","c80"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Row",component:u("/frontend/Reference/Decorations/Row","74b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/StandardForm",component:u("/frontend/Reference/Decorations/StandardForm","b26"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/Style",component:u("/frontend/Reference/Decorations/Style","27c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/TableForm",component:u("/frontend/Reference/Decorations/TableForm","377"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/ViewBox",component:u("/frontend/Reference/Decorations/ViewBox","062"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Decorations/WLXForm",component:u("/frontend/Reference/Decorations/WLXForm","133"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend IO/CurrentWindow",component:u("/frontend/Reference/Frontend IO/CurrentWindow","7fa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend IO/FrontFetch",component:u("/frontend/Reference/Frontend IO/FrontFetch","e70"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend IO/FrontFetchAsync",component:u("/frontend/Reference/Frontend IO/FrontFetchAsync","6f3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend IO/FrontSubmit",component:u("/frontend/Reference/Frontend IO/FrontSubmit","726"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend IO/MetaMarker",component:u("/frontend/Reference/Frontend IO/MetaMarker","101"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend IO/WindowObj",component:u("/frontend/Reference/Frontend IO/WindowObj","2b7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend Objects/CreateFrontEndObject",component:u("/frontend/Reference/Frontend Objects/CreateFrontEndObject","867"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend Objects/FrontEndExecutable",component:u("/frontend/Reference/Frontend Objects/FrontEndExecutable","207"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Frontend Objects/FrontEndRef",component:u("/frontend/Reference/Frontend Objects/FrontEndRef","f1b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/",component:u("/frontend/Reference/Graphics/","d92"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/AbsoluteThickness",component:u("/frontend/Reference/Graphics/AbsoluteThickness","1e0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/AnimationFrameListener",component:u("/frontend/Reference/Graphics/AnimationFrameListener","430"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Arrow",component:u("/frontend/Reference/Graphics/Arrow","cb1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Arrowheads",component:u("/frontend/Reference/Graphics/Arrowheads","646"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/BezierCurve",component:u("/frontend/Reference/Graphics/BezierCurve","b1e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Circle",component:u("/frontend/Reference/Graphics/Circle","c3a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Directive",component:u("/frontend/Reference/Graphics/Directive","ba8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Disk",component:u("/frontend/Reference/Graphics/Disk","7f1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/EdgeForm",component:u("/frontend/Reference/Graphics/EdgeForm","c48"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/GraphicsComplex",component:u("/frontend/Reference/Graphics/GraphicsComplex","e77"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/GrayLevel",component:u("/frontend/Reference/Graphics/GrayLevel","bd8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Hue",component:u("/frontend/Reference/Graphics/Hue","5ad"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Image",component:u("/frontend/Reference/Graphics/Image","b63"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Inset",component:u("/frontend/Reference/Graphics/Inset","bce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/LABColor",component:u("/frontend/Reference/Graphics/LABColor","a46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Line",component:u("/frontend/Reference/Graphics/Line","90c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Offset",component:u("/frontend/Reference/Graphics/Offset","08a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Opacity",component:u("/frontend/Reference/Graphics/Opacity","fc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Point",component:u("/frontend/Reference/Graphics/Point","121"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Polygon",component:u("/frontend/Reference/Graphics/Polygon","bbb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Raster",component:u("/frontend/Reference/Graphics/Raster","5c8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Rectangle",component:u("/frontend/Reference/Graphics/Rectangle","82c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/RGBColor",component:u("/frontend/Reference/Graphics/RGBColor","090"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Rotate",component:u("/frontend/Reference/Graphics/Rotate","8ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Show",component:u("/frontend/Reference/Graphics/Show","516"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Style",component:u("/frontend/Reference/Graphics/Style","2da"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/SVGAttribute",component:u("/frontend/Reference/Graphics/SVGAttribute","162"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Text",component:u("/frontend/Reference/Graphics/Text","96a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/TransitionDuration",component:u("/frontend/Reference/Graphics/TransitionDuration","ce5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/TransitionType",component:u("/frontend/Reference/Graphics/TransitionType","099"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/Translate",component:u("/frontend/Reference/Graphics/Translate","9ad"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics/ZoomAt",component:u("/frontend/Reference/Graphics/ZoomAt","fc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/",component:u("/frontend/Reference/Graphics3D/","5ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/AbsoluteThickness",component:u("/frontend/Reference/Graphics3D/AbsoluteThickness","d05"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/AnimationFrameListener",component:u("/frontend/Reference/Graphics3D/AnimationFrameListener","275"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Arrow",component:u("/frontend/Reference/Graphics3D/Arrow","5e0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Arrowheads",component:u("/frontend/Reference/Graphics3D/Arrowheads","0b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Cuboid",component:u("/frontend/Reference/Graphics3D/Cuboid","cf7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Cylinder",component:u("/frontend/Reference/Graphics3D/Cylinder","76c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Emissive",component:u("/frontend/Reference/Graphics3D/Emissive","b2c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/GeometricTransformation",component:u("/frontend/Reference/Graphics3D/GeometricTransformation","de0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/GraphicsComplex",component:u("/frontend/Reference/Graphics3D/GraphicsComplex","a90"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/GraphicsGroup",component:u("/frontend/Reference/Graphics3D/GraphicsGroup","b59"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/HemisphereLight",component:u("/frontend/Reference/Graphics3D/HemisphereLight","88d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Hue",component:u("/frontend/Reference/Graphics3D/Hue","64d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Line",component:u("/frontend/Reference/Graphics3D/Line","553"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/MeshMaterial",component:u("/frontend/Reference/Graphics3D/MeshMaterial","618"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/MeshPhysicalMaterial",component:u("/frontend/Reference/Graphics3D/MeshPhysicalMaterial","92e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/MeshToonMaterial",component:u("/frontend/Reference/Graphics3D/MeshToonMaterial","66e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Metalness",component:u("/frontend/Reference/Graphics3D/Metalness","6ab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Opacity",component:u("/frontend/Reference/Graphics3D/Opacity","038"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Point",component:u("/frontend/Reference/Graphics3D/Point","d90"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/PointLight",component:u("/frontend/Reference/Graphics3D/PointLight","bb0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Polygon",component:u("/frontend/Reference/Graphics3D/Polygon","fa0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/RGBColor",component:u("/frontend/Reference/Graphics3D/RGBColor","aec"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Roughness",component:u("/frontend/Reference/Graphics3D/Roughness","446"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Shadows",component:u("/frontend/Reference/Graphics3D/Shadows","47b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Sphere",component:u("/frontend/Reference/Graphics3D/Sphere","09e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/SpotLight",component:u("/frontend/Reference/Graphics3D/SpotLight","6ba"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Tetrahedron",component:u("/frontend/Reference/Graphics3D/Tetrahedron","b2d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Graphics3D/Tube",component:u("/frontend/Reference/Graphics3D/Tube","ad2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/EditorView",component:u("/frontend/Reference/GUI/EditorView","17d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/HTMLView",component:u("/frontend/Reference/GUI/HTMLView","9f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputButton",component:u("/frontend/Reference/GUI/InputButton","4bd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputCheckbox",component:u("/frontend/Reference/GUI/InputCheckbox","fad"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputEditor",component:u("/frontend/Reference/GUI/InputEditor","0ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputFile",component:u("/frontend/Reference/GUI/InputFile","9d6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputGroup",component:u("/frontend/Reference/GUI/InputGroup","295"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputJoystick",component:u("/frontend/Reference/GUI/InputJoystick","62a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputRange",component:u("/frontend/Reference/GUI/InputRange","6a6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputSelect",component:u("/frontend/Reference/GUI/InputSelect","002"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputTable",component:u("/frontend/Reference/GUI/InputTable","932"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/InputText",component:u("/frontend/Reference/GUI/InputText","986"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/Slider",component:u("/frontend/Reference/GUI/Slider","3e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/TableView",component:u("/frontend/Reference/GUI/TableView","693"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/TextView",component:u("/frontend/Reference/GUI/TextView","b7a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/GUI/WLXEmbed",component:u("/frontend/Reference/GUI/WLXEmbed","940"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/Alert",component:u("/frontend/Reference/Interpreter/Alert","b97"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/AttachDOM",component:u("/frontend/Reference/Interpreter/AttachDOM","b7c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/FrontEditorSelected",component:u("/frontend/Reference/Interpreter/FrontEditorSelected","24f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/FrontEndVirtual",component:u("/frontend/Reference/Interpreter/FrontEndVirtual","3e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/Offload",component:u("/frontend/Reference/Interpreter/Offload","1ab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/OffloadFromEventObject",component:u("/frontend/Reference/Interpreter/OffloadFromEventObject","df1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/ReadClipboard",component:u("/frontend/Reference/Interpreter/ReadClipboard","23b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/Refresh",component:u("/frontend/Reference/Interpreter/Refresh","a1b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Interpreter/WindowScope",component:u("/frontend/Reference/Interpreter/WindowScope","bce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Misc/Async",component:u("/frontend/Reference/Misc/Async","b69"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Misc/Events",component:u("/frontend/Reference/Misc/Events","8b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Misc/Language",component:u("/frontend/Reference/Misc/Language","b35"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Misc/Promise",component:u("/frontend/Reference/Misc/Promise","b20"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/",component:u("/frontend/Reference/Plotly/","b3c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/ListLinePlotly",component:u("/frontend/Reference/Plotly/ListLinePlotly","c72"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/PlotlyAddTraces",component:u("/frontend/Reference/Plotly/PlotlyAddTraces","a88"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/PlotlyAnimate",component:u("/frontend/Reference/Plotly/PlotlyAnimate","62b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/PlotlyDeleteTraces",component:u("/frontend/Reference/Plotly/PlotlyDeleteTraces","0b2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/PlotlyExtendTraces",component:u("/frontend/Reference/Plotly/PlotlyExtendTraces","563"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/PlotlyInstance",component:u("/frontend/Reference/Plotly/PlotlyInstance","aaf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotly/PlotlyPrependTraces",component:u("/frontend/Reference/Plotly/PlotlyPrependTraces","2e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ArrayPlot",component:u("/frontend/Reference/Plotting Functions/ArrayPlot","0e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/BarChart",component:u("/frontend/Reference/Plotting Functions/BarChart","c5f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/BubbleChart",component:u("/frontend/Reference/Plotting Functions/BubbleChart","2bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ContourPlot",component:u("/frontend/Reference/Plotting Functions/ContourPlot","154"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ContourPlot3D",component:u("/frontend/Reference/Plotting Functions/ContourPlot3D","b33"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/DateListPlot",component:u("/frontend/Reference/Plotting Functions/DateListPlot","0de"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/DensityPlot",component:u("/frontend/Reference/Plotting Functions/DensityPlot","b52"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ListContourPlot",component:u("/frontend/Reference/Plotting Functions/ListContourPlot","0e7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ListCurvePathPlot",component:u("/frontend/Reference/Plotting Functions/ListCurvePathPlot","4b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ListLinePlot",component:u("/frontend/Reference/Plotting Functions/ListLinePlot","fd9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ListPlot3D",component:u("/frontend/Reference/Plotting Functions/ListPlot3D","5b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ListStepPlot",component:u("/frontend/Reference/Plotting Functions/ListStepPlot","bb9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ListVectorPlot",component:u("/frontend/Reference/Plotting Functions/ListVectorPlot","1e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ManipulateParametricPlot",component:u("/frontend/Reference/Plotting Functions/ManipulateParametricPlot","0cb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ManipulatePlot",component:u("/frontend/Reference/Plotting Functions/ManipulatePlot","0b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/MatrixPlot",component:u("/frontend/Reference/Plotting Functions/MatrixPlot","8c1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/ParametricPlot",component:u("/frontend/Reference/Plotting Functions/ParametricPlot","8d5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/Plot",component:u("/frontend/Reference/Plotting Functions/Plot","6fd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/Plot3D",component:u("/frontend/Reference/Plotting Functions/Plot3D","768"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/Plotly",component:u("/frontend/Reference/Plotting Functions/Plotly","1fd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/RandomImage",component:u("/frontend/Reference/Plotting Functions/RandomImage","bf5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/SphericalPlot3D",component:u("/frontend/Reference/Plotting Functions/SphericalPlot3D","9ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/StackedListPlot",component:u("/frontend/Reference/Plotting Functions/StackedListPlot","234"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/StreamPlot",component:u("/frontend/Reference/Plotting Functions/StreamPlot","89c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/VectorPlot",component:u("/frontend/Reference/Plotting Functions/VectorPlot","14c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Plotting Functions/VectorPlot3D",component:u("/frontend/Reference/Plotting Functions/VectorPlot3D","9b7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Slides/",component:u("/frontend/Reference/Slides/","e29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Slides/SlideEventListener",component:u("/frontend/Reference/Slides/SlideEventListener","fa7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Sound/Audio",component:u("/frontend/Reference/Sound/Audio","240"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Sound/ListPlay",component:u("/frontend/Reference/Sound/ListPlay","f26"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Sound/PCMPlayer",component:u("/frontend/Reference/Sound/PCMPlayer","1fe"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Reference/Video/",component:u("/frontend/Reference/Video/","294"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Symbolic programming",component:u("/frontend/Symbolic programming","81c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/frontend/Troubleshooting/",component:u("/frontend/Troubleshooting/","184"),exact:!0,sidebar:"tutorialSidebar"},{path:"/imgs/Drawing 2024-03-29 18.01.17.excalidraw",component:u("/imgs/Drawing 2024-03-29 18.01.17.excalidraw","85f"),exact:!0},{path:"/imgs/FE data binding.excalidraw 1",component:u("/imgs/FE data binding.excalidraw 1","995"),exact:!0},{path:"/imgs/feinput.gif",component:u("/imgs/feinput.gif","844"),exact:!0},{path:"/imgs/manipulate-frontend-example.excalidraw",component:u("/imgs/manipulate-frontend-example.excalidraw","c2f"),exact:!0},{path:"/interpreter/Advanced/architecture",component:u("/interpreter/Advanced/architecture","1cd"),exact:!0},{path:"/interpreter/Advanced/containers",component:u("/interpreter/Advanced/containers","41b"),exact:!0},{path:"/interpreter/Advanced/meta-markers",component:u("/interpreter/Advanced/meta-markers","ba3"),exact:!0},{path:"/interpreter/Advanced/symbols",component:u("/interpreter/Advanced/symbols","f4d"),exact:!0},{path:"/interpreter/Basics/graphics",component:u("/interpreter/Basics/graphics","a9d"),exact:!0},{path:"/interpreter/Basics/js-access",component:u("/interpreter/Basics/js-access","4a1"),exact:!0},{path:"/interpreter/Basics/scripts",component:u("/interpreter/Basics/scripts","66a"),exact:!0},{path:"/interpreter/Basics/syntax",component:u("/interpreter/Basics/syntax","fc4"),exact:!0},{path:"/interpreter/Extras/implementation",component:u("/interpreter/Extras/implementation","942"),exact:!0},{path:"/interpreter/Extras/reference",component:u("/interpreter/Extras/reference","d2c"),exact:!0},{path:"/interpreter/intro",component:u("/interpreter/intro","c03"),exact:!0},{path:"/",component:u("/","a4b"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:u("*")}]},30240:(e,t,n)=>{"use strict";n.d(t,{e:()=>a,g:()=>i});var r=n(11504),o=n(17624);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},28808:(e,t,n)=>{"use strict";var r=n(11504),o=n(28352),a=n(70440),i=n(32160),s=n(98684);const c=[n(1462),n(85396),n(31976),n(71496)];var l=n(628),d=n(55592),u=n(85464),f=n(17624);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var h=n(56952),m=n(28264),b=n(70964),g=n(21824),y=n(68900),v=n(1616),S=n(60204),x=n(14456),w=n(15684),R=n(48712);function k(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,m.c)(),r=(0,v.D)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(h.c,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.c)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,m.c)(),{pathname:r}=(0,d.IT)();return e+(0,w.applyTrailingSlash)((0,b.c)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(h.c,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function E(){const{i18n:{currentLocale:e}}=(0,m.c)(),{metadata:t,image:n}=(0,g.y)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(h.c,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:S.m})]}),n&&(0,f.jsx)(y.U7,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(k,{}),(0,f.jsx)(R.c,{tag:x.e6,locale:e}),(0,f.jsx)(h.c,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const C=new Map;var P=n(30240),A=n(136),T=n(95288);function D(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const F=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,T.c)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),D("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function I(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,u.C)(l.c,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class N extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.c.canUseDOM?D("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=D("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),I(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(F,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.kX,{location:t,render:()=>e})})}}const L=N,j="__docusaurus-base-url-issue-banner-container",O="__docusaurus-base-url-issue-banner",M="__docusaurus-base-url-issue-banner-suggestion-container";function G(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${j}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}((0,d.IT)());return(0,f.jsx)(L,{location:e,children:V})}function Y(){return(0,f.jsx)($.c,{children:(0,f.jsx)(A.y,{children:(0,f.jsxs)(P.g,{children:[(0,f.jsxs)(p,{children:[(0,f.jsx)(z,{}),(0,f.jsx)(E,{}),(0,f.jsx)(U,{}),(0,f.jsx)(q,{})]}),(0,f.jsx)(W,{})]})})})}var Q=n(14504);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var J=n(78120);const Z=new Set,X=new Set,ee=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,te={prefetch:e=>{if(!(e=>!ee()&&!X.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,u.C)(l.c,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,J.c)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!ee()&&!X.has(e))(e)&&(X.add(e),I(e))},ne=Object.freeze(te),re=Boolean(!0);if(s.c.canUseDOM){window.docusaurus=ne;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.EN,{children:(0,f.jsx)(a.kn,{children:(0,f.jsx)(Y,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},s=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(re)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};I(window.location.pathname).then((()=>{(0,r.startTransition)(s)}))}},136:(e,t,n)=>{"use strict";n.d(t,{e:()=>u,y:()=>f});var r=n(11504),o=n(97768);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"frontend/instruction","docs":[{"id":"broken links output","path":"/broken links output"},{"id":"frontend/Advanced/Command palette/AI Assistant","path":"/frontend/Advanced/Command palette/AI Assistant","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Dynamics/Advanced animation","path":"/frontend/Advanced/Dynamics/Advanced animation","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Dynamics/Indicators","path":"/frontend/Advanced/Dynamics/Indicators","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Dynamics/Offloading calculations","path":"/frontend/Advanced/Dynamics/Offloading calculations","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Dynamics/Performance tips","path":"/frontend/Advanced/Dynamics/Performance tips","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Dynamics/Prototyping","path":"/frontend/Advanced/Dynamics/Prototyping","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Dynamics/Raster animation","path":"/frontend/Advanced/Dynamics/Raster animation","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Dynamics/Scoping","path":"/frontend/Advanced/Dynamics/Scoping","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Events system/Dynamic symbols generation","path":"/frontend/Advanced/Events system/Dynamic symbols generation","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Events system/event-generators","path":"/frontend/Advanced/Events system/event-generators","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Events system/Mouse and keyboard","path":"/frontend/Advanced/Events system/Mouse and keyboard","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Events system/Notebook, cells and windows","path":"/frontend/Advanced/Events system/Notebook, cells and windows","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Events system/Parallel kernels","path":"/frontend/Advanced/Events system/Parallel kernels","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Events system/promises","path":"/frontend/Advanced/Events system/promises","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Events system/routing","path":"/frontend/Advanced/Events system/routing","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Frontend interpretation/Editor manipulation","path":"/frontend/Advanced/Frontend interpretation/Editor manipulation","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Frontend interpretation/Frontend Objects","path":"/frontend/Advanced/Frontend interpretation/Frontend Objects","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Frontend interpretation/WLJS Functions","path":"/frontend/Advanced/Frontend interpretation/WLJS Functions","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Graphics/Complex","path":"/frontend/Advanced/Graphics/Complex","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Graphics/Controls","path":"/frontend/Advanced/Graphics/Controls","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Javascript/Communication","path":"/frontend/Advanced/Javascript/Communication","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Objects/Creating new type","path":"/frontend/Advanced/Objects/Creating new type","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Objects/Dynamic decorations","path":"/frontend/Advanced/Objects/Dynamic decorations","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Objects/Static decorations","path":"/frontend/Advanced/Objects/Static decorations","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Packages","path":"/frontend/Advanced/Packages","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/animations","path":"/frontend/Advanced/Slides/animations","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/Backgrounds","path":"/frontend/Advanced/Slides/Backgrounds","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/components","path":"/frontend/Advanced/Slides/components","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/crypto-text","path":"/frontend/Advanced/Slides/crypto-text","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/embed-wl","path":"/frontend/Advanced/Slides/embed-wl","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/Fragments","path":"/frontend/Advanced/Slides/Fragments","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/Slides","path":"/frontend/Advanced/Slides/","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/Styling","path":"/frontend/Advanced/Slides/Styling","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/tables","path":"/frontend/Advanced/Slides/tables","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/Transitions","path":"/frontend/Advanced/Slides/Transitions","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Slides/Widgets","path":"/frontend/Advanced/Slides/Widgets","sidebar":"tutorialSidebar"},{"id":"frontend/Advanced/Syntax sugar/Decorating symbols","path":"/frontend/Advanced/Syntax sugar/Decorating symbols","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/Files","path":"/frontend/Cell types/Files","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/HTML","path":"/frontend/Cell types/HTML","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/Javascript","path":"/frontend/Cell types/Javascript","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/Many more","path":"/frontend/Cell types/Many more","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/Markdown","path":"/frontend/Cell types/Markdown","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/Slides","path":"/frontend/Cell types/Slides","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/WLX","path":"/frontend/Cell types/WLX","sidebar":"tutorialSidebar"},{"id":"frontend/Cell types/Wolfram Language","path":"/frontend/Cell types/Wolfram Language","sidebar":"tutorialSidebar"},{"id":"frontend/Command palette","path":"/frontend/Command palette","sidebar":"tutorialSidebar"},{"id":"frontend/Dynamics","path":"/frontend/Dynamics","sidebar":"tutorialSidebar"},{"id":"frontend/Export/HTML","path":"/frontend/Export/HTML","sidebar":"tutorialSidebar"},{"id":"frontend/Export/Markdown","path":"/frontend/Export/Markdown","sidebar":"tutorialSidebar"},{"id":"frontend/Export/PDF","path":"/frontend/Export/PDF","sidebar":"tutorialSidebar"},{"id":"frontend/Guidelines","path":"/frontend/Guidelines","sidebar":"tutorialSidebar"},{"id":"frontend/instruction","path":"/","sidebar":"tutorialSidebar"},{"id":"frontend/Overview","path":"/frontend/Overview","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/Beep","path":"/frontend/Reference/Cells and Notebook/Beep","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/CellPrint","path":"/frontend/Reference/Cells and Notebook/CellPrint","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/EvaluationCell","path":"/frontend/Reference/Cells and Notebook/EvaluationCell","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/EvaluationNotebook","path":"/frontend/Reference/Cells and Notebook/EvaluationNotebook","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/HapticFeedback","path":"/frontend/Reference/Cells and Notebook/HapticFeedback","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/NotebookDirectory","path":"/frontend/Reference/Cells and Notebook/NotebookDirectory","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/NotebookStore","path":"/frontend/Reference/Cells and Notebook/NotebookStore","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/ParentCell","path":"/frontend/Reference/Cells and Notebook/ParentCell","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/RemoteCellObj","path":"/frontend/Reference/Cells and Notebook/RemoteCellObj","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/RemoteNotebook","path":"/frontend/Reference/Cells and Notebook/RemoteNotebook","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Cells and Notebook/ResultCell","path":"/frontend/Reference/Cells and Notebook/ResultCell","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Dataset/Dataset","path":"/frontend/Reference/Dataset/","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/ArrangeSummaryBox","path":"/frontend/Reference/Decorations/ArrangeSummaryBox","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/BoxBox","path":"/frontend/Reference/Decorations/BoxBox","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Bra","path":"/frontend/Reference/Decorations/Bra","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Column","path":"/frontend/Reference/Decorations/Column","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Framed","path":"/frontend/Reference/Decorations/Framed","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Grid","path":"/frontend/Reference/Decorations/Grid","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Iconize","path":"/frontend/Reference/Decorations/Iconize","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/InputForm","path":"/frontend/Reference/Decorations/InputForm","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Interpretation","path":"/frontend/Reference/Decorations/Interpretation","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/InterpretationBox","path":"/frontend/Reference/Decorations/InterpretationBox","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Ket","path":"/frontend/Reference/Decorations/Ket","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/MakeBoxes","path":"/frontend/Reference/Decorations/MakeBoxes","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/MatrixForm","path":"/frontend/Reference/Decorations/MatrixForm","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/NumberForm","path":"/frontend/Reference/Decorations/NumberForm","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Pane","path":"/frontend/Reference/Decorations/Pane","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/PaneBox","path":"/frontend/Reference/Decorations/PaneBox","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Quantity","path":"/frontend/Reference/Decorations/Quantity","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Row","path":"/frontend/Reference/Decorations/Row","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/StandardForm","path":"/frontend/Reference/Decorations/StandardForm","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/Style","path":"/frontend/Reference/Decorations/Style","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/TableForm","path":"/frontend/Reference/Decorations/TableForm","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/ViewBox","path":"/frontend/Reference/Decorations/ViewBox","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Decorations/WLXForm","path":"/frontend/Reference/Decorations/WLXForm","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend IO/CurrentWindow","path":"/frontend/Reference/Frontend IO/CurrentWindow","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend IO/FrontFetch","path":"/frontend/Reference/Frontend IO/FrontFetch","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend IO/FrontFetchAsync","path":"/frontend/Reference/Frontend IO/FrontFetchAsync","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend IO/FrontSubmit","path":"/frontend/Reference/Frontend IO/FrontSubmit","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend IO/MetaMarker","path":"/frontend/Reference/Frontend IO/MetaMarker","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend IO/WindowObj","path":"/frontend/Reference/Frontend IO/WindowObj","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend Objects/CreateFrontEndObject","path":"/frontend/Reference/Frontend Objects/CreateFrontEndObject","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend Objects/FrontEndExecutable","path":"/frontend/Reference/Frontend Objects/FrontEndExecutable","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Frontend Objects/FrontEndRef","path":"/frontend/Reference/Frontend Objects/FrontEndRef","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/AbsoluteThickness","path":"/frontend/Reference/Graphics/AbsoluteThickness","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/AnimationFrameListener","path":"/frontend/Reference/Graphics/AnimationFrameListener","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Arrow","path":"/frontend/Reference/Graphics/Arrow","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Arrowheads","path":"/frontend/Reference/Graphics/Arrowheads","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/BezierCurve","path":"/frontend/Reference/Graphics/BezierCurve","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Circle","path":"/frontend/Reference/Graphics/Circle","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Directive","path":"/frontend/Reference/Graphics/Directive","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Disk","path":"/frontend/Reference/Graphics/Disk","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/EdgeForm","path":"/frontend/Reference/Graphics/EdgeForm","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Graphics","path":"/frontend/Reference/Graphics/","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/GraphicsComplex","path":"/frontend/Reference/Graphics/GraphicsComplex","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/GrayLevel","path":"/frontend/Reference/Graphics/GrayLevel","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Hue","path":"/frontend/Reference/Graphics/Hue","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Image","path":"/frontend/Reference/Graphics/Image","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Inset","path":"/frontend/Reference/Graphics/Inset","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/LABColor","path":"/frontend/Reference/Graphics/LABColor","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Line","path":"/frontend/Reference/Graphics/Line","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Offset","path":"/frontend/Reference/Graphics/Offset","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Opacity","path":"/frontend/Reference/Graphics/Opacity","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Point","path":"/frontend/Reference/Graphics/Point","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Polygon","path":"/frontend/Reference/Graphics/Polygon","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Raster","path":"/frontend/Reference/Graphics/Raster","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Rectangle","path":"/frontend/Reference/Graphics/Rectangle","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/RGBColor","path":"/frontend/Reference/Graphics/RGBColor","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Rotate","path":"/frontend/Reference/Graphics/Rotate","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Show","path":"/frontend/Reference/Graphics/Show","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Style","path":"/frontend/Reference/Graphics/Style","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/SVGAttribute","path":"/frontend/Reference/Graphics/SVGAttribute","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Text","path":"/frontend/Reference/Graphics/Text","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/TransitionDuration","path":"/frontend/Reference/Graphics/TransitionDuration","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/TransitionType","path":"/frontend/Reference/Graphics/TransitionType","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/Translate","path":"/frontend/Reference/Graphics/Translate","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics/ZoomAt","path":"/frontend/Reference/Graphics/ZoomAt","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/AbsoluteThickness","path":"/frontend/Reference/Graphics3D/AbsoluteThickness","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/AnimationFrameListener","path":"/frontend/Reference/Graphics3D/AnimationFrameListener","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Arrow","path":"/frontend/Reference/Graphics3D/Arrow","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Arrowheads","path":"/frontend/Reference/Graphics3D/Arrowheads","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Cuboid","path":"/frontend/Reference/Graphics3D/Cuboid","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Cylinder","path":"/frontend/Reference/Graphics3D/Cylinder","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Emissive","path":"/frontend/Reference/Graphics3D/Emissive","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/GeometricTransformation","path":"/frontend/Reference/Graphics3D/GeometricTransformation","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Graphics3D","path":"/frontend/Reference/Graphics3D/","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/GraphicsComplex","path":"/frontend/Reference/Graphics3D/GraphicsComplex","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/GraphicsGroup","path":"/frontend/Reference/Graphics3D/GraphicsGroup","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/HemisphereLight","path":"/frontend/Reference/Graphics3D/HemisphereLight","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Hue","path":"/frontend/Reference/Graphics3D/Hue","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Line","path":"/frontend/Reference/Graphics3D/Line","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/MeshMaterial","path":"/frontend/Reference/Graphics3D/MeshMaterial","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/MeshPhysicalMaterial","path":"/frontend/Reference/Graphics3D/MeshPhysicalMaterial","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/MeshToonMaterial","path":"/frontend/Reference/Graphics3D/MeshToonMaterial","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Metalness","path":"/frontend/Reference/Graphics3D/Metalness","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Opacity","path":"/frontend/Reference/Graphics3D/Opacity","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Point","path":"/frontend/Reference/Graphics3D/Point","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/PointLight","path":"/frontend/Reference/Graphics3D/PointLight","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Polygon","path":"/frontend/Reference/Graphics3D/Polygon","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/RGBColor","path":"/frontend/Reference/Graphics3D/RGBColor","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Roughness","path":"/frontend/Reference/Graphics3D/Roughness","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Shadows","path":"/frontend/Reference/Graphics3D/Shadows","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Sphere","path":"/frontend/Reference/Graphics3D/Sphere","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/SpotLight","path":"/frontend/Reference/Graphics3D/SpotLight","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Tetrahedron","path":"/frontend/Reference/Graphics3D/Tetrahedron","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Graphics3D/Tube","path":"/frontend/Reference/Graphics3D/Tube","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/EditorView","path":"/frontend/Reference/GUI/EditorView","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/HTMLView","path":"/frontend/Reference/GUI/HTMLView","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputButton","path":"/frontend/Reference/GUI/InputButton","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputCheckbox","path":"/frontend/Reference/GUI/InputCheckbox","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputEditor","path":"/frontend/Reference/GUI/InputEditor","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputFile","path":"/frontend/Reference/GUI/InputFile","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputGroup","path":"/frontend/Reference/GUI/InputGroup","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputJoystick","path":"/frontend/Reference/GUI/InputJoystick","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputRange","path":"/frontend/Reference/GUI/InputRange","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputSelect","path":"/frontend/Reference/GUI/InputSelect","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputTable","path":"/frontend/Reference/GUI/InputTable","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/InputText","path":"/frontend/Reference/GUI/InputText","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/Slider","path":"/frontend/Reference/GUI/Slider","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/TableView","path":"/frontend/Reference/GUI/TableView","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/TextView","path":"/frontend/Reference/GUI/TextView","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/GUI/WLXEmbed","path":"/frontend/Reference/GUI/WLXEmbed","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/Alert","path":"/frontend/Reference/Interpreter/Alert","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/AttachDOM","path":"/frontend/Reference/Interpreter/AttachDOM","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/FrontEditorSelected","path":"/frontend/Reference/Interpreter/FrontEditorSelected","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/FrontEndVirtual","path":"/frontend/Reference/Interpreter/FrontEndVirtual","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/Offload","path":"/frontend/Reference/Interpreter/Offload","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/OffloadFromEventObject","path":"/frontend/Reference/Interpreter/OffloadFromEventObject","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/ReadClipboard","path":"/frontend/Reference/Interpreter/ReadClipboard","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/Refresh","path":"/frontend/Reference/Interpreter/Refresh","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Interpreter/WindowScope","path":"/frontend/Reference/Interpreter/WindowScope","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Misc/Async","path":"/frontend/Reference/Misc/Async","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Misc/Events","path":"/frontend/Reference/Misc/Events","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Misc/Language","path":"/frontend/Reference/Misc/Language","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Misc/Promise","path":"/frontend/Reference/Misc/Promise","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/ListLinePlotly","path":"/frontend/Reference/Plotly/ListLinePlotly","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/Plotly","path":"/frontend/Reference/Plotly/","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/PlotlyAddTraces","path":"/frontend/Reference/Plotly/PlotlyAddTraces","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/PlotlyAnimate","path":"/frontend/Reference/Plotly/PlotlyAnimate","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/PlotlyDeleteTraces","path":"/frontend/Reference/Plotly/PlotlyDeleteTraces","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/PlotlyExtendTraces","path":"/frontend/Reference/Plotly/PlotlyExtendTraces","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/PlotlyInstance","path":"/frontend/Reference/Plotly/PlotlyInstance","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotly/PlotlyPrependTraces","path":"/frontend/Reference/Plotly/PlotlyPrependTraces","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ArrayPlot","path":"/frontend/Reference/Plotting Functions/ArrayPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/BarChart","path":"/frontend/Reference/Plotting Functions/BarChart","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/BubbleChart","path":"/frontend/Reference/Plotting Functions/BubbleChart","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ContourPlot","path":"/frontend/Reference/Plotting Functions/ContourPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ContourPlot3D","path":"/frontend/Reference/Plotting Functions/ContourPlot3D","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/DateListPlot","path":"/frontend/Reference/Plotting Functions/DateListPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/DensityPlot","path":"/frontend/Reference/Plotting Functions/DensityPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ListContourPlot","path":"/frontend/Reference/Plotting Functions/ListContourPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ListCurvePathPlot","path":"/frontend/Reference/Plotting Functions/ListCurvePathPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ListLinePlot","path":"/frontend/Reference/Plotting Functions/ListLinePlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ListPlot3D","path":"/frontend/Reference/Plotting Functions/ListPlot3D","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ListStepPlot","path":"/frontend/Reference/Plotting Functions/ListStepPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ListVectorPlot","path":"/frontend/Reference/Plotting Functions/ListVectorPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ManipulateParametricPlot","path":"/frontend/Reference/Plotting Functions/ManipulateParametricPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ManipulatePlot","path":"/frontend/Reference/Plotting Functions/ManipulatePlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/MatrixPlot","path":"/frontend/Reference/Plotting Functions/MatrixPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/ParametricPlot","path":"/frontend/Reference/Plotting Functions/ParametricPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/Plot","path":"/frontend/Reference/Plotting Functions/Plot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/Plot3D","path":"/frontend/Reference/Plotting Functions/Plot3D","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/Plotly","path":"/frontend/Reference/Plotting Functions/Plotly","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/RandomImage","path":"/frontend/Reference/Plotting Functions/RandomImage","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/SphericalPlot3D","path":"/frontend/Reference/Plotting Functions/SphericalPlot3D","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/StackedListPlot","path":"/frontend/Reference/Plotting Functions/StackedListPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/StreamPlot","path":"/frontend/Reference/Plotting Functions/StreamPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/VectorPlot","path":"/frontend/Reference/Plotting Functions/VectorPlot","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Plotting Functions/VectorPlot3D","path":"/frontend/Reference/Plotting Functions/VectorPlot3D","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Slides/SlideEventListener","path":"/frontend/Reference/Slides/SlideEventListener","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Slides/Slides","path":"/frontend/Reference/Slides/","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Sound/Audio","path":"/frontend/Reference/Sound/Audio","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Sound/ListPlay","path":"/frontend/Reference/Sound/ListPlay","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Sound/PCMPlayer","path":"/frontend/Reference/Sound/PCMPlayer","sidebar":"tutorialSidebar"},{"id":"frontend/Reference/Video/Video","path":"/frontend/Reference/Video/","sidebar":"tutorialSidebar"},{"id":"frontend/Symbolic programming","path":"/frontend/Symbolic programming","sidebar":"tutorialSidebar"},{"id":"frontend/Troubleshooting/Troubleshooting","path":"/frontend/Troubleshooting/","sidebar":"tutorialSidebar"},{"id":"imgs/Drawing 2024-03-29 18.01.17.excalidraw","path":"/imgs/Drawing 2024-03-29 18.01.17.excalidraw"},{"id":"imgs/FE data binding.excalidraw 1","path":"/imgs/FE data binding.excalidraw 1"},{"id":"imgs/feinput.gif","path":"/imgs/feinput.gif"},{"id":"imgs/manipulate-frontend-example.excalidraw","path":"/imgs/manipulate-frontend-example.excalidraw"},{"id":"interpreter/Advanced/architecture","path":"/interpreter/Advanced/architecture"},{"id":"interpreter/Advanced/containers","path":"/interpreter/Advanced/containers"},{"id":"interpreter/Advanced/meta-markers","path":"/interpreter/Advanced/meta-markers"},{"id":"interpreter/Advanced/symbols","path":"/interpreter/Advanced/symbols"},{"id":"interpreter/Basics/graphics","path":"/interpreter/Basics/graphics"},{"id":"interpreter/Basics/js-access","path":"/interpreter/Basics/js-access"},{"id":"interpreter/Basics/scripts","path":"/interpreter/Basics/scripts"},{"id":"interpreter/Basics/syntax","path":"/interpreter/Basics/syntax"},{"id":"interpreter/Extras/implementation","path":"/interpreter/Extras/implementation"},{"id":"interpreter/Extras/reference","path":"/interpreter/Extras/reference"},{"id":"interpreter/intro","path":"/interpreter/intro"},{"id":"/category/cell-types","path":"/category/cell-types","sidebar":"tutorialSidebar"},{"id":"/category/advanced","path":"/category/advanced","sidebar":"tutorialSidebar"},{"id":"/category/exporting-formats","path":"/category/exporting-formats","sidebar":"tutorialSidebar"}],"draftIds":["frontend/Expressions representation","frontend/Advanced/Cells manipulation","frontend/Tutorial/Working with Images","frontend/Advanced/Javascript/Canvas","frontend/Advanced/Javascript/Realtime data capture","frontend/Reference/Sound/Play"],"sidebars":{"tutorialSidebar":{"link":{"path":"/","label":"frontend/instruction"}}}}],"breadcrumbs":true}},"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1720201968715.json","lunrIndex":"lunr-index-1720201968715.json"}}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(60144);const c=JSON.parse('{"docusaurusVersion":"3.3.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.3.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.3.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.3.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.3.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.3.2"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"3.3.2"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"3.3.2"}}}');var l=n(17624);const d={siteConfig:o.default,siteMetadata:c,globalData:a,i18n:i,codeTranslations:s},u=r.createContext(d);function f(e){let{children:t}=e;return(0,l.jsx)(u.Provider,{value:d,children:t})}},75852:(e,t,n)=>{"use strict";n.d(t,{c:()=>m});var r=n(11504),o=n(98684),a=n(56952),i=n(15684),s=n(3180),c=n(25548),l=n(17624);function d(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,l.jsx)(c.Y,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,l.jsx)(f,{children:(0,l.jsxs)(m,{fallback:()=>(0,l.jsx)(d,{error:t,tryAgain:n}),children:[(0,l.jsx)(a.c,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(s.c,{children:(0,l.jsx)(d,{error:t,tryAgain:n})})]})})}const h=e=>(0,l.jsx)(p,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.c.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??h)(e)}return e??null}}},98684:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},56952:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});n(11504);var r=n(32160),o=n(17624);function a(e){return(0,o.jsx)(r.So,{...e})}},52964:(e,t,n)=>{"use strict";n.d(t,{q:()=>o});var r=n(11504);n(17624);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}},10867:(e,t,n)=>{"use strict";n.d(t,{c:()=>p});var r=n(11504),o=n(70440),a=n(15684),i=n(28264),s=n(18136),c=n(98684),l=n(5976),d=n(70964),u=n(17624);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:h,isActive:m,"data-noBrokenLinkCheck":b,autoAddBaseUrl:g=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:S}}=(0,i.c)(),{withBaseUrl:x}=(0,d.E)(),w=(0,l.c)(),R=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>R.current));const k=f||p;const _=(0,s.c)(k),E=k?.replace("pathname://","");let C=void 0!==E?(P=E,g&&(e=>e.startsWith("/"))(P)?x(P):P):void 0;var P;C&&_&&(C=(0,a.applyTrailingSlash)(C,{trailingSlash:v,baseUrl:S}));const A=(0,r.useRef)(!1),T=n?o.Af:o.cH,D=c.c.canUseIntersectionObserver,F=(0,r.useRef)(),I=()=>{A.current||null==C||(window.docusaurus.preload(C),A.current=!0)};(0,r.useEffect)((()=>(!D&&_&&null!=C&&window.docusaurus.prefetch(C),()=>{D&&F.current&&F.current.disconnect()})),[F,C,D,_]);const N=C?.startsWith("#")??!1,L=!y.target||"_self"===y.target,j=!C||!_||!L||N;return b||!N&&j||w.collectLink(C),y.id&&w.collectAnchor(y.id),j?(0,u.jsx)("a",{ref:R,href:C,...k&&!_&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,u.jsx)(T,{...y,onMouseEnter:I,onTouchStart:I,innerRef:e=>{R.current=e,D&&e&&_&&(F.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(F.current.unobserve(e),F.current.disconnect(),null!=C&&window.docusaurus.prefetch(C))}))})),F.current.observe(e))},to:C,...n&&{isActive:m,activeClassName:h}})}const p=r.forwardRef(f)},33456:(e,t,n)=>{"use strict";n.d(t,{G:()=>s,c:()=>c});n(11504);var r=n(52964),o=n(60144),a=n(17624);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function s(e,t){let{message:n,id:o}=e;const a=i({message:n,id:o});return(0,r.q)(a,t)}function c(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const s=i({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:(0,r.q)(s,o)})}},52488:(e,t,n)=>{"use strict";n.d(t,{M:()=>r});const r="default"},18136:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{_:()=>r,c:()=>o})},70964:(e,t,n)=>{"use strict";n.d(t,{E:()=>i,c:()=>s});var r=n(11504),o=n(28264),a=n(18136);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.c)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a._)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},5976:(e,t,n)=>{"use strict";n.d(t,{c:()=>i});var r=n(11504);n(17624);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},28264:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var r=n(11504),o=n(136);function a(){return(0,r.useContext)(o.e)}},53160:(e,t,n)=>{"use strict";n.d(t,{MP:()=>i,mm:()=>a});var r=n(28264),o=n(52488);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.c)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.M),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},93664:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var r=n(11504),o=n(30240);function a(){return(0,r.useContext)(o.e)}},95288:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var r=n(11504);const o=n(98684).c.canUseDOM?r.useLayoutEffect:r.useEffect},85308:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var r=n(11504),o=n(25548);function a(){const e=r.useContext(o.e);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},78120:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},25548:(e,t,n)=>{"use strict";n.d(t,{Y:()=>i,e:()=>a});var r=n(11504),o=n(17624);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},15172:(e,t,n)=>{"use strict";n.d(t,{wB:()=>p,UF:()=>d,L0:()=>c,i8:()=>h,OK:()=>l,aA:()=>f,gN:()=>u});var r=n(55592),o=n(53160);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){const n=a(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.ot)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.ot)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const s={},c=()=>(0,o.mm)("docusaurus-plugin-content-docs")??s,l=e=>{try{return(0,o.MP)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function d(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.IT)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.ot)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function u(e){return l(e).versions}function f(e){const t=l(e);return a(t)}function p(e){const t=l(e),{pathname:n}=(0,r.IT)();return i(t,n)}function h(e){const t=l(e),{pathname:n}=(0,r.IT)();return function(e,t){const n=a(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},31976:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(22272),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},85396:(e,t,n)=>{"use strict";n.r(t);var r=n(35720),o=n(97768);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(71808),n(7636)(`./prism-${e}`)})),delete globalThis.Prism}(r.sp)},56448:(e,t,n)=>{"use strict";n.d(t,{c:()=>d});n(11504);var r=n(65456),o=n(33456),a=n(21824),i=n(10867),s=n(5976);const c={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(17624);function d(e){let{as:t,id:n,...d}=e;const u=(0,s.c)(),{navbar:{hideOnScroll:f}}=(0,a.y)();if("h1"===t||!n)return(0,l.jsx)(t,{...d,id:void 0});u.collectAnchor(n);const p=(0,o.G)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof d.children?d.children:n});return(0,l.jsxs)(t,{...d,className:(0,r.c)("anchor",f?c.anchorWithHideOnScrollNavbar:c.anchorWithStickyNavbar,d.className),id:n,children:[d.children,(0,l.jsx)(i.c,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},3232:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});n(11504);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(17624);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},3180:(e,t,n)=>{"use strict";n.d(t,{c:()=>mt});var r=n(11504),o=n(65456),a=n(75852),i=n(68900),s=n(55592),c=n(33456),l=n(27124),d=n(17624);const u="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.Uz)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(u);t&&f(t)}),[]);return(0,l.c)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const h=(0,c.G)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??h,{containerRef:n,onClick:r}=p();return(0,d.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,d.jsx)("a",{...e,href:`#${u}`,onClick:r,children:t})})}var b=n(45864),g=n(60204);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,d.jsx)(m,{className:y.skipToContent})}var S=n(21824),x=n(43868);function w(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,d.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,d.jsx)("g",{stroke:r,strokeWidth:o,children:(0,d.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const R={closeButton:"closeButton_CVFx"};function k(e){return(0,d.jsx)("button",{type:"button","aria-label":(0,c.G)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.c)("clean-btn close",R.closeButton,e.className),children:(0,d.jsx)(w,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function E(e){const{announcementBar:t}=(0,S.y)(),{content:n}=t;return(0,d.jsx)("div",{...e,className:(0,o.c)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const C={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function P(){const{announcementBar:e}=(0,S.y)(),{isActive:t,close:n}=(0,x.el)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,d.jsxs)("div",{className:C.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,d.jsx)("div",{className:C.announcementBarPlaceholder}),(0,d.jsx)(E,{className:C.announcementBarContent}),a&&(0,d.jsx)(k,{onClick:n,className:C.announcementBarClose})]})}var A=n(18200),T=n(53943);var D=n(91100),F=n(45168);const I=r.createContext(null);function N(e){let{children:t}=e;const n=function(){const e=(0,A.q)(),t=(0,F.MF)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,D.i0)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,d.jsx)(I.Provider,{value:n,children:t})}function L(e){if(e.component){const t=e.component;return(0,d.jsx)(t,{...e.props})}}function j(){const e=(0,r.useContext)(I);if(!e)throw new D.AH("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,F.MF)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:L(a)})),[o,a,t])}function O(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=j();return(0,d.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,d.jsxs)("div",{className:(0,o.c)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(66528),G=n(93664);function B(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const z={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function $(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,G.c)(),s=(0,c.G)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,c.G)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.G)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,d.jsx)("div",{className:(0,o.c)(z.toggle,t),children:(0,d.jsxs)("button",{className:(0,o.c)("clean-btn",z.toggleButton,!i&&z.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,d.jsx)(B,{className:(0,o.c)(z.toggleIcon,z.lightToggleIcon)}),(0,d.jsx)(U,{className:(0,o.c)(z.toggleIcon,z.darkToggleIcon)})]})})}const H=r.memo($),W={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,S.y)().navbar.style,r=(0,S.y)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.U)();return r?null:(0,d.jsx)(H,{className:t,buttonClassName:"dark"===n?W.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var q=n(68164);function Y(){return(0,d.jsx)(q.c,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.q)();return(0,d.jsx)("button",{type:"button","aria-label":(0,c.G)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,d.jsx)(w,{color:"var(--ifm-color-emphasis-600)"})})}function K(){return(0,d.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,d.jsx)(Y,{}),(0,d.jsx)(V,{className:"margin-right--md"}),(0,d.jsx)(Q,{})]})}var J=n(10867),Z=n(70964),X=n(18136);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(3232);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:c,...l}=e;const u=(0,Z.c)(r),f=(0,Z.c)(t),p=(0,Z.c)(o,{forcePrependBaseUrl:!0}),h=a&&o&&!(0,X.c)(o),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,d.jsxs)(d.Fragment,{children:[a,h&&(0,d.jsx)(te.c,{...s&&{width:12,height:12}})]})};return o?(0,d.jsx)(J.c,{href:c?p:o,...l,...m}):(0,d.jsx)(J.c,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...l,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,d.jsx)(ne,{className:(0,o.c)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,d.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,d.jsx)("li",{className:"menu__list-item",children:(0,d.jsx)(ne,{className:(0,o.c)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,d.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(58448),se=n(13376),ce=n(28264);const le={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function de(e,t){return e.some((e=>function(e,t){return!!(0,se.Sc)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const c=(0,r.useRef)(null),[l,u]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),(0,d.jsxs)("div",{ref:c,className:(0,o.c)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":l}),children:[(0,d.jsx)(ne,{"aria-haspopup":"true","aria-expanded":l,role:"button",href:s.to?void 0:"#",className:(0,o.c)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!l))},children:s.children??s.label}),(0,d.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(De,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:a,onClick:i,...c}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,ce.c)(),{pathname:t}=(0,s.IT)();return t.replace(e,"/")}(),u=de(t,l),{collapsed:f,toggleCollapsed:p,setCollapsed:h}=(0,ie.a)({initialState:()=>!u});return(0,r.useEffect)((()=>{u&&h(!u)}),[l,u,h]),(0,d.jsxs)("li",{className:(0,o.c)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,d.jsx)(ne,{role:"button",className:(0,o.c)(le.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...c,onClick:e=>{e.preventDefault(),p()},children:c.children??c.label}),(0,d.jsx)(ie.U,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(De,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:ue;return(0,d.jsx)(r,{...n})}var he=n(1616);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const be="iconLanguage_nlXk";function ge(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{if(!e.state?.highlightState||0===e.state.highlightState.wordToHighlight.length)return;a(e.state.highlightState);const{highlightState:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.highlightState,t,e]),(0,r.useEffect)((()=>{if(0===o.wordToHighlight.length)return;const e=document.getElementsByTagName("article")[0]??document.getElementsByTagName("main")[0];if(!e)return;const t=new(xe())(e),n={ignoreJoiners:!0};return t.mark(o.wordToHighlight,n),()=>t.unmark(n)}),[o,n]),null}const Re=e=>{const t=(0,r.useRef)(!1),o=(0,r.useRef)(null),[a,i]=(0,r.useState)(!1),c=(0,s.Uz)(),{siteConfig:l={}}=(0,ce.c)(),u=(l.plugins||[]).find((e=>Array.isArray(e)&&"string"==typeof e[0]&&e[0].includes("docusaurus-lunr-search"))),f=(0,G.c)(),{baseUrl:p}=l,h=u&&u[1]?.assetUrl||p,m=(0,ve.MP)("docusaurus-lunr-search"),b=()=>{t.current||(Promise.all([fetch(`${h}${m.fileNames.searchDoc}`).then((e=>e.json())),fetch(`${h}${m.fileNames.lunrIndex}`).then((e=>e.json())),Promise.all([n.e(40),n.e(3444)]).then(n.bind(n,36920)),Promise.all([n.e(2176),n.e(6140)]).then(n.bind(n,6140))]).then((e=>{let[t,n,{default:r}]=e;const{searchDocs:o,options:a}=t;o&&0!==o.length&&(((e,t,n,r)=>{new n({searchDocs:e,searchIndex:t,baseUrl:p,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{const o=n.url||"/";document.createElement("a").href=o,e.setVal(""),t.target.blur();let a="";if(r.highlightResult)try{const e=(n.text||n.subcategory||n.title).match(new RegExp("\\w*","g"));if(e&&e.length>0){const t=document.createElement("div");t.innerHTML=e[0],a=t.textContent}}catch(i){console.log(i)}c.push(o,{highlightState:{wordToHighlight:a}})},maxHits:r.maxHits})})(o,n,r,a),i(!0))})),t.current=!0)},g=(0,r.useCallback)((t=>{o.current.contains(t.target)||o.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);let y;return f&&(b(),y=window.navigator.platform.startsWith("Mac")?"Search \u2318+K":"Search Ctrl+K"),(0,d.jsxs)("div",{className:"navbar__search",children:[(0,d.jsx)("span",{"aria-label":"expand searchbar",role:"button",className:ye("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:g,onKeyDown:g,tabIndex:0}),(0,d.jsx)("input",{id:"search_input_react",type:"search",placeholder:a?y:"Loading...","aria-label":"Search",className:ye("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:b,onMouseOver:b,onFocus:g,onBlur:g,ref:o,disabled:!a}),(0,d.jsx)(we,{})]},"search-box")},ke={navbarSearchContainer:"navbarSearchContainer_Bca1"};function _e(e){let{children:t,className:n}=e;return(0,d.jsx)("div",{className:(0,o.c)(n,ke.navbarSearchContainer),children:t})}var Ee=n(15172),Ce=n(35492);var Pe=n(94592);const Ae=e=>e.docs.find((t=>t.id===e.mainDocId));const Te={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:l,localeConfigs:u}}=(0,ce.c)(),f=(0,he.D)(),{search:p,hash:h}=(0,s.IT)(),m=[...n,...l.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${h}${o}`;return{label:u[e].label,lang:u[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],b=t?(0,c.G)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):u[i].label;return(0,d.jsx)(pe,{...a,mobile:t,label:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(me,{className:be}),b]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,d.jsx)(_e,{className:n,children:(0,d.jsx)(Re,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,d.jsx)(i,{className:(0,o.c)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Ee.wB)(r),i=(0,Ce.Qf)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,d.jsx)(ae,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Ee.wB)(r),i=(0,Ce.Ab)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,d.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Ce.b7)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,d.jsx)(ae,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:l,hash:u}=(0,s.IT)(),f=(0,Ee.wB)(n),p=(0,Ee.gN)(n),{savePreferredVersionName:h}=(0,Pe.iy)(n),m=[...o,...p.map((e=>{const t=f.alternateDocVersions[e.name]??Ae(e);return{label:e.label,to:`${t.path}${l}${u}`,isActive:()=>e===f.activeVersion,onClick:()=>h(e.name)}})),...a],b=(0,Ce.b7)(n)[0],g=t&&m.length>1?(0,c.G)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&m.length>1?void 0:Ae(b).path;return m.length<=1?(0,d.jsx)(ae,{...i,mobile:t,label:g,to:y,isActive:r?()=>!1:void 0}):(0,d.jsx)(pe,{...i,mobile:t,label:g,to:y,items:m,isActive:r?()=>!1:void 0})}};function De(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Te[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,d.jsx)(o,{...n})}function Fe(){const e=(0,A.q)(),t=(0,S.y)().navbar.items;return(0,d.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(De,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ie(e){return(0,d.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,d.jsx)(c.c,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ne(){const e=0===(0,S.y)().navbar.items.length,t=j();return(0,d.jsxs)(d.Fragment,{children:[!e&&(0,d.jsx)(Ie,{onClick:()=>t.hide()}),t.content]})}function Le(){const e=(0,A.q)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,d.jsx)(O,{header:(0,d.jsx)(K,{}),primaryMenu:(0,d.jsx)(Fe,{}),secondaryMenu:(0,d.jsx)(Ne,{})}):null}const je={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Oe(e){return(0,d.jsx)("div",{role:"presentation",...e,className:(0,o.c)("navbar-sidebar__backdrop",e.className)})}function Me(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,S.y)(),i=(0,A.q)(),{navbarRef:s,isNavbarVisible:u}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,T.SM)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+l{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,d.jsxs)("nav",{ref:s,"aria-label":(0,c.G)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.c)("navbar","navbar--fixed-top",n&&[je.navbarHideable,!u&&je.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,d.jsx)(Oe,{onClick:i.toggle}),(0,d.jsx)(Le,{})]})}var Ge=n(50176);const Be="right";function Ue(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,d.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,d.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function ze(){const{toggle:e,shown:t}=(0,A.q)();return(0,d.jsx)("button",{onClick:e,"aria-label":(0,c.G)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,d.jsx)(Ue,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function He(e){let{items:t}=e;return(0,d.jsx)(d.Fragment,{children:t.map(((e,t)=>(0,d.jsx)(Ge.kp,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,d.jsx)(De,{...e})},t)))})}function We(e){let{left:t,right:n}=e;return(0,d.jsxs)("div",{className:"navbar__inner",children:[(0,d.jsx)("div",{className:"navbar__items",children:t}),(0,d.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ve(){const e=(0,A.q)(),t=(0,S.y)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Be)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,d.jsx)(We,{left:(0,d.jsxs)(d.Fragment,{children:[!e.disabled&&(0,d.jsx)(ze,{}),(0,d.jsx)(Y,{}),(0,d.jsx)(He,{items:n})]}),right:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(He,{items:r}),(0,d.jsx)(V,{className:$e.colorModeToggle}),!o&&(0,d.jsx)(_e,{children:(0,d.jsx)(Re,{})})]})})}function qe(){return(0,d.jsx)(Me,{children:(0,d.jsx)(Ve,{})})}function Ye(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,Z.c)(n),c=(0,Z.c)(r,{forcePrependBaseUrl:!0});return(0,d.jsxs)(J.c,{className:"footer__link-item",...r?{href:a?c:r}:{to:s},...i,children:[o,r&&!(0,X.c)(r)&&(0,d.jsx)(te.c,{})]})}function Qe(e){let{item:t}=e;return t.html?(0,d.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,d.jsx)("li",{className:"footer__item",children:(0,d.jsx)(Ye,{item:t})},t.href??t.to)}function Ke(e){let{column:t}=e;return(0,d.jsxs)("div",{className:"col footer__col",children:[(0,d.jsx)("div",{className:"footer__title",children:t.title}),(0,d.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,d.jsx)(Qe,{item:e},t)))})]})}function Je(e){let{columns:t}=e;return(0,d.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,d.jsx)(Ke,{column:e},t)))})}function Ze(){return(0,d.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Xe(e){let{item:t}=e;return t.html?(0,d.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,d.jsx)(Ye,{item:t})}function et(e){let{links:t}=e;return(0,d.jsx)("div",{className:"footer__links text--center",children:(0,d.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,d.jsxs)(r.Fragment,{children:[(0,d.jsx)(Xe,{item:e}),t.length!==n+1&&(0,d.jsx)(Ze,{})]},n)))})})}function tt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,d.jsx)(Je,{columns:t}):(0,d.jsx)(et,{links:t})}var nt=n(61964);const rt={footerLogoLink:"footerLogoLink_BH7S"};function ot(e){let{logo:t}=e;const{withBaseUrl:n}=(0,Z.E)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,d.jsx)(nt.c,{className:(0,o.c)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function at(e){let{logo:t}=e;return t.href?(0,d.jsx)(J.c,{href:t.href,className:rt.footerLogoLink,target:t.target,children:(0,d.jsx)(ot,{logo:t})}):(0,d.jsx)(ot,{logo:t})}function it(e){let{copyright:t}=e;return(0,d.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function st(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,d.jsx)("footer",{className:(0,o.c)("footer",{"footer--dark":"dark"===t}),children:(0,d.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,d.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,d.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ct(){const{footer:e}=(0,S.y)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,d.jsx)(st,{style:o,links:n&&n.length>0&&(0,d.jsx)(tt,{links:n}),logo:r&&(0,d.jsx)(at,{logo:r}),copyright:t&&(0,d.jsx)(it,{copyright:t})})}const lt=r.memo(ct),dt=(0,D.qY)([M.C,x.qu,T.S2,Pe.gc,i.w7,function(e){let{children:t}=e;return(0,d.jsx)(F.Ub,{children:(0,d.jsx)(A.y,{children:(0,d.jsx)(N,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,d.jsx)(dt,{children:t})}var ft=n(56448);function pt(e){let{error:t,tryAgain:n}=e;return(0,d.jsx)("main",{className:"container margin-vert--xl",children:(0,d.jsx)("div",{className:"row",children:(0,d.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,d.jsx)(ft.c,{as:"h1",className:"hero__title",children:(0,d.jsx)(c.c,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,d.jsx)("div",{className:"margin-vert--lg",children:(0,d.jsx)(Ge.wB,{onClick:n,className:"button button--primary shadow--lw"})}),(0,d.jsx)("hr",{}),(0,d.jsx)("div",{className:"margin-vert--md",children:(0,d.jsx)(Ge.eQ,{error:t})})]})})})}const ht={mainWrapper:"mainWrapper_z2l0"};function mt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:c}=e;return(0,g.W)(),(0,d.jsxs)(ut,{children:[(0,d.jsx)(i.U7,{title:s,description:c}),(0,d.jsx)(v,{}),(0,d.jsx)(P,{}),(0,d.jsx)(qe,{}),(0,d.jsx)("div",{id:u,className:(0,o.c)(b.W.wrapper.main,ht.mainWrapper,r),children:(0,d.jsx)(a.c,{fallback:e=>(0,d.jsx)(pt,{...e}),children:t})}),!n&&(0,d.jsx)(lt,{})]})}},68164:(e,t,n)=>{"use strict";n.d(t,{c:()=>d});n(11504);var r=n(10867),o=n(70964),a=n(28264),i=n(21824),s=n(61964),c=n(17624);function l(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.c)(t.src),dark:(0,o.c)(t.srcDark||t.src)},i=(0,c.jsx)(s.c,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,c.jsx)("div",{className:r,children:i}):i}function d(e){const{siteConfig:{title:t}}=(0,a.c)(),{navbar:{title:n,logo:s}}=(0,i.y)(),{imageClassName:d,titleClassName:u,...f}=e,p=(0,o.c)(s?.href||"/"),h=n?"":t,m=s?.alt??h;return(0,c.jsxs)(r.c,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,c.jsx)(l,{logo:s,alt:m,imageClassName:d}),null!=n&&(0,c.jsx)("b",{className:u,children:n})]})}},48712:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});n(11504);var r=n(56952),o=n(17624);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.c,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},61964:(e,t,n)=>{"use strict";n.d(t,{c:()=>d});var r=n(11504),o=n(65456),a=n(93664),i=n(66528);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var c=n(17624);function l(e){let{className:t,children:n}=e;const l=(0,a.c)(),{colorMode:d}=(0,i.U)();return(0,c.jsx)(c.Fragment,{children:(l?"dark"===d?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.c)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,c.jsx)(r.Fragment,{children:a},e)}))})}function d(e){const{sources:t,className:n,alt:r,...o}=e;return(0,c.jsx)(l,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,c.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},58448:(e,t,n)=>{"use strict";n.d(t,{U:()=>g,a:()=>l});var r=n(11504),o=n(98684),a=n(95288),i=n(13856),s=n(17624);const c="ease-in-out";function l(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const d={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?d:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.I)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??c}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return f(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=d.height,e.style.overflow=d.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function h(e){if(!o.c.canUseDOM)return e?d:u}function m(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:c,disableSSRStyle:l}=e;const d=(0,r.useRef)(null);return p({collapsibleRef:d,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:d,style:l?void 0:h(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(d.current,n),i?.(n))},className:c,children:o})}function b(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[c,l]=(0,r.useState)(t);return(0,a.c)((()=>{t||i(!0)}),[t]),(0,a.c)((()=>{o&&l(t)}),[o,t]),o?(0,s.jsx)(m,{...n,collapsed:c}):null}function g(e){let{lazy:t,...n}=e;const r=t?b:m;return(0,s.jsx)(r,{...n})}},43868:(e,t,n)=>{"use strict";n.d(t,{el:()=>m,qu:()=>h});var r=n(11504),o=n(93664),a=n(21148),i=n(91100),s=n(21824),c=n(17624);const l=(0,a.GS)("docusaurus.announcement.dismiss"),d=(0,a.GS)("docusaurus.announcement.id"),u=()=>"true"===l.get(),f=e=>l.set(String(e)),p=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.y)(),t=(0,o.c)(),[n,a]=(0,r.useState)((()=>!!t&&u()));(0,r.useEffect)((()=>{a(u())}),[]);const i=(0,r.useCallback)((()=>{f(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=d.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;d.set(t),r&&f(!1),!r&&u()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,c.jsx)(p.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(p);if(!e)throw new i.AH("AnnouncementBarProvider");return e}},66528:(e,t,n)=>{"use strict";n.d(t,{C:()=>b,U:()=>g});var r=n(11504),o=n(98684),a=n(91100),i=n(21148),s=n(21824),c=n(17624);const l=r.createContext(void 0),d="theme",u=(0,i.GS)(d),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,h=e=>o.c.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{u.set(p(e))};function b(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.y)(),[o,a]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&u.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),u.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==d)return;const t=u.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const c=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||c.current?c.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[o,i])}();return(0,c.jsx)(l.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(l);if(null==e)throw new a.AH("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},94592:(e,t,n)=>{"use strict";n.d(t,{gc:()=>g,iy:()=>v});var r=n(11504),o=n(15172),a=n(52488),i=n(21824),s=n(35492),c=n(91100),l=n(21148),d=n(17624);const u=e=>`docs-preferred-version-${e}`,f={save:(e,t,n)=>{(0,l.GS)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.GS)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.GS)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const h=r.createContext(null);function m(){const e=(0,o.L0)(),t=(0,i.y)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=f.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){f.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function b(e){let{children:t}=e;const n=m();return(0,d.jsx)(h.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return s.c1?(0,d.jsx)(b,{children:t}):(0,d.jsx)(d.Fragment,{children:t})}function y(){const e=(0,r.useContext)(h);if(!e)throw new c.AH("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.M);const t=(0,o.OK)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},46192:(e,t,n)=>{"use strict";n.d(t,{m:()=>l,y:()=>c});var r=n(11504),o=n(91100),a=n(17624);const i=Symbol("EmptyContext"),s=r.createContext(i);function c(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function l(){const e=(0,r.useContext)(s);if(e===i)throw new o.AH("DocsSidebarProvider");return e}},69920:(e,t,n)=>{"use strict";n.d(t,{E:()=>c,Q:()=>s});var r=n(11504),o=n(91100),a=n(17624);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(i);if(null===e)throw new o.AH("DocsVersionProvider");return e}},18200:(e,t,n)=>{"use strict";n.d(t,{q:()=>p,y:()=>f});var r=n(11504),o=n(45168),a=n(11432),i=n(10632),s=n(21824),c=n(91100),l=n(17624);const d=r.createContext(void 0);function u(){const e=function(){const e=(0,o.MF)(),{items:t}=(0,s.y)().navbar;return 0===t.length&&!e.component}(),t=(0,a.U)(),n=!e&&"mobile"===t,[c,l]=(0,r.useState)(!1);(0,i.a4)((()=>{if(c)return l(!1),!1}));const d=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:d,shown:c})),[e,n,d,c])}function f(e){let{children:t}=e;const n=u();return(0,l.jsx)(d.Provider,{value:n,children:t})}function p(){const e=r.useContext(d);if(void 0===e)throw new c.AH("NavbarMobileSidebarProvider");return e}},45168:(e,t,n)=>{"use strict";n.d(t,{MF:()=>c,Mx:()=>l,Ub:()=>s});var r=n(11504),o=n(91100),a=n(17624);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(i);if(!e)throw new o.AH("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.AH("NavbarSecondaryMenuContentProvider");const[,s]=a,c=(0,o.Mh)(n);return(0,r.useEffect)((()=>{s({component:t,props:c})}),[s,t,c]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},60204:(e,t,n)=>{"use strict";n.d(t,{m:()=>o,W:()=>a});var r=n(11504);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},11432:(e,t,n)=>{"use strict";n.d(t,{U:()=>s});var r=n(11504),o=n(98684);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.c.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},45864:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},13856:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{I:()=>r})},35492:(e,t,n)=>{"use strict";n.d(t,{Ab:()=>k,Gw:()=>h,ML:()=>C,Md:()=>y,Qf:()=>_,Uj:()=>E,_4:()=>p,b7:()=>R,c1:()=>f,js:()=>w,mg:()=>S,wt:()=>m});var r=n(11504),o=n(55592),a=n(85464),i=n(15172),s=n(94592),c=n(69920),l=n(46192),d=n(27128),u=n(13376);const f=!!i.L0;function p(e){const t=(0,c.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function h(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=h(t);if(e)return e}}(e):void 0:e.href}function m(){const{pathname:e}=(0,o.IT)(),t=(0,l.m)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=x({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const b=(e,t)=>void 0!==e&&(0,u.Sc)(e,t),g=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?b(e.href,t):"category"===e.type&&(b(e.href,t)||g(e.items,t))}function v(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function S(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function x(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,u.Sc)(a.href,n)||e(a.items))||"link"===a.type&&(0,u.Sc)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function w(){const e=(0,l.m)(),{pathname:t}=(0,o.IT)(),n=(0,i.UF)()?.pluginData.breadcrumbs;return!1!==n&&e?x({sidebarItems:e.items,pathname:t}):null}function R(e){const{activeVersion:t}=(0,i.wB)(e),{preferredVersion:n}=(0,s.iy)(e),o=(0,i.aA)(e);return(0,r.useMemo)((()=>(0,d.U)([t,n,o].filter(Boolean))),[t,n,o])}function k(e,t){const n=R(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function _(e,t){const n=R(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,d.U)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,o.IT)(),r=(0,c.E)(),i=t.routes,s=i.find((e=>(0,o.ot)(n.pathname,e)));if(!s)return null;const l=s.sidebar,d=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.k)(i),sidebarName:l,sidebarItems:d}}function C(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!h(e)))}},50176:(e,t,n)=>{"use strict";n.d(t,{eQ:()=>d,Ij:()=>l,wB:()=>c,kp:()=>u});var r=n(11504),o=n(33456),a=n(15684);const i={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};var s=n(17624);function c(e){return(0,s.jsx)("button",{type:"button",...e,children:(0,s.jsx)(o.c,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function l(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{className:i.errorBoundaryFallback,children:[(0,s.jsx)("p",{children:t.message}),(0,s.jsx)(c,{onClick:n})]})}function d(e){let{error:t}=e;const n=(0,a.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{className:i.errorBoundaryError,children:n})}class u extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},10632:(e,t,n)=>{"use strict";n.d(t,{_M:()=>c,a4:()=>i});var r=n(11504),o=n(55592),a=n(91100);function i(e){!function(e){const t=(0,o.Uz)(),n=(0,a.yA)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,o.Uz)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function c(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},27128:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}n.d(t,{U:()=>o,w:()=>r})},68900:(e,t,n)=>{"use strict";n.d(t,{cr:()=>f,U7:()=>d,w7:()=>p});var r=n(11504),o=n(65456),a=n(56952),i=n(85308),s=n(70964),c=n(28264);var l=n(17624);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const d=function(e){const{siteConfig:t}=(0,c.c)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:u}=(0,s.E)(),f=o?u(o,{absolute:!0}):void 0;return(0,l.jsxs)(a.c,{children:[t&&(0,l.jsx)("title",{children:d}),t&&(0,l.jsx)("meta",{property:"og:title",content:d}),n&&(0,l.jsx)("meta",{name:"description",content:n}),n&&(0,l.jsx)("meta",{property:"og:description",content:n}),r&&(0,l.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,l.jsx)("meta",{property:"og:image",content:f}),f&&(0,l.jsx)("meta",{name:"twitter:image",content:f}),i]})}const u=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(u),s=(0,o.c)(i,t);return(0,l.jsxs)(u.Provider,{value:s,children:[(0,l.jsx)(a.c,{children:(0,l.jsx)("html",{className:s})}),n]})}function p(e){let{children:t}=e;const n=(0,i.c)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,l.jsx)(f,{className:(0,o.c)(r,a),children:t})}},91100:(e,t,n)=>{"use strict";n.d(t,{AH:()=>c,Mh:()=>l,i0:()=>s,qY:()=>d,yA:()=>i});var r=n(11504),o=n(95288),a=n(17624);function i(e){const t=(0,r.useRef)(e);return(0,o.c)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.c)((()=>{t.current=e})),t.current}class c extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function d(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},13376:(e,t,n)=>{"use strict";n.d(t,{Sc:()=>i,Y5:()=>s});var r=n(11504),o=n(628),a=n(28264);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.c)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.c,baseUrl:e})),[e])}},53943:(e,t,n)=>{"use strict";n.d(t,{MV:()=>h,S2:()=>d,SM:()=>p,yI:()=>m});var r=n(11504),o=n(98684),a=n(93664),i=n(95288),s=n(91100),c=n(17624);const l=r.createContext(void 0);function d(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,c.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new s.AH("ScrollControllerProvider");return e}const f=()=>o.c.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(f()),a=(0,s.yA)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=f();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function h(){const e=u(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),o=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.c)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function m(){const e=(0,r.useRef)(null),t=(0,a.c)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},14456:(e,t,n)=>{"use strict";n.d(t,{SE:()=>o,e6:()=>r});n(28264);const r="default";function o(e,t){return`docs-${e}-${t}`}},21148:(e,t,n)=>{"use strict";n.d(t,{GS:()=>l,IN:()=>d});var r=n(11504);const o="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=i(t?.persistence);return null===n?c:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?c:l(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},1616:(e,t,n)=>{"use strict";n.d(t,{D:()=>i});var r=n(28264),o=n(55592),a=n(15684);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.c)(),{pathname:c}=(0,o.IT)(),l=(0,a.applyTrailingSlash)(c,{trailingSlash:n,baseUrl:e}),d=s===i?e:e.replace(`/${s}/`,"/"),u=l.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${d}`:`${d}${e}/`}(n)}${u}`}}}},27124:(e,t,n)=>{"use strict";n.d(t,{c:()=>i});var r=n(11504),o=n(55592),a=n(91100);function i(e){const t=(0,o.IT)(),n=(0,a.i0)(t),i=(0,a.yA)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},21824:(e,t,n)=>{"use strict";n.d(t,{y:()=>o});var r=n(28264);function o(){return(0,r.c)().siteConfig.themeConfig}},21600:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(32112);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(c=i,n?o(c):a(c));var c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a},64292:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},15684:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(21600);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return o.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return o.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return o.removeTrailingSlash}});var a=n(32112);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return a.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return a.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return a.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return a.removePrefix}});var i=n(64292);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},32112:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},58064:(e,t,n)=>{"use strict";n.d(t,{iU:()=>S,Yf:()=>E,gh:()=>p,Wi:()=>P,Ep:()=>f});var r=n(45072);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),u++):u&&(a(i,f),u--)}if(!l)for(;u--;u)i.unshift("..");!l||""===i[0]||i[0]&&o(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(94812);function c(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function u(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.c)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),u({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,m(),S.location);d.confirmTransitionTo(o,r,n,(function(e){e&&(S.entries[S.index]=o,u({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=S.index+e;return t>=0&&t{"use strict";var r=n(62168),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function c(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var l=Object.defineProperty,d=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var o=p(n);o&&o!==h&&e(t,o,r)}var i=d(n);u&&(i=i.concat(u(n)));for(var s=c(t),m=c(n),b=0;b{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,a,i,s],d=0;(c=new Error(t.replace(/%s/g,(function(){return l[d++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},59600:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},63508:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,c=0;i=Array.prototype.slice.call(i);var l=function(){--s<=0&&a(c)};s||l(),i.forEach((function(t){e.matches(t,o.exclude)?l():o.onIframeReady(t,(function(e){n(t)&&(c++,r(e)),l()}),l)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),s=[],c=[],l=void 0,d=void 0,u=function(){var e=a.getIteratorNode(i);return d=e.prevNode,l=e.node};u();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(l,d,e,s)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return c.push(e)}),r)})),c.push(l);c.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var s=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,s=parseInt(e.start,10)-i;return(r=(s=s>a?a:s)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),s<0||r-s<0||s>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(i.node))return!1;var l=t-i.start,d=(n>i.end?i.end:n)-i.start,u=e.value.substr(0,i.start),f=e.value.substr(d+i.start);if(i.node=a.wrapRangeInTextNode(i.node,l,d),e.value=u+f,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=d),e.nodes[n].end-=d)})),n-=d,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var s=o.index;if(0!==i)for(var c=1;c{"use strict";n.r(t)},71496:(e,t,n)=>{"use strict";n.r(t)},22272:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),l=a.querySelector(r.barSelector),d=r.speed,u=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),c(l,i(e,d,u)),1===e?(c(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){c(a,{transition:"all "+d+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),d)}),d)):setTimeout(t,d)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");d(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),l=document.querySelector(r.parent);return c(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),l!=document.body&&d(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),c=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function l(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function d(e,t){var n=f(e),r=n+t;l(n,t)||(e.className=r.substring(1))}function u(e,t){var n,r=f(e);l(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},56872:(e,t,n)=>{var r=n(59600);e.exports=p,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,s="",d=t&&t.delimiter||"/";null!=(n=o.exec(e));){var u=n[0],f=n[1],p=n.index;if(s+=e.slice(i,p),i=p+u.length,f)s+=f[1];else{var h=e[i],m=n[2],b=n[3],g=n[4],y=n[5],v=n[6],S=n[7];s&&(r.push(s),s="");var x=null!=m&&null!=h&&h!==m,w="+"===v||"*"===v,R="?"===v||"*"===v,k=n[2]||d,_=g||y;r.push({name:b||a++,prefix:m||"",delimiter:k,optional:R,repeat:w,partial:x,asterisk:!!S,pattern:_?l(_):S?".*":"[^"+c(k)+"]+?"})}}return i{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var c=0;c=a.length);c++){var l=s[c];if("string"==typeof l||l.content&&"string"==typeof l.content){var d=a[o],u=n.tokenStack[d],f="string"==typeof l?l:l.content,p=t(r,d),h=f.indexOf(p);if(h>-1){++o;var m=f.substring(0,h),b=new e.Token(r,e.tokenize(u,n.grammar),"language-"+r,u),g=f.substring(h+p.length),y=[];m&&y.push.apply(y,i([m])),y.push(b),g&&y.push.apply(y,i([g])),"string"==typeof l?s.splice.apply(s,[c,1].concat(y)):l.content=y}}else l.content&&i(l.content)}return s}(n.tokens)}}}})}(Prism)},46436:()=>{Prism.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.mathematica=Prism.languages.wolfram,Prism.languages.wl=Prism.languages.wolfram,Prism.languages.nb=Prism.languages.wolfram},7636:(e,t,n)=>{var r={"./prism-wolfram":46436};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=7636},39776:(e,t,n)=>{"use strict";var r=n(69143);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},3268:(e,t,n)=>{e.exports=n(39776)()},69143:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},79516:(e,t,n)=>{"use strict";var r=n(11504),o=n(14712);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n