Commit Graph

282 Commits

Author SHA1 Message Date
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
Dustin Carlino
1d71e39480 Amp up the short service road trimmer -- Aurora's got lots of dangly things to trim.
While we're at it, opt into new fast_paths branch that should have about
a 2x import speedup.

Regenerating the world...
2021-08-21 21:23:35 -07:00
Dustin Carlino
c08645011d The street name rewriting case I was afraid of has ALREADY turned up,
because of course it has

(and fix rebase)
2021-08-20 15:18:54 -07:00
Dustin Carlino
70c6d47c13 Track locally which proposals have been uploaded, to avoid uploading copies of stuff uselessly. Not quite working, but big step forwards. 2021-08-18 10:23:20 -07:00
Dustin Carlino
4547395067 Move the cycleway snapping step to happen just before RawMap->Map, so we can play with it in the map_editor. #330 2021-07-27 11:20:57 -07:00
Michael Kirk
760d75e12a
Use concave hull for neighborhoods (#716)
Also, for sidewalks, interpolate points every n-meters to get a better
concave hull.
2021-07-25 10:11:12 -07:00
Dustin Carlino
db435cd56d Use the quick fix to https://github.com/easbar/fast_paths/issues/34 to
dramatically improve time to import and edit maps.

The fix helps all maps that use extremely high edge weights to prevent
people from cutting through private roads. There may be a more robust
fast_paths fix later, but I want to reap the benefits for tomorrow's
release.

The dramatic numbers:

- importing huge_seattle: 893s down to 108s
- editing huge_seattle: 102s down to 19s

Query speeds didn't appear to substantially change.
2021-07-17 22:33:01 -07:00
Dustin Carlino
76ecccf54b When loading files on the web, print the received and total file size,
as a slightly better progress bar. #377
2021-07-16 11:25:27 -07:00
Dustin Carlino
0edc0cb279 Fix the Dijkstra pathfinding, by using DiGraph, which is serializable 2021-07-10 17:14:10 -07:00
Dustin Carlino
c5369a10f4 Invert the structure of CH-vs-dijkstra pathfinding. Use a generic
"engine" that just operates on raw usize IDs. Embed that enum in each of
the particular pathfinders. This way, we don't have to keep duplicating
logic to delegate requests, handle one-step edge cases, etc. And it also
sets us up to more easily try out other CH implementations like osm_ch,
without having to move around tons of code.

Still use fast_path's InputGraph as the "universal" format, for now.

This is a huge change... got map_model compiling at least. Some stubbed
out stuff.
2021-07-10 17:14:10 -07:00