Skip to content

[DONE] 가이드 연습 벽 카드의 노브가 커뮤니티 카드와 같은 셈으로 돌고, Lab 주석이 포크 번호 대신 말로 적는다 - #246

Merged
patternflow-bot merged 2 commits into
devfrom
claude/pf-round-97-3mz4jk
Oct 25, 2026
Merged

patternflow-bot merged 2 commits into
devfrom
claude/pf-round-97-3mz4jk

Conversation

@patternflow-bot

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

Copy link
Copy Markdown

lsh / https://claude.ai/code/session_015AhWQdepAbAamwZVKFFLfz

가이드의 연습 벽 카드가 커뮤니티 카드의 옛 노브 셈을 베껴 두어서, 0.0001..0.0004 처럼 좁은 노브는 한 칸 돌리면 0 으로 떨어지고 막대가 가운데를 15% 로 그렸어요. 이제 두 카드가 controls.ts 의 한 함수로 돌고, 가이드 시뮬레이터와 첫 화면 3D 패널도 노브의 0..1 을 같은 곳에서 읽어요. Lab 시험 주석 둘의 포크 번호 「#184」 는 말로 바꾸고, Lab 셸 머리 주석은 Text 를 넣어 패널 아홉이라고 해요.

좋아지는 것: 없음

할 일

  • incoming/ROUND.md 「한 바퀴」 절차 읽기
  • 앞 바퀴 PR 의 세 직함 댓글 · 리뷰 · 줄 댓글 읽기: 맡을 글 없음
  • 줄 고르기: 「창작자 지시」 7
  • ① Lab 주석 속 포크 PR 번호를 말로
  • ② 연습 벽 카드, deviceSim, LedMatrixTexture 가 controls.ts 를 읽게
  • ③ PatternLabClient.tsx 머리 주석의 패널 수
  • 가이드 카드 시험: dev 카드에서 빨강 셋, 고친 뒤 초록
  • 다섯 검사, check:voice
  • PR 검사 초록(88f9663: Drift checks, Web CI)
  • dev merge(그새 dev 가 053e687 그대로라 merge 할 것 없음)

한 일

① CodePanel.test.tsx:213:214 와 PixelPanel.test.tsx:62:63 의 「(#184)」 를 「before the Lab had text layers」 로 바꿨어요. app/pattern-lab/, lib/lab/ 에서 주석 속 #숫자 를 다시 찾으니 이 둘뿐이었어요.

② lib/pattern/controls.ts 에 knobWheelValue(value, range, direction) 을 더했어요. 범위의 25분의 1 을 한 칸으로 움직이고, tidyKnobValue 로 소수 끝을 다듬고, 범위 안에 잡아 둬요. 커뮤니티 카드(components/community/PatternCard.tsx 의 handleWheel)가 쓰던 셈 그대로예요. 그 카드와 연습 벽 카드(components/guide/desk/community/parts.tsx 의 turnKnob)가 이 함수를 불러요. 연습 벽 카드의 막대는 normalizeKnob 으로 읽어요. lib/guide/deviceSim.ts 의 knobNormalized 와 components/3d/LedMatrixTexture.ts 의 getLogicalKnobNormalized 도 normalizeKnob 을 불러요. 둘은 이미 0.0001 로 나눠서 값은 그대로예요. 이제 KNOB_SPAN_FLOOR 를 읽는 파일이 controls.ts 뿐이라 export 를 뗐어요.

③ PatternLabClient.tsx:6~:8 이 「nine dockable panels」 이고 목록에 Text 가 panels/registry.tsx 차례대로 들어가요.

증거

새 components/guide/desk/community/parts.test.tsx 는 연습 벽 카드를 그려서 ArrowUp, ArrowDown 으로 K1 을 돌리고 막대 폭을 읽어요. dev 의 parts.tsx 로 돌린 결과예요.

   × practice wall card > turns a fine knob a 25th of its range a notch, as the community's card does
   × practice wall card > stops a fine knob at the bottom of its range, not at 0
   × practice wall card > fills the knob's bar to where the value sits in a fine range
AssertionError: expected +0 to be 0.000262 // Object.is equality
AssertionError: expected +0 to be 0.0001 // Object.is equality
AssertionError: expected '15%' to be '50%' // Object.is equality
      Tests  3 failed (3)

이 브랜치에서는 controls.test.ts 에 더한 넷까지 두 파일 32개가 다 지나요(Tests 32 passed (32)).

연습 벽의 네 패턴(Origin, Pattern 1~3)은 @knobs 가 없어서 기본 범위 [0,1], [0.1,10], [0,4.9], [0,1] 이에요. 한 칸이 0.04, 0.396, 0.196, 0.04 라 세 자리 반올림이 아무것도 바꾸지 않아요. 네 패턴의 노브 넷을 가운데서 위아래로 40칸씩, 옛 셈과 새 셈으로 나란히 돌리니 1,280칸 가운데 다른 값이 0개였어요. 그래서 가이드 화면은 그대로라 사진은 찍지 않았어요.

다섯 검사(web/)의 끝줄이에요.

npm ci                             added 762 packages, and audited 763 packages in 35s
npm run lint -- --max-warnings=0   exit 0
npm run typecheck                  exit 0 (web, tools/virtual-panel)
npm run build                      exit 0
npm run check:ci                   Test Files  103 passed (103) · Tests  1286 passed (1286) · drift 14 passed, links-absolute · roadmap skipped · exit 0
npm run check:voice                check:voice: nothing found

check:ci 의 virtual-panel 과 다섯 벡터 묶음은 deviceSim 을 바꾼 뒤에도 다 지나요.

PR 검사는 88f9663 에서 「Drift checks | completed | success」, 「Web CI | completed | success」 예요.

실행법

cd web
npx vitest run src/components/guide/desk/community/parts.test.tsx src/lib/pattern/controls.test.ts

가정

  • 지시 7 의 ② 는 셋이 controls.ts 를 읽게 하라고 했어요. 연습 벽 카드가 상수 셋만 가져다 쓰면 25분의 1, 다듬기, 범위 잡기를 또 한 벌 적게 돼서, 커뮤니티 카드와 같이 부를 함수 하나로 모았어요. 그래서 지시에 없던 components/community/PatternCard.tsx 도 고쳤어요. 그 카드의 셈은 바뀌지 않아요.
  • components/guide/desk/community/CommunityApp.tsx:109 의 toFixed(3) 은 튜토리얼이 K1 을 0.04 씩 열 번 돌리는 연출이라 두었어요. pages.tsx:292 의 toFixed(3) 은 값을 세 자리로 보이는 글이고 PatternDetailClient.tsx:346 과 같아요.
  • 표 밖: components/3d/caseModels.test.ts:125 주석에 「PR [DONE] web: the build page's 3D preview becomes the case you pick — official v3.9, Besoiobiy, SimonePDA #3's detail review」 가 있어요. Lab 코드가 아니고 포크 PR 인지 원래 레포 PR 인지 가릴 수 없어 두었어요.

Changelog

Web

  • The guide's practice wall turns a knob as the community's cards do. Its cards kept a copy of the old card step, floored at 0.001 and rounded to three decimals, so a knob declared 0.0001..0.0004 fell to 0 on the first notch and its bar showed the middle of that range as 15%. Both cards now call knobWheelValue in lib/pattern/controls.ts, and the guide's device simulator and the first screen's 3D panel read a knob's 0..1 through normalizeKnob.

바퀴

바퀴 97 · 지시 7 「주석 · 사본 맞추기」

경험

언제: 가이드 연습 벽(components/guide/desk/community/)의 카드를 vitest 로 그려 시험할 때
교훈: knobsOf 는 PATTERNS 에 없는 id 에 [0.5, 0.5, 0.5, 0.5] 를 돌려주니, 시험용 패턴을 쓰면 usePractice.setState({ knobs: { <id>: … } }) 로 값을 먼저 심고 카드의 data-pc-card 에 ArrowUp keyDown 을 보내요
근거: #246 에서 0.0001..0.0004 노브를 가진 시험 패턴으로 카드를 그렸어요. 값을 심고 나서야 카드의 셈만 잴 수 있었고, dev 카드에서 0, 0, 15% 로 빨갰어요

다음 바퀴

  • 6위 「Make 가이드와 Pattern Guide 의 Lab 사진이 걷어 낸 Gallery 탭 대신 지금 Lab 을 보인다」: 표에서 남은 맨 위 줄이에요. 3~5위와 이번 바퀴는 화면을 바꾸지 않아서 사진은 지금 찍어도 같아요.
  • 7위 「Pattern Lab 의 ! 단언 가운데 타입으로 좁힐 수 있는 일곱이 빠진다」: isValidMatrix 를 부르는 곳은 아직 legacyDraft.ts 와 serialize.ts 둘뿐이에요.
  • 8위 「모든 쪽이 받는 globals.css 에서 아무도 쓰지 않는 옛 Inside 패널 규칙 377줄이 빠진다」: 10위와 같은 파일이라 8위를 먼저 하면 10위의 줄 번호가 앞당겨져요.

https://claude.ai/code/session_015AhWQdepAbAamwZVKFFLfz


Generated by Claude Code

@patternflow-bot patternflow-bot changed the title [WIP] 97바퀴 — 고를 일을 찾는 중 [WIP] 가이드의 연습 벽 카드와 시뮬레이터가 노브를 Lab 과 같은 셈으로 읽고, Lab 주석이 포크 번호 대신 말로 적는다 Oct 25, 2026
… controls.ts

The practice wall copied the community card's old step, floored at 0.001 and
rounded to three decimals, so a 0.0001..0.0004 knob fell to 0 on one notch.
Also drops the fork PR number from two Lab test comments and counts the Text
panel in the Lab shell's header.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AhWQdepAbAamwZVKFFLfz
@patternflow-bot patternflow-bot changed the title [WIP] 가이드의 연습 벽 카드와 시뮬레이터가 노브를 Lab 과 같은 셈으로 읽고, Lab 주석이 포크 번호 대신 말로 적는다 [WIP] 가이드 연습 벽 카드의 노브가 커뮤니티 카드와 같은 셈으로 돌고, Lab 주석이 포크 번호 대신 말로 적는다 Oct 25, 2026
@patternflow-bot patternflow-bot changed the title [WIP] 가이드 연습 벽 카드의 노브가 커뮤니티 카드와 같은 셈으로 돌고, Lab 주석이 포크 번호 대신 말로 적는다 [DONE] 가이드 연습 벽 카드의 노브가 커뮤니티 카드와 같은 셈으로 돌고, Lab 주석이 포크 번호 대신 말로 적는다 Oct 25, 2026
@patternflow-bot
patternflow-bot marked this pull request as ready for review October 25, 2026 05:31
@patternflow-bot
patternflow-bot merged commit aa1726b into dev Oct 25, 2026
2 checks passed
@patternflow-bot
patternflow-bot deleted the claude/pf-round-97-3mz4jk branch October 25, 2026 05:34
engmung pushed a commit to engmung/Patternflow that referenced this pull request Oct 25, 2026
This was referenced Oct 26, 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