(start) documenting project philosophy

This commit is contained in:
Dustin Carlino 2020-05-27 09:08:00 -07:00
parent fe15eae82e
commit bf59b97e6e
8 changed files with 45 additions and 89 deletions

View File

@ -12,7 +12,7 @@
- fences / bushes / features in houses or triangulation on a block with buildings - fences / bushes / features in houses or triangulation on a block with buildings
- buildings as rooms in a hotel - buildings as rooms in a hotel
- silent hill soundtrack - silent hill soundtrack
= deformed buildings pulsing on front path springs - deformed buildings pulsing on front path springs
- lighting? - lighting?
- fog effects - fog effects
- in 3D, what if roads are sunken rivers and buildings giant skyscrapers? - in 3D, what if roads are sunken rivers and buildings giant skyscrapers?

View File

@ -27,8 +27,3 @@
- useful unit tests - useful unit tests
- for a given intersection with lanes, check all the turns generated - 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

View File

@ -12,13 +12,6 @@
- make polygons use the corrections too? - make polygons use the corrections too?
- bad polyline shifting causes jagged lane endings in generalized_trim_back - 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 - car turns often clip sidewalk corners now
- draw SharedSidewalkCorners just around the ped path, not arbitrarily thick - draw SharedSidewalkCorners just around the ped path, not arbitrarily thick
- dont forget to draw the notches - dont forget to draw the notches
@ -86,14 +79,6 @@
## Discrete-event sim model ## 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 - perf
- dig into individual events, still too many? - dig into individual events, still too many?
- for laggy heads, often round down and try slightly too early - for laggy heads, often round down and try slightly too early

View File

@ -34,7 +34,6 @@
- hide stuff inside the ctx's? canvas and prerender shouldnt even be known outside of crate - 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 - generic World with quadtree should have actions on objects
- loading screen - loading screen
- cleanup hack: dont put glyphbrush in canvas at all
- FileWithProgress should go directly into Timer - FileWithProgress should go directly into Timer
- need to understand lifetimes - need to understand lifetimes
- cleanup abstutil Timer stuff generally - cleanup abstutil Timer stuff generally

View File

@ -8,33 +8,21 @@
- click cycle diagram to edit duration - click cycle diagram to edit duration
- toggle rewind mode
- yellow or flashing red/yellow for yields - yellow or flashing red/yellow for yields
- text box entry: highlight char looks like replace mode; draw it btwn chars - 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 ## 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?! - arbitrary viewports?!
- tiling wm - tiling wm
## New features ## New features
- collapse smaller roads/neighborhoods and just show aggregate stats about them (in/out flow, moving/blocked within) - collapse smaller roads/neighborhoods and just show aggregate stats about them (in/out flow, moving/blocked within)
- undo support for edits
## Better rendering ## Better rendering
- depict residential bldg occupany size somehow - depict residential bldg occupany size somehow
- render cars with textures?
- rooftops - 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/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 - https://thumbs.dreamstime.com/z/top-view-city-seamless-pattern-streets-roads-houses-cars-68652655.jpg
@ -72,31 +60,3 @@
- criteria - criteria
- at low zoom, easily pinpoint where things are moving and stuck - at low zoom, easily pinpoint where things are moving and stuck
- include all agents - 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

View File

@ -64,7 +64,9 @@ data.
You don't have to; [this tool](https://zlant.github.io/parking-lanes/) or ID or 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 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? ### What about parking restrictions?

View File

@ -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)

41
docs/values.md Normal file
View File

@ -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