Skip to main content

hdds_studio Visual IDL Editor

hdds_studio is a modern visual editor for designing DDS data types. Design your IDL with a drag-and-drop interface, real-time validation, and automatic code generation.

Features

  • Visual canvas - Drag-and-drop node editor
  • 9 node types - Struct, Enum, Union, Typedef, Module, Constant, Sequence, Array, Map
  • Real-time validation - 60+ compliance rules
  • Auto-layout - ELK hierarchical algorithm
  • IDL import/export - Full round-trip fidelity
  • QoS editor - Configure DDS Quality of Service
  • Keyboard shortcuts - Power-user productivity

Quick Start

# Install
cargo install hdds-studio

# Open the editor
hdds-studio

# Open an existing project
hdds-studio my_project.hddsgraph.json

# Import from IDL
hdds-studio --import types.idl

Visual Editor

The canvas provides an intuitive node-based interface:

  • Drag from palette → Create new type nodes
  • Connect nodes → Define type relationships
  • Click to select → Edit properties in side panel
  • Ctrl+L → Auto-layout the graph

Node Types

NodeColorDescription
StructBlueComposite data type
EnumAmberEnumeration
UnionGreenDiscriminated union
TypedefPurpleType alias
ModulePinkNamespace container
ConstantRedConstant value
SequenceCyanVariable-length array
ArrayVioletFixed-size array
MapOrangeKey-value container

Validation

hdds_studio validates your design in real-time with 60+ rules:

  • Type declarations - Inheritance, cycles, forward declarations
  • Identifiers - Reserved keywords, naming conventions
  • Collections - Depth limits, bounds validation
  • Annotations - Correct usage of @key, @optional, etc.

Validation results appear in the Diagnostics panel with severity indicators.

Auto-Layout

Press Ctrl+L to automatically arrange nodes using the ELK hierarchical algorithm:

PresetNodesSpacing
Compact< 2060×80
Default20-10080×100
Spacious> 100120×150

Keyboard Shortcuts

ShortcutAction
Ctrl+NNew project
Ctrl+OOpen project
Ctrl+SSave
Ctrl+Shift+SSave as
Ctrl+ZUndo
Ctrl+YRedo
Ctrl+ASelect all
Ctrl+LAuto-layout
DeleteRemove selected
0Fit view
+/-Zoom in/out
EscapeDeselect all

Project Files

Projects are saved as .hddsgraph.json with an optional .layout.json for positions:

my_project.hddsgraph.json      # Type definitions
my_project.hddsgraph.layout.json # Canvas positions

Features:

  • Auto-save every 30 seconds
  • Crash recovery with .autosave backup
  • Full undo/redo history (100 levels)

Export to IDL

Export your visual design to canonical IDL 4.2:

  1. File → Export IDL
  2. Choose output file
  3. Get deterministic, formatted IDL

The export maintains 100% round-trip fidelity.

Next Steps