Skip to content

[DONE] Pattern Lab 의 Knobs 패널에서 화살표 키 한 번이 기기의 노브 한 칸만큼 움직인다 - #208

Merged
patternflow-bot merged 4 commits into
devfrom
claude/ops-pf-round81-mbmme1
Oct 24, 2026
Merged

patternflow-bot merged 4 commits into
devfrom
claude/ops-pf-round81-mbmme1

Conversation

@patternflow-bot

@patternflow-bot patternflow-bot commented Oct 24, 2026 •

Copy link
Copy Markdown

ops / https://claude.ai/code/session_01Tm3NY9eBiP5yi1o3htvgyF

Pattern Lab 의 노브 칸에서 화살표 한 번이 범위의 0.001 만 움직여, Freq 10..120 을 끝까지 가는 데 110,000번이 들었어요. 이제 화살표 한 번이 기기 노브 한 칸이라 끝에서 끝이 48번이고, Text 패널의 효과 빠르기 칸도 같아요.

좋아지는 것: 키보드로 Lab 노브를 돌린다 — 화살표 한 번이 기기 노브 한 칸이다

할 일

  • incoming/ROUND.md 읽기
  • 앞 바퀴 PR 댓글(OWNER·MEMBER·COLLABORATOR) 읽기 — 따를 글 없음
  • 「후보」 표에서 남은 줄 고르기 — 후보 16
  • 고치고 시험·검사
  • 증거(화면) 남기기
  • dev merge
  • CI 초록 뒤 [DONE]

한 일

lib/pattern/controls.ts 의 knobDetentStep 옆에 knobArrowValue 를 뒀어요. ArrowRight 와 ArrowUp 은 한 칸 올리고 ArrowLeft 와 ArrowDown 은 한 칸 내리며, 범위 끝에서는 멈춰요. Lab 이 내보낸 헤더의 PFParams::apply(firmware/patternflow/abi/pf_params.h:79)가 노브를 범위 끝에서 잡는 것과 같아요. 칸 위에 있는 값은 아래 끝에서 센 칸 수로 셈해서 다음 칸에 꼭 맞게 서요. 그냥 4 / 48 을 48번 더하면 2..6 노브가 6 에 조금 못 미쳐 49번째 누름이 들었어요.

Knobs 패널의 노브 칸(KnobsPanel.tsx)과 텍스트 효과의 빠르기 칸(TextPanel.tsx)이 onKeyDown 에서 그 값을 써요. 다른 키나 Alt, Ctrl, Cmd 를 같이 누른 화살표는 null 이라 칸이 Home, End, Page Up/Down 을 그대로 하고 브라우저 단축키도 그대로예요. step="0.001" 은 마우스로 끌 때 몫이라 그대로 뒀어요.

시험은 여덟 개를 더했어요. controls.test.ts 에 넷(화살표 넷의 방향, 범위 일곱 개에서 48번에 끝에서 끝까지와 24번에 가운데, 칸 사이에서 한 칸, 다른 키), 새 KnobsPanel.test.tsx 에 셋(ArrowRight 가 store 노브를 한 칸 올리고 기본 동작을 막는지, 48번에 끝, Home·End·PageUp·Alt+Left 는 안 막는지), TextPanel.test.tsx 에 하나예요. 고치기 전 패널 코드로 돌리면 패널 시험 셋이 빨개요.

증거

고치기 전 KnobsPanel.tsx, TextPanel.tsx 로 새 시험을 돌린 끝:

   × KnobsPanel > turns a knob one detent on an arrow key, and keeps the input's own step from running
   × KnobsPanel > crosses a knob's range in two turns of presses, as the encoder does
   ✓ KnobsPanel > leaves Home, End, Page keys and Alt-arrows to the slider and the browser
   × an effect on the text > turns the speed knob a detent per arrow key, as Knobs does

고친 뒤 web/ 에서:

$ npx vitest run src/lib/pattern/controls.test.ts src/app/pattern-lab/panels/KnobsPanel.test.tsx src/app/pattern-lab/panels/TextPanel.test.tsx
      Tests  43 passed (43)
$ npm ci
(exit 0)
$ npm run lint -- --max-warnings=0
lint exit 0
$ npm run typecheck
typecheck exit 0
$ npm run build
build exit 0
$ npm run check:ci
 Test Files  97 passed (97)
      Tests  1226 passed (1226)
passed   virtual-panel
check:ci exit 0
$ npm run check:voice
check:voice: nothing found

check:ci 의 drift 는 14개 passed, roadmap 과 links-absolute 둘은 책상에서처럼 skipped 예요.

dev(856d7d8)가 이미 든 head ab78798 의 GitHub 검사:

Drift checks | completed | success
Web CI | completed | success

빌드한 사이트(next start -p 3100)를 Playwright 로 열고 Knobs 의 Freq 칸에 초점을 둔 채 키를 눌렀어요. 폰은 아래 묶음의 Knobs 탭을 눌러 앞으로 꺼낸 뒤예요.

1440: Freq starts 10.000
  after 10 x ArrowRight 32.917 (input.value 32.917)
  reaches 120.000 after 48 presses
  one more: 120.000
  Home: 10.000
  Quantize 2.000 -> after 10 x ArrowUp 3.667
  after 10 x ArrowDown 2.000
390: (같은 줄 그대로)
Text panel "Speed" slider: Knobs shows 2.000 -> after 5 x ArrowRight 2.516

후보 표가 잰 고치기 전 값은 화살표 10번에 Freq 10 → 10.01, Quantize 2 → 2.01 이에요. Speed 0.05..5 는 한 칸이 0.103125 라 다섯 번에 2.516 이에요.

폰 390 · Freq 에 화살표 10번
데스크톱 1440 · Freq 에 화살표 10번

실행법

web/ 에서 npm run dev 로 /pattern-lab 을 열고, Knobs 의 노브 칸을 Tab 으로 고르거나 눌러 초점을 둔 뒤 화살표를 눌러요. 위의 값이 한 칸씩 움직이고, 48번에 범위 끝이에요.

가정

Changelog

Web

  • Pattern Lab's knob sliders turn one encoder detent per arrow key. An arrow key moved a knob by the slider's 0.001 step, so Freq's 10..120 took 110,000 presses. It now moves one detent, 48 presses end to end as on the device, in the Knobs panel and beside a text effect's speed picker.

경험

언제: 바퀴에서 Pattern Lab 의 노브 동작을 기기에 맞출 때
교훈: Lab 엔진의 LOGICAL_KNOB_WRAP 은 패턴이 받는 변화량 몫이니, 노브 값이 끝에서 감기는지 멈추는지는 Lab 이 내보낸 헤더의 PFParams::apply(clampf)를 보고 정한다
근거: #208 에서 처음엔 노브 1, 4 를 감게 짜려다 hExport.ts:441 이 부르는 pf_params.h:79 가 범위 끝에서 잡는 것을 보고 멈추게 짰어요

바퀴

바퀴 81 · 후보 16 「Knobs 패널에서 화살표 키 한 번이 기기의 노브 한 칸만큼 움직인다」

다음 바퀴

  • 17 「폰에서 Layers 와 Knobs 의 단추가 손가락 크기다」: 390px 터치에서 막대 단추가 28px 높이, 레이어 눈이 20×17px, Push 가 40×22px 예요.
  • 18 「폰에서 Pixel 패널이 그림을 1× 대신 2× 로 맞춰 연다」: 터치에 없는 마우스 손짓 안내가 두 줄로 접혀 그림 칸을 51px 먹어요.
  • 19 「Pattern Lab Pixel 의 − + 단추가 보이는 가운데를 붙잡고 확대한다」: 휠과 달리 − + 는 배율만 바꿔 그림이 왼쪽 위를 기준으로 커져요.

https://claude.ai/code/session_01Tm3NY9eBiP5yi1o3htvgyF


Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tm3NY9eBiP5yi1o3htvgyF
@patternflow-bot patternflow-bot changed the title [WIP] 81바퀴 — 사이트에서 다듬을 곳 하나를 고친다 [WIP] Pattern Lab 의 Knobs 패널에서 화살표 키 한 번이 기기의 노브 한 칸만큼 움직인다 Oct 24, 2026
A knob slider stepped by its 0.001 step, so Freq's 10..120 took 110,000 presses; 48 now, as the encoder.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tm3NY9eBiP5yi1o3htvgyF
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tm3NY9eBiP5yi1o3htvgyF
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tm3NY9eBiP5yi1o3htvgyF
@patternflow-bot patternflow-bot changed the title [WIP] Pattern Lab 의 Knobs 패널에서 화살표 키 한 번이 기기의 노브 한 칸만큼 움직인다 [DONE] Pattern Lab 의 Knobs 패널에서 화살표 키 한 번이 기기의 노브 한 칸만큼 움직인다 Oct 24, 2026
@patternflow-bot
patternflow-bot marked this pull request as ready for review October 24, 2026 06:26
@patternflow-bot
patternflow-bot merged commit 0510761 into dev Oct 24, 2026
2 checks passed
@patternflow-bot
patternflow-bot deleted the claude/ops-pf-round81-mbmme1 branch October 24, 2026 06:28
engmung pushed a commit to engmung/Patternflow that referenced this pull request Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants