Dustin Carlino
dcc7ff9e72
Add back the "Edit entire signal" menu, only when editing one
...
intersection.
2020-08-13 15:12:03 -07:00
Dustin Carlino
c84833feb4
More steps on the multi-signal editor, adapted from the old editor:
...
- Add a header to the side panel
- Prevent leaving the editor with missing turns
- Apply edits properly when leaving
2020-08-13 15:12:03 -07:00
Dustin Carlino
11cefb118a
And the same thing for OriginalIntersection
...
Actually, don't need to regenerate map data. Thanks to the magic of
zero-cost wrapper types, the binary format is the same.
2020-08-13 11:48:13 -07:00
Dustin Carlino
843d24b6ed
Refactor: OriginalBuilding should just be OsmID. The purpose of
...
OriginalBuilding was to refer to buildings in a stable way across
different maps and across OSM updates. Recently, OsmID and friends
appeared. The double layer of wrapping is an annoying API.
Not regenerating map data yet; about to do the same thing for
OriginalIntersection
2020-08-13 11:37:06 -07:00
Dustin Carlino
f70d01626f
Fix bug introduced in 9ce7ab1c88
. Don't
...
cache intersection_type in DrawIntersection; it changes when converting
stop signs<->traffic signals<->closed for construction.
2020-08-13 08:21:27 -07:00
Dustin Carlino
d9da24b3d1
Work around the initial window size being wrong by reseting the minimap
...
when the window is resized. This is a bit unexpected if done
interactively in-game, but not unreasonable.
This mostly fixes the issue that sometimes happens starting with --dev.
When the resize happens late on X11, the minimap looks initially better,
but still cut off horizontally. Zooming in and out fixes it. (Before,
even zooming in/out would keep it tiny, because base_zoom was never
reset.)
2020-08-13 08:15:21 -07:00
Dustin Carlino
ae18b09b3b
refactor separators
2020-08-12 16:46:11 -07:00
Dustin Carlino
9af8aafb44
now that we're drawing lots in the multi-sig editor, cache it
2020-08-12 15:50:23 -07:00
Dustin Carlino
e4a2f35bb0
glue more basic functionality to the multi-sig ed
2020-08-12 15:50:23 -07:00
Dustin Carlino
490471848a
copy over lots of the misc functionality to the new multi-signal editor
2020-08-12 15:50:23 -07:00
Dustin Carlino
ca501b7b80
initially synchronize all signals in a group
2020-08-12 15:50:23 -07:00
Dustin Carlino
5803e5721e
add turn icons to the new multi-signal editor
2020-08-12 15:50:23 -07:00
Dustin Carlino
c08e244d23
tiny start to a new multi-intersection traffic signal editor. just get
...
the left panel to display some kind of merged view
2020-08-12 15:50:23 -07:00
Michael Kirk
58d360668e
add glow feature
2020-08-12 15:44:48 -07:00
Michael Kirk
f7f4fd889e
consolidate screenspace and mapspace methods since they now behave the
...
same.
rg -l screenspace_svg | xargs sed -i .bak 's/screenspace_svg/load_svg/'
rg -l mapspace_svg | xargs sed -i .bak 's/mapspace_svg/load_svg/'
2020-08-12 15:44:48 -07:00
Michael Kirk
f42b7c003c
layout uses logical pixels, not physical
...
Previously it was not clear (to me at least) when a value used
in layout was in units of logical pixels vs physical pixels.
This lead to some ambiguity about where to scale values, and lead to
some values being scaled more than once or sometimes not at all, leading
to inconsistent layouts across DPI's.
The intent of this change is to solve this ambiguity by having the ui
clients work *exlusively* with logical pixels.
To achieve this, we consolidate all scaling to the graphics backend.
We translate all PhysicalPositions from the windowing libraries to
LogicalPixles.
Our own types: ScreenPt, ScreenDim, etc. are all in logical units.
In some places, I replaced passing raw floats with a corresponding
Screen* type to clarify that the units are in logical pixels.
2020-08-12 15:44:48 -07:00
Dustin Carlino
9ce7ab1c88
defer drawing intersections, same as lanes. faster startup time and melts my GPU less trying to load london and tokyo
2020-08-12 11:17:06 -07:00
Dustin Carlino
7a0dbb28b1
handle some rendering failures, getting new orleans to load
2020-08-12 09:47:35 -07:00
Dustin Carlino
a27b029ff6
plumb errors for shifting polylines through more APIs. mostly no-op for
...
now, just switched everything to must_* variants, but this paves the way
for handling failures.
... except for rendering pedestrian crowds -- I _think_ I saw a crash
from that, and it's easy to have a fallback there
2020-08-12 08:18:10 -07:00
Dustin Carlino
8568690a7a
stop the dropdown from jumping around when opening it while sim is running
...
(the bug: open population layer while sim is running, click the color
scheme dropdown)
2020-08-12 07:19:00 -07:00
Dustin Carlino
bc4c1eaea6
make Filler responsive to window resizing
2020-08-11 17:28:27 -07:00
Dustin Carlino
a370b6aac6
move the traffic signal details into a tab. specialize make_signal_diagram for editing.
...
this is a step towards editing multiple traffic signals at once, and a design that yuwen has suggested many times before
2020-08-11 12:00:49 -07:00
Dustin Carlino
e38814563a
cleanup storymap code after menu refactor
2020-08-11 11:26:06 -07:00
Dustin Carlino
7443f4ba98
detangle the way Menus communicate results, removing the Clone
...
requirement and finishing off InputResult
2020-08-11 09:10:16 -07:00
Dustin Carlino
0749a2ac7b
start keeping goldenfiles for bus routes, similar to the screenshot diff test. this will make it much easier to finish up bus matching without accidentally regressing somewhere
2020-08-10 16:03:04 -07:00
Dustin Carlino
312775b491
refactor TurnGroup creators, but keep it stored on traffic signal, so
...
it's regenerated for edits
2020-08-10 15:39:28 -07:00
Dustin Carlino
31e8c654d2
prototype directional traffic signal demand viz over time
2020-08-10 13:19:47 -07:00
Dustin Carlino
ecd5d86009
handle bus stops right at intersections
2020-08-08 19:32:18 -07:00
Dustin Carlino
d1e9e38e82
refactor for #231 : use typed OSM IDs everywhere, dedupe URL code
...
have to regen, the binary format has changed
2020-08-08 16:09:36 -07:00
Dustin Carlino
3b8a0e4edc
tiny performance improvement in parking mapper
2020-08-07 14:14:50 -07:00
Dustin Carlino
e35c69f6f3
ezgui Wizard (and its pet Cloneable)
...
Here lies a weird coroutine experiment
09/20/2018 - 08/07/2020
2020-08-07 14:04:41 -07:00
Dustin Carlino
b881fa605b
convert the last caller away from wizard...
2020-08-07 13:52:27 -07:00
Dustin Carlino
f61881f6fa
move more UIs away from wizards. editing signal offset broke, because
...
the perma format doesn't encode offset yet
2020-08-07 13:33:58 -07:00
Dustin Carlino
ec756b5167
fix z-level spinner
2020-08-07 11:28:00 -07:00
Dustin Carlino
480156c7c6
convert more Wizards to ChooseSomethings
2020-08-06 10:21:01 -07:00
Dustin Carlino
c41c998301
make a way simpler, one-choice version of Wizard. use it in two
...
different places to flesh out how it works
2020-08-06 09:46:57 -07:00
Dustin Carlino
f3600cdc3e
disabled experiment to draw area names
2020-08-05 16:16:32 -07:00
Dustin Carlino
4ce2ffbad8
improve kml viewer
...
- clear sim after title screen
- move the file loader into the viewer
- add a key/value filter
2020-08-05 15:49:14 -07:00
Dustin Carlino
3c24b7aa5a
pull in spawn times for seattle from gtfs. looks wrong, but it's a
...
start.
2020-08-05 14:46:37 -07:00
Dustin Carlino
2f618815b1
make explicit rank enum for road types, instead of using arbitrary numbers. cleanup for #231
2020-08-05 11:40:42 -07:00
Dustin Carlino
8f6a6d40e6
change the few places that copied an OSM ID to the clipboard to instead
...
open the browser. this is more useful, and it also lets us get rid of a
dependency on clipboard stuff, fixing #264
2020-08-05 11:24:51 -07:00
Dustin Carlino
9961b870b6
try to apply the new on/off ramp intersection geometry to all relevant
...
3-way intersections, for #131
2020-08-05 11:03:02 -07:00
Dustin Carlino
e82fe996ad
reduce GfxCtx surface area
2020-08-05 07:56:57 -07:00
Dustin Carlino
c7e0b56776
get EditMode underneath route editor properly
2020-08-04 15:23:45 -07:00
Dustin Carlino
6f3be4463b
start editing route schedules. primitive UI, but getting all the map
...
edits plumbed through
2020-08-04 14:27:24 -07:00
Dustin Carlino
e68df0ed1a
and make tool_panel normal, ending the strange reign of WrappedComposite
2020-08-04 12:34:58 -07:00
Dustin Carlino
d819ab2bf8
migrate the last user off of the old ManagedGUIState
2020-08-04 12:27:07 -07:00
Dustin Carlino
225abcd112
clean up old UserInput APIs from long, long ago
2020-08-04 12:00:07 -07:00
Dustin Carlino
5fe3cc5f8a
slowly whittle down public surface of ezgui
...
- stop referencing Prerender when easy
- default_font_size hasn't been used since the great typography refactor
some of this harms the usability of map_editor, but that's fine, because
the UX is awful anyway, and nobody should be using this except for me
very occasionally. long-term fate of it is to go away.
2020-08-04 11:36:47 -07:00
Dustin Carlino
75179f1400
fix uber turn viewer breakage. also discovered that we can't clip the
...
largest .osm while we update it without breaking water polygons
2020-08-04 10:30:07 -07:00
Dustin Carlino
a9998a0735
tool to find huge intersections, usually where lane count is way off
2020-08-03 18:12:18 -07:00
Dustin Carlino
bcbf229eb7
rip out all users of the old find_closest_lane for #176 .
...
- this gives offside support to bus/sidewalk matching, getting 11 more
routes working in krakow
2020-08-03 17:56:58 -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
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
60147597d6
change PathConstraints in floodfiller, to more easily debug bike
...
disconnectedness in udistrict
2020-08-03 07:41:10 -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
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
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
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
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
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
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
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
e1e265db14
tighten up Polygon constructors to enforce an outer ring... in most
...
cases now.
2020-07-27 14:03:55 -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
Dustin Carlino
74bf6e0974
get riding off-map to work for #190 .
...
- handle living streets that allow buses in berlin
- don't connect LeaveMap nodes to anything else; people were getting
creative and using them as shortcuts to effectively warp to a border,
then come back into the map
- make should_use_transit understand transfers (and still just return
the first leg)
- warp to bus routes by ID
still at least one weird bug left, seen in krakow. working on it next,
trying to keep these commits "small." not regenerating maps quite yet.
2020-07-27 10:37:21 -07:00
Dustin Carlino
2239059961
UI fixes discovered during riding buses off-map
...
- speed limit dropdown crash
- link to bus route from bus stop panel, not some currently running bus
- show number of waiting people per stop in route panel and route dash
2020-07-27 08:19:14 -07:00
Dustin Carlino
e83e2f2d72
search by building name/address!
2020-07-27 06:37:05 -07:00
Dustin Carlino
f056080106
fix area under curve on jump-to-time when active agents isnt 0 at end of day. also... fail loudly when we make it to the end of the day and too many active agents are left. at some point lakeslice broke and I didnt notice. :( ... but actually it's just a crowd of people waiting on a bus that isnt managing to spawn.
2020-07-26 22:50:45 -07:00
Dustin Carlino
a1e1e51b10
obviate need for make_arrow_outline by just putting together a
...
reasonable make_arrow polygon in the first place
2020-07-26 20:25:38 -07:00
Dustin Carlino
a4e09ca91f
add border stop/start to route info panel. move the route drawing there, stop being a weird layer.
2020-07-26 13:13:48 -07:00
Dustin Carlino
4c86f568d0
fix transit network's show all routes. no more loops, but do have border
...
starts/ends.
2020-07-26 12:40:44 -07:00
Dustin Carlino
649c79f784
easily see busiest bus route from dash
2020-07-26 12:23:30 -07:00
Dustin Carlino
eb4acdc2f6
split parking lot code from building code, for #231
2020-07-25 07:09:43 -07:00
Mateusz Konieczny
a4a545cc79
handle more OSM tags - especially POIs ( #244 )
...
also, add graveyards like cemeteries
2020-07-25 07:01:55 -07:00
Dustin Carlino
f06c2764f5
fix broken parking layer counts, closes #241
2020-07-24 18:51:00 -07:00
Dustin Carlino
450befcc87
more useful error when prebaked missing. closes #238
2020-07-24 18:08:37 -07:00
Michael Kirk
bf1394e571
Commuter Patterns: Show secondary stats for commute on hover ( #235 )
...
* Commuter Patterns: Show secondary stats for commute on hover
2020-07-24 18:04:27 -07:00
Dustin Carlino
7bf6cb47f5
better UI for loading edits, split proposals and player edits. #113
2020-07-24 12:11:09 -07:00
Michael Kirk
6a074a0921
Commuter Pattern: label heatmap scale accruately (by max, not total) ( #236 )
2020-07-23 21:40:44 -07:00
Dustin Carlino
f66af5ad49
list all edits in the loader. only try to validate them after selection. display clear error if loading fails. #113
2020-07-23 15:27:24 -07:00
Dustin Carlino
adbbc8764a
much smarter opportunistic lane-changing. almost got #217 . but we don't
...
do opportunistic LCing when approaching an uber-turn, so we need to use
these costs when building the CH also...
2020-07-23 12:39:00 -07:00