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
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
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