summaryrefslogtreecommitdiff
path: root/js/ui
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2016-05-23 03:18:48 -0400
committerJules Laplace <jules@okfoc.us>2016-05-23 03:18:48 -0400
commit448aff387b9c25b405c9eea0127d2edca8965f61 (patch)
treec62f5bfaa73302821c9623af0d83c6cd40807a27 /js/ui
parent82aa3ef967b32f0dcb2cb0bffa4243ed9b2581d4 (diff)
bump difficulty idea
Diffstat (limited to 'js/ui')
-rw-r--r--js/ui/evolver.js60
1 files changed, 40 insertions, 20 deletions
diff --git a/js/ui/evolver.js b/js/ui/evolver.js
index 88a2c34..a7d423b 100644
--- a/js/ui/evolver.js
+++ b/js/ui/evolver.js
@@ -58,23 +58,22 @@ var evolver = (function(){
console.log(opt)
var step = 0
- var target, last_score = 0
+ var target, target_img, last_score = 0
var clones = [], clone_count = opt.population, strokes_per_iteration = opt.strokes
var clone_index = 0
var main_canvas
- var compare_w = 64, compare_h = 64
+ var compare_w = 8
- var target = document.createElement('canvas')
- target.width = compare_w
- target.height = compare_h
- var t_ctx = target.getContext('2d')
-
- var compare = document.createElement('canvas')
- compare.width = compare_w
- compare.height = compare_h
- var c_ctx = compare.getContext('2d')
+ var target_canvas = document.createElement('canvas')
+ target_canvas.width = compare_w
+ target_canvas.height = compare_w
+ var t_ctx = target_canvas.getContext('2d')
+ var compare_canvas = document.createElement('canvas')
+ compare_canvas.width = compare_w
+ compare_canvas.height = compare_w
+ var c_ctx = compare_canvas.getContext('2d')
brush.rebuild = function(){
this.initialize()
@@ -85,11 +84,11 @@ var evolver = (function(){
load(opt.src, go)
}
function load(src, fn){
- var img = new Image ()
- img.onload = function(){
- target = drawImage(t_ctx, img)
+ target_img = new Image ()
+ target_img.onload = function(){
+ target = drawImage(t_ctx, target_img)
if (opt.h == 0) {
- opt.h = Math.round(opt.w * 8/15 * img.naturalHeight/img.naturalWidth)
+ opt.h = Math.round(opt.w * 8/15 * target_img.naturalHeight/target_img.naturalWidth)
}
last_score = 0
ready()
@@ -97,11 +96,11 @@ var evolver = (function(){
if (src.match(/^http/)) {
src = "http://asdf.us/cgi-bin/proxy?" + src
}
- img.src = src
+ target_img.src = src
}
function drawImage (ctx, img) {
- ctx.drawImage(img, 0, 0, compare_w, compare_h)
- return { width: compare_w, height: compare_h, data: ctx.getImageData(0,0,compare_w,compare_h).data, channels: 4 }
+ ctx.drawImage(img, 0, 0, compare_w, compare_w)
+ return { width: compare_w, height: compare_w, data: ctx.getImageData(0,0,compare_w,compare_w).data, channels: 4 }
}
function ready () {
main_canvas = canvas
@@ -167,8 +166,8 @@ var evolver = (function(){
// console.log(clones.filter(function(c,i){ return i < 10 }).map(function(c){ return c.score.toFixed(2) }).join(" "))
if (max_score < last_score) {
- console.log("no improvement [%s] [%s]", max_score.toFixed(3), last_score.toFixed(3))
- clones_to_keep = 2
+ // console.log("no improvement [%s] [%s]", max_score.toFixed(3), last_score.toFixed(3))
+ clones_to_keep = 3
best_clone = main_canvas
next_best_clone = clones[0].canvas
third_best_clone = clones[1].canvas
@@ -187,6 +186,10 @@ var evolver = (function(){
main_canvas.forEach(function(lex,x,y){
lex.assign( best_clone.getCell(x,y) )
})
+
+ // if (max_score > 0.9) {
+ // bump_difficulty()
+ // }
}
var best_clone = clones[0].canvas
@@ -214,6 +217,23 @@ var evolver = (function(){
}
/*
+ // just an idea..
+ function bump_difficulty(){
+ console.log(compare_w, Math.max(target_img.width, target_img.height)/4)
+ if (compare_w < Math.max(target_img.width, target_img.height)/4) {
+ last_score = 0
+ compare_w *= 2
+ target_canvas.width = compare_w
+ target_canvas.height = compare_w
+ compare_canvas.width = compare_w
+ compare_canvas.height = compare_w
+ target = drawImage(t_ctx, target_img)
+ console.log(">> bumped to %d", compare_w)
+ }
+ }
+*/
+
+/*
function check () {
clipboard.export_canvas(function(canvas){
var hash = simi.hash(canvas)