lib/options/fractal.ex

defmodule Isotope.Options.Fractal do
  @moduledoc """
  Options available for fractal noises.
  """

  @typedoc """
  Fractal types available.
  """
  @type fractal() :: :fbm | :rigid_multi | :billow

  @type t() :: %__MODULE__{
          fractal_type: fractal(),
          lacunarity: float(),
          octaves: integer(),
          gain: float()
        }

  defstruct fractal_type: :fbm,
            lacunarity: 2.0,
            octaves: 3,
            gain: 0.5
end