From ed57ba18ed116cc4075271ac8651c6444f78b083 Mon Sep 17 00:00:00 2001 From: Nyeogmi Date: Tue, 19 Sep 2023 19:41:42 -0700 Subject: [PATCH] Save work for now --- assets/images/wfc/bighouse2.png | Bin 573 -> 586 bytes lib/game.dart | 2 +- lib/wfc/template.dart | 33 +------------------------------- lib/world/level.dart | 2 +- 4 files changed, 3 insertions(+), 34 deletions(-) diff --git a/assets/images/wfc/bighouse2.png b/assets/images/wfc/bighouse2.png index d29ec61e6429f6e23a077276dcb1f700c8140604..82fb61040eb4a0d42fb48a75b7daa08e49d5f88d 100644 GIT binary patch delta 125 zcmdnXa*9Q|+o1|Xgn&4TJZ!>DR z8+p1ohHzY8+hZxjpuocvsosBn{l*0aKBFVdQ&MBb@0M~>g!T { List _observed = []; // computationally expensive stuff that we keep in an incremental way - List _weightLogWeights = []; - double _sumOfWeights = 0.0, _sumOfWeightLogWeights = 0.0; - double _startingEntropy = 0.0; - List _sumsOfOnes = []; - List _sumsOfWeights = []; - List _sumsOfWeightLogWeights = []; - List _entropies = []; // temporaries List _distribution = []; @@ -53,22 +46,7 @@ class Wfc { _distribution = [for (var t = 0; t < _nShingles; t++) 0.0]; _observed = [for (var r = 0; r < _n; r++) null]; - _weightLogWeights = [ - for (var t = 0; t < _nShingles; t++) _weight(t) * math.log(_weight(t)) - ]; - _sumOfWeights = 0.0; - _sumOfWeightLogWeights = 0.0; - for (var t = 0; t < _nShingles; t++) { - _sumOfWeights += _weight(t); - _sumOfWeightLogWeights += _weightLogWeights[t]; - } - _startingEntropy = - math.log(_sumOfWeights) - _sumOfWeightLogWeights / _sumOfWeights; - _sumsOfOnes = [for (var r = 0; r < _n; r++) 0]; - _sumsOfWeights = [for (var r = 0; r < _n; r++) 0.0]; - _sumsOfWeightLogWeights = [for (var r = 0; r < _n; r++) 0.0]; - _entropies = [for (var r = 0; r < _n; r++) 0.0]; _stack = [for (var r = 0; r < _n * _nShingles; r++) (0, 0)]; _stacksize = 0; @@ -85,9 +63,6 @@ class Wfc { } _sumsOfOnes[i] = _nShingles; - _sumsOfWeights[i] = _sumOfWeights; - _sumsOfWeightLogWeights[i] = _sumOfWeightLogWeights; - _entropies[i] = _startingEntropy; _observed[i] = null; } } @@ -164,7 +139,7 @@ class Wfc { continue; } var remainingValues = _sumsOfOnes[i]; - double entropy = remainingValues.toDouble(); // _entropies[i]; + double entropy = remainingValues.toDouble(); if (remainingValues > 1 && entropy <= min) { double noise = 1E-6 * random.nextDouble(); if (entropy + noise < min) { @@ -235,11 +210,6 @@ class Wfc { _stacksize++; _sumsOfOnes[i] -= 1; - _sumsOfWeights[i] -= _weight(t); - _sumsOfWeightLogWeights[i] -= _weightLogWeights[t]; - - var sum = _sumsOfWeights[i]; - _entropies[i] = math.log(sum) - _sumsOfWeightLogWeights[i] / sum; } } @@ -266,7 +236,6 @@ class WfcTemplate { final List bitmap = []; for (var i = 0; i < sx * sy; i++) { var pixel = bytedata.getUint32(i * 4, Endian.little); - log("pixel: $pixel"); bitmap.add(cb(pixel)); } diff --git a/lib/world/level.dart b/lib/world/level.dart index 261fce6..93135b2 100644 --- a/lib/world/level.dart +++ b/lib/world/level.dart @@ -12,7 +12,7 @@ class Level { } Future> loadLevelWfcAsync(String name) async { - return WfcTemplate.loadAsync(name, 2, (c) { + return WfcTemplate.loadAsync(name, 3, (c) { switch (c) { // ABGR case 0xFF000000: