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
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
a1988f269c
Based on importer config, try using separate cyclepaths directly. #330
...
Small adjustments to unzoomed rendering and stop sign placement.
Regenerate all maps because of the format change, but only Cambridge
changes. Since we're doing this anyway, also pull in leisure=garden.
2021-01-12 11:13:45 -08:00
Dustin Carlino
b4cee2d6f9
Start importing parts of Cambridge for https://github.com/cyipt/actdev/issues/26 .
...
I did
https://dabreegster.github.io/abstreet/howto/new_city.html#including-the-city-to-ab-street-more-permanently ,
using
https://github.com/cyipt/actdev/blob/main/data-small/study_area_trumpington-test.geojson
2021-01-11 14:23:52 -08:00
Dustin Carlino
5af0e7da24
new release
2021-01-10 12:20:23 -08:00
Dustin Carlino
b1dda3628f
Start all UI apps except for game by loading a map using the async interface. This lets someone on the web immediately start with any map based on URL params. And it's one step towards removing the montlake file from being hardcoded in the wasm. #344
...
Demo: http://0.0.0.0:8000/?salzburg/maps/south.bin when running the 15m
tool locally
2021-01-09 14:45:33 -08:00
Dustin Carlino
fa9565e22b
Stop bundling Seattle's city.bin file in wasm. Always load that file asynchronously from HTTP if needed. #344
...
This also happens to fix showing city overview maps in other regions.
2021-01-09 13:15:27 -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
afceb5e268
Adjust Leeds import: #444
...
- stretch central polygon a bit to avoid crash when clipping
https://www.openstreetmap.org/way/511767781
- rename polygons ("center" to "huge", and removing the "leeds_" prefix
from the others)
- generate a region overview from the huge map
- only import/match collision data on the huge map
2021-01-08 09:29:45 -08:00
Robin Lovelace
6af15c202c
Break-up Leeds, closing #444
2021-01-08 09:21:05 -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
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
53227b6ec6
new release (and finally add a little more automation for this step)
2021-01-03 12:23:47 -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
b7d025b6a6
Simplify DrawRoad a bit (center line and label in the same batch). Include it in GeoJSON export. #440
2021-01-01 15:18:01 -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
60e7c91d03
Handle one-way roads more uniformly in the traffic signal heuristics. #8
...
Previously, dual carriageways (pairs of one-way roads in opposite
directions) mostly didn't get any signal templates successfully applied.
This change ignores outbound-only roads when applying the templates. In
one fell swoop, lots of previously broken signals along places like
Aurora Ave suddenly work reasonably.
2020-12-30 15:28:17 -08:00
Dustin Carlino
df59b477a5
Start importing Bellevue. Treat it as a separate city from Seattle, and
...
don't even check if Soundcast data covers it yet.
Now regenerate all map data.
2020-12-30 13:21:59 -08:00
Dustin Carlino
9bc761f98e
Explicitly model U-turns. Sometimes they're legal, often they get
...
generated incorrectly, but regardless, calling them TurnType::Left is
just confusing.
For the moment, always filter out U-turns from merged intersections.
When connections across merged one-ways are handled properly, we won't
need this, but in the meantime, it moves forward. #114
Not regenerating just yet, but will bundle it with the next commit.
2020-12-30 11:11:20 -08:00
Dustin Carlino
cdd3407165
Prevent the minimap from crashing when windows are minimized on Windows
2020-12-30 09:44:40 -08:00
Dustin Carlino
32a3159d19
Express AmenityType as a proper enum.
2020-12-28 12:18:29 -08:00
Dustin Carlino
e4448eea1b
new release
2020-12-27 10:33:16 -08:00
Dustin Carlino
f8ac0fc96b
Remember the upzoned buildings, and add a button to clear the choices. #431
2020-12-26 20:10:17 -08:00
Dustin Carlino
af5811c33c
Lift Cached to widgetry
2020-12-26 14:38:43 -08:00
Dustin Carlino
3c27255479
15 min tool: Optionally don't allow walking on shoulders. #393
2020-12-24 15:52:00 -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
0fc0b8db65
Distinguish uncompressed/gzipped size in the updater tool. #377
2020-12-21 15:32:09 -08:00
Dustin Carlino
14fad05634
Link to patched Windows build that disables audio. #430
2020-12-21 13:34:38 -08:00
Dustin Carlino
f24a77e995
Disable audio on Windows, and clarify the game isn't for mobile. #430 [rebuild] [release]
2020-12-21 10:25:58 -08:00
Dustin Carlino
d0995f5b77
New release, with 15-minute Santa!
2020-12-21 08:03:06 -08:00
Dustin Carlino
677cf4f209
Merge the center panels into the ones on the right, which is especially helpful on high DPI screens.
2020-12-19 19:56:25 -08:00
Dustin Carlino
fdc1d4b8f9
Add a legend to the 15 min tool. #393
2020-12-19 15:39:35 -08:00
Dustin Carlino
799adbbdd4
Fix map loader on web. Remote paths wound up with an extra /, breaking
...
the deduping between remote and statically bundled files, which broke
one of the map loader panels with duplicate buttons.
2020-12-19 09:51:52 -08:00
Dustin Carlino
31426db26a
Label stores
2020-12-18 15:53:08 -08:00
Dustin Carlino
2823c04338
Finalization flurry...
...
- Tune colors in the experiment
- Regenerate maps again -- I forgot that the parcel data gets joined in
a later importer step.
- Add some of the new maps as levels
2020-12-18 14:24:45 -08:00
Dustin Carlino
ee0d73847e
Add more small Seattle maps for the experiment -- and who knows, maybe also useful for traffic sim
...
And unbreak the importer, cargo check doesn't build with features! Argh.
2020-12-18 11:00:15 -08:00
Dustin Carlino
16392a461f
Refactor: GeomBatch::load_svg directly takes EventCtx or GfxCtx. The prerender struct should ultimately not be exposed outside of widgetry.
2020-12-15 11:44:58 -08:00
Dustin Carlino
02dd3613cd
Refactor: Rename txt.render_to_batch to txt.render_autocropped, and make
...
it take EventCtx or GfxCtx
2020-12-15 11:35:40 -08:00
Dustin Carlino
271c1f5a4e
More clear upzoning UI
2020-12-15 10:49:36 -08:00
Dustin Carlino
5aecff3b9e
Regularly import Salzburg. #366
2020-12-15 06:02:06 -08:00
Dustin Carlino
58e705a489
new release
2020-12-13 19:06:48 -08:00
Dustin Carlino
aa5010f2d0
Import part of Manhattan. Need to adjust the boundary to fix water
...
polygons, but this is a start.
2020-12-09 16:15:08 -08:00
Dustin Carlino
3d361074ab
Draw traffic signals changing over time in the experiment
2020-12-08 09:05:06 -08:00
Dustin Carlino
c8a37a27a0
Create 3 new small maps of Seattle for the experiment. Notably, 2 of
...
them simulate fully with --infinite_parking, and SLU makes it to about
4pm, so these might have some other interesting use...
2020-12-07 20:58:04 -08:00
Dustin Carlino
a88fef0874
Update minimap style and other bits from Figma, better snowflakes
2020-12-07 16:42:41 -08:00
Dustin Carlino
86814f6867
Make A/B Street's minimap specialize the generic widget, instead of duplicating code.
2020-12-07 15:40:35 -08:00
Dustin Carlino
2153b1605b
Move the legend to the minimap in the experiment, by parameterizing the
...
minimap on a trait to specialize it.
2020-12-07 14:42:49 -08:00
Dustin Carlino
df04fd7e18
Give SimpleApp a way to stash session-wide state. First use case is high scores for the experiment.
2020-12-04 15:08:15 -08:00
Dustin Carlino
766fea1441
Prevent warping near bridges, and ban travel along light rail entirely
2020-12-03 21:04:38 -08:00
Dustin Carlino
a11646a6fc
Overhaul building colors [rebuild]
2020-12-02 13:01:01 -08:00
Dustin Carlino
69b14e444f
Simpler abstutil APIs: return string errors immediately, don't make callers transform. We don't need to distinguish different error types anywhere.
2020-12-02 08:44:07 -08:00
Dustin Carlino
3eda17627b
Handle binary or JSON scenarios
2020-11-30 14:00:19 -08:00
Dustin Carlino
8ee3466815
new release
2020-11-29 17:02:34 -08:00
Dustin Carlino
057587076c
Split config for different levels, add some sort of title screen
2020-11-29 15:44:45 -08:00
Dustin Carlino
f030086e8e
Overhaul how buildings get colored in different states, and reset things
...
when changing depots
2020-11-28 17:07:14 -08:00
Dustin Carlino
d6c179385e
Start in night mode, and adjust minimap coloring there
2020-11-28 10:19:21 -08:00
Dustin Carlino
4b28cfe806
Add a minimap
2020-11-28 09:45:58 -08:00
Dustin Carlino
b6484f31d4
Upzoning
2020-11-27 17:42:58 -08:00
Dustin Carlino
ebcae62652
Slightly simplify how some states specify what map objects can be
...
selected and clicked on.
2020-11-26 13:42:31 -08:00
Dustin Carlino
b7f3f2113b
Start refactoring a common UI pattern: recalculate some value only when ( #406 )
...
Start refactoring a common UI pattern: recalculate some value only when
a key changes.
It's quite verbose right now for some widgetry States to determine if
the mouse is over a particular type of object, check if that object has
changed since the last time, and calculate something based on it. This
introduces a new helper for expressing the pattern a little more
clearly.
2020-11-25 12:22:11 -08:00
Dustin Carlino
b6ebee0dd8
Tiny refactor: Drawable::empty(ctx)
2020-11-25 11:19:26 -08:00
Dustin Carlino
ff829db8f1
Expanding the boundary of huge_seattle, and creating a new north_seattle map
2020-11-25 08:56:55 -08:00
Dustin Carlino
314f01496e
Save/restore camera state per map in all map_gui apps too.
2020-11-24 11:53:50 -08:00
Dustin Carlino
5e952f9012
Fix web build break from a cfg() line creeping down
2020-11-23 18:01:42 -08:00
Dustin Carlino
f3ff910c37
Cleanup from the great app split:
...
- move show_zorder into DrawMap
- reorganize modules in map_gui
Next is to reorganize/collapse modules in game.
2020-11-23 17:58:32 -08:00
Dustin Carlino
c450922211
Split out the 15min tool to its own crate.
2020-11-23 17:58:32 -08:00
Dustin Carlino
9f422033e9
Make a SimpleMinimap for map_gui. Will refactor later.
2020-11-23 17:58:32 -08:00
Dustin Carlino
c3db4de087
Lift the Navigator tools to map_gui.
2020-11-23 17:58:32 -08:00
Dustin Carlino
139d435bd3
Split out the OSM viewer to its own crate, porting over a simple form of current_selection. Temporarily omit the minimap and navigator from it.
2020-11-23 17:58:32 -08:00
Dustin Carlino
6568c9e959
Add mouseover to the split parking mapper, sadly just by copying a simpler version of the code...
2020-11-23 17:58:32 -08:00
Dustin Carlino
ad0d1ae7a4
Split out the OSM parking mapper into a separate app, temporarily
...
WITHOUT mouseover.
2020-11-23 17:58:32 -08:00
Dustin Carlino
e6d21d81e7
Add the city picker to the experiment, as a way to lift it to map_gui.
2020-11-23 17:58:32 -08:00
Dustin Carlino
859d78f2cf
Refactor the CLI flag parsing that all apps will share.
2020-11-23 17:58:32 -08:00
Dustin Carlino
ab2f6fefec
Split the controls experiment into a separate binary, get it to draw a
...
map way more simply than the game
2020-11-23 17:58:32 -08:00
Dustin Carlino
558eb6f716
Extract DrawMap into a separate crate, along with everything else it
...
depends on.
The goal is to be able to split things like the OSM viewer, parking
mapper, and 15 min tool into separate crates from the game, while still
sharing lots of code.
2020-11-23 17:58:32 -08:00