Dustin Carlino
e1270a1338
Make trip timeline phases hoverable with a tooltip, but not be a clickable button
2020-09-10 16:54:30 -07:00
Dustin Carlino
0cc1c654d1
Allow selecting multiple traffic signals when unzoomed, and show the
...
number of signals selected.
2020-09-10 16:15:42 -07:00
Dustin Carlino
1388694eec
Flag off the live map edits, since it's going to take lots more work to stabilize this, but git branches are scary to maintain for more than a few days. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
220f33e2ec
Abort cars bound to park on edited lanes. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
39290f899c
Handle some of the live changes to parking by deleting parked cars on
...
edited lanes. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
61acf25b8e
Initialize intersections converted live to traffic signals. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
d8011a90f4
Handle live edits by just aborting any current trips that cross an
...
edited road or closed intersection. #312
Along the way, refactor more context plumbing in DrivingSimState.
2020-09-09 15:03:14 -07:00
Dustin Carlino
39ab06df7d
Prepare for editing the map live in all cases by making the UI changes. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
5c6e781016
Collapse a few more of the Transitions
2020-09-07 10:49:20 -07:00
Dustin Carlino
0b9b7e1a65
Fix a crash opening challenge modes. If somebody hits this in the latest
...
release, will put out a new build
2020-09-07 10:26:57 -07:00
Dustin Carlino
5be4c2ca84
Add an API to add a new trip in the middle of the simulation. Fixes #313
...
[rebuild]
2020-09-06 13:53:31 -07:00
Dustin Carlino
65e07d9cc7
Read/write scenarios in JSON, so people can manipulate them in any language. #313
2020-09-04 10:57:52 -07:00
Dustin Carlino
38ba8d55f3
Produce proper lanes for left-hand driving by intervening at the LaneSpec layer for #311 . Since London looks reasonable, opt it into the screenshot tests
2020-09-04 10:01:06 -07:00
Dustin Carlino
f610c66572
Remove the weird shifting/angle inversions from DrivingSide. First step
...
of #311 . Tested to not break righthand maps.
2020-09-04 10:01:06 -07:00
Dustin Carlino
787b6046b6
Remove the RAM measurement utility. Only work on Linux, I'm not convinced it's correct, and the information isn't useful to see
2020-09-03 17:19:40 -07:00
Dustin Carlino
574bf99e17
WIP
2020-09-03 16:36:47 -07:00
Dustin Carlino
fbd3a603dc
Dodge a traffic signal rendering crash encountered near Trafalgar Square
2020-09-03 16:12:52 -07:00
Dustin Carlino
4576e9c1d0
Start importing a tiny slice of London, to start working on left-hand driving again
2020-09-03 16:09:17 -07:00
Dustin Carlino
74aca40c0c
Mechanicallyish rename TurnGroup -> Movement for #197 , as decided in ( #306 )
...
https://github.com/dabreegster/abstreet/pull/302#discussion_r479571931
2020-08-29 15:18:54 -07:00
Michael Kirk
f58b60d7f1
timewarp restores last picked halt_limit ( #305 )
2020-08-28 17:20:50 -07:00
Dustin Carlino
a36ef99c06
Rename Phase -> Stage, to be more in line with standard traffic signal ( #302 )
...
controller terminology. Part of #197 .
Holding off on touching PhaseType and all of the serialized
seattle_traffic_signals format, since this will all change in Kyle's PR
anyway.
2020-08-28 17:19:23 -07:00
Michael Kirk
b861bec515
avoid jiggle in warp screen ( #303 )
2020-08-28 16:45:45 -07:00
Dustin Carlino
00840f1bbc
Now that @michaelkirk figured out how to preserve space, use it in a few more places in the UI. There are a few remaining places in the tutorial that use "- ", but I think the bullet point style is reasonable there. Maybe a Unicode dot would look better.
2020-08-28 16:35:10 -07:00
Michael Kirk
db5b1622ad
preserve whitespace ( #304 )
...
* maintain whitespace in text (except trailing)
Note, until https://github.com/RazrFalcon/resvg/issues/317 is addressed,
trailing space does not affect the size of the text bounding box.
* remove space-holders now that spacing is preserved
2020-08-28 16:26:00 -07:00
Michael Kirk
b67701c414
show sim time and speed ( #301 )
2020-08-28 14:37:40 -07:00
Michael Kirk
e5620aeb10
configurable "jump to delay"
2020-08-28 13:20:05 -07:00
Dustin Carlino
696c6c6d9e
Fix crash in edit mode
2020-08-27 19:38:54 -07:00
Dustin Carlino
de6a12e472
After much deliberation, rename Composite -> Panel ( #253 )
2020-08-27 12:12:44 -07:00
Dustin Carlino
2935d2379b
Mechanical rename of ezgui -> widgetry, a much better name to enchant the Rust community. #253 [rebuild]
2020-08-27 10:37:04 -07:00
Dustin Carlino
57b5791f1f
Refactor a helper to produce EditCmd::ChangeRoad. Looked at doing the
...
same for ChangeIntersection, but not sure it's worth it.
2020-08-27 10:25:18 -07:00
Dustin Carlino
e283b8944a
Restore the ability to see individually changed lanes. Give up on the
...
"revert" button for lanes; it was always kind of confusing.
2020-08-27 09:36:00 -07:00
Dustin Carlino
1c98dd55b7
Simplify original_roads by recomputing from OSM data
2020-08-27 09:36:00 -07:00
Dustin Carlino
b6ab06d51a
Remove the old EditCmds. Realizing the new ChangeRoad does have some
...
gaps with detecting changes to individual lanes in the UI, though...
2020-08-27 09:36:00 -07:00
Dustin Carlino
30bfe93b5c
Produce the new EditCmd::ChangeRoad in the UI. Tested the scenario that
...
caused #113 (change lane types, reverse some lane, save edits, load from
scratch) -- now it works!
2020-08-27 09:36:00 -07:00
Dustin Carlino
aacb17297d
Introduce a consolidated EditCmd::ChangeRoad. Unused so far, and not
...
handling backwards compatibility yet. One step towards fixing #113 and
2020-08-27 09:36:00 -07:00
Dustin Carlino
59b14426bb
Improve shared left turn lane markings and reorg some docs
2020-08-26 12:35:29 -07:00
Dustin Carlino
8b7ad86647
Regularly import Tel Aviv!
2020-08-26 10:25:45 -07:00
Dustin Carlino
8c1686c25f
Add a tool to screenshot all of the maps currently under diff testing. This tiny bit of automation saves me some manual labor.
2020-08-26 09:41:03 -07:00
Dustin Carlino
95c43f8e1c
Finally replace the underlying storage in Road
2020-08-25 12:08:54 -07:00
Dustin Carlino
376cf1292a
And more. Now all the deprecated stuff is locked down to map_model, and
...
it's pretty much related to map construction and edits
2020-08-25 12:08:54 -07:00
Dustin Carlino
b6a4657dbb
Whittle down more deprecated Road stuff
2020-08-25 12:08:54 -07:00
Dustin Carlino
aa3bd5073b
Make some new methods on Road to handle child lanes from left-to-right,
...
not split by direction. Update many callers, and lock down the
visibility of the old methods.
Tested a few maps manually to make sure there's no behavioral diff. Only
problem right now is the z-order of adjacent lanes covering up half of
the white stripe sometimes. Have some ideas to fix that later, and not
_super_ important in the meantime.
2020-08-25 12:08:54 -07:00
Dustin Carlino
4005adecf8
Refactor: create a Direction enum, in preparation for two-way cycletracks on one side of a road.
2020-08-24 13:30:13 -07:00
Dustin Carlino
b41b52d7bd
fix crash in debug mode when opening info panels
2020-08-24 09:01:27 -07:00
Dustin Carlino
6b7747c37a
Overhaul lane markings:
...
- Cut off the one-way markings before the end of the road, to stop stomping over turn markings
- Draw turn arrows to every road, not each lane
- Only draw turn arrows when a lane is restricted from going to some
outbound lane. At most intersections, all turns are legal, so don't draw
anything.
[rebuild]
2020-08-23 12:00:25 -07:00
Dustin Carlino
0fd40bd04e
Explicitly mark buildings with private off-street parking from OSM. 2ebf463635
added parking icons to all buildings with > 10 spots, but this makes the downtown map look ridiculous. The intention was to show the tagged buildings, so just go do that.
2020-08-23 11:09:00 -07:00
Dustin Carlino
6250cb8393
Be more specific about access restrictions in info panel. For capped roads, print the value and current counter.
2020-08-23 09:41:12 -07:00
Dustin Carlino
ca8af784c7
Add an explicit version number to the edits schema
2020-08-23 09:22:41 -07:00
Dustin Carlino
83c0a31e62
show roads with changed access restrictions in edits layer
2020-08-22 20:27:04 -07:00
Dustin Carlino
66151e8aa4
Dump route goldenfiles during the smoke-test, so that it's run when all
...
data is regenerated. (Ideally screenshots would also be automated, but
that's a little trickier.)
_NOW_ regenerate all data! The only diff anywhere is the binary map
format, so there's confidence the last few commits haven't changed
anything.
2020-08-22 10:53:05 -07:00
Dustin Carlino
11832aa606
Record throughput through a traffic signal by direction, expose through
...
the API (#245 ), and beef up the Python example.
Impact to prebaked file size is tiny -- for lakeslice, the original
intersection_thruput is 2MB and the new traffic_signal_thruput is 435KB.
[rebuild]
2020-08-22 09:13:16 -07:00
Dustin Carlino
5b2a548c93
When regenerating all map data, make sure proposals still work. Lo and
...
behold, I've broken two of them by updating OSM!
2020-08-21 15:49:28 -07:00
Dustin Carlino
ad423b22e9
Remove the glium backend, now that @michaelkirk has gotten the glow native/wasm backends ship-shape. Got rid of the glutin fallback behavior for now; need to ideally upstream something there for #103
2020-08-20 16:59:54 -07:00
Dustin Carlino
fa83554eb4
Consolidate code for loading edits from JSON
2020-08-20 16:33:08 -07:00
Dustin Carlino
084b9d74cd
Store delay for traffic signals per direction of travel, using a compressed representation of turn groups. No substantial increase in prebaked file size.
2020-08-20 16:21:52 -07:00
Dustin Carlino
14c66c5528
A humble start to a Percent type for #274 . There are so many places to
...
use it; just start a few in ezgui. Also a good time to object to the API
so far.
2020-08-20 11:01:59 -07:00
Dustin Carlino
2c5bbd3e7e
Use alternate language building names and amenities, when available. Fixes #271 .
...
Tested in Shinjuku. No substantial file size increase for any maps.
2020-08-20 10:39:28 -07:00
Dustin Carlino
f31c4ec7fb
New tool to union two scenarios. One use case is manually defining some
...
new trips, then seeing the impact they'll have on the normal weekday
scenario. So how much externality would be caused by a bunch of new
trips if some building is built?
Demo showing the whole flow: https://youtu.be/adpED0KGQ7Q . Why do those
few trips at the beginning impact some later trips so much? Who knows.
Likely parking spots get gobbled up.
2020-08-19 17:49:39 -07:00
Dustin Carlino
24a8d4a836
Prepare to support capping the number of vehicles that can pass through
...
a zone per hour. This is part of support for some kind of congestion
charging experiments. This step just rearranges the data to define the
cap and makes a UI to edit it. Not enforcing the cap yet.
2020-08-19 17:46:40 -07:00
Dustin Carlino
2ebf463635
Handle buildings tagged as parking garages in OSM.
2020-08-19 17:19:54 -07:00
Dustin Carlino
d427893843
Model parking lots with extra un-renderable spots. This fixes #150 , lots
...
without aisles, and #265 , multi-story garages.
2020-08-19 17:19:54 -07:00
Dustin Carlino
71ab485022
Attempt curved road labels for #173 . Two issues left before enabling it:
...
- Need to draw a background underneath the curved text
- Sometimes the text is "upside-down" relative to what's expected; we
should be able to reverse the polyline sometimes to deal with that. But
when?
2020-08-19 13:43:36 -07:00
Dustin Carlino
8f258b33a6
Add dev-mode buttons to open OSM objects for buildings and parking lots too. Noticed they were missing while working on #271
2020-08-19 11:43:27 -07:00
Dustin Carlino
6749edb2b6
Change language of roads via settings, for #271
2020-08-18 17:32:49 -07:00
Dustin Carlino
9a350b7568
Regularly import Xi'an
2020-08-17 19:37:34 -07:00
Dustin Carlino
b75867f0c2
Implement Yuwen's interactive signal demand UI, fixing #277
2020-08-17 15:31:36 -07:00
Dustin Carlino
7d460f27c8
squish_polygons_together infinite loops sometimes. until a proper fix, just limit it to 100 relaxations
2020-08-16 08:36:00 -07:00
Dustin Carlino
a6520b26c0
Omit trip timeline buttons to jump to the beginning/end of a trip in freeform mode. When you reset there, the sim is empty; there's no scenario. So it'll just crash, because the person doesn't exist.
2020-08-15 11:14:13 -07:00
Dustin Carlino
a70131b629
While hovering on turn icons in map-space, highlight the intersection and offset in the side panel to help orient. Little laggy, but worth it...
2020-08-15 11:04:22 -07:00
Dustin Carlino
3623296548
Improve rendering of multiple traffic signals in the side-bar by
...
"compressing" empty space between intersections. The result is a little
unexpected sometimes, but it's an improvement over the previous thing.
@michaelkirk suggested a variation in Slack that I'll try soon.
2020-08-15 10:40:15 -07:00
Dustin Carlino
100d126d62
Also lazily render road center-lines. London from 42s down to 32s
2020-08-14 20:57:46 -07:00
Dustin Carlino
49ea9f2d54
Faster London:
...
- wire up the flag to skip building contraction hierarchies in one-shot
importer. 406s to import london without, 230s by skipping CH
- lazily render zoomed parking lot details. 72s and laggy X11 mouse
before, 42s and no GPU melting after
- add my script for stress-testing the importer
2020-08-14 20:50:22 -07:00
Dustin Carlino
5bede4aca2
Start some initial UI for tuning offset of multiple intersections
2020-08-14 20:50:13 -07:00
Dustin Carlino
3f86af0dc0
Add back some primitive control for signal offset at a single
...
intersection. Interpret the value in the simulation layer again (it was
removed around bb3da1f8eb
or so due to
being unused).
2020-08-14 20:50:13 -07:00
Dustin Carlino
e6c1d960ec
In traffic=none mode, allow recording (most of) the manually specified
...
trips as a Scenario to later re-run. This is useful for quickly defining
"test cases" for development, and it's a start to a UI for letting
players specify (and eventually share) traffic patterns they define.
2020-08-14 18:53:39 -07:00
Dustin Carlino
377e154a1c
Refactor the Transition enum, collapsing enum variants that were
...
combining primitive transitions into sequences.
Brief context on the state/transition system: The game crate is
organized as a stack of states, with the topmost one being active.
Transitions manipulate this stack. For example, the stack might look
like: [main menu, sandbox mode, edit mode, traffic signal editor, signal
picker]
2020-08-14 14:38:50 -07:00
Dustin Carlino
b8e9155ada
Adjust picker UI
2020-08-13 15:12:03 -07:00
Dustin Carlino
340d61d33e
Refactor how signal editor applies a single new change
2020-08-13 15:12:03 -07:00
Dustin Carlino
92a7279a44
Just warn when lining up phases for multiple signals. Not sure what the
...
UX should look like for undoing the synchronization.
2020-08-13 15:12:03 -07:00
Dustin Carlino
06c7beb369
Proper UI for picking multiple traffic signals to edit together
2020-08-13 15:12:03 -07:00
Dustin Carlino
d7eb07502b
Reorganize signal editor code into some submodules
2020-08-13 15:12:03 -07:00
Dustin Carlino
91f0076d35
Remove the old TrafficSignalEditor, cut over to the new variant for both individual and multiple signals
2020-08-13 15:12:03 -07:00
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
Dustin Carlino
9757750bfa
gather penalties based on sim state too. #217
2020-07-23 10:58:25 -07:00
Dustin Carlino
23a1b1a397
calculate and visualize penalties for turns that cut over lots of lanes. a step towards #217
2020-07-23 10:20:16 -07:00
Dustin Carlino
328cbcd1f1
stop melting my laptop when generating scenarios
2020-07-23 09:15:25 -07:00
Dustin Carlino
f1ef02b907
store Tags in map_model objects, to reap its benefits anywhere in the codebase. serialization format doesnt change!
2020-07-23 07:43:50 -07:00
Dustin Carlino
61837f93ba
improve debug warp tool. closes #222
2020-07-22 12:05:05 -07:00
Dustin Carlino
e10be9019e
dont crash when one route has two stops with the same name. fix #218
2020-07-22 11:44:48 -07:00
Dustin Carlino
38b8557c82
bring in living streets from OSM, interpreting them as normal roads with
...
access restrictions. makes old town in krakow look much better and
brings in stay healthy streets in seattle. also commit some code related
to footways that isn't exercised yet.
2020-07-21 17:18:56 -07:00
Dustin Carlino
bbe06c6075
randomly distribute residents to buildings in the planning area for #119
2020-07-21 14:00:59 -07:00
Dustin Carlino
94935f7ae8
radically simpler vehicle turn creation:
...
- just generate every combo of turns from incoming->outgoing
- stop doing all of the weird bike->bike restrictions. that gets handled
anyway in later layers like pathfinding costs, opportunistic LCing,
and picking valid starting lanes
- rely on OSM for filtering out left/right turns from multiple lanes
- why was it useful at all to distinguish Straight from LCing turns?
scrap that
has the effect of eliminating a class of bugs where a driving lane is
sandwiched between lots of bus lanes and wasn't winding up with an
in/outbound turn
2020-07-21 13:04:34 -07:00
Dustin Carlino
636c2838a3
experiment with fan charts for intersection delay. they... need work.
2020-07-21 10:10:42 -07:00
Dustin Carlino
a299120090
expose boarding/alighting stats
2020-07-21 09:11:08 -07:00
Dustin Carlino
435b4ce8fb
track passengers boarding/alighting. further rearrange stop/bus/route
...
info panels
2020-07-21 08:55:07 -07:00
Dustin Carlino
4d84fdf59c
start an info panel for an entire route
2020-07-21 08:15:07 -07:00
Dustin Carlino
1ae29881ba
i forgot that there was an isochrone experiment. plug it up to contours.
2020-07-21 07:23:33 -07:00
Dustin Carlino
a65107145f
turn heatmaps into nice polygon contours
2020-07-20 17:03:32 -07:00
Dustin Carlino
db0b851659
use toggles instead of checkboxes in a few places
2020-07-20 15:02:05 -07:00
Michael Kirk
783f91ae0c
Commuter Patterns: to/from icon overlays current block ( #214 )
...
* Commuter Patterns: to/from icon overlays current block
Also, masks the current block
* Code Review: code structure, no behavior change
2020-07-20 14:40:09 -07:00
Dustin Carlino
f91a73e12a
tighten up polygon_with_holes API
2020-07-20 09:41:47 -07:00