How to use Textor Editor

Disclaimer

Textor Editor is a work in progress. It rely only on keyboard interaction and it may not work properly with your keyboard layout. While I hope you will find interest and pleasure using it, Textor Editor is not a tool intended to be intuitive or easy to use. It was designed to be a minimalist way of providing the creative constrains I need for making art.

Typing mode

In Textor Editor typing is in replace mode. The cursor can move freely between rows and cols and interactions will replace content under cursor selection and will not move following characters.

Selection

Cursor size define area of selection. Sometime called in this document “cursor selection”.


Textor Editor UI

Textor Editor user interface described in the following paragraphs

1 Type map

This table show which tile will be placed under cursor according to key pressed, selected sheet and colors. Even lines show available keys to be pressed. Odd lines show result. For example, in the picture configuration, typing ‘w’ will result on adding a yellow circle on blue background.

2 Selected colors

Theses two lines under the type map show witch colors are selected. The ‘F’ and the ‘B’ are placed under a specific color, ‘F’ show which foreground color is selected, ‘B’ show which background color is selected. Selected foreground color will defined typed characters color while selected background color will defined background color of typed characters.

3 Informations

Under selected colors are displayed 11 lines of informations.

4 File

This thick white outline indicate the size and position of the file currently edited.

5 Cursor

This purple square indicate size and position of cursor selection. Its colors depend on which tiles/characters are positionned under.


Keys

key combination Result
arrow keys Move cursor
Any key Type
Backspace Erase
Alt + Arrows Move camera
Alt + I Zoom in
Alt + O Zoom out
Alt + Z Undo
Alt + Y Redo
Alt + H Hide/show UI and file
Alt + J Hide/show UI
Alt + K Activate/deactivate file transparency
Alt + C Copy
Alt + V Paste
Alt + T Enter/exit step mode 1
Alt + R Paste with transparency 2
Alt + A Replace color within selection 3
Alt + P Pick colors 4
Tab + left/right arrows Change typing background color
Tab + up/down arrows Change typing foreground color
Tab + Shift Invert typing colors
Tab + Alt Change typing sheet
Shift + Alt + Arrow keys Resize file
Shift + Arrow keys Resize cursor size
Enter Compile Goufl

1 Step mode

When in step mode, every arrow movement will follow width and height of cursor depending on the movement axis.

2 Paste with transparency

When using paste with transparency, currently selected typing background color will be transparent, meaning pasted tiles containing this color will be replaced by precedent tiles dominant color or ignored if tile is filled with this color.

3 Replace color within selection

When using replace color within selection, every occurence of currently selected background color found within tiles will be replace by currently selection foreground color.

4 Pick colors

When using pick colors, currently selected background and foreground colors will be replaced by the ones of the first tile under cursor.


Coding in Goufl

Coding trees

fig

return ( 
  (
    ()=>{
      var total = 0; 
      for (var i = 0; i < 3; i++){
        total += (100)
      }; 
      return total;
    }
  )()
  +500*2
  +5
  +5
  +1*2
)

Result being 1312.

Outputing pseudographics

fig tileset


Operators

Inline

String

Frame

Calculation

Inline with bitwise option

Path

Variable

Inline math

Data

Inline contextual

Loop

Output

Random

Operator Use Type
! Inequality Inline
” String String
# Frame Frame
% Remainder Calculation
& logical and (&&) or bitwise and (&) Inline with bitwise option
* Multiply Calculation
+ Add Calculation
( Open grouping Inline
) Close grouping Inline
, Comma Inline
- Minus Calculation
. Dot Inline
/ Divide Calculation
0-9 Number Inline
: Ternary else Inline
; Path Path
< Lesser than (<) or left shift (<<) Inline with bitwise option
= Equality Inline
> Greater than (>) or right shift (>>) Inline with bitwise option
@ Variable Variable
C Cosinus Inline math
D Data Data
H Height Inline contextual
I Tile index Inline contextual
L Loop Loop
O Output Output
P Hypotenus Inline math
R Random Random
S Sinus Inline math
T Time Inline
W Width Inline contextual
X X position Inline contextual
Y Y position Inline contextual
[ Property accessor open Inline
] Property accessor close Inline
^ Vacuum Vacuum
_ Floor Inline math
x Hexadecimal notation Inline notation
i iteration Inline contextual
n Binary notation Inline notation
| Or (||) or bitwise or (|) Inline with bitwise option