Continue reading to get a description of how the above definition was optimized a bit.
Panel adjacencies mostly help with physical assembling the mesh, mostly helping with how the panel is rotated. Adjacency can also be used for some really interesting double layered surface where one panel overlaps with others.
Although the definition above becomes much more complex compared to the standard flatten definition it is really just about organizing and comparing sets of data. Because grasshopper doesn’t really use loops(where data is compartmentalized and doesn’t need to be constantly tracked) you can easily generate enough data lists and comparisons that really slow it down. For instance if you have 100 panels in a mesh each with 4 edges and you need to compare it to the edges of all the other panels you will end up with a scenario where you need to compare 160,000 pieces of data. To help with this we first find the nearest panels to the panel we are comparing. This is adjustable, but we found a good number is 9. If your surface folds in on itself or you have a scenario where faces that are far away in terms of the mesh but spatially closer to a face than the adjacent ones might be then you can increase this number. If you want to be very safe you can increase it to the number of faces in the original mesh, but grasshopper will begin to run very slow as your mesh gets bigger. By comparing the nine nearest faces the original data count for a 100 face mesh is reduced from 160,000 to 14,400.
This can be combined with other definitions like a flattened color map.
This was used for projects like: CHROMAtex