asciiblaster/js/ui/goodies.js

132 lines
2.3 KiB
JavaScript

var goodies = (function(){
var goodies = {}
goodies.build = () => {
Object.keys(goodies.list).map(() => {
goodies_rapper.appendChild(tool_canvas.el)
})
}
goodies.list = {}
goodies.list.choppy = {
mode: 'brush',
fn: `var char = choice(" abcdef ")
lex.bg = +choice("0124")
lex.fg = +choice("01234")
lex.char = char
lex.opacity = char == " " ? 0 : 1`,
}
goodies.list.foggy = {
mode: 'brush',
fn: `var char = choice(" abcdef ")
lex.bg = choice([14,15])
lex.fg = choice("367")
lex.char = char
lex.opacity = char == " " ? 0 : 1`,
}
// goodies.list.name = {
// fn: ``,
// }
// goodies.list.name = {
// fn: ``,
// }
// goodies.list.name = {
// fn: ``,
// }
// goodies.list.name = {
// fn: ``,
// }
// >> mirror brush (up-down)
// NOTE: Animate this on the canvas, then draw:
// if (x > h/2) {
// lex.assign( canvas.aa[h-y][x] )
// }
// >> rainbow stardust brush
// Uncheck BG and animate this to brush:
// lex.fg = hue(t)
// lex.char = choice(" ,'.,.','****** ")
// >> noise brushes, works on a black background:
// lex.bg = max(5, yellow(randint(t)))
// lex.opacity = lex.bg == colors.black ? 0 : 1
// >> simple rainbow:
// if (lex.bg != 1) lex.bg = randint(t)
// lex.opacity = lex.bg == colors.black ? 0 : 1
// >> self-erasing:
// if (lex.bg != 1) lex.bg = yellow(randint(t))
// lex.opacity = lex.bg == colors.black ? 0 : 1
// >> cycling rainbow brush
// if (lex.bg != 1) lex.bg = hue( all_color_hue_order.indexOf( color_names[ lex.bg ] ) + 1 )
// lex.opacity = lex.bg == colors.black ? 0 : 1
// >> "stars" brush.. set your brush to paint just the character "#"
// if (lex.char == "#") {
// lex.fg = hue(randint(15))
// lex.char = random() > 0.1 ? " " : "+@*.,\"+'*-"[randint(10)]
// }
// >> use fg char to mask mask what you're drawing on the bg
// if (lex.char != "/") { lex.bg = 1 }
// >> sharded glitch brush
// Example: http://asdf.us/z/kksnvs.png
// Use on a brush:
// lex.bg = t/y/x
// lex.opacity = lex.bg % 1 ? 0 : 1
// >> incremental brush
// Set your brush to be the ^ character, square, about 10x10
// Draw "char" only
// Then animate this shader on the canvas:
// if (lex.char=="^") {
// lex.bg += 1
// lex.char = " "
// }
// lex.bg += 1
return goodies
})