diff --git a/README.md b/README.md
index 2eceb27..551ae1c 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,23 @@
-
+
-### **lineboi3000 is a way cool graphical interface for drawing, painting, adding EFX, and then sending your designs to a pen plotter or creating animations.** {docsify-ignore}
+### **lineboi3000 is a way cool graphical interface for drawing, painting, adding EFX, and then sending your designs to a pen plotter or creating animations.**
-BETA - click here for known issues and caveats
+
-\*\*\* For full documentation, visit the [Docs Page](http://username.github.io/repository)
+## Getting Started
+
+### Install
+
+`yarn` or `npm i` to install all dependencies
+
+### Run The App
+
+`yarn dev` or `npm dev` to run the dev server (devtools open, and Webpack rebuilds on changes to files)
+
+## Full documentation lives [HERE](http://username.github.io/repository)
+
+
+
+
+
+
diff --git a/docs/_media/gif-mode-example-two.gif b/docs/_media/gif-mode-example-two.gif
new file mode 100644
index 0000000..2d43cc2
Binary files /dev/null and b/docs/_media/gif-mode-example-two.gif differ
diff --git a/docs/_media/gif-mode-example.gif b/docs/_media/gif-mode-example.gif
new file mode 100644
index 0000000..d10238c
Binary files /dev/null and b/docs/_media/gif-mode-example.gif differ
diff --git a/docs/_media/gif-mode.png b/docs/_media/gif-mode.png
new file mode 100644
index 0000000..c1649ba
Binary files /dev/null and b/docs/_media/gif-mode.png differ
diff --git a/docs/_media/lineboi-demo.gif b/docs/_media/lineboi-demo.gif
new file mode 100644
index 0000000..de35895
Binary files /dev/null and b/docs/_media/lineboi-demo.gif differ
diff --git a/docs/_media/lineboi-main-example-2.png b/docs/_media/lineboi-main-example-2.png
new file mode 100644
index 0000000..a3ee7b2
Binary files /dev/null and b/docs/_media/lineboi-main-example-2.png differ
diff --git a/docs/_media/lineboi-main-example.png b/docs/_media/lineboi-main-example.png
new file mode 100644
index 0000000..ee6983b
Binary files /dev/null and b/docs/_media/lineboi-main-example.png differ
diff --git a/docs/_media/main-example.gif b/docs/_media/main-example.gif
new file mode 100644
index 0000000..0eb510f
Binary files /dev/null and b/docs/_media/main-example.gif differ
diff --git a/docs/_media/plot-mode-pen-controls.png b/docs/_media/plot-mode-pen-controls.png
new file mode 100644
index 0000000..aeb48c7
Binary files /dev/null and b/docs/_media/plot-mode-pen-controls.png differ
diff --git a/docs/_media/plot-mode-pen-options.png b/docs/_media/plot-mode-pen-options.png
new file mode 100644
index 0000000..c200456
Binary files /dev/null and b/docs/_media/plot-mode-pen-options.png differ
diff --git a/docs/_media/plot-mode-plot-actions.png b/docs/_media/plot-mode-plot-actions.png
new file mode 100644
index 0000000..506069e
Binary files /dev/null and b/docs/_media/plot-mode-plot-actions.png differ
diff --git a/docs/_media/plot-mode-plot-status.png b/docs/_media/plot-mode-plot-status.png
new file mode 100644
index 0000000..af41111
Binary files /dev/null and b/docs/_media/plot-mode-plot-status.png differ
diff --git a/docs/_media/plot-mode.png b/docs/_media/plot-mode.png
new file mode 100644
index 0000000..4df890d
Binary files /dev/null and b/docs/_media/plot-mode.png differ
diff --git a/docs/getting-started.md b/docs/getting-started.md
index 3127079..bdf5c0b 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -4,12 +4,16 @@ I haven't set up Electron app packaging yet, so you can run locally via `npm` or
## Quick Start
+### Install
+
`yarn` or `npm i` to install all dependencies
-`yarn start` or `npm start` to run the dev server
+### Run The App
`yarn dev` or `npm dev` to run the dev server (devtools open, and Webpack rebuilds on changes to files)
+`yarn start` or `npm start` to run the dev server
+
## Useful Yarn/NPM Commands
In a terminal window, navigate to the main folder and enter `yarn [command]` or `npm [command]`
diff --git a/docs/gif-mode.md b/docs/gif-mode.md
index e48cb25..88e969f 100644
--- a/docs/gif-mode.md
+++ b/docs/gif-mode.md
@@ -1,3 +1,9 @@
-# Plot Mode
+# Gif Mode
-
+Docs for Gif Mode coming soon
+
+
+
+## Example Output
+
+
diff --git a/docs/plot-mode.md b/docs/plot-mode.md
index e48cb25..9bd82f3 100644
--- a/docs/plot-mode.md
+++ b/docs/plot-mode.md
@@ -1,3 +1,46 @@
# Plot Mode
-
+Once you've added EFX, you can send the result to a pen plotter in `Plot Mode`
+
+**NOTE**: I've tested all of this locally and it works fine. However, this is all beta, so I can't promise there aren't bugs or issues. I would run small tests with your plotter to make sure it's all good before doing anything serious.
+
+
+
+## Layer Controls
+
+The same controls in [Plot Mode](/draw-mode#layer-controls) apply to layers in EFX Mode.
+
+## Plotter Status
+
+
+
+This shows the current status of the pen plotter. Possible states are:
+
+- **SEARCHING**: lineboi3000 is checking for the Plotter
+- **DISCONNECTED**: No pen plotter was found
+- **SIMULATED**: CNCServer is connected but no Plotter was found. Plot actions will be simulated
+- **CONNECTED**: A bona fide Pen Plotter was found. Plot actions will be sent to the real plotter
+
+## Plot Actions
+
+
+
+- **PLOT**: Start Plotting all lines on visible layers.
+
+## Pen Actions
+
+- **PEN UP/DOWN**: Move the pen up or down to the set height
+- **SET HEIGHTS**: Lock in the heights in the below options.
+- **PARK PEN**: Set pen state as X:0, Y:O and move
+- **RETURN PEN TO START**: Delete Pen status and reset it to default position
+
+To set heights, move the options below, then click `SET HEIGHTS`, then press `PEN UP` or `PEN DOWN` to check the output. Once the heights are set, the app will use those values when plotting.
+
+## Plot Options
+
+
+
+- **OPTIMIZE LINE ORDER**: Order Plot lines to reduce the amount of pen travel, by finding the nearest next line to plot after finishing a given line. As a note I've seen slightly "off" results with this that might have to do with the physical difference between the sides of the pen tip,.
+- **PEN UP HEIGHT**: Height when the pen is in Up state. 0 is highest.
+- **PEN DOWN HEIGHT**: Height when the pen is in Down state. 1 is lowest.
+- **SCALE**: Scale of the plotted lines in percent
diff --git a/src/components/AppContainer.js b/src/components/AppContainer.js
index 3dd06d2..c7935f0 100644
--- a/src/components/AppContainer.js
+++ b/src/components/AppContainer.js
@@ -9,6 +9,7 @@ import { setGifmakerLoading } from 'store/gifmaker/gifmakerActions';
import DrawingContent from './Drawing/DrawingContent/DrawingContent';
import DrawingSidebar from './Drawing/DrawingSidebar/DrawingSidebar';
import PlotContent from './PlotContent/PlotContent';
+import PlotHeader from './PlotHeader/PlotHeader';
import GifmakerContent from './GifmakerContent/GifmakerContent';
import GifmakerSidebar from './GifmakerContent/GifmakerSidebar';
import PlotSidebar from './PlotSidebar/PlotSidebar';
@@ -73,9 +74,10 @@ class AppContainer extends React.Component {
const { mode } = this.props;
const showGrid = ['efx', 'draw'].includes(mode);
const showLayerHeader = ['draw', 'efx'].includes(mode);
+ const showPlotHeader = mode === 'plot';
const showGifHeader = mode === 'gifmaker';
const headerRightClass =
- mode === 'plot' || mode === 'options'
+ mode === 'options'
? styles.headerRightDisabled
: styles.headerRight;
@@ -85,6 +87,7 @@ class AppContainer extends React.Component {