Dustin Carlino
05622760fc
Fix crash when opening the tutorial when the wrong map is previously opened.
2021-02-19 10:15:48 -08:00
Dustin Carlino
2d182a4582
Fix crash in commuter viz layer. The block-finding algorithm was written before pedestrian-only roads.
2021-02-17 12:00:13 -08:00
Dustin Carlino
4de7cb68c0
Start actdev mode with the baseline scenario, if it exists. Improve the follow shortcut. cyipt/actdev#66
2021-02-16 17:58:20 -08:00
Dustin Carlino
12d73e10bc
Add a few shortcut buttons to the actdev UI. cyipt/actdev#66
2021-02-16 17:34:56 -08:00
Dustin Carlino
3f23a3c57c
Remove hotkey buttons entirely, to get closer to Yuwen's button spec.
2021-02-15 13:02:29 -08:00
Dustin Carlino
bc2767b89e
Refactor lots of places that construct paths to the data/input dir, which is always organized by city. This would've made the previous change way easier. #326
2021-02-13 18:30:01 -08:00
Dustin Carlino
52ca5f5ede
Fix lakeslice gridlock with a manual signal policy at 23rd/Rainier.
2021-02-13 17:44:34 -08:00
Dustin Carlino
0f1c30a889
Exclude collisions.bin from KML viewer; it's not KML anymore.
...
And fix a crash on the challenges screen by not considering the actions
of inactive buttons to count as duplicates.
2021-02-13 17:06:06 -08:00
Dustin Carlino
39f5d50fcd
The grand country split. #326
...
City names are now disambiguated by a two-letter country code. This
commit handles almost everything needed to make this transition. Main
next steps are fixing up map edits automatically and making the city
picker UI understand the extra level of hierarchy.
A little bit of fallout: lakeslice gridlocks again; this regression is
actually from the recent traffic signal changes, but I'm just now
regenerating everything. Will fix soon.
2021-02-13 15:45:59 -08:00
Dustin Carlino
a938b9c1e2
Move building procgen to a standalone tool.
2021-02-12 16:28:15 -08:00
Dustin Carlino
c43af59004
Change the building procgen algorithm to just use the Map, now DrawMap. Preparing to move it into the import phase, where we won't be able to generate the DrawMap.
2021-02-12 16:06:49 -08:00
Dustin Carlino
8d0718d37d
On the web, modify the current URL as we change maps and scenarios. ( #509 )
2021-02-12 15:14:09 -08:00
Dustin Carlino
03538faf3f
A few traffic signal cleanups: ( #512 )
...
- Stop alerting when slow pedestrians can't make it through the minimum
crosswalk time
- Simpler iteration style in lagging_green.rs
- Totally delete the old brute force signal config code; it never worked
well, and the improved heuristics eliminate the need for it anyway
- Make a Duration::max function and use it in one case
2021-02-12 15:10:32 -08:00
Dustin Carlino
aacc0fa4d5
Fix a crash that happens when you load edits that transformed a stop
...
sign into a traffic signal.
And fix a few cargo fmt issues
2021-02-12 13:47:10 -08:00
Dustin Carlino
46caf98779
When selecting pedestrians or bicycles, pick the one closer to the cursor.
2021-02-11 15:09:58 -08:00
Dustin Carlino
4c1d610e4f
Restore screenshots for Great Kneighton
2021-02-11 15:09:06 -08:00
Dustin Carlino
fd73166292
Prep to import actdev again, and fix build break in game/src/lib
2021-02-11 14:35:32 -08:00
Dustin Carlino
21573e09f1
Delete all of the actdev maps. I'm going to do this over again and just
...
use the site name as the city, instead of picking the "closest" major
city. This is introducing too much friction in automation.
cyipt/actdev#65
There will be a few awkward results -- cambridge gets renamed, and lcid
gets disassociated from leeds. Worth it for now.
2021-02-11 14:27:28 -08:00
Dustin Carlino
e333838560
If you start with --dev and wind up on an empty map, time starts at 6am. When you load another empty map, do the same and jump to daytime.
...
There is a little inconsistency still: say you're simulating a scenario
(starting at midnight). If you change the scenario to none, it'll stay
night, but if you then change maps, it'll jump to day.
2021-02-10 14:10:42 -08:00
Dustin Carlino
a5091a4f18
Clean up unused ctx param from SandboxMode::async_new and simple_new
2021-02-10 14:03:06 -08:00
Dustin Carlino
789b300963
Add an about button to the blog gameplay mode. cyipt/actdev#66
2021-02-10 10:48:52 -08:00
Dustin Carlino
b38b7da8bb
Add a 'blog' gameplay mode, which disables going back to the title screen, switching maps, etc. cyipt/actdev#66
2021-02-10 09:52:26 -08:00
Dustin Carlino
7c0bac236a
Bring in study areas for all actdev sites. Automatically show them when launching in actdev mode. cyipt/actdev#65
2021-02-10 08:35:08 -08:00
Dustin Carlino
3b893302ed
Support fractional zoom levels in --cam, like 16.35/51.607943/-1.261117
2021-02-09 19:41:35 -08:00
Dustin Carlino
a6fc030db4
Add a CLI flag 'router' to map actdev site name to the map name. For https://github.com/cyipt/actdev/issues/28
2021-02-09 16:14:34 -08:00
Dustin Carlino
1b1a4e99c7
Adjust procedurally generated building setback. Generate for most of the suburban actdev maps. https://github.com/cyipt/actdev/issues/65
2021-02-09 16:04:40 -08:00
Dustin Carlino
da76c306ea
Apply an initial camera zoom when passing the --cam param. For ( #503 )
...
https://github.com/cyipt/actdev/issues/44
2021-02-08 18:12:58 -08:00
Michael Kirk
4b665c871d
update geo related deps. ( #508 )
...
geo-types to 0.7
geo to 0.17 which removes redundant old geo used by polylabel
geojson to 0.22
2021-02-08 16:34:56 -08:00
Dustin Carlino
4235d9f994
When importing maps, optionally add in extra buildings from a GeoJSON
...
source to augment the ones in OSM. For
https://github.com/cyipt/actdev/issues/53 -- sometimes the buildings
just haven't been mapped in OSM yet, other times the buildings are part
of a future development site. In either case, we can procedurally
generate some houses, so this is a way to include them in the map.
Start doing this for Chapelford. But first, adjust the generated house
sizes -- they were WAY too tiny.
Also prep for [rebuild] [release]
2021-02-07 13:56:26 -08:00
Dustin Carlino
06ab55da00
Prune auto-placed buildings that overlap each other. https://github.com/cyipt/actdev/issues/53
...
And write the result as geojson. This process could become a map
importer phase, but I like checking the intermediate results, and it's
not clear yet how often we'd be using this.
2021-02-07 11:50:30 -08:00
Dustin Carlino
c847207bb8
Prune auto-placed buildings that wind up on top of existing parts of the
...
map. https://github.com/cyipt/actdev/issues/53
2021-02-07 11:29:02 -08:00
Dustin Carlino
29fb271afc
Automatically generate houses along empty residential roads, for https://github.com/cyipt/actdev/issues/53 . Still need to prune out houses that hit existing map features, and save the output.
2021-02-07 10:55:16 -08:00
Michael Kirk
3449d49b6d
WebGL 1.0 support, with automatic fallback for Safari/iOS ( #504 )
...
#506
2021-02-06 19:04:43 -08:00
Michael Kirk
3a5e63aaff
More helpful loading screen ( #496 )
2021-02-04 10:35:31 -08:00
Dustin Carlino
73e405e382
Upgrade most dependencies
2021-02-03 18:13:06 -08:00
Dustin Carlino
7855d26a6a
Different color scale for showing less/more path counts. #237
2021-02-03 11:59:41 -08:00
Dustin Carlino
ba2500c131
Create the path cost tuner. #237 , #494
...
This lets you live-tune routing parameters, then see how it affects the
total number of routes that cross every road, relative to the baseline
of the original parameters. We can also use it in the future to do the
same thing, comparing before/after some map edits.
2021-02-03 11:34:15 -08:00
Dustin Carlino
1ac62caa96
Use the new button API in the lane editor to more cleanly handle disabled buttons.
2021-02-03 10:03:26 -08:00
Dustin Carlino
32bcfbe738
Plumb in the tuned routing params. When they're not the defaults, automatically fallback from CH to Dijkstra's. #494
2021-02-02 15:20:06 -08:00
Dustin Carlino
eebe7a098a
Start a UI with some sliders for tuning existing params of route cost functions. No effect yet. #494
2021-02-02 14:39:39 -08:00
Dustin Carlino
35f2beaa76
Start a new debug tool to explore how different routing cost functions work. #494
...
It's just a stripped down version of AgentSpawner right now.
2021-02-02 13:53:46 -08:00
Dustin Carlino
02b90741d6
Draw 'STOP' on stop signs. Fixes #450 ( #492 )
2021-02-01 16:47:53 -08:00
Michael Kirk
38dc60fbea
Add method to GeomBatch to prefer cached flavor of loading svg. ( #493 )
...
It was my intention when introducing the cached vs uncached flavors that
we'd prefer the cached flavor for anything referencing bytes from a
file, like icons and UI glyphs, and that we'd only use the uncached
flavor for dynamic things like "face" generation.
2021-02-01 16:24:56 -08:00
Dustin Carlino
8a856d6608
Include transit riders in /data/get-agent-positions. #392
2021-02-01 12:27:55 -08:00
Dustin Carlino
71bd7a37fc
Start in the daytime when starting on an empty map. ( #486 )
2021-02-01 11:10:30 -08:00
Dustin Carlino
ba5ea18101
Filter throughput layer by mode. #456
2021-02-01 11:02:10 -08:00
Dustin Carlino
3e40686a6b
Fix a bunch of links after the repository renaming.
2021-01-31 15:50:48 -08:00
Dustin Carlino
8f0c027bb0
Fix critical bug causing a crash only in the .zip releases, where widgetry icons aren't present relative to the data/ directory.
2021-01-30 14:20:28 -08:00
Dustin Carlino
d2a1b27ba2
Add a new CLI flag / query param to initially center the map somewhere, using OSM's <zoom level>/<latitude>/<longitude> format. cyipt/actdev#44
...
Not handling zoom yet, but centering on a point works so far.
Example for montlake map: --cam=18/47.63234/-122.30656
2021-01-27 14:29:23 -08:00
Dustin Carlino
44e1f6a578
Slightly less awful building people info panel: Two-column table of person ID and departure time
2021-01-27 13:45:09 -08:00
Dustin Carlino
4cb306a184
Count the number of people with a car or bike per building. cyipt/actdev#44
2021-01-27 13:41:53 -08:00
Dustin Carlino
341ce834e3
Based on startup params, display an extra 'study area' on the map. cyipt/actdev#44
2021-01-27 13:00:48 -08:00
Dustin Carlino
172f258ce3
When navigating stages in the signal editor by keyboard, include the header when autoscrolling.
2021-01-27 09:10:16 -08:00
Dustin Carlino
e306a48994
Fix prev/next buttons on the trip table; the keybindings got inverted during the refactor.
2021-01-27 08:57:47 -08:00
Dustin Carlino
9d751afc24
Increase the amount of offstreet parking in Rainier Valley. #446
...
At long last, we have the 3rd Seattle map that finishes without
gridlock! Hoping to use it for this case study on signal timing
maximums...
2021-01-26 18:15:34 -08:00
Dustin Carlino
b11ebad635
Improve icon scaling in person info panels.
2021-01-26 13:48:56 -08:00
Dustin Carlino
f80cf201a8
Document that starting the web client with a scenario works. I'm almost
...
kind of disappointed that I didn't get to implement this.
2021-01-26 13:05:39 -08:00
Dustin Carlino
f69335edf0
Let individual maps override the street parking length. #457
...
Now regenerate all map data, because the schema changed. Also had to
revert part of the last commit to unbreak transit route snapping in
Berlin.
2021-01-25 12:36:49 -08:00
Michael Kirk
07738d2cef
popup and persistent split to spec ( #480 )
...
* introduce "pill" to be explicit about fully rounded, vs a "None" radius
* no-op transition to CornerRadii
* popup button to spec
* restore "fully rounded" layout behavior
* use plain light to better show highlight
* persistent split to spec (for day theme anyway)
* remove night-theme colors for speed panel
* fixup docs for pill
* CR: remove unnecessary `row`
* CR: remove outdated doc
* import order
2021-01-24 15:32:28 -08:00
Dustin Carlino
9aa18a35e6
rename color scheme to be more clear with day/night mode [rebuild] [release]
2021-01-24 14:19:30 -08:00
Dustin Carlino
ab801b8ae1
Vertically line up the header for layer panels.
2021-01-24 13:23:30 -08:00
Dustin Carlino
7d8c818eea
Remove the last traces of the old orange hovering color.
2021-01-24 13:09:37 -08:00
Michael Kirk
7d6edbb58c
use "disabled" rather than draw_svg_transform
2021-01-24 10:34:29 -08:00
Dustin Carlino
bd9c44d18d
Enable the day/night color switch by default! Ensure we're in day mode
...
for devtools and taking screenshots.
2021-01-23 17:09:57 -08:00
Dustin Carlino
f93a30ea04
Recreate panels whenever the color scheme changes, whether that happens from fiddling with settings or the day/night toggle happening.
2021-01-23 16:35:09 -08:00
Michael Kirk
1a3d1b4cdb
reconcile new button styles w/ dark theme ( #475 )
2021-01-22 21:21:38 -08:00
Dustin Carlino
4446d99fad
Merge branch 'mkirk/btn-fix' of https://github.com/michaelkirk/abstreet into michaelkirk-mkirk/btn-fix
2021-01-22 21:13:13 -08:00
Michael Kirk
3855f284b8
Fix hotkey conflict
...
Even though we *usually* want these hotkeys for next/prev, sometimes we
don't, and the damage of forgetting to add them to a new pager is less
than the damage done if we forget to remove them and clobber something
important like the speedup/slowdown controls.
2021-01-22 15:31:33 -06:00
Michael Kirk
87fe16b6ad
use proper button in pager
...
broken in the recent button overhaul
2021-01-22 15:30:42 -06:00
Michael Kirk
1990642dee
More conventional button names
...
This was all done by search/replace, and should not affect
functionality.
Goals:
- be consistent with the figma terminology.
- consistently order:
"btn_{solid|outline|plain}_{dark|light}_{text|image|dropdown|back|etc}"
2021-01-22 13:11:42 -06:00
Michael Kirk
1325c115a1
cache SVG's when reasonable. Clarify when they aren't cached.
2021-01-22 09:54:50 -06:00
Michael Kirk
4e48de6185
compile in asset bytes for widgetry assets
2021-01-22 09:54:50 -06:00
Michael Kirk
7bc9145ce9
bake-in widgetry assets: image_path -> image_source::{Path, Bytes}
2021-01-22 09:54:50 -06:00
Dustin Carlino
2505d64e8b
Always use ctx.style() to construct buttons. Remove the indirection through app's colorscheme.
2021-01-22 07:45:05 -08:00
Michael Kirk
ca93d438db
fixup tabs
2021-01-22 07:44:46 -08:00
Dustin Carlino
c9c6f240ae
Remove timer.{note, warn, error} in favor of the log crate. #262
...
Originally, the intention of the deleted calls was to not interrupt
Timer progress bars with warnings. But the output of things like the
importer is impossible to read anyway. Strongly considering explicitly
sending logs and timing info to separate places and using something like
multitail for live progress.
Unplumb timer from LOADS of places that just needed it for logging.
2021-01-21 19:22:02 -08:00
Dustin Carlino
dc19d11f64
Make the file management menu in edit mode occupy the center of the screen.
2021-01-21 15:36:21 -08:00
Michael Kirk
02e3235de2
adapt tabs to new button designs
2021-01-21 15:25:46 -08:00
Michael Kirk
2b8511251a
fix scaling: replace remaining buttons with baked-in-text
2021-01-21 15:25:46 -08:00
Michael Kirk
90b6da7265
apply new delete icon, fix button spacing in signal editor
2021-01-21 15:25:46 -08:00
Michael Kirk
600d91896e
remove redundant edit.svg, use pencil.svg
2021-01-21 15:25:46 -08:00
Michael Kirk
116edc5423
Fix missized lane editing tools
2021-01-21 15:25:46 -08:00
Michael Kirk
6920d324f7
v-align alert
2021-01-21 15:25:46 -08:00
Michael Kirk
4454b4a50f
capture "disabled" pattern
2021-01-21 15:25:46 -08:00
Michael Kirk
4989887117
remove final references to Btn
2021-01-21 15:25:46 -08:00
Michael Kirk
542600da2f
Replace Btn::fg_text.inactive
2021-01-21 15:25:46 -08:00
Michael Kirk
2b8e77de9f
manual replace of remaining hotkey Btn::text_fg
2021-01-21 15:25:46 -08:00
Michael Kirk
0cf49d2fc6
proper color for "Trash" (delete) buttons
2021-01-21 15:25:46 -08:00
Michael Kirk
1f75145a8a
introduce btn_next/btn_prev, parameterize disabled
to simplify common usage
2021-01-21 15:25:46 -08:00
Michael Kirk
b924d40daa
regex update Btn::text_fg simple hotkeys, inline &str
2021-01-21 15:25:46 -08:00
Michael Kirk
a2c5ce0fb3
regex upgrade Btn::text_fg: No hotkeys, inline &str
...
Btn\:\:text_fg\("([^"]*)"\).build_def\(ctx, None\)
ctx.style().btn_secondary_light_text("$1").build_def(ctx)
2021-01-21 15:25:46 -08:00
Michael Kirk
bfb190a730
manually update remaining Btn::text_bg2
2021-01-21 15:25:46 -08:00
Michael Kirk
a5b6dca62a
replace Btn::text_bg2 w/ regex
...
In case I have to revisit, here's the regex I used:
Btn::text_bg2\(([^)]*)\)*.build_def\(ctx, ([^()]*)\)
ctx.style().btn_primary_dark_text($1).hotkey($2).build_def(ctx)
And something like this for the "no hotkey" case
Btn::text_bg2\(([^)]*)\)*.build_def\(ctx, None\)
ctx.style().btn_primary_dark_text($1).build_def(ctx)
2021-01-21 15:25:46 -08:00
Michael Kirk
7270ff31af
use icon button for "jump to time"
2021-01-21 15:25:46 -08:00
Michael Kirk
652c35b220
replace Btn::text_bg
2021-01-21 15:25:46 -08:00
Michael Kirk
54e937408a
remove remaining Btn::plaintext
2021-01-21 15:25:46 -08:00
Michael Kirk
f382c08d55
replace text arrows with svg arrows for traffic signal editor
2021-01-21 15:25:46 -08:00
Michael Kirk
3febbf2f81
destructive primary for destructive action
2021-01-21 15:25:46 -08:00
Michael Kirk
0f476b6a36
pagination uses icon button
2021-01-21 15:25:46 -08:00
Michael Kirk
fc6c18e608
replace Btn::SVG
2021-01-21 15:25:46 -08:00
Michael Kirk
69e31029ac
replace Btn::svg_def
2021-01-21 15:25:46 -08:00
Michael Kirk
ea39fecf03
replace Btn::pop_up
2021-01-21 15:25:46 -08:00
Michael Kirk
0a612601ca
icon buttons should be same height as text buttons
2021-01-21 09:08:41 -08:00
Michael Kirk
c013c8d342
replace remaining Btn::custom
2021-01-21 09:08:41 -08:00
Michael Kirk
5b6c88d3b4
more button progress and fixups ( #465 )
...
* replace Btn::txt with new ButtonBuilder styles
* fixup! replace Btn::text_bg1 with ButtonBuilder (btn_primary_light)
2021-01-20 14:11:28 -08:00
Michael Kirk
11ffef5716
replace Btn::text_bg1 with ButtonBuilder (btn_primary_light)
2021-01-19 17:40:35 -08:00
Michael Kirk
e1ec69f9f7
Replace Btn::plaintext_custom with new ButtonBuilder
2021-01-19 17:40:35 -08:00
Michael Kirk
743b74510d
replace Btn::close with new style ( #463 )
2021-01-19 16:17:11 -08:00
Michael Kirk
d7445d889e
button revamp groundwork ( #459 )
2021-01-19 10:10:18 -08:00
Dustin Carlino
a6c61e4fae
Use Great Kneighton study area for Cambridge, not Trumpington. And bring
...
in Chapelford too. #449
2021-01-17 17:35:11 -08:00
Dustin Carlino
8928256909
Enable the scenario modifiers UI for all scenarios in sandbox mode, not just the Soundcast-based ones. No reason not to do this earlier; I originally was working on this tool for a specific purpose.
2021-01-14 09:28:28 -08:00
Dustin Carlino
e233012ee8
Use a full modal to select a scenario. During the button UI audit, we
...
realized a dropdown doesn't make sense. A larger panel gives room to
explain what the choices mean.
2021-01-14 09:05:44 -08:00
Robin Lovelace
4696134871
Change dropdown menu title, close #453
2021-01-14 08:23:57 -08:00
Dustin Carlino
38fa22d4b2
Include the importer in the release again -- I accidentally stopped
...
about a month ago and noticed in #452
2021-01-13 10:52:07 -08:00
Dustin Carlino
ff598f21a3
Add a new layer to star buildings. Autosave it. While trying out changes
...
for #446 in the UI, I kept losing track of the two buildings I'm
focusing on. A player-defined list of shortcuts seems generally helpful.
2021-01-12 19:22:50 -08:00
Dustin Carlino
f680de73aa
Remove London from screenshot testing, and use Cambridge instead. #449
...
This will make it easier to visually track the progress improving the
import. Originally London was added to have one left-hand driving map
under the test, but Cambridge works for that too, and it also includes
separate cycleways.
Also fix a crash when trying to draw very very tiny arrows.
2021-01-12 12:30:21 -08:00
Dustin Carlino
ddc49e14b4
Add a signal editor tool to adjust the timing to some approximation of https://nacto.org/publication/urban-street-design-guide/intersection-design-elements/traffic-signals/signal-cycle-lengths/ for #446
2021-01-11 17:16:01 -08:00
Dustin Carlino
9f72de9434
Fix initial camera loading for game, broken in b4e72debcf
. Booleans are hard.
2021-01-11 10:32:51 -08:00
Dustin Carlino
0542edc61e
Don't crash when a trip succeeds now, but not in the prebaked results. [rebuild] [release]
2021-01-10 12:13:02 -08:00
Dustin Carlino
b4e72debcf
Make the game crate also start by asynchronously loading any map, in the common case of starting with a map as an argument. #344
...
Now we can remove montlake.bin from the wasm also, bringing game down to
just 18MB!!!
2021-01-09 15:51:03 -08:00
Dustin Carlino
26f3726abd
gzip two large SVG character files to trims down wasm size more for #377 . game from 31MB to 24MB!
...
I didn't have to do anything to gunzip, because usvg is such a magical
crate that it already has flate2 support baked in.
2021-01-09 09:26:41 -08:00
Dustin Carlino
fea3ebbe5b
Change the city picker UI to show cities on the left. After clicking one, open up the overview for that city.
2021-01-08 15:51:22 -08:00
Dustin Carlino
b487678ee0
Delete all out-of-date manual overrides for traffic signals, and make it
...
a hard error when they become out-of-date going forward.
Better heuristics make some of these unnecessary. And now the the JSON
files are in this repo, updating files manually when pulling down new
OSM data becomes less tedious.
2021-01-07 12:24:07 -08:00
Dustin Carlino
65b2b581fa
Attempt to take many screenshots of one map at different zoom levels for Leaflet. Various bugs, but progress. #440
2021-01-06 16:33:53 -08:00
Dustin Carlino
92be9c57ed
Optionally tile screenshots at smaller dimensions than the window. #440
2021-01-06 10:52:22 -08:00
Dustin Carlino
4cf133cc32
Make the new screencaps preserve alpha properly by switching to
...
premultiplied alpha. See option 1 of
https://stackoverflow.com/a/24380226
Upload the "new" screenshots (and lakeslice map)!
2021-01-05 18:28:30 -08:00
Dustin Carlino
7f0cdace5a
Use OpenGL to take screenshots instead of scrot. Benefits:
...
- Simple -- one OpenGL call and feeding to the awesome image crate
- Faster -- seemingly don't need the sleep() for whatever vsync problems
- Portable -- doesn't use the Linux scrot tool
- I can switch windows and wiggle the cursor with impunity while this runs
One disadvantage: screencaps in S3 are now slightly larger PNGs, because
for some reason, the image/gif feature is super slow, even in release
mode.
For now, this makes the process of screenshot diffing map changes
easier. But it also might help with producing raster tiles for Leaflet. #440
Also, had to regenerate lakeslice because of the previous change --
it had an old adaptive signal baked in.
2021-01-05 14:58:31 -08:00
Dustin Carlino
6346302338
Remove the adaptive traffic signal experiment, now that Bruce's variable signals work. The adaptive case was added as a proof-of-concept, and its behavior is subsumed by the variable ones. Fixes #124
2021-01-05 13:06:44 -08:00
Dustin Carlino
802e020520
Import a SUMO network, transform it into an ABST map. So far, this gets
...
lanes and intersections displaying, but with lots of problems.
2021-01-05 12:44:38 -08:00
Dustin Carlino
e99def9124
Switch all error handling to anyhow. Nothing consumes our code as a
...
library yet, so this is a step forward from string errors. Manually
tested how errors show up (including the nice with_context bit).
2021-01-05 11:35:03 -08:00
Dustin Carlino
cd7dca87d7
Fix web build after rand upgrade. Unfortunately I think this has to happen in all of the binary crates individually: https://docs.rs/getrandom/0.2.1/getrandom/#indirect-dependencies
2021-01-05 11:12:03 -08:00
Dustin Carlino
bc3c3dfd6c
Rename phase -> stage in the JSON traffic signal format. Meant to do this a long time ago. #295
...
Make this schema change backwards compatible for player edits.
2021-01-04 11:18:17 -08:00
Dustin Carlino
dedb041bdb
Move CameraState to map_gui. Now widgetry has no dependency on abstio! #253
2021-01-04 10:39:15 -08:00
Dustin Carlino
bfa208ce6a
Parameterize widgetry on a way to read SVG files. This is one of the last steps to remove the dependency on abstio. #253
2021-01-04 09:53:24 -08:00
Dustin Carlino
d529ae2e5c
Upgrade usvg and rand
2021-01-04 09:19:54 -08:00
Dustin Carlino
965d999199
Upgrade misc other dependencies
2021-01-03 20:01:27 -08:00
Dustin Carlino
2945913fb3
Upgrade rand
2021-01-03 19:48:03 -08:00
Dustin Carlino
5c04923dff
Split abstio crate out from abstutil. #253
...
widgetry, geom, and abstutil may wind up on crates.io in some form to
let other projects use widgetry. abstio has A/B Street-specific tricks
for reading data on native/web. Note widgetry still depends on abstio,
will figure out how to clean that up next.
2021-01-02 10:28:00 -08:00
Dustin Carlino
795c6bebb1
When producing GeoJSON, represent Polygons that arent Rings (like from SVGs) as a MultiPolygon of every pre-calculated triangle. #440
2021-01-01 15:33:11 -08:00
Dustin Carlino
302ec94e3d
Try exporting the zoomed-in rendering of a map to geojson. #440
...
This approach has some manual effort and it's not capturing everything
yet, but it's a start.
2021-01-01 12:46:25 -08:00
Michael Kirk
acadad8bdf
fetch US census data from a hosted FlatGeoBuf ( #432 )
2020-12-31 16:20:32 -08:00
Dustin Carlino
9c63d9a181
Make a quick way of marking roads in the UI, dumping to a list, then
...
later overriding a .osm file with tags for these roads. This is a way to
test the effects of making simple OSM changes locally before
upstreaming.
Also handle repeated merging collapsing one of the roads. Not 100% what
happens here, but skipping the collapsed road works fine. The scary
Montlake intersections now look great with all the merging done, so
upstreaming the change! #114
2020-12-30 18:31:39 -08:00
Dustin Carlino
de4b026920
More turn restriction preservation... #114
2020-12-30 10:01:23 -08:00
Dustin Carlino
172dbf359c
Try merging intersections with concave hull instead. #114
2020-12-28 16:05:41 -08:00
Dustin Carlino
17665a3d18
Prototype a simple idea for calculating merged intersection geometry using the original attempted shapes. #114
2020-12-28 15:43:48 -08:00
Dustin Carlino
32a3159d19
Express AmenityType as a proper enum.
2020-12-28 12:18:29 -08:00
Dustin Carlino
001aa836d2
Organize assets that're baked into widgetry. They don't belong in the
...
data/ directory, because they're statically bundled; they're not
actually read from the filesystem. #253
Two SVGs get duplicated between widgetry and abst assets -- dont_walk
and arrow_drop_down.
2020-12-28 10:40:55 -08:00
Dustin Carlino
af5811c33c
Lift Cached to widgetry
2020-12-26 14:38:43 -08:00
Bruce
3be45b8221
Add a Variable phase ( #433 )
...
* Add a Variable phase
Variable provides a min duration, a delay duration, and an additional duration. The maximum cycle time is min + additional. Once min has been exhausted, if there is demand, the cycle is extended by delay until there isn't any demand or the additional duration has been consumed.
#295
2020-12-24 12:33:47 -08:00
Dustin Carlino
0a25d92e53
Include the intersection geometry in the shared-row export for 3D Street integration
2020-12-22 14:31:12 -08:00