Michael Kirk
cbad223a90
clarify scenario buttons & style link as link
2021-03-19 12:43:32 -07:00
Michael Kirk
9da9c9b092
extract "percent" function, put header text first
2021-03-19 11:56:22 -07:00
Michael Kirk
cf14515110
CR: use already-defined transition
2021-03-19 11:56:22 -07:00
Michael Kirk
9a2276c66d
Code review: prefer unreachable
to todo
for checkins
2021-03-19 11:56:22 -07:00
Michael Kirk
3d5876a4fd
fixup! convert trip tables to new tabs
2021-03-19 11:56:22 -07:00
Michael Kirk
e493c02d83
convert trip tables to new tabs
...
The GenericTable machinery lost a lot of it's utility now that we have
proper tabs. I've left a couple of free functions to be shared, and
inlined the remaining simple functionality.
2021-03-19 11:56:22 -07:00
Michael Kirk
e39059644c
fixup! wip apply tabs to TimeWarp
2021-03-19 11:56:22 -07:00
Michael Kirk
1d57bb5f25
wip apply tabs to TimeWarp
2021-03-19 11:56:22 -07:00
Michael Kirk
7f00154ae6
style tabs
2021-03-19 11:56:22 -07:00
Michael Kirk
1c2231aced
fix missized icon
2021-03-19 11:03:40 -07:00
Dustin Carlino
a0461e990d
Workaround an issue with how the length of roads is measured and related
...
to the elevation measured at the original intersection point. #82
Upload montlake, downtown, and phinney with elevation data, as an
initial demo.
2021-03-18 19:04:15 -07:00
Dustin Carlino
ca4e04b6e9
Add tooltips to the elevation layer
2021-03-18 18:25:11 -07:00
Dustin Carlino
b61291d905
Revive the elevation layer in the UI. Add some sanity checking around the inclines we're assigning to roads, but also, I realized a problem with how the elevation lookup not matching the trimmed roads. #82
2021-03-18 18:19:41 -07:00
Dustin Carlino
e841024025
Use the outline style for the before/after trip comparison button.
2021-03-18 10:20:50 -07:00
Dustin Carlino
a390f72a1c
Change how the original map is loaded in the UI for checking the original route. Fixes this on the web.
...
This also solves the static case of #361 .
2021-03-18 09:54:43 -07:00
Michael Kirk
119b0e8b7e
fix mismatched icon sizes in challenge screen
2021-03-17 19:06:43 -07:00
Michael Kirk
546599e4f9
Replace ButtonImage with Image
2021-03-17 19:06:43 -07:00
Michael Kirk
463c48411a
jump to time: slider width corresponds to traffic chart
2021-03-17 19:06:43 -07:00
Michael Kirk
c1dfdc4550
jump to time: theme traffic curve
2021-03-17 19:06:43 -07:00
Michael Kirk
b60a6d3d96
theme disclosure icon
2021-03-17 19:06:43 -07:00
Dustin Carlino
4b2eedd2f2
Only show the info panel or the layer panel, never both at the same time.
2021-03-17 14:15:13 -07:00
Dustin Carlino
1773782975
Place layer panels and info panels in the same place, on the left side of the screen. Simplify layer code, now that we don't need to align relative to the minimap.
2021-03-17 14:15:13 -07:00
Dustin Carlino
a0c82088b9
Use our native download function instead of external curl command from the importer. #523
...
This forces the main importer to include tokio and propagate async a
bit. That seems worth it.
Also removed the quiet param from the download helpers; we always want
progress.
2021-03-17 10:29:28 -07:00
Dustin Carlino
e071b39553
Add a button to save scenarios to a file if they're generated. This is useful for avoiding the performance hit of regenerating them again.
2021-03-17 10:02:52 -07:00
Dustin Carlino
9f2737b2b5
Don't offer the census-based scenario outside of the US or on oneshot test maps, since it won't work.
2021-03-16 19:03:03 -07:00
Michael Kirk
e0aa2ad279
fix jitter as agent meters update
2021-03-16 18:28:50 -07:00
Michael Kirk
264f1f939f
minimap controls: agent toggles and meters into one row
...
Some ancillary changes:
Made the GeomBatchStack public and extracted the ImageSource
functionality from ButtonBuilder to Image.
2021-03-16 18:28:50 -07:00
Michael Kirk
810c89eeb1
meter shows "finished trips vs baseline" instead of time ( #565 )
2021-03-15 17:10:08 -07:00
Dustin Carlino
0d8cc27961
Move per-gameplay panels from top-center to top-right. Left align time. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
b6536122e0
Fold the score panel used by the 2 challenge modes into the gameplay mode-specific top-center panel. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
229f2d5dca
Fix merge
2021-03-12 17:48:35 -08:00
Dustin Carlino
d7d994066a
A few adjustments to the consolidated panels: #551
...
- invert the histogram icon colors
- stretch out the time bar
- put the time bar above the finished trips counter
2021-03-12 17:48:35 -08:00
Dustin Carlino
880a293093
Make the time panel height override stickier. Otherwise it jumps height quite noticeably when pausing/resuming. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
59e9735318
Force actdev top panels to have the same height. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
da1c133a67
Adjust actdev panel layout to work on narrow screens. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
69b248cd66
Move agent counters to the minimap, removing the top-right agent panel entirely. #551
...
Adjust the tutorial for these changes.
2021-03-12 17:48:35 -08:00
Dustin Carlino
5b386af6ba
Move most things out of the top-right agent meter panel to reclaim more horizontal space. #551
...
1) Move finished trips to the top-left time panel.
2) Move "tentative results" and "recording trips" controls (only
occasionally used) to the top-left time panel.
3) Move the "more data" button to the minimap.
2021-03-12 17:48:35 -08:00
Dustin Carlino
8ac62fed47
Trying out some UI changes suggested by Martin:
...
- Increase day mode panel opacity to 95% to help text legibility
- Combine the time/speed panels, and remove the sunrise/sunset icons
- 4 mode colors matching actdev, also changing night mode residential
buildings
2021-03-12 17:48:35 -08:00
Dustin Carlino
95b1d884cf
Rename Map::new to be more clear that it should only be used in non-UI
...
tools. There's one place in the UI that doesn't work on the web!
2021-03-12 06:38:17 -08:00
Dustin Carlino
522b902453
Improve the traffic signal timing UI. There's a choice between fixed and
...
variable timing, but currently you have to remember to toggle it; the
two extra spinners get ignored otherwise. The new version is still
confusing, but I think it's an improvement.
2021-03-11 11:39:58 -08:00
Dustin Carlino
8be24bf007
Use AsRef<str> in more widgetry methods, getting rid of &format at many
...
call-sites. #253
To make some of these work, changed Label to store a String. Ultimately
it gets transformed into Text, so we need to allocate eventually.
2021-03-11 11:29:18 -08:00
Dustin Carlino
f0de4e4583
Don't use Bezier curves for right/left turns at tiny intersections. They
...
wind up looping back on themselves in a nonsensical way, causing
vehicles to visually glitch when moving through.
This was started in 081819d86b
, but it
used to gridlock 2 maps. All the recent roundabout fixes seems to have
resolved those! And adjusting offstreet parking for two maps.
But wallingford does regress; plunging forward for now.
2021-03-10 15:58:16 -08:00
Dustin Carlino
bf8f51ae05
Consistently count hours for a time. There was some disagreement between
...
recorded analytics and code that later summed things up, making the
relative throughput layer more confusing than it is already. #85
2021-03-10 13:59:38 -08:00
Dustin Carlino
957d08e8b9
Add tooltips to the relative throughput layer, to get exact before/after counts of the data being displayed. #85
...
(The before counts are still bucketed on the hour mark)
2021-03-10 13:24:56 -08:00
Dustin Carlino
f0b522f89a
Figure out which files are in the us/huge_seattle DataPack more consistently. This'll now work from the proposals screen.
2021-03-10 12:40:55 -08:00
Dustin Carlino
fdc6601520
Prompt the user to download missing cities from the Proposals screen, too.
2021-03-10 12:10:16 -08:00
Dustin Carlino
db96b0a7c4
Add an included proposal for making Poundbury<->Dorchester use a pair of one-way roads. cyipt/actdev#114
...
And handle community proposals when the weekday scenario doesn't exist.
2021-03-09 13:23:40 -08:00
Dustin Carlino
d13478f355
Make Poundbury run more smoothly, and prebake sim data for all
...
scenarios, so we can run A/B tests with map edits. cyipt/actdev#114
To fix it up, I hand-timed
https://www.openstreetmap.org/node/2124133019 , which could have smarter
heuristics as a button-operated half-signal in the future. And allowed
blocking-the-box on some small intersections near that area.
2021-03-09 10:45:44 -08:00
Dustin Carlino
65d7bc5c8e
Rename {Text,TextSpan}::draw to into_widget, for consistency. #253
2021-03-09 09:59:30 -08:00
Dustin Carlino
a4a20ce1e5
draw_text renamed to text_widget, for consistency. #253
2021-03-09 09:56:41 -08:00
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
e61e0c885b
Backpeddle on bcde40d35c
. If advancing time at startup takes too long, switch over to the jump-to-time dialog, so things don't seem frozen and the user can stop early if impatient.
2021-03-09 07:38:51 -08:00
Dustin Carlino
06e2f22ba9
Add a --time flag to jump the sim forward immediately. Faster gridlock debugging.
2021-03-08 15:10:18 -08:00
Dustin Carlino
bcde40d35c
Add a deadline to actdev starting at 8am. If it takes too long to advance time, just start earlier. If it's taking a long time, then there must be active traffic to look at anyway.
2021-03-08 14:49:56 -08:00
Dustin Carlino
f260fc3b40
Fix warping to bikes by ID
2021-03-08 14:42:51 -08:00
Dustin Carlino
8082640da9
Add warp buttons to the blocked-by tool to jump to the worst problems, instead of squinting for the circles
2021-03-08 14:34:00 -08:00
Dustin Carlino
7ccdc217c7
Don't display a path from a building to the nearest parking when infinite parking is enabled. [rebuild] [release]
2021-03-07 11:09:09 -08:00
Dustin Carlino
3f32c7abf3
Move the minimap code from common to sandbox, reflecting where it's used. (Never in debug or edit mode)
2021-03-06 16:20:32 -08:00
Dustin Carlino
9118ae6216
Hook up the actdev UI to the new scenarios with background traffic mixed in. #556
2021-03-05 16:37:06 -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
0c81b31d7e
Also, just move the uber-turn viewer to debug mode.
2021-03-04 09:36:48 -08:00
Dustin Carlino
81678822bc
Clean up the old MergeIntersections experiment in the uber-turn viewer. The map_editor can now live-debug intersection geometry and merge short roads; faster to iterate there. #114
2021-03-04 09:34:00 -08:00
Dustin Carlino
3875f6b542
Pick random people with the actdev 'follow someone' button, instead of focusing on the same arbitrary first match.
2021-03-04 08:56:45 -08:00
Dustin Carlino
9e92435859
Get 2 more Seattle maps to complete without gridlock! Just had to
...
increase offstreet parking to better match the demand.
2021-03-03 14:53:04 -08:00
Dustin Carlino
9dc181a7c5
Start to detect cases when one vehicle may want to over-take a slower-moving leader. #81
2021-03-03 14:07:32 -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
0ee22ad58e
Add a checkbox for mixing in background traffic to the actdev scenarios. No effect on the scenario yet... #539
2021-03-02 09:55:08 -08:00
Dustin Carlino
6cacaf1c8a
Actdev tweaks: flip walking/biking button order, start with 3x speed
2021-03-02 09:30:44 -08:00
Dustin Carlino
c5cfe76b05
Fix turn type classification for four-way intersections that meet at
...
weird angles. This leads to really bad traffic signal heuristics, even
causing gridlock in Rainier Valley.
2021-03-01 10:57:27 -08:00
Michael Kirk
86799e2832
Remove StyledButtons - instead implement everything on the individual
...
ButtonStyle
2021-02-27 21:08:26 -08:00
Michael Kirk
11a904a4da
WIP: separate style for plain
2021-02-27 21:08:26 -08:00
Michael Kirk
c3985ffdd1
btn_solid -> btn_tab and replace inappropriate uses
2021-02-27 21:08:26 -08:00
Michael Kirk
7fe0e521ee
Use btn_destructive.* methods instead of btn_destructive_*
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
fd41d0c573
Fix missing study areas in some actdev maps. It was just me accidentally passing in the site name with underscores.
...
I verified all sites have a study area showing up.
2021-02-27 14:50:55 -08:00
Michael Kirk
1e75352ce0
Theme section bg
...
`Widget::outline` takes OutlineStyle
2021-02-27 13:13:41 -08:00
Michael Kirk
73280bc114
consolidate OutlineStyle
...
We had a lot of constants sprinkled around. This consolidates the
constants and packages the outline thickness and color into a tuple,
making for a (usually) cleaner callsite.
2021-02-27 13:13:41 -08:00
Michael Kirk
c0fe742810
section styling for lane panel
2021-02-27 10:30:41 -08:00
Michael Kirk
2378da9731
theme signal editor bg
2021-02-27 10:30:41 -08:00
Michael Kirk
7f3c07f601
better tab legibility
2021-02-26 16:30:14 -08:00
Michael Kirk
cf69dd0370
slightly better approach to get the cut-scene looking better
2021-02-26 16:30:14 -08:00
Michael Kirk
d99c0e0634
HACK to make cutscene look decent
2021-02-26 16:30:14 -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
b2a0ba1572
logo should always be black
2021-02-26 14:05:19 -08:00
Michael Kirk
143fdc3fd5
label_underlined_text for "link" buttons
2021-02-26 14:05:19 -08:00
Dustin Carlino
611b0e8045
Enable separate cycleways experiment for Seattle. #330
...
Cleaned up a few unused (and out-of-date) traffic signals. No impact on
gridlock. See issue for detailed rationale and plan.
2021-02-26 13:53:24 -08:00
Dustin Carlino
8e04cada2e
actdev scenarios for the remainder of the sites.
...
Now the code can be simplified, because the scenario always exists.
2021-02-25 20:15:03 -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
22223d4338
per design, remove separator after title
2021-02-25 17:42:04 -08:00
Dustin Carlino
0feeb3cee4
When nothing's selected, don't display anything in the status bar. Previously, it was '...', which looked clickable.
2021-02-25 10:56:02 -08:00
Dustin Carlino
0320b2be89
Little actdev fixes:
...
- when leaving edit mode, still return to actdev mode
- rename "bike network" layer to "cycling activity", to emphasize it
shows where cyclists have been going so far in the simulation and not
everything on the ground
- add tooltip with exact counts to the cycling activity layer, just like
throughput does
- add a "walking activity" button (throughput layer with filters
pre-applied)
2021-02-25 10:54:03 -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
494be704da
style parking lot info like other info panels
2021-02-24 20:21:14 -08:00
Dustin Carlino
7e4d529872
Import all the actdev scenarios again, which have a fix for more diverse destinations.
...
Automated:
1) rm -fv `find data/system/gb/ | grep base.bin | xargs`
2) rm -fv `find data/system/gb/ | grep dutch.bin | xargs`
3) for city in allerton_bywater ashton_park aylesbury aylesham bailrigg bath_riverside bicester castlemead chapelford clackers_brook culm dickens_heath didcot dunton_hills ebbsfleet great_kneighton hampton handforth kidbrooke_village lcid long_marston micklefield newcastle_great_park poundbury priors_hall taunton_firepool taunton_garden tresham trumpington_meadows tyersal_lane upton wichelstowe wixams wynyard; do ./importer/actdev_scenarios.sh $city; done
2021-02-24 18:18:12 -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
5577021ee5
When merging intersections and preserving simple turn restrictions, pay
...
attention to which intersection is being destroyed. Fixes #527 --
montlake and phinney both look correct now.
Regenerating everything. Actually, Phinney now runs, so adding a 4th
prebaked map!!! But Rainier regressed -- there's an issue with the
signal heuristics that's now a problem; I'll fix later.
2021-02-24 15:16:12 -08:00
Michael Kirk
d774aeae44
rename toggle/checkbox
2021-02-24 14:59:47 -08:00
Dustin Carlino
23b19fa7ce
Add a quick debug tool to find roads with no turns between them, for #527
2021-02-24 11:00:59 -08:00
Michael Kirk
3ab7fc4361
Fix tooltips and hotkey for day-theme ( #528 )
2021-02-24 10:52:57 -08:00
Dustin Carlino
b36ebec0b9
Penalize unprotected left turns at the routing layer. #494
...
I experimented on the Rainier Valley map, which recently started
gridlocking due to too many cars doing this, to tune the value. Got it
running again! The two other maps keep running, with some trips on
average getting a little slower.
2021-02-23 19:32:00 -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
62a433ed8d
btn_solid_panel is the same as btn_solid
2021-02-23 10:17:49 -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
ecf7c0c836
On HiDPI screens with low resolution, allow widgetry applications to ( #521 )
...
* On HiDPI screens with low resolution, allow widgetry applications to
override the default scale factor in order to achieve a minimum width.
2021-02-22 15:59:57 -08:00
Dustin Carlino
a7de2eef14
Disable parking simulation for actdev. I noticed people in Poundbury walking very far just to fetch their car, because the data about available parking is nonexistent.
2021-02-20 13:19:38 -08:00
Dustin Carlino
c7ae44d02a
Start actdev simulations at 8, not 6. And refactor the ffw-after-starting pattern. cyipt/actdev#66
2021-02-20 13:12:41 -08:00
Dustin Carlino
0804f877dd
Toggle between the baseline/go active scenario in actdev mode. Don't allow opening up any scenario. If we settle on a good background traffic generator, that can probably be exposed as an orthogonal checkbox. cyipt/actdev#66
2021-02-20 13:03:42 -08:00
Dustin Carlino
7592d192e3
Rename the blog gameplay mode to actdev, since it's specific to that integration. In the future if we have a simplified simulation running in a blog, we can figure out common requirements and refactor.
2021-02-20 12:44:27 -08:00
Dustin Carlino
b11cd48fb3
On the web, constantly update the --cam param in the URL with the current viewport.
2021-02-20 11:10:14 -08:00
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