abstreet icon indicating copy to clipboard operation
abstreet copied to clipboard

Adding more README's for the subdirectories

Open Transurgeon opened this issue 2 years ago • 3 comments

I am a beginner Rust programmer and wanted to try and contribute code to AB-street

However, I am very confused on the role of each subdirectory and how I can begin to understand the functionality of each component of AB-street

This Is very likely mainly due to my inexperience with the software and more importantly the language itself. However, it would be nice to have some sort of guidelines on what is happening in each subdirectory.

Currently these are the directories that already have READMEs image

Tasklist for remaining crates:

  • [ ] abstio
  • [ ] cloud
  • [x] geom
  • [ ] map_gui
  • [ ] raw_map
  • [ ] target
  • [ ] updater
  • [ ] abstutil
  • [ ] collisions
  • [ ] headless
  • [ ] map_model
  • [ ] release
  • [ ] tests
  • [x] web
  • [x] apps
  • [ ] convert_osm
  • [ ] importer
  • [x] piggyback
  • [ ] sim
  • [ ] traffic_seitan
  • [x] widgetry
  • [ ] cli
  • [x] data
  • [ ] kml
  • [ ] popdat
  • [ ] synthpop
  • [ ] traffic_signal_data
  • [ ] widgetry_demo
  • [ ] update the corresponding docs section

Transurgeon avatar Jan 21 '23 22:01 Transurgeon

I'd welcome any contributions! If you have anything in particular you're interested in, I can help onboard you to the codebase, maybe by adding more documentation for the relevant pieces.

It is such a large codebase and so understanding all the different crates is indeed important. https://a-b-street.github.io/docs/tech/dev/index.html#code-organization attempts to lay this out. (It's a little bit outdated, I'll update it as part of this issue.) Is the level of detail there too little? Maybe each crate should have its own README kind of explaining the big picture for that area too

dabreegster avatar Jan 22 '23 00:01 dabreegster

I was interested into diving into some GUI, potentially working on issue #391 later on.

I started to look into the map_gui crate and wasn't completely sure what was going on.

I feel like further explanation of the subdirectories (render and tools) along with guided external resources (documentation, or other ways to learn how to manipulate the library) in a README could be quite helpful.

Transurgeon avatar Jan 25 '23 21:01 Transurgeon

I will add some tasks for each subdirectory along with the docs.

I could definitely help you with this as I document my process of learning some of the crates and provide you feedback with some of the issues/concerns I end up encountering.

Transurgeon avatar Jan 25 '23 21:01 Transurgeon