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/.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 @@ - - + +
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.
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\nSet
",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<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<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\nYour Docusaurus site did not load properly.
\nA very common reason is a wrong site baseUrl configuration.
\nCurrent configured baseUrl = ${e} ${"/"===e?" (default value)":""}
\nWe suggest trying baseUrl =
\nu.reach&&(u.reach=N);var L=w.prev;if(F&&(L=c(t,L,F),R+=F.length),l(t,L,E),w=c(t,L,new o(f,b?r.tokenize(D,b):D,v,D)),I&&c(t,w,I),E>1){var j={cause:f+","+h,reach:N};i(e,t,n,w.prev,R,j),u&&j.reach>u.reach&&(u.reach=j.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function l(e,t,n){for(var r=t.next,o=0;o Your Docusaurus site did not load properly. A very common reason is a wrong site baseUrl configuration. Current configured baseUrl = ${e} ${"/"===e?" (default value)":""} We suggest trying baseUrl = u.reach&&(u.reach=N);var L=w.prev;if(F&&(L=c(t,L,F),R+=F.length),l(t,L,E),w=c(t,L,new o(f,b?r.tokenize(D,b):D,v,D)),I&&c(t,w,I),E>1){var j={cause:f+","+h,reach:N};i(e,t,n,w.prev,R,j),u&&j.reach>u.reach&&(u.reach=j.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function l(e,t,n){for(var r=t.next,o=0;o/g,(function(){return n})).replace(/*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(//g,(function(){return n})).replace(/*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/