Repository navigation
[DONE] hardware+web: mbchars' horizontal desktop case (upstream #488) is the fourth case in the /build 3D preview - #5
Merged
Conversation
…witch username to mbchars.
mbchars.py puts the remix's printed parts together from its STLs (no assembled file exists): the three front sections where the joint bars' 36 mm insert pitch puts their lug holes, the covers on the sixteen inserts, the USB retainer on its boss and the stands on the bottom edge, each step checked against the README (410.28 x 176.16 x 42 mm), the board's encoder grid, the 320 x 160 mm panel and boolean overlaps. assemble.mjs learns ledTurn (the panel lies the long way here) and knobLook (the official knob, printed white), and lib/looks.mjs pla_orange, the 3MF's own #F46B16. The other three models rebuild byte-identical; the new one is 380 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGBYm64PnfneJq2ZDJ8Gs7
…horizontal desktop one The card is the remix README's own facts and photos (resized to 1200 px), the preview shows the device in the case, and the switch is four tabs, two by two on a phone. A case too wide for the view at the one scale (this one, 41 cm across on a desktop's tall canvas) is drawn smaller by as little as keeps it clear of the arrows; every case still fits at the one scale on a phone, and the three upright ones on a desktop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGBYm64PnfneJq2ZDJ8Gs7
…review case Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGBYm64PnfneJq2ZDJ8Gs7
…iew (removed in the next commit) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGBYm64PnfneJq2ZDJ8Gs7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGBYm64PnfneJq2ZDJ8Gs7
patternflow-bot
marked this pull request as ready for review
October 10, 2026 09:38
This was referenced Oct 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dev / https://claude.ai/code/session_01QGBYm64PnfneJq2ZDJ8Gs7
mbchars가 원래 레포 PR 488로 보낸 가로형 데스크톱 케이스를 작성자 커밋 그대로 가져오고, /build 3D 미리보기에서 공식 · Besoiobiy · SimonePDA 다음 넷째 케이스로 넣었습니다. 머지하면 리믹스 폴더와 카드 · 3D 모델이 들어오고, 화살표나 탭으로 네 케이스를 넘겨 볼 수 있습니다.
체크리스트
git fetch https://github.com/engmung/Patternflow.git pull/488/head의 커밋a22659d하나를 cherry-pick 했다. 작성자 Mykyta Bilous(mbchars)는 그대로다(0d23998). 리믹스 폴더(STL 10 · 3MF · README · assembly · bom · 사진), 빌드 갤러리 extraplojo → mbchars 이름 변경이 모두 들어 있다. 내용은 한 글자도 고치지 않았다(고칠 만큼 깨진 곳이 없었다).tools/case-models/mbchars.py가 리믹스의 STL 로 케이스를 조립한다.web/public/cases/mbchars-horizontal-desktop-printed/model.glb는 380 KB 다. 다시 만들어도 바이트가 같고, 다른 세 모델도 바이트가 같다.pla_white, 둥근 공식 노브, 같은 조명 · 톤 커브.npm run build와check:ci가 통과한다. 데스크톱에서 화살표로 네 케이스가 넘어가고, 폰 폭(390)에서도 새 케이스가 잘 보인다. 스크린샷은 아래에 있다(라이트).What (한 일)
리믹스 —
hardware/case/remixes/mbchars-horizontal-desktop-printed/: engmung#488 그대로(0d23998, author: Mykyta Bilous).모델 —
tools/case-models/mbchars.py(새 파일). 이 리믹스에는 조립된 파일이 없고, 출력 자세 그대로의 부품 STL 만 있다. 그래서 형상에서 직접 맞춘다. 단계마다 확인하고, 하나라도 어긋나면 빌드가 멈춘다.knob.stl은 공식 노브와 같은 것임을 확인했다. 그래서 공식 둥근 노브를 흰색으로 쓴다.assemble.mjs:ledTurn(패널을 자기 가운데에서 돌림)과knobLook(공식 노브 재질)을 추가했다. 둘 다 없으면 전과 같다.lib/looks.mjs:pla_orange를 추가했다. 색은 작성자 3MF 의 필라멘트 색#F46B16이고,pla_white처럼 무광 0.85 다.build.sh·README.md: 넷째 케이스와 그 절을 추가했다.웹 —
web/build-cases-data.ts: 넷째 카드다. README 의 사실과 사진 3장(1200 px 로 줄이고 메타데이터를 지움)을 썼다. 링크는 README · 3MF · assembly.md · bom.md · stl/ 이다.3d/cases/mbchars-horizontal-desktop-printed.ts: 분해 방향을 정했다. 바깥 프레임과 제어부는 이음매에서 벌어지고, 조인트 바는 뒤로, 패널과 노브는 앞으로, 보드 · DevKit · 덮개는 뒤로 빠진다. 스탠드는 아래로 떨어진다.CasePicker: 탭 4칸이고 폰에서는 2×2 다. 머리글은 「four ways to make it」로 바꿨다.buildPose.tsfitAcross·HeroScene.tsx: 화면 폭에 맞춘다(아래 「가정」 6).content/build.md첫 문단과llms.txt: 리믹스 셋으로 고쳤다.buildPose.test.ts+2: 폰에서는 네 케이스가 모두 한 배율이다. 데스크톱에서도 세 케이스는 한 배율이고, 가로 케이스만 72% 폭에 맞는다.heroCase.test.ts:width를 확인한다.BuildPanel.test.tsx: 탭 4개, 그리고 End · 순환 키 동작과 mbchars 카드를 확인한다.build-cases-data.test.ts: 4개 id, 그리고 README 근거 표(「가정」 8)를 확인한다.caseModels.test.ts는 새 모델에도 자동으로 적용된다. 노드 계약, 재질, 예산 600 KB 를 본다.CHANGELOG.md(Unreleased · Hardware, Web).Why
과제대로다. 커뮤니티 리믹스를 포크 dev 에 들이고, 빌드 섹션 미리보기에서 다른 세 케이스와 같은 방식으로 볼 수 있게 했다.
Tested (증거)
화살표로 네 케이스 (데스크톱 1440×900,
next start)/build→ Next 4번:?case=besoiobiy-printed→?case=simonepda-lasercut→?case=mbchars-horizontal-desktop-printed→/build(다시 공식). 탭도 같이 넘어간다.작성자 사진 vs 미리보기
폰 폭 390 (라이트): 처음(폰은 단계 01 이 자동 선택) · 단계 04 점등 · 2×2 탭과 카드
데스크톱: 카드와 함께 · 단계 01(부품) · 단계 03(완전 분해)
모델 네 방향 (
tools/case-models/preview.mjs)명령과 출력 (로컬, 이 브랜치)
web/→ it builds (npm run build)실행법
스크린샷은 헤드리스 Chromium(SwiftShader)으로
next start에서 찍었다. 샌드박스가 gstatic CDN 을 막아서 Draco 디코더만three의 로컬 사본으로 돌려 썼다(코드 변경 없음).가정
claude/horizontal-desktop-preview-qwlxhp(= dev021e96f) 위에 있다. Horizontal desktop engmung/Patternflow#488 커밋을 cherry-pick 해서 author 를 살렸고, committer 만 다르다. 원래 레포와 Horizontal desktop engmung/Patternflow#488 에는 아무것도 하지 않았다..claude/settings.json은 dev 에 있던 그대로이고 건드리지 않았다.mbchars-horizontal-desktop-printed로 읽었다. 카드 데이터 규칙(id = 폴더 이름,/build?case=가 경로처럼 읽힘)을 따른 것이다. 탭 이름은 다른 리믹스처럼 핸들 「mbchars」, 방법은 「Printed remix」다.loose로 빼지 않았다.pla_white이고, 주황은 3MF 의#F46B16이다. 둘 다 무광 0.85 다.lib/knob.mjs)를 흰색으로 썼다.fitAcross를 넣었다. 쉬고 있을 때 장치가 화면 폭의 72% 를 넘을 때만 그만큼 줄인다. 1440×900 에서는 0.75 배다.fitScale(큰 케이스를 늘 줄이던 것)과는 다르다. 다만 캔버스가 가로:세로 0.67 보다 좁은 창에서는 가장 넓은 Besoiobiy 도 조금 줄어든다(지금은 그런 창에서 화살표에 닿는다).ledTurn: -90(앞에서 보아 시계 방향 90°)으로 돌렸다. 그러면 패턴 128×64 프레임의 위가 위로 온다.build-cases-data.test.ts는 「모든 리믹스 README 에(4 and 6)이 있다」고 가정했다. mbchars README 는 절 번호 대신 「BOM changes(bom.md) … illustrated assembly instructions(assembly.md)」라고 쓴다.GUIDE_BACKING)로 바꿨다. 기존 두 리믹스는 같은 단언을 그대로 받는다.BUILD_GUIDE.md§4 와docs/assembly/README.md표에 새 리믹스 안내를 넣지 않았다. 다른 두 리믹스는 들어 있다. 원래 레포로 올릴 때 창작자가 정하면 된다.ca0dafc에만 있고 다음 커밋7ae41b4에서 뺐다. [DONE] web: the 3D preview's case reads white — neutral PLA, Neutral tone curve, local light, LED dots, round knobs, clear acrylic #4 와 같은 방식이다.원본: engmung#488 — 케이스 설계 · 사진 · 조립 설명은 Mykyta Bilous (@mbchars), CC BY-SA 4.0. 이 PR 은 그 커밋(
a22659d)을 작성자 그대로 담고 있다.🤖 Generated with Claude Code
https://claude.ai/code/session_01QGBYm64PnfneJq2ZDJ8Gs7