Español

Historial de versiones: Fractal Designer

Cambios, mejoras y correcciones de las versiones de Fractal Designer.

Las notas de la versión están disponibles en inglés.

Versión 1.40.0

Nuevas funciones

  • Templates: all starter projects reworked and six new ones added, from 3D solids and particle flames to plants and typography; most of them move when played.
  • New menu: templates are picked from cards with previews, also by keyboard.
  • The document has a name, shown and editable above the picture and used as the file name for saving and exports.

Mejoras

  • A new look for the whole editor: the picture lies on a quiet desk, the panels read like a book of plates, with drawn icons throughout.
  • Layer list: layers are numbered as figures in paint order ("Fig. 1" is the bottom layer), and the list scrolls to keep the selected layer in view.
  • Narrow windows: the index folds into a slim column, and below about 820 pixels layers and properties open as a drawer.
  • Canvas: the transform handles appear only while the pointer is over the picture, while dragging and briefly after selecting a layer.
  • Choosing a template asks for confirmation only when there are unsaved changes.

Correcciones de errores

  • Page format: a 1280 × 720 page is shown as "16:9" in the page menu and above the picture, not as "Custom" and "1280:720".
  • Playback: the picture no longer jumps when the time readout gains a digit (at frame 1000, and back at the loop point) on windows where the timeline controls only just fit.

Versión 1.39.0

Mejoras

  • New layers land where you are working. A layer added from the toolbox now goes directly above the selected layer, inside its group if it is in one, instead of at the top of the whole stack. With a group selected it still goes into that group.
  • The placement can be reset. Each transform field has its own reset button, and "Reset transform" sets offset, scale, rotation, tilt and depth back in one step, undoable as one.
  • "Open" asks before replacing unsaved work, and it is now a proper button you can reach with the keyboard. Ctrl+O opens a project as well.
  • A notice when autosave stops. If the project grows too large for the browser's storage, a small hint asks you to save the project instead of autosave stopping silently — and closing the tab then warns before unsaved work is lost.
  • The export dialogs work with the keyboard. Escape closes them, Tab stays inside, and the focus goes into the dialog when it opens. Keys pressed there no longer act on the editor behind it — Del no longer deletes the selected layer.
  • Keyboard focus is visible everywhere, in the light and the dark theme.
  • Better screen reader support. Icon buttons, sliders, number fields, the timeline checkboxes and the gradient stops now have proper names.
  • Removing a gradient from the library asks first, and its delete button is a separate button.
  • Shorter hints and tooltips under the timeline and in the inspector.

Correcciones de errores

  • A double-click on the canvas no longer resets the view by accident. Resetting now takes Ctrl+double-click (or the "View" button).
  • A lost connection to the graphics card is reported as such, with a "Reload" button, instead of claiming that WebGPU is not available.

Versión 1.38.1

Mejoras

  • Fractals render several times faster. Mandelbrot, Julia, Burning Ship, Tricorn, Celtic and Spider now recognise points inside the set as soon as their orbit repeats, instead of running all the way to the iteration limit, and only track what the chosen colouring method reads. At high iteration counts a picture renders two to seven times faster, and it looks exactly as before, down to the last pixel.
  • Moving the view no longer recalculates attractors and flames. Panning, zooming or dragging a particle layer only repositions the points it has already calculated; so does changing the point size, brightness or extent.
  • Letting go after a drag is instant. With supersampling switched on, releasing a handle used to redraw every layer of the picture; now only the layer that changed is redrawn. Dragging a slider is smoother as well, and the canvas stays ready after an export.
  • Editing on top of effects stays fluid. Changing a layer no longer redraws the unchanged layers and effects beneath it on every frame, so dragging a slider over a blurred or glowing background runs several times faster.
  • Halftone effects render up to three times faster, the colour halftone included, with exactly the same dots.
  • Video exports are faster — up to twice as fast for scenes that are quick to draw. Each frame is now read back from the graphics card while the next one is already being drawn.
  • A group with an effect shows its area. A group that carries an effect or a 3D tilt is drawn as one picture the size of the page and then moved as a whole, so nothing inside it can show beyond that picture's edge. Once such a group is moved, turned or scaled, a fine dotted outline shows where that edge lies — which explains at a glance why a layer dragged past it is cut off.

Correcciones de errores

  • The handles on the canvas work inside groups. A layer inside a group that had been moved, turned or scaled showed its handles and its frame where it would have been without the group, and dragging them sent the layer off in the wrong direction by the wrong amount. The handles and the frame now sit exactly where the layer is drawn, through any number of nested groups — tilted ones included — and every drag follows the pointer: moving keeps the point you took hold of under it, the rotate handle points where you drag it, and a frame corner stays pinned opposite the one you pull. The values that land in the inspector are the layer's own, relative to its group, so moving the group afterwards still takes everything inside along with it.
  • Groups no longer cut off what is inside them. A layer moved or shrunk inside a group used to vanish past an invisible edge the size of the page, and a group scaled up came out blurred and blocky. A group of fractals, patterns, shapes, text or particles is now drawn in place: nothing inside it is cut off, and it stays sharp however far it is enlarged. Groups that carry an effect or a 3D tilt are still drawn as one picture, as the effect needs.
  • A tool dropped onto the canvas while a group is selected lands under the pointer. It used to appear somewhere else whenever that group was transformed; objects added by a click are placed in the middle of the view inside a group too.

Versión 1.38.0

Nuevas funciones

  • An effect can be given a frame to act in. Until now every effect applied to the whole picture, while the widget on the canvas offered handles for moving, turning and scaling it that did nothing at all. They work now: choose the mask "Rahmen (Wirkungsbereich)" and the effect is confined to a rectangle or an ellipse. The widget draws its outline and puts a handle on each corner: drag one and the frame spans from there to the corner opposite it, which stays exactly where it was — so a wide, shallow band can be pulled out in a single go, rather than by setting a width and a height one after the other. Move, turn and scale it with the handles that were already there, and give its edge as much softness as you want. What it was built for: a mirror folding the upper half of a picture down, waves on the lower half only, and the two together read as water. The frame belongs to the layer, so it keeps its place when the view is panned or zoomed, and an export shows exactly what the screen showed.

Mejoras

  • Waves can fall away with distance. The wave effect has gained a reference line and two damping values, one for the amplitude and one for the frequency; a positive value damps toward the bottom of the picture, a negative one amplifies. Waves that grow smaller and closer together toward a line read as a surface seen at an angle, which is what turns a mirrored copy into a reflection rather than an upside-down duplicate. Documents made before this are untouched: with both dampings at nought the waves are exactly the waves they were.

Correcciones de errores

  • Video export now works in Firefox. It failed at the very end, after every frame had been rendered, with a message about an internal field of the file writer. Two things were behind it. The writer wanted the first piece of video stamped at exactly zero, and Firefox stamps its first piece a frame late — it was already being told to accept that whenever there was a soundtrack, and tying it to the sound was the mistake. The larger one: Firefox encodes some frames out of order. That is not a fault, it is how video gets smaller at the same quality — a frame that refers both backwards and forwards has to be encoded after the frame it looks ahead to. The file format has always provided for this, storing pictures in the order they are decoded alongside a table of when each is shown, but the writer was only ever handed the moment each was shown. The export now works out both times and hands over both. Nothing changes for browsers that never reordered: their files come out byte for byte as before, and quality and file size are untouched.
  • The timeline can be played straight after the app starts. For the first seconds after a page reload the play button sat disabled — long enough that clicking a keyframe first looked like what freed it, when all that helped was the waiting. What held it was the toolbox: the little preview picture on every tool is rendered once at startup, and that ran under the same flag as a real export, which does lock the transport, and for good reason. They are two different things now, and making preview pictures locks nothing. The image keeps up while they are being made, too: it is redrawn as soon as anything changes, instead of standing still until the last picture is finished.
  • MP4 files exported from Firefox now play cleanly. They came out of the export smeared and ghosted in VLC and other players, while the WebM from the very same animation was perfect. The pictures were never at fault. Alongside them, every video file carries a short description of the format the pictures are in, and Firefox writes a couple of bytes of it twice over — enough that a player reads the description wrongly and then misreads every frame that follows. That description is now put right before it goes into the file, so an MP4 exported in Firefox decodes exactly like one exported anywhere else. Nothing changes for other browsers: theirs is passed through untouched, byte for byte.
  • The format shown in the export dialog is the format that gets exported. After exporting a WebM and opening the dialog again, the list read MP4 — and the export produced WebM anyway. The list of formats is filled in a moment after the dialog is drawn, once the browser has been asked what it can encode, and until then there was nothing for the stored choice to point at; the browser then highlighted the first entry it was given. The dialog now shows what will actually be produced.
  • The attempt at this in 1.37.1 went after the wrong cause. It checked whether the browser hands back the codec description, which Firefox does perfectly well; the description was missing only because every piece of video had already been refused for the reasons above. That check is gone again, and with it the second or so it added to opening the export dialog.

Versión 1.37.1

Correcciones de errores

  • Video export no longer fails at the very end on browsers that cannot really write MP4. Some browsers accept an H.264 encoder and then never hand back the codec description — the parameter sets a player needs before it can decode anything. The export ran to completion and only then broke, with a message naming an internal field of the muxer, after every frame had been rendered. MP4 is now checked properly while the export dialog is deciding which formats to offer: one real frame is encoded, and if no description comes back the format is simply not listed. WebM is unaffected and remains available, so those browsers can still export video.

Versión 1.37.0

Mejoras

  • The fractals are sorted into four shelves instead of one long one. Twenty-eight tools under a single heading had become a list nobody could scan, and they were not one kind of thing anyway. Escape-time fractals are the ones you iterate and watch leave — Mandelbrot, Julia, Newton, Feather and the rest. Chaotic maps are dynamical systems drawn over their own two constants rather than as the single tangled orbit they are usually shown as: Hénon, Duffing, Ikeda, Chirikov and Lyapunov. Curves and constructions never iterate a point at all — they are built by repeated subdivision: Koch, Sierpinski, Cantor and the space-filling curves. 3D fractals stay as they were. Saved projects are unaffected: which shelf a tool sits on was never written into a document.
  • And the effects onto four more. Thirty-one under one heading was the longest list in the app. They are now Color & tone (invert, gamma, hue, threshold, posterise, gradient map, duotone, dither and the rest), Blur & light (blur, glow, drop shadow, sharpen, lighting, relief, vignette), Distort (displace, fisheye, swirl, waves, bulge, mirror, kaleidoscope) and Halftone & retro (pixelate, halftone, CRT tube, film grain, chromatic aberration, edge detection). Sorted by what you would go looking for rather than by how each one works inside. ASCII art keeps its own heading.

Versión 1.36.0

Nuevas funciones

  • The Feather fractal. A rational escape-time fractal, z cubed over one plus z times z, that grows long plumes of fine filigree from a compact body — the source of the marbled, feathery pictures the name suggests. Unlike the Mandelbrot family it is not mirror-symmetric, and that asymmetry is exactly where the feathering comes from. The exponent is adjustable, so three is a starting point rather than a fixed rule.
  • Five more fractals from the Fractal Sound Explorer. Beside Feather there is now SFX, whose straight-edged block grows plumes sideways, and four classics of chaos theory — Hénon, Duffing, Ikeda and Chirikov — each drawn not as the single tangled orbit they are usually shown as, but over their own two constants: every pixel is a different pair of settings, and the colour says how long that setting keeps the system alive. Chirikov in particular draws the textbook boundary between order and chaos as a picture you can zoom into.

Versión 1.35.0

Nuevas funciones

  • Four more space-filling curves, beside Hilbert's. The layer is now called Space-filling curve rather than Hilbert curve, and a menu at the top picks which one it draws. Moore is Hilbert's curve closed into a ring, so the walk has no ends and the palette meets itself — useful when the colour is animated and a seam would show. Peano divides in threes instead of halves and weaves visibly more densely. Serpentine is the naive walk, row by row, and is there as the contrast: it fills the square just as completely, but cells that touch in the picture can lie a whole row apart along the walk, which is exactly what the recursive curves avoid and what the running palette makes visible. Spiral simply turns inward. Existing projects are untouched and keep drawing Hilbert.
  • And the same five in the cube. The 3D layer offers the identical menu, so a scene can pair a flat curve with a spatial one of the same kind. Moore is the one worth reaching for there: a ring in space has no ends, so an animated palette runs round it forever without a seam. Peano weaves a 27-cell cube, and the serpentine and the spiral are stacked layer by layer, every other layer walked backwards so the whole stack stays one unbroken tube.

Mejoras

  • The Hilbert curve is asked for less than the picture it makes, so its layer now offers the whole family under one roof rather than growing a separate entry per curve. Depth, line width and the palette settings work the same for all of them.

Versión 1.34.0

Nuevas funciones

  • The Hilbert curve joins the toolbox. It is a different kind of fractal from the rest: nothing is iterated per pixel and nothing escapes to infinity. A single line simply walks through every cell of a grid, in an order that never jumps and never crosses itself, and the finer you set the depth the more of the square it fills. Because the order it walks in is the whole point, the palette runs ALONG the line rather than filling regions with it — so the gradient shows you where the curve begins, where it goes and where it ends. Depth and line width are adjustable, and the line width is given as a fraction of a cell, so raising the depth thins the curve instead of flooding the square.
  • And the same curve inside a cube. The three-dimensional Hilbert curve is drawn as a lit tube threading every cell of a cube, the palette again running along the walk so you can follow where it starts and where it ends. It turns and tilts like the other 3D fractals, and depth and tube width are adjustable.

Versión 1.33.0

Nuevas funciones

  • Six more fractals keep their detail as you zoom in. The arithmetic that lets the ordinary Mandelbrot stay sharp a million million times over now serves Julia, Burning Ship, Tricorn, Celtic, Spider and Phoenix as well, with the same Arithmetic precision setting: left on automatic it turns itself on shortly before the picture would otherwise break into flat rectangles, and off again it never costs anything. As with the Mandelbrot these are still the ordinary layers, so the coloring methods, the orbit trap and the lighting all keep working at those depths. Not every fractal can have it yet, and the ones that cannot are the ones whose formula needs an operation the arithmetic does not offer — a division for Newton, Nova, Magnet and Kali, and a sine, a logarithm or a fractional power for Sine-Julia, Lyapunov and Multibrot. Those layers simply do not show the setting rather than showing one that would change the speed and nothing else.

Versión 1.32.0

Nuevas funciones

  • The ordinary Mandelbrot now keeps its detail as you zoom in, without being asked. A graphics card computes with about seven decimal digits, and past a certain magnification the difference between two neighboring pixels falls off the end of that — which is why a zoomed-in fractal used to dissolve into flat rectangles. The layer now computes with roughly seven more digits when it needs them, moving that point from a magnification of about a hundred thousand to about a million million. It switches over by itself, and the moment is chosen from how much room the arithmetic still has for *this* layer at *this* size and position, not from a zoom number — a layer placed off to one side runs out sooner than one under the middle of the view, and a layer the view is centerd on never runs out at all. The extra digits cost speed, so they are only turned on where they are about to be needed, and everything up to roughly two-thousandfold magnification runs exactly as fast as before. Unlike the deep-zoom layers this is still the ordinary Mandelbrot, so the coloring methods, the orbit trap and the lighting all keep working; for the very deepest zooms the dedicated deep-zoom layers still go further. Under Arithmetic precision you can also pin it to always-normal or always-high, and a layer tilted in 3D stays on the ordinary arithmetic either way.
  • The Mandelbrot's iteration count follows the zoom too. Precision was only half of what runs out with depth: the further in you go, the longer points near the edge of the set take to escape, and once they take longer than the iteration budget allows they are counted as being *inside* it. That failure does not look like a fault — it looks like the picture filling in with black — which is why it is easy to mistake for the shape itself. Iterations is now set to "automatic" on a new Mandelbrot layer and grows with the magnification; the count in use is shown when you hover the dimmed field beside it, and switching to "fixed count" hands it back to you. The ceiling for a fixed count has gone up from 1 200 to 20 000, because at these depths half the pixels around an edge want more than a thousand. Beside the mode there is an Iterations × multiplier for the neighborhoods the average does not reach — around a mini-set the hardest hundredth of the pixels can want ten times what the middle of them do — and it takes a formula like any other parameter. Projects saved earlier keep the count they were saved with — only layers added from now on start out automatic.
  • Formulas can read the zoom. Two new variables: zoom is how far the camera has zoomed in — 1 at the opening view, 1000 at a thousandfold magnification — and depth is the same thing in powers of ten, 0 at the opening view and 3 at a thousandfold. Zooming is geometric, so depth is usually the one that behaves in an expression. Anything a formula can drive can now follow the zoom: the iteration multiplier, a rotation that turns as you fly in, a color that shifts with distance. During playback they report the camera the frame is actually drawn with, interpolated between keyframes rather than taken from either end.
  • The picture behind "smooth + angle" can be placed. That coloring method reads a two-dimensional lookup — how long the orbit took across one axis, which direction it left in across the other — so with an image palette it paints your own picture into the fractal. Until now you got whichever part of it happened to land in view: the second axis arrived raw, with no scale and no offset, and the edges always repeated. Six new controls fix that — scale and offset for each axis separately, a rotation in quarter turns, and what happens past the edges: repeat, mirror, hold the edge, or leave it transparent. All of them work in the shader before the picture is read, all take a formula like any other parameter, and all are dimmed unless that method is selected. Six of the escape-time fractals offer it, Mandelbrot and Julia among them. At their defaults nothing moves: an existing project looks exactly as it did.
  • A new fractal in the toolbox: Julia (Deep Zoom). The ordinary Julia layer runs out of precision after a few thousandfold magnification and dissolves into rectangular blocks; this one keeps going down to the very bottom of the zoom range. It works the way the deep-zoom Mandelbrot does — one point is followed in double precision and every pixel is then measured against it — and it takes the same constant c, so a Julia set you like can be recreated here and flown into. Where even this runs out, it falls back to what the ordinary layer would have drawn rather than to nothing, so it is never the worse choice of the two.

Mejoras

  • A parameter can be put back where it started. A small ↺ appears beside any parameter that has been moved off the value its layer type was designed around; clicking it goes back, and double-clicking the slider does the same for anyone who already reaches for that. Because the mark is only there while something has been changed, a glance down the panel now also answers the question you actually ask more often — which of these did I touch? The placement rows deliberately have none: a layer sitting where you dragged it differs from an offset of zero forever, so the mark would be permanent and say nothing.
  • The English interface is written in American spelling throughout — color rather than colour, center rather than centre, analyzed rather than analysed. The German interface is untouched, and so are the names inside a saved project: a parameter has always been called colorScale, and could not be renamed without breaking files in the wild.
  • The color scale reaches 100 instead of 10, and the two image scales of the 2-D coloring method reach 100 instead of 20.
  • Sliders that span orders of magnitude now travel in ratios. On a range from a twentieth to a hundred, a linear slider spends its first three percent on everything anybody actually sets and the remaining ninety-seven on one unusable sweep. Those sliders now move by a constant factor instead of a constant amount: the middle of the track is the middle in the sense that matters, every tenfold step is the same distance along it, and fine control near the bottom no longer costs you the top of the range. It affects the rows where the range really does cover orders of magnitude — color and image scales, pattern frequencies, radii, particle-attractor constants — and leaves the rest alone, since a slider from 0 to 1 was never the problem. Only the control changed: the numbers in a saved project, in a keyframe and in a formula are exactly the numbers they were.
  • A fractal placed small can now be zoomed into as deeply as one filling the whole page. Until now it could barely be entered at all: the picture was worked out in coordinates of the page rather than of the layer, so a layer sitting away from the center spent its precision on saying WHERE it was instead of what it contained — and making it smaller did not help, because the detail was already gone by the time the layer’s own size was divided out. Each layer is now given the view in its own coordinates, computed in double precision before the graphics card sees it, so every one of them starts from the same full budget wherever and however small it sits. What this does not do is push the limit itself further out; it brings every layer up to it.
  • A layer can be placed at any depth the view reaches. The warning that a view was "deeper than an ordinary layer can be placed in" is gone, and so is the limit behind it: both described a restriction that no longer exists now that each layer is given the view in its own coordinates. Placing a layer at the very bottom of the zoom range now leaves it looking exactly as a full-page layer looks when the app opens.
  • The scale row in the transform block is a number field rather than a slider. It spans a ten-millionth to five, and on a slider that wide the everyday range was a couple of pixels — a typed value like 0.0001 snapped to the smallest setting instead of being kept.

Correcciones de errores

  • The playhead always moves when you drag it. Pressing the timeline used to start selecting the text of the tick labels — invisible while the pointer is down, because it looks exactly like scrubbing, but it left a selection lying there. Press inside that selection next time and the browser dragged the text instead of the playhead, so the playhead would sometimes refuse to move for no visible reason. The timeline no longer offers its labels for selection; the fields you type into still do. The same fault was found and fixed on the canvas, where the drag hint sits under the pointer.
  • Angle and rotation sliders can be set back to zero. Their range ran from -3.1416 in hundredths, and zero is not one of those steps, so the nearest a slider could get to straight was -0.0016 — small enough to be invisible and large enough that a rotation would never quite settle where it was put. This affected the layer rotation and eight further angle settings, among them the gradient angle, the kaleidoscope and the shape rotations. The very ends of the range give up a twelfth of a degree in exchange.
  • The deep-zoom Mandelbrot no longer paints colored rings over the empty space around the set. Pull the view back far enough and everything on screen escapes on the very first step, which gave it a negative escape time that wrapped around the gradient instead of falling off the start of it — so what should have been transparent came out as bands of solid color, and the layer could not be nested inside another. The ordinary Mandelbrot was given exactly this fix some time ago; the deep-zoom one kept a second copy of the same formula and did not get it. Both now use the same one, so the two also color identically for the same settings — existing projects may show a very slight shift in where the gradient falls on a deep-zoom layer.

Versión 1.30.0

Nuevas funciones

  • Video and animated-PNG exports can compute motion blur. A rendered frame shows a single instant, which is why fast movement strobes rather than moving — a real camera leaves the smear its shutter collects while it is open. Switch it on and each frame is rendered several times across that interval and the results averaged: 2 to 32 sub-frames, and a second setting for how long the smear is, given as a share of the frame (half a frame is the cinema convention, a whole frame smears seamlessly into the next). The averaging happens in the full-precision floating-point image before anything is flattened or reduced to 8 bits, so a shape moving across a transparent page blurs into partial transparency instead of into a dark fringe. Every sub-frame is a complete render, so the export takes correspondingly longer — the estimate in the dialog measures with the setting switched on rather than guessing a multiple, because a scene whose expensive layers happen to stand still costs far less than the sub-frame count suggests.

Correcciones de errores

  • Objects can be placed inside a zoom. A new "Place in the view" button in the transform block puts a layer in the middle of what you are looking at, at the size it has when the app opens — which is the only practical way to do it once you are zoomed in, because the offset and size needed down there run to more digits than anyone can drag or type, while the view knows them exactly. It works for any layer, not just text.
  • A layer can be made far smaller than before. The smallest scale was a tenth, which at any real zoom left the smallest available layer many times the size of the picture; it now goes down to a ten-millionth, and very small values are shown in exponent form instead of as "0,000". Where the view is zoomed in further than an ordinary layer can be positioned at all — position and size are computed in single precision, which runs out at around a millionth — the inspector now says so, rather than accepting the placement and quietly ignoring it.
  • The deep-zoom Mandelbrot goes up to 100 000 iterations instead of 4000. Deep magnifications are exactly where structure stops separating until tens of thousands of iterations have been spent, and the old ceiling stopped the layer well short of what its own precision can reach. Nothing but time is spent on it — the reference orbit costs eight bytes per iteration, under a megabyte at the very top. Because a slider across that range moves in steps of a hundred, the iteration control on this layer is now a number field.
  • If the graphics device is ever lost, the app says so instead of quietly freezing the picture while every control keeps working. The usual cause is a computation the driver decided was taking too long, which a very high iteration count can now provoke; the message names that and asks for a reload, and the project comes back from the session.
  • The deep-zoom Mandelbrot can be moved, scaled and rotated like every other layer. It had been ignoring its transform entirely — the sliders and any formula on them did nothing at all — because it is the one layer that cannot use the shared coordinate maths: at that magnification a world coordinate has no precision left to spare. The transform is now split so that neither half loses any: the offset moves the high-precision reference point, and the rotation and scale act on the tiny per-pixel distance from it. The three 3D rows (tilt X, tilt Y, depth) stay without effect on this layer and are now grayed out with an explanation, instead of quietly doing nothing: a perspective tilt cannot be expressed as a distance from a reference point.
  • A parameter formula now keeps working across a keyframe boundary. Formulas are stored with the keyframe they were attached to, and the later keyframe’s used to govern the whole segment on its own — so a formula set on one keyframe and not on the next did nothing at all, from the first frame of the segment. Both keyframes now compute their own result and the two are blended, exactly as every other value between two keyframes is: a formula on one side alone fades in or out over the segment instead of switching.
  • A finished export says so. Until now the dialog looked exactly as it had before the export started, so returning to the tab after a long render left no way to tell whether anything had happened at all. It now keeps a line naming the file it wrote and how long it took, until the dialog is closed or the next export begins — and the same line reports a failure or a cancellation, where a failure used to be an alert box that vanished the moment it was dismissed.
  • Exporting a second video or animated PNG without closing the dialog asks where to put it again, instead of silently writing over the file just made. The destination is remembered only until it has been used; a canceled export keeps it, so retrying does not mean finding the same folder twice.
  • The estimated export time now appears even when the video dialog is opened during the first seconds after the app starts. The toolbox spends that time pre-rendering its 96 tool previews, and the estimate is measured by rendering a few real frames — which the app refuses to do while it is already busy. It gave up at that point and never asked again, so the estimate simply stayed missing for as long as the dialog stayed open. It now waits for the preview rendering to finish and measures then.

Versión 1.29.0

Nuevas funciones

  • The interface speaks English as well as German, and a switch beside the color scheme changes it on the spot — no reload, and whatever you were working on stays exactly where it was. Everything moves together: the toolbar, the tool names and their groups, every parameter label, the timeline, the export dialogs, the formula help and the error messages, down to the tooltips and the labels a screen reader announces. On a first visit the app takes the language from the browser and remembers what you pick afterwards. The two buttons are marked DE and EN and each names its language in its own language, so the one you want is recognizable even when the interface in front of you is not.

Mejoras

  • Numbers are written the way the language around them writes them: 1,5 in German and 1.5 in English. Previously they followed the browser rather than the interface, so an English panel could show a color scale of "1,000" — which reads as one thousand, not as one.
  • German quotations are closed with a German quotation mark. Fourteen of them across the export dialog, the timeline, the layer list and the toolbar opened with „ and closed with a straight ".

Versión 1.28.2

Correcciones de errores

  • The page now declares German as its language. It had been announcing itself as English while showing a German interface, which is what a screen reader goes by when it chooses how to pronounce the words on screen.

Versión 1.28.1

Correcciones de errores

  • The "Text" tool in the toolbox is legible under the light color scheme. Text is written in white by default and covers only a few percent of its tile, so against the light background of that scheme there was practically nothing to see. The word now stands on a dark plate with a bright rim — one for each color scheme, since the tiles are drawn once when the app starts and cannot be redrawn when the scheme is switched. The tile is still a real render of the text layer, and creating one still gives exactly what the tile shows.

Versión 1.28.0

Mejoras

  • The "Bild" and "Video" tools in the toolbox finally show something. Every other tool tile is a real render of what that layer does, but a media layer has nothing to render until you give it a file — so those two came out as empty squares, which looked like a layer with nothing to offer rather than one waiting for a picture. Both now show what the layer is for: a photograph standing on a plane in the scene, tilted the way the layer's own 3D transform can tilt it, and for the video the same plate with two earlier frames receding behind it and a play mark on the front one. Warm for the picture, cold for the clip, so the pair is told apart at a glance.

Versión 1.27.1

Correcciones de errores

  • The toolbar button that opens the image export is called "Bild" again, not "PNG". PNG is one of the formats it offers, not the only one, and the button had kept the old name.

Versión 1.27.0

Nuevas funciones

  • A still image can now be saved as JPEG or WebP as well as PNG. The list offers only what this browser can really encode — asked by encoding a single pixel and checking what came back, because a browser that cannot write a format does not say so, it quietly hands back a PNG. So the file always matches the name it is given.
  • The picture can be copied straight to the clipboard instead of being saved, at the resolution set in the dialog. The clipboard always takes PNG, whichever file format is selected; that is the only image type browsers accept, so it is not a setting.
  • JPEG has no transparency. Where the page is not fully opaque the dialog says so before the export and shows the color the transparent areas will be filled with, so a picture on a transparent page cannot come out unexpectedly black.
  • The still export can now write into a file chosen in your own save dialog, the way the video export already does.

Correcciones de errores

  • A still image exported while the animation was playing, or while a formula was driving a parameter, showed the plain document instead of the frame on screen. It now exports exactly what the viewport shows, and it pauses the live preview for the duration like every other export — an edit made mid-render could previously disturb the export in progress.

Versión 1.26.0

Nuevas funciones

  • The program version is shown beside the title in the header. It is read from the application itself rather than written down a second time, so it cannot drift, and it gives a bug report something exact to name.

Versión 1.25.0

Mejoras

  • Two windows of the editor no longer delete each other's media. The browser store belongs to the address, not to the window, and saving in one window used to mean "keep exactly these files and drop everything else" — which was the truth about that window and not about the other one, whose pictures, clips and music went with it. A window now deletes only files it is holding itself, and the rule is that simple: anything the other window added is left alone.
  • Media a project no longer uses are released at start-up as well, not only when a project is saved. Everything ever loaded and then stopped using stayed in browser storage indefinitely — a replaced video clip is easily sixty megabytes that nothing will ever ask for again. What the restored project points at is kept, the rest is given back. Note that browsers reclaim the freed space in their own time, so the reported usage may take a while to fall.
  • Picking a file no longer rewrites the files beside it. Loading a small picture used to write every embedded clip and song to storage again.

Correcciones de errores

  • Removing the soundtrack with ✕ now really removes it. The reference lived on in the project, so the track was written into every later save, counted as still in use by the clean-up, and re-opened on the next reload.

Versión 1.24.2

Correcciones de errores

  • Editing the stops of a gradient made from a picture no longer loses the picture. When two layers share a gradient, the first edit splits it into a copy of its own so the other layer keeps what it had — and that copy was taking the stops but not the picture, leaving the plain black-to-white ramp that is only meant to stand in while a picture is loading. It struck at the worst moment: the first edit such a gradient invites is dragging its opening stop down to fade the shape out.

Versión 1.24.1

Correcciones de errores

  • Loaded music comes back after a reload, like everything else in a project. The file was being kept — it was in the browser store the whole time — but nothing put it back behind the reference the session had recorded, so a project returned looking complete with the track it was cut to silently gone. Pictures and video clips never had the problem because a layer points at them and the renderer looks them up on every frame; music has no such consumer, so it needed a step of its own.
  • A loaded track now records which file it came from. It never did — the note was written and then wiped a line later — with two consequences: a reloaded project could not find its music even when the file was right there, and saving a project could drop the music from the browser store, because the clean-up keeps only the files a project still points at and the soundtrack was not among them. Older projects are recognized by the file name and size instead, and repair themselves the moment the track is opened.
  • A very large session no longer loses its music. When the stored session outgrows what the browser allows, it now gives up the keyframes — which are what make it large — instead of the whole animation, so the soundtrack, the duration and the frame rate survive.

Versión 1.24.0

Nuevas funciones

  • A picture used as a gradient can now fade a shape out at its edge. The color stops stay editable beside the picture, and their transparency now applies to it: the picture says what color, the stops say how visible. That is how the built-in gradients have always let a fractal fade into the background — they simply start from a transparent stop — and a picture could not do it at all. Set the first stop to 0 % and the shape fades out exactly as with Fire or Ice. A picture that brings its own transparency keeps it; the two are combined rather than one replacing the other. A newly loaded picture starts with the same soft edge every built-in gradient has, and one click on that first stop turns it off again.

Problemas conocidos

  • A gradient made from a picture that you loaded before this version keeps the color stops it had. If those stops were left partly transparent, that transparency now shows in the picture where it previously did nothing — set the stops to full opacity to get the earlier look back.

Versión 1.23.2

Correcciones de errores

  • The outside of a fractal stays transparent however far the view is zoomed out. Two things were wrong at once. The iteration count was measured from the wrong reference point, so it did not read exactly n on the escape line as it should; and points that were already outside the escape radius before the first step — the whole picture, once you zoom far enough out — were given a negative count, which wrapped round the gradient from its transparent start to its opaque far end. That is where the pale yellow came from, and why it grew the further out you looked. The count is now measured from the escape radius and never runs below zero, so everything that escapes at once shares the start of the gradient at any zoom.

Versión 1.23.1

Correcciones de errores

  • The area outside the Mandelbrot and Julia sets is transparent again. Correcting the iteration count in 1.23.0 also slid the whole picture along its gradient by one iteration, and out there the picture is flat enough that a single value covers a large region — so the outside slipped off the transparent end of the gradient and filled in with color. The count now uses the standard constant, which puts the outside back where it was.

Versión 1.23.0

Mejoras

  • The relief lighting of the Mandelbrot and Julia layers is now computed exactly instead of being estimated from neighboring pixels. A graphics card can only measure a slope across a block of two by two pixels, so on a soft color transition the light came out in steps — visible as stair-stepped contour lines running through an otherwise smooth surface. These two fractals carry enough information to state their slope outright, and now do, so the shading is smooth to the pixel. The other lit fractals keep the previous method, which is all their maths allows; the light falls the same way in both, so layers of either kind can be mixed in one picture.

Correcciones de errores

  • Escape-time fractals no longer draw a faint step at every color band edge. The smooth iteration count, which decides where one band ends and the next begins, was computed with half the correct smoothing, so neighboring bands failed to meet by half an iteration. It was subtle in the colors and unmistakable with the lighting on, where every band edge picked up a lit line. Colors within a band are now spread over the whole band instead of half of it, so existing projects show the corrected, wider spacing.

Versión 1.22.1

Correcciones de errores

  • Lighting no longer changes when the display quality is changed. The shading read the slope of the color field between neighboring pixels of the render target, so at double the sampling the same picture reported half the slope and was lit as a flatter surface — turning the quality up did not sharpen the relief, it remodelled it, and an export at another size would have been lit differently again from the preview it was designed in. The slope is now measured over the page, so the relief looks the same at every quality and the export matches what is on screen.
  • The lighting no longer draws hard pixelly lines along the edge of a set. Where the picture jumps from inside to outside, neighboring pixels differ by a step rather than a slope, and that step was being lit as though it were a near-vertical wall. Such an edge is now shaded flat, and the transition to it is gradual, so the surfaces the light is meant to model stay exactly as they were.

Versión 1.22.0

Mejoras

  • A picture used as a gradient is now an entry in the gradient list, chosen exactly like Fire or Ice and marked with 🖼. It was a second control beside that list, which left the obvious question unanswered: if one says Fire and the other names a file, which of the two is in effect? A gradient made from a picture is a gradient, not a mode of one — so it belongs in the same list. "🖼 Bild laden …" at the end of it loads one and selects it; the picture keeps its place in the list afterwards, so switching back and forth costs nothing.

Versión 1.21.3

Mejoras

  • A fractal with its lighting switched off now runs exactly the shader it ran before lighting existed. The light used to be a switch inside one shader, which meant every layer carried it whether it was on or not — including two per-pixel operations that only the lighting needs. It is now a separate compiled variant, chosen when the slider leaves zero, so the feature costs nothing at all to the layers that do not use it.
  • The interior of a set no longer computes the coloring value it then discards. That had crept in with the lighting and cost every interior pixel two logarithms, which on a deep zoom is most of the picture.

Versión 1.21.2

Correcciones de errores

  • Dragging or zooming at a preview resolution below 1× no longer renders at full resolution while the hand is moving. The rule that a gesture drops the preview quality was written when the setting could only go up, so it lowered everything to 1× — which at a quarter meant sixteen times the pixels, spent during exactly the gesture the setting exists to make bearable, and thrown away the moment it ended. A gesture may now lower the resolution and never raise it.

Versión 1.21.1

Mejoras

  • Loading a picture as a gradient now sits next to the gradient selector, where the question is. It used to live inside the color-stop editor, behind a collapsed section — a choice about what colors a layer, hidden under a detail of editing one. The button carries the file name once a picture is chosen, and an ✕ beside it returns the layer to its color stops, which were kept all along.
  • The color-stop editor now says "Farbstops bearbeiten", which is what it does.

Versión 1.21.0

Nuevas funciones

  • The preview resolution can now go BELOW one: a half and a quarter render the page smaller and stretch it up, at a quarter and a sixteenth of the pixels. That is the knob that makes a heavy scene interactive again — the same picture, coarser, while you work. Above one it still supersamples as before, and the export is untouched either way.
  • Lighting from the field reaches twice as many fractals: Multibrot, Phoenix, Magnet, Sinus-Julia, Kali and Lyapunov join the six that already had it.

Mejoras

  • Choosing the coloring method "Glatt + Winkel (2D)" now says what it needs. Against an ordinary gradient it is *correctly* identical to "Glatt" — a gradient of color stops is one row tall, so the second dimension has nothing to give — which from the outside was indistinguishable from a control that did nothing. The inspector now names the requirement and where to load a picture as a gradient, and says so on the layer when a gradient already is one.

Problemas conocidos

  • Newton and Nova have no lighting. They color by which root was reached and by a whole number of iterations, both of which are flat inside a band and jump at its edge, so lighting them would draw outlines rather than relief.

Versión 1.20.0

Nuevas funciones

  • The fractal flame, as Apophysis and Electric Sheep draw it. Three affine maps are picked at random, one per step, and each is followed by a non-linear "variation" — a swirl, a sphere, a horseshoe, fifteen in all — and it is those that produce the wisps and filaments the form is known for. The color of a point is a running average of the transforms it has been through, which is the coloring model of the form rather than a decoration. Rotational symmetry turns a random tangle into something that reads as designed, and the seed is the "randomise" button every flame program has: the eighteen affine coefficients come from it, so exploring means turning one knob rather than eighteen.
  • A "Log-Dichte" effect, which is the display transform additive point clouds were defined with. A flame or an attractor accumulates: measured on a flame, 83 percent of the visible pixels sat in the darkest two fifths while a handful burned out at full white. The logarithm separates them — after it, 85 percent sit in the middle and the faint filaments become visible at all. It applies to the particle attractors just as well.

Versión 1.19.0

Nuevas funciones

  • The orbit-trap coloring can measure the orbit against a shape, not just against the origin. A point, a line, a cross, a ring or a square, each with an adjustable size — this is where the pearl strings, the rings and the boxy, gearwheel-like textures of classic fractal artwork come from: what you draw is how close the wandering orbit came to a chosen figure.
  • Lighting from the escape-time field itself, on every escape-time fractal. The field's own slope is the surface slope, so a band reads as a lit, rounded surface rather than a stripe of color. The separate "Beleuchtung" effect works from the finished picture and remains useful on anything; this one has the field still in hand and is exact where that one has to guess. It is off by default, so nothing existing changes appearance.

Versión 1.18.4

Correcciones de errores

  • An animation export no longer demands keyframes. The duration and the frame rate belong to the project, not to the keyframes, so there is always something well-defined to render — and a still over a piece of music is a perfectly good video. Where nothing in the scene moves the dialog now says so as a note and exports anyway, instead of refusing.
  • A video layer counts as movement. A project consisting of a clip was treated as a static scene: the transport would not play it, the presentation button was grayed out, and the export refused. A clip has a running time and plays by itself.

Versión 1.18.3

Correcciones de errores

  • A video layer is audible when it is inserted. Its volume started at zero, so a clip added *because* it has sound was silent, the export dialog reported "Ton: ohne", and nothing said which slider was responsible. Muting is one drag; working out why a video is mute is not.
  • Embedded media survive a reload. The document came back from the last session still referring to its files, but the files themselves were never kept — so every picture, clip and soundtrack was silently gone from a project that otherwise looked intact. They are now stored alongside the session and read back on start. Browsers that refuse the storage (private windows, a full disk) behave as before: the media last as long as the tab.

Versión 1.18.2

Correcciones de errores

  • The sound of a video layer now follows its keyframes. If the start time, the speed, the trimmed length or the volume of a clip is animated, the sound moves with the picture instead of staying on the values the layer held when the export began — so a clip can be faded in, slowed down or re-cut over the course of an animation and still be heard doing it. The settings are read on exactly the same grid the picture reads them on, once per video frame, so the two cannot disagree.

Versión 1.18.1

Mejoras

  • Particle layers compute each point's path once instead of four times. Every corner of a particle used to re-run the whole trajectory, which is by far the most expensive thing these layers do; it now happens once, before the drawing starts. The picture is unchanged down to the pixel. At the highest point count the app allows this is a few milliseconds a frame — worth having, and less than the change in the amount of work would suggest, because on this hardware the paths were never the slowest part.

Versión 1.18.0

Nuevas funciones

  • A gradient can now be a picture. Load an image in the gradient editor and it becomes the gradient — as a two-dimensional one. Fractals that look up a single color take the middle row of it and need to know nothing about the change, so every existing layer keeps working. The picture travels with the project like the music and the video do.
  • A fourth coloring method for the escape-time fractals, "Glatt + Winkel (2D)", which uses both dimensions of such a picture: the smooth iteration count across it, and the angle at which the point escaped down it. Against an ordinary gradient it is identical to the smooth method, so it costs nothing to try.
  • The stops of a gradient are kept when a picture is loaded onto it. They are what colors the layer while the picture is still being read, and what returns if the picture is removed again — so trying this out costs nothing.

Versión 1.17.0

Nuevas funciones

  • A "Beleuchtung" effect that lights the picture as a relief. The image is read as a height field, a surface normal is taken from its slope, and that normal is lit from an adjustable direction and height, with diffuse shading and a highlight. This is what makes a band of a fractal read as a lit, rounded surface instead of a stripe of color — the quality that distinguishes classic fractal artwork. Unlike the existing emboss, which lays a gray derivative over the picture, this multiplies the color by a shading term, so the hues survive.
  • The height can be taken from brightness or from opacity. Opacity is the better choice on escape-time fractals with the preset gradients: those fade their outside to transparent, so opacity follows the fractal's own field, while brightness can crease where a gradient turns back on itself.

Versión 1.16.0

Nuevas funciones

  • A "Vorführen" button plays the finished work full-screen. Everything that exists to make a picture — toolbox, layers, inspector, timeline, the page outline drawn over the image, the transform handles — is gone, and the animation runs from the beginning and keeps running. Escape returns to the editor, exactly where it was left: presenting changes nothing about the project.

Versión 1.15.0

Nuevas funciones

  • The sound of a video layer now goes into the exported file, mixed with the music. It follows the layer's own settings — start time, speed, trimmed length, looping — because the audio is read through exactly the same time function that decides which frame is shown, so picture and sound cannot drift apart. A project whose only sound is a video clip now exports with sound; before, it needed music loaded.

Correcciones de errores

  • A video layer set to disappear at the end of its clip now falls silent with it, instead of carrying on unseen.

Problemas conocidos

  • If the start time or speed of a video layer is animated with keyframes, its sound follows the values held when the export starts, while the picture follows the keyframes. (Fixed in 1.18.2.)

Versión 1.14.0

Mejoras

  • Video export is faster. Each frame used to be copied through the processor three times on its way to the encoder — once to duplicate the pixels, once onto a canvas, once out of it again. It now goes straight from the renderer to the encoder. Measured at 720p, a frame costs 9.2 ms instead of 12.8; the gap grows with the resolution.
  • Transparent areas are filled with the page background by the renderer rather than afterwards on the processor, which removes another full copy of every frame and is where that work belonged.
  • Particle layers draw a third faster. Every corner of a particle re-runs its whole path, so drawing each one from four corners instead of six is a third less work for an identical picture.

Versión 1.13.1

Mejoras

  • The video export asks where to put the file instead of asking for a name. The browser's own save dialog does the naming, and the export writes straight there — so the name is entered once rather than twice, and the destination is settled before a long render starts rather than in the middle of one.
  • The export dialog says what it is going to do in one line — "MP4 · H.264 · Ton: AAC", or "Ton: ohne" — instead of repeating the sound in a sentence of its own underneath.
  • Every setting in the export dialog is locked while an export runs. Changing the resolution mid-render used to look as though it had taken effect.

Versión 1.13.0

Nuevas funciones

  • Two new tools under "Medien": Bild and Video. Both show a file from your computer, and both become part of the project, so it opens complete on another machine. They are ordinary layers in every other respect — they pan and zoom with the view, take the full 2D and 3D transform, blend, and can be masked, so a photograph can be tilted into a scene or a clip used as a texture for an effect above it.
  • The video layer is trimmed rather than played: a start time, a length, a speed (negative runs it backwards), and a choice of what happens at the end — hold on the last frame, loop, or disappear. Which frame is shown depends only on the position in the animation, so the exported file matches the preview exactly, however long the render takes.
  • A volume control for video layers, audible while the animation plays.

Problemas conocidos

  • The sound of a video layer is heard in playback only. An exported video carries the soundtrack loaded in the music panel and nothing else. (Fixed in 1.15.0.)

Versión 1.12.0

Nuevas funciones

  • The music is now part of the project. Saving embeds the audio file itself, so reopening the project plays it straight away instead of asking for the file again — and a project handed to somebody else brings its soundtrack with it. The original compressed file is stored, not the decoded samples, so a 7 MB song costs about 9 MB in the project rather than 30. The panel shows what the track adds to the file size.

Mejoras

  • Saving no longer carries files nothing uses any more. Replacing the soundtrack three times used to leave all three in the project, invisibly; only what is still referenced is written.
  • Saving with Ctrl+S and saving from the toolbar now do exactly the same thing. They were two separate implementations that had drifted apart, and the keyboard one wrote a slightly different animation.

Versión 1.11.0

Nuevas funciones

  • MP4 and WebM are now two separate entries in the animation export, instead of one "Video" that decided for you. The list only offers what this browser can really encode, so a format that would fail is not shown at all rather than failing an hour into a render. Each entry names its codec, so the choice reads "MP4 · H.264" against "WebM · VP9".
  • A transparency switch for animation export. Animated PNG keeps the alpha channel, so a page with a transparent background exports as a genuinely transparent animation. Switched off, the page background is filled in instead of leaving holes.

Mejoras

  • Picking a format now sticks. If the chosen container cannot carry the loaded soundtrack, the export stays in that format and comes out silent — and says so beforehand — instead of quietly handing back a different file type than the one that was asked for.

Problemas conocidos

  • Video with transparency is not possible, in any format. WebM could carry an alpha channel as far as the file format goes, but the video encoder built into the browser refuses to produce one, for every codec. The switch therefore stays grayed out for MP4 and WebM, with a line naming which of the two is responsible. Animated PNG is the way to a transparent animation.

Versión 1.10.1

Mejoras

  • Five more gradients, read off classic fractal artwork: Patina, Moos & Gold, Sepia & Elfenbein, Glut & Cyan and Pfau. Each is built around a complementary pair with a bright neutral between them, which is what makes a single band of a fractal read as a lit, rounded surface instead of a color sweep. They appear in new projects; an existing one keeps the gradients it was saved with.

Versión 1.10.0

Nuevas funciones

  • A video export is now written straight to a file you choose, instead of being assembled in memory first. A long export at high resolution used to need several gigabytes of memory for that assembly and could fail on the allocation; now the memory needed stays the same however long the video is.

Mejoras

  • The export dialog says which container and codecs will actually be used on this machine, and how the soundtrack will be embedded, instead of listing every possibility and leaving the reader to work out which one applies.
  • Browsers that cannot write a file directly still build it in memory, and the dialog now warns beforehand when that is likely to be too large.

Versión 1.9.3

Mejoras

  • Numbers are now written the way your browser writes them, so a German system reads 1,5 rather than 1.5 throughout the interface. Entry fields are deliberately left alone: they keep the machine form the browser requires, and so does the parameter formula language, whose text is stored in project files.

Versión 1.9.2

Correcciones de errores

  • The domain warp's animation slider moved the whole picture in a circle instead of animating the warp. It now drives the distortion itself, so the structure stays where it is while the filaments stretch and fold. It still loops seamlessly from 0 to 1. An existing project that keyframed this slider will animate differently — better, but differently.

Versión 1.9.1

Mejoras

  • Settings that the currently chosen mode does not use are now dimmed and switched off instead of inviting a change that does nothing — the hue and saturation steps of the posterize effect outside HSV and OkLCh, the duotone colors of the color halftone outside the duotone set. Hovering one says which setting brings it back into play.

Versión 1.9.0

Nuevas funciones

  • Posterize can now reduce colors in a chosen color model instead of only per RGB channel: HSV, or the perceptual OkLCh. Hue and saturation have their own step counts and can be left continuous, so the tones can be banded hard while every color keeps its own character — which is what stops the reduction from turning warm grays into mud. Existing projects are untouched: the per-channel behavior stays the default.

Versión 1.8.0

Nuevas funciones

  • A color halftone effect, with a choice of ink sets: four-color CMYK, three-color CMY without black, additive RGB for a screen look, and a duotone with two colors of your own. Each ink is screened at its own traditional angle, so the dots form rosettes instead of interfering with one another.

Versión 1.7.2

Correcciones de errores

  • Halftone dots turned into squares in the dark areas. Large dots now meet and merge with their neighbors the way ink does on paper, so the shadows close up through round shapes instead of a grid of tiles.

Versión 1.7.1

Correcciones de errores

  • The halftone effect turned transparent where its dots became small, instead of showing the paper. It now measures the image as it would look printed on the paper, and the sheet is as opaque as the paper color says — set that color's alpha to 0 for dots on a transparent page.
  • The background opacity slider jumped wildly while being dragged towards zero: the label beside it grew from a percentage to the word "transparent" and pushed the slider out from under the pointer.

Cambios incompatibles

  • A halftone layer now covers the page with its paper color rather than inheriting the transparency of what is beneath it. Projects that relied on the old behavior need the paper color's alpha set to 0.

Versión 1.7.0

Nuevas funciones

  • Four attractors that genuinely live in three dimensions — Lorenz, Rössler, Thomas and Halvorsen. Because the points now have real depth, the layer's 3D tilt orbits the cloud instead of turning a flat drawing, and nearer parts are drawn larger and brighter so the shape reads as solid. Put a formula on the tilt and it turns to the music.

Mejoras

  • Particle points can be colored by depth, which is the clearest way to read one of the three-dimensional attractors.

Versión 1.6.2

Correcciones de errores

  • The pulse on a tool preview that is still being drawn was too faint to see. It now has real contrast in both the light and the dark theme.

Versión 1.6.1

Mejoras

  • The tool previews now appear one by one as they are drawn, instead of the whole toolbox staying empty and filling in at once. A tile still waiting shows a gentle pulse, and one whose preview could not be drawn says so quietly rather than pulsing forever.

Versión 1.6.0

Nuevas funciones

  • A new kind of layer: attractor particles. Hundreds of thousands of points are each drawn onto a strange attractor and blended together, so density becomes brightness. Three maps are available (De Jong, Clifford, Svensson) and their four coefficients are ordinary parameters — put a formula on them and the whole figure breathes with the music.

Versión 1.5.0

Nuevas funciones

  • A layer's placement can now carry formulas too: position, scale, rotation, 3D tilt and depth can all be coupled to the music or to time. A group counts as one, so a single formula turns everything inside it together.

Mejoras

  • A rotation driven by a formula is no longer held to the slider's range, so a layer can keep turning instead of stopping after half a revolution.

Versión 1.4.2

Correcciones de errores

  • Starting a video export while the timeline was playing left the music running and every value in the interface moving, over a picture that stood still. Playback now stops before the export begins, the play button is unavailable while it runs, and the timeline says that the moving playhead is the export's progress rather than playback.

Versión 1.4.1

Correcciones de errores

  • Video export could fail at the moment it started, with a message about a module that could not be fetched. The two container libraries are now part of the application itself instead of being downloaded when an export begins, so a long render no longer depends on the network being there at that instant. The same applies to the audio analysis fallback.

Versión 1.4.0

Nuevas funciones

  • Formulas now work without a single keyframe: couple a few parameters to the music, press play, and the picture moves.
  • Every numeric parameter can carry a formula, not just a handful — whole numbers such as a recursion depth, and the individual parts of a vector or a color (the Julia constant, an alpha channel).

Mejoras

  • The slider stays put while a formula is being written, because the formula builds on its value.
  • A formula that is in force is now visible at a glance, and the examples are scaled to the parameter they belong to instead of always suggesting the same amount.
  • Deleting a layer no longer leaves other layers pointing at it, which used to make a masked layer disappear for no visible reason.

Correcciones de errores

  • Text and plant layers released their picture memory when deleted, instead of holding it until the page was closed.
  • Pressing the delete key while working on the timeline no longer deletes the selected layer.

Versión 1.3.0

Nuevas funciones

  • Point a section at a layer and it runs for exactly that part of the song — in at the start of the band, out at its end.

Versión 1.2.0

Nuevas funciones

  • Mark up the timeline with named sections and drag their edges onto the beat grid, so a song's arrangement is visible while you work.
  • Bring a layer in — or take it out — from a point in time onward, across every keyframe that follows.

Correcciones de errores

  • Exported videos carry their audio track. They were silent, while the export dialog reported a soundtrack.
  • A ping-pong export no longer bounces where the preview does not: with a soundtrack loaded, both now play forwards only.

Versión 1.1.0

Nuevas funciones

  • Load an audio file and see its waveform under the timeline, with keyframes snapping to a tapped beat grid.
  • Bind any continuous parameter to a formula that reads the music: base + bass * 0.4 makes a zoom breathe with the low end while the keyframed camera move continues underneath.
  • Playback follows the audio clock instead of a wall clock, so picture and sound stay together.
  • Video export now carries the audio track.

Mejoras

  • The export dialog estimates how long a render will take before it starts.

Versión 1.0.0

Nuevas funciones

  • First public release: layer-based editor with 58 generators and 33 effects, groups with their own effect chain, eleven blend modes and three masking modes.
  • Deep-zoom Mandelbrot via perturbation theory, and six raymarched 3D fractals.
  • Keyframe animation with Van Wijk and Nuij camera interpolation, onion skinning and ping-pong playback.
  • Export as PNG, animated PNG, MP4 or WebM video, and tiled 300 dpi PDF at physical page sizes.
  • Gradient editor with Oklab interpolation, alpha-aware stops and a browser-local palette library.
  • Light and dark theme that follows the operating system, and a browser-local autosave of the working session.

Problemas conocidos

  • No layout below desktop width, and no offline support.
  • Video export has no alpha channel; transparent areas are rendered black. (Since 1.11.0 they carry the page background instead.)