Why AllTheWayDown? • Key Features • How To Use • Next Steps • Credits
AllTheWayDown (ATWD) allows for managing dependencies within design workflows, which decreases length of time between design iterations, introduces Git-based version control, and eliminates discrepancies between different stages of design. Initially, ATWD works for Grasshopper script graphs and Rhino models. Future iterations will expand to other design tools and data inputs.
ATWD was developed at the AEC Tech New York Hackathon 2023 hosted by Thornton Tomasetti CORE studio. The hackathon team included:
- Chau Nguyen - Foster + Partners
- Keyan Rahimzadeh - Grimshaw
- Max Dumas - Ulama
- Nathan Barnes - Zahner
- Patryk Wozniczka - PJW
- Sarang Pramode - Ulama
- Tyce Herrman - Ulama
- Dependency Updates 🕸️
- When you make changes to one or more Grasshopper scripts, any script dependencies will be updated upon.
- Version control 🚧
- While you type, LivePreview will automatically scroll to the current location you're editing.
- Dependency Graph Visualization 📈
To clone and run this application, you'll need Git installed on your computer. You'll also need Data Version Control.
From your command line:
# Clone this repository
$ git clone https://github.com/maxdumas/aectech-hackathon.git
# Navigate to directory
cd aectech-hackathon
# Create Mermaid diagram of DVC DAG with:
$ dvc dag --mermaid > output.mmd
# Navigate to GraphView directory
cd GraphView
# Run mermaid-to-D3-structure.py
pdm run mermaid-to-D3-structure.py
# Start local http server within the GraphView directory (for >Python3)
python -m http.server 5000
-
Presently, this tool just works with files with Rhino/Grasshopper integration, but it can eventually work with anything and be design tool agnostic.
-
This project could be extended to easily integrate with external APIs as well.
-
The project is built on top of Git semantics, so any Git features (branching, commits, etc.) could be abstracted into a user-friendly experience to bring the power of Git to any designer.
This software uses the following open source packages:
It also uses