Release Notes

Function Playground

published: April 27, 2025 — last modified: May 14, 2025

Version 1.10

This maintenance release enhances both the reliability and performance of Function Playground, with a special focus on improving user feedback and export efficiency.

  • Smarter Preview Updates: Preview rendering is now significantly more efficient. The app reduces unnecessary re-renders, making interactions feel smoother and snappier. For operations that require more intensive computation, a new progress bar provides real-time visual feedback, helping users stay informed during longer preview calculations.
  • Binary STL Export: STL file exports have been switched to binary format, which offers smaller file sizes and faster downloads—especially important for detailed or high-resolution models. Since Function Playground runs entirely in the browser, this update also helps manage memory more effectively, avoiding issues with larger files.

Version 1.9

This release introduces two powerful new noise sources to Function Playground, expanding your creative possibilities for surface design.

The first, simply called Noise, generates a matrix of random values. You can control its resolution along the phi and z axes, and choose from various smoothing interpolation filters. This makes it a flexible tool for experimenting with everything from bold, blocky patterns to fine-grained textures.

The second is Perlin Noise, a renowned algorithm favored for producing smooth, natural-looking variations. It shines especially at lower resolutions, making it ideal for generating organic surfaces. Perlin Noise is often used in procedural graphics for terrain, cloud, or texture generation.

In addition, I’ve redesigned the palette items for inputs and operators to make them more intuitive.

Version 1.8

This release introduces two new non-repeating functions: Quadratic Bezier Curve and Cubic Bezier Curve. These functions are especially powerful for defining the overall shape or silhouette of your object.

While they excel at creating smooth, custom outlines, they also open up new creative possibilities when combined with repeating functions like Triangle or Sawtooth. By layering these together, you can craft complex, repeating patterns that still retain a sense of controlled curvature and elegance.

Version 1.7

This release focuses on making the user interface more intuitive and efficient.

  • Cell Editor as Page: The cell editor now opens as a dedicated page, replacing the function grid while editing. This change allows the preview to update in real time as parameters are adjusted. Compared to the previous modal window, this new layout offers a smoother editing experience and makes it easier to fine-tune parameters for achieving precise shapes.
  • Main Settings as Page: The main settings interface has also been restructured as a page that replaces the function grid, similar to the new cell editor. With settings and the preview now displayed side by side, it’s much easier to see the immediate effect of any changes.

Previously, both the cell editor and settings dialog were shown in a modal window, or below the palette that grew large. This interrupted the workflow and obscured the preview, making it harder to refine outputs. The new layout keeps everything in view, reduces context switching, and provides a clearer path for exploration and experimentation.

Version 1.7.1

This update includes a few small but helpful improvements:

  • Better Mobile Display: I adjusted the CSS to improve how the app appears on mobile devices. While Function Playground still isn’t optimized for mobile use, projects should now display correctly when viewed on a phone or a tablet with a small display.
  • Increment Buttons for Value Fields: Most input fields for parameter values now include plus and minus buttons. These make it easier—and more fun—to experiment with small changes when adjusting values.

Version 1.6

  • SMin and SMax Operators: I added a pair of soft minimum and maximum operators: log(exp(k * a), exp(k * b)) / k. With k=0, the functions act as regular minimum and maximum functions.
  • Combine Output with Left Cell: Also, I added the possibility of adding or multiplying the output from the left cell. Combining two functions horizontally is now possible.
  • Quadratic and Cubic Functions: There are eight new quadratic and cubic functions.

Version 1.5

This release brings an exciting new addition: the Blend Operator.

With the new blend operator, you can easily combine functions to smoothly blend shapes in and out of your surface. While similar results were possible before using standard function combinations, the blend operator streamlines this process into a single, powerful tool. It also provides a visual preview, letting you see the blend curve and adjust the ratio in real time. This makes creating organic transitions and custom surface effects faster, more intuitive, and much more enjoyable.

Version 1.4

  • Output Factor and Offset: You can now apply an output factor and offset to every cell, giving you finer control over cell outputs.
  • Output Operations: Apply new output operations to every cell, including Absolute, Absolute Negative, Clamp, Quadratic, Cubic, Multiply/Add cell result from above. These options provide more ways to shape your results.
  • Detailed Preview: Every cell now offers a real, interactive preview. Visualize curves based on phi or z for immediate feedback on your changes.
  • New Operators: Added Absolute, Power, and Clamp as individual cell operations, expanding your formula-building options.
  • Grouped Palette: Inputs, operations, and functions are now organized in grouped sections for quicker navigation and a tidier interface.
  • Fixes and Improvements: Resolved various small issues and improved the project structure to pave the way for future updates.

Version 1.4.1

  • Fixed a minor issue where combined phi and z were not correctly added.

Version 1.2

  • Direct Use of ϕ and z in Cells: You can now use ϕ (phi) and z (height) directly as inputs for function and operation cells—no need to place them in separate input cells first. This streamlines your logic, giving you more space in the grid for creative combinations.
  • Finer Phi Variation Control: The minimum value for ϕ-variation now starts at just 1°, allowing for subtle angular changes—perfect for fine-tuning delicate shapes.
  • New Reset Button in Preview: A Reset button has been added to the 3D preview area, making it easy to return the view to its original position with a single click.
  • Rotate Button for Live Preview: A new Rotate button enables continuous rotation of your design in the preview pane, making it easier to evaluate symmetry and overall form from all angles.
  • Minor Fixes and Improvements: Several small issues were resolved where certain data wasn’t displaying correctly in the Function Grid. Things should now be more reliable and consistent.

Version 1.1

  • Enhanced Palette Interaction: You can now apply a palette item to the grid by simply clicking (or tapping) it first, then selecting the target cell. This offers an alternative to drag-and-drop and makes mobile use more convenient.
  • Improved Visual Feedback: When a palette item is about to be applied, both the selected item and eligible target cells are highlighted with orange frames. This makes it easier to understand where actions will take effect.
  • New Input Types: Introduced two new inputs—distance and angle. While their full potential will be unlocked in a future update (with the upcoming overlap setting), they’re already available for experimentation.
  • New “Circle Wave” Functions: Added three variations of the new Circle Wave function. These generate connected sets of half-circles and are perfect for creating rounded, rhythmic patterns in your designs.

Version 1.0

  • Initial public release.