Capabilities
Vyuh Diagram combines editable elements, shared text, connections and extensible tools in one drawing. Use controller commands for application actions and definitions to describe custom elements.
Elements and editing
| Capability | What you can do |
|---|---|
| Shapes | Create standard or custom shapes; declare their anatomy: outline, body regions, values, appearance, properties, ports and behavior. |
| Text | Edit standalone text, shape text and connector labels with shared formatting, paragraphs, nested lists and checklists. Use a drawing-wide font catalog. |
| Selection and transforms | Select, move, resize, rotate, group, align, distribute, reorder, copy and delete elements. |
| Locks | Protect elements and their owned contents from edits while retaining selection. |
| Undo and redo | Undo or redo document edits, including text changes, connections and grouped operations. |
| Custom tools | Register tools that use the same editing and preview contracts as standard tools. |
| Commands and drawing search | Search installed commands with Cmd/Ctrl+K; find elements and reveal collapsed owners. |
| Shared properties | Edit compatible properties across selected kinds with typed keys, explicit mixed values and intersected constraints. |
| Graph layout | Arrange sibling nodes or a container's direct children; preserve descendant offsets and pinned nodes. |
| Diagnostics and repairs | Run installed domain checks and apply suggested fixes atomically with a snapshot guard. |
Connections and presentation
| Capability | What you can do |
|---|---|
| Connectors | Connect element anchors or explicit ports with straight, elbow, quadratic or cubic Bézier routes. Apply connection rules and edit route controls. |
| Connected creation | Drop a port into empty space to create the next shape and connection in one undo step. |
| Connector labels | Add up to two single-line labels by default; edit, style, move and delete them independently. Enter edits the first label or creates one. |
| Navigation | Pan, zoom, fit content and move the view to points, rectangles, elements, regions or the selection, with or without motion. |
| Animation & effects | Play flows, pulses and blinks along connectors, and pulses, halos, scaling, fades or custom badges on shapes. |
| Canvas and grids | Configure canvas bounds, backgrounds, grid patterns and snapping. Compose dot, line and cross layers. |
| Embedded widgets | Place Flutter controls inside registered elements. Share element values and history while retaining control interaction, transforms and clipping. Supply portable content for export. |
| Accessibility | Expose element and connector-label selection, text editing and native controls through semantics that follow visible geometry. |
Integration and output
| Capability | What you can do |
|---|---|
| Rules and changes | Observe document changes and enforce application permissions or fixed domain invariants. |
| Persistence | Save versioned JSON and restore documents through validated imports. |
| PNG | Export a static drawing with transparent or explicit background, chosen bounds and raster scale. Requires Flutter. |
| SVG | Export vector geometry, native text, images, clipping and portable widget content. Supply fonts for self-contained text resources. |
| Agents | Generate and update diagrams through commands, validate proposed edits and save JSON or SVG. |
| Domain extensions | Build domain editing experiences such as service maps and storyboards. |
Integration boundaries
Automatic elbow routing avoids its disjoint endpoint owners; it does not continuously route around every obstacle in a scene. Use controller.edits.reroute() for explicit obstacle-avoiding elbow rerouting in one undoable edit. Moving an unrelated obstacle does not automatically rerun that search; a rerouted path follows endpoint moves while it stays clear and otherwise reports itself stale. Port labels are not supported. Path effects apply to connectors. PDF export is not available.
Widget export uses declared portable content rather than arbitrary native widget pixels. SVG text appearance depends on fonts and the target viewer. Controllers that join one diagram share its committed document; each keeps its own selection, interaction and undo. There is no built-in transport for remote collaborators. See collaboration before attaching multiple users or agents.