The latest release of the Pattern Generator software, version 2.0.4, introduces a multitude of exciting improvements and enhancements. From a completely revamped backend to a range of additional features and optimizations, this update aims to elevate the user experience and further expand the application’s capabilities. Let’s look into the details of each improvement:
The New Ultrafast 64-bit Processing Backend
In Version 2, one of the most significant changes is the complete rewrite of the application’s backend.
The initial version of the application utilized regular 64-bit floating-point values for all the necessary geometric calculations. Surprisingly, this proved to be a significant hindrance in further enhancing the precision and speed of the algorithm. Therefore, in this version, I introduced a value based on a 64-bit integer with a fixed precision of 10-6.
This makes some of the calculations slower, as floating-point values have to be converted into the integer-based ones, but it significantly improves the speed comparisons, which makes a huge impact on the used algorithms. Also, by using fixed-point math, there are no longer the nasty rounding errors I got from the floating-point calculations.
If some of the calculations feel slower than in version one, it is because I increased the precision of the algorithms. While before, I had some approximations in place, the new algorithms do precise geometric calculations.
The New Shape Browser Window

The new shape browser gives you a quick overview of all the new shapes I have introduced. And as you can see, I plan to add even more. Also, the currently disabled buttons “New”, “Edit”, and “Remove” will allow you to create and edit customised shapes that you can use in your patterns directly, without modifying the resulting SVG.
New Algorithms for Different Shape Arrangements
After rewriting the backend, I finally could extend the algorithms of the main engine. As I like to keep things open here as well, the user interface now correctly differentiates between the generator (“Point Grid”) and the used algorithm. Currently you can use the following algorithms:
- Largest Space First: This is the classic algorithm where the items are placed in order of the largest free space found in the canvas.
- From Outside to Inside: Starts placing the items at the edges of the canvas first.
- Closest to Center: Starts at the center, then progresses to the edges of the canvas.
- Left to Right: Starts placing items at the left side, then progresses to the right side of the canvas.
- Top to Bottom: Starts placing items at the top, then progresses towards the bottom.
- Diagonal: Starts at the top-left edge and progresses towards the bottom-right edge.
Also, there is a new slider “Random Placement”, where the exact result of the algorithm can be randomised. This randomisation works slightly different for each algorithm, best is experiment with a simple pattern so you can easily see how the result changes depending of the level of randomization.
Instant Update on Small Changes
If you simply change the colors, rotation, or overlap of the items, the preview is automatically updated without the need to recalculate all item positions. This makes playing with the style of the result much easier and is especially useful if generating the pattern takes a long time
Better File Handling and Operating System Integration
Like with many applications I originally wrote just for myself, the user interface of version one was not optimal. In this new version, I implemented a classic file handling system where you can open and save project files that store a given configuration. Also, the integration of the application into the macOS and Windows operating systems has improved, so you can work with the pattern generator like with any other application.
While the project files, despite the different file suffixes, are still in JSON format, sadly the exported files from version 1 are not compatible with version 2, as I made some major changes to the way I store the parameters.
New Adjustable Canvas Shapes

The new adjustable canvas shapes are another first look into future extensions. Besides the previously existing rectangle and ellipse shapes, there is a new triangle shape.
What’s new are the “frame ratio” and “frame shift” sliders that change the shape. For example, the rectangle shape shifts into a diamond shape, and the triangle iterates over all possible triangle locations and positions as you move the slider.
With the new canvas preview, you can instantly see how the new canvas will look.
Example Patterns
Here a number of patterns I created with version two of the pattern generator:
Free Downloads
This new version of the pattern generator is completely free, and you can download versions for macOS and Windows on its project page.
There, you will also find a manual that explains some details of the user interface.
Conclusion
I dedicated a significant amount of time to completing this latest release of the pattern generator. The main challenge I faced was deciding which ideas to incorporate into the new version. In order to avoid further delays, I made the tough choice to postpone many features and disable them for now.
As a result, you may notice some buttons in the user interface that are currently deactivated, but rest assured that these features will be added in future updates. I sincerely hope that the next release will not take as long to complete.
If you encounter any issues with the application, please don’t hesitate to reach out and report them. Additionally, if you enjoy using the application, I would be thrilled if you shared images of the patterns you create, as I’m always fascinated to see how it is being utilized.
Enjoy exploring the new release!