Commit Graph

467 Commits

Author SHA1 Message Date
Dustin Carlino
40206eccc3 removing most log usage from editor 2019-02-20 11:29:36 -08:00
Dustin Carlino
c5034494a9 spawn lots more cars to stress test 2019-02-19 20:22:08 -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
e4e07e7ba6 make it easier to debug areas 2019-02-18 15:56:15 -08:00
Dustin Carlino
5830908604 version control checksums of screencaps for all maps... well,
still not small_seattle. :P
2019-02-17 14:27:48 -08:00
Dustin Carlino
ad16247695 active agents per road in unzoomed mode 2019-02-16 17:55:02 -08:00
Dustin Carlino
c388d1f772 disabled DES quadratic distance... but some other improvements 2019-02-15 14:57:50 -08:00
Dustin Carlino
6b0a70268c clean up some interval epsilon stuff a bit 2019-02-15 12:55:36 -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
b366a2dccd mouseover areas by flag 2019-02-14 18:42:24 -08:00
Dustin Carlino
cfe9a8d662 dont redraw stuff that gets drawn anyway in the big batch 2019-02-14 17:27:41 -08:00
Dustin Carlino
f37415bfaa fundamentally different behavior when zoomed in vs not 2019-02-14 17:14:01 -08:00
Dustin Carlino
65307e66f5 batch all parcels too 2019-02-14 16:56:33 -08:00
Dustin Carlino
e445f972dd move ToggleableLayers out of ezgui, stop associating a zoom with them 2019-02-14 16:51:27 -08:00
Dustin Carlino
06c8ed72a9 flag-based profiling of GUI 2019-02-14 13:16:43 -08:00
Dustin Carlino
ee16c864c5 batch layers of stuff together to reduce draw calls. helps performance
MASSIVELY when zoomed out.
2019-02-14 12:37:33 -08:00
Dustin Carlino
f91fbb67d6 remove duplicated polygon from DrawBuilding by passing in map 2019-02-12 12:37:29 -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
9ea7493483 handle border nodes being bidirectional. also only assign borders during
convert_osm. still disabled... am confused. some hacks to make things
work in the meantime.
2019-02-11 23:25:39 -08:00
Dustin Carlino
4dd7dabde5 display boundary polygon, actually 2019-02-11 22:24:19 -08:00
Dustin Carlino
e2de3e208c use FindClosest quadtree helper for residential bldg permit matching 2019-02-11 15:35:06 -08:00
Dustin Carlino
8139cf2113 disable mouseover for areas, now that they work pretty well 2019-02-10 14:46:13 -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
9d450363ea be able to launch DES model on any lane 2019-02-09 18:38:44 -08:00
Dustin Carlino
f7d3db302d make simple model an exclusive blocking plugin, since it otherwise eats keys :) 2019-02-09 13:40:47 -08:00
Dustin Carlino
21e869cb0e rename Ctx to DrawCtx 2019-02-09 11:52:43 -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
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
40d3c6b0ca count all Prerender uploads, not just the ones that happen in draw() 2019-02-05 15:02:10 -08:00
Dustin Carlino
e0fd39bb7c stop requiring hotkeys for TopMenu folders 2019-02-02 16:09:30 -08:00
Dustin Carlino
5a4a6bddf2 prerender bikes 2019-02-02 14:03:00 -08:00
Dustin Carlino
d08751fb64 preupload pedestrian geometry 2019-02-02 13:44:27 -08:00
Dustin Carlino
8a7413ac68 clean up old traits 2019-02-02 12:50:28 -08:00
Dustin Carlino
12540970b3 actually, can refactor further by borrowing the AgentCache in the
call-site. doh, that was so simple in hind-sight.
2019-02-02 12:47:55 -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
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
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
c7eaa2cf55 exposing some basic drawing performance stats... 2019-01-24 16:21:56 -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
0d297b9dac let mouseover happen at low zoom for the agent spawner plugin 2019-01-21 11:47:44 -08:00
Dustin Carlino
998c27ddff starting a plugin to interactively spawn specific agents 2019-01-20 19:31:07 -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
3cc1ccfd26 annotate screencaps with an intersection in the shot 2019-01-15 11:00:13 -08:00
Dustin Carlino
09a3aed407 import raw map to synthetic 2019-01-15 09:37:23 -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
299f05e0a2 force showing full detail when screencapping at low zoom 2019-01-14 11:24:07 -08:00
Dustin Carlino
dbfc1ec0d2 combine the tiled images 2019-01-14 11:13:48 -08:00
Dustin Carlino
afa159abb4 ezgui-driven magic for screencapping EVERYTHING 2019-01-14 08:46:40 -08:00
Dustin Carlino
e607c6574a actually, use screengrab 2019-01-13 17:54:58 -08:00
Dustin Carlino
a94fddb209 try screenshot capture again. it's very slow and broken. 2019-01-13 15:40:58 -08:00
Dustin Carlino
73714ec173 plugin to debug polygons in depth 2019-01-12 15:26:59 -08:00
Dustin Carlino
25d38adf27 dont recalculate mouseover when plugins request it if zoom is too low 2019-01-12 10:52:23 -08:00
Dustin Carlino
c50013c583 dont mouseover parcels 2019-01-12 10:47:36 -08:00
Dustin Carlino
34aa0c0d74 hide areas by default 2019-01-09 12:53:10 -08:00
Dustin Carlino
71cf5116d6 new modal plugin to show a legend for explaining colors of stuff.
partially done.
2018-12-26 20:06:51 -06:00
Dustin Carlino
972a0d2fa2 hide debug top menu when appropriate 2018-12-24 19:32:56 -08:00
Dustin Carlino
92c0af2f41 solved the mystery of the spurious recompiles -- editor_state and color_scheme need to live outside the crate root, so modtimes are nice 2018-12-24 19:16:38 -08:00
Dustin Carlino
0bcda36380 teardown the wretched UIState trait 2018-12-24 19:13:36 -08:00
Dustin Carlino
7766c80f25 cam_zoom doesnt need to be repeated in RenderOptions. 2018-12-24 18:16:15 -08:00
Dustin Carlino
a626f5c542 remove steepness plugin; it's annoying and useless 2018-12-24 12:32:39 -08:00
Dustin Carlino
d989e2fb09 convert object hider into a modal menu 2018-12-24 08:17:23 -08:00
Dustin Carlino
551a8ef63a aw yeah, unicode arrow key descriptions. and tweaking some wording from filip's feedback 2018-12-22 23:20:21 -08:00
Dustin Carlino
0edded5725 trying out a quick way to mark parts of the screen unavailable for map-space mouseover. oh hey, it works great. 2018-12-22 20:03:12 -08:00
Dustin Carlino
2d7034e9cb canvas wont serve up map-space cursor when it's out of the window 2018-12-22 17:12:30 -08:00
Dustin Carlino
0aece4944d prep for disabling mouseover by changing canvas API. fix neighborhood
plugin to handle out-of-bounds points while we're there.
2018-12-22 16:49:47 -08:00
Dustin Carlino
ce45b5469b highlight turn icon circle, not arrow, so we can keep seeing the current priority. draw the big turn differently too. 2018-12-22 13:31:08 -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
b7f31cc8f4 make canvas know initial screen size, so centering on map pt initially does work 2018-12-18 15:37:44 -08:00
Dustin Carlino
7ebc51ee64 use arrow keys to switch cycles, not numbers. remove number_chosen. only allow arrow keys in wizard menus. 2018-12-17 20:40:32 -08:00
Dustin Carlino
e368919cfd fixing neighborhood editor 2018-12-17 16:58:24 -08:00
Dustin Carlino
4a98e1d086 convert all plugins to modal calls 2018-12-17 16:40:03 -08:00
Dustin Carlino
acbd08240d few things that should be in top menu 2018-12-17 13:16:31 -08:00
Dustin Carlino
bbacdfb676 declaring modal menus 2018-12-17 13:08:46 -08:00
Dustin Carlino
b3dea902de handle window close event 2018-12-17 11:33:57 -08:00
Dustin Carlino
21c61e4a60 avoid typos in action_chosen 2018-12-17 10:23:14 -08:00
Dustin Carlino
e64c44da33 change calls in UI 2018-12-17 10:05:19 -08:00
Dustin Carlino
1f1f3b63e2 wiring up submenu events 2018-12-17 09:07:49 -08:00
Dustin Carlino
8aa12fb6d9 highlight selected item in top menu 2018-12-16 19:41:11 -08:00
Dustin Carlino
efc0db122a specify top menu in UI, but it doesn't do anything yet 2018-12-16 18:23:17 -08:00
Dustin Carlino
4629015e12 delete unused TreeMenu and stop passing in the category for unimportant actions 2018-12-16 14:13:28 -08:00
Dustin Carlino
9adcb0315e making my own event, mapping piston's event to it. will simplify downstream code and make moving away from piston even easier. 2018-12-15 20:44:28 -08:00
Dustin Carlino
cf74050758 dont call event() for a render event 2018-12-15 12:24:06 -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
a3a41ed186 move PerMapUI to state module 2018-12-13 15:26:02 -08:00
Dustin Carlino
7c48ec02cc making tutorial UIState that just wraps and delegates, doesn't do
its own thing yet
2018-12-13 14:51:40 -08:00
Dustin Carlino
bb71418fd3 make UI generic over UIState 2018-12-13 14:30:18 -08:00
Dustin Carlino
79dc9aee40 pulling UI state behind a trait. result is a bit convoluted still. 2018-12-13 14:03:09 -08:00
Dustin Carlino
f9016c6871 move recalc_current_selection... it's this temporary bit of state 2018-12-13 11:22:25 -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
87bbadecc1 change ColorScheme to use the generated code. remove the terrible mutability. 2018-12-12 17:18:47 -08:00
Dustin Carlino
010a636ae6 change the colorscheme method name to find more easily in parsing 2018-12-12 16:25:08 -08:00
Dustin Carlino
26af5526f2 just moving some plugin-bundling code to a separate module, but not really changing ownership structure yet 2018-12-12 14:36:26 -08:00
Dustin Carlino
d61255a4b3 lift panic handling from UI's event to ezgui runner, use also for draw 2018-12-12 14:11:18 -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
3c710c2e8a fix the sim score plugin 2018-12-12 10:47:02 -08:00
Dustin Carlino
11584efbb6 starting a TutorialMode, sneakily installing the plugin based on filename (ew) 2018-12-10 16:12:31 -08:00
Dustin Carlino
dacd423080 clippy pt4 2018-12-09 12:04:02 -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
8ee38d8dba defining a mode to control the sim, with diff trip/all and score split
out. more soon.
2018-12-08 13:07:48 -08:00
Dustin Carlino
c0317c0ce0 fix initial zoom when loading new PerMapUI. this broke a few commits ago when moving ToggleableLayers from per-UI to per-map plugins. 2018-12-07 14:17:40 -08:00
Dustin Carlino
cd4c39dec6 consolidating event and new_event 2018-12-07 14:06:47 -08:00
Dustin Carlino
dc0298a713 switch to new_color_for and new_draw everywhere (and rename them), cleaning up Ctx creations 2018-12-07 13:38:36 -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
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
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
da46544e99 bundling exclusive editor-like plugins together in one meta plugin,
edit_mode
2018-12-05 16:28:15 -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
636eb1fb1c overriding crosswalk colors for stop signs 2018-12-05 10:57:12 -08:00
Dustin Carlino
545b96a74a also suppress stop sign icon when relevant 2018-12-05 10:11:57 -08:00
Dustin Carlino
4851761fc6 dont show shared sidewalk corner icons at all in the editor 2018-12-04 12:39:57 -08:00
Dustin Carlino
1aabbb1e32 bringing back turn icons to the editor. needs more tweaks, but a start 2018-12-04 12:25:15 -08:00
Dustin Carlino
2c7abcbc3a hiding crosswalks way more sanely 2018-12-04 11:08:18 -08:00
Dustin Carlino
d4006d3e93 stop drawing traffic signal box when some plugins are active 2018-12-04 10:26:35 -08:00
Dustin Carlino
43fa67177d plumbing generic things in ezgui runner 2018-12-04 10:20:08 -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
a790fec6a1 highlight/dim crosswalks in turn cycler 2018-12-03 13:07:29 -08:00
Dustin Carlino
503c3c2ca9 warping to turns, with an easily typeable name 2018-12-01 14:29:20 -08:00
Dustin Carlino
4d7c1203a6 the great control layer merge 2018-11-30 13:52:50 -08:00
Dustin Carlino
5fbd5e1546 when editor_state isn't applicable, focus on bldg 0 instead of centering view 2018-11-26 11:43:53 -08:00
Dustin Carlino
1ce55ada04 make time travel plugin handle loading savestates 2018-11-23 10:48:29 -08:00
Dustin Carlino
e9ed1b0c86 make time travel plugin handle savestates 2018-11-22 17:44:51 -08:00
Dustin Carlino
1fd6c17ff5 get rid of the output param primary_plugins hack 2018-11-22 15:57:37 -08:00
Dustin Carlino
541a7bc22f make simctrl a normal plugin, finally 2018-11-22 15:48:24 -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
29e1f3f6c0 starting a plugin to scrape agents... 2018-11-22 11:38:00 -08:00
Dustin Carlino
117adb7f1a consolidating all of the kml parsing code 2018-11-21 13:20:41 -08:00
Dustin Carlino
f577cc9948 consolidate the panic/unwind code 2018-11-12 11:20:26 -08:00
Dustin Carlino
f1d82a4c97 make the warp plugin animate the panning 2018-11-12 11:02:51 -08:00
Dustin Carlino
03909cc04f make turn cycler able to draw all turns from a lane, even when the plugin isnt really 'active' 2018-11-05 17:52:35 -08:00
Dustin Carlino
2dd95723e6 cleanup: all plugins constructed with new() 2018-11-01 17:10:13 -07:00
Dustin Carlino
a610575701 changing ezgui API to return Bounds, not Rect 2018-11-01 15:31:06 -07:00
Dustin Carlino
b593d3f5cf WIP plugin to highlight lanes with movement 2018-11-01 14:42:43 -07:00
Dustin Carlino
294e6683d9 dealing with panics from anywhere in the UI event handling 2018-11-01 14:10:08 -07:00
Dustin Carlino
8a1ee5c32b slight improvements to Timer API and output 2018-10-30 15:17:04 -07:00
Dustin Carlino
a6bc3ed2a0 progress for KML parsing 2018-10-30 13:18:24 -07:00