aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
blob: 981e42b24f62410ee39474f30e1aa6981ac0905e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# TODO

- Add unit tests
- Disassociate level to view, move view around if terminal too small
- Add equipment system
- Remove rendering logic from State


## Separate rendering logic

```
-------        ---------
| main| -----> | State |
-------    |   ---------
           |
           |   ------------
           +-> | ViewPort |
               ------------
```

- Main game logic mutates State in reaction to player input
- Render is triggered by giving it a read-only reference to current state
- Heavy use of traits in ViewPort allows multiple type of viewports (Piston etc.)