PUDGE/UI v0.2.1 2025-07
  • + 5 new hardware compositions: Walkman Deck (Sony WM-D6C), Game Boy (Nintendo DMG-01), DJ Controller Deck (Pioneer DDJ), Synthesizer Panel (Roland SH-101 / Moog Minimoog)
  • + Changelog page at /changelog with full version history
  • + Animated NEW badge on recently added specs and compositions
  • + LCD-style version update banner with per-version dismiss
composition brushed-metalrubber

Sony Walkman Deck

PWR
REC
BATT LOW
SIDE A
COUNTER 008
DOLBY NR
B
OFF
C
HOLD
OUTPUT

Description

A portable cassette deck control panel in the style of the Sony WM-D6C Professional Walkman. Landscape orientation with a status row, transport controls, tape configuration switches, and output level slider. Designed to feel like holding a journalist's field recorder — matte black brushed aluminum, amber readouts, rubber keys with deliberate tactile weight.

Reference Devices

Sony WM-D6C (1984 Professional Walkman), Sony WM-R202, Sony WM-600C, Aiwa HS-J7 Walkman.

Layout

┌──────────────────────────────────────────────────────────┐
│  ● PWR  ● REC  ● BATT     ┌─ SIDE ─┐  ┌─ 0  0  8 ─┐   │
│                            │   A    │  │  COUNTER   │   │
│                            └────────┘  └────────────┘   │
├──────────────────────────────────────────────────────────┤
│  [◀◀]  [▶▶]  [■]  [▶]  [⏸]  [⏺]                        │
│                                                          │
│              TRANSPORT                                   │
├──────────────────────────────────────────────────────────┤
│  DOLBY NR ┌──────────────┐   HOLD ┌──┐                  │
│           │  B · OFF · C │        │  │                  │
│           └──────────────┘        └──┘                  │
│  OUTPUT ─────────────●───────────────────────            │
└──────────────────────────────────────────────────────────┘

Assembly Rules

  1. Container: Use .chassis-panel with brushed-metal material. Landscape orientation: min-width: 360px. Three horizontal rows separated by subtle border-top: 1px solid var(--border-subtle). padding: 12px 16px.

  2. Status row (top): Horizontal flex with justify-content: space-between; align-items: center. Left group: three led-dot indicators in a cluster — .green for PWR, .red for REC, .amber for BATT LOW — each labeled in 7px mono below. Right group: two lcd-readout components side by side. SIDE readout shows A or B at 20px, counter readout uses seven-segment at compact 28px for 3 digits (000–999).

  3. SIDE lcd-readout: padding: 6px 10px. Label text SIDE, value A. Width: 52px.

  4. COUNTER seven-segment: 3 digits, amber color (var(--amber)). font-size: 28px. padding: 6px 12px.

  5. Transport row (middle): .transport-wrap centered horizontally. Standard transport controls — REW, FF, STOP, PLAY, PAUSE, REC — in a single horizontal pill container. Padding 10px 0. The REC button (●) uses .transport-btn with color: var(--red-alert) to distinguish it from playback controls.

  6. Config row (bottom): Two flex groups side by side, justify-content: space-between; align-items: flex-start.

    • Left: DOLBY NR segmented-control with three segments: B / OFF / C. Label in 7px mono above: DOLBY NR. Default active segment: OFF.
    • Right: HOLD toggle-switch in the OFF position. Label in 7px mono above: HOLD.
  7. OUTPUT volume-slider: Full-width below the config row. Label OUTPUT at 7px mono left. Container width: 100%. Thumb at 40% position (moderate volume).

  8. LED indicator labels: Each led-dot has a <span> label beneath at font-size: 7px; letter-spacing: 1px; color: var(--text-muted); font-family: var(--font-mono). PWR / REC / BATT LOW.

  9. Material: .variant-metal on the chassis container gives the brushed-aluminum body. Transport buttons inherit rubber-dome feel from .transport-btn default. The HOLD toggle uses rubber-surface styling.

Component Configuration

Component Position Config
led-dots (×3) Status row left .green PWR, .red REC, .amber BATT LOW, 7px labels below
lcd-readout Status row right SIDE: value A, padding: 6px 10px, font-size: 20px value
seven-segment Status row right 3 digits, amber, font-size: 28px, padding: 6px 12px
transport-controls Middle row Standard pill, 6 buttons: REW FF STOP PLAY PAUSE REC
segmented-control Config row left 3 segments: B / OFF / C, active: OFF, label: DOLBY NR
toggle-switch Config row right OFF position, label: HOLD
volume-slider Bottom Full width, thumb at 40%, label: OUTPUT

Constraints

  1. MUST render in landscape orientation — portrait breaks the transport button row into two lines.
  2. MUST NOT place the REC button adjacent to PLAY without a visual separator — on real hardware these are protected against accidental press.
  3. The DOLBY NR segmented control MUST have three segments (B, OFF, C) in that order — this matches the physical switch travel on WM-D6C.
  4. SIDE readout MUST show only A or B — no other values are valid for a cassette tape.
  5. COUNTER seven-segment MUST use 3 digits padded with leading zeros (008, not 8).
  6. MUST NOT use a circular or glossy treatment on the chassis — brushed-metal only; the WM-D6C's body is matte and functional, not consumer-glossy.

Interactivity

  1. Transport buttons: Each button responds to click with a translateY(1px) press animation. The PLAY button toggles a playing state — when active, the REC LED pulses and the COUNTER increments every 2 seconds via setInterval.
  2. DOLBY NR segmented control: Clicking any segment activates it (moves .active class). Reflects the current noise-reduction mode.
  3. HOLD toggle: Click toggles the switch on/off. When ON, all transport buttons are visually disabled (reduced opacity, no pointer events).
  4. OUTPUT slider: Draggable — mousedown on thumb, mousemove on document updates fill width and thumb position, mouseup releases.
  5. COUNTER: Automatically increments (000–999) while playing. Reset to 000 when STOP is pressed.

Components Used

Hand it to your agent

This is a multi-component assembly spec — pass it to your coding agent along with the foundation specs to build the complete interface in any framework.

—
—

Compositions show how components assemble. Give the full spec to your agent.

Pudge