Commit Graph

291 Commits

Author SHA1 Message Date
Dustin Carlino
1ac25cc39a Find thick dual carriageway roads that overlap, and cut their width in
half.
2022-03-05 11:03:23 +00:00
Dustin Carlino
7bb6132726 Open OSM from map_editor
(Move open_browser to widgetry)
2022-02-23 14:43:58 +00:00
Dustin Carlino
1ebc178225 Upgrade rfd 2022-02-22 17:35:58 +00:00
Dustin Carlino
6ddc35f5a8 Upgrade usvg and friends 2022-02-22 17:24:03 +00:00
Dustin Carlino
bf6ed53ec3 Upgrade winit and co. This appears to remove a bunch of duplicate old
versions of various transitive dependencies, so it should help compile
times a bit!

No behavioral diff that I can see, but the winit CHANGELOG is
formidable. I suspect there are platform-specific differences with
scroll speed/direction, initial window size behavior, etc that people
will slowly start reporting after the next weekly release.
2022-02-22 16:50:53 +00:00
Dustin Carlino
d141a2a810 Upgrade all geo dependencies! No behavioral difference 2022-02-22 16:45:49 +00:00
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
f7f8f3fe54 Remove the dependency on map_gui from map_editor, letting it compile much faster. This unfortunately requires copying the CameraState code; I couldn't find an appropriate place to move that 2022-02-19 15:23:39 +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
b969dbffe1 Save LTN binary proposals on web, invoking the sacred base64 dance to
work with browser local storage. #856

... and redraw filters after loading a proposal, which I broke a few
days ago
2022-02-10 17:38:08 +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
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
638e93c36a Stop re-exporting stuff from synthpop in sim 2022-01-28 13:13:43 +00:00
Dustin Carlino
f171ddcb73 Get everything to build again... 2022-01-28 13:13:43 +00:00
Dustin Carlino
231acf47a2 Step 2: try to get the sim crate to build again
Scenario and TripEndpoint have some methods defined on them that're
specific to sim. Do we rearrange these methods entirely or make some
kind of wrapper types?
2022-01-28 13:13:43 +00:00
Dustin Carlino
e45a5181db Split the "input" layer of the sim crate into a synthetic population
crate, in preparation for future focus on travel demand models that
incorporate more per-person info.

Note: I'm also a bit tempted to try to further split sim into a
"high-level" layer that orchestrates spawning and different legs of a
trip, from the "low-level" layer that moves pedestrians and vehicles.
That could _possibly_ pave the way for someday using a different traffic
simulation backend with more realistic movement mechanics.

Step 1: just get the synthpop crate to build
2022-01-28 13:13:43 +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
0367a7238c Handle LTN geojson export in the web version too 2022-01-22 17:22:17 +00:00
Dustin Carlino
f7e8bca517 Instead of drawing LTN cells as a grid, post-process the grid into a
simple polygon using contouring. This vastly speeds up the GeoJSON
export feature.
2022-01-22 16:42:13 +00:00
Dustin Carlino
8dc2c68760 Move LTN code from game to its own crate. game crate builds, ltn doesn't
quite...

Changes along the way:
- take away the convenient jump to debug mode
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
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
509217b024 Start a simple GeoJSON export for LTNs. Cells are missing. 2022-01-13 15:37:47 +00:00
Dustin Carlino
c8d88bd689 Make things build with the lyon_geom change 2021-12-23 17:00:08 +00:00
Dustin Carlino
98e0a56120 Extract some GTFS data and put it in RawMap. #372 2021-12-07 03:10:38 -08:00
Dustin Carlino
68d9616875
Use simple Rust code to specify map importing config, instead of conf… (#807) 2021-11-17 15:52:09 -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
2fbc950da5 Switch to a consolidated title screen that switches between all the
apps. #780
2021-11-06 10:33:11 -07:00
Dustin Carlino
bb15d3a368 Convert updater to structopt. #745 2021-11-01 12:46:57 -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
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
4cf941a5f0 Convert map_editor from CmdArgs to structopt. #745
Keep the translation layer from URL GET params.
2021-10-27 11:48:34 -07:00
Dustin Carlino
2ee2b991f4 Convert other non-UI things from CmdArgs to structopt. #745
structopt is forcing some hacks, but oh well.

There are some docs to update in the other repo, will get to that
soon...
2021-10-26 12:02:40 -07:00
Dustin Carlino
0464ab4499 Convert the headless server from CmdArgs to structopt. #745 2021-10-26 11:10:08 -07:00
Dustin Carlino
007cf0b28d Split the importer into individual commands with structopt. #745 2021-10-25 13:02:00 -07:00
Dustin Carlino
0cff83d776 Pin georust overrides to the main git repos, not branches. [rebuild] [release]
The mkirk/concave-hull-fix-empty-crash branch was deleted recently,
causing CI failures. We can just pin to a recent commit on the main
branch.
2021-10-24 13:44:43 -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
8524cfce12 Create a new map-space World abstraction, and change the polygon editor to use it. #763 2021-10-03 14:28:44 -07:00
Dustin Carlino
c28dba4b47 Make the importer itself a library, called from the CLI tool. #745 2021-09-17 18:29:23 -07:00
Dustin Carlino
3fba6111de Add a few more tools to the CLI, introducing tokio and making
one_step_import call library functions directly now. #745
2021-09-17 18:29:23 -07:00
Dustin Carlino
194088ac16 The CLI consumes even more. #745
Remove the ability for the building procgen tool to generate a map from
OSM. If we still need that, can just do two steps. It complicates the
flags.
2021-09-17 18:29:23 -07:00
Dustin Carlino
7c41134ca8 Folding more tools into the CLI tool. #745 2021-09-17 18:29:23 -07:00
Dustin Carlino
11aeb9e2a4 Start a consolidated CLI tool with a few one of the importer crate's tools. #745 2021-09-17 18:29:23 -07:00
easbar
0a7670d874 Update fast_paths to current master, faster preparation 2021-09-13 10:53:14 -07:00
Dustin Carlino
4068986c58 Refactor URLManager -- on errors, always warn 2021-09-07 11:14:31 -07:00
Dustin Carlino
c8de2ca82d Make map_editor load initial files using FileLoader, so it works on web 2021-09-06 22:41:20 -07:00
Dustin Carlino
144f2205b2 Add a file loader to map_editor. Clunky UI, but workable. 2021-09-06 21:09:45 -07:00
Dustin Carlino
05d4474926 Deploy the RawMap editor to the web. I want to point to it from the
intersection geometry article for a slightly more interactive
experience.

It'll be a bit brittle, because it'll always point at the dev version of
RawMaps. It seems like a huge waste of storage to put RawMaps under
versioning too.
2021-09-06 15:46:33 -07:00
Dustin Carlino
01877cb576 Remove the experimental sumo import crate from early this year. It causes very slight technical debt (some public Map stuff) and there are no plans to do anything with this. The Sumo XML parser is always here in version control if it becomes interesting again later. 2021-09-01 19:23:13 -07:00