mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-12-29 17:34:58 +03:00
41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
# TODO - Refactoring
|
|
|
|
- easier way to define magic tuneable constants
|
|
- and maybe to recalculate fixedish things if they change?
|
|
|
|
## Map layer
|
|
|
|
- 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
|
|
|
|
- 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
|
|
|
|
- rename Car->Vehicle?
|
|
- 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
|
|
- more precise car FSM by putting scheduler pointer into carstate
|
|
|
|
## 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
|
|
- generic World with quadtree should have actions on objects
|
|
- 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
|