Source: https://guthlabs.ai/docs/instruments/mandelbrot-julia-set-explorer/mechanism/

instrument mechanism / verified-clean

# Mandelbrot / Julia Set Explorer mechanism

The inspectable method record for Mandelbrot / Julia Set Explorer, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The recurrence is mathematically standard, but the specification is incomplete for a reproducible Mandelbrot/Julia renderer. Define mode-specific initialization, strict escape rule, iteration indexing, finite-depth semantics, coordinate-to-pixel mapping, and the escape-time coloring algorithm before claiming exact behavior.

- The recurrence zₙ₊₁=zₙ²+c is standard, but Mandelbrot and Julia initialization are unspecified: Mandelbrot requires z₀=0 with c equal to the sampled complex-plane point, while Julia requires z₀ equal to the sampled point with a fixed c parameter.

- The escape criterion is unspecified. The standard criterion is |zₙ|>2 after each iteration; using |zₙ|≥2 changes boundary classifications.

- Iteration numbering and whether the initial value z₀ is tested are unspecified.

- Escape-time coloring is not fully defined: the palette, color for non-escaping points, and whether smooth coloring or only integer escape time is used are missing.

- A finite iteration depth gives an approximation rather than an exact membership test: points not escaping by the depth must be labeled bounded-through-depth, not mathematically proven to lie in the set.

- The zoom region, pixel sampling convention, aspect-ratio handling, and complex-coordinate mapping are unspecified, so rendered pixels are not fully reproducible.

## Units and conventions

- Complex coordinates and the parameter c are dimensionless real-imaginary pairs; no physical unit conversion applies.

- The escape radius is 2 in the complex modulus, equivalently 4 in squared modulus, and the implementation should compare |z|>2 or |z|²>4.

- Iteration depth is a nonnegative integer count of recurrence updates per sampled point.

- Zoom-region coordinates are assumed to be complex-plane coordinates, not pixel coordinates; pixel width and height are integer counts.

- The expected vectors assume Mandelbrot mode uses z₀=0 and Julia mode uses z₀ equal to the sampled point, with escape criterion |z|>2 checked after every update.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "mode": "Mandelbrot",
    "sample_point": {
      "x": 0,
      "y": 0
    },
    "c": {
      "x": 0,
      "y": 0
    },
    "z0": {
      "x": 0,
      "y": 0
    },
    "iteration_depth": 10,
    "escape_rule": "escape when |z|>2"
  },
  "expected_outputs": {
    "sampled_point": {
      "x": 0,
      "y": 0
    },
    "escape_status": "bounded_through_depth",
    "escape_iteration": null,
    "escape_time_color_input": "non-escaping"
  },
  "working": "Start z₀=0+0i and c=0+0i. z₁=z₀²+c=0²+0=0. z₂=z₁²+c=0²+0=0. Continuing gives zₙ=0 for n=0 through 10. |zₙ|=0≤2 at every check, so there is no escape iteration within depth 10."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

Extreme finite inputs overflow JavaScript double arithmetic on the first iteration, producing Infinity. If the renderer does not reject or explicitly handle non-finite complex values, escape coloring and subsequent iterations can become invalid.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/mandelbrot-julia-set-explorer/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/mandelbrot-julia-set-explorer/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/mandelbrot-julia-set-explorer/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
