From f429e1461a876a4a47598966b4b16c613a7c0161 Mon Sep 17 00:00:00 2001
From: Mathijs995 <mathijsdejong1995@gmail.com>
Date: Sun, 30 Apr 2023 12:28:07 +0200
Subject: [PATCH 1/4] Added Sphinx docs

---
 .gitignore                   |   3 +++
 README.md                    |   4 ++--
 docs/Makefile                |  20 ++++++++++++++++++++
 docs/make.bat                |  35 +++++++++++++++++++++++++++++++++++
 docs/source/_static/logo.png | Bin 0 -> 89690 bytes
 docs/source/index.md         |  14 ++++++++++++++
 requirements.dev.txt         |   6 ++++++
 requirements.txt             |  23 +++++++++++++++++++++++
 8 files changed, 103 insertions(+), 2 deletions(-)
 create mode 100644 docs/Makefile
 create mode 100644 docs/make.bat
 create mode 100644 docs/source/_static/logo.png
 create mode 100644 docs/source/index.md
 create mode 100644 requirements.dev.txt
 create mode 100644 requirements.txt

diff --git a/.gitignore b/.gitignore
index c6335cf4..b9ea8d08 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,3 +44,6 @@ dataset/
 
 # configs
 configs.json
+
+# Static doc files
+!docs/source/_static/*
\ No newline at end of file
diff --git a/README.md b/README.md
index cafb3bff..4d8bef35 100644
--- a/README.md
+++ b/README.md
@@ -10,11 +10,11 @@ Using this rich data source, Nocturne contains a wide range of scenarios whose s
   <img src="https://user-images.githubusercontent.com/33672752/174244860-65865e95-0592-4279-ab5d-f40842092cc7.gif" width="250" height="250"/>
   <img src="https://user-images.githubusercontent.com/33672752/174244327-51f98409-4afd-424e-88f5-29892e89d796.gif" width="250" height="250"/>
 </p> -->
-![Intersection Scene with Obscured View](./docs/readme_files/git_intersection_combined.gif)
+![Intersection Scene with Obscured View](https://github.com/facebookresearch/nocturne/raw/main/docs/readme_files/git_intersection_combined.gif)
 
 Nocturne features a rich variety of scenes, ranging from parking lots, to merges, to roundabouts, to unsignalized intersections.
 
-![Intersection Scene with Obscured View](./docs/readme_files/nocturne_3_by_3_scenes.gif)
+![Intersection Scene with Obscured View](https://github.com/facebookresearch/nocturne/raw/main/docs/readme_files/nocturne_3_by_3_scenes.gif)
 
 More videos can be found [here](https://www.nathanlct.com/research/nocturne).
 
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 00000000..d0c3cbf1
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS    ?=
+SPHINXBUILD   ?= sphinx-build
+SOURCEDIR     = source
+BUILDDIR      = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 00000000..747ffb7b
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=source
+set BUILDDIR=build
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.https://www.sphinx-doc.org/
+	exit /b 1
+)
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/source/_static/logo.png b/docs/source/_static/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..c7c26e1d79c291d031b1e52cdde87870c723b0ce
GIT binary patch
literal 89690
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
H*+={jSM`+S

literal 0
HcmV?d00001

diff --git a/docs/source/index.md b/docs/source/index.md
new file mode 100644
index 00000000..4cdcae23
--- /dev/null
+++ b/docs/source/index.md
@@ -0,0 +1,14 @@
+---
+title: Nocturne
+---
+
+```{toctree}
+:maxdepth: 1
+:hidden:
+:caption: Quickstart
+
+self
+```
+
+```{include} ../../README.md
+```
\ No newline at end of file
diff --git a/requirements.dev.txt b/requirements.dev.txt
new file mode 100644
index 00000000..1ed05872
--- /dev/null
+++ b/requirements.dev.txt
@@ -0,0 +1,6 @@
+pre-commit==3.2.2
+sphinx==5.3.0
+sphinx_book_theme==1.0.1
+myst_nb==0.17.2
+sphinxcontrib_bibtex==2.5.0
+sphinx-autodoc-typehints==1.23.0
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 00000000..f59764e5
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,23 @@
+hydra-core==1.1.0
+hydra-submitit-launcher==1.1.5
+ipdb==0.13.9
+seaborn
+imageio==2.10.1
+moviepy==1.0.3
+opencv-python==4.5.5.64
+gym==0.26.2 # 0.20.0 install failed
+wandb==0.12.15
+imageio==2.10.1
+setproctitle==1.2.3
+tensorboardX==2.5
+pytest==7.1.1
+flake8==4.0.1
+pydocstyle==6.1.1
+pyvirtualdisplay
+ray==1.11.0
+dm-tree
+tabulate
+torch
+sample-factory==1.123.0
+numpy==1.19.2
+jupyterlab==3.0.14
\ No newline at end of file

From 8c386c0b9103d3bcb6bf5d33ad04e0c75e90bf22 Mon Sep 17 00:00:00 2001
From: Mathijs995 <mathijsdejong1995@gmail.com>
Date: Sun, 30 Apr 2023 12:34:08 +0200
Subject: [PATCH 2/4] Extended Sphinx docs with proposed skeleton

---
 docs/source/01_data_structure.ipynb           | 294 ++++++++++
 .../01_data_structure.md                      |  61 +-
 docs/source/02_nocturne_concepts.ipynb        | 529 ++++++++++++++++++
 .../02_nocturne_concepts.md                   |  78 +--
 docs/source/api_python.md                     |   9 +
 docs/source/changelog.md                      |   6 +
 docs/source/coc.md                            |   6 +
 docs/source/conf.py                           | 140 +++++
 docs/source/contributing.md                   |   6 +
 .../data/example_scenario.json                |   0
 docs/source/index.md                          |  27 +
 docs/source/references.bib                    |   0
 12 files changed, 1089 insertions(+), 67 deletions(-)
 create mode 100644 docs/source/01_data_structure.ipynb
 rename docs/{tutorials => source}/01_data_structure.md (85%)
 create mode 100644 docs/source/02_nocturne_concepts.ipynb
 rename docs/{tutorials => source}/02_nocturne_concepts.md (93%)
 create mode 100644 docs/source/api_python.md
 create mode 100644 docs/source/changelog.md
 create mode 100644 docs/source/coc.md
 create mode 100644 docs/source/conf.py
 create mode 100644 docs/source/contributing.md
 rename docs/{tutorials => source}/data/example_scenario.json (100%)
 create mode 100644 docs/source/references.bib

diff --git a/docs/source/01_data_structure.ipynb b/docs/source/01_data_structure.ipynb
new file mode 100644
index 00000000..ae4e9caa
--- /dev/null
+++ b/docs/source/01_data_structure.ipynb
@@ -0,0 +1,294 @@
+{
+ "cells": [
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Data format of a traffic scene\n",
+    "\n",
+    "This notebook dives into the data format used to create simulations in Nocturne.\n",
+    "\n",
+    "_Last update: April 2023_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import json\n",
+    "\n",
+    "import matplotlib.pyplot as plt\n",
+    "import pandas as pd\n",
+    "import seaborn as sns\n",
+    "\n",
+    "cmap = ['r', 'g', 'b', 'y', 'c']\n",
+    "%config InlineBackend.figure_format = 'svg'\n",
+    "sns.set('notebook', font_scale=1.1, rc={'figure.figsize': (8, 3)})\n",
+    "sns.set_style('ticks', rc={'figure.facecolor': 'none', 'axes.facecolor': 'none'})"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Traffic scenes are constructed by utilizing the Waymo Open Motion dataset. Though every scene is unique, they all have the same basic data structure. \n",
+    "\n",
+    "To load a traffic scene:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Take an example scene\n",
+    "data_path = 'data/example_scenario.json'\n",
+    "\n",
+    "with open(data_path) as file:\n",
+    "    traffic_scene = json.load(file)\n",
+    "\n",
+    "traffic_scene.keys()"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Global Overview \n",
+    "A traffic scene consists of:\n",
+    "- `name`: the name of the traffic scenario.\n",
+    "- `objects`: the road objects or moving vehicles in the scene.\n",
+    "- `roads`: the road points in the scene, these are all the stationary objects.\n",
+    "- `tl_states`: the states of the traffic lights, which are filtered out for now. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "traffic_scene['tl_states']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "traffic_scene['name']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "pd.Series(\n",
+    "    [\n",
+    "        traffic_scene['objects'][idx]['type']\n",
+    "        for idx in range(len(traffic_scene['objects']))\n",
+    "    ]\n",
+    ").value_counts().plot(kind='bar', rot=45, color=cmap)\n",
+    "plt.title(f'Distribution of road objects in traffic scene. Total # objects: {len(traffic_scene[\"objects\"])}')"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "This traffic scenario only contains vehicles and pedestrians, some scenes have cyclists as well."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "pd.Series(\n",
+    "    [\n",
+    "        traffic_scene['roads'][idx]['type']\n",
+    "        for idx in range(len(traffic_scene['roads']))\n",
+    "    ]\n",
+    ").value_counts().plot(kind='bar', rot=45, color=cmap)\n",
+    "plt.title(f'Distribution of road points in traffic scene. Total # points: {len(traffic_scene[\"roads\"])}')"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### In-Depth: Road Objects\n",
+    "\n",
+    "This is a list of different road objects in the traffic scene. For each road object, we have information about its position, velocity, size, in which direction its heading, whether its a valid object, the type, and the final position of the vehicle."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Take the first object\n",
+    "idx = 0\n",
+    "\n",
+    "# For each object, we have this information:\n",
+    "traffic_scene['objects'][idx].keys()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Position contains the (x, y) coordinates for the vehicle at every time step\n",
+    "print(json.dumps(traffic_scene['objects'][idx]['position'][:10], indent=4))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Width and length together make the size of the object, and is used to see if there is a collision\n",
+    "traffic_scene['objects'][idx]['width'], traffic_scene['objects'][idx]['length']"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Heading is the direction in which the vehicle is pointing. Since the scene is constructed from an ego driver's view, there are timepoints when we don't have access to the heading of some vehicles. States that were not observed are given with `-10_000` to indicate steps that should be filtered out."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Heading is the direction in which the vehicle is pointing\n",
+    "plt.plot(traffic_scene['objects'][idx]['heading'])\n",
+    "plt.xlabel('Time step')\n",
+    "plt.ylabel('Heading')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Velocity shows the velocity in the x- and y- directions\n",
+    "print(json.dumps(traffic_scene['objects'][idx]['velocity'][:10], indent=4))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Valid indicates if the state of the vehicle was observed for each timepoint\n",
+    "plt.xlabel('Time step')\n",
+    "plt.ylabel('IS VALID')\n",
+    "plt.plot(traffic_scene['objects'][idx]['valid'], '_', lw=5)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Each object has a goalPosition, an (x, y) position within the scene\n",
+    "traffic_scene['objects'][idx]['goalPosition']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Finally, we have the type of the vehicle\n",
+    "traffic_scene['objects'][idx]['type']"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### In-Depth: Road Points\n",
+    "\n",
+    "Road points are static objects in the scene."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "traffic_scene['roads'][idx].keys()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# This point represents the edge of a road\n",
+    "traffic_scene['roads'][idx]['type']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Geometry contains the (x, y) position(s) for a road point\n",
+    "# Note that this will be a list for road lanes and edges but a single (x, y) tuple for stop signs and alike\n",
+    "print(json.dumps(traffic_scene['roads'][idx]['geometry'][:10], indent=4))"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "nocturne-research",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.16"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/docs/tutorials/01_data_structure.md b/docs/source/01_data_structure.md
similarity index 85%
rename from docs/tutorials/01_data_structure.md
rename to docs/source/01_data_structure.md
index 53eea7b4..c45eed6e 100644
--- a/docs/tutorials/01_data_structure.md
+++ b/docs/source/01_data_structure.md
@@ -1,15 +1,15 @@
 ---
-jupyter:
-  jupytext:
-    text_representation:
-      extension: .md
-      format_name: markdown
-      format_version: '1.3'
-      jupytext_version: 1.14.0
-  kernelspec:
-    display_name: nocturne-research
-    language: python
-    name: python3
+jupytext:
+  formats: ipynb,md:myst
+  text_representation:
+    extension: .md
+    format_name: myst
+    format_version: 0.13
+    jupytext_version: 1.14.5
+kernelspec:
+  display_name: nocturne-research
+  language: python
+  name: python3
 ---
 
 ## Data format of a traffic scene
@@ -18,11 +18,12 @@ This notebook dives into the data format used to create simulations in Nocturne.
 
 _Last update: April 2023_
 
-```python
+```{code-cell} ipython3
 import json
+
 import matplotlib.pyplot as plt
-import seaborn as sns
 import pandas as pd
+import seaborn as sns
 
 cmap = ['r', 'g', 'b', 'y', 'c'] 
 %config InlineBackend.figure_format = 'svg'
@@ -34,7 +35,7 @@ Traffic scenes are constructed by utilizing the Waymo Open Motion dataset. Thoug
 
 To load a traffic scene:
 
-```python
+```{code-cell} ipython3
 # Take an example scene
 data_path = 'data/example_scenario.json'
 
@@ -49,17 +50,17 @@ A traffic scene consists of:
 - `name`: the name of the traffic scenario.
 - `objects`: the road objects or moving vehicles in the scene.
 - `roads`: the road points in the scene, these are all the stationary objects.
-- `tl_states`: the states of the traffic lights, which are filtered out for now. 
+- `tl_states`: the states of the traffic lights, which are filtered out for now.
 
-```python
+```{code-cell} ipython3
 traffic_scene['tl_states']
 ```
 
-```python
+```{code-cell} ipython3
 traffic_scene['name']
 ```
 
-```python
+```{code-cell} ipython3
 pd.Series(
     [
         traffic_scene['objects'][idx]['type']
@@ -71,7 +72,7 @@ plt.title(f'Distribution of road objects in traffic scene. Total # objects: {len
 
 This traffic scenario only contains vehicles and pedestrians, some scenes have cyclists as well.
 
-```python
+```{code-cell} ipython3
 pd.Series(
     [
         traffic_scene['roads'][idx]['type']
@@ -85,7 +86,7 @@ plt.title(f'Distribution of road points in traffic scene. Total # points: {len(t
 
 This is a list of different road objects in the traffic scene. For each road object, we have information about its position, velocity, size, in which direction its heading, whether its a valid object, the type, and the final position of the vehicle.
 
-```python
+```{code-cell} ipython3
 # Take the first object
 idx = 0
 
@@ -93,43 +94,43 @@ idx = 0
 traffic_scene['objects'][idx].keys()
 ```
 
-```python
+```{code-cell} ipython3
 # Position contains the (x, y) coordinates for the vehicle at every time step
 print(json.dumps(traffic_scene['objects'][idx]['position'][:10], indent=4))
 ```
 
-```python
+```{code-cell} ipython3
 # Width and length together make the size of the object, and is used to see if there is a collision 
 traffic_scene['objects'][idx]['width'], traffic_scene['objects'][idx]['length'] 
 ```
 
 Heading is the direction in which the vehicle is pointing. Since the scene is constructed from an ego driver's view, there are timepoints when we don't have access to the heading of some vehicles. States that were not observed are given with `-10_000` to indicate steps that should be filtered out.
 
-```python
+```{code-cell} ipython3
 # Heading is the direction in which the vehicle is pointing 
 plt.plot(traffic_scene['objects'][idx]['heading']);
 plt.xlabel('Time step')
 plt.ylabel('Heading');
 ```
 
-```python
+```{code-cell} ipython3
 # Velocity shows the velocity in the x- and y- directions
 print(json.dumps(traffic_scene['objects'][idx]['velocity'][:10], indent=4))
 ```
 
-```python
+```{code-cell} ipython3
 # Valid indicates if the state of the vehicle was observed for each timepoint
 plt.xlabel('Time step')
 plt.ylabel('IS VALID');
 plt.plot(traffic_scene['objects'][idx]['valid'], '_', lw=5);
 ```
 
-```python
+```{code-cell} ipython3
 # Each object has a goalPosition, an (x, y) position within the scene
 traffic_scene['objects'][idx]['goalPosition']
 ```
 
-```python
+```{code-cell} ipython3
 # Finally, we have the type of the vehicle
 traffic_scene['objects'][idx]['type']
 ```
@@ -138,16 +139,16 @@ traffic_scene['objects'][idx]['type']
 
 Road points are static objects in the scene.
 
-```python
+```{code-cell} ipython3
 traffic_scene['roads'][idx].keys()
 ```
 
-```python
+```{code-cell} ipython3
 # This point represents the edge of a road
 traffic_scene['roads'][idx]['type']
 ```
 
-```python
+```{code-cell} ipython3
 # Geometry contains the (x, y) position(s) for a road point
 # Note that this will be a list for road lanes and edges but a single (x, y) tuple for stop signs and alike
 print(json.dumps(traffic_scene['roads'][idx]['geometry'][:10], indent=4));
diff --git a/docs/source/02_nocturne_concepts.ipynb b/docs/source/02_nocturne_concepts.ipynb
new file mode 100644
index 00000000..151b0f9e
--- /dev/null
+++ b/docs/source/02_nocturne_concepts.ipynb
@@ -0,0 +1,529 @@
+{
+ "cells": [
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Nocturne concepts\n",
+    "\n",
+    "This page introduces the most basic elements of nocturne. You can find further information about these [in Section 3 of the paper](https://arxiv.org/abs/2206.09889).\n",
+    "\n",
+    "_Last update: April 2023_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "from nocturne import Simulation\n",
+    "\n",
+    "data_path = 'data/example_scenario.json'"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Summary\n",
+    "\n",
+    "- Nocturne simulations are discretized traffic scenarios. A scenario is a constructed snapshot of traffic situation at a particular timepoint.\n",
+    "- The state of the vehicle of focus is referred to as the ego state. Each vehicles observes the traffic scene from their own viewpoint and a visible state is constructed by parameterizing the view distance, head angle and cone radius of the driver. The action for each vehicle is a `(1, 3)` tuple with the acceleration, steering and head angle of the vehicle.\n",
+    "- The step method advances the simulation with a desired step size. By default, the dynamics of vehicles are driven by a kinematic bicycle model. If a vehicle is set to expert-controlled mode, its position, heading, and speed will be updated according to a trajectory created by a human expert."
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Simulation\n",
+    "\n",
+    "In Nocturne, a simulation discretizes an existing traffic scenario. At the moment, Nocturne supports traffic scenarios from the Waymo Open Dataset, but can be further extended to work with other driving datasets.\n",
+    "\n",
+    "<figure>\n",
+    "<center>\n",
+    "<img src='https://drive.google.com/uc?id=1nv5Rbyf7ZfdqTdaUduXvEI7ncdkLpDjc' width=650'/>\n",
+    "<figcaption></figcaption>An example of a set of traffic scenario's in Nocturne. Upon initialization, a start time is chosen. After each iteration we take a step in the simulation, which gets us to the next scenario. This is done until we reach the end of the simulation. </center>\n",
+    "</figure>\n",
+    "\n",
+    "We show an example of this using `example_scenario.json`, where our traffic data is extracted from the Waymo open motion dataset:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "scenario_config = {\n",
+    "    'start_time': 0,  # When to start the simulation\n",
+    "    'allow_non_vehicles': True,  # Whether to include cyclists and pedestrians\n",
+    "    'max_visible_road_points': 10,  # Maximum number of road points for a vehicle\n",
+    "    'max_visible_objects': 10,  # Maximum number of road objects for a vehicle\n",
+    "    'max_visible_traffic_lights': 10,  # Maximum number of traffic lights in constructed view\n",
+    "    'max_visible_stop_signs': 10,  # Maximum number of stop signs in constructed view\n",
+    "}\n",
+    "\n",
+    "# Create simulation\n",
+    "sim = Simulation(data_path, scenario_config)"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Scenario\n",
+    "\n",
+    "A simulation consists of a set of scenarios. A scenario is a snapshot of the traffic scene at a particular timepoint.\n",
+    "\n",
+    "Here is how to create a scenario object:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Get traffic scenario at timepoint\n",
+    "scenario = sim.getScenario()"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The `scenario` objects holds information we are interested in. Here are a couple of examples:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# The number of road objects in the scene\n",
+    "len(scenario.getObjects())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# The road objects that moved at a particular timepoint\n",
+    "objects_that_moved = scenario.getObjectsThatMoved()\n",
+    "\n",
+    "print(f'Total # moving objects: {len(objects_that_moved)}\\n')\n",
+    "print(f'Object IDs of moving vehicles: \\n {[obj.getID() for obj in objects_that_moved]} ')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Number of road lines\n",
+    "len(scenario.road_lines())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "scenario.getVehicles()[:5]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# No cyclists in this scene\n",
+    "scenario.getCyclists()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Select all moving vehicles that move\n",
+    "moving_vehicles = [obj for obj in scenario.getVehicles() if obj in objects_that_moved]\n",
+    "\n",
+    "print(f'Found {len(moving_vehicles)} moving vehicles in scene: {[vehicle.getID() for vehicle in moving_vehicles]}')"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Ego state\n",
+    "\n",
+    "The **ego state** is an array with features that describe the current vehicle. This array holds the following information:\n",
+    "- 0: length of ego vehicle\n",
+    "- 1: width of ego vehicle\n",
+    "- 2: speed of ego vehicle\n",
+    "- 3: distance to the goal position of ego vehicle\n",
+    "- 4: angle to the goal (target azimuth)\n",
+    "- 5: desired heading at goal position\n",
+    "- 6: desired speed at goal position\n",
+    "- 7: current acceleration\n",
+    "- 8: current steering position\n",
+    "- 9: current head angle"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Select an arbitrary vehicle\n",
+    "ego_vehicle = moving_vehicles[0]\n",
+    "\n",
+    "print(f'Selected vehicle # {ego_vehicle.getID()}')\n",
+    "\n",
+    "# Get the state for ego vehicle\n",
+    "scenario.ego_state(ego_vehicle)"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Visible state\n",
+    "\n",
+    "We use the ego vehicle state, together with a view distance (how far the vehicle can see) and a view angle to construct the **visible state**. The figure below shows this procedure for a simplified traffic scene.\n",
+    "\n",
+    "Calling `scenario.visible_state()` returns a dictionary with four matrices:\n",
+    "- `stop_signs`: The visible stop signs\n",
+    "- `traffic_lights`: The states for the traffic lights from the perspective of the ego driver(red, yellow, green).\n",
+    "- `road_points`: The observable road points (static elements in the scene).\n",
+    "- `objects`: The observable road objects (vehicles, pedestrians and cyclists).\n",
+    "\n",
+    "<figure>\n",
+    "<center>\n",
+    "<img src='https://drive.google.com/uc?id=1fG43NvPCzaimmW99asRdB73qY-F4u-q0' width='700'/>\n",
+    "<figcaption>To investigate coordination under partial observability, agents in Nocturne can only see an obstructed view of their environment. In this simplified traffic scene, we construct the state for the red ego driver. Note that Nocturne assumes that stop signs can be viewed, even if they are behind another driver. </figcaption></center>\n",
+    "</figure>\n",
+    "\n",
+    "\\begin{align*}\n",
+    "\\end{align*}\n",
+    "\n",
+    "<figure>\n",
+    "<center>\n",
+    "<img src='https://drive.google.com/uc?id=1egNkFArE-n4cp6KbeoQyWeePiQ28jYYE' width='300'/>\n",
+    "<figcaption>The same scene, this time showing the view of the yellow car.</figcaption></center>\n",
+    "</figure>"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The shape of the visible state is a function of the maximum number of visible objects defined at initialization (traffic lights, stop signs, road objects, and road points) and whether we add padding. If `padding = True`, an array is of size `(max visible objects,  # features)` is always constructed, even if there are no visible objects. Otherwise, if `padding = False` new entries are only created when objects are visible."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Define viewing distance, radius and head angle\n",
+    "view_distance = 80\n",
+    "view_angle = np.radians(120)\n",
+    "head_angle = 0\n",
+    "padding = True\n",
+    "\n",
+    "# Construct the visible state for ego vehicle\n",
+    "visible_state = scenario.visible_state(\n",
+    "    ego_vehicle,\n",
+    "    view_dist=view_distance,\n",
+    "    view_angle=view_angle,\n",
+    "    head_angle=head_angle,\n",
+    "    padding=padding,\n",
+    ")\n",
+    "\n",
+    "visible_state.keys()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# There are no visible stop signs at this point\n",
+    "visible_state['stop_signs'].T"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Traffic light states are filtered out in this version of Nocturne\n",
+    "visible_state['traffic_lights']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Max visible road points x 13 features\n",
+    "visible_state['road_points'].shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Number of visible road objects x 13 features\n",
+    "visible_state['objects'].shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "visible_state_dim = sum([val.flatten().shape[0] for key, val in visible_state.items()])\n",
+    "\n",
+    "print(f'Dimension flattened visible state: {visible_state_dim}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# We can also flatten the visible state\n",
+    "# flattened has padding: if we miss an object --> zeros\n",
+    "visible_state_flat = scenario.flattened_visible_state(\n",
+    "        ego_vehicle,\n",
+    "        view_dist=view_distance,\n",
+    "        view_angle=view_angle,\n",
+    "        head_angle=head_angle,\n",
+    ")\n",
+    "\n",
+    "visible_state_flat.shape"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Note that `.flattened_visible_state()` has padding by default."
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Step\n",
+    "\n",
+    "`step(dt)` is a method call on an instance of the Simulation class, where `dt` is a scalar that represents the length of each simulation timestep in seconds. It advances the simulation by one timestep, which can result in changes to the state of the simulation (for example, new positions of objects, updated velocities, etc.) based on the physical laws and rules defined in the simulation.\n",
+    "\n",
+    "In the Waymo dataset, the length of the expert data is 9 seconds, a step size of 0.1 is used to discretize each traffic scene. The first second is used as a warm-start, leaving the remaining 8 seconds (80 steps) for the simulation (Details in Section 3.3)."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "dt = 0.1\n",
+    "\n",
+    "# Step the simulation\n",
+    "sim.step(dt)"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Vehicle control\n",
+    "\n",
+    "By default, vehicles in Nocturne are driven by a **kinematic bicycle model**. This means that calling the `step(dt)` method evolves the dynamics of a vehicle according to the following set of equations (Appendix D in the paper):\n",
+    "\n",
+    "\\begin{align*}\n",
+    "    \\textbf{position: } x_{t+1} &= x_t + \\dot{x} \\, \\Delta t \\\\\n",
+    "    y_{t+1} &= y_t + \\dot{y} \\, \\Delta t \\\\\n",
+    "    \\textbf{heading: } \\theta_{t+1} &= \\theta_t + \\dot{\\theta} \\, \\Delta t \\\\\n",
+    "    \\textbf{speed: } v_{t+1} &= \\text{clip}(v_t + \\dot{v} \\, \\Delta t, -v_{\\text{max}}, v_{\\text{max}}) \\\\\n",
+    "\\end{align*}\n",
+    "\n",
+    "with\n",
+    "\n",
+    "\\begin{align*}\n",
+    "    \\dot{v} &= a \\\\\n",
+    "    \\bar{v} &= \\text{clip}(v_t, + 0.5 \\, \\dot{v} \\, \\Delta \\, t ,\\, - v_{\\text{max}}, v_{\\text{max}}) \\\\\n",
+    "    \\beta &= \\tan^{-1} \\left( \\frac{l_r \\tan (\\delta)}{L}  \\right) \\\\\n",
+    "          &= \\tan^{-1} (0.5 \\tan(\\delta)) \\\\\n",
+    "    \\dot{x} &= \\bar{v} \\cos (\\theta + \\beta) \\\\\n",
+    "    \\dot{y} &= \\bar{v} \\sin (\\theta + \\beta) \\\\\n",
+    "    \\dot{\\theta} &= \\frac{\\bar{v} \\cos (\\beta)\\tan(\\delta)}{L}\n",
+    "\\end{align*}\n",
+    "\n",
+    "where $(x_t, y_t)$ is the position of a vehicle at time $t$, $\\theta_t$ is the vehicles heading angle, $a$ is the acceleration and $\\delta$ is the steering angle. Finally, $L$ is the length of the car and $l_r = 0.5L$ is the distance to the rear axle of the car.\n",
+    "\n",
+    "If we set a vehicle to be **expert-controlled** instead, it will follow the same path as the respective human driver. This means that when we call the `step(dt)` function, the vehicle's position, heading, and speed will be updated to match the next point in the recorded human trajectory."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# By default, all vehicles are not expert controlled\n",
+    "ego_vehicle.expert_control"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Set a vehicle to be expert controlled:\n",
+    "ego_vehicle.expert_control = True"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "---\n",
+    "\n",
+    "> **Pseudocode**: How `step(dt)` advances the simulation for every vehicle. Full code is implemented in [scenario.cc](https://github.com/facebookresearch/nocturne/blob/ae0a4e361457caf6b7e397675cc86f46161405ed/nocturne/cpp/src/scenario.cc#L264)\n",
+    "\n",
+    "---\n",
+    "\n",
+    "```Python\n",
+    "for vehicle in vehicles:\n",
+    "\n",
+    "    if object is not expert controlled:\n",
+    "        step vehicle dynamics following the kinematic bicycle model\n",
+    "\n",
+    "    if vehicle is expert controlled:\n",
+    "        get current time & vehicle idx\n",
+    "        vehicle position = expert trajectories[vehicle_idx, time]\n",
+    "        vehicle heading = expert headings[vehicle_idx, time]\n",
+    "        vehicle speed = expert speeds[vehicle_idx, time]\n",
+    "```"
+   ]
+  },
+  {
+   "attachments": {},
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Action space\n",
+    "\n",
+    "The action set for a vehicle consists of three components: acceleration, steering and the head angle. Actions are discretized based on a provided upper and lower bound.\n",
+    "\n",
+    "The experiments in the paper use:\n",
+    "- 6 discrete actions for **acceleration** uniformly split between $[-3, 2] \\, \\frac{m}{s^2}$\n",
+    "- 21 discrete actions for **steering** between $[-0.7, 0.7]$ radians\n",
+    "- 5 discrete actions for **head tilt** between $[-1.6, 1.6]$ radians\n",
+    "\n",
+    "This is how you can access an expert action for a vehicle in Nocturne:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Choose an arbitrary timepoint\n",
+    "time = 5\n",
+    "\n",
+    "# Show expert action at timepoint\n",
+    "scenario.expert_action(ego_vehicle, time)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "type(scenario.expert_action(ego_vehicle, time))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# How did the vehicle's position change after taking this action?\n",
+    "scenario.expert_pos_shift(ego_vehicle, time)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# How did the head angle change?\n",
+    "scenario.expert_heading_shift(ego_vehicle, time)"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "nocturne-research",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.16"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/docs/tutorials/02_nocturne_concepts.md b/docs/source/02_nocturne_concepts.md
similarity index 93%
rename from docs/tutorials/02_nocturne_concepts.md
rename to docs/source/02_nocturne_concepts.md
index b76382cf..3477d6cc 100644
--- a/docs/tutorials/02_nocturne_concepts.md
+++ b/docs/source/02_nocturne_concepts.md
@@ -1,15 +1,15 @@
 ---
-jupyter:
-  jupytext:
-    text_representation:
-      extension: .md
-      format_name: markdown
-      format_version: '1.3'
-      jupytext_version: 1.14.0
-  kernelspec:
-    display_name: nocturne-research
-    language: python
-    name: python3
+jupytext:
+  formats: ipynb,md:myst
+  text_representation:
+    extension: .md
+    format_name: myst
+    format_version: 0.13
+    jupytext_version: 1.14.5
+kernelspec:
+  display_name: nocturne-research
+  language: python
+  name: python3
 ---
 
 ## Nocturne concepts
@@ -18,9 +18,11 @@ This page introduces the most basic elements of nocturne. You can find further i
 
 _Last update: April 2023_
 
-```python
+```{code-cell} ipython3
 import numpy as np
 
+from nocturne import Simulation
+
 data_path = 'data/example_scenario.json'
 ```
 
@@ -30,6 +32,7 @@ data_path = 'data/example_scenario.json'
 - The state of the vehicle of focus is referred to as the ego state. Each vehicles observes the traffic scene from their own viewpoint and a visible state is constructed by parameterizing the view distance, head angle and cone radius of the driver. The action for each vehicle is a `(1, 3)` tuple with the acceleration, steering and head angle of the vehicle. 
 - The step method advances the simulation with a desired step size. By default, the dynamics of vehicles are driven by a kinematic bicycle model. If a vehicle is set to expert-controlled mode, its position, heading, and speed will be updated according to a trajectory created by a human expert.
 
++++
 
 ### Simulation
 
@@ -43,9 +46,7 @@ In Nocturne, a simulation discretizes an existing traffic scenario. At the momen
 
 We show an example of this using `example_scenario.json`, where our traffic data is extracted from the Waymo open motion dataset:
 
-```python
-from nocturne import Simulation
-
+```{code-cell} ipython3
 scenario_config = {
     'start_time': 0, # When to start the simulation
     'allow_non_vehicles': True, # Whether to include cyclists and pedestrians 
@@ -65,19 +66,19 @@ A simulation consists of a set of scenarios. A scenario is a snapshot of the tra
 
 Here is how to create a scenario object:
 
-```python
+```{code-cell} ipython3
 # Get traffic scenario at timepoint
 scenario = sim.getScenario()
 ```
 
 The `scenario` objects holds information we are interested in. Here are a couple of examples:
 
-```python
+```{code-cell} ipython3
 # The number of road objects in the scene
 len(scenario.getObjects())
 ```
 
-```python
+```{code-cell} ipython3
 # The road objects that moved at a particular timepoint
 objects_that_moved = scenario.getObjectsThatMoved()
 
@@ -85,21 +86,21 @@ print(f'Total # moving objects: {len(objects_that_moved)}\n')
 print(f'Object IDs of moving vehicles: \n {[obj.getID() for obj in objects_that_moved]} ')
 ```
 
-```python
+```{code-cell} ipython3
 # Number of road lines
 len(scenario.road_lines())
 ```
 
-```python
+```{code-cell} ipython3
 scenario.getVehicles()[:5]
 ```
 
-```python
+```{code-cell} ipython3
 # No cyclists in this scene
 scenario.getCyclists()
 ```
 
-```python
+```{code-cell} ipython3
 # Select all moving vehicles that move 
 moving_vehicles = [obj for obj in scenario.getVehicles() if obj in objects_that_moved]
 
@@ -120,7 +121,7 @@ The **ego state** is an array with features that describe the current vehicle. T
 - 8: current steering position
 - 9: current head angle
 
-```python
+```{code-cell} ipython3
 # Select an arbitrary vehicle
 ego_vehicle = moving_vehicles[0]
 
@@ -155,10 +156,11 @@ Calling `scenario.visible_state()` returns a dictionary with four matrices:
 <figcaption>The same scene, this time showing the view of the yellow car.</figcaption></center>
 </figure>
 
++++
 
 The shape of the visible state is a function of the maximum number of visible objects defined at initialization (traffic lights, stop signs, road objects, and road points) and whether we add padding. If `padding = True`, an array is of size `(max visible objects, # features)` is always constructed, even if there are no visible objects. Otherwise, if `padding = False` new entries are only created when objects are visible.
 
-```python
+```{code-cell} ipython3
 # Define viewing distance, radius and head angle
 view_distance = 80 
 view_angle = np.radians(120) 
@@ -177,33 +179,33 @@ visible_state = scenario.visible_state(
 visible_state.keys()
 ```
 
-```python
+```{code-cell} ipython3
 # There are no visible stop signs at this point
 visible_state['stop_signs'].T
 ```
 
-```python
+```{code-cell} ipython3
 # Traffic light states are filtered out in this version of Nocturne
 visible_state['traffic_lights']
 ```
 
-```python
+```{code-cell} ipython3
 # Max visible road points x 13 features
 visible_state['road_points'].shape
 ```
 
-```python
+```{code-cell} ipython3
 # Number of visible road objects x 13 features 
 visible_state['objects'].shape
 ```
 
-```python
+```{code-cell} ipython3
 visible_state_dim = sum([val.flatten().shape[0] for key, val in visible_state.items()])
 
 print(f'Dimension flattened visible state: {visible_state_dim}')
 ```
 
-```python
+```{code-cell} ipython3
 # We can also flatten the visible state
 # flattened has padding: if we miss an object --> zeros
 visible_state_flat = scenario.flattened_visible_state(
@@ -218,6 +220,7 @@ visible_state_flat.shape
 
 Note that `.flattened_visible_state()` has padding by default.
 
++++
 
 ### Step 
 
@@ -225,7 +228,7 @@ Note that `.flattened_visible_state()` has padding by default.
 
 In the Waymo dataset, the length of the expert data is 9 seconds, a step size of 0.1 is used to discretize each traffic scene. The first second is used as a warm-start, leaving the remaining 8 seconds (80 steps) for the simulation (Details in Section 3.3).
 
-```python
+```{code-cell} ipython3
 dt = 0.1
 
 # Step the simulation
@@ -259,12 +262,12 @@ where $(x_t, y_t)$ is the position of a vehicle at time $t$, $\theta_t$ is the v
 
 If we set a vehicle to be **expert-controlled** instead, it will follow the same path as the respective human driver. This means that when we call the `step(dt)` function, the vehicle's position, heading, and speed will be updated to match the next point in the recorded human trajectory.
 
-```python
+```{code-cell} ipython3
 # By default, all vehicles are not expert controlled
 ego_vehicle.expert_control
 ```
 
-```python
+```{code-cell} ipython3
 # Set a vehicle to be expert controlled:
 ego_vehicle.expert_control = True
 ```
@@ -288,6 +291,7 @@ for vehicle in vehicles:
         vehicle speed = expert speeds[vehicle_idx, time]
 ```
 
++++
 
 ### Action space
 
@@ -300,7 +304,7 @@ The experiments in the paper use:
 
 This is how you can access an expert action for a vehicle in Nocturne:
 
-```python
+```{code-cell} ipython3
 # Choose an arbitrary timepoint
 time = 5
 
@@ -308,16 +312,16 @@ time = 5
 scenario.expert_action(ego_vehicle, time)
 ```
 
-```python
+```{code-cell} ipython3
 type(scenario.expert_action(ego_vehicle, time))
 ```
 
-```python
+```{code-cell} ipython3
 # How did the vehicle's position change after taking this action?
 scenario.expert_pos_shift(ego_vehicle, time)
 ```
 
-```python
+```{code-cell} ipython3
 # How did the head angle change?
 scenario.expert_heading_shift(ego_vehicle, time)
 ```
diff --git a/docs/source/api_python.md b/docs/source/api_python.md
new file mode 100644
index 00000000..0d2087ee
--- /dev/null
+++ b/docs/source/api_python.md
@@ -0,0 +1,9 @@
+---
+title: Nocturne | API Reference
+---
+# API Reference
+
+```{eval-rst}
+.. autosummary:: nocturne
+   :toctree: generated
+```
\ No newline at end of file
diff --git a/docs/source/changelog.md b/docs/source/changelog.md
new file mode 100644
index 00000000..1097c1a6
--- /dev/null
+++ b/docs/source/changelog.md
@@ -0,0 +1,6 @@
+---
+title: Changelog
+---
+
+```{include} ../../CHANGELOG.md
+```
\ No newline at end of file
diff --git a/docs/source/coc.md b/docs/source/coc.md
new file mode 100644
index 00000000..8ec8c907
--- /dev/null
+++ b/docs/source/coc.md
@@ -0,0 +1,6 @@
+---
+title: Code of Conduct
+---
+
+```{include} ../../CODE_OF_CONDUCT.md
+```
\ No newline at end of file
diff --git a/docs/source/conf.py b/docs/source/conf.py
new file mode 100644
index 00000000..8773bd9c
--- /dev/null
+++ b/docs/source/conf.py
@@ -0,0 +1,140 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+import pathlib
+import sys
+sys.path.insert(0, pathlib.Path(__file__).parents[2].resolve().as_posix())
+
+
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+
+project = 'Nocturne'
+copyright = '2023, The Nocturne Authors'
+author = 'The Nocturne Authors'
+
+# The short X.Y version
+version = ''
+# The full version, including alpha/beta/rc tags
+release = ''
+
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+extensions = [
+    'sphinx.ext.autodoc',
+    'sphinx.ext.autosummary',
+    'sphinx.ext.autosectionlabel',
+    'sphinx.ext.autosummary',
+    'sphinx.ext.duration',
+    'sphinx.ext.githubpages',
+    'sphinx.ext.intersphinx',
+    'sphinx.ext.napoleon',
+    "myst_nb", # See: https://myst-nb.readthedocs.io/en/latest/
+    'sphinxcontrib.bibtex', # See: https://sphinxcontrib-bibtex.readthedocs.io/en/latest/quickstart.html
+    'sphinx_autodoc_typehints', # See: https://github.com/tox-dev/sphinx-autodoc-typehints
+]
+
+templates_path = ['_templates']
+exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
+
+intersphinx_mapping = {
+    "python": ("https://docs.python.org/3.8", None),
+    'numpy': ('https://numpy.org/doc/stable/', None),
+    'scipy': ('https://docs.scipy.org/doc/scipy-1.8.1/', None),
+}
+
+bibtex_bibfiles = ["references.bib"]
+
+autosummary_generate = True
+
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+
+html_theme = 'sphinx_book_theme'
+html_theme_options = {
+    "path_to_docs": "docs",
+    "use_download_button": True,
+    "use_edit_page_button": True,
+    "use_fullscreen_button": True,
+    "use_issues_button": True,
+    "use_source_button": True,
+    "use_repository_button": True,
+    "use_sidenotes": True,
+    "repository_url": "https://github.com/facebookresearch/nocturne",
+    "repository_branch": "main",
+    "launch_buttons": {
+        "colab_url": "https://colab.research.google.com"
+    },
+    "home_page_in_toc": True,
+    "show_navbar_depth": 1,
+    "show_toc_level": 2,
+    "icon_links": [
+        # {
+        #     "name": "Nocturne GitHub",
+        #     "url": "https://github.com/facebookresearch/nocturne",
+        #     "icon": "fa-brands fa-github",
+        # },
+    ]
+}
+html_static_path = ['_static']
+html_logo = "_static/logo.png"
+# html_favicon = "_static/logo-square.svg"
+html_title = "Nocturne"
+html_copy_source = True
+
+html_sidebars = {
+    "**/**": ["sbt-sidebar-nav.html"]
+}
+
+# -- Options for MySt-NB output -------------------------------------------------
+# https://myst-nb.readthedocs.io/en/latest/index.html
+source_suffix = {
+    '.rst': 'restructuredtext',
+    '.ipynb': 'myst-nb',
+    '.myst': 'myst-nb',
+}
+myst_heading_anchors = 3  # auto-generate 3 levels of heading anchors
+myst_enable_extensions = [
+    "amsmath",
+    "colon_fence",
+    "deflist",
+    "dollarmath",
+    "html_image",
+]
+myst_url_schemes = ("http", "https", "mailto")
+nb_execution_mode = "force"
+nb_execution_allow_errors = False
+nb_merge_streams = True
+
+nb_execution_excludepatterns = [
+    # Slow notebook
+    # 'notebooks/Neural_Network_and_Data_Loading.*',
+]
+
+# -- Options for autodoc ----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#configuration
+
+# Automatically extract typehints when specified and place them in
+# descriptions of the relevant function/method.
+autodoc_typehints = "description"
+
+# Don't show class signature with the class' name.
+autodoc_class_signature = "separated"
+
+# -- Extension configuration -------------------------------------------------
+
+# Tell sphinx-autodoc-typehints to generate stub parameter annotations including
+# types, even if the parameters aren't explicitly documented.
+always_document_param_types = True
+
+
+# Tell sphinx autodoc how to render type aliases.
+autodoc_type_aliases = {
+    'ArrayLike': 'ArrayLike',
+    'DTypeLike': 'DTypeLike',
+}
\ No newline at end of file
diff --git a/docs/source/contributing.md b/docs/source/contributing.md
new file mode 100644
index 00000000..da286b8e
--- /dev/null
+++ b/docs/source/contributing.md
@@ -0,0 +1,6 @@
+---
+title: Contributing
+---
+
+```{include} ../../CONTRIBUTING.md
+```
\ No newline at end of file
diff --git a/docs/tutorials/data/example_scenario.json b/docs/source/data/example_scenario.json
similarity index 100%
rename from docs/tutorials/data/example_scenario.json
rename to docs/source/data/example_scenario.json
diff --git a/docs/source/index.md b/docs/source/index.md
index 4cdcae23..a0fb8a2b 100644
--- a/docs/source/index.md
+++ b/docs/source/index.md
@@ -10,5 +10,32 @@ title: Nocturne
 self
 ```
 
+```{toctree}
+:maxdepth: 1
+:hidden:
+:caption: Tutorial
+
+01_data_structure
+02_nocturne_concepts
+```
+
+```{toctree}
+:maxdepth: 1
+:hidden:
+:caption: Reference
+
+api_python
+```
+
+```{toctree}
+:maxdepth: 1
+:hidden:
+:caption: Developer
+
+contributing
+changelog
+coc
+```
+
 ```{include} ../../README.md
 ```
\ No newline at end of file
diff --git a/docs/source/references.bib b/docs/source/references.bib
new file mode 100644
index 00000000..e69de29b

From d318bf96a445dd0a99b8f95e8b2baa9107c15f5f Mon Sep 17 00:00:00 2001
From: Mathijs995 <mathijsdejong1995@gmail.com>
Date: Sun, 30 Apr 2023 12:34:49 +0200
Subject: [PATCH 3/4] Added jupytext and pre-commit notebook code quality
 checks

---
 .pre-commit-config.yaml | 20 ++++++++++++++++++++
 requirements.dev.txt    |  3 ++-
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 .pre-commit-config.yaml

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 00000000..2e8dde80
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,20 @@
+repos:
+  - repo: https://github.com/mwouts/jupytext
+    rev: v1.14.0
+    hooks:
+      - id: jupytext
+        args: [--from, ipynb, --to, md:myst, --sync]
+  
+  - repo: https://github.com/nbQA-dev/nbQA
+    rev: 1.7.0
+    hooks:
+      - id: nbqa-pyupgrade
+        args: ["--py38-plus"]
+      - id: nbqa-isort
+        args: ["--float-to-top"]
+      - id: nbqa-flake8
+
+  - repo: https://github.com/kynan/nbstripout
+    rev: 0.6.1
+    hooks:
+      - id: nbstripout
\ No newline at end of file
diff --git a/requirements.dev.txt b/requirements.dev.txt
index 1ed05872..dfb3081c 100644
--- a/requirements.dev.txt
+++ b/requirements.dev.txt
@@ -3,4 +3,5 @@ sphinx==5.3.0
 sphinx_book_theme==1.0.1
 myst_nb==0.17.2
 sphinxcontrib_bibtex==2.5.0
-sphinx-autodoc-typehints==1.23.0
\ No newline at end of file
+sphinx-autodoc-typehints==1.23.0
+jupytext==1.14.5
\ No newline at end of file

From 33c47cd0cb715a7cee2b8cb3015da6e951c0cb0b Mon Sep 17 00:00:00 2001
From: Mathijs995 <mathijsdejong1995@gmail.com>
Date: Sun, 30 Apr 2023 12:35:56 +0200
Subject: [PATCH 4/4] Added Github Pages workflow for Sphinx docs

---
 .github/workflows/build_docs.yml | 53 ++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 .github/workflows/build_docs.yml

diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml
new file mode 100644
index 00000000..d835d5bf
--- /dev/null
+++ b/.github/workflows/build_docs.yml
@@ -0,0 +1,53 @@
+# Workflow for building Sphinx docs and deploying to GH Pages
+name: Build Sphinx docs and deploy to GH Pages
+
+on:
+  # Runs on pushes
+  push # TODO: Update to push on main branch only before merging to main
+
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+  contents: read
+  pages: write
+  id-token: write
+
+# Allow only one concurrent deployment, cancelling in-progress runs.
+concurrency:
+  group: "pages"
+  cancel-in-progress: true
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - run: echo "The job was automatically triggered by a ${{ github.event_name }} event."
+      - run: echo "This job is now running on a ${{ runner.os }} server."
+      - run: echo "Running on branch ${{ github.ref }} of repository ${{ github.repository }}."
+      - name: Check out repository code.
+        uses: actions/checkout@v3
+      - name: Python environment setup
+        uses: actions/setup-python@v4
+        with:
+          python-version: 3.8
+      - name: Install dependencies.
+        run: |
+          sudo apt-get update
+          sudo apt-get install libsfml-dev
+          git submodule sync
+          git submodule update --init --recursive
+          python -m pip install -U pip
+          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
+          if [ -f requirements.dev.txt ]; then pip install -r requirements.dev.txt; fi
+          pip install -e .
+      - name: Build HTML docs
+        run: sphinx-build -b html docs/source/ docs/build/html
+      - name: Setup Pages
+        uses: actions/configure-pages@v3
+      - name: Upload artifact
+        uses: actions/upload-pages-artifact@v1
+        with:
+          path: './docs/build/html' # Upload HTML docs only
+      - name: Deploy to GitHub Pages
+        id: deployment
+        uses: actions/deploy-pages@v2
\ No newline at end of file