//! # Goals
//!
//! - Treesitter grammars
//! - Code highlighting, different schemes
//! - prettfying like [carbon](https://carbon.now.sh/)
//! - annotate
//! - spans with messages
//! - regions/scopes
//! - multi-part regions
//! - relate regions with arrows
//! - "annotate every line" explainers
//! - running code, annotate variables with values
//! - annotate based on nameres
//! - compiler output, error messages, expected error messages
//! - integrate with lsp; again....
//! - all metadata in source code
//! - intra-body arrows, graph layout
//! - export to
//! - rich text for slides
//! - terminals
//! - html
//! - PDF/typst?
//!
//! # Plan
//! - Architecture with different backends
//! - Treesitter parsers
//! - data format for arbitrary ASTs
//! - separate algorithms:
//! - highlighting
//! - graph layout
//!