The Dune Series · Atreides · Harkonnen · Corrino · Fremen · X̶a̶l̶i̶e̶l̶t̶u̶Tleilaxu
The shoreline of two worlds — the Caladan sea meeting the dunes of Arrakis under an orbital night sky
the shoreline of two worlds · AI-generated artwork

ATREIDES

the shoreline of two worlds

The story

Two worlds, one house

The name is older than the desert. Atreides, 'sons of Atreus', carries its honor from a world of oceans to a world of sand, and the banner shows the moment of hand-off: the waves of the Caladan sea on one side, the dune seas of Arrakis on the other. The palette represents this house stretched across two opposing worlds. Structural elements swim: marine-ink backgrounds, deep-current functions, sea jade strings, comments like morning mist on the sea's face. On Arrakis, the sand is strong and forceful: the text itself in sunlit crest tones, and keywords in spice-orange, cutting through the cool sea blues and greens.

Reading code in this theme is reading that dichotomy: a cool blue expanse holding the structure, with warm keywords running through it. Only one color crosses every palette unchanged: sisterhoodViolet, because the Sisterhood operates in every corner of the Imperium…

The palette

Strata

Foundations

The Sea & The Sand

midnightSea#0D121D
bg · dim panels

Open water at the bottom of the frame, no floor in sight.

inkWater#141B2A
bg · editor

The main background: marine ink, the sea holds everything else.

swell#1E2938
popups · panels

The rising wave before it breaks on the shore.

reefShadow#2C3B4D
selection · overlay

A shadow under the surface, a hint of deeper things.

crestSand#EAD9B4
foreground

The sunlit crest of the dune. The code itself, raised into full sun.

driftSand#C9B58B
fg · secondary

Sand in shadow, one tone below the crest.

seaMist#7C8899
comments · muted

Morning mist on the water: ethereal comments floating on the sea.

Accents

The Tide Line

spice#E5913A
keywords · tags · headings

“It's like life — it presents a different face each time you take it.” — Dr. Yueh

melange#DDB05E
numbers · constants

“The spice of spices.” Sun-gold on the windward faces — spice, refined.

caladan#74B0A0
strings

The jade of the homeworld sea.

deepCurrent#649CD6
functions

The current beneath the surface — where the real work moves.

sisterhoodViolet#A188CC
types · classes

Both shores, one plan: it sailed with the household and was already ashore when they arrived.

hawkRed#CB6854
errors

The red hawk of the banner, rust-toned, like burnt sand.

foam#8AC6BF
escapes · special

Sea foam at the shoreline: brief, bright, exactly where the worlds meet.

bannerGreen#7FA871
diff added · success

The green and black banner of the Atreides: the green half, still gathering legions.

In use

On the training floor

  shield_training.ts
// What you must remember: the slow blade penetrates the shield.
interface Blade {
  speed_cm_s: number;
  wielder: string;
  sheathe(): this;
}

const SHIELD_THRESHOLD = 6.0;

function thrust(blade: Blade): Blade {
  if (blade.speed_cm_s >= SHIELD_THRESHOLD) {
    throw new Error("deflected —\ntoo quick on the offense");
  }
  return {
    ...blade,
    speed_cm_s: blade.speed_cm_s * 0.9, // patience, Gurney said
  };
}

thrust({ speed_cm_s: 4, wielder: "paul", lasgun: true });