aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
authorGuillaume Pasquet <dev@etenil.net>2020-03-14 16:53:10 +0000
committerGuillaume Pasquet <dev@etenil.net>2020-03-14 16:53:10 +0000
commit8c92d7c0aa1497e7d1a66cddcdacd04e43dba7f6 (patch)
treeffbfc495906fdb447074c1c1e3e4996432f83a14 /TODO.md
parent9d1de3f314a2f63a8f58e3ad2018c5a32472a67a (diff)
parent219e32ad793e66a3111465ef02f3eb677f70277d (diff)
Merge branch 'merge-viewport'
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md21
1 files changed, 20 insertions, 1 deletions
diff --git a/TODO.md b/TODO.md
index 9289b2d..981e42b 100644
--- a/TODO.md
+++ b/TODO.md
@@ -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.)