Version 3. Mandelbrot Metal 3 is available for iPhone, iPhone Duo, and iPad. Explore free with the Infinity Engine and all 156 built-in palettes; choose Pro for expanded creative tools and output. Requires iOS 26 or iPadOS 26 or later.

User Guide

Mandelbrot Metal 3.0.3 · iPhone & iPad

Explore Mandelbrot and Julia sets, shape their colors, and save scenes or finished PNGs. Version 3 introduced the Infinity Engine for deep Mandelbrot exploration through the validated 10²⁵× limit. Free and Pro share the same rendering engine; Julia uses a separate direct renderer.

First Run & Interface Tour

On a new installation, the app opens Elephant Valley from the included starter bookmarks. Start Exploring dismisses the one-time welcome; Show Me Around opens Getting Started. Later launches and app updates restore your last exploration, including the location, Julia state, palette, contrast, iterations, and 3D Look. Reopening the tour never changes your view.

Use Home (the house icon), also available as More (…) → Full Mandelbrot Set, to return to the classic Mandelbrot overview. See Navigation & Gestures for what Home resets and how Back restores the previous scene.

The canvas is your composition. In a compact iPhone layout, floating rows above the lower panel provide Go to Rect, Back, Fractal Type, Forward, Pro, More, Home, Palettes, Capture, Import, and Bookmarks. The lower panel has iterations, contrast, Auto Iter, and 3D Look; its background, labels, and icons follow Light or Dark appearance. Wide layouts group these tools in a floating toolbar. In a short window, at larger text sizes, or when labels need more room, use the separate sliders button (More Options) to open the remaining controls. The HUD identifies the view and active settings. Open More (…) for guides and management tools. On iPhone and iPad, More (…) opens a scrollable options sheet at the top of its list. Scroll to reach every option, or tap Close to dismiss it.

Welcome Options

To show Getting Started on the next launch, open More (…) → Welcome Options and enable Show Welcome at startup. Don’t show again disables future startup presentations. Open User Guide or Creative Guide from More (…) whenever you need help.

What's New in Version 3

Version 3 introduced the Infinity Engine for deep Mandelbrot exploration through the validated 10²⁵× limit. Free includes the full renderer, all 156 built-in palettes, 56 curated starter bookmarks, five personal bookmark slots, and canvas-size PNG capture. Pro adds creative tools and larger output. Precision adjusts automatically; useful detail and render time depend on the scene, iterations, and device. Julia uses a separate direct renderer. Version 3.0.3 restores the compact iPhone toolbar layout and its Light/Dark appearance, and adds a direct Pro button beside More. Controls adapt as the window size and text size change.

Mandelbrot Metal Pro

Free and Pro use the same rendering engine and all 156 built-in palettes. Pro adds unlimited personal bookmarks, photo-derived, custom and imported palettes, palette import/export, 3D Look, and 4K, 6K, 8K or custom-size PNG capture. Tap the Pro button in the iPhone utility row: yellow sparkles open Upgrade to Pro; a green checkmark opens Pro Account when Pro is active. On iPad, tap Upgrade to Pro / Pro Account. More (…) → Mandelbrot Metal Pro also opens this screen on iPhone. The purchase screen shows current prices and Restore. Monthly, Annual, and Lifetime provide the same Pro features; verified pre-Version 3 owners receive permanent Legacy Pro access at no additional charge. If access is missing, tap Restore using the Apple Account associated with the purchase.

Exploration History

Back and Forward restore up to 50 completed states in the current app session, including the viewport, fractal mode, Julia constant, iterations and Auto state, palette, contrast, and 3D Look.

Completed gestures, mode changes, coordinate jumps, bookmark loads, Home, and settled creative-control changes create history steps. Duplicate states are ignored. A new step after going Back replaces the old Forward branch. Save a bookmark first if you want to keep both versions: history is temporary, while bookmarks survive later launches.

Fractal Modes

Use the Fractal Type selector in the floating toolbar to choose the type of fractal being rendered. You can also create Julia Sets directly from the Mandelbrot Set by tapping a point on the canvas.

  • Mandelbrot Set: the default mode. Each pixel supplies the complex value c in z ← z² + c, starting from z = 0.
  • Julia Set: uses each pixel’s complex coordinate as the starting value z₀ and keeps the Julia constant c fixed. Julia mode is useful for symmetrical, branching, and lace-like compositions.

Creating Julia Sets from Mandelbrot points

  1. Start in Mandelbrot Set mode.
  2. Single-tap any point in the fractal view. The app uses that point as the Julia constant c and switches to the matching Julia Set.
  3. Explore, color, bookmark, or capture the Julia Set normally.
  4. Single-tap again while in Julia mode to return to the exact Mandelbrot view, zoom, and iteration state where you started.

The HUD title updates to show the current mode. In Julia mode, the HUD also shows the active c value, and bookmarks remember the mode and Julia constant so a saved Julia scene reopens correctly.

Julia sets use a separate direct renderer.

Go to Rect (Coordinate Jump)

Go to Rect accepts minX, minY, maxX, and maxY bounds and fits them to the canvas. Decimal input has finite precision; use bookmarks to preserve an existing ultra-deep location. The HUD identifies the current view, settings, and loaded bookmark.

Where to find it

  • iPad: Floating toolbar (Row 2) ▸ Go to Rect.
  • iPhone: Tap the Go to Rect button.

Iterations & Precision

Iterations control how long each point is evaluated. Try Auto first, then compare a manual value on the same scene. More iterations may reveal detail near boundaries; they do not guarantee a sharper result everywhere. The slider gives fine control at low values and reaches the selected maximum at its right edge.

Auto Iteration (recommended)

  1. Enable Auto in the toolbar.
  2. Zoom/pan; the app adjusts iterations to avoid artifacts at depth.
  3. Pause briefly to let quality stabilize.

Manual Iteration

  1. Disable Auto.
  2. Use the calibrated, non-linear slider for fine control.
  3. Watch the HUD for the current “effective” iteration budget.

Precision Promotion

Precision adjusts automatically; useful detail and render time depend on the scene, iterations, and device.

Infinity Engine

At deep Mandelbrot magnifications, the CPU builds a high-precision reference orbit. Metal evaluates nearby pixels using perturbation and recovery. Precision selection and fallback are automatic. This is finite-precision computation, with a validated limit of 10²⁵×; useful detail still depends on the scene and iteration budget. Julia uses its direct renderer. During navigation the last completed image follows your gestures, then the requested view is rendered progressively.

The requested Mandelbrot frame renders progressively from the center outward. During a gesture, the last completed image follows your movement as a preview. Pause and wait for the render-completion indicator before judging fine detail or comparing settings.

Iteration Cap (Advanced)

  • Choices: 5,000 · 10,000 · 15,000 · 25,000 · 50,000 (default) · 75,000.
  • iPhone · iPad: More Options (…) → Set Max Iterations
  • Lower when you want cooler/quieter operation and faster captures at modest zoom.
  • Raise when exploring extreme detail (expect slower renders).
  • Slider calibration: 0%–50% → 1…300; 50%–100% → 300…Iteration Cap. Right edge snaps to the current cap.

Palette System: Steps, Resolution & Color Space

A palette starts with color stops: positions and colors along a gradient. Standard definitions have varying stop counts; Ultra-Wide definitions have 768 stops. The app builds and uploads a one-row LUT texture containing 256 or 1,024 texels. Source stops and uploaded texels are different counts; there is no separate fixed-size display table. LUT width changes color sampling, not coordinate precision or color-channel bit depth.

On iPhone, long-press the palette button; on iPad, open the brush menu. Wide Color (P3) selects the wider color space. Hi-res LUT chooses 1,024 uploaded texels instead of 256. Exact LUT chooses the nearest source stop when building those texels; the renderer still samples the texture linearly. Compare the finished result on the same scene. Color-managed viewers help preserve the intended sRGB or Display-P3 appearance.

Palettes & Color Controls

Using built-in palettes

Choose from 156 built-in palettes, including 55 Ultra-Wide palettes marked [UW]. Tap a star to favorite a palette. Filter by All, Standard, Ultra-Wide, or Custom. Try several palettes on the same view before changing the composition.

Managing Custom Palettes · Pro

  • iPhone · iPad: More Options (…) → Manage Palettes
  • Export a backup before removing saved work. Delete removes an individual item; Clear All removes the library after confirmation. Built-in palettes are protected.
  • If you add a palette with a duplicate name, it’s auto-numbered (e.g., “Chrome (2)”).

Palette Filters & Custom Tag

You can filter the palette list by type using the filter bar: All · Standard · Ultra-Wide · Custom.

  • Standard shows palettes that are not tagged [UW] or [C].
  • Ultra-Wide shows palettes whose names end in [UW] and have 768 source stops.
  • Custom shows palettes you created or imported from photos. These are automatically tagged with [C] in the name.

Tap a star to keep favorite palettes easy to find. For backups, deletion, duplicate names, and Clear All, see Managing Custom Palettes in Palettes & Color Controls.

Color options

On iPhone, long-press the palette button; on iPad, open the brush menu. Wide Color (P3) selects Display-P3 instead of sRGB. Hi-res LUT selects a one-row texture with 1,024 texels instead of 256. Exact LUT chooses the nearest source stop when building the texture; with Exact LUT off, source colors are interpolated. Metal samples either texture linearly. Compare these choices on the same finished scene with iterations and contrast held fixed; they affect color sampling, not fractal precision.

Exact LUT

Exact LUT chooses the nearest source stop when building the selected 256- or 1,024-texel texture. With Exact LUT off, source colors are interpolated during construction. Metal samples both textures linearly, so Exact LUT does not disable filtering or guarantee hard bands. It changes the palette’s color transitions, not the fractal’s coordinate precision.

Import Gradient

With Pro, tap Import Gradient and choose a photo. Sampling direction is automatic: portrait photos use a vertical center slice; other photos use a horizontal one. Adjust saturation, gamma, contrast stretch, and Exact LUT, then tap Apply and name the palette. Custom palettes are marked [C].

Choose a photo with a clear color progression. Compare the preview after each adjustment. Apply saves the resulting palette; it does not turn the photo into a fractal. To try a different crop, edit the photo first and import it again. If a photo will not load, confirm it is fully downloaded on the device and photo access is available, then try a local JPEG, PNG, or HEIC image.

Contrast & Image Tuning

  1. Adjust Contrast for midtone balance.
  2. Use higher contrast for separation; lower for subtle shading.
  3. Combine with palette tweaks for best results.
  4. Non-linear slider: the first half concentrates fine control near ~2–3; the second half covers up to 10.0.

3D Look (3D Effects) · Pro

With Pro, toggle 3D Look to add relief shading. Compare it on and off with a neutral or metallic palette. Lighting changes the appearance, not the fractal geometry. Let the completed render settle before deciding which version to capture.

How to toggle

  • iPad: Toolbar (Row 1) — tap 3D Look.
  • iPhone: Bottom toolbar — tap the 3D Look toggle.

Tips

  • Palettes: Neutral or metallic palettes can emphasize the 3D relief; vivid palettes create stylized lighting.
  • SSAA: For the cleanest shading, SSAA reduces stair-stepping on highlights.
  • Export: 3D shading is fully preserved in captures (Canvas/4K/6K/8K/Custom).
  • Bookmarks: 3D Look state is saved along with bookmarks.

Sampling & SSAA

Sampling is automatic. SSAA means multiple samples per pixel to reduce jagged edges. There is no manual SSAA or step-marker switch. Let the image finish rendering before evaluating fine detail.

HUD & Readouts

  • Mode: the HUD title shows the active fractal type, such as Mandelbrot Set or Julia Set.
  • Bookmark: the loaded bookmark’s name, when applicable.
  • Julia constant: in Julia mode, the HUD shows the active c value that defines the current Julia Set.
  • Center: the rendering's center coordinates (x, y) as a complex number.
  • Scale: current navigation magnification.
  • Iterations: the effective iteration budget.
  • Contrast: current contrast setting.
  • Rendering: the active path and SSAA or 3D indicators. Wait for the render-completion indicator before evaluating the requested frame; a responsive gesture preview is not a completed render.
  • Palette: the palette name and uploaded LUT width.
  • Color: the color space and active LUT settings.

Bookmarks

The app includes 56 curated Mandelbrot and Julia starter bookmarks, ready to explore from your first launch.

The starter collection is added once on new installs and upgrades. Your existing bookmarks are kept, matching bookmarks are not duplicated, and starters you delete stay deleted.

Open Manage Bookmarks from the bookmark button or More (…). Tap +, enter a name, and save. Tap Go beside a bookmark to reopen it. Sort by name, date, mode, iterations, palette, or scale. Free includes five personal bookmark slots in addition to the starter collection; Pro removes the personal bookmark limit. Saved state does not guarantee identical pixels across devices or app versions.

A bookmark stores the view, precise center, scale, fractal mode, Julia constant where applicable, iteration setting and Auto state, palette reference, contrast, and 3D Look. It saves a scene description, not an image. Export a PNG as well when you want to keep a particular finished result.

Sorting bookmarks

Sort by What it does
Name Orders alphabetically by bookmark name. The list shows each bookmark’s saved mode while using this sort.
Mode Groups bookmarks by fractal type, such as Mandelbrot Set or Julia Set. Julia bookmarks keep their saved c value.
Newest Shows the most recently created bookmarks first.
Oldest Shows the oldest bookmarks first.
Iterations Orders by the saved iteration setting (auto/manual context preserved).
Palette Orders by the saved palette name (useful when you’re exploring a “palette series”).
Scale Orders by zoom scale / magnification (handy for grouping shallow-to-deep exploration).

Manage Bookmarks

iPhone · iPad: More Options (…) → Manage Bookmarks

Export a backup before deleting saved discoveries. Delete removes an individual bookmark; Clear All removes the bookmark collection after confirmation. Deleted starter bookmarks are not automatically installed again.

Bookmark & Palette Sharing

In Manage Bookmarks or Manage Palettes, use Import or Export All. Swipe a row toward the trailing edge to reveal Export, or toward the leading edge to reveal Delete. Duplicate names are numbered. Palette sharing requires Pro. Share custom palettes with their bookmarks so the recipient has the matching colors.

Bookmark files describe scenes; palette files contain a name, color-space information, and color stops. A bookmark does not bundle a custom palette. Export that palette separately and import it on the receiving device before reopening the bookmark. Imported duplicate names are numbered.

What’s shared (Bookmarks)

  • View: exact center and zoom (scale).
  • Fractal mode: Mandelbrot Set or Julia Set.
  • Julia constant: Julia bookmarks include the saved c value, so imported Julia scenes reopen as the same Julia Set.
  • Iterations: mode (auto/manual) and current value.
  • Appearance: contrast, palette name, and 3D Look state.

Settings

Set Max Iterations

Open More (…) → Set Max Iterations to choose the slider’s maximum. See Iteration Cap (Advanced) for the available values and when to change them, and Iterations & Precision for Auto and manual control.

Color options

Long-press the palette button on iPhone, or open the brush menu on iPad. The Color options section explains Wide Color (P3), Hi-res LUT, and Exact LUT.

Welcome Options

Open More (…) → Welcome Options to change startup presentations. See Welcome Options for Show Welcome at startup and Don’t show again. The guides remain available from More (…).

Capture & Export

Tap Capture, choose a resolution, then Capture Now. Canvas is included in Free; Pro adds 4K, 6K, 8K, and Custom. Every capture renders a separate complete PNG and shows progress. Presets preserve the canvas aspect ratio. When the share sheet opens, save to Photos or Files, or send the image to another app.

First settle on your framing, palette, contrast, and iterations. Capture renders a new image at the requested size, including 3D Look when enabled. Presets use the longest edge: 4K is 3,840 pixels, 6K is 5,760, and 8K is 7,680, with the canvas proportions preserved. Check the dimensions before a custom export. Larger images and higher iteration budgets take longer; inspect the finished PNG at full size before printing.

Perturbation Rendering

Instead of calculating a complete high-precision orbit independently for every deep Mandelbrot pixel, the Infinity Engine builds one CPU double-double reference orbit and evaluates each nearby pixel’s difference from it on Metal. Difficult pixels restart or recover at higher precision; an unusable Metal result can fall back to the established CPU deep renderer. This is adaptive finite precision, with a validated Mandelbrot limit of 10²⁵×. Julia’s direct renderer has a separate numerical scope.

Troubleshooting

Image looks coarser while moving

During a gesture, the app transforms the last completed image to give immediate feedback. Pause and let the full requested frame finish; newly calculated detail then replaces that preview.

Sampling is automatic, so there is no SSAA or step-marker switch to adjust. Evaluate fine detail after the render-completion indicator finishes.

At ultra-deep zoom, it takes time to “finish”

Deep views and high iteration budgets can take longer. Wait for the rendering indicator to complete before comparing the result. To reduce the workload, zoom out or try a lower manual iteration value, then compare the finished images. Large captures are separate renders and may take longer than the canvas.

Colors look different in other viewers or on another device

Displays and viewing apps can handle sRGB and Display-P3 differently. Compare the exported PNG in a color-managed viewer, and try an sRGB capture for your intended sharing destination. PNG exports are SDR. Keep the palette, Exact LUT, and contrast settings fixed while comparing.

Very deep zoom shows speckles or noise

First wait for the complete frame. Compare 3D Look off and on to separate relief highlights from the underlying fractal, and try Auto or a different manual iteration value on the same scene. More iterations do not always remove noise; resolved detail also depends on the location and finite coordinate precision.

If an artifact persists, save the bookmark and report the app version and build, device, operating-system version, settings, and a screenshot to support@mandelbrot-metal.com. Include any custom palette needed to reopen the scene.

FAQ

Are all non-[UW] palettes 512 steps?

No. Standard source definitions have varying stop counts; Ultra-Wide definitions have 768 stops. The uploaded texture is separately selected at 256 or 1,024 texels. See Palette System: Steps, Resolution & Color Space.

How does the iteration slider work?

Its first half gives fine control from 1 to 300; the second half reaches your selected maximum. Auto chooses the budget as you explore. See Iterations & Precision and Iteration Cap (Advanced).

Infinity Engine

The Infinity Engine accelerates deep Mandelbrot rendering with a CPU reference and Metal perturbation. It is included in Free. Precision is finite, with a validated Mandelbrot limit of 10²⁵×; Julia uses a separate direct renderer.

Do captures match the canvas?

Capture renders a new complete PNG using your composition and creative settings. Larger output can reveal more detail than the preview. See Capture & Export for preset dimensions and custom sizes.

Bookmarks

A bookmark saves a scene’s coordinates and settings. Keep a PNG as well if you want to preserve the exact finished image; save any dependent custom palette separately. See Bookmarks and Bookmark & Palette Sharing for the complete workflow.

Mandelbrot Metal Pro

Pro expands creative tools and output. See Mandelbrot Metal Pro for features, plans, existing-owner eligibility, and the iPhone and iPad purchase-screen labels. If Pro access is missing, open that screen and tap Restore using the Apple Account associated with the purchase.

Glossary

Term Meaning
Infinity Engine The app’s adaptive finite-precision deep Mandelbrot renderer, combining a CPU reference orbit with Metal perturbation and recovery.
Iteration Number of updates used to decide if a point escapes.
Precision The numerical detail available to represent coordinates and calculations. The app adjusts precision automatically, but it remains finite.
LUT Lookup Table — a one-row texture that maps values to colors; the app uploads 256 or 1,024 texels.
SSAA Sampling is automatic. SSAA means multiple samples per pixel to reduce jagged edges.
Perturbation A method that evaluates a pixel’s difference from a shared reference orbit instead of independently repeating the full high-precision calculation.
Escape Time Algorithm that assigns colors by counting iterations until a point escapes a defined radius.
Smooth Coloring Interpolation that reduces banding by assigning fractional iteration values.
Display-P3 Wide-gamut color space used by modern Apple displays; allows more saturated colors than sRGB.
Viewport The visible region of the fractal determined by center coordinates and zoom scale.
Deep Zoom Magnifications beyond standard floating-point limits, requiring advanced precision methods.
Threadgroup A group of GPU threads executed together for efficient parallel rendering in Metal.
HUD Heads-Up Display — overlay showing stats including: center coordinates, zoom level, iterations, contrast, quality, palette, color and render modes.
Exploration History A temporary, session-scoped Back/Forward stack that restores complete exploration states. It is separate from permanent bookmarks.
Bookmark A saved scene containing fractal coordinates and settings. A bookmark preserves the scene description, not the exact pixels of a finished image.
Palette A gradient of colors applied to fractal iterations, defined by design stops and compiled to a native LUT for rendering.
Metal Apple’s low-level graphics & compute framework for GPU-accelerated rendering.