Skip to content

[DONE] 정리 5단계 PR 1 — 패널 크기 128×64 가 펌웨어와 사이트의 어느 줄에 박혀 있는지 한 문서에서 찾는다 - #40

Merged
patternflow-bot merged 4 commits into
devfrom
claude/ops-cleanup-5-pr1-5ppwpc
Oct 15, 2026
Merged

patternflow-bot merged 4 commits into
devfrom
claude/ops-cleanup-5-pr1-5ppwpc

Conversation

@patternflow-bot

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

Copy link
Copy Markdown

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

정리 5단계 계획서 표의 PR 1이에요. 패널 크기 128×64가 펌웨어와 사이트의 어느 파일 몇째 줄에 들어 있는지 세어 docs/investigations/2026-10-panel-geometry.md 한 장에 적었어요. 숫자마다 그 숫자를 낸 명령이 붙어 있어서 다시 돌려 볼 수 있고, 머지하면 any-resolution 초안(PR 2)과 Linux 플레이어 초안(PR 3)이 이 기록을 링크해요. 코드는 한 줄도 바뀌지 않아요.

좋아지는 것: 없음

할 일

  • 계획서 표의 PR 1 행 읽기. 고칠 파일은 docs/investigations/2026-10-panel-geometry.md 하나예요
  • 그 파일만 새로 쓰기 (254줄, §2.1 의 300줄 안)
  • 숫자마다 명령을 붙이고, 다시 돌려 같은 숫자가 나오는지 확인
  • check_links.py · doc-map · check:voice · check:human-lock
  • dev(537ff86) merge 뒤 다시 확인
  • 이 PR 의 CI: head 4154e68 에서 check 둘 다 success

한 일

기록은 e3d3e83(이 PR 을 열 때의 dev)에서 셌어요. 순서는 계획서 k1 이 적은 그대로예요: §2.7 이 센 36곳(src/ 25 · features/ 4 · abi/ 7)을 줄마다, config.h 의 세 geometry, PFCanvas 와 그걸 읽는 곳, 메뉴, 프리셋 35개(파일마다 한 줄), 손으로 친 크기, 모듈 툴체인과 캐시 키, HTTP 와 스펙, 드라이버의 DMA 할당과 blit 의 한계, 사이트. 제안은 없어요.

그 뒤 dev 가 정리 3단계 PR 1·2(#38, #39, lint 경고)로 움직였는데, 기록이 가리키는 파일은 하나도 안 바뀌어서 숫자와 줄 번호가 merge 뒤에도 그대로예요.

증거

dev merge 뒤(4154e68) 저장소 뿌리에서:

$ for p in src features abi config.h presets; do git grep -o -E 'PANEL_RES_(W|H)' -- firmware/patternflow/$p | wc -l ...
firmware/patternflow/src 25 21 6          # 발생 · 줄 · 파일
firmware/patternflow/features 4 4 2
firmware/patternflow/abi 7 7 2
firmware/patternflow/config.h 11 11 1
firmware/patternflow/presets 142 128 35
git grep -o -E 'PANEL_RES_(W|H)' -- . ':!docs' | wc -l => 245
git grep -n -E 'dma_display->(width|height)\(\)' -- firmware/patternflow | wc -l => 31
git grep -n -E 'new PatternRuntime\(' -- web/src | wc -l => 7
git grep -l -E '\b(display|d)\.(width|height)\b' -- 'web/src/lib/presets/pattern-*.ts' | wc -l => 48

$ python3 .github/scripts/check_links.py
all 685 relative links resolve

$ npm run check:voice            # web/
base: e3d3e83 (the merge-base with origin/dev)
read: 254 added lines in 1 file
check:voice: nothing found

$ npm run check:human-lock       # web/
this diff touches 0 locked files
check:human-lock: no locked words changed

$ git fetch --tags && npm run doc-map   # web/, CSV 둘은 다시 checkout
1074 links from 215 files → docs/investigations/2026-10-doc-map.csv
0 do not resolve

doc-map 이 더하는 줄은 둘이고 둘 다 닿아요: 새 파일 → 2026-10-cleanup-step5-plan.md, 새 파일 → docs/rfc-cleanup.md. npm run check:links-absolute 도 통과했어요. 문서만 바뀌어서 §2.1(1)의 빌드 명령 다섯은 해당이 없어요.

CI(head 4154e68): check 둘 다 success (job 116224864144, 116224787303).

실행법

기록 맨 위 세 줄 명령의 <path> 를 표의 경로로 바꿔 저장소 뿌리에서 돌리면 표의 숫자가 나와요. 다른 숫자는 그 옆에 명령이 있어요.

가정

  • 계획서는 d4668ad 에서 조사했고 지금 tree 는 그 뒤라, 줄 번호는 지금 tree 의 것을 썼어요. 계획서와 tree 가 다른 곳은 tree 를 따랐어요. JS 프리셋은 48개 모두 디스플레이에서 크기를 읽어요(계획서는 47; pattern-0716.ts 는 d.width 로 읽어요). 패널 크기로 잡은 배열은 preset_0629_2.h·preset_calib.h 말고 preset_0713.h 에도 둘(스택) 있고, preset_0719.h 는 W×H float 를 할당해요. 드라이버에 width() 를 묻는 곳은 core_ui_text.h 말고 patternflow.ino 에 20곳, features 에 5곳 더 있어요. 손으로 친 크기는 계획서의 넷 말고 툴체인(make_pack.py, console_serve.py, console_demo.py, thumbs_test.cpp)과 weather.html 에도 있어요.
  • DMA 바이트는 tree 에 없는 숫자라 계획서 D4 대로 드라이버 공식으로 계산하고 arithmetic 이라 적었어요. config.h 의 세 geometry 만 계산했어요. 다른 크기의 표는 k2 몫이라 넣지 않았어요.
  • 계획서 표가 PR 1 에 적은 파일 하나만 고쳤어요. doc-map CSV 둘·docs/README.md·docs/rfc-cleanup-progress.md·CHANGELOG.md 는 안 고쳤어요(CSV 는 PR 4 몫이라 돌린 뒤 다시 checkout).
  • 계획서 D7 의 레이블 cleanup·step-5 는 이 포크에 없어요. 레이블을 새로 만드는 건 이 PR 밖의 일이라 달지 않았어요.

Changelog

Docs

  • Where the panel size lives, line by line. docs/investigations/2026-10-panel-geometry.md counts every place the firmware and the site set or assume 128×64 at e3d3e83, from the 36 PANEL_RES_W/H uses §2.7 names to the presets, the module toolchain, the driver's DMA buffers and the site's simulator, with the command behind each count. It proposes nothing. The any-resolution and Linux player drafts build on it.

Upstream

  • What: Adds docs/investigations/2026-10-panel-geometry.md, a record of every place the firmware and the site set or assume the 128x64 panel size, by file and line, with the git grep behind each count. It proposes nothing. Cleanup step 5, PR 1.
  • Checks: Docs only, so the build commands of rfc-cleanup 2.1(1) do not apply. Ran python .github/scripts/check_links.py, npm run doc-map, npm run check:voice and npm run check:human-lock, all passing.
  • Docs map: two new rows, from the new file to the step 5 plan and to docs/rfc-cleanup.md, both resolving. The CSV is regenerated by step 5 PR 4.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DcKbfAefrrLaRDsfTQBxkK

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DcKbfAefrrLaRDsfTQBxkK
@patternflow-bot patternflow-bot changed the title [WIP] 정리 5단계 PR 1 — 계획서 표의 첫 PR [WIP] 정리 5단계 PR 1 — 패널 크기 128×64 가 펌웨어와 사이트의 어느 줄에 박혀 있는지 한 문서에서 찾는다 Oct 15, 2026
Step 5 of the cleanup asks for an inventory before the any-resolution draft.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DcKbfAefrrLaRDsfTQBxkK
…ecord

The driver loop, the descriptor stamp and the preset counts were off by a line or unquoted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DcKbfAefrrLaRDsfTQBxkK
@patternflow-bot patternflow-bot changed the title [WIP] 정리 5단계 PR 1 — 패널 크기 128×64 가 펌웨어와 사이트의 어느 줄에 박혀 있는지 한 문서에서 찾는다 [DONE] 정리 5단계 PR 1 — 패널 크기 128×64 가 펌웨어와 사이트의 어느 줄에 박혀 있는지 한 문서에서 찾는다 Oct 15, 2026
@patternflow-bot
patternflow-bot marked this pull request as ready for review October 15, 2026 03:09
@patternflow-bot
patternflow-bot merged commit 48bf249 into dev Oct 15, 2026
2 checks passed
@patternflow-bot
patternflow-bot deleted the claude/ops-cleanup-5-pr1-5ppwpc branch October 15, 2026 03:10
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