patica 0.0.1

A terminal based pixel art editor
Documentation
{
    "key": {
        "Up": {"move": [0, -1]},
        "Down": {"move": [0, 1]},
        "Left": {"move": [-1, 0]},
        "Right": {"move": [1, 0]},
        "Ctrl+p": {"move": [0, -1]},
        "Ctrl+n": {"move": [0, 1]},
        "Ctrl+b": {"move": [-1, 0]},
        "Ctrl+f": {"move": [1, 0]},

        "k": {"move": [0, -1]},
        "j": {"move": [0, 1]},
        "h": {"move": [-1, 0]},
        "l": {"move": [1, 0]},

        "Alt+k": {"move": [0, -8]},
        "Alt+j": {"move": [0, 8]},
        "Alt+h": {"move": [-8, 0]},
        "Alt+l": {"move": [8, 0]},

        "o": {"set": {"camera": [0, 0]}},
        "O": {"set": {"camera": "origin"}},

        "1": {"rotate": {"color": -1}},
        "2": {"set": {"color": "black"}},
        "3": {"rotate": {"color": 1}},

        "p": "pick",
        "c": "cut",
        "v": ["paste", "cancel"],

        "m": {"mark": "stroke"},
        "Esc": "cancel",
        "d": "draw",
        "e": "erase",
        "Backspace": [{"mark": "stroke"}, "erase"],

        " ": [{"mark": "stroke"}, "draw"],

        "q": "quit",
        "Ctrl+c": "quit"
    },
    "init": [
        {"define": {"black": [  0,   0,   0]}},
        {"define": {"white": [255, 255, 255]}},
        {"define": {"red":   [255,   0,   0]}},
        {"define": {"green": [  0, 255,   0]}},
        {"define": {"blue":  [  0,   0, 255]}},

        {"anchor": "origin"},
        
        {"set": {"color": "black"}}
    ]
}