For web applications, use @text_layout.Context::new(@canvas.Canvas::new(ctx))instead of importing text/heuristic. The layout output retains this contextfor SVG/XDOT rendering and attribute writeback. There is no implicit provideror fallback. See text measurement for units, browser fontloading, cache lifetime, and custom providers.
For layout-annotated DOT, call layout.apply() before@dot.write_dot(layout.graph).
File I/O, command-line processing, and file-based integration tests live in theseparate moonbit-community/graphviz-cli module. Its cli and dot/fs packagesreplace the former moonbit-community/graphviz/cli andmoonbit-community/graphviz/dot/fs packages.
The repository's moon.work connects both modules for local development.Run moon check --target native --deny-warn from the repository root to checkboth modules.
Output parity fixtures come from upstream Graphviz 14.1.1.See the repository README and AGENTS.md for validation and fixture policy.