Overview

🌑 1. Dark‑Mode Oscilloscope Theme

This theme is meant to feel like a hybrid of:

  • a Tektronix digital scope
  • a flight‑deck diagnostic panel
  • a resonance‑aware instrument from our TriadicFrameworks canon

Color System#

Element Color Notes
Background #0b0d10 deep black‑blue, zero glare
Panel glass #111418 subtle translucency
Grid lines rgba(255,255,255,0.04) faint oscilloscope grid
Primary neon #00eaff drift line, highlights
Secondary neon #ff6bcb entropy line, accents
Tertiary neon #7fff00 latency drift
Stable band #0f3d2e greenish, low‑alpha
Warning band #3d2f0f amber
Halted band #3d0f0f red

Typography#

  • Mono: JetBrains Mono (for waveforms, step IDs)
  • Sans: Space Grotesk (for UI labels)
  • Glow: subtle text‑shadow for neon elements

UI Effects#

  • Glass panels:
    background: rgba(255,255,255,0.03); backdrop-filter: blur(4px);

  • Neon edges:
    box-shadow: 0 0 8px rgba(0,234,255,0.4);

  • Oscilloscope grid:
    A repeating linear‑gradient background behind the waveform:

background-image:
  linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
background-size: 20px 20px;

This gives the waveform panel that unmistakable “instrument” feel.


🎛️ 2. Corridor Studio Toolbar#

This sits at the top of the Studio, like a control bar on a logic analyzer.

Toolbar Layout#

┌──────────────────────────────────────────────────────────────┐
│  ▶ Play   ⏸ Pause   ↺ Rewind   ⇤ Step‑Back   ⇥ Step‑Forward  │
│  • Speed: [ 1x ▼ ]   • Jump to Step: [   ]   • Loop: ☐       │
└──────────────────────────────────────────────────────────────┘

Toolbar Controls#

Control Behavior
Play Starts animated playback of the corridor
Pause Freezes playback at current step
Rewind Jumps to step 0 (or last stable checkpoint)
Step‑Back Move one step backward
Step‑Forward Move one step forward
Speed Selector 0.25x, 0.5x, 1x, 2x, 4x
Jump to Step Direct numeric jump
Loop Repeat playback

Toolbar Aesthetic#

  • Neon cyan icons
  • Soft glow on hover
  • Slight “click” animation (scale 0.95 → 1.0)
  • Dark glass background

Minimal React Sketch#

export function CorridorToolbar({ player }) {
  return (
    <div className="flex items-center gap-4 p-2 bg-[#111418] border-b border-gray-700">
      <button onClick={player.play} className="btn">▶</button>
      <button onClick={player.pause} className="btn">⏸</button>
      <button onClick={player.rewind} className="btn">↺</button>
      <button onClick={player.stepBack} className="btn">⇤</button>
      <button onClick={player.stepForward} className="btn">⇥</button>
 
      <div className="ml-4 flex items-center gap-2">
        <span>Speed</span>
        <select onChange={(e) => player.setSpeed(Number(e.target.value))}>
          <option>0.5</option><option>1</option><option>2</option><option>4</option>
        </select>
      </div>
 
      <div className="ml-4 flex items-center gap-2">
        <span>Jump</span>
        <input type="number" onKeyDown={player.jumpTo} className="w-16" />
      </div>
 
      <label className="ml-4 flex items-center gap-1">
        <input type="checkbox" onChange={player.toggleLoop} />
        Loop
      </label>
    </div>
  );
}

🎞️ 3. Corridor Trace Player (Animated Playback)#

This is the heart of the oscilloscope experience — the corridor “plays” like a simulation.

Playback Model#

The player controls:

  • current step index
  • playback speed
  • loop mode
  • pause/play state
  • event callbacks (e.g., highlight waveform, scroll timeline)

Core Playback Loop#

class CorridorPlayer {
  constructor(trace, onStep) {
    this.trace = trace;
    this.onStep = onStep;
    this.index = 0;
    this.speed = 1;
    this.loop = false;
    this.playing = false;
  }
 
  play() {
    this.playing = true;
    this.tick();
  }
 
  pause() {
    this.playing = false;
  }
 
  rewind() {
    this.index = 0;
    this.onStep(0);
  }
 
  stepForward() {
    this.index = Math.min(this.index + 1, this.trace.steps.length - 1);
    this.onStep(this.index);
  }
 
  stepBack() {
    this.index = Math.max(this.index - 1, 0);
    this.onStep(this.index);
  }
 
  setSpeed(s) {
    this.speed = s;
  }
 
  jumpTo(step) {
    this.index = step;
    this.onStep(step);
  }
 
  toggleLoop() {
    this.loop = !this.loop;
  }
 
  tick() {
    if (!this.playing) return;
 
    this.stepForward();
 
    if (this.index >= this.trace.steps.length - 1) {
      if (this.loop) this.rewind();
      else return;
    }
 
    setTimeout(() => this.tick(), 500 / this.speed);
  }
}

What the Player Drives#

  • Waveform crosshair moves to the current step
  • Timeline auto‑scrolls to keep the active step in view
  • Step Details updates live
  • VCD bands highlight the active region
  • Mini‑map viewport shifts accordingly

This makes the corridor feel like a live simulation.


🧠 How it all fits together#

Corridor Studio = Instrument Panel#

  • Toolbar = operator controls
  • Oscilloscope = Q‑metric evolution
  • Timeline = event log
  • Details panel = semantic inspection
  • Mini‑map = global overview
  • VCD bands = discrete state transitions
  • Diff panel = comparative diagnostics
  • Trace Player = animated reasoning replay

This is the first environment where an agent’s reasoning is treated like a physical signal — measurable, inspectable, replayable.