Added temporary requirements.txt to point to theblues fork
[osm/N2VC.git] / TODO
1 TODO
2 ====
3
4 Model as state history of immutable objects
5 -------------------------------------------
6
7 1. Model gets delta from AllWatcher
8 2. Entity type+id in the delta uniquely identifies an entity in the model
9 3. The model keeps a history deque for each of these entities
10 4. The new delta is appended to the deque for this entity
11 5. When a new python object is created for this entitiy, it:
12    a. Registers an observer with the model so it'll get change callbacks
13    b. Gets its state from a pointer back to the last item in the model's
14       history deque for this entity
15    c. Has a previous() method that returns a copy of the object at its previous
16       frame of history (or None if no previous history exists). This object
17       would be disconnected (would not receive live updates from the model).
18
19
20 Make model-changing methods (like deploy()) return the appropriate object
21 -------------------------------------------------------------------------
22 For objects being added (newly created), this will require that the method
23 doesn't return until the AllWatcher returns a delta containing an id for
24 the newly created thing.
25
26
27 Add a LogWatcher coroutine that yields from debug-log api
28 ---------------------------------------------------------