# `Angelus.Spice.KernelSet`
[🔗](https://github.com/MonsignorEduardo/angelus/blob/v0.0.2/lib/angelus/spice/kernel_set.ex#L1)

Validation and metadata for the v0.1 JPL/NAIF kernel set.

# `default_paths`

```elixir
@spec default_paths(String.t()) :: [String.t()]
```

Builds absolute kernel paths under `base_path` for the default v0.1 kernel set.

# `lsk`

```elixir
@spec lsk() :: String.t()
```

Returns the required leap-seconds kernel filename.

# `metadata`

```elixir
@spec metadata([String.t()]) :: map()
```

Builds structured metadata for a validated v0.1 kernel path list.

# `required_files`

```elixir
@spec required_files() :: [String.t()]
```

Returns every kernel filename required by the default v0.1 kernel set.

# `spks`

```elixir
@spec spks() :: [String.t()]
```

Returns the required SPK kernel filenames.

# `tpcs`

```elixir
@spec tpcs() :: [String.t()]
```

Returns the required text planetary-constants kernel filenames.

# `validate`

```elixir
@spec validate([String.t()]) :: {:ok, map()} | {:error, term()}
@spec validate(term()) :: {:error, {:invalid_kernel_set, :invalid_paths}}
```

Validates that `paths` contain exactly the supported v0.1 kernel set.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
