Commit Graph

778 Commits

Author SHA1 Message Date
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
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
ae6438e8b7 show sidewalk corners when zoomed out 2019-01-19 21:19:49 -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
317c6ecd6c organizing TODOs... well, some of them 2019-01-17 22:26:35 -08:00
Dustin Carlino
d76c0d0652 use StableRoadID directly in synthetic model 2019-01-17 19:31:57 -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
52fccbf547 import actual lane spec in synthetic, by parsing OSM tags and stuff 2019-01-16 11:59:00 -08:00
Dustin Carlino
09a3aed407 import raw map to synthetic 2019-01-15 09:37:23 -08:00
Dustin Carlino
6d4e958ea5 retain directory of screencap tiles, for faster diffing 2019-01-14 13:02:03 -08:00
Dustin Carlino
bae23f79da even better progress, and make it easier to deal with failed montage 2019-01-14 12:01:56 -08:00
Dustin Carlino
b94e0db5ec fix turn cycler panic... yet again 2019-01-11 12:24:56 -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
0bcda36380 teardown the wretched UIState trait 2018-12-24 19:13:36 -08:00
Dustin Carlino
8708bc750b now we can make PluginCtx just once 2018-12-24 18:54:46 -08:00
Dustin Carlino
8913ea44e3 brief interruption to plumb primary_plugins to plugins that need it in a different way outside the ctx, to avoid annoying borrow issues 2018-12-24 18:51:51 -08:00
Dustin Carlino
7aed6fa690 disable debug controls in tutorial mode... except for the top menu fixes 2018-12-24 18:26:11 -08:00
Dustin Carlino
7766c80f25 cam_zoom doesnt need to be repeated in RenderOptions. 2018-12-24 18:16:15 -08:00
Dustin Carlino
d56f2fad1c reorg time travel plugin. at last, teardown the old active_plugin cruft. 2018-12-24 18:08:52 -08:00
Dustin Carlino
c83c4c4899 collapse ViewMode, moving ambient plugins out 2018-12-24 17:57:47 -08:00
Dustin Carlino
fc15b28826 lift the special case search plugin out of simmode. 2018-12-24 17:47:41 -08:00
Dustin Carlino
d06f80e918 lift warp plugin out of simmode. and categorize display logs as view,
just to organize the directory more.
2018-12-24 17:31:21 -08:00
Dustin Carlino
597828ce28 revamp toggleable layers plugin, and get rid of debug mode 2018-12-24 17:22:52 -08:00
Dustin Carlino
ad3ef954eb revamping hider plugin 2018-12-24 16:30:45 -08:00
Dustin Carlino
46b3e85bd3 flatten some DebugMode stuff that actually doesnt need to be permap, since it's exclusive blocking 2018-12-24 12:38:51 -08:00
Dustin Carlino
a626f5c542 remove steepness plugin; it's annoying and useless 2018-12-24 12:32:39 -08:00
Dustin Carlino
3b372dd9ce move DisplayLogs into exclusive_blocking_plugin 2018-12-24 12:26:02 -08:00
Dustin Carlino
7b8b9fdbe6 flatten SimMode into DefaultUIState 2018-12-24 12:19:16 -08:00
Dustin Carlino
39c3e2917e flatten EditMode into DefaultUIState 2018-12-24 10:39:24 -08:00
Dustin Carlino
ac31da777f more cleaned up notes on map model 2018-12-21 22:09:11 -08:00
Dustin Carlino
e51a8efbc3 start writing proper docs on the map model and conversion 2018-12-20 09:54:14 -08:00
Dustin Carlino
003881fe93 prototyping right-click context menus. solid start, lots of work needed. 2018-12-15 10:39:50 -08:00
Dustin Carlino
3f2a7d6e68 display when a traffic signal is in overtime 2018-12-14 12:01:00 -08:00
Dustin Carlino
84b136be14 finally letting tutorial mode listen to sim events 2018-12-14 10:38:14 -08:00
Dustin Carlino
8e715de098 simplify UI state a bit... dont plumb around extra KML shapes to display. if we load an A/B test or different map edits, no need to preserve the KML; its for one-off debugging. 2018-12-13 11:13:33 -08:00
Dustin Carlino
9d653b103d starting a python script to find ColorScheme calls 2018-12-12 16:14:24 -08:00
Dustin Carlino
e29ff690f8 move PluginCtx 2018-12-12 13:58:02 -08:00
Dustin Carlino
dd859ba76d clean up interaction between UI and get_objects_onscreen a bit 2018-12-12 12:27:45 -08:00
Dustin Carlino
6cc7399b89 draw full turns using sharp bends if needed 2018-12-11 15:19:35 -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
56d3c81d82 easily watch logs as a slow test runs 2018-12-09 13:43:06 -08:00
Dustin Carlino
e71fa25229 moving sim_controls into SimMode, expressing it as a Paused/Running state 2018-12-08 13:51:31 -08:00
Dustin Carlino
b92303ecab avoiding overlapping keys in ViewMode 2018-12-08 12:19:16 -08:00
Dustin Carlino
e604d3866c rewrite turn cycler; it was confusing because it used to cycle through turns over time 2018-12-07 11:45:42 -08:00
Dustin Carlino
6a32166452 rewrite lots of stuff with NLL! \o/ 2018-12-06 12:47:20 -08:00
Dustin Carlino
91b2b07fbd remove more extern crate's; import macros directly 2018-12-06 11:22:12 -08:00
Dustin Carlino
dc450a1959 moving search into view 2018-12-06 10:02:11 -08:00
Dustin Carlino
6a317aea33 moving warp into ViewMode 2018-12-06 09:47:51 -08:00
Dustin Carlino
63c80405f5 neighborhood summary part of ViewMode 2018-12-06 09:39:01 -08:00
Dustin Carlino
0b39be0d1a moving each of the Modes into that directory's mod.rs 2018-12-06 09:34:10 -08:00
Dustin Carlino
5b6cdf24bd making a View mode, with mostly ambient/stackable plugins 2018-12-05 21:13:36 -08:00
Dustin Carlino
7cac74457c debug mode -- pt2, the stateful and ambient plugins 2018-12-05 19:17:29 -08:00
Dustin Carlino
d8492b7e17 bundling together a debug mode too -- pt1, the easy transient plugins 2018-12-05 18:22:18 -08:00
Dustin Carlino
96df555107 refactor edit plugins to not need an inactive state 2018-12-05 17:02:27 -08:00
Dustin Carlino
da46544e99 bundling exclusive editor-like plugins together in one meta plugin,
edit_mode
2018-12-05 16:28:15 -08:00
Dustin Carlino
f5201bbfa6 WIP thinking about running tutorial mode 2018-12-05 13:40:21 -08:00
Dustin Carlino
7a10378b00 make UI handle loading new maps with no buildings to focus on 2018-12-05 11:47:58 -08:00
Dustin Carlino
546213e82b couple together crosswalks in stop sign editor 2018-12-05 11:01:01 -08:00
Dustin Carlino
545b96a74a also suppress stop sign icon when relevant 2018-12-05 10:11:57 -08:00
Dustin Carlino
43fa67177d plumbing generic things in ezgui runner 2018-12-04 10:20:08 -08:00
Dustin Carlino
f68fe3fd11 adding some gifs to the front page 2018-12-03 21:34:49 -08:00
Dustin Carlino
1567664b43 dont draw signal box when selecting 2018-12-03 21:04:37 -08:00
Dustin Carlino
76e02897d0 experimenting with bezier curves for left and right turns. they look
great!
2018-12-02 20:06:29 -08:00
Dustin Carlino
503c3c2ca9 warping to turns, with an easily typeable name 2018-12-01 14:29:20 -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
609c731fa0 implement yielding in traffic signals. pretty untested. 2018-11-30 12:28:32 -08:00
Dustin Carlino
f6562e97ea moving around code in control layer a bit 2018-11-30 11:13:02 -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
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
e755aeb4ef merging intersections for a hardcoded set of short roads 2018-11-28 09:19:36 -08:00
Dustin Carlino
5c3ca41722 associate buses with trips, so some UI plugins can handle them 2018-11-27 14:33:35 -08:00
Dustin Carlino
149758d5ae use traffic signal data from new kml, not old shp that's no longer online 2018-11-27 13:10:51 -08:00
Dustin Carlino
c2783ab56e making a new Position tuple and equiv_dist_along 2018-11-27 09:55:37 -08:00
Dustin Carlino
8509b46b0b print how much time all tests took 2018-11-26 16:12:18 -08:00
Dustin Carlino
fcf7ea161c prototyping a better rust test runner that captures output in files
and prints results nicely
2018-11-23 14:51:14 -08:00
Dustin Carlino
2e8cd7ff7a dont spawn bikes on highway border nodes 2018-11-23 11:03:45 -08:00
Dustin Carlino
1fd6c17ff5 get rid of the output param primary_plugins hack 2018-11-22 15:57:37 -08:00
Dustin Carlino
b2c976b439 make Sim or TimeTravel be able to serve up Draw agents 2018-11-22 14:46:28 -08:00
Dustin Carlino
ced04798b4 basic controls for time travel, showing state in OSD 2018-11-22 11:53:35 -08:00
Dustin Carlino
29e1f3f6c0 starting a plugin to scrape agents... 2018-11-22 11:38:00 -08:00
Dustin Carlino
81c2333b2d initial notes on time travel 2018-11-21 12:15:31 -08:00
Dustin Carlino
7278719a04 consolidating all of the road query methods 2018-11-20 13:36:10 -08:00
Dustin Carlino
b618842ad2 WIP woops, found a bug with bike_reached_end 2018-11-18 17:02:30 -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
889214ccdf splitting off just the scheduling portion of spawn. no more
recalculating paths!
2018-11-17 18:41:53 -08:00
Dustin Carlino
343aeba3b6 deleted some aging code only used for tests that definitely needs overhaul anyway 2018-11-17 17:28:19 -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
0b53b2e44f make bike from border work by adding a bit in spawn 2018-11-17 07:34:06 -08:00
Dustin Carlino
d7efdfc86d rendering bikes differently 2018-11-16 14:51:41 -08:00
Dustin Carlino
3036511c9e another darn bike/parking lane case, unrelated 2018-11-16 14:34:01 -08:00
Dustin Carlino
1e43f33939 render peds preparing bikes 2018-11-16 14:28:36 -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
5db8b4edb6 make finished bikes become peds 2018-11-16 14:14:36 -08:00
Dustin Carlino
b9770dc4bd plumbing through the commands in spawn, finally... 2018-11-16 13:40:14 -08:00
Dustin Carlino
a2a6b16fdc plumbing biking option from scenario all the way down... incomplete 2018-11-16 11:31:27 -08:00
Dustin Carlino
fb2ec0bcd0 plumbing some bits for bikes 2018-11-16 10:38:05 -08:00
Dustin Carlino
ee9f2a0430 make a vehicle type for bikes and introduce a cap speed 2018-11-16 09:44:04 -08:00
Dustin Carlino
952e97d942 starting to write down an enum for the massive FSM revamp. having more
reservations about going this direction.
2018-11-15 18:58:03 -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
e9352aca40 fix random stuff that stopped building (but not tests) 2018-11-12 21:30:11 -08:00
Dustin Carlino
257d051585 update walking model to handle ending at a border 2018-11-12 16:45:33 -08:00
Dustin Carlino
7cf6aa0eeb new_trip API was needlessly complicated; ditched start/end_bldg 2018-11-12 13:39:26 -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
eabef19ed4 clipping OSM ways in osmosis differently, and hacking around a traffic
signal at a border node
2018-11-08 11:25:32 -08:00
Dustin Carlino
58dcdb4985 detangle the two tooltip_lines variants; it makes more sense in each renderable 2018-11-07 14:44:15 -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
dc70d4eb9a was overthinking turn-making... going back to something simple 2018-11-06 08:59:27 -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
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
58025c027d fixing trace_route with contraflow on last step 2018-11-03 12:29:00 -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
c22ec98259 get_bounds for PolyLine 2018-10-31 08:31:16 -07:00
Dustin Carlino
7bb1bab755 pulling sidewalk width from KML 2018-10-30 14:15:57 -07:00
Dustin Carlino
a6bc3ed2a0 progress for KML parsing 2018-10-30 13:18:24 -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
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
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
898e036c7e the great color scheme refactor! 2018-10-24 19:18:37 -07:00
Dustin Carlino
580ab797de catching simulation panics in the UI, to print some debug info before dying 2018-10-24 13:19:13 -07:00
Dustin Carlino
118b676220 wait, where did the parcels all go? 2018-10-23 13:27:16 -07:00
Dustin Carlino
144fa638d0 reduce import list in ui 2018-10-22 10:57:37 -07:00
Dustin Carlino
fd2b77f958 splitting UI plugins into another struct 2018-10-21 19:09:22 -07:00
Dustin Carlino
80121df78c rename data/maps to data/raw_maps 2018-10-20 08:25:49 -07:00
Dustin Carlino
a3984ca9ec bringing in some docs from an old branch 2018-10-18 17:00:46 -07:00
Dustin Carlino
5d010d2580 make a/b test work again... neighborhoods can be kind of poorly defined 2018-10-18 15:44:35 -07:00
Dustin Carlino
d6253a1721 dont draw stop sign on degenerate intersections 2018-10-18 15:28:34 -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
35566543f1 briefly play around with cpuprofiler and gperftools 2018-10-18 10:54:04 -07:00
Dustin Carlino
b25046bd67 removing old, weird controls for interactively spawning stuff in the UI 2018-10-17 13:06:40 -07:00
Dustin Carlino
98914ce208 peds only use the car associated with their building 2018-10-17 10:34:02 -07:00
Dustin Carlino
0d33a25d44 calm down DiffWorlds, not every agent has a trip -- buses and parked cars, namely 2018-10-17 10:10:22 -07:00
Dustin Carlino
7919b0bd8d associating cars with an owner 2018-10-16 17:28:03 -07:00
Dustin Carlino
2c110a58f9 starting a very basic plugin to show differences between trips in parallel worlds 2018-10-16 14:48:41 -07:00
Dustin Carlino
14c341d86a shuffle parked cars to use without offsetting the RNG 2018-10-16 11:50:16 -07:00
Dustin Carlino
77786c9483 forking RNGs to keep SeedParking consistent 2018-10-16 11:39:16 -07:00
Dustin Carlino
bc48b3189f generate trips to spawn before seeding parking spots, to make trip IDs line up better... 2018-10-14 18:53:39 -07:00
Dustin Carlino
80f6eb95b4 brainstorming edit-invariant trips. initial work to reference TripIDs,
which are independent of mode.
2018-10-14 14:01:03 -07:00
Dustin Carlino
f7f9b5ab70 plugin to find and show chokepoints 2018-10-13 15:24:14 -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
2aa47bbd51 grouping UI state that's bound to a certain map+edits 2018-10-08 14:08:20 -07:00
Dustin Carlino
ad37e595f0 scarier colors. :P 2018-10-07 13:23:31 -07:00
Dustin Carlino
8f88d58952 adding a quadtree to halloween demo, by copying lots of code 2018-10-07 13:07:44 -07:00
Dustin Carlino
403ef7d0ec also move the buildings 2018-10-07 12:51:27 -07:00
Dustin Carlino
b14df8a090 starting new halloween experiment... just rendering thick roads 2018-10-06 13:45:10 -07:00
Dustin Carlino
478d12aecb plumb car properties between driving and parking sims. seems simpler... 2018-10-05 12:35:32 -07:00
Dustin Carlino
7b718b4621 bundling all map edits together 2018-10-02 15:48:10 -07:00
Dustin Carlino
4f3afa3894 very primitively tracking trip times, only showing in headless 2018-09-28 07:19:16 -07:00
Dustin Carlino
c1427a044c dont lose logs in editor 2018-09-27 14:57:01 -07:00
Dustin Carlino
fa1d7e8182 WIP instantiating a scenario 2018-09-27 11:47:29 -07:00
Dustin Carlino
09c3b017b9 logging in map layer too 2018-09-23 14:15:24 -07:00
Dustin Carlino
a53dd51ec4 filling out logging in editor crate 2018-09-23 14:01:03 -07:00
Dustin Carlino
6c7d4185b3 proper logging from the editor layer 2018-09-22 20:12:24 -07:00
Dustin Carlino
f9e0b6facc adding a scrollable log buffer widget 2018-09-21 14:09:20 -07:00
Dustin Carlino
f6ddd8aeaa adding categories to unimportant actions, arranging them in a tree 2018-09-21 13:16:46 -07:00
Dustin Carlino
f1f0683026 prompts on top of menus, too 2018-09-21 08:08:34 -07:00
Dustin Carlino
1d7417e851 display text entry boxes in the middle of the screen, not as part of the bottom OSD 2018-09-20 18:55:44 -07:00
Dustin Carlino
b57fec18d5 messing around slightly with the experimental gfx crate 2018-09-18 07:47:03 -07:00
Dustin Carlino
18a5a2f2f8 remove parcels too far from sidewalks 2018-09-16 16:54:35 -07:00
Dustin Carlino
5348ed6c7b organizing design notes a bit 2018-09-16 16:35:48 -07:00
Dustin Carlino
7911146063 organizing docs a bit 2018-09-16 16:15:08 -07:00
Dustin Carlino
67ef04b3c2 unifying tooltip handling a bit 2018-09-16 15:57:23 -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
35141dee40 at last, the satisfying collapsing of all the boilerplate color functions 2018-09-15 16:52:37 -07:00
Dustin Carlino
008c63cd1a passing ctx to both plugins and renderers, so we can debug lanes 2018-09-15 14:56:21 -07:00
Dustin Carlino
269642a984 give plugins a better way to express color 2018-09-14 22:18:49 -07:00
Dustin Carlino
c08477a9e9 draw lane details with generic quadtree, based on render options 2018-09-14 13:18:02 -07:00
Dustin Carlino
772ab784a7 generic quadtree support for show_turn_icons 2018-09-14 13:01:28 -07:00
Dustin Carlino
4a46990457 generic quadtree - initial round. broke some features, will add them
back in next.
2018-09-14 12:44:10 -07:00
Dustin Carlino
5303087fa2 making DrawCar implement renderable 2018-09-13 22:33:58 -07:00
Dustin Carlino
b3d2a5c5be WIP making DrawPed implement Renderable 2018-09-13 22:15:03 -07:00
Dustin Carlino
48a47ff013 make parcels selectable too 2018-09-13 14:14:10 -07:00
Dustin Carlino
78d09fdb6d make toggleable layer stuff just another plugin 2018-09-13 12:01:53 -07:00
Dustin Carlino
a059bccfd5 making more plugins initiate themselves, instead of UI doing it 2018-09-13 11:57:18 -07:00
Dustin Carlino
853665406b killing the selection plugin 2018-09-13 11:28:33 -07:00
Dustin Carlino
799eeec73d moving all logic out of selection plugin 2018-09-13 10:32:01 -07:00
Dustin Carlino
839ded2eed moving hider into its own module 2018-09-13 09:51:44 -07:00
Dustin Carlino
1f8a73fb6e going through and checking definitions of active plugins 2018-09-13 09:41:51 -07:00
Dustin Carlino
05219623bd one active plugin at a time. easy. 2018-09-13 09:21:47 -07:00
Dustin Carlino
5fb8408a4e just move plugin event handlers to a list of closures 2018-09-12 23:10:27 -07:00
Dustin Carlino
147901790c first lift sim out of sim ctrl 2018-09-12 17:43:58 -07:00
Dustin Carlino
04a25bd489 refactor selection plugin at last 2018-09-12 16:58:21 -07:00
Dustin Carlino
855258ac97 moving turn cycling logic out of SelectionState 2018-09-12 16:20:13 -07:00
Dustin Carlino
9d96eb1741 making a renderable trait, making everything implement it. killed a few
colors.
2018-09-11 13:42:53 -07:00
Dustin Carlino
571aa2f786 split out experimental playground GUI stuff into its own crate 2018-09-09 19:16:41 -07:00
Dustin Carlino
64d4117c0c moving GUI runner to ezgui 2018-09-09 18:50:36 -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
6bff2113be more OSM types so medium map doesn't immediately crash. trying to fix
bad polyline projection in another branch, but don't have it working yet
2018-09-08 10:15:38 -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
99fe9f170c fixing up tests 2018-09-07 14:08:36 -07:00
Dustin Carlino
e02ec325de simpler gtfs parsing 2018-09-06 16:48:28 -07:00
Dustin Carlino
1d732c5a3b WIP load gtfs 2018-09-06 14:59:02 -07:00
Dustin Carlino
c5c00d5740 record stack traces 2018-09-06 13:32:35 -07:00
Dustin Carlino
0276dd54aa starting to capture stack traces at runtime 2018-09-05 16:37:18 -07:00
Dustin Carlino
e99d9944e4 using failure crate in sim 2018-09-05 15:21:04 -07:00
Dustin Carlino
a2c7b8b5bd fixing warping peds and preventing it from happening again 2018-09-05 14:22:47 -07:00
Dustin Carlino
fbcc2a9094 unifying WorldView and AgentInfo 2018-09-05 13:10:29 -07:00
Dustin Carlino
8547b18650 WIP figuring out why just yielding at stop signs breaks things 2018-09-05 11:57:06 -07:00
Dustin Carlino
55b02e6c5c making a sample ped using the bus 2018-09-04 11:49:22 -07:00
Dustin Carlino
a74bfe6c92 making peds leave the bus 2018-09-04 11:18:27 -07:00
Dustin Carlino
bc9b559701 making the multi-leg trips handle transitions correctly 2018-09-04 10:31:52 -07:00
Dustin Carlino
9d01183a7e introducing some proper multi-leg trips 2018-09-04 10:16:34 -07:00
Dustin Carlino
0205eb8978 splitting out a trip manager from the spawner 2018-08-31 14:13:55 -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
c685a80a98 moving state to transit model, making router get directives from it 2018-08-30 15:00:52 -07:00
Dustin Carlino
63a8171370 recording events that happen each tick 2018-08-30 11:03:58 -07:00
Dustin Carlino
44f02273be starting a transit sim state, so we know when a bus is at a stop, so we can unit test it. ;) 2018-08-29 23:42:16 -07:00
Dustin Carlino
bb15bdb4d4 extracting out router for cars. along the way, kinda rearranging how
mutability and views work
2018-08-28 12:02:52 -07:00
Dustin Carlino
a9bb71c59f modeling and rendering bus stops 2018-08-27 15:06:13 -07:00
Dustin Carlino
fe8a28ff34 savestate regularly 2018-08-27 13:21:31 -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
f141329e85 moving some types in the sim layer around, now that the dust has settled 2018-08-23 13:56:49 -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
7745678794 make the spawner deal with trips and transitions... big revamp for it 2018-08-23 10:11:56 -07:00
Dustin Carlino
0a944f9864 making peds be able to start/end at a parking spot as well. nothing
tells them to start/end at parking yet, though
2018-08-23 07:58:18 -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
00056e6e81 require a front path for buildings, by ignoring street names 2018-08-22 11:33:29 -07:00
Dustin Carlino
19727cdcaf adjusting intersection policy to not deadlock? 2018-08-22 09:30:33 -07:00
Dustin Carlino
b87af4b303 digging into stuck kinematics. seemingly unblocks completion test! 2018-08-20 15:34:55 -07:00
Dustin Carlino
7f29e5d285 making car length vary, and adjusting parking model in response 2018-08-20 12:31:39 -07:00
Dustin Carlino
917c3c3ed5 WIP storing per-car properties like accel somewhere 2018-08-20 11:27:11 -07:00
Dustin Carlino
bf52822e37 wrote a few tests of parking 2018-08-19 18:07:28 -07:00
Dustin Carlino
af8a583f77 moving spawning of parked cars to a dedicated place 2018-08-16 15:10:26 -07:00
Dustin Carlino
0edd4c6eff oops, bug where parking spots were too close to the start 2018-08-16 12:50:46 -07:00
Dustin Carlino
6693147a99 WIP making driving cars park at a specific spot 2018-08-15 15:29:49 -07:00
Dustin Carlino
511aab4483 representing departing vehicles 2018-08-15 11:53:04 -07:00
Dustin Carlino
432c9644fc slightly different speed limits 2018-08-09 13:14:30 -07:00