Dustin Carlino
1585eed66f
Don't keep jamming the same button for the skeletonvator, that doesn't help
2021-08-04 10:51:31 -07:00
Dustin Carlino
4935ea4fd6
Come take a ride on my skele-skeletonvator
...
(I am so sorry)
2021-08-03 22:33:06 -07:00
Dustin Carlino
82865b4e08
The skeleton is already feeling conscious about its appearance, so early
2021-08-03 22:08:10 -07:00
Dustin Carlino
46eb26fd5c
The skeleton begins to cover some of its bones
2021-08-03 19:23:28 -07:00
Dustin Carlino
a12c894eb5
The skeleton is implored to peek at its innards... (but skeleton bones
...
aren't polished)
2021-08-03 19:23:28 -07:00
Dustin Carlino
c019304ee3
A skeleton emerges, from whatever sort of place skeletons lurk
2021-08-03 19:23:28 -07:00
Dustin Carlino
e687dd0391
Automatically collapse more degenerate intersections. Manually tested
...
around the university bridge. Still far to go, but progress.
Not regenerating yet.
2021-08-02 12:06:47 -07:00
Dustin Carlino
314bed3d83
Adjust traffic signal editor icons, since they blended into the new grey scheme. #715
2021-08-01 12:36:37 -07:00
Dustin Carlino
2ae6dea692
Upgrade to rust 1.54, fix new clippy warnings
2021-07-30 09:48:31 -07:00
Dustin Carlino
c98b4f293e
Regenerate all maps after last few changes. Split out the actdev scripts to more easily regenerate actdev scenarios. This is necessary if map intersection IDs change, for instance.
...
Rainier Valley starts crashing in the simulation! Not sure why the
regression happened, disabling for now, will look into it later.
2021-07-29 14:19:46 -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
Dustin Carlino
163244ace9
Trim dead-end cycleway and service road stubs. Not regenerating yet, but
...
spot checked in Tempe and the UDistrict.
2021-07-27 11:13:47 -07:00
Dustin Carlino
de5b7e7d43
Adjust colors and tooltips for multi road editor. #718
2021-07-26 12:59:45 -07:00
Dustin Carlino
9366116c9b
Add a location button to the road / multi road editor. #718
2021-07-26 12:50:20 -07:00
Dustin Carlino
c5e769d276
Start a very basic binary classifier for high-stress cycling road, with a layer to check it. Use this to filter the mode shift dashboard -- effectively revealing PCT-esque gaps in the infrastructure. #448 , #494
2021-07-26 10:48:00 -07:00
Dustin Carlino
06429d0d5f
In the mode shift dashboard, show roads that might be highly used by converted trips... but that're missing bike infrastructure. #448
2021-07-26 10:41:51 -07:00
Dustin Carlino
d03d1b1305
When you change a lane type, also adjust to the default width for the new type. #597 ( #714 )
2021-07-25 16:05:51 -07:00
Dustin Carlino
0bce76e172
Parallelize commuter pattern calculation, to speed up the new concave hull algorithm on native
2021-07-25 10:20:27 -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
b45f9e0134
Create new lane types to express different types of buffers for prote… ( #704 )
...
* Create new lane types to express different types of buffers for protected bike lanes. They're only created manually right now, to explore rendering.
* Update planter rendering
* Update planter - simplify
* fmt after merge
* Fixing up existing rendering
* Add curb buffer
* Adjust stripes
Co-authored-by: Robin Lovelace <rob00x@gmail.com>
2021-07-23 11:31:36 -07:00
Dustin Carlino
c5210e9887
Actually, keep the broken list of ways, to manually run with backtraces
2021-07-20 11:36:53 -07:00
Dustin Carlino
8dff4c5da5
If we fail to merge a road from debug mode, rollback the change to the JSON list of ways to merge. #654
2021-07-20 11:21:38 -07:00
Dustin Carlino
d10d8ceb33
Clean up code and regenerate everything with new the consolidation algorithm... #654
...
Phinney gridlocks again; 68daa6884a
was
too ambitious. Otherwise all fine!
2021-07-19 15:07:10 -07:00
Dustin Carlino
68daa6884a
Phinney and Wallingfjord don't gridlock right now, so opt them back into prebaked results
2021-07-18 22:58:22 -07:00
Dustin Carlino
9b40186c9c
Avoid crashing when editing a stop sign near a tiny road. #707 [rebuild] [release]
2021-07-18 14:20:24 -07:00
Dustin Carlino
98978fa600
Remember which dashboard was open, and return to it when pressing 'more
...
data.' This makes it slightly less jarring to click on a specific trip
in a table or matrix, then return to the dashboard. Future work will
also remember filters/pagination of individual tables, maybe! (Since the
dashboards change over time, this might be weird.)
This also required adding a proper way to pick the dashboard from two of
the full-screen map dashboards. Otherwise, somebody would pick them and
get stuck!
2021-07-18 14:14:19 -07:00
Dustin Carlino
f6a94e8a58
Allow DrawWithTooltip to return custom data instead of string labels.
...
CloneableAny revived from e35c69f6f3
2021-07-18 14:14:19 -07:00
Dustin Carlino
ceff520ff4
Use the unedited map for elevation when viewing before edits. Fixes a crash when turns don't exist.
2021-07-18 14:14:19 -07:00
Dustin Carlino
2354ffa59d
Don't make cells with 0 entries clickable
2021-07-18 14:14:19 -07:00
Dustin Carlino
942f2292fc
Steps towards clicking cells in the problem matrix to explore trips with differences. #600
...
- Add optional clickable labels to DrawWithTooltips
- Wire up problem_matrix to remember the list of trips associated with
each cell
- When clicking a cell, just open one arbitrary example trip
2021-07-18 14:14:19 -07:00
Dustin Carlino
d142b4fbd0
Refactor lots of the places walking along a PolyLine with a step size
...
Verified no behavioral change using the screenshot test. (Which only had
the driveway diff from b3ce53aa5f
)
2021-07-16 14:17:08 -07:00
Dustin Carlino
9828006bcc
Avoid a crash when editing very short roads. #703
2021-07-16 12:53:37 -07:00
Dustin Carlino
16f7796c68
Comparing paths before/after edits requires the unedited map.
...
Previously, this was done through an incredibly complicated dance of
loading the map file again when needed. This was slow (especially on
web!), made the InfoPanel API have a bizarre edge case, and even had
some way of crashing if you open a trip panel in some situation.
Rip all that nonsense out. The unedited map can just be cloned before
applying the first edit.
2021-07-15 23:01:35 -07:00
Dustin Carlino
ff310af3d1
Consistently follow rules for whether a lane can be edited. #597
...
Allow sidewalks, shoulders, and center turn lanes to be edited now.
Still don't touch service roads or light rail.
2021-07-15 18:21:49 -07:00
Dustin Carlino
b3ce53aa5f
Draw building driveways per zoomed-in road, rather than as one map-wide batch. Otherwise, every single edit to road width needs to redraw all driveways. This doesn't scale with larger maps!
...
When zoomed in on just a building but not its road, this means the driveway won't show up until the road is in view. Acceptable trade-off.
2021-07-15 18:05:04 -07:00
Dustin Carlino
10fdaa8e92
estimate_duration already knows the mode, from the PathRequest
2021-07-14 12:38:19 -07:00
Dustin Carlino
9c3fe9e229
Add filters to the mode shift table. #448
2021-07-14 12:31:54 -07:00
Dustin Carlino
03d21c4fe9
A first mode-shift experiment: create a table of trips showing expected
...
time to drive/bike, the elevation profile, and the distance. #448
2021-07-14 12:17:03 -07:00
Dustin Carlino
149df630d4
Fix web build -- have to WASM-guard the debug tool that calls the importer
2021-07-13 23:00:45 -07:00
Dustin Carlino
38be4c0f68
Fixing small style/clippy problems and kicking off a [rebuild] [release]
2021-07-13 22:52:56 -07:00
Michael Kirk
7bf3f03251
add y-axis to aggregate duration table
2021-07-13 22:51:18 -07:00
Michael Kirk
43a3f2cdc2
round duration strings to largest unit
2021-07-13 22:51:18 -07:00
Dustin Carlino
14a0e005c8
Make sliders trigger Outcome::Changed, except for scrollbars. Manually
...
verified this doesn't break or slow down existing uses of sliders.
2021-07-13 12:36:54 -07:00
Dustin Carlino
e20ce2d041
While modifying a scenario, show how many trips match the filter.
...
(Except not updating the filter when changing sliders yet...)
2021-07-13 10:44:20 -07:00
Dustin Carlino
3d5955c2b6
Hardcode infinite parking option for a few maps. #688
...
This is an interim option until we decide whether this setting belongs
on the map, the scenario, or something else.
2021-07-13 09:03:07 -07:00
Dustin Carlino
aa5baa57de
Get less confused when switching back&forth between two debugged maps
2021-07-11 15:21:59 -07:00
Dustin Carlino
e750048141
Improve intersection merging workflow by hiding popup msg for successful imports #654
2021-07-11 13:41:29 -07:00
Dustin Carlino
2224dccda9
Add a tool in the main UI to try to merge junctions. #654
...
It maintains a JSON file of ways to merge that the importer also uses.
For maps fast to import, this is the nicest workflow. Unlike map_editor,
turns and trimmed roads can also be checked.
2021-07-11 13:19:00 -07:00
Dustin Carlino
2d16f5d878
Get the crazy pathfinding revamp to work
...
- initialization order
- reusing node ordering and applying edits
Importing, editing the map, and the basic scenario seem OK! --skip_ch
breaks, because of the lack of serialization
2021-07-10 17:14:10 -07:00
Dustin Carlino
da704b4546
Extend the parking thought bubbles to handle people climbing steep hills.
...
(And some clippy fixes)
2021-07-10 17:14:10 -07:00
Dustin Carlino
184593094e
Also round up the X axis for the elevation plot, and lower the number of
...
line plot labels by default
2021-07-09 09:23:56 -07:00
Dustin Carlino
2fad01d729
Use a fixed maximum for the Y scale of the elevation profile, based on a
...
map's max height. This helps compare elevation profiles before/after map
edits.
2021-07-09 09:23:56 -07:00
Dustin Carlino
c5113b868c
Let one vehicle attempt to lane-change around another vehicle on every
...
lane that they're stuck behind them. Only record a risk exposure event
the first time, but let passing happen anywhere. #382
Also add scenario name to PrebakeSummary, to disambiguate the Poundbury
results.
2021-07-07 21:20:06 -07:00
Dustin Carlino
fffd323cb4
Refactor the monstrosity that is App setup
2021-07-07 11:26:55 -07:00
Dustin Carlino
2d1368fe13
Revive some form of the ancient A/B test mode, where two maps can be swapped quickly. Using this for more rapidly testing intersection consolidation algorithms. #654
2021-07-07 10:14:48 -07:00
Dustin Carlino
ed59a8a386
Reimport all actdev scenarios, and restore Poundbury prebaked data. This was temporarily broken by a JSON format change ( a-b-street/abstr#29 )
2021-07-06 15:29:51 -07:00
Dustin Carlino
964cc23df8
Improve 3-way signal timing by explicitly specifying crosswalks. This
...
fixes a very dramatic problem in the Green Lake map.
Regenerating everything...
Also added total trip time to the prebaked summary, to get a quick sense
if a change net helps or hurts and have a record in version control.
2021-07-06 14:37:50 -07:00
Dustin Carlino
fe49a093e6
Add a revert button to the road editor. #597
2021-07-06 13:00:11 -07:00
Dustin Carlino
3a53380c46
Don't block after launching JSON viewer. Often I want to find an ID in
...
the JSON somewhere, then warp to it.
2021-07-06 11:49:44 -07:00
Dustin Carlino
3db4c827b8
Draw building outlines in unzoomed view also. It's a subtle effect, but important in dense areas like Sao Paulo.
2021-07-06 09:53:13 -07:00
Dustin Carlino
f37e71236f
Some fixups to the regenerated data from the past two commits:
...
- handle when the equiv_pos of a driveway gets too close to the edge of
another lane
- make the updater workflow handle files from S3 that're a bit older
- remove pathfinding_avoiding_roads
- strip out old vehicle capping from map edit JSON, then fix up
proposals
- delete old capping API example
- temporarily give up on phinney; it starts gridlocking
- add broadmoor proposal link in-game
2021-07-05 17:51:40 -07:00
Dustin Carlino
a0dcc255c3
Rip out all congestion capping code. #325
...
This collaboration is abandoned, the code slows down refactoring, and
if we started this idea again today, it'd be better to do it from
scratch anyway.
Regenerating everything.
2021-07-05 11:15:31 -07:00
Dustin Carlino
bae86bf885
Add a debug tool to visualize equiv_pos, before trying to improve this for curvy roads.
2021-07-05 10:16:39 -07:00
Dustin Carlino
6039063d28
Add a debug tool to dump JSON for different objects and open up with an external viewer. [rebuild] [release]
...
And fix some clippy problems
2021-07-04 15:32:49 -07:00
Dustin Carlino
95ffa62218
Fix the unparking position. When we exit a driveway in EITHER direction,
...
we need to adjust the start position to account for the vehicle's
length.
Also add a very convenient debug tool to understand positions along
lanes.
This probably breaks static blockages; I'll check into that next.
2021-07-04 14:34:20 -07:00
Dustin Carlino
bf316fa99c
Fix a crash in the trip info panel. If you happen to open a trip of a
...
car waiting to spawn, its total path distance is briefly 0.
Also silence the lane-changing info for the moment, until work resumes
there.
2021-07-03 08:28:16 -07:00
Dustin Carlino
160d65ca28
Try loading a built-in proposal with --edits, if player data is missing.
2021-07-02 13:14:08 -07:00
Dustin Carlino
6c1c6a3235
Fix crash when changing speed limit. At some point, we started changing lane IDs for every road edit and never updated this. Closes #685
2021-07-02 11:54:59 -07:00
Dustin Carlino
4fd86c8a41
Entering edit mode is slow on large maps, because clearing the simulation recreates parking state for every building. Parallelize it to speed it up at least a bit.
2021-07-02 11:47:05 -07:00
Dustin Carlino
866ecd5f88
Fix a bug in efaf6085e4
that was using walking paths for vehicles. Now prebaked data doesn't budge.
...
And add some more timing to demonstrate why editing a single lane in a
huge map is so slow...
2021-07-02 11:25:02 -07:00
Dustin Carlino
f4c8a508da
Keep a JSON file with a summary of prebaked simulations, to more easily detect regressions with broken trips.
2021-07-02 10:07:37 -07:00
Dustin Carlino
4f00c8d2bb
Phinney runs without gridlock again, so re-enable it. Pretty sure
...
f57278e9cd
fixed it.
2021-06-30 16:51:03 -07:00
Dustin Carlino
efaf6085e4
Prepare for exiting driveways on the off-side by switching to
...
specialized PathRequest constructors
2021-06-30 12:35:22 -07:00
Dustin Carlino
137e9a0c2c
Fix up some places affected by the f64 serialization:
...
- offstreet_parking_length in importer config
- backwards compatibility for map edits
- fixing up the baked-in proposals
- working around a few PolyLine bugs that happen with the new rounding
- Don't regenerate actdev scenarios yet -- the upstream JSON format is
out of date, will have to fix separately.
2021-06-30 06:35:42 -07:00
Dustin Carlino
44171500b7
Get the Green Lake map to complete without gridlock!!!
...
- Allow blocking the box around two complex intersections in Green Lake.
This makes the vehicle behavior much more realistic there, by visual
inspection.
- Amp up offstreet parking to 10 per building. I noticed the simulation
completes easily with --infinite_parking. This is an approximation of
that. We make really bad guesses about carpooling and the amount of
parking available around here, so effectively just remove it from
consideration for now.
2021-06-23 13:56:42 -07:00
Dustin Carlino
8c2b84c37c
Keep the trip info panel open when the user clicks before/after and has to initially load the unedited map. #684
2021-06-23 12:52:18 -07:00
Dustin Carlino
9f22d4893a
Fix a crash with time-warping to the past when the map is edited. See #684 for an explanation.
...
Verified working on native. It should also be fine on web -- loading the
unedited map has to be a whole separate state because of web IO in the
first place.
2021-06-23 10:29:10 -07:00
Michael Kirk
321c9d9c40
Label contingency matrix axes
2021-06-23 10:13:51 -07:00
Dustin Carlino
d8cdfaba05
Make the multi-road editor only check and edit lanes_ltr, not speed limit. The Aurora cycletrack edit stopped matching because the speed limit happens to change along Aurora. We can think through a better UX to handle both, but I suspect most use cases will focus on lane configuration. #597
2021-06-20 10:00:05 -07:00
Dustin Carlino
e6e6fb267d
Reset current selection after editing multiple roads. This sometimes crashes if the selected lane gets deleted or assigned a new ID. Fixes a crash trying to make the West Green Lake cycletrack. #597
2021-06-20 09:50:33 -07:00
Dustin Carlino
8f199177f5
Upgrade to Rust 1.53
...
- arrays are now iterable directly
- switch to using BTree{Set,Map}::retain!
- a round of clippy
- regenerate scenarios and prebaked data; not sure why, but there's a
diff
2021-06-17 23:04:35 -07:00
Rémi Lauzier
1a4b997818
Fix some clippy warnings
2021-06-16 16:21:35 -07:00
Dustin Carlino
d42c1310b0
CLI flag to start in the KML viewer for convenience
2021-06-16 11:14:17 -07:00
Dustin Carlino
01a2dfe215
Create a new panel to show how trips are distributed through the day.
...
Refactor some of the sliding window code along the way.
2021-06-14 17:32:18 -07:00
Dustin Carlino
d272b745f2
Add a simple Python script to run grid2demand. I need to produce a scenario for Tempe, and it's also useful for #608
2021-06-14 11:00:02 -07:00
Dustin Carlino
96aa09edd0
Small steps towards matching more GMNS signals: #626
...
- toss a loading screen around it
- allow jump to ID in edit mode
- break down failure types more
2021-06-13 11:59:37 -07:00
Dustin Carlino
59597708ec
Draw polylines as arrows in the KML viewer; it's pretty much always useful to see the direction of the raw data
2021-06-13 11:32:02 -07:00
Dustin Carlino
500f14869f
Le Fournil special: don't redraw KML text constantly; it was sluggish for signal timing.
2021-06-13 11:26:08 -07:00
Dustin Carlino
76aba75082
Update links to docs after some reorg in the other repo
2021-06-12 13:38:38 -07:00
Dustin Carlino
972f5b0187
Lower the priority of service roads when placing stop signs
...
Regenerate all data. Wallingford started gridlocking due to this change;
plowing ahead and will follow up and fix it.
2021-06-11 09:40:44 -07:00
Dustin Carlino
18ff0eefc0
Store Turns per Intersection, instead of a massive BTreeMap. #368
...
Minimal file size savings, but substantial runtime improvement!
2021-06-11 09:40:44 -07:00
Dustin Carlino
cabee219db
Fix some crashing spinners; the rust compiler inferred the wrong numeric type. #674
2021-06-10 18:21:24 -07:00
Dustin Carlino
fc4f0a8c8e
Some Tempe fixes:
...
- Stop importing rail in Tempe. Not simulating anything on it yet, and it complicates gridlock. #672
- Update the GMNS timing.csv import based on slight format change. #626
2021-06-09 16:35:46 -07:00
Dustin Carlino
d827673ace
Periodically free memory in the middle of screenshot test, to avoid
...
running out on my current machine. Fixes #671 .
Finally regenerate screenshots for the first time in ages... just
blindly accepting everything, because the slightly different screen size
means everything was slightly shifted down.
2021-06-09 14:31:40 -07:00
Dustin Carlino
889c500eb1
Force geojson to use geo-types feature everywhere. This lets different
...
binaries properly share workspace dependencies.
See
https://www.reddit.com/r/rust/comments/nvd6y7/common_crates_in_cargo_workspace_recompiled_due/
for the full story behind this mess.
I'm going to keep repeating this process until I get game and importer
to share dependencies again.
2021-06-09 09:48:53 -07:00
Dustin Carlino
a38125ad2c
Adjust multi road editor more -- custom cursor icons for select/unselect
2021-06-03 15:23:55 -07:00
Dustin Carlino
8721c4f6d9
When the desktop version is old, have a button to go directly to the releases page to grab a new one
2021-06-03 09:14:17 -07:00
Dustin Carlino
bf2e4be2a2
Adjust road editor based on real live coffeeshop feedback:
...
- "x/y similar segments" to relate to explanatory text about lane
configurations below
- "edit multiple" -> "apply to multiple", since you have to change the
road first
- start with all candidates selected
2021-06-03 09:02:12 -07:00
Dustin Carlino
b1150c9524
Export raw CSV data about problems per trip, for a data analyst to explore possible dataviz in their more familiar tools
2021-06-02 19:23:48 -07:00
Dustin Carlino
c9e4f754e1
Fix a crash in the problem map layer, caused by checkboxes getting out of sync
2021-06-02 16:26:04 -07:00