Prism
GuideCookbookExamplesErrorsSupportPlayground

Guide

01Lessons & Slides02Exercises03Scene & State04Objects05Annotations06Three dimensions07Circuits08Magnetic fields09Atoms and the periodic table10Organic chemistry11Controls12Timeline13Loops & Logic14Expressions & Math15Videos

Guide · 15 of 15

Videos

A video file is a talk over a board, played in the video studio (/admin/studio/video) one Space press at a time. It lives in content/videos/<slug>.prism. Words pop in with no fade, a scene keeps moving on a real clock while you talk, and nothing on the board is a lesson widget. The electron gas and its cut also work in any lesson scene.

video#

The whole video. The slug must match the file name. lesson: names the lesson the video sends people to.

video "" { title: "", lang: ar | en, subject: math | physics, [lesson: ""], shot ... }

shot#

One continuous picture over one or more screens. Its scene keeps its state from screen to screen, so a wire set moving on screen 5 is still moving on screen 8. A shot with no scene is words only. enter: zoom (x, y) pushes the camera into the point (x, y) of the shot before (in that scene's coordinates) and lands on this one.

shot ""</span> <span class="tok-punc">{</span> <span class="tok-punc">[</span><span class="tok-kw">id</span>: <span class="tok-str">"<id>"</span><span class="tok-punc">]</span><span class="tok-punc">,</span> <span class="tok-punc">[</span><span class="tok-id">enter</span>: <span class="tok-id">zoom</span> <span class="tok-punc">(</span><span class="tok-id">x</span><span class="tok-punc">,</span> <span class="tok-id">y</span><span class="tok-punc">)</span><span class="tok-punc">]</span><span class="tok-punc">,</span> <span class="tok-punc">[</span><span class="tok-kw">scene</span> <span class="tok-op"><</span><span class="tok-id">type</span><span class="tok-op">></span> <span class="tok-punc">{</span> ... <span class="tok-punc">}</span><span class="tok-punc">]</span><span class="tok-punc">,</span> <span class="tok-kw">screen</span> ... <span class="tok-punc">}</span></pre></div><div id="entry-screen" class="prism-entry"><h3 class="entry-keyword">screen<a href="#entry-screen" class="entry-anchor" aria-label="Link to screen">#</a></h3><p class="entry-description">What is on the board between two cuts. Every line inside is one Space press, in order: <code class="inline-code">></code> words, <code class="inline-code">>></code> big words, <code class="inline-code">set</code>, <code class="inline-code">animate</code> and <code class="inline-code">pause</code>. Words leave when their screen ends. <code class="inline-code">say:</code> is a note for the speaker, shown only in the studio panel. A line split with <code class="inline-code"> | </code> (outside <code class="inline-code">$...$</code>) is one press per part, laid out up front so nothing jumps; a line made only of math builds left to right.</p><pre class="prism-pre syntax "><span class="tok-kw">screen</span> <span class="tok-str">"<title>"</span> <span class="tok-punc">{</span> <span class="tok-punc">[</span><span class="tok-id">say</span>: <span class="tok-str">"<note>"</span><span class="tok-punc">]</span><span class="tok-punc">,</span> <span class="tok-op"><</span><span class="tok-id">press</span><span class="tok-op">></span> ... <span class="tok-punc">}</span></pre></div><div id="entry-set" class="prism-entry"><h3 class="entry-keyword">set<a href="#entry-set" class="entry-anchor" aria-label="Link to set">#</a></h3><p class="entry-description">Changes the shot's scene state on a press, at once. The names must be declared in that scene.</p><pre class="prism-pre syntax "><span class="tok-kw">set</span> <span class="tok-punc">{</span> <span class="tok-op"><</span><span class="tok-kw">name</span><span class="tok-op">></span>: <span class="tok-op"><</span><span class="tok-id">value</span><span class="tok-op">></span><span class="tok-punc">,</span> ... <span class="tok-punc">}</span></pre></div><div id="entry-animate" class="prism-entry"><h3 class="entry-keyword">animate<a href="#entry-animate" class="entry-anchor" aria-label="Link to animate">#</a></h3><p class="entry-description">Tweens number state on a press. <code class="inline-code">dur</code> defaults to 1000 ms, <code class="inline-code">ease</code> to <code class="inline-code">easeInOut</code>.</p><pre class="prism-pre syntax "><span class="tok-kw">animate</span> <span class="tok-punc">{</span> <span class="tok-op"><</span><span class="tok-kw">name</span><span class="tok-op">></span>: <span class="tok-op"><</span><span class="tok-id">number</span><span class="tok-op">></span><span class="tok-punc">,</span> ... <span class="tok-punc">}</span> <span class="tok-punc">{</span> <span class="tok-punc">[</span><span class="tok-kw">dur</span>: <span class="tok-op"><</span><span class="tok-id">ms</span><span class="tok-op">></span><span class="tok-punc">]</span><span class="tok-punc">,</span> <span class="tok-punc">[</span><span class="tok-kw">ease</span>: <span class="tok-id">linear</span> | <span class="tok-id">easeIn</span> | <span class="tok-id">easeOut</span> | <span class="tok-id">easeInOut</span><span class="tok-punc">]</span> <span class="tok-punc">}</span></pre></div><div id="entry-pause" class="prism-entry"><h3 class="entry-keyword">pause<a href="#entry-pause" class="entry-anchor" aria-label="Link to pause">#</a></h3><p class="entry-description">The "your turn" timer: a pie that runs down over that many seconds while you stay quiet. It goes away on the next press.</p><pre class="prism-pre syntax "><span class="tok-kw">pause</span> <span class="tok-op"><</span><span class="tok-id">seconds</span><span class="tok-op">></span></pre></div><div id="entry-gas" class="prism-entry"><h3 class="entry-keyword">gas<a href="#entry-gas" class="entry-anchor" aria-label="Link to gas">#</a></h3><p class="entry-description">Free electrons in a conductor, each on its own random walk that never stops: a straight wire between two corners, or a closed loop of wire through the points. <code class="inline-code">run:</code> starts them moving (they sit still until then), <code class="inline-code">drift:</code> fades in a push towards the second end (round the loop in the order of its points), <code class="inline-code">electrons:</code> shows them, <code class="inline-code">mark:</code> tints one. Positions come from a seed, so the same seed moves the same way every time. On a loop, <code class="inline-code">gap:</code> names a segment (from point i to point i+1) that <code class="inline-code">open:</code> breaks, like an open switch.</p><pre class="prism-pre syntax "><span class="tok-kw">gas</span> <span class="tok-op"><</span><span class="tok-kw">id</span><span class="tok-op">></span> <span class="tok-op">=</span> <span class="tok-punc">(</span><span class="tok-id">x1</span><span class="tok-punc">,</span> <span class="tok-id">y1</span><span class="tok-punc">)</span> <span class="tok-op">-</span><span class="tok-op">></span> <span class="tok-punc">(</span><span class="tok-id">x2</span><span class="tok-punc">,</span> <span class="tok-id">y2</span><span class="tok-punc">)</span> <span class="tok-punc">{</span> <span class="tok-punc">[</span><span class="tok-id">props</span><span class="tok-punc">]</span> <span class="tok-punc">}</span>  <span class="tok-id">OR</span>  <span class="tok-kw">gas</span> <span class="tok-op"><</span><span class="tok-kw">id</span><span class="tok-op">></span> <span class="tok-id">along</span> <span class="tok-punc">[</span><span class="tok-punc">(</span><span class="tok-id">x</span><span class="tok-punc">,</span> <span class="tok-id">y</span><span class="tok-punc">)</span><span class="tok-punc">,</span> ...<span class="tok-punc">]</span> <span class="tok-punc">{</span> <span class="tok-kw">width</span>: <span class="tok-op"><</span><span class="tok-id">number</span><span class="tok-op">></span><span class="tok-punc">,</span> <span class="tok-punc">[</span><span class="tok-id">props</span><span class="tok-punc">]</span> <span class="tok-punc">}</span></pre><div class="prop-table-wrap"><table class="prop-table"><thead><tr><th>prop</th><th>type</th><th>description</th></tr></thead><tbody><tr><td><span class="prop-name">run</span></td><td><span class="prop-type">bool</span></td><td>moving (default still)</td></tr><tr><td><span class="prop-name">drift</span></td><td><span class="prop-type">bool</span></td><td>the push is on</td></tr><tr><td><span class="prop-name">push</span></td><td><span class="prop-type">number</span></td><td>drift as a share of the random speed, default 0.2</td></tr><tr><td><span class="prop-name">electrons</span></td><td><span class="prop-type">bool</span></td><td>show the electrons (default true)</td></tr><tr><td><span class="prop-name">mark</span></td><td><span class="prop-type">bool</span></td><td>tint one electron</td></tr><tr><td><span class="prop-name">count</span></td><td><span class="prop-type">number</span></td><td>how many, default 50</td></tr><tr><td><span class="prop-name">seed</span></td><td><span class="prop-type">string</span></td><td>default the id</td></tr><tr><td><span class="prop-name">speed</span></td><td><span class="prop-type">number</span></td><td>random speed, scene units a second</td></tr><tr><td><span class="prop-name">free</span></td><td><span class="prop-type">number</span></td><td>mean time between collisions, default 0.35 s</td></tr><tr><td><span class="prop-name">r</span></td><td><span class="prop-type">number</span></td><td>electron radius in pixels</td></tr><tr><td><span class="prop-name">lattice</span></td><td><span class="prop-type">number</span></td><td>spacing of the copper ions, 0 for none</td></tr><tr><td><span class="prop-name">width</span></td><td><span class="prop-type">number</span></td><td>a loop only: how thick the wire is</td></tr><tr><td><span class="prop-name">gap</span></td><td><span class="prop-type">number</span></td><td>a loop only: the segment a switch breaks</td></tr><tr><td><span class="prop-name">open</span></td><td><span class="prop-type">bool</span></td><td>a loop only: the gap is open</td></tr></tbody></table></div><div class="entry-example"><p class="entry-example-label">Example</p><div class="code-preview"><div class="code-preview-tabs"><button class="code-preview-tab active">Code</button><button class="code-preview-tab ">Preview ↗</button></div><div class="code-preview-pane active"><textarea class="live-snippet-editor" spellCheck="false">scene plane {
  x: [-16, 16]
  y: [-9, 9]
  axes: false
  bool moving = true
  bool battery = false
  gas e = (-50/3, 2.5) -> (50/3, -2.5) { run: moving, drift: battery }
  cut c on e at 0 { count: moving }
  toggle battery { label: "battery" }
}</textarea></div><div class="code-preview-pane "><div class="code-preview-scene"><div class="mini-player"><div class="flex flex-col gap-[26px]" data-role-scope="true"><div dir="ltr"><figure class="overflow-hidden rounded-xl border border-neutral-200 bg-paper"><div class="[--color-card:var(--color-paper)]"><div class="w-full"><svg viewBox="0 0 640 384" class="w-full select-none [&_[role=application]:focus-visible]:outline-2 [&_[role=application]:focus-visible]:outline-offset-[-3px] [&_[role=application]:focus-visible]:outline-primary-500" style="touch-action:none"><defs><marker id="mathly-axis-arrow" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><polygon points="2,2 10,6 2,10" fill="var(--color-neutral-400)"></polygon></marker></defs><g class="scene-obj" data-obj="e"><g data-gas="e"><rect x="3.333" y="143.111" width="633.3340000000001" height="97.77800000000002" fill="var(--color-card)"></rect><g stroke="var(--color-neutral-300)" stroke-width="2"><line x1="3.333" x2="636.667" y1="144.111" y2="144.111"></line><line x1="3.333" x2="636.667" y1="239.889" y2="239.889"></line></g><g fill="var(--color-neutral-300)"><circle cx="12.833" cy="152.8888" r="3.5"></circle><circle cx="31.833" cy="152.8888" r="3.5"></circle><circle cx="50.833" cy="152.8888" r="3.5"></circle><circle cx="69.833" cy="152.8888" r="3.5"></circle><circle cx="88.833" cy="152.8888" r="3.5"></circle><circle cx="107.833" cy="152.8888" r="3.5"></circle><circle cx="126.833" cy="152.8888" r="3.5"></circle><circle cx="145.833" cy="152.8888" r="3.5"></circle><circle cx="164.833" cy="152.8888" r="3.5"></circle><circle cx="183.833" cy="152.8888" r="3.5"></circle><circle cx="202.833" cy="152.8888" r="3.5"></circle><circle cx="221.833" cy="152.8888" r="3.5"></circle><circle cx="240.833" cy="152.8888" r="3.5"></circle><circle cx="259.833" cy="152.8888" r="3.5"></circle><circle cx="278.833" cy="152.8888" r="3.5"></circle><circle cx="297.833" cy="152.8888" r="3.5"></circle><circle cx="316.833" cy="152.8888" r="3.5"></circle><circle cx="335.833" cy="152.8888" r="3.5"></circle><circle cx="354.833" cy="152.8888" r="3.5"></circle><circle cx="373.833" cy="152.8888" r="3.5"></circle><circle cx="392.833" cy="152.8888" r="3.5"></circle><circle cx="411.833" cy="152.8888" r="3.5"></circle><circle cx="430.833" cy="152.8888" r="3.5"></circle><circle cx="449.833" cy="152.8888" r="3.5"></circle><circle cx="468.833" cy="152.8888" r="3.5"></circle><circle cx="487.833" cy="152.8888" r="3.5"></circle><circle cx="506.833" cy="152.8888" r="3.5"></circle><circle cx="525.833" cy="152.8888" r="3.5"></circle><circle cx="544.833" cy="152.8888" r="3.5"></circle><circle cx="563.833" cy="152.8888" r="3.5"></circle><circle cx="582.833" cy="152.8888" r="3.5"></circle><circle cx="601.833" cy="152.8888" r="3.5"></circle><circle cx="620.833" cy="152.8888" r="3.5"></circle><circle cx="639.833" cy="152.8888" r="3.5"></circle><circle cx="12.833" cy="172.4444" r="3.5"></circle><circle cx="31.833" cy="172.4444" r="3.5"></circle><circle cx="50.833" cy="172.4444" r="3.5"></circle><circle cx="69.833" cy="172.4444" r="3.5"></circle><circle cx="88.833" cy="172.4444" r="3.5"></circle><circle cx="107.833" cy="172.4444" r="3.5"></circle><circle cx="126.833" cy="172.4444" r="3.5"></circle><circle cx="145.833" cy="172.4444" r="3.5"></circle><circle cx="164.833" cy="172.4444" r="3.5"></circle><circle cx="183.833" cy="172.4444" r="3.5"></circle><circle cx="202.833" cy="172.4444" r="3.5"></circle><circle cx="221.833" cy="172.4444" r="3.5"></circle><circle cx="240.833" cy="172.4444" r="3.5"></circle><circle cx="259.833" cy="172.4444" r="3.5"></circle><circle cx="278.833" cy="172.4444" r="3.5"></circle><circle cx="297.833" cy="172.4444" r="3.5"></circle><circle cx="316.833" cy="172.4444" r="3.5"></circle><circle cx="335.833" cy="172.4444" r="3.5"></circle><circle cx="354.833" cy="172.4444" r="3.5"></circle><circle cx="373.833" cy="172.4444" r="3.5"></circle><circle cx="392.833" cy="172.4444" r="3.5"></circle><circle cx="411.833" cy="172.4444" r="3.5"></circle><circle cx="430.833" cy="172.4444" r="3.5"></circle><circle cx="449.833" cy="172.4444" r="3.5"></circle><circle cx="468.833" cy="172.4444" r="3.5"></circle><circle cx="487.833" cy="172.4444" r="3.5"></circle><circle cx="506.833" cy="172.4444" r="3.5"></circle><circle cx="525.833" cy="172.4444" r="3.5"></circle><circle cx="544.833" cy="172.4444" r="3.5"></circle><circle cx="563.833" cy="172.4444" r="3.5"></circle><circle cx="582.833" cy="172.4444" r="3.5"></circle><circle cx="601.833" cy="172.4444" r="3.5"></circle><circle cx="620.833" cy="172.4444" r="3.5"></circle><circle cx="639.833" cy="172.4444" r="3.5"></circle><circle cx="12.833" cy="192" r="3.5"></circle><circle cx="31.833" cy="192" r="3.5"></circle><circle cx="50.833" cy="192" r="3.5"></circle><circle cx="69.833" cy="192" r="3.5"></circle><circle cx="88.833" cy="192" r="3.5"></circle><circle cx="107.833" cy="192" r="3.5"></circle><circle cx="126.833" cy="192" r="3.5"></circle><circle cx="145.833" cy="192" r="3.5"></circle><circle cx="164.833" cy="192" r="3.5"></circle><circle cx="183.833" cy="192" r="3.5"></circle><circle cx="202.833" cy="192" r="3.5"></circle><circle cx="221.833" cy="192" r="3.5"></circle><circle cx="240.833" cy="192" r="3.5"></circle><circle cx="259.833" cy="192" r="3.5"></circle><circle cx="278.833" cy="192" r="3.5"></circle><circle cx="297.833" cy="192" r="3.5"></circle><circle cx="316.833" cy="192" r="3.5"></circle><circle cx="335.833" cy="192" r="3.5"></circle><circle cx="354.833" cy="192" r="3.5"></circle><circle cx="373.833" cy="192" r="3.5"></circle><circle cx="392.833" cy="192" r="3.5"></circle><circle cx="411.833" cy="192" r="3.5"></circle><circle cx="430.833" cy="192" r="3.5"></circle><circle cx="449.833" cy="192" r="3.5"></circle><circle cx="468.833" cy="192" r="3.5"></circle><circle cx="487.833" cy="192" r="3.5"></circle><circle cx="506.833" cy="192" r="3.5"></circle><circle cx="525.833" cy="192" r="3.5"></circle><circle cx="544.833" cy="192" r="3.5"></circle><circle cx="563.833" cy="192" r="3.5"></circle><circle cx="582.833" cy="192" r="3.5"></circle><circle cx="601.833" cy="192" r="3.5"></circle><circle cx="620.833" cy="192" r="3.5"></circle><circle cx="639.833" cy="192" r="3.5"></circle><circle cx="12.833" cy="211.55560000000003" r="3.5"></circle><circle cx="31.833" cy="211.55560000000003" r="3.5"></circle><circle cx="50.833" cy="211.55560000000003" r="3.5"></circle><circle cx="69.833" cy="211.55560000000003" r="3.5"></circle><circle cx="88.833" cy="211.55560000000003" r="3.5"></circle><circle cx="107.833" cy="211.55560000000003" r="3.5"></circle><circle cx="126.833" cy="211.55560000000003" r="3.5"></circle><circle cx="145.833" cy="211.55560000000003" r="3.5"></circle><circle cx="164.833" cy="211.55560000000003" r="3.5"></circle><circle cx="183.833" cy="211.55560000000003" r="3.5"></circle><circle cx="202.833" cy="211.55560000000003" r="3.5"></circle><circle cx="221.833" cy="211.55560000000003" r="3.5"></circle><circle cx="240.833" cy="211.55560000000003" r="3.5"></circle><circle cx="259.833" cy="211.55560000000003" r="3.5"></circle><circle cx="278.833" cy="211.55560000000003" r="3.5"></circle><circle cx="297.833" cy="211.55560000000003" r="3.5"></circle><circle cx="316.833" cy="211.55560000000003" r="3.5"></circle><circle cx="335.833" cy="211.55560000000003" r="3.5"></circle><circle cx="354.833" cy="211.55560000000003" r="3.5"></circle><circle cx="373.833" cy="211.55560000000003" r="3.5"></circle><circle cx="392.833" cy="211.55560000000003" r="3.5"></circle><circle cx="411.833" cy="211.55560000000003" r="3.5"></circle><circle cx="430.833" cy="211.55560000000003" r="3.5"></circle><circle cx="449.833" cy="211.55560000000003" r="3.5"></circle><circle cx="468.833" cy="211.55560000000003" r="3.5"></circle><circle cx="487.833" cy="211.55560000000003" r="3.5"></circle><circle cx="506.833" cy="211.55560000000003" r="3.5"></circle><circle cx="525.833" cy="211.55560000000003" r="3.5"></circle><circle cx="544.833" cy="211.55560000000003" r="3.5"></circle><circle cx="563.833" cy="211.55560000000003" r="3.5"></circle><circle cx="582.833" cy="211.55560000000003" r="3.5"></circle><circle cx="601.833" cy="211.55560000000003" r="3.5"></circle><circle cx="620.833" cy="211.55560000000003" r="3.5"></circle><circle cx="639.833" cy="211.55560000000003" r="3.5"></circle><circle cx="12.833" cy="231.1112" r="3.5"></circle><circle cx="31.833" cy="231.1112" r="3.5"></circle><circle cx="50.833" cy="231.1112" r="3.5"></circle><circle cx="69.833" cy="231.1112" r="3.5"></circle><circle cx="88.833" cy="231.1112" r="3.5"></circle><circle cx="107.833" cy="231.1112" r="3.5"></circle><circle cx="126.833" cy="231.1112" r="3.5"></circle><circle cx="145.833" cy="231.1112" r="3.5"></circle><circle cx="164.833" cy="231.1112" r="3.5"></circle><circle cx="183.833" cy="231.1112" r="3.5"></circle><circle cx="202.833" cy="231.1112" r="3.5"></circle><circle cx="221.833" cy="231.1112" r="3.5"></circle><circle cx="240.833" cy="231.1112" r="3.5"></circle><circle cx="259.833" cy="231.1112" r="3.5"></circle><circle cx="278.833" cy="231.1112" r="3.5"></circle><circle cx="297.833" cy="231.1112" r="3.5"></circle><circle cx="316.833" cy="231.1112" r="3.5"></circle><circle cx="335.833" cy="231.1112" r="3.5"></circle><circle cx="354.833" cy="231.1112" r="3.5"></circle><circle cx="373.833" cy="231.1112" r="3.5"></circle><circle cx="392.833" cy="231.1112" r="3.5"></circle><circle cx="411.833" cy="231.1112" r="3.5"></circle><circle cx="430.833" cy="231.1112" r="3.5"></circle><circle cx="449.833" cy="231.1112" r="3.5"></circle><circle cx="468.833" cy="231.1112" r="3.5"></circle><circle cx="487.833" cy="231.1112" r="3.5"></circle><circle cx="506.833" cy="231.1112" r="3.5"></circle><circle cx="525.833" cy="231.1112" r="3.5"></circle><circle cx="544.833" cy="231.1112" r="3.5"></circle><circle cx="563.833" cy="231.1112" r="3.5"></circle><circle cx="582.833" cy="231.1112" r="3.5"></circle><circle cx="601.833" cy="231.1112" r="3.5"></circle><circle cx="620.833" cy="231.1112" r="3.5"></circle><circle cx="639.833" cy="231.1112" r="3.5"></circle></g><g><circle cx="62.76" cy="158.12" r="10" fill="var(--scene-charge)"></circle><circle cx="583.91" cy="181.49" r="10" fill="var(--scene-charge)"></circle><circle cx="66.22" cy="166.01" r="10" fill="var(--scene-charge)"></circle><circle cx="580.45" cy="191.13" r="10" fill="var(--scene-charge)"></circle><circle cx="103.16" cy="169.97" r="10" fill="var(--scene-charge)"></circle><circle cx="528.13" cy="183.89" r="10" fill="var(--scene-charge)"></circle><circle cx="85.77" cy="221.93" r="10" fill="var(--scene-charge)"></circle><circle cx="569.25" cy="231.29" r="10" fill="var(--scene-charge)"></circle><circle cx="118.22" cy="203.36" r="10" fill="var(--scene-charge)"></circle><circle cx="524.95" cy="202.03" r="10" fill="var(--scene-charge)"></circle><circle cx="195.49" cy="149.45" r="10" fill="var(--scene-charge)"></circle><circle cx="457.57" cy="198.44" r="10" fill="var(--scene-charge)"></circle><circle cx="189.75" cy="171.17" r="10" fill="var(--scene-charge)"></circle><circle cx="444.60" cy="187.00" r="10" fill="var(--scene-charge)"></circle><circle cx="195.37" cy="207.04" r="10" fill="var(--scene-charge)"></circle><circle cx="449.78" cy="210.69" r="10" fill="var(--scene-charge)"></circle><circle cx="129.81" cy="188.59" r="10" fill="var(--scene-charge)"></circle><circle cx="500.14" cy="161.62" r="10" fill="var(--scene-charge)"></circle><circle cx="276.66" cy="159.95" r="10" fill="var(--scene-charge)"></circle><circle cx="364.82" cy="196.20" r="10" fill="var(--scene-charge)"></circle><circle cx="199.41" cy="217.76" r="10" fill="var(--scene-charge)"></circle><circle cx="440.32" cy="165.02" r="10" fill="var(--scene-charge)"></circle><circle cx="297.01" cy="203.83" r="10" fill="var(--scene-charge)"></circle><circle cx="337.30" cy="193.89" r="10" fill="var(--scene-charge)"></circle><circle cx="346.77" cy="149.23" r="10" fill="var(--scene-charge)"></circle><circle cx="287.08" cy="209.44" r="10" fill="var(--scene-charge)"></circle><circle cx="327.12" cy="217.76" r="10" fill="var(--scene-charge)"></circle><circle cx="300.79" cy="208.80" r="10" fill="var(--scene-charge)"></circle><circle cx="374.71" cy="152.67" r="10" fill="var(--scene-charge)"></circle><circle cx="258.40" cy="185.02" r="10" fill="var(--scene-charge)"></circle><circle cx="365.12" cy="180.30" r="10" fill="var(--scene-charge)"></circle><circle cx="271.62" cy="164.79" r="10" fill="var(--scene-charge)"></circle><circle cx="366.33" cy="183.51" r="10" fill="var(--scene-charge)"></circle><circle cx="260.26" cy="181.68" r="10" fill="var(--scene-charge)"></circle><circle cx="445.52" cy="232.09" r="10" fill="var(--scene-charge)"></circle><circle cx="180.41" cy="221.95" r="10" fill="var(--scene-charge)"></circle><circle cx="398.11" cy="194.28" r="10" fill="var(--scene-charge)"></circle><circle cx="233.83" cy="193.11" r="10" fill="var(--scene-charge)"></circle><circle cx="529.98" cy="154.99" r="10" fill="var(--scene-charge)"></circle><circle cx="124.30" cy="167.13" r="10" fill="var(--scene-charge)"></circle><circle cx="466.96" cy="200.27" r="10" fill="var(--scene-charge)"></circle><circle cx="173.71" cy="204.75" r="10" fill="var(--scene-charge)"></circle><circle cx="554.86" cy="167.07" r="10" fill="var(--scene-charge)"></circle><circle cx="97.87" cy="172.70" r="10" fill="var(--scene-charge)"></circle><circle cx="596.58" cy="150.85" r="10" fill="var(--scene-charge)"></circle><circle cx="35.69" cy="220.20" r="10" fill="var(--scene-charge)"></circle><circle cx="592.11" cy="204.70" r="10" fill="var(--scene-charge)"></circle><circle cx="52.75" cy="215.85" r="10" fill="var(--scene-charge)"></circle><circle cx="602.49" cy="185.89" r="10" fill="var(--scene-charge)"></circle><circle cx="39.62" cy="215.57" r="10" fill="var(--scene-charge)"></circle></g><g data-cut="c"><line x1="320" x2="320" y1="107.11099999999999" y2="276.889" stroke="var(--color-neutral-700)" stroke-width="3" stroke-dasharray="14 12"></line><g class="font-mono" font-size="48.88900000000001" font-weight="500" fill="var(--color-neutral-900)"><text x="320" y="277.36019400000004" text-anchor="middle" dominant-baseline="central">0</text></g></g></g></g></svg></div></div><div class="flex flex-wrap gap-2 border-t border-neutral-200 p-2.5"><button type="button" role="switch" aria-checked="false" aria-label="battery" class="flex min-h-[52px] flex-[1_1_15rem] items-center gap-3 rounded-xl border border-neutral-200 bg-card px-4 py-1.5 text-start focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500"><span class="whitespace-nowrap font-serif text-xl text-neutral-800 flex-1">battery</span><span class="relative h-[26px] w-11 shrink-0 rounded-full transition-colors bg-neutral-300"><span class="absolute left-[3px] top-[3px] h-5 w-5 rounded-full bg-white transition-transform "></span></span></button></div></figure></div></div></div></div></div></div></div></div><div id="entry-cut" class="prism-entry"><h3 class="entry-keyword">cut<a href="#entry-cut" class="entry-anchor" aria-label="Link to cut">#</a></h3><p class="entry-description">A dashed cut across a straight gas with a counter under it: every electron that crosses to the right adds one, every one that crosses back takes one away, so it counts the net. The count starts when <code class="inline-code">count:</code> turns true. With nothing pushing, the count stays within a few of zero (each electron has a partner that crosses back a moment after it), and with <code class="inline-code">drift:</code> on it climbs.</p><pre class="prism-pre syntax "><span class="tok-kw">cut</span> <span class="tok-op"><</span><span class="tok-kw">id</span><span class="tok-op">></span> <span class="tok-id">on</span> <span class="tok-op"><</span><span class="tok-kw">gas</span><span class="tok-op">></span> <span class="tok-kw">at</span> <span class="tok-op"><</span><span class="tok-id">x</span><span class="tok-op">></span> <span class="tok-punc">{</span> <span class="tok-punc">[</span><span class="tok-kw">show</span>: <span class="tok-op"><</span><span class="tok-kw">bool</span><span class="tok-op">></span><span class="tok-punc">]</span><span class="tok-punc">,</span> <span class="tok-punc">[</span><span class="tok-kw">count</span>: <span class="tok-op"><</span><span class="tok-kw">bool</span><span class="tok-op">></span><span class="tok-punc">]</span> <span class="tok-punc">}</span></pre><div class="entry-example"><p class="entry-example-label">Example</p><div class="code-preview"><div class="code-preview-tabs"><button class="code-preview-tab active">Code</button><button class="code-preview-tab ">Preview ↗</button></div><div class="code-preview-pane active"><textarea class="live-snippet-editor" spellCheck="false">scene plane {
  x: [-16, 16]
  y: [-9, 9]
  axes: false
  bool moving = true
  bool battery = false
  gas e = (-50/3, 2.5) -> (50/3, -2.5) { run: moving, drift: battery }
  cut c on e at 0 { count: moving }
  toggle battery { label: "battery" }
}</textarea></div><div class="code-preview-pane "><div class="code-preview-scene"><div class="mini-player"><div class="flex flex-col gap-[26px]" data-role-scope="true"><div dir="ltr"><figure class="overflow-hidden rounded-xl border border-neutral-200 bg-paper"><div class="[--color-card:var(--color-paper)]"><div class="w-full"><svg viewBox="0 0 640 384" class="w-full select-none [&_[role=application]:focus-visible]:outline-2 [&_[role=application]:focus-visible]:outline-offset-[-3px] [&_[role=application]:focus-visible]:outline-primary-500" style="touch-action:none"><defs><marker id="mathly-axis-arrow" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><polygon points="2,2 10,6 2,10" fill="var(--color-neutral-400)"></polygon></marker></defs><g class="scene-obj" data-obj="e"><g data-gas="e"><rect x="3.333" y="143.111" width="633.3340000000001" height="97.77800000000002" fill="var(--color-card)"></rect><g stroke="var(--color-neutral-300)" stroke-width="2"><line x1="3.333" x2="636.667" y1="144.111" y2="144.111"></line><line x1="3.333" x2="636.667" y1="239.889" y2="239.889"></line></g><g fill="var(--color-neutral-300)"><circle cx="12.833" cy="152.8888" r="3.5"></circle><circle cx="31.833" cy="152.8888" r="3.5"></circle><circle cx="50.833" cy="152.8888" r="3.5"></circle><circle cx="69.833" cy="152.8888" r="3.5"></circle><circle cx="88.833" cy="152.8888" r="3.5"></circle><circle cx="107.833" cy="152.8888" r="3.5"></circle><circle cx="126.833" cy="152.8888" r="3.5"></circle><circle cx="145.833" cy="152.8888" r="3.5"></circle><circle cx="164.833" cy="152.8888" r="3.5"></circle><circle cx="183.833" cy="152.8888" r="3.5"></circle><circle cx="202.833" cy="152.8888" r="3.5"></circle><circle cx="221.833" cy="152.8888" r="3.5"></circle><circle cx="240.833" cy="152.8888" r="3.5"></circle><circle cx="259.833" cy="152.8888" r="3.5"></circle><circle cx="278.833" cy="152.8888" r="3.5"></circle><circle cx="297.833" cy="152.8888" r="3.5"></circle><circle cx="316.833" cy="152.8888" r="3.5"></circle><circle cx="335.833" cy="152.8888" r="3.5"></circle><circle cx="354.833" cy="152.8888" r="3.5"></circle><circle cx="373.833" cy="152.8888" r="3.5"></circle><circle cx="392.833" cy="152.8888" r="3.5"></circle><circle cx="411.833" cy="152.8888" r="3.5"></circle><circle cx="430.833" cy="152.8888" r="3.5"></circle><circle cx="449.833" cy="152.8888" r="3.5"></circle><circle cx="468.833" cy="152.8888" r="3.5"></circle><circle cx="487.833" cy="152.8888" r="3.5"></circle><circle cx="506.833" cy="152.8888" r="3.5"></circle><circle cx="525.833" cy="152.8888" r="3.5"></circle><circle cx="544.833" cy="152.8888" r="3.5"></circle><circle cx="563.833" cy="152.8888" r="3.5"></circle><circle cx="582.833" cy="152.8888" r="3.5"></circle><circle cx="601.833" cy="152.8888" r="3.5"></circle><circle cx="620.833" cy="152.8888" r="3.5"></circle><circle cx="639.833" cy="152.8888" r="3.5"></circle><circle cx="12.833" cy="172.4444" r="3.5"></circle><circle cx="31.833" cy="172.4444" r="3.5"></circle><circle cx="50.833" cy="172.4444" r="3.5"></circle><circle cx="69.833" cy="172.4444" r="3.5"></circle><circle cx="88.833" cy="172.4444" r="3.5"></circle><circle cx="107.833" cy="172.4444" r="3.5"></circle><circle cx="126.833" cy="172.4444" r="3.5"></circle><circle cx="145.833" cy="172.4444" r="3.5"></circle><circle cx="164.833" cy="172.4444" r="3.5"></circle><circle cx="183.833" cy="172.4444" r="3.5"></circle><circle cx="202.833" cy="172.4444" r="3.5"></circle><circle cx="221.833" cy="172.4444" r="3.5"></circle><circle cx="240.833" cy="172.4444" r="3.5"></circle><circle cx="259.833" cy="172.4444" r="3.5"></circle><circle cx="278.833" cy="172.4444" r="3.5"></circle><circle cx="297.833" cy="172.4444" r="3.5"></circle><circle cx="316.833" cy="172.4444" r="3.5"></circle><circle cx="335.833" cy="172.4444" r="3.5"></circle><circle cx="354.833" cy="172.4444" r="3.5"></circle><circle cx="373.833" cy="172.4444" r="3.5"></circle><circle cx="392.833" cy="172.4444" r="3.5"></circle><circle cx="411.833" cy="172.4444" r="3.5"></circle><circle cx="430.833" cy="172.4444" r="3.5"></circle><circle cx="449.833" cy="172.4444" r="3.5"></circle><circle cx="468.833" cy="172.4444" r="3.5"></circle><circle cx="487.833" cy="172.4444" r="3.5"></circle><circle cx="506.833" cy="172.4444" r="3.5"></circle><circle cx="525.833" cy="172.4444" r="3.5"></circle><circle cx="544.833" cy="172.4444" r="3.5"></circle><circle cx="563.833" cy="172.4444" r="3.5"></circle><circle cx="582.833" cy="172.4444" r="3.5"></circle><circle cx="601.833" cy="172.4444" r="3.5"></circle><circle cx="620.833" cy="172.4444" r="3.5"></circle><circle cx="639.833" cy="172.4444" r="3.5"></circle><circle cx="12.833" cy="192" r="3.5"></circle><circle cx="31.833" cy="192" r="3.5"></circle><circle cx="50.833" cy="192" r="3.5"></circle><circle cx="69.833" cy="192" r="3.5"></circle><circle cx="88.833" cy="192" r="3.5"></circle><circle cx="107.833" cy="192" r="3.5"></circle><circle cx="126.833" cy="192" r="3.5"></circle><circle cx="145.833" cy="192" r="3.5"></circle><circle cx="164.833" cy="192" r="3.5"></circle><circle cx="183.833" cy="192" r="3.5"></circle><circle cx="202.833" cy="192" r="3.5"></circle><circle cx="221.833" cy="192" r="3.5"></circle><circle cx="240.833" cy="192" r="3.5"></circle><circle cx="259.833" cy="192" r="3.5"></circle><circle cx="278.833" cy="192" r="3.5"></circle><circle cx="297.833" cy="192" r="3.5"></circle><circle cx="316.833" cy="192" r="3.5"></circle><circle cx="335.833" cy="192" r="3.5"></circle><circle cx="354.833" cy="192" r="3.5"></circle><circle cx="373.833" cy="192" r="3.5"></circle><circle cx="392.833" cy="192" r="3.5"></circle><circle cx="411.833" cy="192" r="3.5"></circle><circle cx="430.833" cy="192" r="3.5"></circle><circle cx="449.833" cy="192" r="3.5"></circle><circle cx="468.833" cy="192" r="3.5"></circle><circle cx="487.833" cy="192" r="3.5"></circle><circle cx="506.833" cy="192" r="3.5"></circle><circle cx="525.833" cy="192" r="3.5"></circle><circle cx="544.833" cy="192" r="3.5"></circle><circle cx="563.833" cy="192" r="3.5"></circle><circle cx="582.833" cy="192" r="3.5"></circle><circle cx="601.833" cy="192" r="3.5"></circle><circle cx="620.833" cy="192" r="3.5"></circle><circle cx="639.833" cy="192" r="3.5"></circle><circle cx="12.833" cy="211.55560000000003" r="3.5"></circle><circle cx="31.833" cy="211.55560000000003" r="3.5"></circle><circle cx="50.833" cy="211.55560000000003" r="3.5"></circle><circle cx="69.833" cy="211.55560000000003" r="3.5"></circle><circle cx="88.833" cy="211.55560000000003" r="3.5"></circle><circle cx="107.833" cy="211.55560000000003" r="3.5"></circle><circle cx="126.833" cy="211.55560000000003" r="3.5"></circle><circle cx="145.833" cy="211.55560000000003" r="3.5"></circle><circle cx="164.833" cy="211.55560000000003" r="3.5"></circle><circle cx="183.833" cy="211.55560000000003" r="3.5"></circle><circle cx="202.833" cy="211.55560000000003" r="3.5"></circle><circle cx="221.833" cy="211.55560000000003" r="3.5"></circle><circle cx="240.833" cy="211.55560000000003" r="3.5"></circle><circle cx="259.833" cy="211.55560000000003" r="3.5"></circle><circle cx="278.833" cy="211.55560000000003" r="3.5"></circle><circle cx="297.833" cy="211.55560000000003" r="3.5"></circle><circle cx="316.833" cy="211.55560000000003" r="3.5"></circle><circle cx="335.833" cy="211.55560000000003" r="3.5"></circle><circle cx="354.833" cy="211.55560000000003" r="3.5"></circle><circle cx="373.833" cy="211.55560000000003" r="3.5"></circle><circle cx="392.833" cy="211.55560000000003" r="3.5"></circle><circle cx="411.833" cy="211.55560000000003" r="3.5"></circle><circle cx="430.833" cy="211.55560000000003" r="3.5"></circle><circle cx="449.833" cy="211.55560000000003" r="3.5"></circle><circle cx="468.833" cy="211.55560000000003" r="3.5"></circle><circle cx="487.833" cy="211.55560000000003" r="3.5"></circle><circle cx="506.833" cy="211.55560000000003" r="3.5"></circle><circle cx="525.833" cy="211.55560000000003" r="3.5"></circle><circle cx="544.833" cy="211.55560000000003" r="3.5"></circle><circle cx="563.833" cy="211.55560000000003" r="3.5"></circle><circle cx="582.833" cy="211.55560000000003" r="3.5"></circle><circle cx="601.833" cy="211.55560000000003" r="3.5"></circle><circle cx="620.833" cy="211.55560000000003" r="3.5"></circle><circle cx="639.833" cy="211.55560000000003" r="3.5"></circle><circle cx="12.833" cy="231.1112" r="3.5"></circle><circle cx="31.833" cy="231.1112" r="3.5"></circle><circle cx="50.833" cy="231.1112" r="3.5"></circle><circle cx="69.833" cy="231.1112" r="3.5"></circle><circle cx="88.833" cy="231.1112" r="3.5"></circle><circle cx="107.833" cy="231.1112" r="3.5"></circle><circle cx="126.833" cy="231.1112" r="3.5"></circle><circle cx="145.833" cy="231.1112" r="3.5"></circle><circle cx="164.833" cy="231.1112" r="3.5"></circle><circle cx="183.833" cy="231.1112" r="3.5"></circle><circle cx="202.833" cy="231.1112" r="3.5"></circle><circle cx="221.833" cy="231.1112" r="3.5"></circle><circle cx="240.833" cy="231.1112" r="3.5"></circle><circle cx="259.833" cy="231.1112" r="3.5"></circle><circle cx="278.833" cy="231.1112" r="3.5"></circle><circle cx="297.833" cy="231.1112" r="3.5"></circle><circle cx="316.833" cy="231.1112" r="3.5"></circle><circle cx="335.833" cy="231.1112" r="3.5"></circle><circle cx="354.833" cy="231.1112" r="3.5"></circle><circle cx="373.833" cy="231.1112" r="3.5"></circle><circle cx="392.833" cy="231.1112" r="3.5"></circle><circle cx="411.833" cy="231.1112" r="3.5"></circle><circle cx="430.833" cy="231.1112" r="3.5"></circle><circle cx="449.833" cy="231.1112" r="3.5"></circle><circle cx="468.833" cy="231.1112" r="3.5"></circle><circle cx="487.833" cy="231.1112" r="3.5"></circle><circle cx="506.833" cy="231.1112" r="3.5"></circle><circle cx="525.833" cy="231.1112" r="3.5"></circle><circle cx="544.833" cy="231.1112" r="3.5"></circle><circle cx="563.833" cy="231.1112" r="3.5"></circle><circle cx="582.833" cy="231.1112" r="3.5"></circle><circle cx="601.833" cy="231.1112" r="3.5"></circle><circle cx="620.833" cy="231.1112" r="3.5"></circle><circle cx="639.833" cy="231.1112" r="3.5"></circle></g><g><circle cx="62.76" cy="158.12" r="10" fill="var(--scene-charge)"></circle><circle cx="583.91" cy="181.49" r="10" fill="var(--scene-charge)"></circle><circle cx="66.22" cy="166.01" r="10" fill="var(--scene-charge)"></circle><circle cx="580.45" cy="191.13" r="10" fill="var(--scene-charge)"></circle><circle cx="103.16" cy="169.97" r="10" fill="var(--scene-charge)"></circle><circle cx="528.13" cy="183.89" r="10" fill="var(--scene-charge)"></circle><circle cx="85.77" cy="221.93" r="10" fill="var(--scene-charge)"></circle><circle cx="569.25" cy="231.29" r="10" fill="var(--scene-charge)"></circle><circle cx="118.22" cy="203.36" r="10" fill="var(--scene-charge)"></circle><circle cx="524.95" cy="202.03" r="10" fill="var(--scene-charge)"></circle><circle cx="195.49" cy="149.45" r="10" fill="var(--scene-charge)"></circle><circle cx="457.57" cy="198.44" r="10" fill="var(--scene-charge)"></circle><circle cx="189.75" cy="171.17" r="10" fill="var(--scene-charge)"></circle><circle cx="444.60" cy="187.00" r="10" fill="var(--scene-charge)"></circle><circle cx="195.37" cy="207.04" r="10" fill="var(--scene-charge)"></circle><circle cx="449.78" cy="210.69" r="10" fill="var(--scene-charge)"></circle><circle cx="129.81" cy="188.59" r="10" fill="var(--scene-charge)"></circle><circle cx="500.14" cy="161.62" r="10" fill="var(--scene-charge)"></circle><circle cx="276.66" cy="159.95" r="10" fill="var(--scene-charge)"></circle><circle cx="364.82" cy="196.20" r="10" fill="var(--scene-charge)"></circle><circle cx="199.41" cy="217.76" r="10" fill="var(--scene-charge)"></circle><circle cx="440.32" cy="165.02" r="10" fill="var(--scene-charge)"></circle><circle cx="297.01" cy="203.83" r="10" fill="var(--scene-charge)"></circle><circle cx="337.30" cy="193.89" r="10" fill="var(--scene-charge)"></circle><circle cx="346.77" cy="149.23" r="10" fill="var(--scene-charge)"></circle><circle cx="287.08" cy="209.44" r="10" fill="var(--scene-charge)"></circle><circle cx="327.12" cy="217.76" r="10" fill="var(--scene-charge)"></circle><circle cx="300.79" cy="208.80" r="10" fill="var(--scene-charge)"></circle><circle cx="374.71" cy="152.67" r="10" fill="var(--scene-charge)"></circle><circle cx="258.40" cy="185.02" r="10" fill="var(--scene-charge)"></circle><circle cx="365.12" cy="180.30" r="10" fill="var(--scene-charge)"></circle><circle cx="271.62" cy="164.79" r="10" fill="var(--scene-charge)"></circle><circle cx="366.33" cy="183.51" r="10" fill="var(--scene-charge)"></circle><circle cx="260.26" cy="181.68" r="10" fill="var(--scene-charge)"></circle><circle cx="445.52" cy="232.09" r="10" fill="var(--scene-charge)"></circle><circle cx="180.41" cy="221.95" r="10" fill="var(--scene-charge)"></circle><circle cx="398.11" cy="194.28" r="10" fill="var(--scene-charge)"></circle><circle cx="233.83" cy="193.11" r="10" fill="var(--scene-charge)"></circle><circle cx="529.98" cy="154.99" r="10" fill="var(--scene-charge)"></circle><circle cx="124.30" cy="167.13" r="10" fill="var(--scene-charge)"></circle><circle cx="466.96" cy="200.27" r="10" fill="var(--scene-charge)"></circle><circle cx="173.71" cy="204.75" r="10" fill="var(--scene-charge)"></circle><circle cx="554.86" cy="167.07" r="10" fill="var(--scene-charge)"></circle><circle cx="97.87" cy="172.70" r="10" fill="var(--scene-charge)"></circle><circle cx="596.58" cy="150.85" r="10" fill="var(--scene-charge)"></circle><circle cx="35.69" cy="220.20" r="10" fill="var(--scene-charge)"></circle><circle cx="592.11" cy="204.70" r="10" fill="var(--scene-charge)"></circle><circle cx="52.75" cy="215.85" r="10" fill="var(--scene-charge)"></circle><circle cx="602.49" cy="185.89" r="10" fill="var(--scene-charge)"></circle><circle cx="39.62" cy="215.57" r="10" fill="var(--scene-charge)"></circle></g><g data-cut="c"><line x1="320" x2="320" y1="107.11099999999999" y2="276.889" stroke="var(--color-neutral-700)" stroke-width="3" stroke-dasharray="14 12"></line><g class="font-mono" font-size="48.88900000000001" font-weight="500" fill="var(--color-neutral-900)"><text x="320" y="277.36019400000004" text-anchor="middle" dominant-baseline="central">0</text></g></g></g></g></svg></div></div><div class="flex flex-wrap gap-2 border-t border-neutral-200 p-2.5"><button type="button" role="switch" aria-checked="false" aria-label="battery" class="flex min-h-[52px] flex-[1_1_15rem] items-center gap-3 rounded-xl border border-neutral-200 bg-card px-4 py-1.5 text-start focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500"><span class="whitespace-nowrap font-serif text-xl text-neutral-800 flex-1">battery</span><span class="relative h-[26px] w-11 shrink-0 rounded-full transition-colors bg-neutral-300"><span class="absolute left-[3px] top-[3px] h-5 w-5 rounded-full bg-white transition-transform "></span></span></button></div></figure></div></div></div></div></div></div></div></div></div></section><nav class="prism-pager"><a class="prism-pager-link prev" href="/prism/docs/expressions"><span class="prism-pager-label">← Previous</span><span class="prism-pager-title">Expressions & Math</span></a></nav></div><aside class="toc"><p class="sidebar-heading">On this page</p><div class="rail"><span class="rail-indicator"></span><nav class="rail-list"><a href="#entry-video" data-rail-id="entry-video" class="rail-link active">video</a><a href="#entry-shot" data-rail-id="entry-shot" class="rail-link ">shot</a><a href="#entry-screen" data-rail-id="entry-screen" class="rail-link ">screen</a><a href="#entry-set" data-rail-id="entry-set" class="rail-link ">set</a><a href="#entry-animate" data-rail-id="entry-animate" class="rail-link ">animate</a><a href="#entry-pause" data-rail-id="entry-pause" class="rail-link ">pause</a><a href="#entry-gas" data-rail-id="entry-gas" class="rail-link ">gas</a><a href="#entry-cut" data-rail-id="entry-cut" class="rail-link ">cut</a></nav></div></aside></div><!--$?--><template id="B:2"></template><!--/$--></main></div></div></div><script nonce="xHKw5j/4iz6prw6msatGnw==">$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:1","S:1")</script><title>Mathly — make math click