From bf59b97e6ed2841523facc2ba90ec970698097c2 Mon Sep 17 00:00:00 2001 From: Dustin Carlino Date: Wed, 27 May 2020 09:08:00 -0700 Subject: [PATCH] (start) documenting project philosophy --- docs/TODO_extra.md | 2 +- docs/TODO_logistic.md | 5 ----- docs/TODO_quality.md | 15 -------------- docs/TODO_refactoring.md | 1 - docs/TODO_ux.md | 40 ------------------------------------- docs/map_parking.md | 4 +++- docs/project/motivation.md | 26 ------------------------ docs/values.md | 41 ++++++++++++++++++++++++++++++++++++++ 8 files changed, 45 insertions(+), 89 deletions(-) delete mode 100644 docs/project/motivation.md create mode 100644 docs/values.md diff --git a/docs/TODO_extra.md b/docs/TODO_extra.md index 062979809c..f27a53f275 100644 --- a/docs/TODO_extra.md +++ b/docs/TODO_extra.md @@ -12,7 +12,7 @@ - fences / bushes / features in houses or triangulation on a block with buildings - buildings as rooms in a hotel - silent hill soundtrack -= deformed buildings pulsing on front path springs +- deformed buildings pulsing on front path springs - lighting? - fog effects - in 3D, what if roads are sunken rivers and buildings giant skyscrapers? diff --git a/docs/TODO_logistic.md b/docs/TODO_logistic.md index 21b92c6b52..f962f14ca3 100644 --- a/docs/TODO_logistic.md +++ b/docs/TODO_logistic.md @@ -27,8 +27,3 @@ - useful unit tests - for a given intersection with lanes, check all the turns generated - -## Code to release - -- (from before august 2019) tmp_gfx as a 2D-with-camera glium sample -- ezgui diff --git a/docs/TODO_quality.md b/docs/TODO_quality.md index 4d1d52a0e9..c31e50c86c 100644 --- a/docs/TODO_quality.md +++ b/docs/TODO_quality.md @@ -12,13 +12,6 @@ - make polygons use the corrections too? - bad polyline shifting causes jagged lane endings in generalized_trim_back -- handle small roads again somehow? - - reduce degenerate min trim. the disabled fix doesn't look great. - - I40, I25, I0 cut corners when merged. disabled fix works, but breaks other things. - - try it bigger - - deal with loop roads? - - model U-turns - - car turns often clip sidewalk corners now - draw SharedSidewalkCorners just around the ped path, not arbitrarily thick - dont forget to draw the notches @@ -86,14 +79,6 @@ ## Discrete-event sim model -- cleanup after the cutover - - proper intersection policies, by seeing full view - - time travel mode can be very smart - - dupe code for initially spawning vs spawning when a trip leg starts. - - validation (just do it in spawn and return an error?) - - getting the path - - converting goal into router and such - - perf - dig into individual events, still too many? - for laggy heads, often round down and try slightly too early diff --git a/docs/TODO_refactoring.md b/docs/TODO_refactoring.md index 42cfbc00e7..af90c4b845 100644 --- a/docs/TODO_refactoring.md +++ b/docs/TODO_refactoring.md @@ -34,7 +34,6 @@ - hide stuff inside the ctx's? canvas and prerender shouldnt even be known outside of crate - generic World with quadtree should have actions on objects - loading screen - - cleanup hack: dont put glyphbrush in canvas at all - FileWithProgress should go directly into Timer - need to understand lifetimes - cleanup abstutil Timer stuff generally diff --git a/docs/TODO_ux.md b/docs/TODO_ux.md index 5b8afbd27d..5b6c3939a9 100644 --- a/docs/TODO_ux.md +++ b/docs/TODO_ux.md @@ -8,33 +8,21 @@ - click cycle diagram to edit duration -- toggle rewind mode - yellow or flashing red/yellow for yields - text box entry: highlight char looks like replace mode; draw it btwn chars -- navigator - - show options on map - - stop jumping text size - ## General ezgui stuff -- optionally limit canvas scrolling/zooming to some map bounds -- start context menu when left click releases and we're not dragging -- move context menus out of ezgui - - simplify/remove UserInput. - - maybe separate impls for context, wizard, modal menu make sense. - arbitrary viewports?! - tiling wm ## New features - collapse smaller roads/neighborhoods and just show aggregate stats about them (in/out flow, moving/blocked within) -- undo support for edits ## Better rendering - depict residential bldg occupany size somehow -- render cars with textures? - rooftops - https://thumbs.dreamstime.com/b/top-view-city-street-asphalt-transport-people-walking-down-sidewalk-intersecting-road-pedestrian-81034411.jpg - https://thumbs.dreamstime.com/z/top-view-city-seamless-pattern-streets-roads-houses-cars-68652655.jpg @@ -72,31 +60,3 @@ - criteria - at low zoom, easily pinpoint where things are moving and stuck - include all agents - -## Mission Edit Mode - -- neighborhood - - display some instructions in the modal thing ("move a point by grabbing it") - - warp to neighborhood center and zoom out when loading one (or even hovering in the menu?) - - display all and click to edit - - draw text in map-space, or be able to scale it - - renaming -- scenario - - visualize should just be the default thing - - summarize in the modal menu, dont display the ugly text - - almost feels like a list of 3 'command' types, each of which can be visualized: - - seed cars - - spawn agents - - spawn agents from border - - kind of need to CRUD this list - - time input is very unclear, put help text in there - - combine the spawn and border spawn... choose neighborhood OR border - - choose in a menu list, or click on the map - - draw the border nodes loudly - - visualize better - - draw separate arrows src/dst, on each side of text - - draw text at a fixed size, not in screenspace, specify the font size. - - associate font size with Text, probably - - highlight a region, draw counts to/from it in some meaningful way - - timer slider (except timeslices arent neatly in hour blocks, though they maybe should be) - - a table (with color-coded entries) is actually perfect diff --git a/docs/map_parking.md b/docs/map_parking.md index 029a76994b..127bb98b7f 100644 --- a/docs/map_parking.md +++ b/docs/map_parking.md @@ -64,7 +64,9 @@ data. You don't have to; [this tool](https://zlant.github.io/parking-lanes/) or ID or JOSM all work. But the UI is clunky for this specific purpose. (Also, if you -find this tool clunky in any way, let me know and I'll fix it.) +find this tool clunky in any way, let me know and I'll fix it.) There's also a +proposed +[StreetComplete quest](https://github.com/westnordost/StreetComplete/issues/771). ### What about parking restrictions? diff --git a/docs/project/motivation.md b/docs/project/motivation.md deleted file mode 100644 index 6f601b10ac..0000000000 --- a/docs/project/motivation.md +++ /dev/null @@ -1,26 +0,0 @@ -# Project motivation - -http://www.govtech.com/data/SimCities-Can-City-Planning-Mistakes-Be-Avoided-Through-Data-Driven-Simulations.html - -"Only with simple, accessible simulation programs can citizens become active -generators of their own urban visions, not just passive recipients of options -laid out by government officials." - -## Open questions - -Why is crowdsourcing useful? People have specific expertise, more investment in -hyper-local changes. - -Why don't people participate today? Apathy, lack of access, lack of expertise, -gov wont do anything with feedback? - -Why do people participate in Seattle despite having something like A/B Street? - -## Why now? - -Emphasis on long-term or very disruptive changes (AVs, eventual light rail). AVs -could be a forcing function to re-evaluate how space in a city is allocated. - -## Project outcomes - -Best and worst cases (just a game, inspire, actually cause changes) diff --git a/docs/values.md b/docs/values.md new file mode 100644 index 0000000000..cdb31a3ecc --- /dev/null +++ b/docs/values.md @@ -0,0 +1,41 @@ +# Project motivations + +I thought it'd be helpful to explain what motivates my work in A/B Street. These +are just my personal values; I don't intend to make a careful argument about +these here. In no particular order: + +- **Transparency and reproducibility**: if city government uses data, modeling, + or simulation to inform a decision affecting the general public, then anybody + ought to be able to repeat that analysis. + + - This means code and data should be open. + - Businesses like [Sidewalk Lab's Replica](https://replicahq.com/) and + [Remix](https://www.remix.com/solutions/streets) still need to generate + income, but it's unclear why governments use taxes to pay for something only + they see. + - Decision making should be documented clearly. Why were the + [35th Ave bike lanes](https://www.seattle.gov/transportation/projects-and-programs/programs/maintenance-and-paving/current-paving-projects/35th-ave-ne) + scrapped? Is the amount of on-street parking on nearby residential roads + factored in? Was there analysis of how trip time is impacted by parking in + the neighborhood and walking a few blocks to a business on the arterial? + +- **Accessibility leads to participation**: There's overhead to taking small + ideas to advocacy groups or inconveniently timed public meetings. If the + planning process is easier to interact with, more people will participate. + + - Seattle's + [Your Voice, Your Choice](https://www.seattle.gov/neighborhoods/programs-and-services/your-voice-your-choice) + program + +- **Short-term changes**: [ST3](https://en.wikipedia.org/wiki/Sound_Transit_3) + is exciting, but 2040 isn't close. There are much cheaper changes that can be + implemented sooner. + - Most of the edits in A/B Street are inspired by tactical urbanism; they + could be prototyped with signs and paint. + +TODO: car dependency + +TODO: compromises/tradeoffs + +TODO: why now? AVs force us to re-evaluate how space is allocated. and now +covid, stay healthy sts, street eateries