When I added web support in February, it was easier to get started with
stdweb, since it has the nice cargo web tool. However, stdweb is
unmaintained, winit is deprecating support for it, and the next steps
for web (downloading maps dynamically) have better support for web-sys.
With Alvin's guidance, I got
https://github.com/dabreegster/minimal_websys_winit_glow_demo working
first. This PR cuts A/B Street over too.
I tested abst and the widgetry demo in both native and web. The only
major regression from stdweb is the canvas placement and size. I
attempted some fixes, but at this point, I'll leave it as a smaller
followup instead.
* match unfork to fork
TBH I don't know of problem currently being caused by this, but it
seemed wrong to unfork without a matching fork.
* variable rename (no behavior change)
"c" was holdover from when panels were called composites
* resize container dims when window resizes
* make panel.top_level private
* Show/Hide scrollbars as window is resized
* alignment demo
* Fix scrollbar positioning
* separate out scrollbar work so we can profile it easier
* mem::replace is more concise than mem::swap
* fixup size of MaxPercent
* restore scroll position after redrawing scroll bars
only allow the leftmost source lane to turn to any destination lane. As
a future improvment, need to handle multiple explicitly tagged left turn
lanes, but this gets closer to reality, particularly helping some crazy
maneuvers along Mercer in downtown.
*or right
Also had to update lanes along Madison and fiddle a bit to keep
lakeslice running. Spotted some major traffic signal bottlenecks due to
stage generation falling back, will iterate on that separately.
raw string" stuff from the previous commit.
Add tests of a few interesting intersections. The results right now
aren't ideal, but this sets things up for fast iteraton.
skipped outright. Now they redirect to a reasonably close building that
isn't blackholed. #329
(For context, https://dabreegster.github.io/abstreet/map/index.html#connectivity
explains "blackhole")
I'm increasingly convinced I made the wrong decision to split the
normal/infinite parking implementation. It's low-priority, but I'll try
consolidating them later.
lanes all lead to a single lane via left/right turn, and just keep the
left/rightmost lane.
Sanity checked at Rainier / S Massachusetts, and 23rd / S Massachusetts.
https://github.com/koute/cargo-web/issues/217. After adding some
debugging to that tool, discovered the problem was generic-array, pulled
in by the new geo version. Forcing that to the older version fixes
things.
refactor, they complicate the function signatures significantly and have
no observable perf impact, since all of the methods just happen in map
importing.