Keyboard shortcuts

## General

* `cmd` on OSX is `ctrl` on Windows and Linux.

* `cmd + e` Toggle Game/Editor
* `cmd + p` Toggle Pause
* `cmd + r` Reload level
* `cmd + s` Save
* `cmd + z` Undo
* `cmd + b` Toggle bounding box display
* `z` Focus camera on selection
* `right click` Hold to pan camera
* `mouse-wheel` Zoom in/out
* `page_up` Zoom in
* `page_down` Zoom out
* `space` Hold to switch to base editor
* `+/-` faster/slower timescale
* `0` set timescale to 1

## Meta/Progress

* `cmd + shift + n` New game (starts persistency mode, erases progress and sets the user to "user")
* `cmd + shift + x` End game (leaves persistency mode, erases progress and logs user out, no progress is saved from now on)
* `cmd + shift + s` Save game (if user is "user", thus persistent mode is on)
* `cmd + shift + l` Load game (sets user to "user" and load last checkpoint. Persistent mode is on)

## Ginked

* `cmd + 1` Node Editor
* `cmd + 2` Path Editor
* `cmd + 3` Physics Editor
* `cmd + 4` Force Editor
* `cmd + 5` Animation Editor
* `cmd + 5` Color Editor
* `cmd + f` Find
* `cmd + Shift + s` Show/Hide Scene Tree
* `cmd + Shift + l` Show/Hide Level Browser
* `cmd + Shift + y` Show/Hide Layer Browser
* `cmd + Shift + m` Show/Hide Material Browser ← HIDES THE GUI?
* `cmd + Shift + t` Show/Hide Template Browser
* `cmd + Shift + ;` Show/Hide Settings Browser

## Layer Masking

* `cmd + Shift + h` Show/Hide All Layers
* `cmd + Shift + o` Lock/Unlock All Layers
* `cmd + Shift + x` Turn Parallax On/Off ← HIDES ALL BUT PARALLAX LAYERS
* `cmd + Shift + a` Show/Hide All Layers ← DOES NOTHING
* `cmd + Shift + u` Show/Hide UI Layers ← SHOWS ALL/NONE LAYERS

## Node Editor

* `left click` Select node
* `left click + hold/drag` Move selected node
* `shift + left` click Add/Remove node to/from selection
* `shift + left click + hold/drag` Move selected node along axis
* `click/drag selection` handles Scale node
* `shift + selection` handles Scale node non-uniform
* `alt + selection` handles Rotate node
* `q + selection` handles Shear node
* `double click` Isolate node
* `esc` Leave node isolation or clear selection
* `shift + esc` Clear selection
* `cmd + a` Select all nodes (warning: can be very time-consuming with many nodes)
* `cmd + c` Copy
* `cmd + x` Cut
* `cmd + v` Paste
* `cmd + d` Duplicate
* `cmd + g` Group selected nodes
* `cmd + shift + g` Ungroup selected node
* `backspace/del` Delete selected node/s
* `cmd + shift + .` Center pivot to bounding box
* `cmd + alt + c` Copy color/material of selected node
* `cmd + alt + v` Paste color/material to selected node

## Path Editor

* `left click + drag` Move path point/s
* `cmd + drag` Hold to switch off point snapping
* `+/-` Add/remove path point/s after selected point/s
* `i` Hold and click on path to add a point (sometimes buggy)
* `ctrl + a` Select all path points
* `backspace/del` Delete selected path point
* `cmd + k` Bake path points
* `d` Hold to draw path ← WHAT?! INSANE! CRASHES THOUGH
* `s` snaps all points of a path to their closest grid point
* `a` smoothes shapes by adding points ← CRASHES OFTEN
* `r` roughens path by removing second point ← DOESN'T STOP AT THREE POINTS
* `z` zigzag every path point ← DOES SOME CRAZY WEIRD SHIT
* `cmd + t` Select all paths with owners that hold triggers ← COULDN'T FIGURE THIS ONE OUT

## Physics Editor

* `alt` Hold to only grab a child node of a physical hierarchy

## Force Editor

* `f` Hold to draw forces with same strength
* `alt` Hold and draw over existing forces to increase strength
* `alt + cmd` Hold and draw over existing forces to decrease strength
* `x` Hold and draw to erase forces
* `shift + zoom` Increase/decrease brush size
* `alt + zoom` Increase/decrease brush strength
* `cmd + zoom` Increase/decrease drawing force
* `m` Remove forces that overlap with level geometry
* `n` Hold to change force visualisation
* `a` Hold and draw to average forces
* `shift + a` Average all forces in level

## Animation Editor

* `arrow keys` Move selection bars through tracks and frames
* `+/-` Add/remove keyframes.
* `click + drag` Select and move keyframes
* `shift + click` Add keyframe to selection
* `shift + down/up/left/right arrow key` Add all keyframes below/above/left/right to selection
* `cmd + shift + left/right arrow key` Add all keyframes to the left/right to selection