Commit Graph

565 Commits

Author SHA1 Message Date
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
Marcel Dejean
68c5d43dd4 make turn marking arrows curvy 2021-12-23 17:00:08 +00:00
Marcel Dejean
3bb3169ab4 use start/end line angle of the turn rather than line from start point to end point.
update uses of turn.angle() now that it's relative
2021-12-23 17:00:08 +00:00
Dustin Carlino
44736a7937 Regenerate all data with changes from PR #816 2021-12-20 23:11:36 +00:00
Marcel Dejean
e984d1ac1d reverse corner curbs at dead ends 2021-12-20 23:11:36 +00:00
Marcel Dejean
9369ac229f Only make crosswalks in one direction.
Don't create duplicate crosswalks in edit_movement

Remove other_crosswalk_ids and switch to make_walking_turns_v2

Allow make_shared_sidewalk_corner and make_crosswalks to work in either direction with a point order check

Don't skip rendering some corners since they're no longer duplicated

Draw sidewalk corners the same regardless of lane direction with a point order check

Only make one crosswalk at dead ends and degenerate intersections

Make footways only get sharedsidewalkcorner turns

Don't panic on bad sharedsidewalkcorner geometry
2021-12-20 23:11:36 +00:00
Dustin Carlino
f2b3c4c433 new release 2021-12-19 19:05:32 +00:00
Dustin Carlino
5410caf1e8 new release 2021-12-12 10:00:12 +00:00
Dustin Carlino
611ca97a28 Conveniently jump from the main apps to the RawMap editor, to debug geometry more fluidly 2021-12-11 11:24:37 +00:00
Dustin Carlino
ec9ed9c64c Import a small slice of Kennington with a very representative set of London-specific map model issues. Add it to the screenshot tests, replacing Great Kneighton as the GB test. And trim out lakeslice from the test; we don't need quite so much redundancy for Seattle. 2021-12-09 14:31:20 +00:00
Dustin Carlino
6e11c386ac Mechanical refactor: bus {stop, route} -> transit. #372
(Mostly renaming map_model code everywhere, not yet sim layer and above)
2021-12-07 03:10:38 -08:00
Dustin Carlino
7eba7a10cf Update map URL in the LTN tool. #766
It's increasingly lucrative to try refactoring this.
2021-12-05 14:13:57 +00:00
Dustin Carlino
37ffb1943f new release 2021-12-05 13:48:09 +00:00
Dustin Carlino
8318bbf5d2 Fix clippy warnings. [rebuild] [release] 2021-12-05 12:29:35 +00:00
Michael Kirk
b8998f235f fix: a directory is not an executable 2021-12-04 12:57:52 -08:00
Dustin Carlino
534154b0a4 Import more LTN requested places: Bradford and Kingston-upon-Thames 2021-12-04 11:33:31 +00:00
Dustin Carlino
e655e4e1da Import Southwark (full borough and a smaller north bit) and Lisbon. #794, #809 2021-12-03 06:16:21 +00:00
Dustin Carlino
7f71333513 Name osmosis boundaries using geojson properties. #794 2021-11-27 20:34:14 -08:00
Marcel Dejean
585c58e178 make one way marking arrows outlines
this is common in road drawings
2021-11-23 22:11:16 -08:00
Dustin Carlino
8307241d3e new release 2021-11-21 13:31:17 -08:00
Dustin Carlino
81af262511 Fix the query params, update to the 0.3 link after all 2021-11-14 17:47:37 -08:00
Dustin Carlino
d585b71c6e major release 2021-11-14 16:44:49 -08:00
Dustin Carlino
0c9ac9d74d adjust software versions [rebuild] [release] 2021-11-14 15:06:53 -08:00
Dustin Carlino
3a1e5a66cb Start modeling unmarked pedestrian crossings. #795
- Use the new filter_crosswalks option to downgrade zebra crossings into
  unmarked
- Add a routing penalty
- Render differently than zebras
- They otherwise act the same as marked crosswalks

Simulation behavior (like pedestrians not having priority over vehicles)
not yet implemented. No change to any existing maps, since
filter_crosswalks isn't enabled anywhere.
2021-11-12 13:38:33 -08:00
Dustin Carlino
e6f60168e1 Totally remove CmdArgs! No more uses. #745 2021-11-11 13:02:12 -08:00
Dustin Carlino
0f76109ebf Convert game from CmdArgs to structopt in a brute-force way. #745 2021-11-11 12:58:57 -08:00
Dustin Carlino
609320d6fa Convert map_gui from CmdArgs to structopt. #745 2021-11-11 12:27:23 -08:00
Dustin Carlino
164439c4d9 Allow filtering crosswalks from GUI map import. #795 2021-11-11 09:26:27 -08:00
Dustin Carlino
cb3693bd7a Refactor: DirectedRoadID.road, not .id 2021-11-09 10:48:39 -08:00
Dustin Carlino
808afb608b Position rotated labels more carefully in the physical center of the
road. This especially fixes vertical roads. #799

Verified manually by screenshot diffs
2021-11-08 10:45:21 -08:00
Dustin Carlino
4717c3c8f7 new release 2021-11-07 12:23:59 -08:00
Dustin Carlino
c76d0b9070 Round of clippy (and reverting a temporary bit that broke challenge modes) [rebuild] [release] 2021-11-07 12:04:55 -08:00
Dustin Carlino
c0200bd3d7 Draw traffic cells as areas, using a simple grid diffusion. #794 2021-11-07 10:21:26 -08:00
Dustin Carlino
7e07bac35a Make all of the secondary menu screens follow the style of the new title screen. Simplify things like the strange challenge picker UI by using the section styling. 2021-11-06 10:33:11 -07:00
Dustin Carlino
f751b7d54b Removing the pregame color scheme 2021-11-06 10:33:11 -07:00
Dustin Carlino
2fbc950da5 Switch to a consolidated title screen that switches between all the
apps. #780
2021-11-06 10:33:11 -07:00
Dustin Carlino
324ef84b3c new release 2021-10-31 14:39:48 -07:00
Dustin Carlino
00df96f173
Render A/B Street's lanes and traffic simulation on top of Mapbox GL (#788)
[rebuild] [release]
2021-10-31 13:52:58 -07:00
Dustin Carlino
04b54b08cd Import Camden. #794 2021-10-31 13:28:45 -07:00
Dustin Carlino
a4763284f1 Fix some of the worst zig-zaggy bugs with drawing intersection curbs.
Net improvement, but still not perfect. #74
2021-10-30 12:07:13 -07:00
Dustin Carlino
d44fa4eb03 Use the road labels in the LTN tool too. Focus on one neighborhood's
roads.
2021-10-29 12:48:09 -07:00
Dustin Carlino
32fc46831b Draw arrows to show entrances/exits to a LTN.
(and rename Line::reverse for consistency with PolyLine)
2021-10-29 12:25:30 -07:00
Dustin Carlino
f6e4c9b08e
Concave hull, you're drunk, go home (#792)
Add map_model Blocks and RoadLoops
2021-10-27 13:19:13 -07:00
Dustin Carlino
34d98e8203 new release 2021-10-24 14:50:06 -07:00
Dustin Carlino
9f86365cf6 Upgrade to rust 1.56 and cutover to rust edition 2021 2021-10-21 09:38:06 -07:00
Dustin Carlino
eb4765fba7 forgot to bump the version string for the next release
(we really should consider a 0.3 soon...)
2021-10-14 09:43:14 -07:00
Dustin Carlino
77768588a7 Import Neukölln #777. and attempt a [rebuild] [release] 2021-10-12 15:03:52 -07:00
Dustin Carlino
915b902c9a
Warn the user before doing expensive mode shift calculations. #448 (#774) 2021-10-11 15:10:28 -07:00
Dustin Carlino
be9ba5a80e Clean up the absurd number of Seattle maps. Ideally we'd have some way
to further organize them by purpose, but for the moment, two problems:

1) the city picker UI is getting way too crowded
2) on native, the initial download is up to 145MB

Removing:

- the 3 Aurora maps and Green Lake, added for the ARC workshop, but no
  longer the most active of collaborations
- Ballard is now subsumed by central Seattle -- the only advantage would
  be keeping its full scenario of walking and transit trips, but the
  simulation is horribly gridlocked there anyway
- the Rainier Valley map, originally meant for an SNG traffic light
  timing study
- the larger udistrict map
2021-10-11 14:37:59 -07:00
Dustin Carlino
755e723251 Get some different boundaries set up in Seattle, to support the bike
network tool reasonably on the web. #743, #746

I'm declaring the budget to be 20MB gzipped map files.

- north and south seattle boundaries extended a bit
- central seattle added
- stripping out unused pathfinding data for walking and transit to
  squeeze down the size. avoiding crashes for empty pathfinding -- if
  you try to simulate a minified map, most trips will just fail
2021-10-11 14:06:49 -07:00
Dustin Carlino
a85ec6cccd Nest DrawLanes within DrawRoads. This is a followup to #747, motivated
by squeezing some start-up performance of huge maps. #746

Shaving at least 1 second off quadtree initialization in huge_seattle
from this, no noticeable effects otherwise.
2021-10-08 08:34:02 -07:00
Dustin Carlino
0fc1af0dd9 Import Geneva for Sven's project 2021-10-05 09:33:33 -07:00
Dustin Carlino
76b0ef2159 Change the share feature to live on a dedicated panel, with more disclaimers and ways to copy the URL. #765 2021-10-05 09:09:33 -07:00
Dustin Carlino
bed0fc6255 new release 2021-10-03 15:04:50 -07:00
Dustin Carlino
41465c341b Convert the new bike routing tool to use World. #763
This one is the most complicated, and it's still not done, but it's not
any buggier than the ad-hoc implementation. I still need to figure out
how to merge the two worlds of waypoints and routes.

This one also required a large, but mechanical, refactor to lift
ToggleZoomed and the concept of unzoomed/zoomed from map_gui to
widgetry.
2021-10-03 14:28:44 -07:00
Dustin Carlino
ab312a2528 Import St Albans for use with the LTN tool 2021-10-02 10:39:27 -07:00
Dustin Carlino
2288b0d42a Add a smaller study area in Tehran.
- Procedurally generate houses there, so the automatic travel demand
  model doesn't produce totally silly patterns.
- Disable parking
- Allow vehicles to enter the intersection even when it looks like they
  might get stuck; this lets the default scenario complete without
  gridlock.
- Prebake the scenario, so a researcher can make edits and use all of
  the A/B testing data viz.

The home-to-work scenario produces laughably bogus patterns... everyone
working at Bank Sepah.
2021-09-30 14:51:56 -07:00
Dustin Carlino
40b018e1bc The last of ToggleZoomed conversion! 2021-09-27 14:21:59 -07:00
Dustin Carlino
59a6b4e546 Move over more places to ToggleZoomed 2021-09-27 14:06:03 -07:00
Dustin Carlino
83fdf1b6e6 Refactor: drawing two things, based on zoom level.
Just a small start to switching stuff to this; this pattern profilerated
EVERYWHERE.
2021-09-27 13:41:19 -07:00
Dustin Carlino
2c6f218b22 Refactor a button to change maps 2021-09-27 12:16:01 -07:00
Dustin Carlino
46dd2d69fe new release 2021-09-26 14:33:24 -07:00
Dustin Carlino
d365213948 Small refactor: {road, lane}.length() 2021-09-26 11:08:44 -07:00
Dustin Carlino
8470403d74 Start LTN tool from the command line. Add a map switcher, so it's usable
standalone.

(It might be worth splitting this out to a separate crate, but not yet)

Also refactor the fading from some of the colorer tools
2021-09-24 15:28:43 -07:00
Dustin Carlino
a5ed6e79fb Import some new places:
- part of Sao Paulo where some new bus lanes are going in
- Tucson, for #760
- 3 parts of Bonn in Germany
2021-09-23 10:32:09 -07:00
Dustin Carlino
87dd029513 Improve one-shot map importing UI (partly motivated by #760):
- stop overwriting the one zz/overpass map by naming them differently
- allow a user-specified name too
- move the buttons to search all maps and import a new place to the top
  of the ever-growing country list
2021-09-23 10:11:48 -07:00