← Cycles
Qmap · c10

infrastructure-layer

archivedcreated 2026-03-23· last activity 2026-08-15

New in this cycle: Pluggable layout strategies — grid vs spiral blob packing inside rugs

Why This Cycle

Continuing the infrastructure layer work from c9, but with a focus on layout algorithms for compact, space-efficient placement. The goals are:

  1. Nested infrastructure topology - Cloud → Region → Cluster → Namespace → Node → Pod
  2. Better layout algorithms - Minimize empty space, favor circular/square shapes over elongated rectangles
  3. Pluggable layout strategies - Compare different algorithms at runtime

Goals (from c9)

Primary: Infrastructure Layer View

Show actors nested within their physical/logical network topology:

  • Two view modes: Group View (tag-based) and Infrastructure Layer View (topology-based)
  • Nested rugs visualize the topology hierarchy (6 levels deep)
  • External zone for actors without topology (vendors, external services)
  • View toggle with animated morph transitions between views

Secondary: Layout Exploration

  • Efficient use of space (minimum empty space between elements within a rug)
  • Compact groupings that favor square/circle shapes over elongated rectangles
  • "Blob" groupings - actors within nested contexts (Cloud → Datacenter → Pod → App)

Infrastructure Hierarchy

Cloud → Region → Cluster → Namespace → Node → Pod

Topology data stored as nested object in actor tags.


Layout Strategy Ideas

  1. Spiral grouping - Grow in a general spiral shape rather than linear
  2. Circle packing - d3.pack() for nested hierarchies
  3. Phyllotaxis - Sunflower seed pattern (golden angle)
  4. Force-directed - Organic clustering with collision avoidance

Implementation Approach

  1. infrastructureLayers.js - Constants, utilities, layer styles
  2. InfrastructureRug.js - Extends GroupRug with depth-aware styling
  3. infrastructureLayout.js - Builds hierarchy tree, computes nested bounds
  4. layoutStrategies.js - Pluggable layout algorithms
  5. ViewModeToggle.vue - Simple toggle between views

Visual Design

  • Outer layers (Cloud, Region) are very subtle (8-10% opacity)
  • Inner layers (Node, Pod) are more visible (18-22% opacity)
  • Blue color gradient from deep blue (outer) to light blue (inner)
  • External zone in grey, positioned outside the main hierarchy

Status

  • Copy infrastructure layer files from c9
  • Add topology data to actors
  • Implement nested rug layout
  • Add view mode toggle
  • Explore layout algorithms

Visual record

9 captures — heroes, page slices, and full-page renders. Click to view.

Groups view at defaults
Groups view at defaults
Topology, spiral packing (grows from corner)
Topology, spiral packing (grows from corner)
Topology, grid packing (row by row)
Topology, grid packing (row by row)
Grid packing from above — the comparison plate
Grid packing from above — the comparison plate
Spiral packing from above
Spiral packing from above
Spiral at rotation 180°
Spiral at rotation 180°
Groups view, apps by criticality
Groups view, apps by criticality
Curve height 8
Curve height 8
c10 legacy

Artifacts

/experiments/c10.infrastructure-layer/ (local dev)

Qpoint Brand Style Guide