diff --git a/.gitignore b/.gitignore
index 97b39e4..5e380f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,4 @@
-*.swp
-*.swo
-assets/*.png
-assets/*.jpg
-assets/*.gif
-assets/*.svg
\ No newline at end of file
+node_modules/
+builds/
+.DS_Store
+*/.DS_Store
diff --git a/BUILD.md b/BUILD.md
new file mode 100644
index 0000000..ccd9401
--- /dev/null
+++ b/BUILD.md
@@ -0,0 +1,35 @@
+## Build
+
+Don't forget to ```npm cache clean```!
+
+### Build Linux64 / Darwin64 / Windows64(Offsite)
+
+```
+cd /xxiivv/Nataniev/public/public.projects/sources/Ronin/
+
+git pull
+
+rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-linux-x64/
+rm /xxiivv/Nataniev/public/public.projects/builds/ronin_lin64.zip
+electron-packager . Ronin --platform=linux --arch=x64 --out /xxiivv/Nataniev/public/public.projects/builds --overwrite --electron-version=1.7.5 --icon=icon.ico
+
+rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-win32-x64/
+rm /xxiivv/Nataniev/public/public.projects/builds/ronin_win64.zip
+electron-packager . Ronin --platform=win32 --arch=x64 --out /xxiivv/Nataniev/public/public.projects/builds --overwrite --electron-version=1.7.5 --icon=icon.ico
+
+rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-darwin-x64/
+rm /xxiivv/Nataniev/public/public.projects/builds/ronin_osx64.zip
+electron-packager . Ronin --platform=darwin --arch=x64 --out /xxiivv/Nataniev/public/public.projects/builds --overwrite --electron-version=1.7.5 --icon=icon.icns
+
+cd /xxiivv/Nataniev/public/public.projects/builds/
+
+~/butler push /xxiivv/Nataniev/public/public.projects/builds/Ronin-linux-x64/ hundredrabbits/ronin:linux-64
+~/butler push /xxiivv/Nataniev/public/public.projects/builds/Ronin-win32-x64/ hundredrabbits/ronin:windows-64
+~/butler push /xxiivv/Nataniev/public/public.projects/builds/Ronin-darwin-x64/ hundredrabbits/ronin:osx-64
+
+rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-darwin-x64/
+rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-linux-x64/
+rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-win32-x64/
+
+~/butler status hundredrabbits/ronin
+```
\ No newline at end of file
diff --git a/PREVIEW.jpg b/PREVIEW.jpg
new file mode 100644
index 0000000..92a3f91
Binary files /dev/null and b/PREVIEW.jpg differ
diff --git a/README.md b/README.md
index ef26d77..00cc9d2 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,8 @@
-# Ronin
+# Marabu
-Ronin is my web based drawing tool it's under constant development.
-The repository comes with a script that fires Ronin from within Localhost.
+Marabu is a simple open-source graphic design tool.
+
+
## Example file
diff --git a/Ronin Server.command b/Ronin Server.command
deleted file mode 100755
index 34cb05f..0000000
--- a/Ronin Server.command
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-cd `dirname "$BASH_SOURCE"`
-{
- sleep 1
- open http://localhost:8022/
-}&
-python -m SimpleHTTPServer 8022
diff --git a/Updater(OS X).command b/Updater(OS X).command
new file mode 100755
index 0000000..af2b3e2
--- /dev/null
+++ b/Updater(OS X).command
@@ -0,0 +1,6 @@
+#!/bin/bash
+cd ~/Github/HundredRabbits/Ronin/
+electron-packager . Ronin --platform=darwin --arch=x64 --out ~/Desktop/ --overwrite --electron-version=1.7.5 --icon=icon.icns
+mv -v ~/Desktop/Ronin-darwin-x64/Ronin.app /Applications/
+rm -r ~/Desktop/Ronin-darwin-x64/
+open -a "Ronin"
\ No newline at end of file
diff --git a/assets/assets.txt b/assets/assets.txt
deleted file mode 100644
index df7458e..0000000
--- a/assets/assets.txt
+++ /dev/null
@@ -1 +0,0 @@
-Use this folder to put your working graphics.
\ No newline at end of file
diff --git a/icon.icns b/icon.icns
new file mode 100644
index 0000000..84c531f
Binary files /dev/null and b/icon.icns differ
diff --git a/icon.ico b/icon.ico
new file mode 100644
index 0000000..adb079d
Binary files /dev/null and b/icon.ico differ
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..dafba68
--- /dev/null
+++ b/main.js
@@ -0,0 +1,74 @@
+const {app, BrowserWindow, webFrame, Menu} = require('electron')
+const path = require('path')
+const url = require('url')
+
+let win
+
+app.on('ready', () =>
+{
+ win = new BrowserWindow({width: 930, height: 540, backgroundColor:"#000", frame:false, resizable:false, autoHideMenuBar: true, icon: __dirname + '/icon.ico'})
+
+ win.loadURL(`file://${__dirname}/sources/index.html`)
+
+ let is_shown = true;
+
+ if (process.platform === 'darwin') {
+ Menu.setApplicationMenu(Menu.buildFromTemplate([
+ {
+ label: 'File',
+ submenu: [
+ { label: 'Quit', accelerator: 'CmdOrCtrl+Q', click: function() { force_quit=true; app.exit(); }}
+ ]
+ },
+ {
+ label: 'Edit',
+ submenu: [
+ { role: 'undo' },
+ { role: 'redo' },
+ { role: 'cut' },
+ { role: 'copy' },
+ { role: 'paste' },
+ { role: 'delete' },
+ { role: 'selectall' }
+ ]
+ },
+ {
+ label: 'Window',
+ submenu : [
+ { label: 'Hide', accelerator: 'CmdOrCtrl+H',click: () => { if(is_shown){ win.hide(); } else{ win.show(); }}},
+ { label: 'Minimize', accelerator: 'CmdOrCtrl+M',click: () => { win.minimize(); }},
+ { label: 'Fullscreen', accelerator: 'CmdOrCtrl+Enter',click: () => { win.setFullScreen(win.isFullScreen() ? false : true); }}
+ ]
+ }
+ ]));
+ }
+
+ win.on('closed', () => {
+ win = null
+ app.quit()
+ })
+
+ win.on('hide',function() {
+ is_shown = false;
+ })
+
+ win.on('show',function() {
+ is_shown = true;
+ })
+ // Open the DevTools.
+ win.webContents.openDevTools()
+})
+
+app.on('window-all-closed', () =>
+{
+ app.quit()
+})
+
+app.on('activate', () => {
+ if (win === null) {
+ createWindow()
+ }
+ else{
+
+ }
+})
\ No newline at end of file
diff --git a/media/graphics/logo.svg b/media/graphics/logo.svg
deleted file mode 100644
index ec70365..0000000
--- a/media/graphics/logo.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..0a0380f
--- /dev/null
+++ b/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "Ronin",
+ "version": "0.1.0",
+ "main": "main.js",
+ "scripts": {
+ "start": "electron ."
+ },
+ "devDependencies": {
+ "electron": "^1.7.5",
+ "electron-prebuilt": "^1.4.13"
+ },
+ "dependencies": {
+ "electron-packager": "^8.4.0"
+ }
+}
diff --git a/presets/logo.rin b/presets/logo.rin
new file mode 100644
index 0000000..8a27924
--- /dev/null
+++ b/presets/logo.rin
@@ -0,0 +1,16 @@
+~ TRY 1
+frame.resize 420x330
+layer.fill #EEE
+brush:color #ff0000
+path:line_color #222
+magnet.grid 15x15 4,4
+frame.select work
+path:line_cap butt
+path:line_width 60
+path.stroke M60,60 a30,30 0 0,1 30,30 l0,120 a30,30 0 0,0 30,30 a30,-30 0 0,0 30,-30 l0,-120 a30,-30 0 0,1 30,-30 a30,30 0 0,1 30,30 l0,120 a30,30 0 0,0 30,30 a30,-30 0 0,0 30,-30 l0,-120 a30,-30 0 0,1 30,-30
+path:line_cap butt
+path:line_width 1
+path:line_color #EEE
+path.stroke M90,60 a30,30 0 0,1 30,30 l0,120 a30,30 0 0,0 30,30 a30,-30 0 0,0 30,-30 l0,-120 a30,-30 0 0,1 30,-30 a30,30 0 0,1 30,30 l0,120 a30,30 0 0,0 30,30 a30,-30 0 0,0 30,-30 l0,-120 a30,-30 0 0,1 30,-30
+path.stroke M90,60 a-30,30 0 0,0 -30,30
+magnet.clear
\ No newline at end of file
diff --git a/index.html b/sources/index.html
similarity index 100%
rename from index.html
rename to sources/index.html
diff --git a/links/fonts.css b/sources/links/fonts.css
similarity index 100%
rename from links/fonts.css
rename to sources/links/fonts.css
diff --git a/links/main.css b/sources/links/main.css
similarity index 100%
rename from links/main.css
rename to sources/links/main.css
diff --git a/links/reset.css b/sources/links/reset.css
similarity index 100%
rename from links/reset.css
rename to sources/links/reset.css
diff --git a/media/fonts/input_mono_medium.ttf b/sources/media/fonts/input_mono_medium.ttf
similarity index 100%
rename from media/fonts/input_mono_medium.ttf
rename to sources/media/fonts/input_mono_medium.ttf
diff --git a/media/fonts/input_mono_regular.ttf b/sources/media/fonts/input_mono_regular.ttf
similarity index 100%
rename from media/fonts/input_mono_regular.ttf
rename to sources/media/fonts/input_mono_regular.ttf
diff --git a/media/graphics/grid.svg b/sources/media/graphics/grid.svg
similarity index 100%
rename from media/graphics/grid.svg
rename to sources/media/graphics/grid.svg
diff --git a/media/graphics/void.svg b/sources/media/graphics/void.svg
similarity index 100%
rename from media/graphics/void.svg
rename to sources/media/graphics/void.svg
diff --git a/scripts/core/command.js b/sources/scripts/core/command.js
similarity index 100%
rename from scripts/core/command.js
rename to sources/scripts/core/command.js
diff --git a/scripts/core/keyboard.js b/sources/scripts/core/keyboard.js
similarity index 100%
rename from scripts/core/keyboard.js
rename to sources/scripts/core/keyboard.js
diff --git a/scripts/core/ronin.js b/sources/scripts/core/ronin.js
similarity index 100%
rename from scripts/core/ronin.js
rename to sources/scripts/core/ronin.js
diff --git a/scripts/filters/balance.js b/sources/scripts/filters/balance.js
similarity index 100%
rename from scripts/filters/balance.js
rename to sources/scripts/filters/balance.js
diff --git a/scripts/filters/chromatic.js b/sources/scripts/filters/chromatic.js
similarity index 100%
rename from scripts/filters/chromatic.js
rename to sources/scripts/filters/chromatic.js
diff --git a/scripts/filters/contrast.js b/sources/scripts/filters/contrast.js
similarity index 100%
rename from scripts/filters/contrast.js
rename to sources/scripts/filters/contrast.js
diff --git a/scripts/filters/filter.js b/sources/scripts/filters/filter.js
similarity index 100%
rename from scripts/filters/filter.js
rename to sources/scripts/filters/filter.js
diff --git a/scripts/filters/grey.js b/sources/scripts/filters/grey.js
similarity index 100%
rename from scripts/filters/grey.js
rename to sources/scripts/filters/grey.js
diff --git a/scripts/filters/invert.js b/sources/scripts/filters/invert.js
similarity index 100%
rename from scripts/filters/invert.js
rename to sources/scripts/filters/invert.js
diff --git a/scripts/filters/saturate.js b/sources/scripts/filters/saturate.js
similarity index 100%
rename from scripts/filters/saturate.js
rename to sources/scripts/filters/saturate.js
diff --git a/scripts/filters/sharpen.js b/sources/scripts/filters/sharpen.js
similarity index 100%
rename from scripts/filters/sharpen.js
rename to sources/scripts/filters/sharpen.js
diff --git a/scripts/filters/stencil.js b/sources/scripts/filters/stencil.js
similarity index 100%
rename from scripts/filters/stencil.js
rename to sources/scripts/filters/stencil.js
diff --git a/scripts/modules/brush.js b/sources/scripts/modules/brush.js
similarity index 100%
rename from scripts/modules/brush.js
rename to sources/scripts/modules/brush.js
diff --git a/scripts/modules/brush.pointer.js b/sources/scripts/modules/brush.pointer.js
similarity index 100%
rename from scripts/modules/brush.pointer.js
rename to sources/scripts/modules/brush.pointer.js
diff --git a/scripts/modules/cursor.js b/sources/scripts/modules/cursor.js
similarity index 100%
rename from scripts/modules/cursor.js
rename to sources/scripts/modules/cursor.js
diff --git a/scripts/modules/default.js b/sources/scripts/modules/default.js
similarity index 100%
rename from scripts/modules/default.js
rename to sources/scripts/modules/default.js
diff --git a/scripts/modules/eye.js b/sources/scripts/modules/eye.js
similarity index 100%
rename from scripts/modules/eye.js
rename to sources/scripts/modules/eye.js
diff --git a/scripts/modules/frame.js b/sources/scripts/modules/frame.js
similarity index 100%
rename from scripts/modules/frame.js
rename to sources/scripts/modules/frame.js
diff --git a/scripts/modules/layer.js b/sources/scripts/modules/layer.js
similarity index 100%
rename from scripts/modules/layer.js
rename to sources/scripts/modules/layer.js
diff --git a/scripts/modules/magnet.js b/sources/scripts/modules/magnet.js
similarity index 100%
rename from scripts/modules/magnet.js
rename to sources/scripts/modules/magnet.js
diff --git a/scripts/modules/module.js b/sources/scripts/modules/module.js
similarity index 100%
rename from scripts/modules/module.js
rename to sources/scripts/modules/module.js
diff --git a/scripts/modules/overlay.js b/sources/scripts/modules/overlay.js
similarity index 100%
rename from scripts/modules/overlay.js
rename to sources/scripts/modules/overlay.js
diff --git a/scripts/modules/path.js b/sources/scripts/modules/path.js
similarity index 100%
rename from scripts/modules/path.js
rename to sources/scripts/modules/path.js
diff --git a/scripts/modules/render.js b/sources/scripts/modules/render.js
similarity index 100%
rename from scripts/modules/render.js
rename to sources/scripts/modules/render.js
diff --git a/scripts/modules/source.js b/sources/scripts/modules/source.js
similarity index 100%
rename from scripts/modules/source.js
rename to sources/scripts/modules/source.js
diff --git a/scripts/modules/terminal.js b/sources/scripts/modules/terminal.js
similarity index 100%
rename from scripts/modules/terminal.js
rename to sources/scripts/modules/terminal.js
diff --git a/scripts/modules/terminal.widget.js b/sources/scripts/modules/terminal.widget.js
similarity index 100%
rename from scripts/modules/terminal.widget.js
rename to sources/scripts/modules/terminal.widget.js
diff --git a/scripts/modules/type.js b/sources/scripts/modules/type.js
similarity index 100%
rename from scripts/modules/type.js
rename to sources/scripts/modules/type.js
diff --git a/scripts/units/angle.js b/sources/scripts/units/angle.js
similarity index 100%
rename from scripts/units/angle.js
rename to sources/scripts/units/angle.js
diff --git a/scripts/units/any.js b/sources/scripts/units/any.js
similarity index 100%
rename from scripts/units/any.js
rename to sources/scripts/units/any.js
diff --git a/scripts/units/bang.js b/sources/scripts/units/bang.js
similarity index 100%
rename from scripts/units/bang.js
rename to sources/scripts/units/bang.js
diff --git a/scripts/units/color.js b/sources/scripts/units/color.js
similarity index 100%
rename from scripts/units/color.js
rename to sources/scripts/units/color.js
diff --git a/scripts/units/filepath.js b/sources/scripts/units/filepath.js
similarity index 100%
rename from scripts/units/filepath.js
rename to sources/scripts/units/filepath.js
diff --git a/scripts/units/method.js b/sources/scripts/units/method.js
similarity index 100%
rename from scripts/units/method.js
rename to sources/scripts/units/method.js
diff --git a/scripts/units/mode.js b/sources/scripts/units/mode.js
similarity index 100%
rename from scripts/units/mode.js
rename to sources/scripts/units/mode.js
diff --git a/scripts/units/option.js b/sources/scripts/units/option.js
similarity index 100%
rename from scripts/units/option.js
rename to sources/scripts/units/option.js
diff --git a/scripts/units/position.js b/sources/scripts/units/position.js
similarity index 100%
rename from scripts/units/position.js
rename to sources/scripts/units/position.js
diff --git a/scripts/units/range.js b/sources/scripts/units/range.js
similarity index 100%
rename from scripts/units/range.js
rename to sources/scripts/units/range.js
diff --git a/scripts/units/rect.js b/sources/scripts/units/rect.js
similarity index 100%
rename from scripts/units/rect.js
rename to sources/scripts/units/rect.js
diff --git a/scripts/units/setting.js b/sources/scripts/units/setting.js
similarity index 100%
rename from scripts/units/setting.js
rename to sources/scripts/units/setting.js
diff --git a/scripts/units/unit.js b/sources/scripts/units/unit.js
similarity index 100%
rename from scripts/units/unit.js
rename to sources/scripts/units/unit.js
diff --git a/scripts/units/value.js b/sources/scripts/units/value.js
similarity index 100%
rename from scripts/units/value.js
rename to sources/scripts/units/value.js