Commit Graph

210 Commits

Author SHA1 Message Date
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