Redesign the top panel: sawn pine, lamp buttons, radio dials #12

Merged
erdoar merged 2 commits from claude/pine-panel into main 2026-10-10 03:55:20 +00:00
erdoar commented 2026-10-10 03:34:30 +00:00 (Migrated from github.com)

Stacked on erdoar/plug#11 (per-app capture), because both change the same screen. Merge #11 first.

Summary

  • Sawn pine board (PineBoard) behind the top panel, drawn in code with no image files: pale pine with wavy grain and darker latewood bands, two knots, and faint circular-saw arcs. A fixed seed makes it the same board every launch.
  • Start and Stop become two large illuminated buttons (LampButton), green and red with a chrome bezel. The lit one shows the state: green glows while playing, red while stopped. They sink slightly when pressed.
  • Input, Output and Add become old radio band selectors (RadioDial). Each has a backlit cream tuning scale with tick marks, a red needle and the current reading; a knurled brown bakelite knob whose pointer turns to the choice; and a label burnt into the wood. Clicking a knob opens its choices: inputs, output devices plus "Refresh devices", or installed effects grouped by maker.
  • Drawer handle (DrawerHandle) at the bottom of the board: a worn iron pull with screwed backplates, rubbed back to brass in the middle. It opens and closes a drawer holding the capture notes, the app list and the effect chain. The window sizes to its content (.windowResizability(.contentSize)), so it stretches when the drawer opens and shrinks to just the board when it closes. The open state is remembered between launches. Errors stay visible with the drawer closed.

Tested

  • Linux: all UI files pass a syntax-only parse. Not compiled or seen yet. It needs a build and a look on the Mac.

To test on the Mac

  1. Quit Plug, then run scripts/bundle.sh --open.
  2. Check the look: wood grain, knots and saw marks, the two lamp buttons, three dials, and the drawer handle.
  3. Press START, then STOP. Sound should start and stop, and the lit lamp should switch.
  4. Click each knob. The choices should open, picking one should move the needle and pointer, and the choice should apply.
  5. Click the handle. The drawer should slide shut and the window shrink to the board. Click again and it should open and stretch. With the drawer open, the window should still resize by dragging.

🤖 Generated with Claude Code

https://claude.ai/code/session_011C96TJ2L7nzVMFTH7raNu5

Stacked on erdoar/plug#11 (per-app capture), because both change the same screen. Merge #11 first. ## Summary - **Sawn pine board** (`PineBoard`) behind the top panel, drawn in code with no image files: pale pine with wavy grain and darker latewood bands, two knots, and faint circular-saw arcs. A fixed seed makes it the same board every launch. - **Start and Stop** become two large illuminated buttons (`LampButton`), green and red with a chrome bezel. The lit one shows the state: green glows while playing, red while stopped. They sink slightly when pressed. - **Input, Output and Add** become old radio band selectors (`RadioDial`). Each has a backlit cream tuning scale with tick marks, a red needle and the current reading; a knurled brown bakelite knob whose pointer turns to the choice; and a label burnt into the wood. Clicking a knob opens its choices: inputs, output devices plus "Refresh devices", or installed effects grouped by maker. - **Drawer handle** (`DrawerHandle`) at the bottom of the board: a worn iron pull with screwed backplates, rubbed back to brass in the middle. It opens and closes a drawer holding the capture notes, the app list and the effect chain. The window sizes to its content (`.windowResizability(.contentSize)`), so it stretches when the drawer opens and shrinks to just the board when it closes. The open state is remembered between launches. Errors stay visible with the drawer closed. ## Tested - Linux: all UI files pass a syntax-only parse. **Not compiled or seen yet.** It needs a build and a look on the Mac. ## To test on the Mac 1. Quit Plug, then run `scripts/bundle.sh --open`. 2. Check the look: wood grain, knots and saw marks, the two lamp buttons, three dials, and the drawer handle. 3. Press START, then STOP. Sound should start and stop, and the lit lamp should switch. 4. Click each knob. The choices should open, picking one should move the needle and pointer, and the choice should apply. 5. Click the handle. The drawer should slide shut and the window shrink to the board. Click again and it should open and stretch. With the drawer open, the window should still resize by dragging. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_011C96TJ2L7nzVMFTH7raNu5
Sign in to join this conversation.
No description provided.