# [[A Certified Hot Mesh Hackathon Video]] ![[A Certified Hot Mesh Hackathon Video.svg]] [video](https://drive.google.com/file/d/1rwFCbW8jIHYUI6fZqF74Ql-fZtSLYqRF/view) ## Gemini summary The video introduces "Mesh," a new tool designed to address the difficulties users had with creating, scaling, and maintaining diagrams using a general-purpose drawing tool like Canvas. Teams initially used Canvas for its flexibility, but diagrams quickly became disorganized and difficult to keep up-to-date. Mesh is presented as a solution that balances flexibility and structure, helping new users get started quickly while providing advanced users with fine-grain control. **Technical Implementation:** Mesh diagrams are implemented using the DOT language and the Graphviz rendering engine. This means diagrams are represented by a data structure rather than pixels, allowing for features such as: - Automatic layout, including node balancing and edge routing. - Programmatic overlay of data on visualizations. - Ability for AI agents to process and understand the DOT language. - Leveraging the ecosystem of existing open-source Graphviz tooling. **Ways to Create Diagrams:** Mesh supports three methods for creating diagrams to accommodate different skill levels: 1. **Visual Builder:** Users can create and connect nodes directly in the UI, which is the fastest way to build something visual without worrying about layout or syntax. Since Mesh is template-driven, it works with an assistant out of the box, allowing users to describe what they need to get a template. 2. **Code Editor:** This mode exposes the full DOT data structure, which is rendered by the Graphviz engine. This is for power users who need fine-grain control over structure and attributes. 3. **URL Mode:** Teams can load DOT files from any remote location, allowing them to scale their use of Mesh diagrams in Grafana using CI/CD or Infrastructure as Code toolchains. For example, the output of the Terraform `graph` command can be pushed to a remote server for instant infrastructure visualization that can be mapped to metrics in Grafana. **Key Features:** - **Automatic Row-to-Node Mapping:** If data shares IDs with nodes, Mesh automatically binds them, enabling batch updates to the entire diagram, such as applying label templates or color rules. - **Multiple Threshold Sets:** Users can set multiple threshold sets, so different elements can represent common metrics without needing to reconfigure every field. The speaker noted that these opinionated, out-of-the-box selections are helpful for customers who might not know where to start. In conclusion, Mesh adapts to various workflows, bridging the gap between free-form visuals and rigid structures to help teams focus more on observing their systems. ## Notes - Why? They got a lot of comments from users that they tried Canvas but it was a "certified hot mess" because it quickly got out of hand - Mesh uses the Dot programming language and Graphviz as the visualization engine - data structure to represent diagrams instead of pixels - automatic layouts - node balancing and edge routing - programmatically overlay data - hook into Assistant, which understands Dot language - leverage Graphviz's OSS ecosystem - Three different ways to create diagrams - Visual builder - Code editor - Remote URL - [[Infrastructure as code]] tools like [[Hashicorp Terraform|Terraform]] can output a graph of the infra being provisioned in .dot format - Ability to map nodes to rows in a CSV - Ability to add and apply thresholds - %% # Excalidraw Data ## Text Elements ## Drawing ```json { "type": "excalidraw", "version": 2, "source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.1.4", "elements": [ { "id": "4y8R7iOA", "type": "text", "x": 118.49495565891266, "y": -333.44393157958984, "width": 3.8599853515625, "height": 24, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, "groupIds": [], "frameId": null, "roundness": null, "seed": 967149026, "version": 2, "versionNonce": 939059582, "isDeleted": true, "boundElements": null, "updated": 1713723615080, "link": null, "locked": false, "text": "", "rawText": "", "fontSize": 20, "fontFamily": 4, "textAlign": "left", "verticalAlign": "top", "containerId": null, "originalText": "", "lineHeight": 1.2 } ], "appState": { "theme": "dark", "viewBackgroundColor": "#ffffff", "currentItemStrokeColor": "#1e1e1e", "currentItemBackgroundColor": "transparent", "currentItemFillStyle": "solid", "currentItemStrokeWidth": 2, "currentItemStrokeStyle": "solid", "currentItemRoughness": 1, "currentItemOpacity": 100, "currentItemFontFamily": 4, "currentItemFontSize": 20, "currentItemTextAlign": "left", "currentItemStartArrowhead": null, "currentItemEndArrowhead": "arrow", "scrollX": 583.2388916015625, "scrollY": 573.6323852539062, "zoom": { "value": 1 }, "currentItemRoundness": "round", "gridSize": null, "gridColor": { "Bold": "#C9C9C9FF", "Regular": "#EDEDEDFF" }, "currentStrokeOptions": null, "previousGridSize": null, "frameRendering": { "enabled": true, "clip": true, "name": true, "outline": true } }, "files": {} } ``` %%