Commit Graph

414 Commits

Author SHA1 Message Date
Dustin Carlino
a04c072aed upgrade to rust 1.43, remove some now redundan imports [rebuild] 2020-04-23 09:22:04 -07:00
Dustin Carlino
2f9ee33336 prototyping a way to group buildings into blocks, for commute viz 2020-04-16 19:00:07 -07:00
Dustin Carlino
97d31fe682 remove the fixed end-of-day; make it easier to jump to times in multi-day scenarios 2020-04-15 16:26:01 -07:00
Dustin Carlino
f9ac07d07d implement julian's contingency table-ish thing. buggy, but a start 2020-04-14 15:38:03 -07:00
Dustin Carlino
ec81c4d03a optionally filter the scatterplot for changes only, and fix rounding for
small numbers
2020-04-14 13:26:58 -07:00
Dustin Carlino
1c3bab61f9 round up the labels in the scatterplot 2020-04-14 11:54:09 -07:00
Dustin Carlino
69a8b88583 experimenting with new summaries of trip diffs 2020-04-10 11:44:47 -07:00
Dustin Carlino
2ef76b5e7c generate nicer active agent area diagram, use in jump-to-time 2020-04-05 13:10:31 -07:00
Dustin Carlino
edffcf3db7 small time/speed panel changes. also learning a little more about when
padding actually works in flexbox...
2020-04-04 12:06:06 -07:00
Dustin Carlino
5ba468f4cf SVG border-radius is sometimes a lie. mimic the dirty trick. 2020-04-03 13:22:05 -07:00
Dustin Carlino
88bad05d39 clean up agent properties. lots of tweaks needed, but i'm exhausted 2020-04-02 21:36:19 -07:00
Dustin Carlino
5c69c6e221 change heatmap to use gaussian instead of weird diffusion. still looks
odd.
2020-04-01 11:38:41 -07:00
Dustin Carlino
62b49ad884 refactor: properly generic histogram, and remove unnecessary boilerplate
from Plot. Rust generics are so awesome.
2020-03-31 20:57:50 -07:00
Dustin Carlino
e12e788716 work on more small style improvements of info panels [rebuild] 2020-03-31 17:27:25 -07:00
Dustin Carlino
f733763f73 get trip panel closer to the new design. start trying to use fixed size
panels [rebuild]
2020-03-31 15:46:46 -07:00
Dustin Carlino
7be5b3f34a change settings live for traffic/delay graphs [rebuild] 2020-03-31 12:31:40 -07:00
Dustin Carlino
0fb22b5f50 sloppy (and incorrect!) implementation of gradients. temporarily breaks
non-glium backends, about to cleanup.
2020-03-30 15:48:23 -07:00
Dustin Carlino
be9671a51f more fixes for left-hand maps (#27):
- avoid a crash by deduping intersection polygon points
- make shared sidewalk corners saner by flipping order of points
- improve crosswalk determination
2020-03-16 18:27:33 -07:00
Dustin Carlino
e5d9d80c14 make sim stepping way more precise, doing minimal amount of time
advancement in the innermost layer

tested by making sure prebaked results don't budge
2020-02-28 14:52:41 -08:00
Dustin Carlino
3e6658785e active agent plot breaking polylines 2020-02-26 14:17:41 -08:00
Dustin Carlino
b2c92ab8f9 upstreaming some changes for wasm here
- use instant crate
- bring in the wasm ezgui backend and necessary setup tweaks
- upgrade stdweb

but no map editor build magic yet
2020-02-14 14:28:25 -08:00
Dustin Carlino
fc47d2b948 work on info panels a little more. lanes are looking pretty good now. 2020-02-12 11:16:05 -08:00
Dustin Carlino
f359995a27 adjust the indication of some selected objects 2020-02-10 13:16:39 -08:00
Dustin Carlino
4660dd077c rip out the old support for mapping UV coordinates onto a polygon 2020-02-08 16:48:01 -08:00
Dustin Carlino
1d13ae39c3 explain a few more things in the tutorial, improve arrows a bit
[rebuild]
2020-01-31 12:18:44 -08:00
Dustin Carlino
79de16a840 get the sim crate to build to wasm. a small step towards #21 2020-01-30 17:28:52 -08:00
Dustin Carlino
b2216bb482 not all lanes have to be the same width. make sidewalks a bit thinner. 2020-01-28 17:26:14 -08:00
Dustin Carlino
1c7764843a reorder and tune some info panel contents 2020-01-25 14:56:30 -08:00
Dustin Carlino
52e921ff66 tune miter explosion threshold for plots 2020-01-25 14:30:28 -08:00
Dustin Carlino
95a84fd26a tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00
Dustin Carlino
67ebb76f94 tiny refactor of rounded_rectangle. pad time panel 2020-01-20 12:36:27 -08:00
Dustin Carlino
1ab3c5200a limit max unzoom based on actual map dims 2020-01-13 14:39:02 -08:00
Dustin Carlino
0a5d945f20 avoid some bugs if we simulate way past 24 hours 2020-01-09 12:01:12 -06:00
Dustin Carlino
642084c595 rotate walk icons 2020-01-02 10:24:12 -06:00
Dustin Carlino
38bc88d54b make the pan buttons do something 2019-12-25 12:35:49 -08:00
Dustin Carlino
3755d9b858 proper clone for Sim 2019-12-24 14:47:07 -08:00
Dustin Carlino
a67b1bf19a refactor Polygon::rectangle_top_left and a few more things... taking
Distance everywhere is kind of silly
2019-12-20 12:42:49 -08:00
Dustin Carlino
04bcf77e2b work on new traffic signal scrolling panel. generalized scrollable
Composite works!
2019-12-20 09:35:27 -08:00
Dustin Carlino
1542e237d9 limit precision on ScreenDims. should fix #18 2019-12-12 09:13:25 -08:00
Dustin Carlino
b83e61eaee little outlines for the bars 2019-12-09 14:06:25 -08:00
Dustin Carlino
954ac97a9f started a histogram to show relative trip durations for fixing traffic
signals. lots of work needed.
2019-12-09 12:50:55 -08:00
Dustin Carlino
77099a164b try using usvg and lyon to produce Polygon+Colors from svg files. so
far, so good. dodging a dependency on harfbuzz (which doesn't build in
my windows cross-compilation env), now trying on mac...
2019-12-08 10:24:01 -08:00
Dustin Carlino
d0cdf2412d record intersection delays in analytics 2019-12-04 10:48:36 -08:00
Dustin Carlino
27213995e5 split out a histogram for percentages. for now, duplicate code 2019-12-02 14:19:50 -08:00
Dustin Carlino
1648b56009 fix crashes in all trip viz 2019-11-29 11:57:25 -08:00
Dustin Carlino
e1156a6384 print negative durations properly 2019-11-27 13:20:31 -08:00
Dustin Carlino
3d614ed763 helper for duration to make real-time seconds 2019-11-27 13:16:49 -08:00
Dustin Carlino
2c49d68a0f last lingering cleanups for Duration / Time types 2019-11-27 13:12:19 -08:00
Dustin Carlino
c6bfab7cde cutover scenrio-layer stuff to use Time 2019-11-27 12:50:52 -08:00
Dustin Carlino
a5dab493cd cutover internal sim time to Time 2019-11-27 12:40:49 -08:00
Dustin Carlino
819e27aa5d cutover sim time (via the API) to time 2019-11-27 11:49:57 -08:00
Dustin Carlino
e109c6b5a4 switch sim analytics to use Time 2019-11-27 11:06:57 -08:00
Dustin Carlino
3b6cc91440 make a new time type, don't touch duration yet 2019-11-27 10:33:58 -08:00
Dustin Carlino
082ae0cea1 simple polygon translate API -- no use in taking distances. pt2d isnt natively expressed in meters, and mostly using this for screenspace anyway 2019-11-27 09:15:46 -08:00
Dustin Carlino
ad20f596bf actually round the rectangles 2019-11-26 11:28:29 -08:00
Dustin Carlino
f0314c31b1 making an... almost rounded rectangle ;) 2019-11-24 18:08:46 -08:00
Dustin Carlino
aa4805cfeb some tools to debug why prebaked analytics arent matching 2019-11-20 17:01:12 -08:00
Dustin Carlino
accc344054 use scoreboard tool to show comparison for all trips 2019-11-15 13:19:57 -08:00
Dustin Carlino
2f31893c48 label time and print in AM/PM format 2019-11-15 11:14:08 -08:00
Dustin Carlino
7512098411 circular buttons need to act as covered areas too 2019-11-13 11:47:37 -08:00
Dustin Carlino
03d599775f clean up some crosswalks generated near roads with sidewalks only on one side 2019-11-12 15:54:47 -08:00
Dustin Carlino
53d1067414 refactoring some text to compare results 2019-11-07 09:37:04 -08:00
Dustin Carlino
255a7f735d very basic way to hover over series in a plot 2019-11-06 13:14:18 -08:00
Dustin Carlino
c54842faff get rid of DurationStats, just beef up DurationHistogram slightly 2019-11-04 14:31:40 -08:00
Dustin Carlino
7eeebb72ec displaying different bus arrival info, and experimenting with storing the data differently. no prebaking yet. 2019-11-04 10:41:50 -08:00
Dustin Carlino
33fe2981af oh wow, traffic signal durations have been hardcoded forever. woops? 2019-11-01 14:26:27 -07:00
Dustin Carlino
06dd88ec34 first cut on prebaking challenge results against different baselines.
just for faster trips right now.
2019-11-01 13:33:02 -07:00
Dustin Carlino
b6dee0b35d new challenge: speed up trips of some target population 2019-11-01 10:59:27 -07:00
Dustin Carlino
78904c007f be able to change the statistic in the bus score display. still not
quite presenting something sensible, but...
2019-10-31 16:33:38 -07:00
Dustin Carlino
1d5064ca1b track all bus arrivals, show distribution. track total number of
passengers per route
2019-10-29 22:11:56 -07:00
Dustin Carlino
d757b45bff manually workaround y inversion with stretched textures by modifying the
images
2019-10-29 16:36:19 -07:00
Dustin Carlino
e03e3393dd be a little smarter about finding hits with the boundary 2019-10-25 13:54:09 -07:00
Dustin Carlino
77d0647b4f when gluing together partial multipolygons, trace along the border when possible. improves a few cases. 2019-10-25 13:46:21 -07:00
Dustin Carlino
3dfeae8b2c introduce a proper closed polyline abstraction, sub it in 2019-10-25 13:14:05 -07:00
Dustin Carlino
fe14e1709b implement PartialEq on Pt2D using the old epsilon_eq. too many places in the codebase are inconsistent. 2019-10-25 12:24:18 -07:00
Dustin Carlino
cb4720946c experiment with texturing cars, with some fun UV coordinates. looks half
reasonable when it works. breaks on duplicate points, not sure what's
wrong yet
2019-10-24 14:07:03 -07:00
Dustin Carlino
820a660132 experiment with building roofs 2019-10-23 23:36:01 -07:00
Dustin Carlino
17e02ebdf0 adding in support for rotating textures, except missing y-inversion 2019-10-23 16:30:23 -07:00
Dustin Carlino
2313b06995 DISABLED: apply sidewalk hints, same as parking. need to sort out what
should happen with parking without sidewalks
2019-10-23 13:00:42 -07:00
Dustin Carlino
cca6e25202 fix crash in make_arrow 2019-10-23 08:14:03 -07:00
Dustin Carlino
50728cf375 use epsilon_eq for polyline extension, so offstreet parking geom doesnt break in one case 2019-10-19 17:42:03 -07:00
Dustin Carlino
db4db7e0d9 very basic tool to point out intersections with the most contention 2019-09-30 11:39:55 -07:00
Dustin Carlino
a539270beb dont compare GPSBounds exactly, bc floating pt serialization problems.
add a turn restriction near uw.
2019-09-30 09:24:17 -07:00
Dustin Carlino
0961475abc some prep to make debugging intersection geometry in map_editor easier.
showing cursor pt and labeled debug lines.
2019-09-26 14:29:23 -07:00
Dustin Carlino
deaa555565 cutover Original{Road,Intersection} to just use OSM IDs. adjust a few
other places to ensure unique-per-map synthetic OSM IDs
2019-09-23 11:50:04 -07:00
Dustin Carlino
f18fc72265 finish structopt removal 2019-09-18 17:29:34 -07:00
Dustin Carlino
572c69175c apply fixes to raw_data in synthetic crate and when creating the full map model. adjusting some LonLat matches to do approx_eq. not stable yet -- sometimes we leave a road connected to something missing. 2019-09-16 12:31:15 -07:00
Dustin Carlino
4a12cdd36a easy way to select and delete big chunk of stuff in synthetic 2019-09-16 10:16:56 -07:00
Dustin Carlino
5c2d86ee95 improve a/b scoreboard colors and duration printing 2019-09-15 12:25:57 -07:00
Dustin Carlino
353d89cd25 more synthetic fixes: redo mouseover when model changes, avoid panic
with 0-len new road line, fix reused IDs, fix contains_pt for
some precomputed polygons
2019-09-12 09:54:12 -07:00
Dustin Carlino
1910d06bc7 infer clipping polygon from entire .osm if no polygon is specified 2019-09-02 12:37:40 -07:00
Dustin Carlino
636e6328cb fix up synthetic's boundary_polygon, and remove more dead geom code 2019-08-26 16:04:26 -07:00
Dustin Carlino
0a39f4bd77 get rid of the coordinates_in_world_space hack; synthetic can just directly work in Pt2Ds now 2019-08-26 15:57:28 -07:00
Dustin Carlino
c545e5d86e some bug with previous commit messing up roundabout handling... quick detour to only have HashablePt2D for Pt2D, never for LonLat 2019-08-26 14:10:34 -07:00
Dustin Carlino
114a76893a now raw_data::Road 2019-08-26 13:59:10 -07:00
Dustin Carlino
ce4369be27 raw_data::Building too 2019-08-26 10:36:00 -07:00
Dustin Carlino
6af2c5c0e0 raw_data::Area up-front stores a Polygon 2019-08-25 19:28:59 -07:00
Dustin Carlino
29eb463a6f base gps_bounds off of boundary polygon only. temporarily allow some out-of-bound coordinates, and deal with them during clipping. this means the osmosis boundary polygon is required. 2019-08-25 19:07:12 -07:00
Dustin Carlino
f8aaf4d7bf using dyn explicitly, per rust 1.37 deprecation warning 2019-08-22 15:05:17 -07:00
Dustin Carlino
df90fc4f50 polylabel for building numbers 2019-08-19 12:01:10 -07:00
Dustin Carlino
a9267c76c7 debug tooltip showing how far an agent has traveled and how much
remains. seems to have small perf impact on initially calculating paths.
:(
2019-08-16 15:43:20 -07:00
Dustin Carlino
a5b73c060a make savestate_every a flag again 2019-08-16 13:34:38 -07:00
Dustin Carlino
f78c58e11d remove clipping dep from convert_osm, switch to geo-booleanop 2019-08-15 23:20:11 -07:00
Dustin Carlino
4e83f492d8 upgrade rand, get rid of now unneeded serde1 feature, in hopes of fixing feature mismatch between deps 2019-08-15 12:14:35 -07:00
Dustin Carlino
758c5494d8 remove old unused deps 2019-08-09 13:34:40 -07:00
Dustin Carlino
3c2d794c62 sliders coupled with text boxes in wizards for picking times 2019-07-21 11:26:11 +02:00
Dustin Carlino
8b5690c1a4 now actually plumbing data for scoreboard 2019-06-13 14:46:28 -07:00
Dustin Carlino
da85927d03 change Hints to store based on gps points, so hints are universal, not per map 2019-06-12 14:55:48 -07:00
Dustin Carlino
97fe81d271 VERY fast clip_trips: parallelism, faster distance function, don't
constantly recalculate pts
2019-05-31 14:43:15 -07:00
Dustin Carlino
8b4ed47cc4 display the OOB pt for border trips, for sanity 2019-05-31 13:12:03 -07:00
Dustin Carlino
dd9e187db6 simple, but seemingly effective remediation for polylines exploding out
to infinity...
2019-05-29 15:48:33 -07:00
Dustin Carlino
110140f391 union make_arrow polygon 2019-05-28 18:05:10 -07:00
Dustin Carlino
ea49fe63ba match PSRC trips to OSM building IDs up-front, trimming down filesize and speeding up clipping later 2019-05-28 13:04:31 -07:00
Dustin Carlino
83f62631e9 fix cases where path.trace doubles back on itself a bit due to slightly
weird walking geometry
2019-05-28 10:19:49 -07:00
Dustin Carlino
01a4abb64a work around path traces that're breaking PolyLine 2019-05-25 13:33:41 -07:00
Dustin Carlino
a6ecda2d07 also scrape trip time and distance, for sanity checks 2019-05-23 15:47:45 -07:00
Dustin Carlino
0569dd4abd reading the PSRC parcels file, converting coordinates 2019-05-23 13:58:15 -07:00
Dustin Carlino
dfdc6804e5 very barebones mode to explore the popdat 2019-05-20 09:12:57 -07:00
Dustin Carlino
4c1e9b41c1 experimentally try finding intersection polygon by naively intersecting thick road polygons. 2019-05-17 15:48:21 -07:00
Dustin Carlino
222ddf6a96 use Distance, not f64, for some params in geom/ layer, simplifying other code 2019-05-17 12:42:36 -07:00
Dustin Carlino
a816a3d0be defining a better set of pre-converted maps. disabling fix_ramps in most
cases.
2019-05-16 16:22:52 -07:00
Dustin Carlino
113aa99b47 show signal yield turns as outlines, not dashes 2019-05-15 15:00:38 -07:00
Dustin Carlino
e350d10578 fix crash in to_thick_boundary triggered in the 23rd map 2019-05-14 10:42:42 -07:00
Dustin Carlino
9252dbd14b traffic signal boxes have 3 circles, more recognizable 2019-05-13 14:46:50 -07:00
Dustin Carlino
9b848c894a better selection polygons for polyline-based things 2019-05-11 16:03:39 -07:00
Dustin Carlino
8bd4ab72d4 draw full stop sign octagon when editing a single intersection 2019-05-10 15:23:31 -07:00
Dustin Carlino
a4f6a773a9 fix up time limits for headless/tests. fix a few tests now that peds
walk slowly.
2019-05-08 20:05:52 -07:00
Dustin Carlino
73ae88bd98 adjust how periodic savestating happens to prep for truly variable timesteps 2019-05-08 12:36:46 -07:00
Dustin Carlino
6a66276606 every day the pedestrians are shuffling 2019-05-06 17:40:59 -07:00
Dustin Carlino
b060a3ecc2 giving pedestrians more shape 2019-05-06 12:45:52 -07:00
Dustin Carlino
1dca1bd560 handle arrow-making for short last lines 2019-04-20 21:59:17 -07:00
Dustin Carlino
f5a863c64a argh, i cant do algebra. fixed arrowheads. 2019-04-20 18:20:42 -07:00
Dustin Carlino
669fd886d5 improve turn markings on lanes 2019-04-20 11:47:42 -07:00
Dustin Carlino
e873f79f67 removing old code for area clipping 2019-04-13 15:54:13 -07:00
Dustin Carlino
0772e6e3c8 make_arrow only for PolyLine, simplify and improve the result in most
cases
2019-04-12 15:06:44 -07:00
Dustin Carlino
2ecd8a0edb avoid crash in make_shared_sidewalk_corner 2019-04-12 13:32:41 -07:00
Dustin Carlino
11a1c3543e clip buildings that're partly out-of-bounds 2019-04-12 13:05:59 -07:00
Dustin Carlino
a9afc3efdd improve arrow API, at least -- creating them from a polyline is fine 2019-04-11 17:39:07 -07:00
Dustin Carlino
94b5307828 use the new SharedSidewalkCorner code for turn geometry, at least 2019-04-11 16:38:06 -07:00
Dustin Carlino
1a395d7e4f clean up dead code 2019-03-17 20:31:48 -07:00
Dustin Carlino
c40c4fdff4 eager impl to not hit the back of cars. no handling of short lanes, and
follower waits before starting to cross the end of a lane.
2019-03-16 14:53:46 -07:00
Dustin Carlino
db536a04d5 refactor an exact_slice for polylines 2019-03-15 14:02:43 -07:00
Dustin Carlino
5ca359998c upgrade some dependencies and list data source licenses in README 2019-03-11 16:04:47 -07:00
Dustin Carlino
bc9a9aa360 histogram of how far events are in the future 2019-03-05 13:43:49 -08:00
Dustin Carlino
b69c01ea5f preps to swap out scheduler priority queue impl 2019-03-04 20:50:36 -08:00
Dustin Carlino
5a8e42642f my own custom hierarchical pathfinding. working great for driving. 2019-03-02 16:49:20 -08:00
Dustin Carlino
dcce91b97a delete Acceleration 2019-02-27 12:29:23 -08:00
Dustin Carlino
41d23d2e54 properly implementing stuff in Sim so far... removing some half-baked summary stuff 2019-02-26 17:06:06 -08:00
Dustin Carlino
fdecedc508 fix Duration formatting 2019-02-26 16:38:13 -08:00
Dustin Carlino
5043c193b2 split up geom units.rs 2019-02-26 16:22:35 -08:00