This is an overview of the different style properties currently supported by the [kudamono editor]

Styles can be used in several [parts of the genre file|anatomy]:
- ´´symbols.symbol´´ - for a particular symbol
- ´´penbols.penbol´´ - for a particular line
- ´´markbols.markbol´´ - for a particular aux mark
- ´´glow.rule.style´´  - for a particular highlighting rule (new format)
- ´´rules.rule.style´´  - for a particular highlighting rule (old format)
- ´´grid.solve  - to style the gridlines
- ´´grid.solve.frame´´  - to style the frame
- ´´axis.style´´  - to style the frame legend, if any
- and probably in other places!


### Basic style properties

| :info: Most properties borrow their names and definitions from the [Canvas Drawing API|https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors].
| Some properties have aliases, meaning they may be called by multiple names.
| Words containing "colour" are always aliases of words containing "color", all else being equal.
| properties should be lowercase


STYLE			ALIASES							FORMATS	 	MEANING									
lineColour		strokeColour, strokeStyle		colour		colour of a line
lineWidth		-								0--100		thickness of a line. 0 is invisibly thin, 100 is as thick as the underlying tile

colour			fillColour, fillStyle						colour		a colour, of course

opacity			-								0--1		a number between 0 (fully transparent) and 1 (fully opaque)
opacitor		-								number		a (compounding) multiplier to change the current opacity

lineOpacity		-								0--1			opacity for contour if different from the inside opacity

dash			-								[a,b,c,d,...]	a sequence of numbers representing full and empty strokes. A simpler  Dash(a,b) function may be used too.
lineCap			-								options		"round", "square", "butt"
lineJoin		-								option		"round", "bevel", "miter"

scale			-								number		defaults to 1 (same size as the full square tile)
scalor			-								number		a (compounding) multiplier to change the current scale

multi			-								number		the number of line repetitions to draw (defaults to 1)
multiGap		-								number		the spacing between those repetitions



### Colour modification

| :info: Colour formats are exlained in the [palette] page

hue				-								0--360		set current hue
huor			-								0--360		a (compounding) addition to current hue
varihue		-									numbers		a numeric array of format {{[n,a,b] => (a*i)%n*b}}

saturation		-								0--1		set current saturation
saturator		-								number		a (compounding) multiplier to change the current saturation

lightness		-								0--1		set current lightness
lightor			-								number		a (compounding) multiplier to change the current lightness
varilightness	-								numbers		a numeric array of format {{[n,a,b] => (a*i)%n*b}}



### Text-specific properties

These behave exactly like the other properties but only apply to text

STYLE				FORMATS	 	MEANING									
font				name		the name of the font (if known by the editor). Defaults to ´´default-font´´. 
emojied				boolean		lets the editor know the text contains an emoji, which is rendered differently
textScale			number		sets text/emoji scale separately (compound symbols)
textShift			number		sets text/emoji shift separately (compound symbols)
textColour			number		sets text/emoji colour separately (compound symbols)
textLineWidth		number		sets lineWidth for text/emoji separately (compound symbols)
textOpacity	-		0--1		sets lineWidth for text/emoji separately (compound symbols)
textLineOpacity		0--1		sets lineWidth for text/emoji separately (compound symbols)