2019-01-18 08:40:47 +03:00
# TODO - Refactoring
- easier way to define magic tuneable constants
- and maybe to recalculate fixedish things if they change?
## Map layer
2019-02-01 00:40:11 +03:00
- fixed precision math
- more careful geom types, with negative/positive cases
- also bounds?
- cant get rid of the ccw intersection check... different answer in some cases that looks bad
2019-01-18 08:40:47 +03:00
- maybe also the time to split into different lane types? what's similar/not between them?
- graph querying?
- rendering (and other UI/editor interactions)?
- sim state?
- Sidewalk, Parking, Street
## Sim layer
2019-03-11 23:21:53 +03:00
- rename Car->Vehicle?
2019-09-06 03:37:36 +03:00
- spawning is convoluted
- popdat trip -> Scenario SpawnTrip -> pick ped speed and make spawner's TripSpec -> create trip and schedule a Command -> last minute rewriting when executing the command
2019-10-24 09:36:01 +03:00
- more precise car FSM by putting scheduler pointer into carstate
2019-02-09 22:19:03 +03:00
## ezgui layer
- probably use f32, not f64 everywhere... but after Pt2D becomes fixed size
- undo the y inversion hacks at last!
- ezgui passes EventCtx and DrawCtx with appropriate things exposed.
- maybe move glyph ownership out of canvas entirely. dont need RefCell.
- need to pass around a NonDrawCtx very uniformly first for this to work
- canvas owning text-drawing is maybe a bit weird, at least API-wise
- hide stuff inside the ctx's? canvas and prerender shouldnt even be known outside of crate
2019-03-11 23:21:53 +03:00
- generic World with quadtree should have actions on objects
2019-05-06 04:19:19 +03:00
- loading screen
- cleanup hack: dont put glyphbrush in canvas at all
- FileWithProgress should go directly into Timer
- need to understand lifetimes
- cleanup abstutil Timer stuff generally