Commit Graph

628 Commits

Author SHA1 Message Date
Dustin Carlino
5f6d7e1b66 fix sim nondet test failure by using BTreeMap in my MultiMap 2019-03-01 12:16:52 -08:00
Dustin Carlino
aea11b72e3 putting together a spawn layer. not using it yet. 2019-02-24 11:15:49 -08:00
Dustin Carlino
0c9b173683 use scheduler for spawning (and retrying) cars 2019-02-23 15:46:28 -08:00
Dustin Carlino
3aded47d5f make some cars park when finished. works in most cases. 2019-02-22 15:51:51 -08:00
Dustin Carlino
5e9d4ca7f7 populate more turns so that lane-changing effectively happens when
turning, but keep the lane->lane semantics
2019-02-20 17:03:26 -08:00
Dustin Carlino
86cb58b5f1 first make a DirectedRoad ID, finally 2019-02-20 16:23:24 -08:00
Dustin Carlino
09af9e6cda removing the log crate completely. remove the DisplayLogs plugin, since
it's unused and unclear how it should work going forwards
2019-02-20 11:56:54 -08:00
Dustin Carlino
46fb2c94b5 implement DrawAgents 2019-02-20 08:11:03 -08:00
Dustin Carlino
7a8088f772 actually, trying a new idea for a DES model 2019-02-19 14:34:39 -08:00
Dustin Carlino
af59307c71 adjust the debug_areas stuff when unzoomed 2019-02-18 19:06:41 -08:00
Dustin Carlino
914f5a6642 check for cars too close during the stress test 2019-02-18 14:38:57 -08:00
Dustin Carlino
a52bea9835 some steps to closing off incomplete areas better... mostly stuff to
quickly iterate on this problem later
2019-02-15 09:03:02 -08:00
Dustin Carlino
06c8ed72a9 flag-based profiling of GUI 2019-02-14 13:16:43 -08:00
Dustin Carlino
e8b80526ae making a separate DrawRoad. thick bands at low zoom, yellow center line at high zoom. 2019-02-12 09:16:33 -08:00
Dustin Carlino
8b6a863b60 print timer iterations and durations more legibly 2019-02-11 11:16:07 -08:00
Dustin Carlino
8693bbc1e3 import residential building dataset 2019-02-10 19:24:34 -08:00
Dustin Carlino
606340e2db switch to bincode. almost half file size, reading small_seattle went
from 40s to 7s in debug mode!!!
2019-02-10 16:20:44 -08:00
Dustin Carlino
c6229e0de6 make cemeteries and lake washington (with inner ways) work 2019-02-10 14:45:38 -08:00
Dustin Carlino
1fc0efb639 woops, forgot to make bus stop prerender. also make it use nicer
polyline slice()
2019-02-10 12:49:36 -08:00
Dustin Carlino
8eaf09034f handle mulitpolygons with incomplete clipped info 2019-02-09 21:48:21 -08:00
Dustin Carlino
f693316290 parse OSM multipolygons, like bodies of water, correctly, when they're
completely present in the .osm
2019-02-09 21:03:44 -08:00
Dustin Carlino
0f1d0d24ca prerender areas and be able to debug their geometry 2019-02-09 19:25:27 -08:00
Dustin Carlino
9d450363ea be able to launch DES model on any lane 2019-02-09 18:38:44 -08:00
Dustin Carlino
72b044c64f plugin to show roads connected to intersection. surprisingly useful for debugging merged intersections sometimes 2019-02-09 11:46:31 -08:00
Dustin Carlino
2f77fbdf2f disabled but partly working fix for long cut corners after merging
intersections
2019-02-09 11:10:42 -08:00
Dustin Carlino
7ea56ad6ca disabled thing to reduce degenerate intersection length 2019-02-08 20:18:49 -08:00
Dustin Carlino
949b184678 generalize the R253 fix 2019-02-08 14:49:31 -08:00
Dustin Carlino
18391811e4 use better symbols for stable roads/intersections 2019-02-08 12:45:12 -08:00
Dustin Carlino
d261d69fa5 manually handling O253 2019-02-08 12:42:31 -08:00
Dustin Carlino
cb752dceff fix over-eager intersection polygon that ate a curve due to two hits with the perpendicular 2019-02-08 12:16:14 -08:00
Dustin Carlino
bb6f5e0af0 plugin to show original road centers at the end 2019-02-08 12:06:17 -08:00
Dustin Carlino
5bf4a711b1 quick tooltips for simple model 2019-02-07 19:23:20 -08:00
Dustin Carlino
0eed17f81c toggle playing forwards or backwards 2019-02-07 18:27:12 -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
409de8ea83 smooth out the interval where the collision happens to avoid it. not
sure it looks better.
2019-02-07 13:17:19 -08:00
Dustin Carlino
f73978caf1 shift back to follow behind the lead car 2019-02-07 13:13:37 -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
d56f04167b tools to debug individual sidewalk corners. fixed some bugs where
sidewalk corners were incorrectly placed in the first place, causing bad
drawing. bug due to the same naive adjacent road approach
2019-02-06 13:58:44 -08:00
Dustin Carlino
260a2bdc3d forming the intersection polygon by the expected adjacency order, not by blindly sorting points by angle from a center. seems to fix some problems in merged mode! 2019-02-06 11:49:45 -08:00
Dustin Carlino
904991e8e0 sorting roads per intersection by adjacency more carefully for merged
intersections. no real noticeable effect yet.
2019-02-06 10:53:30 -08:00
Dustin Carlino
a9b9ae61bb tried tossing intersection endpoints into a convex polygon routine, but
it looks pretty bad. keeping around, but disabled.
2019-02-06 10:10:30 -08:00
Dustin Carlino
2f812e6265 correct slight overshooting. investigate a bus reaching a stop with
non-zero speed
2019-02-03 18:47:47 -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
e0fd39bb7c stop requiring hotkeys for TopMenu folders 2019-02-02 16:09:30 -08:00
Dustin Carlino
461efe4ef8 prerender crosswalks 2019-02-02 15:24:54 -08:00
Dustin Carlino
3f4711b13d at last, prerender cars 2019-02-02 14:43:24 -08:00
Dustin Carlino
f9ccecad26 fix spawning of vehicles on borders 2019-02-02 14:25:50 -08:00
Dustin Carlino
5a4a6bddf2 prerender bikes 2019-02-02 14:03:00 -08:00
Dustin Carlino
8a7413ac68 clean up old traits 2019-02-02 12:50:28 -08:00
Dustin Carlino
61d1d2fe83 revamp handling of onscreen stuff. no more callback plumbing, and can
plumb prerender successfully into dynamic stuff. just can't do as much
work directly in DrawMap.
2019-02-02 12:32:07 -08:00
Dustin Carlino
bc4ba647bc caching Renderables for agents 2019-02-01 15:10:35 -08:00
Dustin Carlino
ff80d0d445 disable time travel recording by default 2019-02-01 14:38:55 -08:00
Dustin Carlino
3451b65823 lazily compute SimStats 2019-02-01 14:31:35 -08:00
Dustin Carlino
58c4cb5e1b dont look up full SimStats unless needed 2019-02-01 13:45:37 -08:00
Dustin Carlino
2d7f64e69b make halloween use viewer, just for roads 2019-02-01 13:23:53 -08:00
Dustin Carlino
1970b7066e extract generic viewer stuff into its own crate, separate from the InitialMap stuff 2019-02-01 12:51:50 -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
097d1591e1 load previous/next initial map. refactor this functionality for sim
savestates
2019-02-01 11:03:57 -08:00
Dustin Carlino
e4b95c936b organizing ezgui into subdirectories 2019-02-01 09:55:25 -08:00
Dustin Carlino
06b8c26716 split ezgui runner into setup and loop functions 2019-02-01 09:30:01 -08:00
Dustin Carlino
5181a3db34 starting to move some text drawing code out of canvas 2019-01-31 23:40:15 -08:00
Dustin Carlino
c4d09b6e4f rearrange colorscheme ownership 2019-01-31 23:28:26 -08:00
Dustin Carlino
64573ea0ea own canvas inside of ezgui, not in applications. lots of refactoring
unlocked now...
2019-01-31 22:33:36 -08:00
Dustin Carlino
8d897f2266 speed up mouseover in main UI, and do it any zoom level now 2019-01-31 16:41:11 -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
2282c5658d make geom types Ord now 2019-01-31 14:29:47 -08:00
Dustin Carlino
8b3e3d8f27 final touchups... trim down pts in synthetic maps 2019-01-31 13:47:46 -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
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
a9cd42dd86 fix synthetic maps; field got renamed 2019-01-30 21:46:35 -08:00
Dustin Carlino
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
3e00789960 allow a NaN in kinematics 2019-01-30 15:02:12 -08:00
Dustin Carlino
0c6f7c424d removing dimensioned from last few crates 2019-01-30 14:29:42 -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
32b6c35c80 just defining, but not using, the new units 2019-01-30 12:11:42 -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
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
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
4d5bafd551 slightly simplify interaction between Canvas and text module 2019-01-26 10:25:08 -08:00
Dustin Carlino
067ee108c7 make screencap work (and more simply) with custom event loop 2019-01-26 10:04:20 -08:00
Dustin Carlino
2a59f90abb do basic polygon batching for cars 2019-01-25 14:23:39 -08:00
Dustin Carlino
a999cdd57b prerender intersection stuff too 2019-01-25 12:10:30 -08:00
Dustin Carlino
9cd2795329 prerender lane polygons for MASSIVE win 2019-01-25 11:24:43 -08:00
Dustin Carlino
8afe83162b collapsing all lane markings into a single Drawable 2019-01-25 11:21:46 -08:00
Dustin Carlino
f59879011d prerender buildings and parcels 2019-01-25 10:50:40 -08:00
Dustin Carlino
25bc02fb32 using prerender for lanes... a good start. 2019-01-25 10:38:40 -08:00
Dustin Carlino
623e578665 inverting the ezgui/GUI control to plumb Prerender 2019-01-25 10:19:58 -08:00
Dustin Carlino
6af551bc95 plumbing colorscheme early to support prerendering in DrawMap construction... 2019-01-25 09:46:19 -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
9ac0674e62 stop rounding yellow center lines. the roundness gets cut off by the intersection anyway. 2019-01-24 18:14:35 -08:00
Dustin Carlino
8cc652514d making a simple way to batch drawn stuff. not using it yet, it's buggy! 2019-01-24 18:04:54 -08:00
Dustin Carlino
c7eaa2cf55 exposing some basic drawing performance stats... 2019-01-24 16:21:56 -08:00
Dustin Carlino
590ab4bccb just moving GfxCtx to its own module 2019-01-24 16:10:18 -08:00
Dustin Carlino
49f0c64ef4 use the pts/indices for rendering 2019-01-24 15:32:46 -08:00
Dustin Carlino
d2f0cd91ee send Update events, fixing animation 2019-01-24 12:07:46 -08:00
Dustin Carlino
46c07dc57a make text entry work when empty 2019-01-24 11:12:13 -08:00
Dustin Carlino
9182a57af5 enabling draw_arrow again... math is not quite great 2019-01-24 10:01:30 -08:00
Dustin Carlino
5a8e2349e0 draw top menu items individually, so we don't have to mess with measuring whitespace from the font 2019-01-24 09:41:11 -08:00
Dustin Carlino
2cbb28a1a4 fixing srgb issue... geez 2019-01-23 23:13:30 -08:00
Dustin Carlino
8d270574ec revamping fork math 2019-01-23 17:27:34 -08:00
Dustin Carlino
a25f358295 hacking around top menu issue mostly 2019-01-23 16:19:32 -08:00
Dustin Carlino
f1b81456a6 calculating line height from the font 2019-01-23 14:02:43 -08:00
Dustin Carlino
9c94e2f374 simplify text API and storage to have one bg color per line 2019-01-23 13:38:24 -08:00
Dustin Carlino
2ab4502268 use glyph brush's built-in support for lines with different colors. sacrifice different background colors mid-line, which was unused anyway 2019-01-23 13:15:51 -08:00
Dustin Carlino
c4b7196570 fixing some text positioning bugs 2019-01-23 12:30:48 -08:00
Dustin Carlino
d9d89e93dd using glium_glyph... things initially kind of work 2019-01-23 12:10:17 -08:00
Dustin Carlino
ca00dda8be drawing circles in glium 2019-01-23 10:00:36 -08:00
Dustin Carlino
5dc8542856 upload data once per polygon, not once per triangle. derp. 2019-01-22 23:19:48 -08:00
Dustin Carlino
03215a5836 disable unneeded depth testing. enable antialiasing and alpha blending 2019-01-22 23:10:14 -08:00
Dustin Carlino
099846437c dont redraw unnecessarily 2019-01-22 22:30:36 -08:00
Dustin Carlino
fa075766cc fix y inversion. camera now feels totally correct 2019-01-22 18:20:20 -08:00
Dustin Carlino
fb7a809892 tweaked camera based on canvas. workable, not great. 2019-01-22 17:12:48 -08:00
Dustin Carlino
af7596f9a5 remove piston stuff, cut over to glutin in some basic way. nothing
displays now. :D
2019-01-22 16:51:02 -08:00
Dustin Carlino
974b04e74d start to move ezgui to glium. just copying extra code in, not deleting
existing stuff yet
2019-01-22 16:11:49 -08:00
Dustin Carlino
6064aa10af changing glium example to draw a few colored triangles, not the teapot 2019-01-22 13:47:23 -08:00
Dustin Carlino
87b885fcd7 importing and simplifying glium teapot example 2019-01-22 13:09:27 -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
a129adeaa1 refactoring spawning plugin so far 2019-01-21 12:43:35 -08:00
Dustin Carlino
c87c7b32ae make interactive driving trips still end at a building 2019-01-21 12:21:26 -08:00
Dustin Carlino
0d297b9dac let mouseover happen at low zoom for the agent spawner plugin 2019-01-21 11:47:44 -08:00
Dustin Carlino
f58f8a7ef1 make single spawn work from bldg to bldg or driving lane to driving lane 2019-01-21 11:34:22 -08:00
Dustin Carlino
998c27ddff starting a plugin to interactively spawn specific agents 2019-01-20 19:31:07 -08:00
Dustin Carlino
11045fd44f zorder for lanes and intersections 2019-01-20 14:15:50 -08:00