Commit Graph

530 Commits

Author SHA1 Message Date
Dustin Carlino
14bea3a4be Split out a raw_map crate from map_model. RawMap is the thing we turn
OSM and other raw input into and store, before later converting to a
Map.

Why?

- build-time performance: while iterating on geometry problems, map_editor in release mode took 33s to build before, 11s now that the crate is split
- better layering: operations on a RawMap are becoming increasingly distinct from later transformations on the bigger map model
- this helps tease apart the dependencies of the intersection polygon algorithm for #846
- this will make it simpler to cutover to osm2lanes for https://github.com/a-b-street/osm2lanes/issues/71

There's further reorganization in raw_map and map_model that'll follow,
but the main work is done here.
2022-02-19 17:39:28 +00:00
Dustin Carlino
f14554f6b7 Lift URLManager from map_gui to widgetry 2022-02-19 15:14:53 +00:00
Dustin Carlino
aa48def2ba Lift FileLoader and friends from map_gui to widgetry
(Very tricky dependency shuffling...)
2022-02-19 15:07:07 +00:00
Dustin Carlino
3b21bf6e87 Lift PopupMsg to widgetry 2022-02-19 14:38:26 +00:00
Dustin Carlino
54634e564a Import São Miguel Paulista 2022-02-18 16:19:09 +00:00
Dustin Carlino
6a5366292f Make editing maps with transit stops a little more resilient. #372
Transit stop IDs previously were tied to LaneIDs, but those can easily
change with edits to the number of lanes on a road. We still may need to
re-snap transit stops (if the driving position or sidewalk changes), but
this prevents one more common type of problem.

This requires regenerating everything, since it's a binary schema
change...
2022-02-17 20:18:24 +00:00
Dustin Carlino
c750493f38 Avoid crashes with PolyLine shifting. #860 2022-02-17 14:19:38 +00:00
Dustin Carlino
49f3ad6a8d Remove some old London study areas, now that most boroughs are imported instead. #794, #577 2022-02-17 10:10:41 +00:00
Dustin Carlino
611ab9fce1 new release 2022-02-13 17:00:34 +00:00
Dustin Carlino
d5f7756d5f Import another part of Melbourne 2022-02-09 16:39:05 +00:00
Dustin Carlino
7fdfdd5e10 Import Melbourne 2022-02-08 09:45:03 +00:00
Dustin Carlino
1c93af8850 new release 2022-02-06 17:41:19 +00:00
Dustin Carlino
ba84d564b8 Simplify the .zip release directory structure, getting rid of a nested directory that was originally meant to encourage people to use the script that captures logs. [rebuild]
This fixes a bug where switching from one of the other apps (LTN, 15m,
Santa) to the simulation crashes, because find_exe doesn't look in the
special subdirectory for game.
2022-02-04 09:49:47 +00:00
Dustin Carlino
487e1ba870 Move traffic counting code into synthpop. In the short-term, I want to quickly check a generated demand model against sensor data. Eventually some kind of calibration may live in this crate. Regardless, counts aren't just a UI concept. 2022-02-02 14:24:02 +00:00
Dustin Carlino
c5d022d7be Prevent traffic count tool from crashing when one dataset is mostly not filled out 2022-02-01 10:52:57 +00:00
Dustin Carlino
942c3ecdaf Make SimpleApps all manage their own CLI parsing, so they can add their own overrides. 2022-01-31 13:30:55 +00:00
Dustin Carlino
eda9ff20bd new release 2022-01-30 19:30:52 +00:00
Dustin Carlino
0058f99da2 Mechanical rename of TripEndpoint::Bldg to ::Building, mostly to kick off a [rebuild] [release] 2022-01-30 18:27:36 +00:00
Dustin Carlino
638e93c36a Stop re-exporting stuff from synthpop in sim 2022-01-28 13:13:43 +00:00
Dustin Carlino
6c2a581be5 Simplify traffic count code -- directly deal in Counters 2022-01-28 10:40:56 +00:00
Dustin Carlino
fefe8f5be2 Swap the traffic counts in the UI 2022-01-27 15:21:21 +00:00
Dustin Carlino
e542011614 More fluid UI for comparing traffic counts -- hotkeys
Had to change the API of on_click...
2022-01-27 15:13:24 +00:00
Dustin Carlino
e21c57b70a When calculating traffic volumes, deduplicate path requests first.
Around 2x less paths to calculate.

Even though the deduplication throws away some info, the net effect for
measuring traffic volumes is practically equivalent, so it's a
worthwhile optimization. Used the new comparison UI to verify that!
2022-01-27 14:26:36 +00:00
Dustin Carlino
edfd320908 A new generic UI to compare counts from two files.
Also moving some of the counts stuff to map_gui, accordingly
2022-01-27 14:26:36 +00:00
Dustin Carlino
a6b4f8879a Refactor parts of the LTN impact prediction into a separate UI just for
comparing count data.

Don't use it yet
2022-01-27 14:26:36 +00:00
Dustin Carlino
be57975a91 Start to shape the LTN impact tool into something more general to plug a
demand model into routing and compare throughput before/after some
change.

Add in a bunch of filters for trips. (Most even work!)
2022-01-26 14:17:24 +00:00
Dustin Carlino
e318f2733b Import Wokingham 2022-01-26 12:09:37 +00:00
Dustin Carlino
cabffc7f47 Similar refactor for ColorDiscrete. Anywhere separately managed a zoomed
and unzoomed batch should just migrate to this.
2022-01-26 11:35:40 +00:00
Dustin Carlino
5dfb8f26f0 Refactor ColorNetwork to use ToggleZoomed 2022-01-26 11:31:33 +00:00
Dustin Carlino
deffc35fd7 Optionally generate a scenario for one-shot imported UK maps. #842 2022-01-26 10:31:38 +00:00
Dustin Carlino
61d7a03cbd Import Levenshulme for traffic sensor study 2022-01-25 12:32:37 +00:00
Dustin Carlino
bc4f59e566 new release 2022-01-23 18:33:39 +00:00
Dustin Carlino
e33c6996d6 Add the LTN impact heatmap showing both better/worse 2022-01-23 09:37:45 +00:00
Dustin Carlino
c6e26e5e20 Flesh out the LTN impact tool -- calculate impact after, add tooltips 2022-01-23 09:37:45 +00:00
Dustin Carlino
9c1e04de0c Refactor Ungap's trip file management, use it in the LTN tool. Now you
don't constantly lose the example routes you're trying out
2022-01-21 14:05:48 +00:00
Dustin Carlino
a6cd58346f Move some misc stuff from game/common to map_gui, so LTN can use it
LTN crate builds, and appears to work!
2022-01-18 17:33:04 +00:00
Dustin Carlino
a22a38051f Set up the boilerplate for splitting the LTN tool into its crate 2022-01-18 17:33:04 +00:00
Dustin Carlino
a14d6b3810 Better errors when core Line stuff breaks.
... and plumbing it everywhere
2022-01-18 10:26:33 +00:00
Dustin Carlino
518d8fe22e Import Newcastle 2022-01-18 10:00:49 +00:00
Dustin Carlino
bd340a1970 Switch from std::fs to fs_err. When files aren't found, the error message actually includes the path! 2022-01-17 17:30:51 +00:00
Dustin Carlino
fd111c2973 new release 2022-01-16 16:48:02 +00:00
Dustin Carlino
8e26fd2fb5 Import Hackney 2022-01-11 15:52:47 +00:00
Dustin Carlino
27452f0e08 new release 2022-01-09 20:47:43 +00:00
Dustin Carlino
b08a259059 Import part of east Bristol for LTN work 2022-01-04 10:22:56 +00:00
Dustin Carlino
630dc17d2d new release 2022-01-02 18:43:57 +00:00
Dustin Carlino
c8d88bd689 Make things build with the lyon_geom change 2021-12-23 17:00:08 +00:00
Marcel Dejean
72ae333218 switch from nbez to lyon_geom for bezier curves 2021-12-23 17:00:08 +00:00
Marcel Dejean
6be97f789c Correct u-turn arrow appearance 2021-12-23 17:00:08 +00:00
Marcel Dejean
935e41c290 Pedestrians point at the middle of the crosswalk while waiting
This saves us from having to figure out whether they're going with or against the turn direction.
2021-12-23 17:00:08 +00:00
Marcel Dejean
425300b130 change arrow location back to the original
But leave arrow length extended somewhat. Also fix the lane length check.
2021-12-23 17:00:08 +00:00