# Welcome to Prismo's documentation!

Prismo is a high-performance Python-based FDTD (Finite-Difference Time-Domain) solver specifically designed for waveguide photonics simulations.

## Quick Links

- {doc}`user_guide/quickstart` - Get started in 5 minutes
- {doc}`tutorials/index` - Step-by-step tutorials
- {doc}`api/index` - Complete API reference
- {doc}`examples/index` - Example simulations

## Key Features

- **High Performance**: GPU acceleration with CuPy, vectorized NumPy operations
- **Waveguide-Optimized**: Built-in mode solver, mode sources, S-parameter extraction
- **Easy to Use**: Intuitive API, comprehensive documentation
- **Extensible**: Plugin architecture, custom sources and monitors
- **Well-Tested**: Extensive validation against analytical solutions

## Table of Contents

```{toctree}
:maxdepth: 2
:caption: Getting Started

user_guide/installation
user_guide/quickstart
tutorials/index
```

```{toctree}
:maxdepth: 2
:caption: User Guide

user_guide/index
examples/index
```

```{toctree}
:maxdepth: 2
:caption: API Reference

api/index
```

```{toctree}
:maxdepth: 2
:caption: Developer Documentation

developer/index
```

## Indices and tables

- {ref}`genindex`
- {ref}`modindex`
- {ref}`search`

## Community

- **GitHub**: [https://github.com/rithulkamesh/prismo](https://github.com/rithulkamesh/prismo)
- **Issues**: [Report bugs or request features](https://github.com/rithulkamesh/prismo/issues)
- **Discussions**: [Ask questions and share ideas](https://github.com/rithulkamesh/prismo/discussions)

## License

Prismo is released under the MIT License. See the LICENSE file for details.
