Commit Graph

244 Commits

Author SHA1 Message Date
Dustin Carlino
b0bcdb2115
Replace Widget::draw_batch with batch.into_widget, for consistency. #253 (#554) 2021-03-09 08:55:12 -08:00
Dustin Carlino
ead636549c new release 2021-03-07 17:07:25 -08:00
Dustin Carlino
42bd63e79b Lift URL and viewport code from game to map_gui. Also use it for OSM viewer and the 15min tool. 2021-03-04 13:22:09 -08:00
Dustin Carlino
dd42acdc28 Refactor a CityName::seattle() 2021-03-03 18:08:06 -08:00
Dustin Carlino
006ae01216 Move 4 Seattle maps into the us/huge_seattle category to reduce the size
of the binary releases. [rebuild]

Handle this special case in the city picker UI, prompting the player to
do the extra download. NOT yet handling the same for the community
proposal screen -- player will just see a missing file error.
2021-03-03 18:03:15 -08:00
Dustin Carlino
0c12948c86 Also grey out unhighlighted people when zoomed in. #539 2021-03-02 12:03:26 -08:00
Dustin Carlino
17e2f485b4 Add support for highlighting certain people in the simulation. For now,
mark random people as highlighted when background traffic is active for
actdev. #539

This changes the unzoomed rendering to "fade out" unhighlighted people.
Next up, similar change for zoomed, info panels, and trip tables.
2021-03-02 10:46:21 -08:00
Dustin Carlino
51386d19db new release 2021-02-28 10:43:06 -08:00
Dustin Carlino
4d048d83bd A few misc fixes after the grand button/color refactor:
- Always draw traffic signal stage numbers as white, even in day mode
- Always draw loading screen text as white, in any theme
- Double the scrollbar thickness from 4px to 8px (still way thinner than
  the original design)

[rebuild] [release]
2021-02-28 10:31:00 -08:00
Michael Kirk
86799e2832 Remove StyledButtons - instead implement everything on the individual
ButtonStyle
2021-02-27 21:08:26 -08:00
Michael Kirk
cee0e5dbbd Use btn_primary.* methods instead of btn_primary_* 2021-02-27 21:08:26 -08:00
Michael Kirk
87a1a3f027 fix outline for spinner (without crashing!) and cache drawable 2021-02-27 15:29:03 -08:00
Dustin Carlino
bce3318605 Import halsnead for actdev. It needed a fix to not treat access=private
as a no-through-traffic zone for light rail tracks!
2021-02-27 14:35:26 -08:00
Michael Kirk
1e75352ce0 Theme section bg
`Widget::outline` takes OutlineStyle
2021-02-27 13:13:41 -08:00
Michael Kirk
bcba72cddf enable new day theme, but retain legacy theme for pregame 2021-02-26 16:30:14 -08:00
Michael Kirk
4b2f3888ed replace btn_solid w/ primary/outline as appropriate 2021-02-26 14:05:19 -08:00
Michael Kirk
f5b52073fc shade dropdown/text-fields in night mode
Consistent with other themes, fields in night mode should be distinct
from the panel color, a shade darker.
2021-02-26 14:05:19 -08:00
Dustin Carlino
fb78ec19cd Use Noto font, not ZCOOL, because it has a full set of Chinese glyphs 2021-02-25 18:06:34 -08:00
Michael Kirk
3019a6fff1
Introduce Image component to handle themed icons (#537) 2021-02-25 18:06:19 -08:00
Michael Kirk
46593b01ed theme text field (and fixup layout) 2021-02-25 17:42:04 -08:00
Michael Kirk
abf9a9ade1 STOP sign should always be white text 2021-02-25 17:42:04 -08:00
Dustin Carlino
357ba15afe Add back the zcool font so the Taipei map renders names. But this time, asynchronously load the font instead of bundling it in system assets and increasing the .wasm size. #535
Temporarily take on some technical debt with the new RawFileLoader...
2021-02-25 15:25:47 -08:00
Dustin Carlino
e0fd8dd369 Import Taipei! 2021-02-25 09:21:45 -08:00
Dustin Carlino
6bfa569923
Support changing fonts in the middle of a line. Use this to draw numeric (#533)
IDs in the status bar as bold, not red.
2021-02-25 08:57:42 -08:00
Michael Kirk
a085db301b theme minimap controls
Easier to style as a normal image button
2021-02-24 20:17:18 -08:00
Michael Kirk
ac30774b06 theme dropdowns and menus 2021-02-24 18:10:06 -08:00
Michael Kirk
c6d361c4b0 remove take_menu 2021-02-24 18:10:06 -08:00
Dustin Carlino
fa515054fb lcid was missing a friendly map name
and adjust the elevation query format
2021-02-24 17:26:23 -08:00
Michael Kirk
d774aeae44 rename toggle/checkbox 2021-02-24 14:59:47 -08:00
Michael Kirk
3ab7fc4361
Fix tooltips and hotkey for day-theme (#528) 2021-02-24 10:52:57 -08:00
Michael Kirk
1387a8c11f
Text gets default color from Style (#526) 2021-02-23 19:30:50 -08:00
Dustin Carlino
9eea3c9247 Draw corners where shoulders and sidewalks meet more carefully. 2021-02-23 14:20:59 -08:00
Dustin Carlino
0344e51170
Merge pull request #525 from a-b-street/prefetch
Make a web loader that can 'prefetch' abst in the background. cyipt/a…
2021-02-23 13:34:55 -08:00
Dustin Carlino
4c97687a5b Make a web loader that can 'prefetch' abst in the background. cyipt/actdev-ui#15 2021-02-23 11:45:39 -08:00
Michael Kirk
a3ecffbb44 Temporary fix for day-theme inner panels legibility
Apparently we had two different ways of styling inner panels - compare
the info panels with the settings panel.

I intentionally consolidated to a single style, since that's where we
want to be but it made the info panel contrast to low. For now I'm
preferring to use the legacy "info-panel" style for inner panels
everywhere, meaning we'll temporarily lose the cute section backgrounds
in the day-theme settings panel, but retain legibility everywhere.
2021-02-23 11:39:58 -08:00
Michael Kirk
62a433ed8d btn_solid_panel is the same as btn_solid 2021-02-23 10:17:49 -08:00
Michael Kirk
dde3ca9f67 rethink rename... keep Style.ButtonStyle, rename button::ButtonStyle->ButtonStateStyle 2021-02-23 09:56:58 -08:00
Michael Kirk
e6ed2e67de Collapse button styles to be theme specified (no visible changes).
Button colors are now determined by the color scheme, but for now all
schemes are hardcoded to use the same "night" button colors. Read on for
rationale...

Previously, which button colors to use (dark/light) was specified inline
while building the UI.

Eventually we want to live in a world where color scheme determines:
- panel colors
- button colors
- text colors

The theme could already choose panel colors easily enough, but because
the buttons and text were not determined by theme, choosing anything
other than a black or dark grey panel color makes the buttons and text
unreadable.

This PR tackled the themeable "button colors" portion, but all themes
continue to use the "night" colors for now, because using the actual
"day" colors would still make the text unreadable.

next up: themeable text!

The one intentional regression is within the pregame tutorial,
which has always been styled differently from the rest of the app. An
expeditious hack has caused the prev/next/continue buttons to lose their
visible hover state. I'll restore this upon completing the day theme
work.
2021-02-23 09:52:33 -08:00
Dustin Carlino
81dd5740e6 Import Mt Vernon 2021-02-22 09:41:10 -08:00
Dustin Carlino
c5056fd135 new release 2021-02-21 10:38:19 -08:00
Dustin Carlino
5139a88a66 Also sort city districts by zorder when creating them from many maps. Noticed this issue in Leeds. 2021-02-19 10:26:51 -08:00
Dustin Carlino
9e83823620 When a city is missing a city.bin, just list files to discover districts. Better experience after importing a oneshot map. 2021-02-18 15:07:08 -08:00
Dustin Carlino
aefefedee9 Don't crash when we're missing a country flag. Discovered for oneshot
imports (which wind up in the dummy zz country code)
2021-02-18 14:55:15 -08:00
Dustin Carlino
6673521ee9 Import Wynyard, now that the pathfinding bug is fixed. 2021-02-17 15:45:36 -08:00
Dustin Carlino
c87940a858 Fix an issue with a6dfc95aa9: districts in a city are ordered in a z-order friendly way 2021-02-16 14:52:47 -08:00
Dustin Carlino
1fa57a1e17 Import Charleville-Mézières. So many new places from Twitter!
Few workarounds based on importing crashes found.
2021-02-15 16:35:24 -08:00
Dustin Carlino
f55a40e3df Import Rostock 2021-02-15 14:33:17 -08:00
Dustin Carlino
a6dfc95aa9 Improve city picker UI:
- stop color-coding the buttons
- highlight the district when hovering on a button (broken recently)
- sort the districts
2021-02-15 13:02:29 -08:00
Dustin Carlino
6d2cfa5750 Don't list a country in the city picker if there's nowhere different to navigate to there. 2021-02-15 12:03:06 -08:00
Dustin Carlino
7c3ced6401 Import 10 more actdev sites. Start a script for importing Robin's
scenario JSON, but don't run it yet.
2021-02-15 11:06:28 -08:00
Dustin Carlino
e8d1a4bb0d Import Anchorage 2021-02-14 17:21:02 -08:00
Dustin Carlino
9b1b9f467e new release 2021-02-14 14:31:04 -08:00
Dustin Carlino
48bf0e504d Fix a rendering crash that's hard to reproduce. #514 [rebuild] [release] 2021-02-14 14:12:34 -08:00
Dustin Carlino
4a231ac298 Fix crash in minimap with clamp() 2021-02-14 14:05:17 -08:00
Dustin Carlino
e2c648b597 Show each country's flag in the picker UI! #326 2021-02-14 11:49:34 -08:00
Dustin Carlino
482c3e8600 Use country names in the UI, not the codes. #326 2021-02-14 11:12:01 -08:00
Dustin Carlino
864bfacb30 Break down cities by country in the city picker UI. #326 2021-02-14 11:08:14 -08:00
Dustin Carlino
dbd62b5ea6 Fix the in-game map downloader, and "region"->"district" in the city
picker UI. #326
2021-02-14 10:30:04 -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
2f0029daef Import 7 more actdev sites, since cyipt/actdev#77 is fixed
poundbury is missing files, and halsnead had some issue with the
boundary, will look into it later.
2021-02-12 13:30:59 -08:00
Dustin Carlino
48430f5979 Import more actdev sites, using better automation. cyipt/actdev#65 2021-02-11 16:32:27 -08:00
Dustin Carlino
e28b66cb5c Use a larger hitbox for selecting pedestrians and bicycles. 2021-02-11 15:09:58 -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
6e7a91ada1 Upgrade to Rust 1.50. Use the new f64 clamp instead of our own. [rebuild] 2021-02-11 10:32:13 -08:00
Dustin Carlino
1241cea22e Update Chapelford boundary, and add LCID. https://github.com/cyipt/actdev/issues/65 2021-02-09 15:41:42 -08:00
Dustin Carlino
bbdd23dada Partly automate importing new actdev maps. Bring in 6 new sites 2021-02-09 13:53:50 -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
829c321190 Get rid of the wasm_s3 build flag. Instead use the URL of the wasm app and find the data/ directory off of that, and assume only localhost has uncompressed files. https://github.com/cyipt/actdev/issues/28 2021-02-08 12:41:28 -08:00
Dustin Carlino
de1084648c new release 2021-02-07 14:49:05 -08:00
Dustin Carlino
fd423439b8 Upgrade tokio, hyper, and lru 2021-02-03 18:33:06 -08:00
Dustin Carlino
73e405e382 Upgrade most dependencies 2021-02-03 18:13:06 -08:00
Dmitriy Serdyuk
5bd4e79190
[WIP] Add Montreal (#481) 2021-02-02 18:24:31 -08:00
Dustin Carlino
02b90741d6
Draw 'STOP' on stop signs. Fixes #450 (#492) 2021-02-01 16:47:53 -08:00
Dustin Carlino
3e40686a6b Fix a bunch of links after the repository renaming. 2021-01-31 15:50:48 -08:00
Dustin Carlino
e7734761fb new release 2021-01-31 11:53:11 -08:00
Dustin Carlino
802a647a81 Import Providence for a student project. 2021-01-27 15:34:54 -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
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
Dustin Carlino
56101addcf Remove the zcool font and Xi'an import. #377
The Xi'an map isn't being regularly used, and it has some issues
(boundary is too large, OSM is missing buildings in most of the area).

The zcool font enables Chinese characters to render, but costs 6MB in
the binary files, slowing down wasm loading time. Eventually, we can
support async loading fonts and passing them to widgetry when loading a
map requiring them. For now, cutting down wasm size is a bigger
priority.

game wasm from 18MB to 12MB. Not bad!
2021-01-24 20:30:20 -08:00
Dustin Carlino
c88e449f3e new release 2021-01-24 16:42:57 -08:00
Dustin Carlino
ea103803d1 New map focusing on Rainier Valley for #446, studying the effects of amping up maximum signal cycle lengths. [rebuild] [release] 2021-01-24 15:49:15 -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
7d8c818eea Remove the last traces of the old orange hovering color. 2021-01-24 13:09:37 -08:00
Michael Kirk
4ad7f6bebd
Label "Pedestrian" -> "Walk" for reasonable panel width (#476) 2021-01-24 10:27:21 -08:00
Dustin Carlino
ee62d05f8d Attempt better colors for pedestrian plazas and the map background in night mode.
Also fix Santa, broken by the button SVG moving.
2021-01-23 17:47:10 -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
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
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
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
4989887117 remove final references to Btn 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
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