We are now on Facebook! www.facebook.com/groups/meltmixpix
Fractility 3.3 Web and mobile version ---- https://snicker02.itch.io/fractility
Please note clipboard options are disabled on web due to security restrictions by itch.io .
Fractility 3.3 download. Windows
If it shows no files please disregard and download anyway. They will be there.
Fractility 3.3 download. MAC
Fractility 3.3 Linux
Now on Github
https://github.com/snicker02/Fractility
Users manual
Fractility - User Manual
Welcome to Fractility! This is a real-time, interactive fractal art generator. You can manipulate visuals by using your mouse, keyboard, and the dedicated control panel.
The application has two windows:
Main Window: Shows the fullscreen visual output.
Control Panel: A separate window containing all the sliders, buttons, and options to customize the effect.
These are the most important keys for controlling the application.
U Key: Toggles the Control Panel's visibility. If you can't see your controls, press 'U'.
R Key (Hard Reset): Resets all parameters (transforms, colors, variations, etc.) to their default state and redraws the initial pattern. Use this when you get stuck or want a clean slate.
T Key (Soft Reset): Resets only the visual pattern but keeps all of your current transform and color settings. This is great for seeing how your current settings affect a fresh image.
The mouse is your primary performance instrument.
Translation (Moving the Image)
First, select what you want to move using the checkboxes in the UI. Then, click and drag with the left mouse button.
Move Checkboxes: Use the "Move" checkboxes in the UI to select which layers are affected by your drag. You can select multiple layers at once.
Scale & Rotation
Mouse Wheel: Controls the Post-Scale (zooms the final image).
Shift + Mouse Wheel: Controls the Post-Rotation (rotates the final image).
Ctrl + Mouse Wheel: Controls the Pre-Scale (zooms the underlying space).
Ctrl + Shift + Mouse Wheel: Controls the Pre-Rotation (rotates the underlying space).
Here is a breakdown of what each section in the control panel does.
This section controls the initial image that the feedback loop starts with.
Start Pattern Dropdown: Choose between "Gradient + Grid" or the "Circles" pattern.
Show Start Grid/Show Circles Checkboxes: These are contextual. They appear when their parent pattern is selected and let you toggle the pattern overlay on or off, leaving just the base gradient.
Gradient Controls: Four color pickers let you set the color for each corner of the starting gradient.
Circle Controls: These appear when "Circles" is selected.
Count: The number of circles tiled across the screen.
Radius: The size of each circle.
Softness: The blurriness of the circle edges.
This is the core of the fractal engine.
Top Dropdown (A): Selects the first fractal algorithm.
Bottom Dropdown (B): Selects the second fractal algorithm.
Mix: Blends between the output of Variation A (at 0.0) and Variation B (at 1.0).
This section controls the overall behavior of the feedback loop.
Amount: Controls the length of the "trails" or "motion blur." A high value (0.08) creates long, smooth trails. A lower value creates sharper, faster motion. This control is very touchy and should be used in small amounts
Here's a quick summary of how to use the new feedback range feature:
What it is: You now have two new spinboxes labeled "Feedback Range" (Min and Max) located just below the "Feedback Amount" slider.
How it Works: These spinboxes directly control the minimum and maximum values of the "Feedback Amount" slider above them.
Platform Defaults: The system automatically sets different default ranges depending on your platform:
Desktop: Defaults to a wide range (e.g., 0.0 to 0.1) for broad control.
Web/Mobile: Defaults to a very tight range (e.g., 0.0 to 0.02) to give you the fine-tuning needed to correct for precision differences on those devices.
How to Use:
For Presets: When you load an old preset, it will use your platform's default range. When you save a new preset, your custom min/max range values are saved with it.
For Tweaking: If you find a "sweet spot" for feedback, you can use the range spinboxes to "zoom in" in that area. For example, setting the range to 0.01 and 0.02 will make the entire "Amount" slider only move between those two values, giving you extremely precise control.
Automatic Clamping: If you change the range, the "Amount" value will automatically be clamped to fit inside it. For example, if "Amount" is 0.05 and you set the "Feedback Range" min to 0.07, the "Amount" will instantly jump to 0.07.
Seamless Tiling: When checked, the image wraps around the edges for an infinite scrolling effect.
Reset on Drag: When checked, the pattern will perform a "Soft Reset" every time you release the mouse button after dragging.
These controls allow for precise, non-mouse adjustments.
Pre-Transforms: Affect the coordinate space before the fractal math is applied.
Post-Transforms: Affect the final image after the fractal math.
The "Move" checkboxes in this area select these layers for mouse-drag control.
These two sections (A and B) appear when "Wave" is selected in the corresponding Variation dropdown.
Frequency: The number of waves.
Amplitude: The intensity or height of the waves.
Speed: The speed and direction of the wave animation.
These controls are applied to the final image to boost the colors.
Brightness: Adjusts the overall lightness and darkness.
Contrast: Increases or decreases the difference between light and dark areas.
Saturation: Adjusts the intensity of the colors, from grayscale to vivid.
You can now view and manipulate your fractal creations on different 3D shapes and real 3D fractals!
Simply check the "3D View" checkbox at the top of the controls. This will switch the main display from the 2D fractal to the 3D object.
Uncheck the box to return to the 2D view.
3D Shape: Use the dropdown menu in the "3D Shape" section to choose the object your fractal is mapped onto (Sphere, Cube, Quad, Prism, Torus).
Normal Strength: This slider controls how "bumpy" the fractal looks on the 3D surface. Higher values create deeper-looking details.
Scavenger Hunt: Added a mini-game where the user must find and collect fractal artifacts hidden inside the mathematical structures.
You capture the object by zooming in on them and they will disappear and that will give you a point. You will have to adjust the fractal variables to find the objects.
Smart Spawning: Implemented logic that detects which fractal is active (Mandelbulb, Menger, ABox, or ASurf) and spawns items within the correct physical bounds of that shape.
Score Tracking: Added a UI overlay to track collected items.
When you win the fractal will rotate... Click the auto rotate button 2 times to stop the rotations.
Adjust how the 3D shape is lit:
Light X/Y Angle: Rotate the main light source horizontally (Y Angle) and vertically (X Angle) to change where highlights and shadows fall.
Light Power: Controls the brightness of the light.
Color Picker: Changes the color tint of the light.
Enable Shadows: Toggles the shadows cast by the light and the subtle ambient occlusion effect (darkening in crevices) on or off.
Adjust your view of the 3D object:
Cam Distance: Zooms the camera in or out from the object.
Cam X Rotate: Tilts the camera up or down.
Cam Y Rotate: Orbits the camera left or right around the object.
Cam FOV (Field of View): Adjusts the camera lens angle, making the view wider or narrower (like a wide-angle or telephoto lens).
Free-Look Camera: Added a WASD + Mouse navigation - right click your mouse in the main viewer and use the keyboard keys to move Press W/A/S/D to fly (and Q/E to go Down/Up). And you can also move around the fractal with right click now.
2D Background: When checked, the live 2D fractal view will be displayed behind the 3D object (make sure the 3D viewport's background is transparent). When unchecked, the background will be a solid gray color.
When you are in 3D View, pressing the Save Image button will now save what you currently see in the 3D viewport.
If the "2D Background" option is checked, the saved image will include the 2D fractal behind the 3D object.
If you switch back to 2D View, the Save Image button will save the high-resolution 2D fractal as before.
Resolution Dropdown: Select the resolution for your saved image (from 1K to 8K).
Save Image Button: Opens a file dialog to save the current visual as a high-resolution PNG file. The filename will default to the current date and time.
You must have FFMPG installed to save animations https://www.ffmpeg.org/www.ffmpeg.org/
For program to save as mp4 you must add FFMPEG to system path. You only have to do this step one time. Instructions are here. ffmpeg to path
Speed: Select the speed variables under the variation and change them.
Feedback: Set feedback to a higher number then you would for images for example .8 or .9.
Save animations: Click the "start record" button and then press again to stop when you are ready. Opens a file dialog to save the current animation as a MP4 file. The resolution is based on screen size.
After downloading the Fractility app and unzipping, move to Applications folder (replace older version if you have an existing version installed).
Open Fractility app and you will receive a warning saying "Fractility" Not Opened. Apple could not verify “Fractility” is free of malware that may harm your Mac or compromise your privacy.
Click "Done" and open your system Settings.
Go to "Privacy & Security" and scroll all the way to the bottom.
You should see a message saying that "Fractility" was blocked to protect your Mac.
Click the "Open Anyway" button.
A message appears saying Open "Fractility". Apple is not able to verify that it is free from malware that could harm your Mac or compromise your privacy. Don’t open this unless you are certain it is from a trustworthy source.
Click the "Open Anyway" button.
You should then see another message saying Privacy & Security. You are attempting to open an app that may cause harm to your Mac or compromise your privacy. An Administrator’s Touch ID or password is required to allow this.
Use Touch ID, or click "Use Password…" and enter your system password.
Fractility will now open and you can use it to create.
Please note: You will have to follow these procedures each time you install Fractility on Mac.
List of changes
"The Chimera Update"
This release introduces powerful new variation blending, a robust preset system, and acknowledges the community algorithms that help power the fractals.
Added "Chimera" Variation: A brand new fractal formula has been added to the library! Explore this complex, hybrid variation to create organic, shifting patterns that blend multiple mathematical structures into one.
A special thanks to the fractal community for the mathematical foundations used in this update:
dc_gnarly: Adapted from original code by Brad Stefanov and Rick Sidwell.
vibration2: Adapted from original code by FarDareisMai.
Unique Modes: Includes adapted blending logic to support unique fractal variation modes.
Universal Loading: Fixed a critical issue where loading a preset wouldn't correctly switch the active Variation Panel. Dropdowns now "click" via code to ensure the correct controls are ready before data is applied.
3D Chaos Support: Rotation, Julia, Twist, and Wave parameters for Raymarching and Voxels now save and load correctly. (Previously, these would reset to zero).
Variable "Bleed" Fix: Fixed a bug where variables from a previous variation (e.g., "Sinusoidal") would stick around in memory when switching to a new one (e.g., "Gnarl"), causing corrupted save files.
Smart 3D Detection: The system now intelligently detects if a preset is meant for 3D View or 2D View.
Legacy File Support: Older 3D presets (created before v3.3) that lack the new "view tags" are now automatically detected based on their shape index and forced into 3D mode.
Voxel Grid Reliability: Voxel presets now correctly rebuild the 3D grid and re-apply texture/height settings upon loading.
Slider Sync: Fixed an issue where the math would load correctly, but the UI sliders would physically remain at their default positions. All sliders now jump to their correct saved values immediately.
Control cleanup: Selecting a variation now properly clears old automation data from memory, ensuring a clean slate for every preset.
------------------------
Version 3.2 introduces the "Voxel Landscape" engine—a new way to turn your 2D fractal art into 3D physical worlds.
🌟 New Feature: Voxel Grid Visualizer
Turn any 2D fractal into a living 3D terrain. The Voxel Grid reads the brightness of your fractal and extrudes it into a city of cubes.
It is a bit tricky to get started with it based on the a few factors. Here are good starting params. github.com/snicker02/Fractility-Presets/blob/main/voxel%20example.json
Resolution Control: Dial it down for a retro "Minecraft" aesthetic or up for a smooth, high-density sand look.
Gap Control: Adjust the space between cubes to create solid terrain or a floating grid of particles.
Massive Height: Use the new Height Scale to turn flat patterns into towering skyscrapers.
🎨 dynamic Materials & Lighting
Your voxels are no longer just colored blocks—they now react to the world around them.
Metallic & Roughness: Create surfaces that look like matte plastic, shiny chrome, or rough stone.
Glow (Emission): Make your fractal city glow in the dark, lighting up the scene based on the fractal's color.
Improved Shadows: New "Shadow Bias" controls eliminate visual glitches (shadow acne) for cleaner, sharper lighting.
🌀 Chaos Modifiers (Now in 3D!)
The powerful distortion tools from the Raymarcher have been ported to the Voxel Grid.
Galaxy Twist: Spiral your entire landscape into a DNA helix or galaxy shape using the updated distance-based Twist tool.
Living Waves: Turn the floor into a liquid ocean with Wave Strength and Frequency.
Wave Speed: An all-new Speed slider allows you to freeze time or create rapidly flowing ripples.
🛠️ Workflow & Quality of Life
Smart UI: The interface now automatically cleans itself up. When you select Voxel Grid, irrelevant sliders (like "Folding Limit") disappear, and only the tools you need are shown.
Robust Presets: The Save/Load system has been completely rewritten. Loading a preset now instantly switches your view to 3D, rebuilds the geometry, and restores all complex modifiers exactly as you left them.
Background Independence: Voxel materials now display their true colors even if the 2D background is turned off, preventing the "black mirror" effect.
------------------------
Now with Linux support!!!
True Interlocking Logic: Implemented a 4-way neighbor check algorithm that creates genuine puzzle tabs (not just wavy lines).
Distortion Engine: Added logic to identify individual puzzle pieces and rotate/scramble them independently based on a random seed.
Outline Mode: Added an "Outline Thickness" slider that draws crisp edges around the pieces, making the shape readable even without distortion.
Full Integration: Added UI panels, default saving, and shader routing for Jigsaw A & B.
Built a "Domain Warping" engine. Instead of drawing shapes (like circles or squares), this variation distorts space itself using layers of noise.
The Math (FBM): We used Fractal Brownian Motion. This stacks multiple layers of noise on top of each other.
Detail Slider: Controls how many layers are stacked. Low detail = blurry blobs. High detail = complex, rocky textures.
The "Tarantula" Look (Filaments):
Standard noise looks like puffy clouds.
We added a Filaments Slider that changes the math to Ridged Noise (1.0 - abs(noise)). This takes the "hills" of the noise and flips them inside out, creating sharp, electric veins that look like lightning or deep-space gas structures.
Galaxy Physics (Swirl):
We added a rotation factor that gets stronger the further you are from the center. This twists the amorphous clouds into a structured Spiral Galaxy.
Stars:
We added a final pass that checks for high-frequency noise peaks. If a pixel hits a specific threshold, it punches a hole through the nebula and renders a bright white dot, simulating a star field.
This was a tricky logic bug involving how Godot handles time vs. how the Browser records video.
The Problem: On Desktop, "Recording" means pausing the game and rendering frames one-by-one to save high-quality PNGs. The script was told: "If Recording is Active -> Stop Time."
The Web Reality: On the Web, we can't render frames one-by-one easily. We are screen-capturing the Live Video Feed.
The Fix: We updated the _process loop in main_controller.gd.
Old Logic: if not is_recording: time += delta (Time stops when you hit record).
New Logic: if not is_recording or OS.has_feature("web"): time += delta
Result: The fractal keeps moving/spinning while the browser records it, resulting in a smooth video file instead of a static image.
------------------------
Unified Logic: Combines the math of Lazy Susan (Circle), Lazy Travis (Square), and Lazy Jess (Polygon/Diamond) into one modular system.
3-Zone Architecture: Explicitly separates the image into Inside, Ring, and Outside zones.
Customizable Zones:
Inside: Choice of Twist, Weave (Travis), or Hole.
Outside: Choice of Inverse (Susan), Weave (Travis), or None.
Ring: Choice of Empty, Texture Stretch, Stripes, Checkers, Dots, Plasma, or Spiral.
Full Control: Added sliders for Offset (Center X/Y), Size, Space (Ring Width), Spin, Twist, and Softness.
Granular Simulation: Adapted the JWildfire "GlynnSim2" algorithm to GLSL.
Hybrid Engine: Combined the classic "Probabilistic Tearing" (Grain) of GlynnSim with the structured Ring Logic of Lazy Mega.
Controls: Added Radius, Thickness, Contrast (Noise Density), and Power controls.
------------------------
Added Popcorn Math: A trigonometric variation that "tears" the image into granular, velvet-like strands.
Controls: Scale, Strength, and Density (A & B).
UI Integration: Fully integrated into the Dropdown, UI Panels, and Save/Load system.
Orbit Trapping: Added logic to track how far pixels move and "trap" them if they go too far.
Shapes: Added Circle, Square, Cross, and Diamond trap shapes.
Styling: Added Softness (Feathering) and Invert (Tunnel vs Island) controls.
Integration: Works on top of any variation combination, turning soft feedback swirls into hard-edged geometric art.
Resolution Fix: Forced 16:9 aspect ratio for saved images (Desktop and Web) so they are always 2048x1152 regardless of window shape.
Shader Fixes: Corrected argument order in fractal_feedback.gdshader to prevent variable swapping.
------------------------
Scavenger Hunt: Added a mini-game where the user must find and collect fractal artifacts hidden inside the mathematical structures.
You capture the object by zooming in on them and they will disappear and that will give you a point. You will have to adjust the fractal variables to find the objects.
Smart Spawning: Implemented logic that detects which fractal is active (Mandelbulb, Menger, ABox, or ASurf) and spawns items within the correct physical bounds of that shape.
Score Tracking: Added a UI overlay to track collected items.
When you win the fractal will rotate... Click the auto rotate button 2 times to stop the rotations.
Free-Look Camera: Added a WASD + Mouse navigation script, allowing the user to fly through the fractals like a spaceship. Right click your mouse in the main viewer and use the keyboard keys to move Press W/A/S/D to fly (and Q/E to go Down/Up). And you can also move around the fractal with right click now.
Collision Detection: Added a PlayerHitbox to the camera to detect interactions with game objects.
Depth Buffer Fix: Solved the "X-Ray" issue. 3D game objects are now correctly occluded (hidden) by the fractal geometry using a custom Depth write in the raymarch shaders.
Fractal Artifacts: Replaced generic spheres with randomized, spinning Crystals, Data Cubes, and Pyramids.
Neon Materials: Added rim lighting, roughness, and emission to game objects to make them pop against the fractal background.
------------------------
Added "Amazing Surf" Raymarcher: A new geometric fractal variant based on the Mandelbox but without the spherical inversion.
Unique Characteristics: Creates intricate, bismuth-like square tunnels and sweeping architectural planes.
Fully Integrated: Supports all new modifiers (Twist, Wave, Rotation) for organic/liquid effects.
Twist (X, Y, Z): Allows non-linear spiraling of the fractal geometry (Drill/Tornado effects).
Wave Distortion (Strength/Frequency X, Y, Z): Adds organic ripples and liquid effects to hard geometric surfaces.
Julia Offsets (X, Y, Z): Allows "exploding" the fractal or morphing it into disjointed islands.
Fold Rotation: Rotates the coordinate system inside the loop for complex structural mutations.
Quality Dropdown: Added UI for Performance, Balanced, High, and Ultra.
Dynamic Stepping: Shaders automatically adjust math load (step size/loop count) based on the setting.
Visual Polish:
Distance-Based Normals: Eliminated distant "glitter/noise".
Atmospheric Fog: Smoothly fades distant geometry into darkness.
Optimized Loops: Added bounding sphere checks and fog culling to save GPU power.
Unified Displacement: Consolidated conflicting sliders into one master control.
Smart Visibility: Raymarch controls hide automatically when using Standard Meshes.
Camera Fix: Set Near Clip to 0.001 to prevent slicing the fractal face when zooming in close.
------------------------
The introduction of 3D fractals
added mandelbulb, amazing box, and menger sponge
They all have displacement you can add - The Abox is not quite the same... maybe fixed in next release.
They have Texture mix and scale variables
smoothness also works with the displacement.
3D fractals are not my main focus for the program but thought they would be fun to have. Maybe more will come? Let me know what you think?
Bug fixes
fixed issue where the 3D objects/fractals were off center but rendered in the center correctly. Still not perfect there is a slight squish when you render but it is way better now.
------------------------
True 3D Displacement Engine:
Moved from simple meshes to a high-poly, vertex-displaced terrain system.
Implemented Triplanar Mapping for Cubes and Prisms (textures wrap seamlessly around corners).
Implemented "Terrain Mode" for Quads (creates solid, watertight floating islands).
3D Visual Enhancements:
Auto-Rotation: Added a toggle and speed slider for "Turntable" style viewing.
Dynamic Surfaces: Added logic to make valleys "wet/shiny" and peaks "dry/matte" based on brightness.
Smoothing: Implemented a custom 9-tap blur shader to remove jagged spikes from noisy fractals.
Solid Bases: Added "Limit Top" logic to keep the bottoms of objects flat while displacing the tops.
Emission Control: Added a slider to balance object glow with scene lighting.
Critical Fixes:
Mac OS Support: Fixed FFmpeg pathing issues for Mac users by checking Homebrew locations.
Video Timing: Decoupled recording speed from rendering speed to ensure perfect 60 FPS playback without speedups.
3D Recording: Fixed compositing so 3D objects record correctly over 2D backgrounds with accurate color grading.
------------------------
11-19-25 Version 2.4 Changelog
The "Smart" Randomizer:
Added a "Randomize Active" button with a collapsible settings drawer.
Granular Control: Options to include/exclude Variations, Parameters, Animation Speed, and Colors.
Smart Feedback: Automatically adjusts feedback levels to prevent "black screens" when switching modes (0.98 for static, 0.9 for animated).
Startup Randomization: Added a preference to generate a random fractal immediately upon launching the app.
Persistence: Randomizer settings are now saved to a config file and remembered between sessions.
------------------------
11-18-25 V2.3 New Facebook group - https://www.facebook.com/groups/meltmixpix
Universal Animation: Every single variation (from Apollonian to Wave) now has full Speed controls for its parameters.
Code Architecture: Replaced hundreds of lines of hard-coded UI logic with a modular VariationPanel system.
Shader Logic: Moved all animation math into the shader for better performance and cleaner logic.
Rep-Tiles Unified: Created a single set of "Zoom" and "Rotate" controls that apply to all Rep-Tile variations (plus the Custom 2x2).
New Features:
Added variables to variations which did not have them for animation purposes.
Pause Animation button.
3D Animation Recording (fixed the bug where it only saved 2D).
Truchet Modes: Added opacity mixing for smoother transitions.
Kaleidoscope/Mirror: Added rotation parameters for smoother animation.
------------------------
11-13-25 V2.25 First steps in animation. Right now only Waves and Clifford work using new speed variables. Also if using animation/speed you have to up the feedback amount to .8 or .9. Next I plan to add speed controls to more variations.
------------------------
11-11-25 V 2.2 Added new start up image concentric rings. Added Truchet variation with 3 total modes. Fixed bug where mouse zoom was inconsistent with variations.
------------------------
11-8-25 V2.1 added Clifford and DeJong attractors. I plan on adding a lot more variations so code wise working on streamlining that.
------------------------
11-7-25 V2.0 Did a big refactor and made the UI panel part of the main screen which turned out a lot harder then I thought it would be. Fixed a lot of bugs.
------------------------
10-27-25 V1.4 Features ---Implemented 3D mesh objects --- Implemented GPU-based normal map generation. --- Added 3D light controls (rotation, energy, color, shadows).---Added 3D camera controls (distance, rotation, FOV). --- Added option to show the 2D fractal as a background in 3D view. ---Added SpinBoxes to 3D UI controls
------------------------
10-23-25 V1.3 After talking to my wife Dawn about my program she helped me come up with a new idea to help with the feedback issue. I have added Feedback Range (Min and Max) sliders. These spinboxes directly control the minimum and maximum values of the "Feedback Amount" slider above them which should really help where the feedback make a "muddy" image. While I was working on feedback I also fixed the sliders to work how they should ... Before they worked in reverse 1 = nothing .99 get feedback. Now 0 = nothing and .1 get feedback. Unfortunately This will break any old presets you may have. But by default you should still get some image back even if it is not exact.... Play with the new spin boxes. I have also added 10 new rep-tile variations that can be found under the type dropdown. They are T-tetromino, Sierpinski Carpet, Gosper Island, Carpet (Corners), Carpet (Cross), Pentagonal Tile, Diagonal Carpet, Penrose Star, Hex Tile, and Twindragon Tile
------------------------
10-22-25 V1.2 There were 2 additions to the Rep-Tile variation Sphinx and a Custom 2x2 with variables.
------------------------
10-21-25 V1.1 Started adding Rep-Tile variations starting with L-tromino. Added Trigonometric variations ArcTangent, Cosine, Hyperbolic Cosine, Hyperbolic Sine, and Tangent.
------------------------
10-20-25 V1.0 added version number to UI and preset. Added new Apollonian variation that is based on apollonian gasket but it is different.
------------------------
10-19-25 V0.94 Added preset/parameter file/clipboard export/import. See the bottom of the ui screen. Please note clipboard options are disabled on web due to security restrictions by itch.io .
------------------------
10-16-25 V0.8 Added image loading and Perlin noise for background images.
------------------------
10-12-25 added mobius variation and bug fixes with circle pattern.
------------------------
10-10-25 Added X/Y mirror and kaleidoscope variations.
------------------------
10-8-25 Improved color grading so it does not iterate. Added mirror and kaleidoscope options . Changed the UI dock, should work better with with mobile and Mac. I know it may be a little to big now but would rather it be to big than to small.