# [[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": {}
}
```
%%