Commit Graph

538 Commits

Author SHA1 Message Date
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
Dustin Carlino
42c7c21246 removing many external dependencies on Tick. moving time parsing to
Duration.
2019-02-26 14:09:08 -08:00
Dustin Carlino
d5181f6bf8 own time inside of Sim 2019-02-26 13:08:56 -08:00
Dustin Carlino
e404780c25 bikes pt1 -- start biking 2019-02-26 11:14:28 -08:00
Dustin Carlino
2e37d673b8 port scheduler. use it for spawning peds. 2019-02-23 15:18:03 -08:00
Dustin Carlino
b02807ceee use quadtree to speed up fix_ramp step 2019-02-22 10:15:13 -08:00
Dustin Carlino
a45b4510b6 speed up neighborhood<->building and road matching during scenario instantiation 2019-02-21 11:33:56 -08:00
Dustin Carlino
70cfcc9b45 convert all synthetic maps during precompute.sh; they keep getting out of sync with map format changes 2019-02-21 10:25:59 -08:00
Dustin Carlino
c2791a6ead using Warn in all of geom 2019-02-20 10:36:58 -08:00
Dustin Carlino
1848387ef0 starting to organize warnings in a much more reasonable way. 2019-02-20 10:08:02 -08:00
Dustin Carlino
b254316934 drawing cars smoothly across steps 2019-02-19 18:06:20 -08:00
Dustin Carlino
7a8088f772 actually, trying a new idea for a DES model 2019-02-19 14:34:39 -08:00
Dustin Carlino
e4e07e7ba6 make it easier to debug areas 2019-02-18 15:56:15 -08:00
Dustin Carlino
914f5a6642 check for cars too close during the stress test 2019-02-18 14:38:57 -08:00
Dustin Carlino
cb6595574d make basic car following work on short lane. has epsilon hacks kind of
spread around, but seems solid.
2019-02-15 12:24:27 -08:00
Dustin Carlino
a2e2c3311e drawing border arrows way better 2019-02-12 14:42:03 -08:00
Dustin Carlino
e68d6225c8 clipping roads based on original boundary polygons. buggy, so disabled. 2019-02-11 22:13:49 -08:00
Dustin Carlino
e2de3e208c use FindClosest quadtree helper for residential bldg permit matching 2019-02-11 15:35:06 -08:00
Dustin Carlino
8b6a863b60 print timer iterations and durations more legibly 2019-02-11 11:16:07 -08:00
Dustin Carlino
ec01207369 try upgrading rand and serde again 2019-02-10 15:57:28 -08:00
Dustin Carlino
bb6f5e0af0 plugin to show original road centers at the end 2019-02-08 12:06:17 -08:00
Dustin Carlino
b547db43b6 basic impl of crossing entire long lane and waiting at the end 2019-02-07 18:11:53 -08:00
Dustin Carlino
6354a09293 using interval intersection to correctly find the time and position of a
hit!
2019-02-07 10:18:20 -08:00
Dustin Carlino
f6a53797f0 manually glueing together some fixed intervals 2019-02-06 22:53:43 -08:00
Dustin Carlino
3bf4807364 thoughts on a different simulation model and a plugin skeleton to play
with it
2019-02-06 19:14:19 -08:00
Dustin Carlino
3ee73668f2 just trying to detect the weirdness that is O253. pretty much works. 2019-02-06 15:48:33 -08:00
Dustin Carlino
6b29a2a38d fixing issues with bikes spawning close to intersections, by making the
bound be really conservative
2019-02-05 09:56:07 -08:00
Dustin Carlino
7b045146da ah, there are speeds low enough to round off to zero distance when applied with the timestep. systematically get rid of EPSILON_SPEED. 2019-02-03 18:10:29 -08:00
Dustin Carlino
f9ccecad26 fix spawning of vehicles on borders 2019-02-02 14:25:50 -08:00
Dustin Carlino
d08751fb64 preupload pedestrian geometry 2019-02-02 13:44:27 -08:00
Dustin Carlino
92134f9125 get halloween working with small lines. refactor a Line::maybe_new. 2019-02-01 12:12:40 -08:00
Dustin Carlino
142bd57aa0 refactoring some approx_eq EPSILON_DIST checks 2019-01-31 15:10:33 -08:00
Dustin Carlino
2282c5658d make geom types Ord now 2019-01-31 14:29:47 -08:00
Dustin Carlino
b9e96618da stop abusing max distance for path tracing. disable some newly brokenish stuff 2019-01-31 13:09:15 -08:00
Dustin Carlino
88af2a74d2 seeing if everything is solid... 2019-01-31 12:31:01 -08:00
Dustin Carlino
23db7cc646 try really dumb trimming... it works :O 2019-01-31 08:53:30 -08:00
Dustin Carlino
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
ac2b8f5a9a switch to new units in sim... and editor, darnit, accidentally ammended
commit
2019-01-30 14:19:48 -08:00
Dustin Carlino
133ec037c9 switching to new units in map_model 2019-01-30 13:07:53 -08:00
Dustin Carlino
976369e7e8 switching to new units in geom crate only 2019-01-30 12:40:52 -08:00
Dustin Carlino
32b6c35c80 just defining, but not using, the new units 2019-01-30 12:11:42 -08:00
Dustin Carlino
3804e1b36c much more trustable algorithm for dist_along_of_point and contains_pt.
confirmed no interesting differences. couldn't quite get rid of the
clockwise check yet...
2019-01-30 11:16:07 -08:00
Dustin Carlino
7ce2242cb2 forgot to make 'cant trim' thing a panic, and tiny refactoring before trying to make pt2d be integers 2019-01-30 09:27:23 -08:00
Dustin Carlino
1491d80da2 stop EVER representing a polyline with dupe pts 2019-01-29 19:05:20 -08:00
Dustin Carlino
2a70efde5f simplify: slice can fail. all the callers dont have to check for EPSILON_DIST
(also, disable not-so-useful geom unit tests that use randomness)
2019-01-29 18:53:04 -08:00
Dustin Carlino
ca058331e5 fixing path trace cases that wind up with points too squished together 2019-01-29 16:23:01 -08:00
Dustin Carlino
a98383db8f dealt with cases where a pair of intersections has two roads between them 2019-01-29 15:34:53 -08:00
Dustin Carlino
103a4ca053 ensuring no tiny Lines exist in most cases 2019-01-29 13:23:54 -08:00
Dustin Carlino
7495d29288 handle a case when drawing shared sidewalk corners 2019-01-28 23:57:39 -08:00
Dustin Carlino
a27ab279b6 just a new line intersection algorithm... that fixes a few small issues
:)
2019-01-28 23:19:08 -08:00
Dustin Carlino
2e982ec827 making an infinite line type, to be less confusing 2019-01-28 18:28:05 -08:00
Dustin Carlino
191b87f148 dealing with geom bugs occurring on bigger maps 2019-01-28 15:11:13 -08:00
Dustin Carlino
9fc41078c2 fixed the funky polyline gluing... angle comparisons are hard, so change
the API for them.
2019-01-27 14:27:40 -08:00
Dustin Carlino
76be0c1ad4 trying to restore original road geometry without polyline bugs, but...
only fixed one bug. :)
2019-01-26 16:59:01 -08:00
Dustin Carlino
f2d8e77759 figured out the source of a weird polyline bug, adding checks to avoid
it in the future
2019-01-26 16:27:11 -08:00
Dustin Carlino
07397c642a rephrase trim_to_pt way more understandably 2019-01-26 15:05:34 -08:00
Dustin Carlino
ab6796d56c make intersection actually be a polygon now 2019-01-26 13:31:29 -08:00
Dustin Carlino
8afe83162b collapsing all lane markings into a single Drawable 2019-01-25 11:21:46 -08:00
Dustin Carlino
b21852875e batch lots more easy things... down from 760 calls for a scene to 158 2019-01-25 08:39:45 -08:00
Dustin Carlino
a065c63ad7 batching sidewalk lines. fix the very silly batching bug 2019-01-25 08:10:09 -08:00
Dustin Carlino
49f0c64ef4 use the pts/indices for rendering 2019-01-24 15:32:46 -08:00
Dustin Carlino
559d568acd make Polygon store points and indices. don't use this fact for rendering
just yet.
2019-01-24 15:13:27 -08:00
Dustin Carlino
fad89ddffa include more pts in the intersection polygon to only cover area from the original road bands. also fix a bug deduping points in the polygon. 2019-01-19 20:56:03 -08:00
Dustin Carlino
dfe50dcee4 reasonable support for roundabouts... collapse it to a single
intersection, which usually gets treated like a stop sign, and has
reasonable geometry
2019-01-16 15:05:44 -08:00
Dustin Carlino
e8e119dbbf remove all the polyline shifting/polygon variants that might fail 2019-01-15 15:25:00 -08:00
Dustin Carlino
57665c9325 enable the polyline angle-fixing... it improves lots of problems and only makes one intersection look worse. still needs more work later. 2019-01-15 14:14:48 -08:00
Dustin Carlino
aae021f478 oops, gigantic change trying to handle bad lane geometry
- debug points and triangles of lanes
- disabled fixes for polylines with points that change angles by 180 and can be fixed by swapping them
- organize intersection polygon code in different methods for the degenerate cases
- try something new for degenerate-two's... fix road centers, then calculate intersection corners. it fixed a few spots!
2019-01-15 13:48:15 -08:00
Dustin Carlino
930107793b dedupe pts from intersection polygons without making all Pt2Ds have careful resolution yet. sidewalk corners now need work... 2019-01-12 23:17:05 -08:00
Dustin Carlino
9590ee7e78 preps for Pt2D with 1cm resolution... immutable PolyLine, helper for
pt-pt distance
2019-01-12 19:13:16 -08:00
Dustin Carlino
daa55026ae making shift left/right for polyline too 2019-01-12 14:13:15 -08:00
Dustin Carlino
caf4006837 explicitly making shift right/left for Line 2019-01-12 13:48:14 -08:00
Dustin Carlino
bc6a61fc74 WIP: better sidewalk corner geometry. it's a start. 2019-01-12 13:40:06 -08:00
Dustin Carlino
47b5d2e4aa upgrade all other deps, except for piston/winit stuff 2019-01-11 12:36:20 -08:00
Dustin Carlino
c09fa98f57 upgrade a few dependencies 2019-01-11 10:55:58 -08:00
Dustin Carlino
60aebe6d74 woops, without_last_line was wrong 2019-01-10 15:04:10 -08:00
Dustin Carlino
c70057d46e finding an intersection pt, then going back to find the angle, sometimes
fails due to floating point nonsense, so combo the query to fix a few
more cases
2019-01-10 12:03:14 -08:00
Dustin Carlino
7960601ff9 WIP trying to get perpendiculars on the road center... 2019-01-10 09:48:47 -08:00
Dustin Carlino
0522829d9a draw my own arrows, which don't exceed distance too much... except they
dont work in all cases, so disable
2019-01-09 14:59:46 -08:00
Dustin Carlino
b7dfa3effc make neighborhood editor work with synthetic maps, so i stop thinking the plugin is broken 2018-12-22 16:53:50 -08:00
Dustin Carlino
0aece4944d prep for disabling mouseover by changing canvas API. fix neighborhood
plugin to handle out-of-bounds points while we're there.
2018-12-22 16:49:47 -08:00
Dustin Carlino
1d9f3320fa implementing draw_line and draw_rounded_line directly 2018-12-22 13:58:45 -08:00
Dustin Carlino
0c2a389f96 dont draw complicated stop sign depiction when hovering. simplify lots of the rendering hints, also fixing up traffic signal crosswalk depiction. 2018-12-20 11:28:42 -08:00
Dustin Carlino
4805892acd caching polyline length, even though it doesn't seem to affect total
performance
2018-12-10 14:59:52 -08:00
Dustin Carlino
f48757c5e7 clippy pt2 2018-12-08 19:56:54 -08:00
Dustin Carlino
ab86835611 initially playing with clippy... pt1 2018-12-08 18:21:56 -08:00
Dustin Carlino
b7edc07580 moving a few inlined unit tests to my test framework. didnt spot these before. 2018-12-06 12:59:08 -08:00
Dustin Carlino
91b2b07fbd remove more extern crate's; import macros directly 2018-12-06 11:22:12 -08:00
Dustin Carlino
375a923a9d try removing most extern crate's 2018-12-06 11:00:13 -08:00
Dustin Carlino
f64f411093 upgrade all crates to 2018 in Cargo.toml. this requires switching to
crate:: paths everywhere. not yet fiddling with 'extern crate's
2018-12-06 10:57:31 -08:00
Dustin Carlino
6a0cd7f71e rust 2018: run the new fmt, delete the unneeded script 2018-12-06 10:05:50 -08:00
Dustin Carlino
7c53e9bb4a dashed polylines for yielding turns 2018-12-03 13:45:06 -08:00
Dustin Carlino
5bc9992fc0 using blockface kml in convert_osm to prescribe parking lanes 2018-11-21 22:43:14 -08:00
Dustin Carlino
bd67d88bab adjust the blockface<->road matching 2018-11-21 15:39:49 -08:00
Dustin Carlino
044a25fce2 give up on Sim being Eq; settle for PartialEq, get rid of all of the annoying 'ignore this field' hacks. also getting rid of unnecessary PartialEq impls in map_model 2018-11-18 16:28:43 -08:00
Dustin Carlino
7b6f1c4624 refactoring a proper way to draw/use rectangles 2018-11-14 09:57:58 -08:00
Dustin Carlino
7ddbd753f4 storing neighborhoods as GPS 2018-11-09 14:12:20 -08:00
Dustin Carlino
cda4a9ad81 improve lane trimming by picking the closest collision of a polyline to a polygon 2018-11-07 14:01:58 -08:00
Dustin Carlino
4bede29429 make trim_to_pt panic 2018-11-07 13:54:39 -08:00
Dustin Carlino
0008712c9a revamping driving turns to handle multi-lane cases better. seems to work
well!
2018-11-07 10:53:48 -08:00
Dustin Carlino
db34ddb2b7 changing the activity plugin to show a heatmap of what's currently in view 2018-11-01 16:07:48 -07:00
Dustin Carlino
ab1254870a fixing some of the 3-way cases... others arent even detected, seemingly 2018-10-31 12:02:18 -07:00
Dustin Carlino
c22ec98259 get_bounds for PolyLine 2018-10-31 08:31:16 -07:00
Dustin Carlino
27406a5a5c rotating stop signs (really an excuse to start using the geo crate in geom...) 2018-10-30 16:04:46 -07:00
Dustin Carlino
f8f2ea3f95 switching to a simpler GPS<->Pt2D scheme that's bijective 2018-10-29 15:01:15 -07:00
Dustin Carlino
bb9c98b54e splitting into two Bounds types 2018-10-29 14:16:30 -07:00
Dustin Carlino
cc9f0289ab exporting polygons in the osmosis format... wait, may need to change the
coordinate system first. let's first refactor bounds to be more careful
about existing code.
2018-10-29 12:29:11 -07:00
Dustin Carlino
ab38836c70 debug offsets in weird polylines, remove unused polyline methods 2018-10-29 10:38:48 -07:00
Dustin Carlino
3a62ed8695 refactor get_bbox 2018-10-28 18:43:36 -07:00
Dustin Carlino
9c1ae28bf8 ped trace_routes were wrong for contraflow steps 2018-10-22 13:16:30 -07:00
Dustin Carlino
ec49d2dd20 fix problem with trace_route requesting invalid start dist 2018-10-17 15:27:38 -07:00
Dustin Carlino
d02c5004f9 clean up Pt2D::from_gps API 2018-10-17 13:14:10 -07:00
Dustin Carlino
d0f88f8d52 use new Trace for show_route plugin. handle 0-length turns 2018-10-09 14:36:53 -07:00
Dustin Carlino
d7a36889b2 some of the pieces to render smart arrows in front of agents 2018-10-09 12:56:58 -07:00
Dustin Carlino
7ca7f08ef7 refactoring focus pt per object 2018-10-08 16:20:45 -07:00
Dustin Carlino
403ef7d0ec also move the buildings 2018-10-07 12:51:27 -07:00
Dustin Carlino
94ac54d7e8 stop using Color and Vec2d types from piston, to slowly move away from dependence on piston 2018-10-05 14:58:48 -07:00
Dustin Carlino
20a1bb7923 dispersing the remainders of map_model::geometry 2018-09-18 14:35:10 -07:00
Dustin Carlino
1050d86e67 making a proper Circle type in geom 2018-09-18 14:00:55 -07:00
Dustin Carlino
e8ef4545fb remove to_vec from Pt2D; only need it in one triangulation-specific place 2018-09-18 13:44:14 -07:00
Dustin Carlino
49ebe97c21 small refactor in ezgui and polyline 2018-09-18 13:39:55 -07:00
Dustin Carlino
7dc192b0c9 refactoring helpers to draw lines 2018-09-18 13:29:30 -07:00
Dustin Carlino
e65f3aecc7 update to rust 1.29, re-run format 2018-09-15 16:54:00 -07:00
Dustin Carlino
0876315d50 make large.abst load, damnit!
- deal with loop lanes screwing up trim_lines
- give up when trim_lines fails and just keep the full geometry
- tune some epsilons
- delete duplicate turns instead of panicking
2018-09-08 21:16:58 -07:00
Dustin Carlino
f386278343 tuning EPSILON_DIST to make large.abst closer to loading 2018-09-08 19:48:11 -07:00
Dustin Carlino
f3982282de speed up building creation by doing sidewalk finding in bulk 2018-09-08 13:28:09 -07:00
Dustin Carlino
ba9fe54c2a trying to make medium map load!
- new polyline shifting that keeps a constant width, even at sharp
  corners. it breaks and is slow when shifting just to make thick
  polygons, so keep the old version around for that. actually, disable
  it always. :(

- deal with bus stops on sidewalks with no associated driving lane

- more hacks to make dist_along_of_pt work for horiz/vertical lines

- handling bus stops close to the end of a sidewalk
2018-09-08 12:48:25 -07:00
Dustin Carlino
87a33a6c78 replaced parts of the polygon ear clipping and seemingly fixed all the
problems!
2018-09-07 15:03:28 -07:00
Dustin Carlino
c3d7595fc3 (slightly) smarter stop sign assignment 2018-08-24 12:46:09 -07:00
Dustin Carlino
f36c94c730 render individual points from extra KML, and refactor some circle helpers 2018-08-23 15:17:37 -07:00
Dustin Carlino
2a12c338cf fixing up the parking test... had to deal with horizontal/vertical lines
for the building front path stuff
2018-08-23 10:37:17 -07:00
Dustin Carlino
82952ef198 remembering where the front path hits the sidewalk 2018-08-22 12:21:58 -07:00
Dustin Carlino
a2399f6613 trimming front paths to building edges 2018-08-22 11:54:18 -07:00
Dustin Carlino
bf52822e37 wrote a few tests of parking 2018-08-19 18:07:28 -07:00
Dustin Carlino
f45bc525d5 fix a few epsilon issues that made restoring from a savestate break 2018-08-15 15:37:07 -07:00
Dustin Carlino
6693147a99 WIP making driving cars park at a specific spot 2018-08-15 15:29:49 -07:00
Dustin Carlino
bf2bd09a54 WIP converting lanes and draw car to new polygon 2018-08-09 10:36:29 -07:00
Dustin Carlino
1b610aa708 making a proper polygon type, finally. using it in a few places, not all
yet
2018-08-08 18:00:10 -07:00
Dustin Carlino
5d2a4f3ac4 trying an ear clipping algorithm for buildings and parcels. works great,
lots of cleanup needed now!
2018-08-08 14:39:08 -07:00
Dustin Carlino
d0744083fc stop right BEFORE intersections 2018-08-07 14:06:31 -07:00
Dustin Carlino
4c0a8f588a still debugging various breakages. drawing lane IDs 2018-08-07 12:23:00 -07:00
Dustin Carlino
5ad6f53607 use new dimensioned version, letting us serialize maps and clean up
hacks elsewhere
2018-08-01 14:05:38 -07:00
Dustin Carlino
7ee8ef0d8d cleaning up after polyline trimming 2018-07-23 10:05:20 -07:00
Dustin Carlino
272620119f WIP working on polyline trimming, but nice and slowly this time 2018-07-23 09:41:51 -07:00
Dustin Carlino
a52b966b03 make some more pedestrian paths possible by forcing turns even when line trimming fails 2018-07-23 08:39:58 -07:00
Dustin Carlino
82fb302ddd fixing nondeterministic map conversion 2018-07-22 17:14:07 -07:00
Dustin Carlino
5b018fdf06 adding tests for map conversion determinism 2018-07-22 17:09:12 -07:00
Dustin Carlino
1c85188a64 WIP removing disconnected chunks of map. leaves orphaned intersections
still, so disabled.
2018-07-22 16:31:31 -07:00
Dustin Carlino
e5de791fa7 starting to model pedestrians. spawn and draw them. 2018-07-11 15:06:31 -07:00
Dustin Carlino
0e4ff75286 setting up an intersection test in experimental 2018-07-07 10:48:46 -07:00
Dustin Carlino
f9c1b3b526 WIP representing polyline shifting failure 2018-06-29 11:17:39 -07:00
Dustin Carlino
fe53536024 prototyping crosswalks 2018-06-29 10:30:36 -07:00
Dustin Carlino
a082fbb511 moving stuff to geom crate 2018-06-28 20:35:00 -07:00
Dustin Carlino
ba310cbd45 removing geom crate, using just map model 2018-06-25 09:00:43 -07:00
Dustin Carlino
3838a1c4ac extra lanes on one-ways 2018-06-19 13:39:10 -07:00
Dustin Carlino
4da2136dee mostly fix curved roads, needed a different quad to fill in the gap 2018-06-19 12:14:53 -07:00
Dustin Carlino
592f284be3 fix center lines for two-ways 2018-06-19 10:28:08 -07:00
Dustin Carlino
52b8570e6c sidewalks for two-ways 2018-06-19 10:10:30 -07:00
Dustin Carlino
854eee4fd0 rendering parking lanes for two-ways... 2018-06-19 09:54:21 -07:00
Dustin Carlino
55fea2d5a7 moving to new way of generating lanes from osm ways 2018-06-19 09:29:58 -07:00
Dustin Carlino
ef78902f9a slowly moving away from depending on other_side in Road, and declaring LaneType stuff 2018-06-19 09:03:26 -07:00
Dustin Carlino
6a695740bd paving the way for offsets 2018-06-18 15:25:17 -07:00
Dustin Carlino
91920c3e1d dont reach into DrawRoad's polygon directly from DrawIntersection 2018-06-18 14:46:11 -07:00
Dustin Carlino
40ec99592d making DrawRoad use pts from GeomRoad 2018-06-18 12:46:25 -07:00
Dustin Carlino
923883883b updating README and trimming license declarations 2018-06-03 17:56:53 -07:00
Dustin Carlino
065c2ce9ba Importing everything since the initial import 2018-04-10 17:51:37 -07:00