← Back

Master Virtual Nodes

← Back to all docs

Master Virtual Nodes

Learn how to create cross-level connections using virtual node references without duplication

featuresintermediate⏱️9 min
Home/Documentation/Master Virtual Nodes

Learn how to create cross-level connections using virtual node references without duplication

🌐 Virtual Nodes & Cross-Level Connections

Virtual nodes are references to nodes from different diagram levels. They enable complex multi-level architectures without duplicating nodes, letting you create cross-level connections while maintaining a single source of truth.

What You'll Learn

What virtual nodes are and how they work

When to use virtual nodes vs. regular nodes

Creating and navigating virtual references

Best practices for cross-level architectures

💡 Think of Virtual Nodes As...

Virtual nodes are like symlinks in filesystems or shortcuts in operating systems. They point to the original node without duplicating it, making updates automatic across all references.

Understanding Virtual Nodes

What Are Virtual Nodes?

Virtual nodes are "pointers" or "references" to nodes that exist elsewhere in your diagram hierarchy. Instead of copying a node, you create a lightweight reference to it.

🔗 Analogies

Virtual nodes are like:

Symlinks in filesystems • Shortcuts in operating systems • References in programming

Real-World Scenario

Use Case: **Problem**: You have a "Database" node at the root level. Multiple services (in different drill-down levels) need to connect to it. **Bad Solution**: Duplicate the Database node in each service's diagram **Good Solution**: Create virtual references to the original Database node **Result**: Single source of truth, automatic updates everywhere

No Duplication

Single source of truth for shared components

Easy Updates

Change the original, all references update automatically

Clear Relationships

Show cross-level dependencies explicitly

Navigate Easily

Jump from reference to original with one click

When to Use Virtual Nodes

Virtual nodes excel in specific scenarios. Here's when to use them:

Shared Databases

Multiple microservices connecting to the same database

API Gateways

All services routing through a common gateway

Message Queues

Services publishing/subscribing to shared queues

Shared Libraries

Multiple services depending on common utilities

Authentication Services

All apps connecting to single auth service

❌ Avoid Virtual Nodes For

When NOT to Use Virtual Nodes:

Simple single-level diagrams • When components are truly separate instances • Purely conceptual relationships • When duplication provides better clarity

When should you use virtual nodes?

In simple single-level diagrams
When multiple components share one resource
When components are separate instances
For purely conceptual relationships

Working with Virtual Nodes

Creating Virtual Node References

Adding a virtual node creates a reference to an existing node from another level. Here's the step-by-step process:

•

Navigate to Target Level

Go to the diagram level where you want the reference

•

Click "Add Virtual Node"

Find the button in the side navigation

•

Select Source Node

A selector appears showing available nodes from other levels

•

Choose Your Node

Pick the node you want to reference

•

Reference Appears

The virtual node appears with a special indicator

🎨 Visual Indicators

Virtual Node Indicators:

Dashed border or outline • Special icon or badge • Different opacity or styling • Tooltip showing original location

⚠️ Important Limitation

Virtual nodes cannot be edited directly. Changes must be made to the original node, and they'll automatically update all references.

Navigating Between Original and Virtual

Virtual nodes and their originals are tightly connected. Here's how to navigate between them:

Jump to Original - Method 1

Alt/Option + Click on virtual node

Jump to Original - Method 2

Select virtual node, use "Go to Original" in controls

Jump to Original - Method 3

Right-click menu → "Navigate to Source"

Reference Tracking

text
// Finding All References to an Original Node

// 1. Select the original node
// 2. Look for a "References" indicator
// 3. Click to see all virtual references
// 4. Navigate to any reference location

// Example:
// Shared Database (original) → "3 references"
//   → Service A/DB Connection
//   → Service B/Data Layer
//   → API Gateway/Cache Layer
🧭 Navigation Tips

Breadcrumbs help track your location • Virtual nodes show their source path in tooltips • Use command palette for quick navigation

How do you edit a virtual node?

Double-click the virtual node to edit
Select it and edit in the control panel
Navigate to original and edit there
Virtual nodes cannot be edited

Connecting Virtual Nodes

Virtual nodes behave like regular nodes for connections. You can draw edges to and from them normally:

•

Draw Edges Normally

Connect from/to virtual nodes just like regular nodes

•

Add Labels

Describe relationships clearly with edge labels

•

Local Visibility

Edges appear only at the current diagram level

Virtual Node Connection Patterns

text
// Common Connection Patterns:

// Service to Shared Database
[Service A] --"queries"--> [Virtual: Main DB]

// All Services to Gateway
[Service B] --"routes through"--> [Virtual: API Gateway]

// Multiple Apps to Auth
[Frontend] --"authenticates via"--> [Virtual: Auth Service]

// Message Queue Pattern
[Order Service] --"publishes to"--> [Virtual: Event Bus]
[Inventory Service] --"subscribes to"--> [Virtual: Event Bus]
✅ Best Practices

Always label edges to virtual nodes • Document why the cross-level connection exists • Use consistent connection patterns across services

What's the best practice when connecting to virtual nodes?

Avoid labeling to keep diagrams clean
Use generic labels like "connects to"
Add descriptive labels explaining the relationship
Only connect from virtual nodes, never to them

Quick Reference

Best Practices

✅ Virtual Node Best Practices

Use virtual nodes for frequently referenced components

Keep node hierarchies reasonable (3-5 levels max)

Document connection purpose with edge labels

Check reference indicators to find all usages

Navigate to original when needing to update

Use virtual nodes for shared infrastructure components

⚠️ Limitations to Remember

Virtual nodes cannot be edited directly

Changes must be made to the original node

Virtual connections shown only at current level

Don't create virtual references to virtual nodes

Common Use Cases

Shared Databases

Linking shared databases across microservices

Navigation Flows

Showing navigation flows between UI pages

Shared Libraries

Documenting shared libraries in services

API Gateway Mapping

Mapping API gateway connections

Message Queues

Connecting services to shared message queues

Authentication Flows

Showing authentication flows across applications

Keyboard Shortcuts

Add Virtual Node

Press V to add virtual node

Navigate to Original

Alt/Option + Click on virtual reference

Command Palette

Cmd/Ctrl + K to open command palette and add virtual node

UI Elements

"Add Virtual Node" Button

Side navigation (left sidebar) - Creates a reference to a node from another level

Virtual Node Indicator

On virtual nodes - Visual indicator showing this is a reference

"Go to Original" Button

Control panel (when virtual node selected) - Navigates to the source node

References Counter

On original nodes - Shows count of virtual references

Next Steps

🎉 Congratulations!

You've mastered virtual nodes - the most advanced ArkT feature!

✅ Understand virtual node concepts

✅ Create virtual references across levels

✅ Navigate between originals and references

✅ Build complex multi-level architectures

Ready to complete your mastery? One more tutorial to go:

💡 Pro Tips for Production Use

Use virtual nodes strategically - They're powerful but can make diagrams complex if overused

Keep hierarchies shallow - 3-5 levels is ideal for most architectures

Document your patterns - Establish team conventions for when to use virtual nodes

Combine with templates - Create templates with common virtual node patterns

7 of 10

Related Articles

Templates

Create reusable node templates for consistency

featuresintermediate
7 min

Link External Resources

Connect diagrams to GitHub repositories and Figma designs

featuresintermediate
8 min

Create Your First Node

Master the basics of node creation in ArkT diagrams

basicsbeginner
5 min

On This Page

IntroductionUnderstanding Virtual NodesWorking with Virtual NodesQuick ReferenceNext Steps