-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
68 lines (66 loc) · 2.69 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
->Add metrics window showing generation statistics
DONE: Add class that collects timestamped events
DONE: Gather stats
DONE: Display stats to stdout
DONE: Restore uncluttered step()/display() to inner loop
->Add updates per second average
Display stats in window
Determine why killing all cells increases the step time
With many live cells: Average duration for step: 595.242us
All cells dead : Average duration for step: 1.222828ms
Hint: There is a logical short circuit with the dead case second
Can we calculate in one step?
Change BigBoxFinder to use the live count method:
Take this grid
..X.
.X..
...X
X.X.
Create a running count of live cell for each row l-r
0011
0111
0001
1122
Create a running count down each column
0011
0122
0123
1245
Each cell contains the count of live cell a rectangle from the
top-left to the cell includes. It's then simple to check any
arbitrary rectangle for emptiness by taking the value for the
bottom-right, subtracting the value for the left and top
surrounding rectangles and adding the value for the top-left
corner rectangle. Think size of union of two sets. An optimization
to this is to test the size of squares using a binary search on
the diagonal length.
Profile Grid.nextGeneration and calc in parallel
Add graph showing frames per second and live cell count
Widen window
Reject or prevent negative offsets in Grid.setOffsets
Upgrade Kotlin to 1.9 or later
Randomize orientation of added patterns: Reflect, Rotate
Colour a newly placed pattern yellow for the first cycle
DONE
----
DONE: Pick a box at random from the largest boxes when placing the pattern
DONE: Use a 2 cell border
DONE: Add a block pattern and use to test the RandomBoxPicker
DONE: Fix bug where patterns appear to be being added too close
DONE: Reproduce by repeatedly adding dead spark coil
This placement appears to produce immediate change
xx
xx xx
xx
Solution? Use a 2 cell border
Placing a pattern should not trigger an immediate change
DONE: Supply a minimum size to BigBoxFinder when placing a new pattern
WONT: Change BigBoxFinder to randomize order of starting pixels when restricting to a minimum
box size to distribute boxes found evenly over the grid.
DONE: Change BigBoxFinder to take a minimum box size to find
This allows the search to be restricted by starting the
check at the minimum size
DONE: Auto select an empty area to place the new item
DONE: Turn on K2 compiler
DONE: Prevent premature glider death on add when the zone is busy
DONE: Fix Crab: When added it looks nothing like a crab