Skip to content

The world of data structures + algorithms through a natural lens, © 2023 (ongoing).

Notifications You must be signed in to change notification settings

stella0000000/garden-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌸 𝓈ℴ𝒻𝓉𝓌𝒶𝓇ℯ ℊ𝒶𝓇𝒹ℯ𝓃𝒾𝓃ℊ 🌱

[This project is in progress.]

Motivation

Ben, Stella, and Zack met at the Recurse Center during Daily Leetcode! They have backgrounds in 3D/mathematics, research/teaching, and art/writing, respectively. One day, Stella observed the paper flowers hanging behind her desk, and wondered: can flower petals be drawn as nodes of a doubly circularly linked list?

The trio decided to collaborate on a project inviting users to explore the world of data structures and algorithms through the lens of nature. The project is unfolding as a video game.

Screenshot 2023-10-19 at 8 40 26 PM

Technologies

  • TypeScript
  • React Three Fiber (3D)
  • Vite
  • Vercel

Functionalities

  • Under the hood, data structures are implemented and rendered as plants in React
  • A global context carries the PlantCollection
  • A constellation is implemented as a graph, and the stars sparkle toggling between DFS / BFS
  • Performance is heavily considered throughout the site, e.g. avoid reinitializing meshes upholding modularity
  • A raycaster is used to add plants at the user's pointer location - a temporary ghost plant is connected to the ground for its position to be controlled by the user's field of view

Ongoing and future considerations

  • Toggle: data structure / natural vision
  • We need trees
  • UX minimizing menu assistance, and clicking
  • Backend database
  • Websockets for collaborative gardening
  • Visit your friend's gardens

About

The world of data structures + algorithms through a natural lens, © 2023 (ongoing).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published