Commit Graph

1538 Commits

Author SHA1 Message Date
Dustin Carlino
13698cdb20 small fixes... debug buildings, spawn from headless, timer for
instantiating a scenario
2019-02-04 11:56:54 -08:00
Dustin Carlino
bfd0465a3d track the intent of chosen acceleration, to see why overshooting is happening 2019-02-03 09:41:29 -08:00
Dustin Carlino
fb2bb08f66 be able to hide stuff in InitialMap debugger 2019-02-02 17:51:49 -08:00
Dustin Carlino
899d876968 only reset camera for some initial maps 2019-02-02 16:40:12 -08:00
Dustin Carlino
3451b65823 lazily compute SimStats 2019-02-01 14:31:35 -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
f5f8a57640 automatically focus on changed intersection in InitialMap viewer 2019-02-01 11:50:54 -08:00
Dustin Carlino
0a79b354b2 remove ability to create Map from InitialMap, now that we have a separate debugger 2019-02-01 11:09:22 -08:00
Dustin Carlino
0346166304 starting a generic viewer that works with InitialMap 2019-01-31 16:33:43 -08:00
Dustin Carlino
142bd57aa0 refactoring some approx_eq EPSILON_DIST checks 2019-01-31 15:10:33 -08:00
Dustin Carlino
48a5556f17 improving debuggability of merged maps by printing intersections to look at 2019-01-31 14:54:30 -08:00
Dustin Carlino
2282c5658d make geom types Ord now 2019-01-31 14:29:47 -08:00
Dustin Carlino
7432ec1b42 workaround bus getting stuck on tiny road by making more left turns 2019-01-31 13:11:52 -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
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
133ec037c9 switching to new units in map_model 2019-01-30 13:07:53 -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
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
e274fd9652 making ped_uses_transit test bit more robust by picking bldgs from the bus stops 2019-01-29 17:13:07 -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
2e982ec827 making an infinite line type, to be less confusing 2019-01-28 18:28:05 -08:00
Dustin Carlino
4e89b0fcfe filter out cul-de-sacs earlier, so convert_osm works again 2019-01-28 13:19:42 -08:00
Dustin Carlino
6aaa55891e saving lots of InitialMaps... and manually loading one at a time 2019-01-28 09:42:28 -08:00
Dustin Carlino
79c316c9d9 restore center pts at the correct end... and then confirm that
intersection polygons look mostly better by restoring first
2019-01-27 14:59:46 -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
1de36283ae trying out a fixed-pt algorithm. seeing geometry problems and lots of over-eagerness, but this is a start. 2019-01-26 17:18:46 -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
c58113d631 port the simpler intersection merging to InitialMap-world. try the
geometry restoration... wait, need more stuff first
2019-01-26 14:59:18 -08:00
Dustin Carlino
aa09303b44 moving rest of map construction into halfmap 2019-01-26 14:18:38 -08:00
Dustin Carlino
ab6796d56c make intersection actually be a polygon now 2019-01-26 13:31:29 -08:00
Dustin Carlino
dcad4a3c87 create halfmap from initialmap 2019-01-26 13:18:00 -08:00
Dustin Carlino
ec38717a2c making an isolated layer for the map creation phase focused on roads and intersections, geometry and merging. not using it yet. 2019-01-26 12:49:09 -08:00
Dustin Carlino
08db3bf27f rendering traffic signal diagrams with lights per lane... needs work, so
disabling it
2019-01-22 11:58:56 -08:00
Dustin Carlino
88099c73b5 tiny preps for a variant of short road merging that can happen later and
look at road length after it's trimmed to the intersection. not going to
work on it just yet.
2019-01-22 09:56:03 -08:00
Dustin Carlino
63ad2c410d fix trace when last step is contraflow 2019-01-21 16:33:35 -08:00
Dustin Carlino
6dee096a0e zorder for cars/peds too... had to rework get_objects_onscreen 2019-01-21 14:51:57 -08:00
Dustin Carlino
c87c7b32ae make interactive driving trips still end at a building 2019-01-21 12:21:26 -08:00
Dustin Carlino
11045fd44f zorder for lanes and intersections 2019-01-20 14:15:50 -08:00
Dustin Carlino
f018158aa3 remove copyright comment from remaining files 2019-01-20 13:57:55 -08:00
Dustin Carlino
e83e87786f use new polygon code for two-ways as well, but trim back roads that don't change at all by some minimum amount 2019-01-20 09:17:18 -08:00
Dustin Carlino
4ca6571e2f warp by stable intersection ID 2019-01-19 21:10:54 -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
e403a6388d a much simpler, general approach for intersection polygons. needs a
little work, but it replaces lots of other code.

disabled, but adding a few more cases to the list of manually merged short roads
2019-01-19 19:07:07 -08:00
Dustin Carlino
b279e37bab trying to handle remaining 3-ways as degenerate 2-ways and just trimming
things back kinda arbitrarily
2019-01-18 15:40:09 -08:00
Dustin Carlino
e2579dfbdb dont prematurely edit road centers 2019-01-18 14:53:49 -08:00
Dustin Carlino
c0a81ebe59 using the new threeway code for some more cases 2019-01-18 14:04:51 -08:00
Dustin Carlino
a7cc077a77 got something working for i2, but WIP generalizing it 2019-01-18 13:26:34 -08:00
Dustin Carlino
48179d5d32 fix number of lanes for oneways and link roads 2019-01-18 11:41:05 -08:00
Dustin Carlino
f5850d1953 disabled option to automatically merge all originally-short roads 2019-01-18 10:42:11 -08:00
Dustin Carlino
0c32faa40c moving neighborhood to map_model crate, so convert_osm can stop depending on sim 2019-01-17 15:29:00 -08:00
Dustin Carlino
61128f098b make my own retain for btreemap. also refine the loop-road filtering in
the experimental road merger
2019-01-17 15:09:09 -08:00
Dustin Carlino
98ab06bd4e try manually merging some intersections again, without needing to modify geometry 2019-01-17 14:21:34 -08:00
Dustin Carlino
761008b3ac make raw roads directly refer to intersections 2019-01-17 11:30:58 -08:00
Dustin Carlino
3422877d3d adding a stable ID for raw roads and intersections. way easier to refer to things in the midst of deletions. 2019-01-17 11:10:05 -08:00
Dustin Carlino
52fccbf547 import actual lane spec in synthetic, by parsing OSM tags and stuff 2019-01-16 11:59:00 -08:00
Dustin Carlino
b48bddffc4 make crosswalks when adjacent road has no sidewalks 2019-01-16 09:41:30 -08:00
Dustin Carlino
8fa58a6aae tiny code refactoring in make/turns 2019-01-15 17:38:32 -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
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
7579cd9f7e fix orientation of degenerate-2 intersections, which makes shared sidewalk corners actually work 2019-01-15 11:24:54 -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
d20e433e7d remove wrappers from Turn -- force callers to think about the geometry
more
2019-01-12 20:00:22 -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
c50013c583 dont mouseover parcels 2019-01-12 10:47:36 -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
d95099efbe basic installation instructions, and tweaks to scripts so that things
work better out-of-box
2019-01-11 10:04:56 -08:00
Dustin Carlino
2bc97fa609 adjust stuck car color, avoid weird black. and small clippy fixes 2019-01-10 19:58:12 -08:00
Dustin Carlino
eefd9abdc6 render cars using slice 2019-01-10 17:11:34 -08:00
Dustin Carlino
42bb13eceb looking into broken 3-ways, but giving up for now 2019-01-10 14:16:41 -08:00
Dustin Carlino
ab58cca805 making degenerate-2 intersections nicer 2019-01-10 12:48:26 -08:00
Dustin Carlino
c2a1cac4d0 handling some 3-way intersections much more gracefully by acknowledging only one corner might exist for a road band 2019-01-10 12:18:37 -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
432415768e rm dead code 2019-01-10 11:25:48 -08:00
Dustin Carlino
04a6f3547c make lane center pts based on trimmed road center pts 2019-01-10 10:49:34 -08:00
Dustin Carlino
efe9d6b8cc dont make the polygon too big. 2019-01-10 10:39:26 -08:00
Dustin Carlino
374a44e0f2 slow is smooth, smooth is (more) correct 2019-01-10 10:36:21 -08:00
Dustin Carlino
884c47cc6b just focus on one intersection... 2019-01-10 10:06:37 -08:00
Dustin Carlino
cb47c4b13d debug intersection polygon 2019-01-10 09:57:47 -08:00
Dustin Carlino
7960601ff9 WIP trying to get perpendiculars on the road center... 2019-01-10 09:48:47 -08:00
Dustin Carlino
087e3ad492 WIP new simple idea for intersection geometry 2019-01-10 09:10:08 -08:00
Dustin Carlino
ae6f8d5e16 show entire signal diagram when hovering 2018-12-23 21:11:30 -08:00
Dustin Carlino
3a05df662c oops, intersection merging skipped over adjacently ID'd short roads.
this exposed more bugs with tiny loop roads that get created. those
are... sort of dealt with now, but they have pretty bad geometry.
disable intersection merging completely, since it's so broken.
2018-12-20 15:10:20 -08:00
Dustin Carlino
07ae4737ae avoid composite turns that loop around 2018-12-20 14:00:24 -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
cdc9c58ab4 start tutorial mode centered on the right thing. improve map label API by returning references. 2018-12-18 09:57:51 -08:00
Dustin Carlino
2a8842aa00 brief round of clippy 2018-12-14 11:13:05 -08:00
Dustin Carlino
0f1c475ab7 simplify tutorial map, actually count cars spawning now 2018-12-14 10:55:21 -08:00
Dustin Carlino
0cbc2e5d7e making intersection merging work everywhere: skip dead-ends, don't panic
when stop sign doesn't cover all turns
2018-12-11 17:41:44 -08:00
Dustin Carlino
31fc08e1b7 apply intersection merging EVERYWHERE... but actually, keep it disabled.
seeing some other bug.
2018-12-11 16:14:55 -08:00
Dustin Carlino
0470e676bc move the intersection merging logic to the right module. delete the old logic. 2018-12-11 16:01:46 -08:00
Dustin Carlino
9bca0788b6 extract out the HalfMap deleter logic 2018-12-11 15:54:03 -08:00
Dustin Carlino
65882cf0d9 improve intersection polygon by using two points per lane. apply it to all intersections as a second pass. 2018-12-11 15:48:55 -08:00
Dustin Carlino
44c9b66d13 merge two related intersections, still hardcoded, but making sure applying the fix both orders has the same results 2018-12-11 15:39:09 -08:00
Dustin Carlino
dc8e098fc2 way nicer merged intersection geometry 2018-12-11 15:30:36 -08:00
Dustin Carlino
e267cc7fd4 intersection merging... make the new composite turns 2018-12-11 15:13:13 -08:00
Dustin Carlino
a65b097e12 working on new intersection merging logic for one hardcoded road...
deleting stuff, changing references, compacting IDs
2018-12-11 14:10:35 -08:00
Dustin Carlino
42788363ab more prep for merging intersections... make an intermediate HalfMap structure 2018-12-11 12:49:57 -08:00
Dustin Carlino
de5c02a6c4 preps for merging intersections again... notes and not passing Map
during first few phases of construction
2018-12-11 12:26:21 -08:00
Dustin Carlino
e76dede109 label synthetic intersections 2018-12-10 15:59:48 -08:00
Dustin Carlino
dbfd410b0a force synthetic intersections into being border nodes too 2018-12-10 15:45:34 -08:00
Dustin Carlino
dacd423080 clippy pt4 2018-12-09 12:04:02 -08:00
Dustin Carlino
f48757c5e7 clippy pt2 2018-12-08 19:56:54 -08:00
Dustin Carlino
7363302d5d one key to toggle lane types 2018-12-08 14:15:44 -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
546213e82b couple together crosswalks in stop sign editor 2018-12-05 11:01:01 -08:00
Dustin Carlino
636eb1fb1c overriding crosswalk colors for stop signs 2018-12-05 10:57:12 -08:00
Dustin Carlino
6295d6b2e7 drawing turns at a stop sign 2018-12-05 10:34:08 -08:00
Dustin Carlino
3198ade5d1 add a 4th turn priority... can completely ban turns. make pathfinding
pay attention to this.
2018-12-05 09:48:22 -08:00
Dustin Carlino
e640c6d46d let user invoke presets 2018-12-04 15:29:42 -08:00
Dustin Carlino
06bd34b1f4 move cycles up/down, delete them, add them 2018-12-04 15:01:33 -08:00
Dustin Carlino
4a1281d110 add more assertions to traffic signals; be paranoid 2018-12-04 14:00:27 -08:00
Dustin Carlino
11f89c0ee5 one key to toggle through priorities 2018-12-04 13:52:53 -08:00
Dustin Carlino
5ea6e0ea18 adjust possible controls 2018-12-04 13:06:16 -08:00
Dustin Carlino
1bb146fe23 couple crosswalk turn pairs together in a cycle 2018-12-04 12:52:59 -08:00
Dustin Carlino
952bbf64dd remove redundant internal Turns enum 2018-12-04 12:07:23 -08:00
Dustin Carlino
ac4c7a5b83 edit cycle time 2018-12-04 11:44:34 -08:00
Dustin Carlino
2c7abcbc3a hiding crosswalks way more sanely 2018-12-04 11:08:18 -08:00
Dustin Carlino
3155bcbaf1 drawing a box to show time left in current cycle 2018-12-04 08:33:24 -08:00
Dustin Carlino
67ce42e2f6 give peds precedence over cars, and subsequently simplify the wacky crosswalk coloring 2018-12-03 17:34:56 -08:00
Dustin Carlino
dbc8f40fa8 traffic signal editor: draw full turns of current cycle and stop showing
turn icons completely
2018-12-03 16:04:57 -08:00
Dustin Carlino
08cc4124fb adjusting crosswalk geometry, so peds actually walk into the intersection a bit 2018-12-03 10:51:02 -08:00
Dustin Carlino
c198a49ad3 changing real turn geometry to be a polyline 2018-12-03 09:25:47 -08:00
Dustin Carlino
5b71f04c97 4-phase cycle with protected lefts. very easy to express. 2018-12-01 20:39:44 -08:00
Dustin Carlino
987b2a4884 merge TurnAngle and TurnType 2018-12-01 16:02:11 -08:00
Dustin Carlino
8ed962a320 implement 3-way traffic signal assignment 2018-12-01 15:43:33 -08:00
Dustin Carlino
1542e3118e refactoring turn angle stuff 2018-12-01 14:51:10 -08:00
Dustin Carlino
503c3c2ca9 warping to turns, with an easily typeable name 2018-12-01 14:29:20 -08:00
Dustin Carlino
e75ef3f9e6 making an easy way to record and dump notes at the end of verbose setup logging, without being tied to a Timer 2018-12-01 13:23:18 -08:00
Dustin Carlino
ac39985f8f smarter traffic signal cycles for four-ways... still breaks, but decent
progress
2018-12-01 13:12:11 -08:00
Dustin Carlino
1489f2fe7f validation for traffic signal assignments too 2018-12-01 11:24:13 -08:00
Dustin Carlino
4d7c1203a6 the great control layer merge 2018-11-30 13:52:50 -08:00
Dustin Carlino
73b2d0ac24 ah, was forgeting multiple ped turns in sequence 2018-11-30 08:47:46 -08:00
Dustin Carlino
87a357d67c adjusting pathfinding costs, trying to figure out why walking routes are awful 2018-11-29 16:47:04 -08:00
Dustin Carlino
ecc5a6efb1 make some percentage of walking trips use transit, if it's reasonable.
haven't observed it working yet.
2018-11-29 14:53:11 -08:00
Dustin Carlino
14097bebfc moving BusRouteID to map_model layer from sim 2018-11-29 12:38:06 -08:00
Dustin Carlino
80e3776855 refactoring cost/heuristic of InternalPathStep 2018-11-29 12:25:01 -08:00
Dustin Carlino
3f635e74c3 making a variant of pathfinding that can abort a walking trip early and
use transit
2018-11-29 12:09:54 -08:00
Dustin Carlino
d529b006cb philosophizing on discrete-event sim. disable intersection merging; it's
mostly incorrect and needs lots more thought.
2018-11-29 08:38:28 -08:00
Dustin Carlino
34f8e93bad dont need pt_and_angle, just pt of Positions 2018-11-28 13:14:49 -08:00
Dustin Carlino
e4e1eb139e automatically merge all short roads 2018-11-28 12:06:09 -08:00
Dustin Carlino
e150ce3aef new test to make sure raw->map conversion is also deterministic, not just convert_osm 2018-11-28 09:36:42 -08:00
Dustin Carlino
e755aeb4ef merging intersections for a hardcoded set of short roads 2018-11-28 09:19:36 -08:00
Dustin Carlino
c2783ab56e making a new Position tuple and equiv_dist_along 2018-11-27 09:55:37 -08:00
Dustin Carlino
cd8d9adec4 radical speedup and simplification to driving state: only store SimQueues for active lanes/turns 2018-11-26 15:40:22 -08:00
Dustin Carlino
56c885e7ab revive the first parking test. make helpers to look up labeled stuff from synthetic maps. make helpers to seed specific parked cars and start certain trips again. 2018-11-26 11:22:17 -08:00
Dustin Carlino
2e8cd7ff7a dont spawn bikes on highway border nodes 2018-11-23 11:03:45 -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
9e91332b58 matching extra shapes with a particular side of the road 2018-11-21 16:02:08 -08:00
Dustin Carlino
af6ead7d56 refactor sidewalk finder to use FindClosest 2018-11-21 15:48:16 -08:00
Dustin Carlino
bd67d88bab adjust the blockface<->road matching 2018-11-21 15:39:49 -08:00
Dustin Carlino
20b79038f4 dont clone bounds by default 2018-11-21 14:55:26 -08:00
Dustin Carlino
48709b60a0 making a general helper for finding closest stuff... using it to match extra shapes to road center lines 2018-11-21 14:32:15 -08:00
Dustin Carlino
ca95c58b3b fix a path trace bug for paths with one step, but no geometry 2018-11-21 10:00:40 -08:00
Dustin Carlino
a3dc7e0bee remove pathfinding requirement that lane types of start/end match up, now that bike/bus lanes are used 2018-11-20 13:39:20 -08:00
Dustin Carlino
7278719a04 consolidating all of the road query methods 2018-11-20 13:36:10 -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
9084f0060b PathRequest instead of massive confusing tuples. also can now use bike lanes from spawn layer 2018-11-17 17:12:03 -08:00
Dustin Carlino
3036511c9e another darn bike/parking lane case, unrelated 2018-11-16 14:34:01 -08:00
Dustin Carlino
7e571618be deal with unrelated bus/parking lane problem that cropped up 2018-11-16 14:20:41 -08:00
Dustin Carlino
b9770dc4bd plumbing through the commands in spawn, finally... 2018-11-16 13:40:14 -08:00
Dustin Carlino
504b818800 drawing lanes in synthetic editor 2018-11-14 12:17:58 -08:00
Dustin Carlino
ac1272f660 control lanes of synthetic roads 2018-11-14 11:50:04 -08:00
Dustin Carlino
8f15eccf8d exclude cul-de-sacs 2018-11-13 14:13:41 -08:00
Dustin Carlino
88334d50ca WIP rewriting pathfinding natively in terms of PathSteps 2018-11-13 14:06:52 -08:00
Dustin Carlino
98620ece6b sending some peds to border nodes, testing it 2018-11-12 17:20:09 -08:00
Dustin Carlino
70c1fae4f1 encoding ability to go to a border node in scenarios 2018-11-12 16:02:14 -08:00
Dustin Carlino
8e7021e958 update walking model to handle starting at a border 2018-11-12 15:34:09 -08:00
Dustin Carlino
0c95122576 encoding spawn-peds-at-border in scenario layer 2018-11-12 14:11:50 -08:00
Dustin Carlino
d6084078d3 fix to lanes_to_path that was exposed by border nodes 2018-11-12 10:36:07 -08:00
Dustin Carlino
474d92f5db modeling border nodes in map, control, sim, editor layers 2018-11-11 14:49:27 -08:00
Dustin Carlino
f243048c45 drawing border nodes differently 2018-11-10 16:57:01 -08:00
Dustin Carlino
8c2db6de82 another tiny trace_route bug 2018-11-10 15:50:44 -08:00
Dustin Carlino
498568d06e fixing an edge case with trace_route starting at the end of a lane 2018-11-10 15:16:26 -08:00
Dustin Carlino
61b18bb16f improve lane clipping also for outgoing lanes. oops. 2018-11-07 14:49:02 -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
9ba9acb3d2 modeling bus lanes 2018-11-07 13:50:22 -08:00
Dustin Carlino
023bb5cf5d making bike lane turn handling use the common driving turn code too, with preferred lanes 2018-11-07 13:07:40 -08:00
Dustin Carlino
6e786d5630 refactoring intersection->roads query 2018-11-07 11:55:40 -08:00
Dustin Carlino
9eb1469c89 handling dead-ends 2018-11-07 11:44:47 -08:00
Dustin Carlino
a43a529d90 validating every lane has turns to/from it 2018-11-07 11:17:54 -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
9c75514925 draw turn restrictions when relevant. needs tuning later 2018-11-06 14:47:39 -08:00
Dustin Carlino
c6cd36071c make the large maps still work: fixes to bus route verification and
degenerate stop sign handling
2018-11-06 12:39:27 -08:00
Dustin Carlino
ac81888e44 handle degenerate intersections trivially now 2018-11-06 09:37:36 -08:00
Dustin Carlino
f341f67cc5 finally construct the mirror turns for sidewalks, and avoid double-rendering 2018-11-06 09:34:01 -08:00
Dustin Carlino
02f24bfe15 removing annoying duplicated fields in Turn 2018-11-06 09:29:50 -08:00
Dustin Carlino
dc70d4eb9a was overthinking turn-making... going back to something simple 2018-11-06 08:59:27 -08:00
Dustin Carlino
4a9eb6d224 rewriting sidewalk turn creation based on angles. not correct yet, but
better.
2018-11-05 21:06:28 -08:00
Dustin Carlino
9f0d3b610a introducing TurnType 2018-11-05 18:42:33 -08:00
Dustin Carlino
bd96b4ff5f storing src/dst intersection with Road directly 2018-11-05 17:39:23 -08:00
Dustin Carlino
9cb1337785 starting a rewrite of the code to find turns between sidewalks, based on
road adjacencies. needs a few more intermediate steps.
2018-11-05 17:15:54 -08:00
Dustin Carlino
aa23d76243 simplify API: PathStep is Copy 2018-11-05 14:37:26 -08:00
Dustin Carlino
d69804e485 fixing chokepoints plugin by looking at paths 2018-11-04 15:25:48 -08:00
Dustin Carlino
59c22be0f0 fix bug with 1 step 2018-11-04 14:24:43 -08:00
Dustin Carlino
9400352ab0 refactoring PathStep.slice helper 2018-11-04 14:17:26 -08:00
Dustin Carlino
d6b98dc39b fixing some cases with 1 step 2018-11-04 13:52:46 -08:00
Dustin Carlino
376f9bd3c5 new, simple implementation of trace_route and lots of deleted old code 2018-11-04 08:27:35 -08:00
Dustin Carlino
029879828e hacky implementation of pathfind to move forwards 2018-11-03 21:37:37 -07:00
Dustin Carlino
df6628e5b5 preps for filling out pathfind impl 2018-11-03 20:57:58 -07:00
Dustin Carlino
d4dc5fc658 percolating changes to sim layer slowly... 2018-11-03 20:46:41 -07:00
Dustin Carlino
74c60709a3 WIP starting the great Path refactor... changing the API, but not impl,
of pathfind
2018-11-03 14:48:50 -07:00
Dustin Carlino
e60fe0f0fe logging that repeats after a verbose setup 2018-11-01 13:24:15 -07:00
Dustin Carlino
161081da6d simplify intersection polygon code a bit, then handle the degenerate cases 2018-11-01 13:10:28 -07:00
Dustin Carlino
8c83c22002 revamping trim_lines for lanes to use the intersection polygon 2018-10-31 15:08:19 -07:00
Dustin Carlino
01b230b47f fix location of stop signs / signals, based on bad center 2018-10-31 12:29:31 -07:00
Dustin Carlino
841944f84c force some intersections with similar angles between incident roads to use the line projection fix too. now things are looking great mostly \o/ 2018-10-31 12:19:46 -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
e2a21cf5af simplifying the code a bit more to prepare for handling 3-ways 2018-10-31 11:21:57 -07:00
Dustin Carlino
dc12555b03 simplified the intersection polygon algorithm to just look at angle-adjacent pairs of lines. same results, simpler code. almost ready to fix the triangle intersections. 2018-10-31 10:55:59 -07:00
Dustin Carlino
0ac633905b remove duplicate points in intersection geom, after understanding why they happen 2018-10-31 09:43:16 -07:00
Dustin Carlino
be7bd2ede5 calculating a much simpler, more robust intersection polygon!!! \o/ 2018-10-31 09:38:34 -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
20347a6de9 splitting up code in playground 2018-10-29 11:03:39 -07:00
Dustin Carlino
3a62ed8695 refactor get_bbox 2018-10-28 18:43:36 -07:00
Dustin Carlino
a45521e1a6 using Timer with read_binary 2018-10-28 17:17:35 -07:00
Dustin Carlino
f011f8f56d making hierarchial progress timer to replace flamegraphs. using in many,
but not all, places
2018-10-28 16:40:37 -07:00
Dustin Carlino
245d1707db handling few new OSM highway types 2018-10-28 14:09:37 -07:00
Dustin Carlino
15da2fe9cd using quadtrees to MASSIVELY speed up sidewalk matching 2018-10-28 13:59:54 -07:00
Dustin Carlino
65d8c92f63 investigating and fixing orphaned intersections 2018-10-28 12:50:15 -07:00
Dustin Carlino
c78b721bce implementing progress bars and trackers for large file readers, using in map loading phases that might be slow 2018-10-28 08:31:51 -07:00
Dustin Carlino
45bd7ee128 eliminate bus stops that dont line up with short driving lanes 2018-10-24 14:59:22 -07:00
Dustin Carlino
86d578f4f8 oops, nondeterminism in map model routes 2018-10-24 14:28:56 -07:00
Dustin Carlino
dd0578d504 dont cancel diff worlds when an agent is mode-switching 2018-10-23 10:04:11 -07:00
Dustin Carlino
b8fa12d0d5 terminating ped trace_route at the right SidewalkSpot 2018-10-22 14:18:25 -07:00
Dustin Carlino
9c1ae28bf8 ped trace_routes were wrong for contraflow steps 2018-10-22 13:16:30 -07:00
Dustin Carlino
52535771e3 making road editor stateless; map should hold the changed edits 2018-10-22 08:39:32 -07:00
Dustin Carlino
050a9a1400 load pre-baked maps. now starting an a/b test is very fast! \o/ 2018-10-20 09:18:57 -07:00
Dustin Carlino
66bbdc0362 script to save all the maps with edits. no loading yet 2018-10-20 09:02:44 -07:00
Dustin Carlino
d6253a1721 dont draw stop sign on degenerate intersections 2018-10-18 15:28:34 -07:00
Dustin Carlino
10a6ee09d1 debugging why we wound up with disconnected roads, breaking parking seeding... ah, there are roads in the neighborhood without any buildings 2018-10-18 13:57:38 -07:00
Dustin Carlino
1208fcea8b use OSM speed limit when available 2018-10-18 12:34:11 -07:00
Dustin Carlino
94863b7bcc bring in footways... actually disable it, they'll need more work 2018-10-18 12:20:54 -07:00
Dustin Carlino
1509a674b1 WIP some fixes to OSM->lane types
- roundabouts have less stuff
- simplify the code
- motorways and motorway links are just driving
- sidewalks on one-ways
2018-10-18 12:05:11 -07:00
Dustin Carlino
d02c5004f9 clean up Pt2D::from_gps API 2018-10-17 13:14:10 -07:00
Dustin Carlino
24edfcd784 place parked cars close to buildings, in a stable way 2018-10-17 11:49:15 -07:00
Dustin Carlino
90af8a84c6 woops, car pathfinding shouldnt use bike lanes. and A/B test manager
should set json filename
2018-10-13 16:34:02 -07:00
Dustin Carlino
4bee9fa4e9 found the source of trace_route mismatch. epsilon strikes again. 2018-10-13 16:08:21 -07:00
Dustin Carlino
25a1beba4e generalize traces a bit to handle 0-length turns properly 2018-10-13 16:05:52 -07:00
Dustin Carlino
e4dc075871 WIP trying to solve problem of driving traces not matching up sometimes 2018-10-13 15:41:40 -07:00
Dustin Carlino
99559fa578 also retain the logical pieces of a Trace, so we can next find chokepoints 2018-10-13 11:27:22 -07:00
Dustin Carlino
fddc56dca5 trying to fix building with driving lane thats hard to find... ah,
because we wound up making a road without a driving lane. :D
2018-10-13 10:50:26 -07:00
Dustin Carlino
6f33c9a6da failure crate actually sucks for context, rolling my own simple thing 2018-10-10 16:24:33 -07:00
Dustin Carlino
843742b708 adding error messages for map model queries that can fail 2018-10-10 15:58:00 -07:00
Dustin Carlino
4672994777 fixed one problem with ped trace_route... walking model is so complicated. >< 2018-10-09 17:43:22 -07:00
Dustin Carlino
dcbf373896 constructing traces way more directly. still broken for peds. :( 2018-10-09 16:14:48 -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
2716a2272b making trace handle lanes and turns 2018-10-09 13:43:59 -07:00
Dustin Carlino
d3e5fdb7c4 moving on->traversable, in the map model directly 2018-10-09 13:09:26 -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
661d784b6e adjusting logging to not include debug by default 2018-10-06 12:21:12 -07:00
Dustin Carlino
da550910c7 prune unrouteable bus routes in map model layer 2018-10-06 12:13:36 -07:00
Dustin Carlino
2c8aa62f97 describe map edits in GUI 2018-10-04 11:16:00 -07:00
Dustin Carlino
7b718b4621 bundling all map edits together 2018-10-02 15:48:10 -07:00
Dustin Carlino
09c3b017b9 logging in map layer too 2018-09-23 14:15:24 -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
7dc192b0c9 refactoring helpers to draw lines 2018-09-18 13:29:30 -07:00
Dustin Carlino
18a5a2f2f8 remove parcels too far from sidewalks 2018-09-16 16:54:35 -07:00
Dustin Carlino
67ef04b3c2 unifying tooltip handling a bit 2018-09-16 15:57:23 -07:00
Dustin Carlino
dba3893ee5 handle linear waterway areas 2018-09-16 15:38:33 -07:00
Dustin Carlino
304b4e929e detecting parks, swamps, waterways from OSM 2018-09-16 14:02:42 -07:00
Dustin Carlino
361755400d rendering for areas 2018-09-16 13:37:11 -07:00
Dustin Carlino
966d7bb03d adding Areas to map and UI; not instantiating them yet 2018-09-16 13:25:31 -07:00
Dustin Carlino
e4339436fc make bus stops a separate layer to render. easy! 2018-09-15 19:58:25 -07:00
Dustin Carlino
74ad9d0819 split bus stops into their own first-class object in the map model layer 2018-09-15 19:02:10 -07:00
Dustin Carlino
e65f3aecc7 update to rust 1.29, re-run format 2018-09-15 16:54:00 -07:00
Dustin Carlino
48a47ff013 make parcels selectable too 2018-09-13 14:14:10 -07:00
Dustin Carlino
013b3e11c5 pathfinding using bus stops, unused, and not the right interface yet 2018-09-09 14:03:20 -07:00
Dustin Carlino
0b127e979a WIP generalizing pathfinding to have different expansion and costs 2018-09-09 13:15:56 -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
dc4806bbcc drop buildings too far away from sidewalks 2018-09-08 15:04:05 -07:00
Dustin Carlino
b14fcf8449 match bus stops to driving lanes more robustly 2018-09-08 14:54:54 -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
630f6504f4 stick in some flamegraph timings to part of map loading 2018-09-08 13:01:39 -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
99fe9f170c fixing up tests 2018-09-07 14:08:36 -07:00
Dustin Carlino
58b01fce9e instantiate bus routes from GTFS too 2018-09-07 13:03:50 -07:00
Dustin Carlino
143084a8a9 parse gtfs during map conversion 2018-09-07 11:54:27 -07:00
Dustin Carlino
1b30dafb03 now construct bus stops in the map model layer... working, seemingly 2018-09-06 19:14:29 -07:00
Dustin Carlino
c1ad5fb39f working on turning GTFS into map model layer bus stops, but interlude of
refactoring a sidewalk pt finder thing
2018-09-06 18:18:56 -07:00
Dustin Carlino
a2c7b8b5bd fixing warping peds and preventing it from happening again 2018-09-05 14:22:47 -07:00
Dustin Carlino
551c0c3170 making BusStop a lightweight ID-like thing 2018-09-04 13:21:01 -07:00
Dustin Carlino
55b02e6c5c making a sample ped using the bus 2018-09-04 11:49:22 -07:00
Dustin Carlino
c1f87395cc unused, WIP code for peds to wait for, board, deboard buses 2018-08-31 11:23:30 -07:00
Dustin Carlino
fc2abb1524 silence spammy logs 2018-08-28 14:50:16 -07:00
Dustin Carlino
c9a0ea213b spawning a bus that follows a route 2018-08-28 14:44:11 -07:00
Dustin Carlino
a9bb71c59f modeling and rendering bus stops 2018-08-27 15:06:13 -07:00
Dustin Carlino
269235d1e1 writing savestates in a consistent place 2018-08-27 11:10:02 -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
7745678794 make the spawner deal with trips and transitions... big revamp for it 2018-08-23 10:11:56 -07:00
Dustin Carlino
7b28b8c988 make peds actually walk from bldg to sidewalk when starting 2018-08-22 14:03:08 -07:00
Dustin Carlino
3fba70a9a9 make pedestrians start aligned with building paths. almost ready to make
them travel along the front path
2018-08-22 13:43:11 -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
00056e6e81 require a front path for buildings, by ignoring street names 2018-08-22 11:33:29 -07:00
Dustin Carlino
cca0915ff3 can only park next to an adjacent lane 2018-08-22 09:47:46 -07:00
Dustin Carlino
bf52822e37 wrote a few tests of parking 2018-08-19 18:07:28 -07:00
Dustin Carlino
8bf2b67e10 fixing a few bugs causing bigger maps to not load at all 2018-08-17 10:54:44 -07:00
Dustin Carlino
511aab4483 representing departing vehicles 2018-08-15 11:53:04 -07:00
Dustin Carlino
d3611c6084 easier queries for lane type 2018-08-14 21:25:19 -07:00
Dustin Carlino
1720e51828 WIP start a specific parked car, not the last one in the lane. broken,
because multiple cars jump to the beginning of the driving lane. need to
make them start in the right position (and then go there slowly)
2018-08-14 21:13:05 -07:00
Dustin Carlino
432c9644fc slightly different speed limits 2018-08-09 13:14:30 -07:00
Dustin Carlino
40cb2bf6f4 making draw_polygon only accept a geom Polygon. guess ezgui depending on geom is fine. 2018-08-09 10:57:19 -07:00
Dustin Carlino
9e2ac24b0c rm unused methods 2018-08-09 10:38:11 -07:00
Dustin Carlino
bf2bd09a54 WIP converting lanes and draw car to new polygon 2018-08-09 10:36:29 -07:00
Dustin Carlino
7b53264bb8 WIP debugging bad building polygon drawing 2018-08-08 13:21:45 -07:00
Dustin Carlino
4c0a8f588a still debugging various breakages. drawing lane IDs 2018-08-07 12:23:00 -07:00
Dustin Carlino
82902199a2 moving parcel grouping into convert_osm, which is run with --release anyway 2018-08-06 13:10:48 -07:00
Dustin Carlino
e31061860b drawing groups of parcels with different colors. very slow, since it's
done without a quadtree and every load
2018-08-06 12:54:56 -07:00
Dustin Carlino
a4b8c2247f debugging for intersections 2018-08-01 14:39:38 -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
890f6541af turns between sidewalks were getting conflated after the TurnID change; adding parent intersection fixes it. should fix ped warping problem. 2018-08-01 13:31:14 -07:00
Dustin Carlino
473b5bf22e handle missing objects in warp plugin 2018-07-31 13:49:04 -07:00
Dustin Carlino
298babc85d parallelizing parked->driving car pathfinding too 2018-07-28 11:02:28 -07:00
Dustin Carlino
30eb23816c deduping biking and driving turns, fixing a turn icon offset glitch 2018-07-27 11:46:03 -07:00
Dustin Carlino
b6a9e2e1a4 dont make u-turns unless really at a dead-end 2018-07-26 17:08:50 -07:00
Dustin Carlino
d5f002e35c incoming/outgoing roads made no sense. oops. 2018-07-26 13:42:27 -07:00
Dustin Carlino
ab986a3a8a debugging turn-making funkiness 2018-07-26 13:18:37 -07:00
Dustin Carlino
d22d955dbb deleting and adding turns when edited 2018-07-26 13:06:37 -07:00
Dustin Carlino
7b4df16c8e printing reasons why edits are invalid 2018-07-26 12:14:37 -07:00
Dustin Carlino
904aa4449e editing lane types, vastly simplified, no turns yet 2018-07-26 12:04:02 -07:00
Dustin Carlino
de54b917bc changing turns to have IDs thatll be stable across edits 2018-07-25 19:01:47 -07:00
Dustin Carlino
3e72f39121 planning how to do live road edits 2018-07-25 18:19:39 -07:00
Dustin Carlino
9200a5ef3d use pretty assertions 2018-07-24 16:23:25 -07:00
Dustin Carlino
c321c07bd7 make map use road edits when loading from scratch 2018-07-24 16:06:25 -07:00
Dustin Carlino
120e7c5db1 plumb through UI controls for road edits 2018-07-24 15:43:01 -07:00
Dustin Carlino
2ba0647b7c saving and loading road edits in the UI 2018-07-24 15:30:40 -07:00
Dustin Carlino
9fbf48c495 defining the basic data model for some road edits 2018-07-24 12:30:56 -07:00
Dustin Carlino
30b992e7f0 wait, make road remember lane types too 2018-07-24 11:40:58 -07:00
Dustin Carlino
0bfcae6aa6 WIP making intersections know in/out roads too, using for simpler turn-making 2018-07-24 11:13:08 -07:00
Dustin Carlino
7d187bcceb ripping out other_side too 2018-07-24 10:56:23 -07:00
Dustin Carlino
c04572e4c7 dont store siblings anymore, simplify LaneSpec 2018-07-24 10:07:31 -07:00
Dustin Carlino
83d5e75e43 store children in road, and stop storing some state in lane and query it instead 2018-07-24 09:23:23 -07:00
Dustin Carlino
549aa75d9c lifted unshifted pts to road 2018-07-24 08:59:01 -07:00
Dustin Carlino
4bf72b36c8 removing osm metadata from lanes now 2018-07-24 08:18:47 -07:00
Dustin Carlino
62139c1abc introducing road structures, with a copy of OSM metadata 2018-07-24 07:39:26 -07:00
Dustin Carlino
cb26955f8e introduce RoadID 2018-07-24 07:28:11 -07:00
Dustin Carlino
4207b2cacf rename existing roads to lanes 2018-07-23 20:24:53 -07:00
Dustin Carlino
166dd907b1 detect bike lanes in OSM 2018-07-23 14:12:29 -07:00
Dustin Carlino
52d5c5b69b bike lane turns 2018-07-23 14:03:13 -07:00
Dustin Carlino
3017728515 introducing bike lanes! no turns yet 2018-07-23 10:56:45 -07:00
Dustin Carlino
7ee8ef0d8d cleaning up after polyline trimming 2018-07-23 10:05:20 -07:00
Dustin Carlino
342870f6ab seemingly got the polyline trimming working for intersections now \o/ 2018-07-23 09:53:56 -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
36bfa9cfdf be able to relate lanes to orig road idx, for debugging 2018-07-22 17:18:13 -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
51fa14d934 parsing shapefiles again for traffic signals 2018-07-20 11:27:57 -07:00
Dustin Carlino
9c21dae3d9 making turns for crosswalks. had to rethink how turns work slightly. 2018-07-11 12:10:56 -07:00
Dustin Carlino
5ffa4ba7c7 centering parked cars in their spots 2018-07-09 16:08:23 -07:00
Dustin Carlino
2ebc13140b round of rustfmt after 1.27 upgrade 2018-07-09 12:30:59 -07:00
Dustin Carlino
0e6111e86a being able to find sibling lanes 2018-07-09 12:30:39 -07:00
Dustin Carlino
ddb30734c6 refactoring DrawCar 2018-07-09 10:17:20 -07:00
Dustin Carlino
8b908d2744 calculating the number of parking spots 2018-07-09 09:16:12 -07:00
Dustin Carlino
c033f51da2 make cars pathfind to their destination 2018-07-08 15:40:39 -07:00
Dustin Carlino
f3f3bfd1e9 impl basic A* on roads 2018-07-08 14:37:56 -07:00
Dustin Carlino
0e4ff75286 setting up an intersection test in experimental 2018-07-07 10:48:46 -07:00
Dustin Carlino
dee6c97f4c draw stop sign in intersections too 2018-07-04 14:05:21 -07:00
Dustin Carlino
92f8aeff1e drawing a traffic signal, no good colors yet 2018-07-04 13:22:15 -07:00
Dustin Carlino
f1024792e4 validate geometry doesn't overlap for a rendered map 2018-07-03 14:43:53 -07:00
Dustin Carlino
cacf3aea62 halve the number of lanes from OSM for two-ways 2018-07-03 09:42:17 -07:00
Dustin Carlino
5a6ea9bf7e handle motorways and roads with a known number of driving lanes 2018-06-29 11:41:26 -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
34e7f11cda get rid of vecmath 2018-06-28 19:46:21 -07:00
Dustin Carlino
8e1f9b79f0 PolyLine struct 2018-06-28 18:02:14 -07:00
Dustin Carlino
7f09f22bcf making a line struct 2018-06-28 17:14:27 -07:00
Dustin Carlino
4bdf70365e making my own angle class 2018-06-28 15:07:48 -07:00
Dustin Carlino
987f039404 LonLat to Pt2D more explicit 2018-06-28 14:19:59 -07:00
Dustin Carlino
c7c9fa64df WIP not using ordered float for Pt2D 2018-06-28 14:03:35 -07:00
Dustin Carlino
ff526a6854 split out HashablePt2D 2018-06-28 13:55:43 -07:00
Dustin Carlino
69d6c4ab43 organizing map making code a little 2018-06-27 13:58:11 -07:00
Dustin Carlino
849a132a6a dashed white lines on big roads 2018-06-27 12:48:11 -07:00
Dustin Carlino
5e362cdfc5 multiple driving lanes on big roads, and simplifying LaneSpecs 2018-06-26 14:46:27 -07:00
Dustin Carlino
02d7053239 trying to fix the general case... maybe detecting the problem. giving up
for now.
2018-06-26 14:09:53 -07:00
Dustin Carlino
f5fc04a14e WIP debugging bad polygons. seemingly fixed one pt inversion case that
happens only on the first pt.
2018-06-26 13:23:56 -07:00
Dustin Carlino
82bac55275 use cbor for maps 2018-06-26 09:45:01 -07:00
Dustin Carlino
43536743a8 warp plugin, and making text entry handle numbers 2018-06-26 09:05:14 -07:00
Dustin Carlino
091d1ef98d handle parallel line intersection, which was making bigger maps break 2018-06-26 08:36:18 -07:00
Dustin Carlino
8de92c095a OSM tags as a hash, now that serialization is easy 2018-06-26 07:35:34 -07:00
Dustin Carlino
bc92c3ca8d replacing the pb with serde stuff 2018-06-25 18:56:57 -07:00
Dustin Carlino
fcec05cdfa rm old thick line stuff at last 2018-06-25 16:16:40 -07:00
Dustin Carlino
afeaed1065 fix length fxn 2018-06-25 15:45:17 -07:00
Dustin Carlino
e1e3abbb28 fixed turns that vanished 2018-06-25 15:42:04 -07:00
Dustin Carlino
5a9bc56c32 center lines are finally gone 2018-06-25 15:34:21 -07:00
Dustin Carlino
0fa7fc25d4 use center pts in more places... 2018-06-25 15:23:15 -07:00
Dustin Carlino
ebbdc82f14 trim back center pts, not center lines 2018-06-25 14:55:09 -07:00
Dustin Carlino
729ad9df24 plumb in new lane center pts, and use them for rendering always. looks OK... 2018-06-25 14:50:18 -07:00
Dustin Carlino
571673b02f figuring out where polygons go wrong... 2018-06-25 14:41:00 -07:00
Dustin Carlino
9133f7edc1 split lane profiles into a fxn 2018-06-25 14:33:03 -07:00
Dustin Carlino
94e8f7a4bf switch to new polygons for cars. seems to work. 2018-06-25 14:01:55 -07:00
Dustin Carlino
7c747ea9ee working on calculating start/end crossings explicitly 2018-06-25 13:48:30 -07:00
Dustin Carlino
fef18fbf2f use new polygons for parcels... 2018-06-25 13:29:31 -07:00
Dustin Carlino
e2dda62175 bam, line trimming... kind of works 2018-06-25 13:19:01 -07:00
Dustin Carlino
dfdd717c29 use shifted points for polygon, all using the old polyline stuff... 2018-06-25 13:17:28 -07:00
Dustin Carlino
6cad6c7394 working on the line trimming logic. seems to do something? 2018-06-25 13:11:55 -07:00
Dustin Carlino
2451244344 splitting out a mapmaking fxn 2018-06-25 12:03:34 -07:00
Dustin Carlino
6afb71ea5f preps for line trimming 2018-06-25 11:54:15 -07:00
Dustin Carlino
f9db14fed7 slightly less chaos in the roundabout 2018-06-25 11:19:08 -07:00
Dustin Carlino
427bdf3f34 compute front path upfront 2018-06-25 11:16:33 -07:00
Dustin Carlino
8e1af1f4ea store graph connections more sanely 2018-06-25 10:28:33 -07:00
Dustin Carlino
06b28f2d2d finishing screenspace translation of roads and intersections 2018-06-25 10:13:02 -07:00
Dustin Carlino
1242ec5297 WIP transforming gps to screen space earlier 2018-06-25 09:40:37 -07:00
Dustin Carlino
ba310cbd45 removing geom crate, using just map model 2018-06-25 09:00:43 -07:00
Dustin Carlino
4489abd301 same for GeomTurn 2018-06-25 08:37:32 -07:00
Dustin Carlino
a8532fe210 copying GeomRoad stuff in, calling it, not using it 2018-06-25 08:33:56 -07:00
Dustin Carlino
35e3f9807d compute gps bounds up front, to prep for geom merging 2018-06-25 08:17:12 -07:00
Dustin Carlino
d9e46c5960 splitting map model into more modules 2018-06-25 08:08:38 -07:00
Dustin Carlino
2b9eb66ba1 moving polyline to map_model, using pt2d 2018-06-24 17:01:40 -07:00
Dustin Carlino
c2473828a6 finding paths between buildings and nearest sidewalk 2018-06-20 17:29:04 -07:00
Dustin Carlino
3838a1c4ac extra lanes on one-ways 2018-06-19 13:39:10 -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
91920c3e1d dont reach into DrawRoad's polygon directly from DrawIntersection 2018-06-18 14:46:11 -07:00
Dustin Carlino
923883883b updating README and trimming license declarations 2018-06-03 17:56:53 -07:00
Dustin Carlino
f2b7344940 using new rust 1.26 match stuff, and fmt 2018-05-10 16:19:26 -07:00
Dustin Carlino
065c2ce9ba Importing everything since the initial import 2018-04-10 17:51:37 -07:00
Dustin Carlino
1863289f6d Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00