Commit Graph

4794 Commits

Author SHA1 Message Date
Dustin Carlino
e52da86f74 matching parking lots to offside driving lanes if needed. fixes all ~37 cases in krakow!
not regenerating yet
2020-08-03 16:50:48 -07:00
Dustin Carlino
588a20e8d3 reduce warnings in map importer 2020-08-03 16:22:02 -07:00
Dustin Carlino
f0ecd914b5 emit Outcome::Changed for dropdowns, checkboxes, spinners. simplify client code 2020-08-03 14:27:44 -07:00
Dustin Carlino
41f4cfff6d tool-assisted refactor of ezgui Outcome 2020-08-03 13:42:59 -07:00
Dustin Carlino
f73516d183 start representing bus spawn rates explicitly 2020-08-03 13:12:02 -07:00
Dustin Carlino
22afb60421 woops, parcels.bin wasnt deterministic. kept seeing a diff in data/MANIFEST. 2020-08-03 11:31:56 -07:00
Dustin Carlino
fa0a73053b spawn cars a little farther along borders, to avoid a rendering crash 2020-08-03 11:24:53 -07:00
Dustin Carlino
940d2265c0 spawning buses at 0.01m on a non-border lane can break, because other cars approach, and the buffer distance gets broken. instead, spawn the buses a few lanes away, if needed. fixes #260
now only ~400 agents left in lakeslice by end!
2020-08-03 11:08:21 -07:00
Dustin Carlino
b7ed2615b1 add a "smoke-test" to simulate 1 hr in all maps 2020-08-03 09:28:10 -07:00
Dustin Carlino
bea6e2edf2 snap bus stop driving positions at least 0.1m away from the start of the
lane, to handle buses spawning at the start

not regenerating everything yet
2020-08-03 09:04:16 -07:00
Dustin Carlino
13402b7745 get xi'an to import. detect all geometry problems upfront. 2020-08-03 08:12:27 -07:00
Dustin Carlino
60147597d6 change PathConstraints in floodfiller, to more easily debug bike
disconnectedness in udistrict
2020-08-03 07:41:10 -07:00
Dustin Carlino
a797af2d50 new release 2020-08-02 18:12:31 -07:00
Dustin Carlino
bfc5236152 fix crash with duplicate full route names on one bus stop [rebuild] 2020-08-02 08:36:40 -07:00
Dustin Carlino
3cd28cb44f fix buses not starting at a border. they were skipping the first stop, that's why there were so many stranded agents in lakeslice. still some buses failing to spawn, causing some more stranded 2020-08-01 18:53:40 -07:00
Dustin Carlino
c31d876f61 oh no, the new biking_connection is crashing in a few maps, where some of the separated bike trails are still missing. gracefully degrade. this is getting convoluted again, filed #258 to cleanup. 2020-08-01 10:26:44 -07:00
Dustin Carlino
2979f8117f handle .osm with missing bounds and no clip 2020-08-01 08:51:19 -07:00
Dustin Carlino
1b993544ab print logs from fast_paths 2020-08-01 08:27:09 -07:00
Dustin Carlino
b4ad7400df stop drawing center lines for one-ways. while regenerating maps, also
bring in natural=scrub, and rename the krakow map
2020-07-31 20:48:26 -07:00
Dustin Carlino
2f76c7ac12 powered by a clear head and fresh blackberries, fix #64 2020-07-31 19:58:44 -07:00
Dustin Carlino
f7df49f512 fix a rendering bug with shifting cars for parking. ALMOST handle parking lane on opposite side of a driving lane, but there's a crash i cant understand, so disabled. #64 2020-07-31 17:39:04 -07:00
Dustin Carlino
ae31739dea almost support off-side parking lanes. only remaining bug is cars
ignoring parking spots if the parking lane is in the opposite direction.
workaround is to reverse the lane. dealing with that bug next though.

part of #64 and #176. fixes #109
2020-07-31 16:23:58 -07:00
Dustin Carlino
d7968713fc don't need to explicitly store parking blackhole redirect, just a bit.
and have a separate bit for bikes. use that to handle bikes going to
borders. finally closes #221, progress on #176.
2020-07-31 15:43:15 -07:00
Dustin Carlino
5c506f726c total overhaul to building<->bike connections for #221 and #176. bikes
will start/stop directly in front of a building driveway, when possible.

still need to handle the case when the bikeable position isn't connected
to most to the graph (for buildings accessible only by footway and for
things around the border)
2020-07-31 14:28:40 -07:00
Dustin Carlino
d22aa87139 rearrange Building internals for #176. edits can affect building
connections to driving/biking. just store the immutable stuff -- whether
there's parking in the building, the connection to the sidewalk, and the
physical driveway line. compute all the rest dynamically, so it responds
to edits without effort.

shouldn't be major behavior changes yet (besides maybe fixing some bugs
involving edits)
2020-07-31 12:49:33 -07:00
Dustin Carlino
ec52adce77 dont infer parking on roads in krakow that dont allow pedestrians 2020-07-31 10:33:59 -07:00
Dustin Carlino
71b68cc639 don't assume off-side sidewalks on dual_carriageway=yes. don't infer
parking on tiny roads. fixes some geometry in krakow. #230

(unrelated: add a debug layer to show parking blackholes, to work on
bike connections)
(also unrelated: better error message for #256)
2020-07-31 10:07:29 -07:00
Dustin Carlino
8385799844 workaround #240 by deterministically building the parking layer. the
proper fix is to record zorder for parking lots and buildings from OSM
tags. ColorDiscrete would need to understand this. I'll leave that for
later.
2020-07-30 15:36:46 -07:00
Dustin Carlino
03796fcd66 introduce the tiny walkable shoulder lane type. pathfinding penalty,
rendering adjustments. #176

the SharedSidewalkCorner geometry looks bad, but acceptable for now.
2020-07-30 13:42:36 -07:00
Dustin Carlino
3af929f830 refactor to prep to represent shoulders as tiny sidewalks. #176 2020-07-30 10:06:57 -07:00
Dustin Carlino
dde8bd8662 add a new "no sidewalks" layer to spot roads that will soon have a tiny
shoulder for pedestrians. looks reasonable in most places, but still
need to skip over roads < some length, probably. step 1 of #176
2020-07-30 09:39:02 -07:00
Dustin Carlino
af26e8d143 cut over more button internals to use flexbox. almost at the point of collapsing some of the internal representation 2020-07-30 08:59:50 -07:00
Dustin Carlino
40cb4c4bfa simplify TextFG button 2020-07-29 19:13:20 -07:00
Dustin Carlino
b57f5081cf bit more, with pad. these hacks were put in before i understood you had
to wrap a widget in a container to make things like padding() work.
2020-07-29 18:51:28 -07:00
Dustin Carlino
a5928d204d whittle down the weird BtnBuilder API 2020-07-29 18:36:41 -07:00
Dustin Carlino
de45fb5c07 better Checkbox::colored 2020-07-29 15:11:10 -07:00
Dustin Carlino
28c3d0ef8e fix some double-DPI scaling bugs with Btn::custom. this change makes
some things simpler, some more complex, but it at least fixes some
stuff without breaking anything.
2020-07-29 11:28:05 -07:00
Dustin Carlino
0e5dd551cd construct switch checkboxes using the new trick 2020-07-29 10:56:38 -07:00
Dustin Carlino
e543b34799 use existing widget layout/style stuff to produce larger batches, for
crazy custom buttons. use to finally make a nice big trip button.
2020-07-29 10:45:24 -07:00
Michael Kirk
3879753cd2
revert some switches back to checkboxes (#252)
* revert some switches back to checkboxes

partial revert of 90bb4ac0

In many ways switches and checkboxes seem interchangeable, but in certain
contexts one may be more appropriate.

For an overview that I mostly agree with:
https://uxplanet.org/checkbox-vs-toggle-switch-7fc6e83f10b8
2020-07-28 13:58:20 -07:00
Dustin Carlino
0a417bb450 color roads under construction in unzoomed mode based on the underlying road type.
technically this affects stop sign placement, but not wort regenerating
maps yet.
2020-07-28 13:49:39 -07:00
Dustin Carlino
2b9123d261 fix border intersection geometry when the road is too short. closes #251
while regenerating, also pick up landuse=grass as a park area. noticed
missing in krakow.
2020-07-28 13:41:12 -07:00
Dustin Carlino
edb1cb87cd Make all vehicles, including buses, start with ~0 length when spawning
from borders and gradually appear. This looks more realistic and lets
more trips succeed, especially buses spawning at short borders.

This fixes #220 in a hopefully simpler way. Extending the geometry of
incoming roads is possible, but it may look visually overwhelming,
because two border intersections could sometimes overlap.
2020-07-28 11:39:57 -07:00
Michael Kirk
5f9e94cfcc
use monospace font to avoid clock layout jitter (#250)
* use monospace font to avoid clock layout jitter

* conventional naming
2020-07-28 10:39:18 -07:00
Dustin Carlino
6c3e6aef10 buttons to jump to start/end of a future trip when theres no prebaked data 2020-07-28 10:04:19 -07:00
Dustin Carlino
748db3c9b2 point to fixed 0.2.5 build, to help with #249 2020-07-28 09:41:38 -07:00
Dustin Carlino
0fe8b028ea [rebuild] to fix ezgui widget crashes in 0.2.5 2020-07-28 08:24:05 -07:00
Dustin Carlino
e1e265db14 tighten up Polygon constructors to enforce an outer ring... in most
cases now.
2020-07-27 14:03:55 -07:00
Dustin Carlino
6a11a13d36 fix the remainder?! of pathfinding bugs for #190. have to make sure the
candidate route has the stops in the correct order. now people correctly
ride a bus off-map!

regen everything now!
2020-07-27 12:36:46 -07:00
Michael Kirk
fff938180f
Commuter Patterns: Larger shapes for border intersections (#247)
* Commuter Patterns: Larger shapes for border intersections

A substantial portion of traffic has an origin/destination off the map.
We were correctly tracking all this data, attributing it to a
"block" the size of the border "intersection"; However, the design
didn't accommodate the small "size" of the border intersections:

1. it was too small to meaningfully reason about the heatmap visualization
2. it was too small of a "hit" area for clicking and hovering
3. when in the "locked" mode, the hover text overlay was illegible.

Now we draw a larger arrow, representing the inward/outward/both-ways
direction of traffic which makes it easier to reason about the heatmap
color and accommodates an adequate hit area.

And the hover text is now printed over a white pill to maintain
legibility.

* Commuter Patterns: Draw border *behind* directional icon

* Code Review: code cleanup - no changes to behavior.
2020-07-27 12:07:51 -07:00