diff --git a/NOTES.md b/NOTES.md index 90142960d..a7435d1e4 100644 --- a/NOTES.md +++ b/NOTES.md @@ -11,17 +11,35 @@ To be clear, this data model is something like \- ways -> nodes \- nodes -## Actions -Actions are operations on OSM data like adding nodes, moving ways, -and so on. They are initiated by controller states, like -`iD.controller.ControllerState` initiates a `CreatePOIAction` and -adds it to the undo stack. +## Performance -## Entities +Main performance concerns of iD: -`iD.Entity` is the door from pure objects like `iD.Node` into a hierarchy -of objects - it provides handling of parents, children, and so on. +### Panning & zooming performance of the map + +SVG redraws are costly, especially when they require all features to +be reprojected. + +Approaches: + +* Using CSS transforms for intermediate map states, and then redrawing when + map movement stops +* "In-between" projecting features to make reprojection cheaper + +### Memory overhead of objects + +Many things will be stored by iD. With the graph structure in place, we'll +be storing much more. + +## Connection, Graph, Map + +The Map is a display and manipulation element. It should have minimal particulars +of how exactly to store or retrieve data. It gets data from Connection and +asks for it from Graph. + +Graph stores all of the objects and all of the versions of those objects. +Connection requests objects over HTTP, parses them, and provides them to Graph. ## loaded diff --git a/css/app.css b/css/app.css index fa3810095..0df34b245 100644 --- a/css/app.css +++ b/css/app.css @@ -175,6 +175,7 @@ table td { .inspector-wrap a.permalink { text-decoration:none; + margin-right:2em; font: normal 11px/20px 'Helvetica' } diff --git a/index.html b/index.html index 90e1f6bea..a611cd631 100755 --- a/index.html +++ b/index.html @@ -63,16 +63,10 @@ Imagery © 2012 Bing, GeoEye, Getmapping, Intermap, Microsoft.