Farbdraw Takes the concept of interval.rs sound generation and moves it over to image generation. Users can update certain variables that continue on when not called directly, they can also have math oriented udpates as well as loops Possibility of functions (circle, square, etc) rgba averaging on draw where there is a previous layer different point sizes and a concept of soft or hard (hard being constant a channel soft being diminishing over time) Lines can be drawn from a start point at an angle with a color soft or hard with an amount of pressure (that equates loosely to distance) Points can be done mostly the same way Everything writes to rgba farbfeld. Possibility of user writable filter modules that can be activated via "use _______;" to do an opperation on teh whole canvas. - - - - - Things have shifted to maybe doing image mangling based on input file. To do so I could just use the standard go image library to deal with the images. + + + + + + + + + Meta-langauge: __________________ Comments: # This is a comment. It begins with a pound sign # Multiline comments use multiple lines all starting with a pound sign . . . Operators: # Operators get applied to numerical values and always lead the number # = is implicit when writing just an int, but can be optionally included for clarity +, -, / (floors on decimal), *, %, = . . . Variables: # The following global variables are available WID # The image width HIG # The image height REG # A register for saving numbers? . . . Setting the current pixel: # Valuesthat over or underflow the image dimensions will be looped to aceptable locations LOC int:int LOC [op]int:int LOC int:[op]int LOC [op]int:[op]int . . . Applying changes: # Just calling APY alone applies the filter to the current selected pixel # Calling with a ratio sets the width and height of a square in which to apply the filter APY APY [op]int:[op]int . . . Colors get set either individually or as a group: # Using COL as opposed to the individuals requires that all four values are set # Passing an int with no op sets to that value # Values udner or overflowing will loop to acceptable values RED [op]int GRN [op]int BLU [op]int APH [op]int COL [op]int:[op]int:[op]int:[op]int . . . Set the apply mode: # Using an op with MOD will always loop through the modes as needed based on the operator # # Values: # 0 - Hard mode, replaces pixel contents with the color settings on apply # 1 - Average mode, averages the incoming channel with the existing channel # 2 - Loop mode, adds the values of the existing and incoming channels and loops around on overflow # 3 - Fade mode, works as average mode, but uses the fade timer to fade over the course of a number of pixel adjustments MOD [op]int . . . Set fade time: # If set below zero, becomes zero FAD [op]int . . . Doing loops: BEG int [loop contents] END . . .