tomlarkworthyJul 27
Greatest thing ever (that I have made): bidirectional SVG code <-> image editorLots of functional theory went into this absolutely bonkers thing. It is entirely possible to synchronize a drawing with something as complex as SVG, so you can swap between coding it and drawing with it as you please. It even preserves template interpolation and things it does not understand like comments and SVG animations (WTF!). I wrote it as a paper so there are lots of citations and some helper simple examples.
Observable – 22 Jul 26
SVG Sketch Source
The drawing syncs to the code and vice versa. Switch between using code and UI. Built on composable lens and edit-lens theory. | gesture | what it does | lens |
|---|---|---|
| drag a shape | moves it | \`transform\` |
| tap a polygon or path,...
1 post - 1 participant
Read full topic
tomlarkworthyJul 25
grid container, persisted cells and (basic) Audio DAW DemoObservable – 25 Jul 26
DAW
A digital audio workstation that is nothing but a notebook. Every piece of state — knob positions, the drum pattern, the rack layout, even instruments you add from the template menu — lives in cell source code, so export, diff, undo and remix all see...
Observable – 13 Jul 26
Grid Container
A responsive container that composes named cells as rearrangeable atoms on a snap-to-grid surface — a widget builder. Atoms are live dataflow elements: any HTML or value is adopted via Inspector, recomputes reactively, and the underlying cell source...
Been thinking a lot about layout and end-user programmability. This grid container lets you break free of the cell layout, while what is inside the grid is still Observable reactive cells. When the grid is changed, the container rewrites its own source code to reflect your changes, patching the runtime live, so in a sense, you are programming but not through a textual interface. If you then serialize the runtime, the result remembers the changes.
Going further, each audio component it wrapped in sticky which does the exact same trick for “views”. A view change detects its value has changed, and rewrites its own source code to make persist the value change as a code change to the cell’s internal definition.
Observable – 13 Jul 26
Sticky
Make any view remember its value through source rewriting. \`sticky(view, remembered)\` wraps any Observable view — \`Inputs.range\`, a custom knob, a pattern grid — without the view participating. The second argument is the persistence slot: at...
Now putting it all together, the way exporter-3 works is by scanning the runtime and reserializing, so the fact the runtime definitions have changed means it now picks up those user changes when creating forks. TADA solving the problem of making UI widgets persisted. As exporter is a normal Observable cell, its placed inside the DAW grid component so you can access the forking functionality within something that now resembles a custom UI laid out the way you like it.
It works reasonably well on Observable platform, including Notebook 2.0, but it shines on my own framing because it can offer more shortcuts at the host level.
1 post - 1 participant
Read full topic
mpkhindaJul 17
Football ProjectionsObservable – 17 Jul 26
The Global Game
Heavily derived from Mike Bostock's notebook on Map Projections this notebook projects a standard soccer ball pattern. Appendix
As I’ve been watching the World Cup over the past few weeks I think we’ve all been wondering the same thing: If football is truly the ‘global game,’ then what projection should I use to flatten it?
So, I forked Mike Bostock’s very helpful notebook on the Tissot Indicatrix and replaced the circles with a classic football pattern (truly, his notebook did all of the hard work). Then I picked my 7 favorite projections and turned it into a poster which I printed in fluorescent ink on a Risograph machine.
This was my first time using Observable in a print project but it certainly won’t be the last!
I also posted a little detail shot on Bluesky if you want to see the print close up
1 post - 1 participant
Read full topic
nxrixJul 9
Repeating pattern creatorObservable – 8 Jul 26
Bitmask Fractals
Generated by repeatedly sampling a binary pattern at exponentially increasing scales. Pattern Color
I always had this idea in mind and finally made it easily with Observable, and I like Observable mostly for these reasons:
Everything updates in real time.
You can create and edit notebooks on your phone.
Many useful things are already built in (inputs, imports, …).
2 posts - 2 participants
Read full topic