# Changelog

The Wavelace page at https://www.wavelace.com/changelog/, as Markdown.

What is new in Wavelace, in the app, the formula language and the site, newest first.

## 28 September to 1 October 2026

- Changed the share image to a dark one, with a light one beside it.
- Added the [Four-Wing Attractor](https://www.wavelace.com/presets/four-wing-attractor) preset for `flow`: a chaotic flow with four wings.
- Added the [Enneper Surface](https://www.wavelace.com/presets/enneper-surface) preset for `shape`: a minimal surface that grows into itself.
- Added a Markdown version of the About page, and the folder pages' Markdown at their `index.md` too.
- Added Markdown versions of the documentation and changelog pages, and a pointer to every page's Markdown version.
- Formulas now read pasted ≥, ≤ and ≠, and square brackets.
- Fixed a spaced row break, `\\[2pt]`, in `\begin{cases}` being refused.
- Added the [Quartic Well](https://www.wavelace.com/presets/quartic-well) preset for `quantum`: a packet that falls apart in a stiff well.
- Added the [Orbiting Poles](https://www.wavelace.com/presets/orbiting-poles) preset for `complex`: a Julia set that turns with its two poles.
- Added the [Spinning Drum Mode](https://www.wavelace.com/presets/spinning-drum-mode) preset for `surface`: a drum vibration that turns round the rim.
- Pages answer in Markdown when asked with `Accept: text/markdown`, and `robots.txt` allows search and AI use.
- Added an agent skill at `/.well-known/agent-skills/` and an `llms.txt`.
- Added a 404 page.
- Added the [Magnetic Field Line](https://www.wavelace.com/presets/magnetic-field-line) preset for `curve`: a field line winding round a fusion torus.
- Fixed a pasted `√`, and functions written without brackets inside others: `√2x`, `sin √x`, `e^√x` and `e^-\theta` now draw.
- Published `@wavelace/embed` on npm, with `<Embed>` for React at `@wavelace/embed/react`.
- Published the formula language on npm as `@wavelace/formula`, under MIT, with `useFormula`, `<FormulaField>` and `<Plate>` for React at `@wavelace/formula/react`.
- Added a link to the packages' source on GitHub in every footer.
- Fixed an embed given a new link keeping its old deck, formula, title and mouse settings, and its app link opening the first plot.
- Added one contact address, info@wavelace.com, to the privacy page, the About page and the licence.

## 24 to 27 September 2026

- Fixed `\frac{1}{2x}` being read as a half of x.
- Letters written together now multiply, so `\sin(kx - \omega t)` works as printed.
- Added an About page.
- Updated the privacy page with the lawful basis for hosting and every right.
- Updated the privacy page with the lawful basis for counting, and counted less: no theme, country, language, browser or device, and no snippet copies.
- Added a Picture button that saves or copies the plot as a PNG, replacing the picture page.
- Fixed the Wheel zoom buttons in the Embed panel sitting out of line when the Frame toggles wrap.
- Fixed the All tab on a preset's page not leading back to every preset.
- Renamed Copy link to Share, and a shared link now shows a picture of the plot where it is posted.
- Added a picture of every preset to the presets page and to its shared links.
- Smoothed the fade from a homepage tile's picture to its live plot.
- Made a still `surface` cheaper: it is no longer sampled on every frame.
- Added the [Einstein–Rosen Bridge](https://www.wavelace.com/presets/einstein-rosen-bridge) preset for `shape`: two sheets of space joined by a throat.
- Added the [Aizawa Attractor](https://www.wavelace.com/presets/aizawa-attractor) preset for `flow`: a chaotic flow over a round shell.
- Added the [Kuen Surface](https://www.wavelace.com/presets/kuen-surface) preset for `shape`: a surface of constant negative curvature.
- Added the [Lyapunov Descent](https://www.wavelace.com/presets/lyapunov-descent) preset for `curve`: a damped oscillator spiralling down its energy bowl.
- Added the [Residue Staircase](https://www.wavelace.com/presets/residue-staircase) preset for `wave`: a contour integral that steps up at each pole.
- Added the [Helicoid to Catenoid](https://www.wavelace.com/presets/helicoid-to-catenoid) preset for `shape`: a minimal surface bending into another.
- Added three Spirograph presets for `curve`: [Hypotrochoid 7/13](https://www.wavelace.com/presets/hypotrochoid-7-13), [Hypotrochoid 7/5](https://www.wavelace.com/presets/hypotrochoid-7-5) and [Hypotrochoid 3/4](https://www.wavelace.com/presets/hypotrochoid-3-4).
- Made a still `shape` cheaper: it is no longer sampled on every frame.
- Added `superformula(θ, m, n₁, n₂, n₃, a, b)` and three presets for `shape`: [Supershape Urchin](https://www.wavelace.com/presets/supershape-urchin), [Supershape Pagoda](https://www.wavelace.com/presets/supershape-pagoda) and [Supershape Flower](https://www.wavelace.com/presets/supershape-flower).
- Made tight `curve` and `polar` plots smooth by giving them as many points as they need, as in [Rabi Oscillation](https://www.wavelace.com/presets/rabi-oscillation) and [Rose 20](https://www.wavelace.com/presets/rose-20).
- Added the [Rabi Oscillation](https://www.wavelace.com/presets/rabi-oscillation) preset for `curve`: a spin flipped on the Bloch sphere.
- Added the [Burgers Vortex](https://www.wavelace.com/presets/burgers-vortex) preset for `flow`: an exact vortex of the Navier–Stokes equations.
- Added two quadric presets: [Quadric Family](https://www.wavelace.com/presets/quadric-family) and [Paraboloid Family](https://www.wavelace.com/presets/paraboloid-family).
- Added preset search: the Preset button, `/` or ⌘K search every preset, and `[` and `]` step through them.
- The Trail dial of `flow`, `swarm` and `bodies` now reaches 160, and added the [Horseshoe Orbit](https://www.wavelace.com/presets/horseshoe-orbit) preset.
- Fixed the energy readout of `gravity` and `charges` showing drift at close passes.
- Added the `elastic` system to `bodies`, with the [Spring Pendulum](https://www.wavelace.com/presets/spring-pendulum) and [Elastic Chaos](https://www.wavelace.com/presets/elastic-chaos) presets.
- Added the `restricted` three-body system to `bodies`, with the [Lagrange Points](https://www.wavelace.com/presets/lagrange-points) and [Roche Lobe](https://www.wavelace.com/presets/roche-lobe) presets.

## 21 to 23 September 2026

- Added the `springs` system to `bodies`, with the [Coupled Oscillators](https://www.wavelace.com/presets/coupled-oscillators) and [Bead String](https://www.wavelace.com/presets/bead-string) presets.
- Added the `charges` system to `bodies`, with the [Rutherford Scattering](https://www.wavelace.com/presets/rutherford-scattering) and [Ring Trap](https://www.wavelace.com/presets/ring-trap) presets.
- A letter in a `bodies` value, `m=k`, is now a slider, carried in the link under `let=`.
- Documented every key and cell `bodies` and `bellman` read, on the [documentation](https://www.wavelace.com/documentation/) page and under the `?`.
- A key a system does not have is now refused by name, where `vz=1` used to be dropped.

## 17 to 19 September 2026

- Added the [Driven Springs](https://www.wavelace.com/presets/driven-springs) preset, the first for `swarm` since it shipped.
- Presets can open their letters at values of their own; added four wave presets with a slider: [Crest Doubling](https://www.wavelace.com/presets/crest-doubling), [Resonance Curve](https://www.wavelace.com/presets/resonance-curve), [Launch Angle](https://www.wavelace.com/presets/launch-angle) and [Dispersion](https://www.wavelace.com/presets/dispersion).
- Added slider presets in polar, surface and shape: [Rational Rose](https://www.wavelace.com/presets/rational-rose), [Gielis Supershape](https://www.wavelace.com/presets/gielis-supershape), [Focal Conic](https://www.wavelace.com/presets/focal-conic), [Chladni Plate](https://www.wavelace.com/presets/chladni-plate), [Cusp Catastrophe](https://www.wavelace.com/presets/cusp-catastrophe), [Knot Family](https://www.wavelace.com/presets/knot-family), [Horn Torus](https://www.wavelace.com/presets/horn-torus) and [Superellipsoid](https://www.wavelace.com/presets/superellipsoid).
- Added slider presets in complex, quantum and flow: [Julia Dials](https://www.wavelace.com/presets/julia-dials), [Multibrot](https://www.wavelace.com/presets/multibrot), [Newton Petals](https://www.wavelace.com/presets/newton-petals), [Barrier or Well](https://www.wavelace.com/presets/barrier-or-well), [Reflectionless Well](https://www.wavelace.com/presets/reflectionless-well), [Squeezed Packet](https://www.wavelace.com/presets/squeezed-packet), [Hopf Bifurcation](https://www.wavelace.com/presets/hopf-bifurcation) and [Van der Pol](https://www.wavelace.com/presets/van-der-pol).
- Fixed a function without brackets inside another being refused: `\sqrt{\sin t}`, `\left|\sin x\right|` and `\cos(x + \sin t)` now draw.
- Fixed a swarm sliding off the plot in [Springs](https://www.wavelace.com/presets/springs) and [Gravity Disc](https://www.wavelace.com/presets/gravity-disc).
- Laid this page out like the [documentation](https://www.wavelace.com/documentation/), with its blocks in a rail.
- Added this page.
- A letter in a complex formula now gets a slider, with `c` and `i` kept for the complex renderer.
- Added a reference to the formula language, in a drawer beside the field, opened with `?`.
- Added degrees: `90°` and `90^\circ`.
- The rail now opens at a third of the window.
- A subscripted letter such as `x_0` or `\omega_0` now gets its own slider.
- A Greek letter, typed as `\omega` or pasted as `ω`, now gets a slider.
- Added sliders for the letters a formula names, carried in the link.
- The app now opens dark and the site light, each keeping its own theme.
- Added a [documentation](https://www.wavelace.com/documentation/) page, written from the tables the app reads.
- The surface, shape and quantum 2D meshes now open filled.
- Renamed two presets, [Fourfold Mandala](https://www.wavelace.com/presets/fourfold-mandala) and [Phase Fold](https://www.wavelace.com/presets/phase-fold); their old addresses still work.

## 10 to 13 September 2026

- Added derivatives: `diff(expr, x)` and `\frac{d}{dx}`.
- Added `\sum` and `\prod`, with Fourier series presets such as [Square Fourier](https://www.wavelace.com/presets/square-fourier).
- Added special functions: `gamma`, the factorial and `\binom`, `erf`, `besselJ`, `sinc`, the inverse hyperbolics, floor, ceiling and `\begin{cases}`.
- Added integrals, `\int_a^b … du` and `integral(expr, u, a, b)`, with sixteen presets such as [Drumhead](https://www.wavelace.com/presets/drumhead).
- Added a [privacy](https://www.wavelace.com/privacy) page, and the fonts now load from the site itself.
- A still plot is no longer redrawn, so an idle page costs nothing.
- Added the bellman renderer, with [Russell–Norvig 4×3](https://www.wavelace.com/presets/russell-norvig-4-3) among its presets.
- Added notes to every preset, and a page for each under [presets](https://www.wavelace.com/presets/).

## 6 to 9 September 2026

- Added the homepage with a live gallery, and a picture page.
- Added the embed page and the Embed panel.
- Moved playback, the views and the toggles into a deck under the plot.
- Added the trace and pan options, the preset in the link, `mod`, and the [Heartbeat](https://www.wavelace.com/presets/heartbeat) and [Rose 20](https://www.wavelace.com/presets/rose-20) presets.
- Added LaTeX in the formula box, and products written without a sign, such as `2x`.
- Added the quantum renderers, in one and two dimensions.
- Added the flow, swarm and bodies renderers.
- Wavelace launched with the wave, surface, polar, curve, shape and complex renderers, themes and shareable links, and presets such as [Alain's Curve](https://www.wavelace.com/presets/alains-curve) and [Guitar String](https://www.wavelace.com/presets/guitar-string).
