# Physical Computing Design Tools   ## Description Repository for DICE design tools explorations. Topics include: - Programming strategies for spacial computing - Data flow programming and [Distributed Deep Neural Networks](https://gitlab.cba.mit.edu/amiraa/ddnn) - Physics Simulation - Trusted Systems - Reconfiguration strategies for DICE pieces - CAM tools and path planing: - Desktop (external) assembler - Swarm assembly and manipulation ---- ## Demo Links - **"Physical Computing Interface"** demo lives [here.](https://amiraa.pages.cba.mit.edu/physical-computing-design-tools/01_Code/physical_computing_interface/index.html) - [Distributed Deep Neural Networks](https://gitlab.cba.mit.edu/amiraa/ddnn) - UR10 voxel Assembly [demo.](https://amiraa.pages.cba.mit.edu/physical-computing-design-tools/01_Code/physical_computing_interface/assembly/standAloneAssembly.html) ---- ## Progress  ### Capabilities and Updates - Design - Parametric grid definition (cubic, hexagonal, dice) - Assembly/timeline - Timeline for future morphing computing - UR10 - Graph - Hierarchy - Automatic neighborhood - highlights - Computing - Asynchronous code propagation (distributed max example) - Simple test case find max value distributed - Min cut max flow concept study neighborhood - Improved UI and integration - Radial menu - Json propagation - Highlight selected node --- ## Desired Milestones - [ ] Assembly - [ ] Swarm construction - [ ] Computation - [ ] Morphing code - [ ] Real simulation/message passing analysis - [ ] Computation Optimization - [ ] Restructuring code and automatically divide into distributed - [ ] show alternatives and bottlenecks - [ ] Auto compilation/export to dice modules - [ ] Simulation portal - [ ] Case Studies - [ ] Neural networks - [ ] Bayesian optimization - [ ] Distributed optimization - [ ] Voxel design - [ ] Scaling - [ ] stress testing scaling --- ## TODOS: - [x] Grid Systems - [ ] Documentation - [ ] in depth documentation of how to do everything - [ ] Reset Grid/button - [ ] Assembly - [ ] fix errors - [ ] Add real Dice info - [ ] computation delay and communaction cost - [ ] CAD? - [ ] Select - [ ] improve selected visualization - [ ] when selecting group show bounding box - [ ] Hierarchy - [ ] place multiple voxels - [ ] change code of mutiple voxels - [ ] select multiple dice pieces - [ ] create groups