diff options
author | Guillaume Pasquet <dev@etenil.net> | 2020-03-14 16:53:10 +0000 |
---|---|---|
committer | Guillaume Pasquet <dev@etenil.net> | 2020-03-14 16:53:10 +0000 |
commit | 8c92d7c0aa1497e7d1a66cddcdacd04e43dba7f6 (patch) | |
tree | ffbfc495906fdb447074c1c1e3e4996432f83a14 /TODO.md | |
parent | 9d1de3f314a2f63a8f58e3ad2018c5a32472a67a (diff) | |
parent | 219e32ad793e66a3111465ef02f3eb677f70277d (diff) |
Merge branch 'merge-viewport'
Diffstat (limited to 'TODO.md')
-rw-r--r-- | TODO.md | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -1,4 +1,23 @@ +# TODO
+
- Add unit tests
- Disassociate level to view, move view around if terminal too small
- Add equipment system
-- Remove rendering logic from State
\ No newline at end of file +- 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.)
|