There Is(Ǝ) – Such That (∋)

evakhoury1 pts0 comments

There is(Ǝ) – Such that (∋)

T -->

D -->

Sign in<br>Subscribe

Let me tell you about a language. But if you wish to go play instead go here. It's going to get a little abstract below.

There is a Canvas to Compose Upon<br>The canvas is a square with the largest circle that has a radius of ρ.<br>There are Vectors of Time<br>Ǝ a raven ∋ the vector of hours.<br>Ǝ a crow ∋ the vector of minutes.<br>Ǝ a mag-pi ∋ the vector of seconds.<br>Ǝ an origin ∋ a vector of zero.<br>The Vectors can form:<br>Scalars<br>Where the vectors become a single number.<br>./ρ² – the normalized dot product of two vectors<br>||˙||/ρ – the normalized magnitude<br>→/ρ – the normalized horizontal component<br>↑/ρ – the normalized vertical component<br>(All scalars are normalized by ρ (the canvas radius) )<br>And once you have scalars, they can form new scalars too: sum, subtract, multiply, divide.<br>⊞ Add<br>− Subtract<br>⊠ Multiply<br>⊡ Divide<br>Modified Vectors<br>Vectors can be added, subtracted, rotated and multiplied

Vectors and Modified vectors have a horizontal and vertical component just like a point or location.<br>Glyphs<br>Make things visible. They take in vectors and output to the canvas. The moon, sun, and star are at the vector's coordinates and the line connects two vectors.<br>Each glyph can be tuned.

Habitats<br>Add composition and can take vector inputs.<br>Habitats paint the canvas — not just a point.<br>grass<br>trees<br>a nebula<br>a meta-trace<br>an egg<br>a focus (a porthole)<br>moss<br>Vector inputs will change how they move just a little bit.<br>Tuning ◍<br>Parameters can change how the whole composition breathes.<br>cycles per day — how many times the clock wraps in 24 hours<br>hours per cycle — the base for the raven's loop<br>default breath depth and speed — the resting rhythm everything inherits<br>default stroke weights for lines and shapes<br>a theme — ambiance, mono, contrast, cividis, tri, botanical<br>a backdrop color, a default line color, a default shape color<br>frame rate<br>Composition<br>Compose a clock using all of the types of pieces and connecting them.<br>Go to https://te-st.ing and make a clock for yourself, then export it to save.

How?<br>I am currently in a 6-week batch at the Recurse Center. I wanted to make a language that produced clocks for "Impossible Day." After drafting a prototype, I refined the idea a little and made a second prototype.<br>It starts with types<br>There are vectors, modified vectors, scalars, scalar modifiers, glyphs, and habitats.<br>the shape<br>There some main components to the tool:<br>A Loom holds the composition — nodes, arrows, and globals.Types are represented as nodes.<br>You can bring a node from the palette to the Loom.<br>Nodes can connect with arrows.

A Weave compiles the composition into a p5 sketch inside a preview iframe. Every change in the Loom re-weaves the clock in the preview

Each Clock can be downloaded as a standalone HTML file.<br>the pieces<br>Svelte 5 — runes, snippets, event attributes.<br>TypeScript with svelte-check and ESLint.<br>Vite for dev and build.<br>Svelte Flow for the node-graph (Loom)<br>p5.js for the rendered clock on the canvasInline into the exported HTML so the file is self-contained — open it offline, drop it on a slash page (maybe /clock would be nice on a blog - hint hint)

localStorage for autosave, undo history, positions, and some preferences.<br>Everything in your browser.<br>choices<br>The editor is wordless (mostly) Sigils on the buttons, hand-drawn icons on the nodes, minimal clutter. Only the header actions keep their labels. Tool tips are toggled on and off (after feedback from IndieWeb meet)<br>The clock is procedural The nodes in the palette and the on-canvas node bodies use symbols or hand-drawn PNGs. But the exported clock paints everything from p5 primitives with randomness.<br>One source of truth for time. A dayFraction function in the woven sketch returns where we are in the day, and every bird's angle derives from it. Change cyclesPerDay or hoursPerCycle and the clock re-paces.<br>Debug mode is visual Toggle ⌖ and the debug mode turns on. A slider appears that scrubs through the whole day. Selected nodes highlight in this mode.<br>Canvas The empty-canvas has some example clocks after some feedback from the IndieWeb. Layers panel is drafted, but still getting worked.<br>the names<br>The header sigils Ǝ and ∋ read as there exists / such that — the editing side and the rendering side. The "Loom" holds the threads; the "Weave" turns them into something you can see ( ∋ such that).

Sign up for more like this.

Enter your email

Subscribe

Welcome to the 252nd Carnival of Mathematics! This post brings together submissions and other posts from the mathy web. Thanks all for participating.

Let's start with the number: 252

* Divisors: 1, 2, 3, 4, 6, 7, 9, 12, 14, 18, 21, 28, 36, 42, 63, 84, 126, 252

unedited human writing before bed

Origin

In the beginning there was a point.

...And the beginning was but a period in which time was noted by a wisp of this existence

that was in the aether of light

in which the point existed

– without form, coordinates, or dimension,

this point

Thanks to Sam Graf for...

vectors clock canvas vector nodes from

Related Articles